Skip to content

Commit e4c30b0

Browse files
chore: update changeset to target @trigger.dev/sdk
Co-authored-by: Eric Allam <eric@trigger.dev>
1 parent d9ef611 commit e4c30b0

File tree

1 file changed

+19
-18
lines changed

1 file changed

+19
-18
lines changed

.changeset/ai-sdk-chat-transport.md

Lines changed: 19 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,42 @@
11
---
2-
"@trigger.dev/ai": minor
2+
"@trigger.dev/sdk": minor
33
---
44

5-
New package: `@trigger.dev/ai`AI SDK integration for Trigger.dev
5+
Add AI SDK chat transport integration via two new subpath exports:
66

7-
Provides `TriggerChatTransport`, a custom `ChatTransport` implementation for the Vercel AI SDK that bridges `useChat` with Trigger.dev's durable task execution and realtime streams.
7+
**`@trigger.dev/sdk/chat`** (frontend, browser-safe):
8+
- `TriggerChatTransport` — custom `ChatTransport` for the AI SDK's `useChat` hook that runs chat completions as durable Trigger.dev tasks
9+
- `createChatTransport()` — factory function
810

9-
**Frontend usage:**
1011
```tsx
1112
import { useChat } from "@ai-sdk/react";
12-
import { TriggerChatTransport } from "@trigger.dev/ai";
13+
import { TriggerChatTransport } from "@trigger.dev/sdk/chat";
1314

1415
const { messages, sendMessage } = useChat({
1516
transport: new TriggerChatTransport({
16-
accessToken: publicAccessToken,
17-
taskId: "my-chat-task",
17+
task: "my-chat-task",
18+
accessToken,
1819
}),
1920
});
2021
```
2122

22-
**Backend task:**
23+
**`@trigger.dev/sdk/ai`** (backend, extends existing `ai.tool`/`ai.currentToolOptions`):
24+
- `chatTask()` — pre-typed task wrapper with auto-pipe support
25+
- `pipeChat()` — pipe a `StreamTextResult` or stream to the frontend
26+
- `CHAT_STREAM_KEY` — the default stream key constant
27+
- `ChatTaskPayload` type
28+
2329
```ts
24-
import { task, streams } from "@trigger.dev/sdk";
30+
import { chatTask } from "@trigger.dev/sdk/ai";
2531
import { streamText, convertToModelMessages } from "ai";
26-
import type { ChatTaskPayload } from "@trigger.dev/ai";
2732

28-
export const myChatTask = task({
33+
export const myChatTask = chatTask({
2934
id: "my-chat-task",
30-
run: async (payload: ChatTaskPayload) => {
31-
const result = streamText({
35+
run: async ({ messages }) => {
36+
return streamText({
3237
model: openai("gpt-4o"),
33-
messages: convertToModelMessages(payload.messages),
38+
messages: convertToModelMessages(messages),
3439
});
35-
const { waitUntilComplete } = streams.pipe("chat", result.toUIMessageStream());
36-
await waitUntilComplete();
3740
},
3841
});
3942
```
40-
41-
Also exports `createChatTransport()` factory function and `ChatTaskPayload` type for task-side typing.

0 commit comments

Comments
 (0)