From d974be4eee60dcfd515e135b8bd839779b0f4ddc Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 7 May 2026 12:39:14 +0000 Subject: [PATCH 1/4] Add Streams and Chat Bots guides driven by Effect API modes 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. --- docs/HyperIndex/Advanced/effect-api.md | 87 ++++++++++--- docs/HyperIndex/Chatbots/discord.md | 98 ++++++++++++++ docs/HyperIndex/Chatbots/index.md | 48 +++++++ docs/HyperIndex/Chatbots/opsgenie.md | 112 ++++++++++++++++ docs/HyperIndex/Chatbots/pagerduty.md | 112 ++++++++++++++++ docs/HyperIndex/Chatbots/slack.md | 95 ++++++++++++++ docs/HyperIndex/Chatbots/telegram.md | 109 ++++++++++++++++ docs/HyperIndex/Chatbots/twilio.md | 122 ++++++++++++++++++ docs/HyperIndex/Streams/cloudflare-queues.md | 91 +++++++++++++ docs/HyperIndex/Streams/index.md | 41 ++++++ docs/HyperIndex/Streams/kafka.md | 126 ++++++++++++++++++ docs/HyperIndex/Streams/rabbitmq.md | 109 ++++++++++++++++ docs/HyperIndex/Streams/redis.md | 91 +++++++++++++ docs/HyperIndex/Streams/sns-sqs.md | 128 +++++++++++++++++++ docs/HyperIndex/Streams/webhooks.md | 94 ++++++++++++++ sidebarsHyperIndex.js | 26 ++++ 16 files changed, 1470 insertions(+), 19 deletions(-) create mode 100644 docs/HyperIndex/Chatbots/discord.md create mode 100644 docs/HyperIndex/Chatbots/index.md create mode 100644 docs/HyperIndex/Chatbots/opsgenie.md create mode 100644 docs/HyperIndex/Chatbots/pagerduty.md create mode 100644 docs/HyperIndex/Chatbots/slack.md create mode 100644 docs/HyperIndex/Chatbots/telegram.md create mode 100644 docs/HyperIndex/Chatbots/twilio.md create mode 100644 docs/HyperIndex/Streams/cloudflare-queues.md create mode 100644 docs/HyperIndex/Streams/index.md create mode 100644 docs/HyperIndex/Streams/kafka.md create mode 100644 docs/HyperIndex/Streams/rabbitmq.md create mode 100644 docs/HyperIndex/Streams/redis.md create mode 100644 docs/HyperIndex/Streams/sns-sqs.md create mode 100644 docs/HyperIndex/Streams/webhooks.md diff --git a/docs/HyperIndex/Advanced/effect-api.md b/docs/HyperIndex/Advanced/effect-api.md index 563e33ac..7e0bb685 100644 --- a/docs/HyperIndex/Advanced/effect-api.md +++ b/docs/HyperIndex/Advanced/effect-api.md @@ -51,9 +51,10 @@ The first argument is an options object that describes the effect: - `name` (required) - the name of the effect used for debugging and logging - `input` (required) - the input type of the effect -- `output` (required) - the output type of the effect +- `output` (required) - the output type of the effect (not required for `unorderedAfterCommit` and `orderedAfterCommit` modes which return `void`) - `rateLimit` (required) - the maximum calls allowed per timeframe, or `false` to disable - `cache` (optional) - save effect results in the database to prevent duplicate calls (Starting from `envio@2.26.0`) +- `mode` (optional) - the execution intent of the effect. Defaults to `speculative`. See [Execution Modes](#execution-modes). The second argument is a function that will be called with the effect's input. @@ -213,6 +214,63 @@ export const getBalance = createEffect( Watch the following video to learn more about createEffect and other updates introduced in [v2.32.0](https://github.com/enviodev/hyperindex/releases/tag/v2.32.0).