Add comprehensive documentation for Streams and Chat Bots#910
Open
DZakh wants to merge 4 commits intoclaude/split-migration-guide-0elXKfrom
Open
Add comprehensive documentation for Streams and Chat Bots#910DZakh wants to merge 4 commits intoclaude/split-migration-guide-0elXKfrom
DZakh wants to merge 4 commits intoclaude/split-migration-guide-0elXKfrom
Conversation
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.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Contributor
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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 rindexerdocs/HyperIndex/Streams/webhooks.md- HTTP webhook integration guidedocs/HyperIndex/Streams/kafka.md- Apache Kafka publisher with partition key routingdocs/HyperIndex/Streams/rabbitmq.md- RabbitMQ exchange integrationdocs/HyperIndex/Streams/sns-sqs.md- AWS SNS/SQS publisher guidedocs/HyperIndex/Streams/redis.md- Redis Streams integrationdocs/HyperIndex/Streams/cloudflare-queues.md- Cloudflare Queues REST API integrationChat Bots (6 new guides):
docs/HyperIndex/Chatbots/index.md- Overview of chat bot effects and comparison with rindexerdocs/HyperIndex/Chatbots/telegram.md- Telegram Bot API integrationdocs/HyperIndex/Chatbots/discord.md- Discord webhook integration with embedsdocs/HyperIndex/Chatbots/slack.md- Slack webhook integration with Block Kitdocs/HyperIndex/Chatbots/twilio.md- Twilio SMS integrationdocs/HyperIndex/Chatbots/pagerduty.md- PagerDuty incident triggeringdocs/HyperIndex/Chatbots/opsgenie.md- OpsGenie alert creationEffect API Documentation Updates
docs/HyperIndex/Advanced/effect-api.md- Enhanced with:outputis not required for*AfterCommitmodesmodeparameter documentationspeculative,unordered,ordered,unorderedAfterCommit, andorderedAfterCommit*AfterCommitmodes for outbound messagingorderedAfterCommitusageNavigation Updates
sidebarsHyperIndex.js- Added two new documentation categories:Notable Implementation Details
Each guide follows a consistent pattern:
createEffectwith appropriate mode and rate limitingAll 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