@trigger.dev/sdk 0.0.0-prerelease-20260220162801 → 0.0.0-prerelease-20260304181730

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/dist/commonjs/v3/ai.d.ts +245 -2
  2. package/dist/commonjs/v3/ai.js +384 -1
  3. package/dist/commonjs/v3/ai.js.map +1 -1
  4. package/dist/commonjs/v3/auth.d.ts +4 -0
  5. package/dist/commonjs/v3/auth.js.map +1 -1
  6. package/dist/commonjs/v3/chat-constants.d.ts +10 -0
  7. package/dist/commonjs/v3/chat-constants.js +14 -0
  8. package/dist/commonjs/v3/chat-constants.js.map +1 -0
  9. package/dist/commonjs/v3/chat-react.d.ts +42 -0
  10. package/dist/commonjs/v3/chat-react.js +63 -0
  11. package/dist/commonjs/v3/chat-react.js.map +1 -0
  12. package/dist/commonjs/v3/chat.d.ts +156 -0
  13. package/dist/commonjs/v3/chat.js +270 -0
  14. package/dist/commonjs/v3/chat.js.map +1 -0
  15. package/dist/commonjs/v3/chat.test.d.ts +1 -0
  16. package/dist/commonjs/v3/chat.test.js +1304 -0
  17. package/dist/commonjs/v3/chat.test.js.map +1 -0
  18. package/dist/commonjs/v3/runs.d.ts +4 -4
  19. package/dist/commonjs/v3/shared.js +10 -9
  20. package/dist/commonjs/v3/shared.js.map +1 -1
  21. package/dist/commonjs/v3/streams.d.ts +34 -2
  22. package/dist/commonjs/v3/streams.js +166 -2
  23. package/dist/commonjs/v3/streams.js.map +1 -1
  24. package/dist/commonjs/v3/wait.d.ts +2 -9
  25. package/dist/commonjs/v3/wait.js +7 -26
  26. package/dist/commonjs/v3/wait.js.map +1 -1
  27. package/dist/commonjs/version.js +1 -1
  28. package/dist/esm/v3/ai.d.ts +245 -2
  29. package/dist/esm/v3/ai.js +385 -2
  30. package/dist/esm/v3/ai.js.map +1 -1
  31. package/dist/esm/v3/auth.d.ts +4 -0
  32. package/dist/esm/v3/auth.js.map +1 -1
  33. package/dist/esm/v3/chat-constants.d.ts +10 -0
  34. package/dist/esm/v3/chat-constants.js +11 -0
  35. package/dist/esm/v3/chat-constants.js.map +1 -0
  36. package/dist/esm/v3/chat-react.d.ts +42 -0
  37. package/dist/esm/v3/chat-react.js +60 -0
  38. package/dist/esm/v3/chat-react.js.map +1 -0
  39. package/dist/esm/v3/chat.d.ts +156 -0
  40. package/dist/esm/v3/chat.js +265 -0
  41. package/dist/esm/v3/chat.js.map +1 -0
  42. package/dist/esm/v3/chat.test.d.ts +1 -0
  43. package/dist/esm/v3/chat.test.js +1302 -0
  44. package/dist/esm/v3/chat.test.js.map +1 -0
  45. package/dist/esm/v3/shared.js +10 -9
  46. package/dist/esm/v3/shared.js.map +1 -1
  47. package/dist/esm/v3/streams.d.ts +34 -2
  48. package/dist/esm/v3/streams.js +167 -3
  49. package/dist/esm/v3/streams.js.map +1 -1
  50. package/dist/esm/v3/wait.d.ts +2 -9
  51. package/dist/esm/v3/wait.js +2 -22
  52. package/dist/esm/v3/wait.js.map +1 -1
  53. package/dist/esm/version.js +1 -1
  54. package/package.json +40 -5
@@ -48,6 +48,10 @@ type PublicTokenPermissionProperties = {
48
48
  * Grant access to specific waitpoints
49
49
  */
50
50
  waitpoints?: string | string[];
51
+ /**
52
+ * Grant access to send data to input streams on specific runs
53
+ */
54
+ inputStreams?: string | string[];
51
55
  };
