Repository navigation
chat@4.41.0
Minor Changes
-
ad90432: Add opt-in selection change events for Select and RadioSelect inputs in Slack modals
-
dc2a777: Add TanStack AI support.
thread.post(),thread.reply(), andchannel.post()accept the stream returned by TanStack'schat(), and the newchat/ai/tanstacksubpath providestoTanStackMessagesfor thread history andcreateTanStackToolsfor the Chat SDK toolset. Neither adds a runtime dependency on@tanstack/ai; the tools require zod 4.2 or newer. -
139d337: Support Vercel Connect in the Teams adapter with lazy app identity resolution and custom webhook verification. Ensure custom Bot Framework and Graph token factories take precedence over client-secret environment variables.
Add Teams to
create-chat-sdk --connectand interactive Connect scaffolding, including the helper, connector environment variable, and setup documentation. -
2e2426d: Add
onInstalledandonUninstalledhandlers for installation lifecycle events. The Teams adapter emits them forinstallationUpdateactivities, including theadd-upgradeandremove-upgradeactions, with a persistablechannelIdfor later proactive messages.The Teams adapter now sends, edits, deletes, reacts, and types against the service URL encoded in the thread ID instead of the app-wide default, so conversations hosted on regional or sovereign Bot Framework endpoints are reached correctly. An explicit
apiUrlstill pins every call to that endpoint. -
8421953: feat(teams): render tables as the Adaptive Card 1.5 Table element
The Teams adapter now renders
Tableas the native Adaptive CardsTableelement instead of aContainerofColumnSets. Teams draws grid lines between cells, sizes columns by relative weight and marks the header row for accessibility. The@chat-adapter/teams/cardssubpath emits the same element.Tablegains optional rendering options that only Teams reads:widths(positive integer column weights),verticalAlign(vertical alignment of cell content),gridLines(defaulttrue) andgridStyle. Other adapters ignore them. PassgridLines: falseto keep a borderless table.The chat JSX runtime now forwards
alignon<Table>, matchingfromReactElement. -
056d883: Allow
history.user.maxPerUserand legacytranscripts.maxPerUserto befalseto disable count-based history eviction. The default remains 200 entries per user. -
fcdc1c9: Honor an adapter's definitive
isMention: falseinstead of re-detecting mentions from the message text.An adapter that reads structured platform content reports
trueorfalse, and the SDK falls back to matching@usernamein the text only when the adapter reports nothing. A definitivefalsenow wins, so an adapter can suppress a mention that exists only in text its platform renders literally, such as a code sample. Adapters that previously returnedfalseto mean "not detected" should returnundefinedinstead. Direct messages are unchanged: with noonDirectMessagehandler registered they still route toonNewMention.Adapter changes that follow from the new contract:
- Linear: ordinary comments are left undetermined, so SDK text detection still applies to them.
- Notion:
keywordmode leaves comments without a keyword match undetermined instead of reportingfalse, so@userNamein the text still counts. - X: posts rebuilt from raw or fetched by id are left undetermined instead of reporting
false. Onlypost.mention.createevents reporttrue. - Discord: a real ping, role mention,
@everyone, or allowlisted channel reportstrue; anything else is left undetermined instead offalse, so a literal@botnametyped in the text still counts as before.
Patch Changes
- f233ffe: Retry initialization after a failed state connection. Once the state adapter (for example Redis) recovers, the next
initialize()call or webhook tries again instead of rejecting with the original connection error. Concurrent callers still share one attempt. Adapter initialization failures remain cached untilshutdown()so retries cannot restart adapters that are already running or still starting. - 91683e5: Wait for Telegram polling handlers to settle before advancing update offsets.
- c21ccbc: Add an opt-in webhook option to propagate message, action, and slash command handler errors through
waitUntilwhile preserving default behavior.