Upstream feature missing in Python SDK.
What's missing
Upstream Vercel Chat TS exposes onOptionsLoad() for registering handlers that dynamically populate Select / RadioSelect dropdown options when a user opens a modal — returning { value, label }[] live from the handler.
Upstream references
vercel-chat/packages/chat/src/types.ts:655 — processOptionsLoad method on ChatInstance
vercel-chat/packages/chat/src/chat.ts:610-629 — onOptionsLoad() decorator with action-ID matching
vercel-chat/packages/chat/src/chat.ts:911 — processOptionsLoad dispatch
- Types:
OptionsLoadEvent, OptionsLoadHandler, OptionsLoadPattern
What we need to port
- Types:
OptionsLoadEvent, OptionsLoadHandler in src/chat_sdk/types.py
Chat.on_options_load() decorator with action-ID matching (explicit matches first, then catch-all)
Chat.process_options_load() entry point for adapters
ChatInstance protocol: add process_options_load method
- Adapter integration: Slack, Teams dispatch
options_load events when the platform requests option population
Impact
- Required for modals that need server-side dynamic dropdowns (e.g., "pick from my Jira projects", "pick from my Linear issues")
- chinchill-api doesn't currently use it, so not blocking
Acceptance
Upstream feature missing in Python SDK.
What's missing
Upstream Vercel Chat TS exposes
onOptionsLoad()for registering handlers that dynamically populateSelect/RadioSelectdropdown options when a user opens a modal — returning{ value, label }[]live from the handler.Upstream references
vercel-chat/packages/chat/src/types.ts:655—processOptionsLoadmethod onChatInstancevercel-chat/packages/chat/src/chat.ts:610-629—onOptionsLoad()decorator with action-ID matchingvercel-chat/packages/chat/src/chat.ts:911—processOptionsLoaddispatchOptionsLoadEvent,OptionsLoadHandler,OptionsLoadPatternWhat we need to port
OptionsLoadEvent,OptionsLoadHandlerinsrc/chat_sdk/types.pyChat.on_options_load()decorator with action-ID matching (explicit matches first, then catch-all)Chat.process_options_load()entry point for adaptersChatInstanceprotocol: addprocess_options_loadmethodoptions_loadevents when the platform requests option populationImpact
Acceptance
block_suggestionpayload arrivesconfig/fetcharrivesdocs/UPSTREAM_SYNC.mdnon-parity table cleared