Skip to content

Add comprehensive documentation for Streams and Chat Bots#910

Open
DZakh wants to merge 4 commits intoclaude/split-migration-guide-0elXKfrom
claude/add-effect-api-dropdowns-0a3Z0
Open

Add comprehensive documentation for Streams and Chat Bots#910
DZakh wants to merge 4 commits intoclaude/split-migration-guide-0elXKfrom
claude/add-effect-api-dropdowns-0a3Z0

Conversation

@DZakh
Copy link
Copy Markdown
Member

@DZakh DZakh commented May 7, 2026

Summary

This PR adds extensive documentation for two major feature categories in HyperIndex: Streams (for publishing events to external systems) and Chat Bots (for sending notifications). It also updates the Effect API documentation to clarify execution modes and their use cases.

Key Changes

New Documentation Pages

Streams (6 new guides):

  • docs/HyperIndex/Streams/index.md - Overview comparing HyperIndex streams to rindexer
  • docs/HyperIndex/Streams/webhooks.md - HTTP webhook integration guide
  • docs/HyperIndex/Streams/kafka.md - Apache Kafka publisher with partition key routing
  • docs/HyperIndex/Streams/rabbitmq.md - RabbitMQ exchange integration
  • docs/HyperIndex/Streams/sns-sqs.md - AWS SNS/SQS publisher guide
  • docs/HyperIndex/Streams/redis.md - Redis Streams integration
  • docs/HyperIndex/Streams/cloudflare-queues.md - Cloudflare Queues REST API integration

Chat Bots (6 new guides):

  • docs/HyperIndex/Chatbots/index.md - Overview of chat bot effects and comparison with rindexer
  • docs/HyperIndex/Chatbots/telegram.md - Telegram Bot API integration
  • docs/HyperIndex/Chatbots/discord.md - Discord webhook integration with embeds
  • docs/HyperIndex/Chatbots/slack.md - Slack webhook integration with Block Kit
  • docs/HyperIndex/Chatbots/twilio.md - Twilio SMS integration
  • docs/HyperIndex/Chatbots/pagerduty.md - PagerDuty incident triggering
  • docs/HyperIndex/Chatbots/opsgenie.md - OpsGenie alert creation

Effect API Documentation Updates

  • docs/HyperIndex/Advanced/effect-api.md - Enhanced with:
    • Clarification that output is not required for *AfterCommit modes
    • New mode parameter documentation
    • Comprehensive execution modes table explaining speculative, unordered, ordered, unorderedAfterCommit, and orderedAfterCommit
    • Detailed explanation of when to use *AfterCommit modes for outbound messaging
    • Code example demonstrating orderedAfterCommit usage

Navigation Updates

  • sidebarsHyperIndex.js - Added two new documentation categories:
    • "Streams" section with 6 guides
    • "Chat Bots" section with 6 guides

Notable Implementation Details

Each guide follows a consistent pattern:

  1. Installation - Required npm packages (or "nothing to install" for fetch-based solutions)
  2. Client Configuration - TypeScript setup for the external service
  3. Effect Definition - createEffect with appropriate mode and rate limiting
  4. Handler Integration - Real-world example showing how to call the effect from an event handler
  5. Tips & Variations - Mode selection guidance, ordering considerations, or alternative approaches

All examples use concrete, runnable code with the RocketPoolETH contract as a reference implementation. The documentation emphasizes the key distinction between HyperIndex's Effect API approach (normal TypeScript code) versus rindexer's YAML-based configuration.

https://claude.ai/code/session_016Vrfk2Wz1wCmk95V6KjBm8

Document the new Effect API `mode` option (speculative, unordered, ordered,
unorderedAfterCommit, orderedAfterCommit) and add per-tool guides showing how
to replace rindexer's YAML-based streams/chatbots with handler code:

- Streams: Webhooks, Kafka, RabbitMQ, AWS SNS/SQS, Redis Streams, Cloudflare Queues
- Chat Bots: Telegram, Discord, Slack, Twilio, PagerDuty, OpsGenie

Each page covers client install/setup, the createEffect definition with the
appropriate after-commit mode, and a handler that uses normal TypeScript
conditionals in place of rindexer's filter expressions and message templates.
@vercel
Copy link
Copy Markdown

vercel Bot commented May 7, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
envio-docs Ready Ready Preview, Comment May 7, 2026 2:40pm

Request Review

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 7, 2026

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: eb161d12-287f-435a-819d-528e80eadf6f

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch claude/add-effect-api-dropdowns-0a3Z0

Comment @coderabbitai help to get the list of available commands and usage tips.

The Streams and Chat Bots guides only apply to v3.1 (Effect API mode option),
so V2 should not show them. Point HyperIndexV2 at a new sidebar that reuses
the V3 sidebar but strips the V3-only categories.
…ency

Examples now follow the Effect API best-practice cheatsheet:

- Bake static config (URLs, tokens, channel IDs, ARNs, queue names) into
  the effect body — input carries only the values that vary per call.
- Build payloads/strings inside the effect; handlers pass raw values.
- Update all examples to the v3 API (indexer.onEvent, context.chain.id,
  src/handlers/<Contract>.ts, src/effects/<tool>.ts).

Also suggest the inline `unordered` / `ordered` modes as lower-latency
alternatives to the after-commit modes when the consumer is idempotent.

Drop the `link:` property from the Streams, Chat Bots, and Supported
Networks categories so they render with the same dropdown component as
Guides/Examples; the overview page is now an "Overview" item under each
category.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants