chat@4.36.0
Minor Changes
-
c5d86b1: confine built-in agent read tools to the conversation being handled, with an optional scope override
-
0153a39: Add
DateInputandNumberInputmodal children. The Slack adapter renders them as adatepickerand anumber_input, the Teams adapter asInput.DateandInput.Number, and both submitted values arrive inevent.valuesas strings.Teams submit values that arrive as JSON numbers are now stringified into
event.valuesinstead of being dropped. This fixesInput.Number, but applies to any numeric value a Teams dialog submits — a key that was previously absent fromevent.valueswill now be present as a string.
Patch Changes
-
257a32d: Route Teams personal and group conversations using their explicit conversation type so group chats use buffered fallback even when their IDs resemble direct messages.
-
b547f45: Stop treating email addresses as bot mentions. A message containing
jane@acme.comno longer triggers a bot namedacme, because the@indetectMentionmust not follow a word character. Real mentions are unaffected, including at the start of a message, after punctuation, and suffixed names such as GitHub'smybot[bot]. -
caa6325: Add XChat support to
@chat-adapter/x, shipped from the new@chat-adapter/x/chatsubpath so it sits alongside the existing X adapter. The XChat crypto stack (@xdevplatform/chat-xdk,@xdevplatform/xdk,juicebox-sdk) is an optional peer dependency, so existing@chat-adapter/xusers are unaffected. All cryptography is handled inside the adapter via@xdevplatform/chat-xdk(wasm) and all REST goes through the typed@xdevplatform/xdkclient. Only a bot token and a Juicebox PIN are required: the bot's identity (user id and @handle) is resolved fromGET /2/users/meat startup.- Encrypted send/receive in DMs and groups (webhook push + polling), signature verification on by default; undecryptable or unverified events are dropped
- Webhook POSTs must carry a valid
x-twitter-webhooks-signature, which X sends on every delivery. SetconsumerSecret(orX_CONSUMER_SECRET) to receive webhooks, ordisableWebhookVerificationwhen an upstream layer already verifies them. Polling deployments are unaffected - Mention detection from structured mention entities, swipe-replies to the bot, and a plain-text
@handlefallback; group replies sent as quoted replies openDM(userId)starts (or reuses) an encrypted 1:1, running a full key exchange when needed so the bot can message first- Media both ways: inbound attachments with lazy download+decrypt, outbound encrypted uploads
- Edit and delete of the bot's own messages; the first edit of a fresh message is age-gated by
editSafetyDelayMs(default 5000ms) so receiving clients have stored the original - Reactions in and out, read receipts (
sendReadReceipts, default on), typing keep-alive, configurable group welcome message - Cards degrade to text with tappable URL/mention entities plus a URL preview attachment
- Requests carry a
chat-sdk-xchat/<version>User-Agent product token so Chat SDK traffic is identifiable in X API request logs (a User-Agent set viaapiHeaderstakes precedence) - Registered in the
chat/adapterscatalog and thecreate-chat-sdkCLI scaffold, with a new optionalimportPathcatalog field for adapters that ship on a subpath