52
56
  export type PublicTokenPermissions = {
53
57
  read?: PublicTokenPermissionProperties;
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/v3/auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/v3/auth.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Stream IDs used for bidirectional chat communication.
3
+ * Shared between backend (ai.ts) and frontend (chat.ts).
4
+ */
5
+ /** The output stream key where UIMessageChunks are written. */
6
+ export declare const CHAT_STREAM_KEY = "chat";
7
+ /** Input stream ID for sending chat messages to the running task. */
8
+ export declare const CHAT_MESSAGES_STREAM_ID = "chat-messages";
9
+ /** Input stream ID for sending stop signals to abort the current generation. */
10
+ export declare const CHAT_STOP_STREAM_ID = "chat-stop";
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ /**
3
+ * Stream IDs used for bidirectional chat communication.
4
+ * Shared between backend (ai.ts) and frontend (chat.ts).
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.CHAT_STOP_STREAM_ID = exports.CHAT_MESSAGES_STREAM_ID = exports.CHAT_STREAM_KEY = void 0;
8
+ /** The output stream key where UIMessageChunks are written. */
9
+ exports.CHAT_STREAM_KEY = "chat";
10
+ /** Input stream ID for sending chat messages to the running task. */
11
+ exports.CHAT_MESSAGES_STREAM_ID = "chat-messages";
12
+ /** Input stream ID for sending stop signals to abort the current generation. */
13
+ exports.CHAT_STOP_STREAM_ID = "chat-stop";
14
+ //# sourceMappingURL=chat-constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat-constants.js","sourceRoot":"","sources":["../../../src/v3/chat-constants.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,+DAA+D;AAClD,QAAA,eAAe,GAAG,MAAM,CAAC;AAEtC,qEAAqE;AACxD,QAAA,uBAAuB,GAAG,eAAe,CAAC;AAEvD,gFAAgF;AACnE,QAAA,mBAAmB,GAAG,WAAW,CAAC"}
@@ -0,0 +1,42 @@
1
+ import { TriggerChatTransport, type TriggerChatTransportOptions } from "./chat.js";
2
+ import type { AnyTask, TaskIdentifier } from "@trigger.dev/core/v3";
3
+ /**
4
+ * Options for `useTriggerChatTransport`, with a type-safe `task` field.
5
+ *
6
+ * Pass a task type parameter to get compile-time validation of the task ID:
7
+ * ```ts
8
+ * useTriggerChatTransport<typeof myTask>({ task: "my-task", ... })
9
+ * ```
10
+ */
11
+ export type UseTriggerChatTransportOptions<TTask extends AnyTask = AnyTask> = Omit<TriggerChatTransportOptions, "task"> & {
12
+ /** The task ID. Strongly typed when a task type parameter is provided. */
13
+ task: TaskIdentifier<TTask>;
14
+ };
15
+ /**
16
+ * React hook that creates and memoizes a `TriggerChatTransport` instance.
17
+ *
18
+ * The transport is created once on first render and reused for the lifetime
19
+ * of the component. This avoids the need for `useMemo` and ensures the
20
+ * transport's internal session state (run IDs, lastEventId, etc.)
21
+ * is preserved across re-renders.
22
+ *
23
+ * For dynamic access tokens, pass a function — it will be called on each
24
+ * request without needing to recreate the transport.
25
+ *
26
+ * @example
27
+ * ```tsx
28
+ * import { useChat } from "@ai-sdk/react";
29
+ * import { useTriggerChatTransport } from "@trigger.dev/sdk/chat/react";
30
+ * import type { chat } from "@/trigger/chat";
31
+ *
32
+ * function Chat() {
33
+ * const transport = useTriggerChatTransport<typeof chat>({
34
+ * task: "ai-chat",
35
+ * accessToken: () => fetchToken(),
36
+ * });
37
+ *
38
+ * const { messages, sendMessage } = useChat({ transport });
39
+ * }
40
+ * ```
41
+ */
42
+ export declare function useTriggerChatTransport<TTask extends AnyTask = AnyTask>(options: UseTriggerChatTransportOptions<TTask>): TriggerChatTransport;
@@ -0,0 +1,63 @@
1
+ "use client";
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.useTriggerChatTransport = useTriggerChatTransport;
5
+ /**
6
+ * @module @trigger.dev/sdk/chat/react
7
+ *
8
+ * React hooks for AI SDK chat transport integration.
9
+ * Use alongside `@trigger.dev/sdk/chat` for a type-safe, ergonomic DX.
10
+ *
11
+ * @example
12
+ * ```tsx
13
+ * import { useChat } from "@ai-sdk/react";
14
+ * import { useTriggerChatTransport } from "@trigger.dev/sdk/chat/react";
15
+ * import type { chat } from "@/trigger/chat";
16
+ *
17
+ * function Chat() {
18
+ * const transport = useTriggerChatTransport<typeof chat>({
19
+ * task: "ai-chat",
20
+ * accessToken: () => fetchToken(),
21
+ * });
22
+ *
23
+ * const { messages, sendMessage } = useChat({ transport });
24
+ * }
25
+ * ```
26
+ */
27
+ const react_1 = require("react");
28
+ const chat_js_1 = require("./chat.js");
29
+ /**
30
+ * React hook that creates and memoizes a `TriggerChatTransport` instance.
31
+ *
32
+ * The transport is created once on first render and reused for the lifetime
33
+ * of the component. This avoids the need for `useMemo` and ensures the
34
+ * transport's internal session state (run IDs, lastEventId, etc.)
35
+ * is preserved across re-renders.
36
+ *
37
+ * For dynamic access tokens, pass a function — it will be called on each
38
+ * request without needing to recreate the transport.
39
+ *
40
+ * @example
41
+ * ```tsx
42
+ * import { useChat } from "@ai-sdk/react";
43
+ * import { useTriggerChatTransport } from "@trigger.dev/sdk/chat/react";
44
+ * import type { chat } from "@/trigger/chat";
45
+ *
46
+ * function Chat() {
47
+ * const transport = useTriggerChatTransport<typeof chat>({
48
+ * task: "ai-chat",
49
+ * accessToken: () => fetchToken(),
50
+ * });
51
+ *
52
+ * const { messages, sendMessage } = useChat({ transport });
53
+ * }
54
+ * ```
55
+ */
56
+ function useTriggerChatTransport(options) {
57
+ const ref = (0, react_1.useRef)(null);
58
+ if (ref.current === null) {
59
+ ref.current = new chat_js_1.TriggerChatTransport(options);
60
+ }
61
+ return ref.current;
62
+ }
63
+ //# sourceMappingURL=chat-react.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat-react.js","sourceRoot":"","sources":["../../../src/v3/chat-react.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;AA2Eb,0DAQC;AAjFD;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,iCAA+B;AAC/B,uCAGmB;AAmBnB;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,SAAgB,uBAAuB,CACrC,OAA8C;IAE9C,MAAM,GAAG,GAAG,IAAA,cAAM,EAA8B,IAAI,CAAC,CAAC;IACtD,IAAI,GAAG,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;QACzB,GAAG,CAAC,OAAO,GAAG,IAAI,8BAAoB,CAAC,OAAO,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,GAAG,CAAC,OAAO,CAAC;AACrB,CAAC"}
@@ -0,0 +1,156 @@
1
+ /**
2
+ * @module @trigger.dev/sdk/chat
3
+ *
4
+ * Browser-safe module for AI SDK chat transport integration.
5
+ * Use this on the frontend with the AI SDK's `useChat` hook.
6
+ *
7
+ * For backend helpers (`chatTask`, `pipeChat`), use `@trigger.dev/sdk/ai` instead.
8
+ *
9
+ * @example
10
+ * ```tsx
11
+ * import { useChat } from "@ai-sdk/react";
12
+ * import { TriggerChatTransport } from "@trigger.dev/sdk/chat";
13
+ *
14
+ * function Chat({ accessToken }: { accessToken: string }) {
15
+ * const { messages, sendMessage, status } = useChat({
16
+ * transport: new TriggerChatTransport({
17
+ * task: "my-chat-task",
18
+ * accessToken,
19
+ * }),
20
+ * });
21
+ * }
22
+ * ```
23
+ */
24
+ import type { ChatTransport, UIMessage, UIMessageChunk, ChatRequestOptions } from "ai";
25
+ /**
26
+ * Options for creating a TriggerChatTransport.
27
+ */
28
+ export type TriggerChatTransportOptions = {
29
+ /**
30
+ * The Trigger.dev task ID to trigger for chat completions.
31
+ * This task should be defined using `chatTask()` from `@trigger.dev/sdk/ai`,
32
+ * or a regular `task()` that uses `pipeChat()`.
33
+ */
34
+ task: string;
35
+ /**
36
+ * An access token for authenticating with the Trigger.dev API.
37
+ *
38
+ * This must be a token with permission to trigger the task. You can use:
39
+ * - A **trigger public token** created via `auth.createTriggerPublicToken(taskId)` (recommended for frontend use)
40
+ * - A **secret API key** (for server-side use only — never expose in the browser)
41
+ *
42
+ * Can also be a function that returns a token string (sync or async),
43
+ * useful for dynamic token refresh or passing a Next.js server action directly.
44
+ */
45
+ accessToken: string | (() => string | Promise<string>);
46
+ /**
47
+ * Base URL for the Trigger.dev API.
48
+ * @default "https://api.trigger.dev"
49
+ */
50
+ baseURL?: string;
51
+ /**
52
+ * The stream key where the task pipes UIMessageChunk data.
53
+ * When using `chatTask()` or `pipeChat()`, this is handled automatically.
54
+ * Only set this if you're using a custom stream key.
55
+ *
56
+ * @default "chat"
57
+ */
58
+ streamKey?: string;
59
+ /**
60
+ * Additional headers to include in API requests to Trigger.dev.
61
+ */
62
+ headers?: Record<string, string>;
63
+ /**
64
+ * The number of seconds to wait for the realtime stream to produce data
65
+ * before timing out.
66
+ *
67
+ * @default 120
68
+ */
69
+ streamTimeoutSeconds?: number;
70
+ /**
71
+ * Default metadata included in every request payload.
72
+ * Merged with per-call `metadata` from `sendMessage()` — per-call values
73
+ * take precedence over transport-level defaults.
74
+ *
75
+ * Useful for data that should accompany every message, like a user ID.
76
+ *
77
+ * @example
78
+ * ```ts
79
+ * new TriggerChatTransport({
80
+ * task: "my-chat",
81
+ * accessToken,
82
+ * metadata: { userId: currentUser.id },
83
+ * });
84
+ * ```
85
+ */
86
+ metadata?: Record<string, unknown>;
87
+ };
88
+ /**
89
+ * A custom AI SDK `ChatTransport` that runs chat completions as durable Trigger.dev tasks.
90
+ *
91
+ * When `sendMessages` is called, the transport:
92
+ * 1. Triggers a Trigger.dev task (or sends to an existing run via input streams)
93
+ * 2. Subscribes to the task's realtime stream to receive `UIMessageChunk` data
94
+ * 3. Returns a `ReadableStream<UIMessageChunk>` that the AI SDK processes natively
95
+ *
96
+ * Calling `stop()` from `useChat` sends a stop signal via input streams, which
97
+ * aborts the current `streamText` call in the task without ending the run.
98
+ *
99
+ * @example
100
+ * ```tsx
101
+ * import { useChat } from "@ai-sdk/react";
102
+ * import { TriggerChatTransport } from "@trigger.dev/sdk/chat";
103
+ *
104
+ * function Chat({ accessToken }: { accessToken: string }) {
105
+ * const { messages, sendMessage, stop, status } = useChat({
106
+ * transport: new TriggerChatTransport({
107
+ * task: "my-chat-task",
108
+ * accessToken,
109
+ * }),
110
+ * });
111
+ *
112
+ * // stop() sends a stop signal — the task aborts streamText but keeps the run alive
113
+ * }
114
+ * ```
115
+ */
116
+ export declare class TriggerChatTransport implements ChatTransport<UIMessage> {
117
+ private readonly taskId;
118
+ private readonly resolveAccessToken;
119
+ private readonly baseURL;
120
+ private readonly streamKey;
121
+ private readonly extraHeaders;
122
+ private readonly streamTimeoutSeconds;
123
+ private readonly defaultMetadata;
124
+ private sessions;
125
+ constructor(options: TriggerChatTransportOptions);
126
+ sendMessages: (options: {
127
+ trigger: "submit-message" | "regenerate-message";
128
+ chatId: string;
129
+ messageId: string | undefined;
130
+ messages: UIMessage[];
131
+ abortSignal: AbortSignal | undefined;
132
+ } & ChatRequestOptions) => Promise<ReadableStream<UIMessageChunk>>;
133
+ reconnectToStream: (options: {
134
+ chatId: string;
135
+ } & ChatRequestOptions) => Promise<ReadableStream<UIMessageChunk> | null>;
136
+ private subscribeToStream;
137
+ }
138
+ /**
139
+ * Creates a new `TriggerChatTransport` instance.
140
+ *
141
+ * @example
142
+ * ```tsx
143
+ * import { useChat } from "@ai-sdk/react";
144
+ * import { createChatTransport } from "@trigger.dev/sdk/chat";
145
+ *
146
+ * const transport = createChatTransport({
147
+ * task: "my-chat-task",
148
+ * accessToken: publicAccessToken,
149
+ * });
150
+ *
151
+ * function Chat() {
152
+ * const { messages, sendMessage } = useChat({ transport });
153
+ * }
154
+ * ```
155
+ */
156
+ export declare function createChatTransport(options: TriggerChatTransportOptions): TriggerChatTransport;
@@ -0,0 +1,270 @@
1
+ "use strict";
2
+ /**
3
+ * @module @trigger.dev/sdk/chat
4
+ *
5
+ * Browser-safe module for AI SDK chat transport integration.
6
+ * Use this on the frontend with the AI SDK's `useChat` hook.
7
+ *
8
+ * For backend helpers (`chatTask`, `pipeChat`), use `@trigger.dev/sdk/ai` instead.
9
+ *
10
+ * @example
11
+ * ```tsx
12
+ * import { useChat } from "@ai-sdk/react";
13
+ * import { TriggerChatTransport } from "@trigger.dev/sdk/chat";
14
+ *
15
+ * function Chat({ accessToken }: { accessToken: string }) {
16
+ * const { messages, sendMessage, status } = useChat({
17
+ * transport: new TriggerChatTransport({
18
+ * task: "my-chat-task",
19
+ * accessToken,
20
+ * }),
21
+ * });
22
+ * }
23
+ * ```
24
+ */
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.TriggerChatTransport = void 0;
27
+ exports.createChatTransport = createChatTransport;
28
+ const v3_1 = require("@trigger.dev/core/v3");
29
+ const chat_constants_js_1 = require("./chat-constants.js");
30
+ const DEFAULT_STREAM_KEY = "chat";
31
+ const DEFAULT_BASE_URL = "https://api.trigger.dev";
32
+ const DEFAULT_STREAM_TIMEOUT_SECONDS = 120;
33
+ /**
34
+ * A custom AI SDK `ChatTransport` that runs chat completions as durable Trigger.dev tasks.
35
+ *
36
+ * When `sendMessages` is called, the transport:
37
+ * 1. Triggers a Trigger.dev task (or sends to an existing run via input streams)
38
+ * 2. Subscribes to the task's realtime stream to receive `UIMessageChunk` data
39
+ * 3. Returns a `ReadableStream<UIMessageChunk>` that the AI SDK processes natively
40
+ *
41
+ * Calling `stop()` from `useChat` sends a stop signal via input streams, which
42
+ * aborts the current `streamText` call in the task without ending the run.
43
+ *
44
+ * @example
45
+ * ```tsx
46
+ * import { useChat } from "@ai-sdk/react";
47
+ * import { TriggerChatTransport } from "@trigger.dev/sdk/chat";
48
+ *
49
+ * function Chat({ accessToken }: { accessToken: string }) {
50
+ * const { messages, sendMessage, stop, status } = useChat({
51
+ * transport: new TriggerChatTransport({
52
+ * task: "my-chat-task",
53
+ * accessToken,
54
+ * }),
55
+ * });
56
+ *
57
+ * // stop() sends a stop signal — the task aborts streamText but keeps the run alive
58
+ * }
59
+ * ```
60
+ */
61
+ class TriggerChatTransport {
62
+ taskId;
63
+ resolveAccessToken;
64
+ baseURL;
65
+ streamKey;
66
+ extraHeaders;
67
+ streamTimeoutSeconds;
68
+ defaultMetadata;
69
+ sessions = new Map();
70
+ constructor(options) {
71
+ this.taskId = options.task;
72
+ this.resolveAccessToken =
73
+ typeof options.accessToken === "function"
74
+ ? options.accessToken
75
+ : () => options.accessToken;
76
+ this.baseURL = options.baseURL ?? DEFAULT_BASE_URL;
77
+ this.streamKey = options.streamKey ?? DEFAULT_STREAM_KEY;
78
+ this.extraHeaders = options.headers ?? {};
79
+ this.streamTimeoutSeconds = options.streamTimeoutSeconds ?? DEFAULT_STREAM_TIMEOUT_SECONDS;
80
+ this.defaultMetadata = options.metadata;
81
+ }
82
+ sendMessages = async (options) => {
83
+ const { trigger, chatId, messageId, messages, abortSignal, body, metadata } = options;
84
+ const mergedMetadata = this.defaultMetadata || metadata
85
+ ? { ...(this.defaultMetadata ?? {}), ...(metadata ?? {}) }
86
+ : undefined;
87
+ const payload = {
88
+ ...(body ?? {}),
89
+ messages,
90
+ chatId,
91
+ trigger,
92
+ messageId,
93
+ metadata: mergedMetadata,
94
+ };
95
+ const session = this.sessions.get(chatId);
96
+ // If we have an existing run, send the message via input stream
97
+ // to resume the conversation in the same run.
98
+ if (session?.runId) {
99
+ try {
100
+ const apiClient = new v3_1.ApiClient(this.baseURL, session.publicAccessToken);
101
+ await apiClient.sendInputStream(session.runId, chat_constants_js_1.CHAT_MESSAGES_STREAM_ID, payload);
102
+ return this.subscribeToStream(session.runId, session.publicAccessToken, abortSignal, chatId);
103
+ }
104
+ catch {
105
+ // If sending fails (run died, etc.), fall through to trigger a new run.
106
+ this.sessions.delete(chatId);
107
+ }
108
+ }
109
+ // First message or run has ended — trigger a new run
110
+ const currentToken = await this.resolveAccessToken();
111
+ const apiClient = new v3_1.ApiClient(this.baseURL, currentToken);
112
+ const triggerResponse = await apiClient.triggerTask(this.taskId, {
113
+ payload,
114
+ options: {
115
+ payloadType: "application/json",
116
+ },
117
+ });
118
+ const runId = triggerResponse.id;
119
+ const publicAccessToken = "publicAccessToken" in triggerResponse
120
+ ? triggerResponse.publicAccessToken
121
+ : undefined;
122
+ this.sessions.set(chatId, {
123
+ runId,
124
+ publicAccessToken: publicAccessToken ?? currentToken,
125
+ });
126
+ return this.subscribeToStream(runId, publicAccessToken ?? currentToken, abortSignal, chatId);
127
+ };
128
+ reconnectToStream = async (options) => {
129
+ const session = this.sessions.get(options.chatId);
130
+ if (!session) {
131
+ return null;
132
+ }
133
+ return this.subscribeToStream(session.runId, session.publicAccessToken, undefined, options.chatId);
134
+ };
135
+ subscribeToStream(runId, accessToken, abortSignal, chatId) {
136
+ const headers = {
137
+ Authorization: `Bearer ${accessToken}`,
138
+ ...this.extraHeaders,
139
+ };
140
+ // When resuming a run, skip past previously-seen events
141
+ // so we only receive the new turn's response.
142
+ const session = chatId ? this.sessions.get(chatId) : undefined;
143
+ // Create an internal AbortController so we can terminate the underlying
144
+ // fetch connection when we're done reading (e.g. after intercepting the
145
+ // control chunk). Without this, the SSE connection stays open and leaks.
146
+ const internalAbort = new AbortController();
147
+ const combinedSignal = abortSignal
148
+ ? AbortSignal.any([abortSignal, internalAbort.signal])
149
+ : internalAbort.signal;
150
+ // When the caller aborts (user calls stop()), send a stop signal to the
151
+ // running task via input streams, then close the SSE connection.
152
+ if (abortSignal) {
153
+ abortSignal.addEventListener("abort", () => {
154
+ if (session) {
155
+ session.skipToTurnComplete = true;
156
+ const api = new v3_1.ApiClient(this.baseURL, session.publicAccessToken);
157
+ api
158
+ .sendInputStream(session.runId, chat_constants_js_1.CHAT_STOP_STREAM_ID, { stop: true })
159
+ .catch(() => { }); // Best-effort
160
+ }
161
+ internalAbort.abort();
162
+ }, { once: true });
163
+ }
164
+ const subscription = new v3_1.SSEStreamSubscription(`${this.baseURL}/realtime/v1/streams/${runId}/${this.streamKey}`, {
165
+ headers,
166
+ signal: combinedSignal,
167
+ timeoutInSeconds: this.streamTimeoutSeconds,
168
+ lastEventId: session?.lastEventId,
169
+ });
170
+ return new ReadableStream({
171
+ start: async (controller) => {
172
+ try {
173
+ const sseStream = await subscription.subscribe();
174
+ const reader = sseStream.getReader();
175
+ let chunkCount = 0;
176
+ try {
177
+ while (true) {
178
+ const { done, value } = await reader.read();
179
+ if (done) {
180
+ // Only delete session if the stream ended naturally (not aborted by stop).
181
+ // When the user clicks stop, the abort closes the SSE reader which
182
+ // returns done=true, but the run is still alive and waiting for
183
+ // the next message via input streams.
184
+ if (chatId && !combinedSignal.aborted) {
185
+ this.sessions.delete(chatId);
186
+ }
187
+ controller.close();
188
+ return;
189
+ }
190
+ if (combinedSignal.aborted) {
191
+ internalAbort.abort();
192
+ await reader.cancel();
193
+ controller.close();
194
+ return;
195
+ }
196
+ // Track the last event ID so we can resume from here
197
+ if (value.id && session) {
198
+ session.lastEventId = value.id;
199
+ }
200
+ // Guard against heartbeat or malformed SSE events
201
+ if (value.chunk != null && typeof value.chunk === "object") {
202
+ const chunk = value.chunk;
203
+ // After a stop, skip leftover chunks from the stopped turn
204
+ // until we see the __trigger_turn_complete marker.
205
+ if (session?.skipToTurnComplete) {
206
+ if (chunk.type === "__trigger_turn_complete") {
207
+ session.skipToTurnComplete = false;
208
+ chunkCount = 0;
209
+ }
210
+ continue;
211
+ }
212
+ if (chunk.type === "__trigger_turn_complete" && chatId) {
213
+ internalAbort.abort();
214
+ try {
215
+ controller.close();
216
+ }
217
+ catch {
218
+ // Controller may already be closed
219
+ }
220
+ return;
221
+ }
222
+ chunkCount++;
223
+ controller.enqueue(chunk);
224
+ }
225
+ }
226
+ }
227
+ catch (readError) {
228
+ reader.releaseLock();
229
+ throw readError;
230
+ }
231
+ }
232
+ catch (error) {
233
+ if (error instanceof Error && error.name === "AbortError") {
234
+ try {
235
+ controller.close();
236
+ }
237
+ catch {
238
+ // Controller may already be closed
239
+ }
240
+ return;
241
+ }
242
+ controller.error(error);
243
+ }
244
+ },
245
+ });
246
+ }
247
+ }
248
+ exports.TriggerChatTransport = TriggerChatTransport;
249
+ /**
250
+ * Creates a new `TriggerChatTransport` instance.
251
+ *
252
+ * @example
253
+ * ```tsx
254
+ * import { useChat } from "@ai-sdk/react";
255
+ * import { createChatTransport } from "@trigger.dev/sdk/chat";
256
+ *
257
+ * const transport = createChatTransport({
258
+ * task: "my-chat-task",
259
+ * accessToken: publicAccessToken,
260
+ * });
261
+ *
262
+ * function Chat() {
263
+ * const { messages, sendMessage } = useChat({ transport });
264
+ * }
265
+ * ```
266
+ */
267
+ function createChatTransport(options) {
268
+ return new TriggerChatTransport(options);
269
+ }
270
+ //# sourceMappingURL=chat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat.js","sourceRoot":"","sources":["../../../src/v3/chat.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};