mirror of
https://github.com/vercel/chat.git
synced 2026-09-14 18:32:29 +08:00
a5b118f1dc
This PR was opened by the [Changesets release](https://github.com/changesets/action) GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated. # Releases ## @chat-adapter/slack@4.30.0 ### Minor Changes -4c46c26: add lightweight Slack formatting primitives subpath -dbd8dc5: expose runtime-free Block Kit helpers for Slack card conversion -aba6aa9: add lightweight Slack API primitives subpath -b332a03: add lightweight Slack webhook primitives subpath -6ed4a43: add low-level Slack helpers for files, thread replies, views, interactions, and input blocks ### Patch Changes -9b8d8c4: expand npm `keywords` for adapter and state packages to improve discoverability (adds `chat-sdk`, `chatbot`, `ai-agent`, `ai-sdk`, `vercel`, plus platform-specific terms) -073ff92: surface Slack file upload confirmation ids in postMessage results -b63c042: fix(slack): resolve reaction user display names Slack reaction events now resolve the reacting user's display name and real name through the existing cached user lookup path. If lookup fails, the adapter falls back to the Slack user ID. -1294490: reuse low-level Slack formatting helpers in the adapter -999d268: pass the Slack bot token through native stream append and stop calls - Updated dependencies [5461ea9] - chat@4.30.0 - @chat-adapter/shared@4.30.0 ## @chat-adapter/telegram@4.30.0 ### Minor Changes -5461ea9: Add native Telegram private chat draft streaming with fallback streaming elsewhere. ### Patch Changes -9b8d8c4: expand npm `keywords` for adapter and state packages to improve discoverability (adds `chat-sdk`, `chatbot`, `ai-agent`, `ai-sdk`, `vercel`, plus platform-specific terms) - Updated dependencies [5461ea9] - chat@4.30.0 - @chat-adapter/shared@4.30.0 ## @chat-adapter/twilio@4.30.0 ### Minor Changes -25ebc3b: add Twilio SMS, MMS, and voice helpers with webhook, messaging, and formatting primitives ### Patch Changes -9b8d8c4: expand npm `keywords` for adapter and state packages to improve discoverability (adds `chat-sdk`, `chatbot`, `ai-agent`, `ai-sdk`, `vercel`, plus platform-specific terms) - Updated dependencies [5461ea9] - chat@4.30.0 - @chat-adapter/shared@4.30.0 ## @chat-adapter/whatsapp@4.30.0 ### Minor Changes -ffc43fc: Add WhatsApp typing indicator support by sending Meta's read-plus-typing payload when a recent inbound message is available. Update the default API version to v25.0. ### Patch Changes -9b8d8c4: expand npm `keywords` for adapter and state packages to improve discoverability (adds `chat-sdk`, `chatbot`, `ai-agent`, `ai-sdk`, `vercel`, plus platform-specific terms) - Updated dependencies [5461ea9] - chat@4.30.0 - @chat-adapter/shared@4.30.0 ## chat@4.30.0 ### Minor Changes -5461ea9: Add native Telegram private chat draft streaming with fallback streaming elsewhere. ## @chat-adapter/discord@4.30.0 ### Patch Changes -9b8d8c4: expand npm `keywords` for adapter and state packages to improve discoverability (adds `chat-sdk`, `chatbot`, `ai-agent`, `ai-sdk`, `vercel`, plus platform-specific terms) - Updated dependencies [5461ea9] - chat@4.30.0 - @chat-adapter/shared@4.30.0 ## @chat-adapter/gchat@4.30.0 ### Patch Changes -9b8d8c4: expand npm `keywords` for adapter and state packages to improve discoverability (adds `chat-sdk`, `chatbot`, `ai-agent`, `ai-sdk`, `vercel`, plus platform-specific terms) -177735a: - Fix redundant mailto link rendering in Google Chat adapter - Google Chat adapter was emitting redundant `<mailto:...|...>` tokens when rendering autolinked email addresses. This change collapses `mailto:` URLs when the visible text equals the email address, ensuring cleaner output consistent with plain text rendering in Google Chat. - Updated dependencies [5461ea9] - chat@4.30.0 - @chat-adapter/shared@4.30.0 ## @chat-adapter/github@4.30.0 ### Patch Changes -9b8d8c4: expand npm `keywords` for adapter and state packages to improve discoverability (adds `chat-sdk`, `chatbot`, `ai-agent`, `ai-sdk`, `vercel`, plus platform-specific terms) - Updated dependencies [5461ea9] - chat@4.30.0 - @chat-adapter/shared@4.30.0 ## @chat-adapter/linear@4.30.0 ### Patch Changes -9b8d8c4: expand npm `keywords` for adapter and state packages to improve discoverability (adds `chat-sdk`, `chatbot`, `ai-agent`, `ai-sdk`, `vercel`, plus platform-specific terms) - Updated dependencies [5461ea9] - chat@4.30.0 - @chat-adapter/shared@4.30.0 ## @chat-adapter/messenger@4.30.0 ### Patch Changes -9b8d8c4: expand npm `keywords` for adapter and state packages to improve discoverability (adds `chat-sdk`, `chatbot`, `ai-agent`, `ai-sdk`, `vercel`, plus platform-specific terms) - Updated dependencies [5461ea9] - chat@4.30.0 - @chat-adapter/shared@4.30.0 ## @chat-adapter/shared@4.30.0 ### Patch Changes - Updated dependencies [5461ea9] - chat@4.30.0 ## @chat-adapter/teams@4.30.0 ### Patch Changes -9b8d8c4: expand npm `keywords` for adapter and state packages to improve discoverability (adds `chat-sdk`, `chatbot`, `ai-agent`, `ai-sdk`, `vercel`, plus platform-specific terms) - Updated dependencies [5461ea9] - chat@4.30.0 - @chat-adapter/shared@4.30.0 ## @chat-adapter/web@4.30.0 ### Patch Changes -9b8d8c4: expand npm `keywords` for adapter and state packages to improve discoverability (adds `chat-sdk`, `chatbot`, `ai-agent`, `ai-sdk`, `vercel`, plus platform-specific terms) - Updated dependencies [5461ea9] - chat@4.30.0 - @chat-adapter/shared@4.30.0 ## @chat-adapter/state-ioredis@4.30.0 ### Patch Changes -9b8d8c4: expand npm `keywords` for adapter and state packages to improve discoverability (adds `chat-sdk`, `chatbot`, `ai-agent`, `ai-sdk`, `vercel`, plus platform-specific terms) - Updated dependencies [5461ea9] - chat@4.30.0 ## @chat-adapter/state-memory@4.30.0 ### Patch Changes -9b8d8c4: expand npm `keywords` for adapter and state packages to improve discoverability (adds `chat-sdk`, `chatbot`, `ai-agent`, `ai-sdk`, `vercel`, plus platform-specific terms) - Updated dependencies [5461ea9] - chat@4.30.0 ## @chat-adapter/state-pg@4.30.0 ### Patch Changes -9b8d8c4: expand npm `keywords` for adapter and state packages to improve discoverability (adds `chat-sdk`, `chatbot`, `ai-agent`, `ai-sdk`, `vercel`, plus platform-specific terms) - Updated dependencies [5461ea9] - chat@4.30.0 ## @chat-adapter/state-redis@4.30.0 ### Patch Changes -9b8d8c4: expand npm `keywords` for adapter and state packages to improve discoverability (adds `chat-sdk`, `chatbot`, `ai-agent`, `ai-sdk`, `vercel`, plus platform-specific terms) - Updated dependencies [5461ea9] - chat@4.30.0 ## @chat-adapter/tests@4.30.0 Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
chat
Core SDK for building multi-platform chat bots. Provides the Chat class, event handlers, JSX card runtime, emoji helpers, and type-safe message formatting.
Installation
npm install chat
Usage
import { Chat } from "chat";
import { createSlackAdapter } from "@chat-adapter/slack";
import { createRedisState } from "@chat-adapter/state-redis";
const bot = new Chat({
userName: "mybot",
adapters: {
slack: createSlackAdapter({
botToken: process.env.SLACK_BOT_TOKEN!,
signingSecret: process.env.SLACK_SIGNING_SECRET!,
}),
},
state: createRedisState({ url: process.env.REDIS_URL! }),
dedupeTtlMs: 600_000, // 10 minutes (default: 5 min)
});
bot.onNewMention(async (thread) => {
await thread.subscribe();
await thread.post("Hello! I'm listening to this thread.");
});
bot.onSubscribedMessage(async (thread, message) => {
await thread.post(`You said: ${message.text}`);
});
Tip: PostgreSQL and ioredis adapters are also available for production. See State Adapters for all options.
Configuration
| Option | Type | Default | Description |
|---|---|---|---|
userName |
string |
required | Default bot username across all adapters |
adapters |
Record<string, Adapter> |
required | Map of adapter name to adapter instance |
state |
StateAdapter |
required | State adapter for subscriptions, locking, and dedup |
logger |
Logger | LogLevel |
"info" |
Logger instance or log level ("silent" to disable) |
streamingUpdateIntervalMs |
number |
500 |
Update interval for fallback streaming (post + edit) in ms |
dedupeTtlMs |
number |
300000 |
TTL for message deduplication entries in ms. Increase if webhook cold starts cause platform retries (e.g., Slack's http_timeout retry) that arrive after the default window |
AI coding agent support
If you use an AI coding agent like Claude Code, you can teach it about Chat SDK:
npx skills add vercel/chat
Documentation
Full documentation is available at chat-sdk.dev/docs.
- Usage — event handlers, threads, messages, channels
- Chat API — full
Chatclass reference - Cards — JSX-based interactive cards
- Streaming — AI SDK integration
- Emoji — cross-platform emoji helpers
License
MIT