aion-langgraph.
The idea is to let developers register handler nodes for normalized messaging
events without giving up ordinary LangGraph composition.
Overview
The intended helper shape looks like this:- return state updates
- write to the shared response buffer through fluent helpers
- set
a2a_outboxfor full protocol-level control
Registrations
| Registration | Called for |
|---|---|
on_message | Normalized inbound message events |
on_reaction | Normalized reaction change events |
on_command | Normalized command invocation events |
on_card_action | Normalized card-action callback events |
on_event | Fallback when no more specific handler is registered |
Dispatch Rules
The dispatch surface should be based on normalized event kinds, not on provider-specific trigger names. That means:- a Slack mention and a Telegram DM should both normalize to
on_message - a slash command should normalize to
on_command - a card button click should normalize to
on_card_action
runtime.context.event or runtime.context.inbox, not register provider-only
handler names.
Example
Why This Is Useful
This keeps the authoring model close to Vercel-style event registration while still preserving a generic transport model underneath:- the event registration stays fluent
- the event payloads still normalize through Aion extensions
- the actual execution surface is still just LangGraph nodes and edges