@trigger.dev/sdk 0.0.0-prerelease-20260305183215 → 0.0.0-prerelease-20260306173130
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.
- package/dist/commonjs/v3/ai.d.ts +108 -14
- package/dist/commonjs/v3/ai.js +152 -10
- package/dist/commonjs/v3/ai.js.map +1 -1
- package/dist/commonjs/v3/chat-react.d.ts +2 -1
- package/dist/commonjs/v3/chat-react.js.map +1 -1
- package/dist/commonjs/v3/chat.d.ts +37 -6
- package/dist/commonjs/v3/chat.js +32 -22
- package/dist/commonjs/v3/chat.js.map +1 -1
- package/dist/commonjs/v3/chat.test.js +4 -3
- package/dist/commonjs/v3/chat.test.js.map +1 -1
- package/dist/commonjs/version.js +1 -1
- package/dist/esm/v3/ai.d.ts +108 -14
- package/dist/esm/v3/ai.js +153 -11
- package/dist/esm/v3/ai.js.map +1 -1
- package/dist/esm/v3/chat-react.d.ts +2 -1
- package/dist/esm/v3/chat-react.js.map +1 -1
- package/dist/esm/v3/chat.d.ts +37 -6
- package/dist/esm/v3/chat.js +32 -22
- package/dist/esm/v3/chat.js.map +1 -1
- package/dist/esm/v3/chat.test.js +4 -3
- package/dist/esm/v3/chat.test.js.map +1 -1
- package/dist/esm/version.js +1 -1
- package/package.json +2 -2
package/dist/commonjs/v3/ai.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { AnyTask, Task, type inferSchemaIn, type TaskIdentifier, type TaskOptions, type TaskSchema, type TaskWithSchema } from "@trigger.dev/core/v3";
|
|
1
|
+
import { AnyTask, Task, type inferSchemaIn, type inferSchemaOut, type TaskIdentifier, type TaskOptions, type TaskSchema, type TaskWithSchema } from "@trigger.dev/core/v3";
|
|
2
2
|
import type { ModelMessage, UIMessage } from "ai";
|
|
3
3
|
import { Tool, ToolCallOptions } from "ai";
|
|
4
|
+
import { locals } from "./locals.js";
|
|
4
5
|
import { CHAT_MESSAGES_STREAM_ID, CHAT_STOP_STREAM_ID } from "./chat-constants.js";
|
|
5
6
|
export type ToolCallExecutionOptions = Omit<ToolCallOptions, "abortSignal">;
|
|
6
7
|
type ToolResultContent = Array<{
|
|
@@ -56,7 +57,7 @@ export { CHAT_MESSAGES_STREAM_ID, CHAT_STOP_STREAM_ID };
|
|
|
56
57
|
* The backend accumulates the full conversation history across turns, so the frontend
|
|
57
58
|
* only needs to send new messages after the first turn.
|
|
58
59
|
*/
|
|
59
|
-
export type ChatTaskPayload = {
|
|
60
|
+
export type ChatTaskPayload<TClientData = unknown> = {
|
|
60
61
|
/** Model-ready messages — pass directly to `streamText({ messages })`. */
|
|
61
62
|
messages: ModelMessage[];
|
|
62
63
|
/** The unique identifier for the chat session */
|
|
@@ -70,7 +71,7 @@ export type ChatTaskPayload = {
|
|
|
70
71
|
/** The ID of the message to regenerate (only for `"regenerate-message"`) */
|
|
71
72
|
messageId?: string;
|
|
72
73
|
/** Custom data from the frontend (passed via `metadata` on `sendMessage()` or the transport). */
|
|
73
|
-
clientData?:
|
|
74
|
+
clientData?: TClientData;
|
|
74
75
|
};
|
|
75
76
|
/**
|
|
76
77
|
* Abort signals provided to the `chatTask` run function.
|
|
@@ -87,7 +88,7 @@ export type ChatTaskSignals = {
|
|
|
87
88
|
* The full payload passed to a `chatTask` run function.
|
|
88
89
|
* Extends `ChatTaskPayload` (the wire payload) with abort signals.
|
|
89
90
|
*/
|
|
90
|
-
export type ChatTaskRunPayload = ChatTaskPayload & ChatTaskSignals;
|
|
91
|
+
export type ChatTaskRunPayload<TClientData = unknown> = ChatTaskPayload<TClientData> & ChatTaskSignals;
|
|
91
92
|
/**
|
|
92
93
|
* Options for `pipeChat`.
|
|
93
94
|
*/
|
|
@@ -170,13 +171,13 @@ declare function pipeChat(source: UIMessageStreamable | AsyncIterable<unknown> |
|
|
|
170
171
|
/**
|
|
171
172
|
* Event passed to the `onChatStart` callback.
|
|
172
173
|
*/
|
|
173
|
-
export type ChatStartEvent = {
|
|
174
|
+
export type ChatStartEvent<TClientData = unknown> = {
|
|
174
175
|
/** The unique identifier for the chat session. */
|
|
175
176
|
chatId: string;
|
|
176
177
|
/** The initial model-ready messages for this conversation. */
|
|
177
178
|
messages: ModelMessage[];
|
|
178
179
|
/** Custom data from the frontend (passed via `metadata` on `sendMessage()` or the transport). */
|
|
179
|
-
clientData:
|
|
180
|
+
clientData: TClientData;
|
|
180
181
|
/** The Trigger.dev run ID for this conversation. */
|
|
181
182
|
runId: string;
|
|
182
183
|
/** A scoped access token for this chat run. Persist this for frontend reconnection. */
|
|
@@ -185,7 +186,7 @@ export type ChatStartEvent = {
|
|
|
185
186
|
/**
|
|
186
187
|
* Event passed to the `onTurnStart` callback.
|
|
187
188
|
*/
|
|
188
|
-
export type TurnStartEvent = {
|
|
189
|
+
export type TurnStartEvent<TClientData = unknown> = {
|
|
189
190
|
/** The unique identifier for the chat session. */
|
|
190
191
|
chatId: string;
|
|
191
192
|
/** The accumulated model-ready messages (all turns so far, including new user message). */
|
|
@@ -198,11 +199,13 @@ export type TurnStartEvent = {
|
|
|
198
199
|
runId: string;
|
|
199
200
|
/** A scoped access token for this chat run. */
|
|
200
201
|
chatAccessToken: string;
|
|
202
|
+
/** Custom data from the frontend. */
|
|
203
|
+
clientData?: TClientData;
|
|
201
204
|
};
|
|
202
205
|
/**
|
|
203
206
|
* Event passed to the `onTurnComplete` callback.
|
|
204
207
|
*/
|
|
205
|
-
export type TurnCompleteEvent = {
|
|
208
|
+
export type TurnCompleteEvent<TClientData = unknown> = {
|
|
206
209
|
/** The unique identifier for the chat session. */
|
|
207
210
|
chatId: string;
|
|
208
211
|
/** The full accumulated conversation in model format (all turns so far). */
|
|
@@ -232,8 +235,29 @@ export type TurnCompleteEvent = {
|
|
|
232
235
|
chatAccessToken: string;
|
|
233
236
|
/** The last event ID from the stream writer. Use this with `resume: true` to avoid replaying events after refresh. */
|
|
234
237
|
lastEventId?: string;
|
|
238
|
+
/** Custom data from the frontend. */
|
|
239
|
+
clientData?: TClientData;
|
|
235
240
|
};
|
|
236
|
-
export type ChatTaskOptions<TIdentifier extends string> = Omit<TaskOptions<TIdentifier, ChatTaskWirePayload, unknown>, "run"> & {
|
|
241
|
+
export type ChatTaskOptions<TIdentifier extends string, TClientDataSchema extends TaskSchema | undefined = undefined> = Omit<TaskOptions<TIdentifier, ChatTaskWirePayload, unknown>, "run"> & {
|
|
242
|
+
/**
|
|
243
|
+
* Schema for validating `clientData` from the frontend.
|
|
244
|
+
* Accepts Zod, ArkType, Valibot, or any supported schema library.
|
|
245
|
+
* When provided, `clientData` is parsed and typed in all hooks and `run`.
|
|
246
|
+
*
|
|
247
|
+
* @example
|
|
248
|
+
* ```ts
|
|
249
|
+
* import { z } from "zod";
|
|
250
|
+
*
|
|
251
|
+
* chat.task({
|
|
252
|
+
* id: "my-chat",
|
|
253
|
+
* clientDataSchema: z.object({ model: z.string().optional(), userId: z.string() }),
|
|
254
|
+
* run: async ({ messages, clientData, signal }) => {
|
|
255
|
+
* // clientData is typed as { model?: string; userId: string }
|
|
256
|
+
* },
|
|
257
|
+
* });
|
|
258
|
+
* ```
|
|
259
|
+
*/
|
|
260
|
+
clientDataSchema?: TClientDataSchema;
|
|
237
261
|
/**
|
|
238
262
|
* The run function for the chat task.
|
|
239
263
|
*
|
|
@@ -243,7 +267,7 @@ export type ChatTaskOptions<TIdentifier extends string> = Omit<TaskOptions<TIden
|
|
|
243
267
|
* **Auto-piping:** If this function returns a value with `.toUIMessageStream()`,
|
|
244
268
|
* the stream is automatically piped to the frontend.
|
|
245
269
|
*/
|
|
246
|
-
run: (payload: ChatTaskRunPayload) => Promise<unknown>;
|
|
270
|
+
run: (payload: ChatTaskRunPayload<inferSchemaOut<TClientDataSchema>>) => Promise<unknown>;
|
|
247
271
|
/**
|
|
248
272
|
* Called on the first turn (turn 0) of a new run, before the `run` function executes.
|
|
249
273
|
*
|
|
@@ -256,7 +280,7 @@ export type ChatTaskOptions<TIdentifier extends string> = Omit<TaskOptions<TIden
|
|
|
256
280
|
* }
|
|
257
281
|
* ```
|
|
258
282
|
*/
|
|
259
|
-
onChatStart?: (event: ChatStartEvent) => Promise<void> | void;
|
|
283
|
+
onChatStart?: (event: ChatStartEvent<inferSchemaOut<TClientDataSchema>>) => Promise<void> | void;
|
|
260
284
|
/**
|
|
261
285
|
* Called at the start of every turn, after message accumulation and `onChatStart` (turn 0),
|
|
262
286
|
* but before the `run` function executes.
|
|
@@ -271,7 +295,7 @@ export type ChatTaskOptions<TIdentifier extends string> = Omit<TaskOptions<TIden
|
|
|
271
295
|
* }
|
|
272
296
|
* ```
|
|
273
297
|
*/
|
|
274
|
-
onTurnStart?: (event: TurnStartEvent) => Promise<void> | void;
|
|
298
|
+
onTurnStart?: (event: TurnStartEvent<inferSchemaOut<TClientDataSchema>>) => Promise<void> | void;
|
|
275
299
|
/**
|
|
276
300
|
* Called after each turn completes (after the response is captured, before waiting
|
|
277
301
|
* for the next message). Also fires on the final turn.
|
|
@@ -285,7 +309,7 @@ export type ChatTaskOptions<TIdentifier extends string> = Omit<TaskOptions<TIden
|
|
|
285
309
|
* }
|
|
286
310
|
* ```
|
|
287
311
|
*/
|
|
288
|
-
onTurnComplete?: (event: TurnCompleteEvent) => Promise<void> | void;
|
|
312
|
+
onTurnComplete?: (event: TurnCompleteEvent<inferSchemaOut<TClientDataSchema>>) => Promise<void> | void;
|
|
289
313
|
/**
|
|
290
314
|
* Maximum number of conversational turns (message round-trips) a single run
|
|
291
315
|
* will handle before ending. After this many turns the run completes
|
|
@@ -350,7 +374,7 @@ export type ChatTaskOptions<TIdentifier extends string> = Omit<TaskOptions<TIden
|
|
|
350
374
|
* });
|
|
351
375
|
* ```
|
|
352
376
|
*/
|
|
353
|
-
declare function chatTask<TIdentifier extends string>(options: ChatTaskOptions<TIdentifier>): Task<TIdentifier, ChatTaskWirePayload, unknown>;
|
|
377
|
+
declare function chatTask<TIdentifier extends string, TClientDataSchema extends TaskSchema | undefined = undefined>(options: ChatTaskOptions<TIdentifier, TClientDataSchema>): Task<TIdentifier, ChatTaskWirePayload<UIMessage, inferSchemaIn<TClientDataSchema>>, unknown>;
|
|
354
378
|
/**
|
|
355
379
|
* Override the turn timeout for subsequent turns in the current run.
|
|
356
380
|
*
|
|
@@ -403,11 +427,81 @@ declare function setTurnTimeoutInSeconds(seconds: number): void;
|
|
|
403
427
|
* ```
|
|
404
428
|
*/
|
|
405
429
|
declare function setWarmTimeoutInSeconds(seconds: number): void;
|
|
430
|
+
/**
|
|
431
|
+
* A Proxy-backed, run-scoped data object that appears as `T` to users.
|
|
432
|
+
* Includes helper methods for initialization, dirty tracking, and serialization.
|
|
433
|
+
* Internal metadata is stored behind Symbols and invisible to
|
|
434
|
+
* `Object.keys()`, `JSON.stringify()`, and spread.
|
|
435
|
+
*/
|
|
436
|
+
export type ChatLocal<T extends Record<string, unknown>> = T & {
|
|
437
|
+
/** Initialize the local with a value. Call in `onChatStart` or `run()`. */
|
|
438
|
+
init(value: T): void;
|
|
439
|
+
/** Returns `true` if any property was set since the last check. Resets the dirty flag. */
|
|
440
|
+
hasChanged(): boolean;
|
|
441
|
+
/** Returns a plain object copy of the current value. Useful for persistence. */
|
|
442
|
+
get(): T;
|
|
443
|
+
readonly [CHAT_LOCAL_KEY]: ReturnType<typeof locals.create<T>>;
|
|
444
|
+
readonly [CHAT_LOCAL_DIRTY_KEY]: ReturnType<typeof locals.create<boolean>>;
|
|
445
|
+
};
|
|
446
|
+
/**
|
|
447
|
+
* Creates a per-run typed data object accessible from anywhere during task execution.
|
|
448
|
+
*
|
|
449
|
+
* Declare at module level, then initialize inside a lifecycle hook (e.g. `onChatStart`)
|
|
450
|
+
* using `chat.initLocal()`. Properties are accessible directly via the Proxy.
|
|
451
|
+
*
|
|
452
|
+
* Multiple locals can coexist — each gets its own isolated run-scoped storage.
|
|
453
|
+
*
|
|
454
|
+
* @example
|
|
455
|
+
* ```ts
|
|
456
|
+
* import { chat } from "@trigger.dev/sdk/ai";
|
|
457
|
+
*
|
|
458
|
+
* const userPrefs = chat.local<{ theme: string; language: string }>();
|
|
459
|
+
* const gameState = chat.local<{ score: number; streak: number }>();
|
|
460
|
+
*
|
|
461
|
+
* export const myChat = chat.task({
|
|
462
|
+
* id: "my-chat",
|
|
463
|
+
* onChatStart: async ({ clientData }) => {
|
|
464
|
+
* const prefs = await db.prefs.findUnique({ where: { userId: clientData.userId } });
|
|
465
|
+
* userPrefs.init(prefs ?? { theme: "dark", language: "en" });
|
|
466
|
+
* gameState.init({ score: 0, streak: 0 });
|
|
467
|
+
* },
|
|
468
|
+
* onTurnComplete: async ({ chatId }) => {
|
|
469
|
+
* if (gameState.hasChanged()) {
|
|
470
|
+
* await db.save({ where: { chatId }, data: gameState.get() });
|
|
471
|
+
* }
|
|
472
|
+
* },
|
|
473
|
+
* run: async ({ messages }) => {
|
|
474
|
+
* gameState.score++;
|
|
475
|
+
* return streamText({
|
|
476
|
+
* system: `User prefers ${userPrefs.theme} theme. Score: ${gameState.score}`,
|
|
477
|
+
* messages,
|
|
478
|
+
* });
|
|
479
|
+
* },
|
|
480
|
+
* });
|
|
481
|
+
* ```
|
|
482
|
+
*/
|
|
483
|
+
declare function chatLocal<T extends Record<string, unknown>>(): ChatLocal<T>;
|
|
484
|
+
/**
|
|
485
|
+
* Extracts the client data (metadata) type from a chat task.
|
|
486
|
+
* Use this to type the `metadata` option on the transport.
|
|
487
|
+
*
|
|
488
|
+
* @example
|
|
489
|
+
* ```ts
|
|
490
|
+
* import type { InferChatClientData } from "@trigger.dev/sdk/ai";
|
|
491
|
+
* import type { myChat } from "@/trigger/chat";
|
|
492
|
+
*
|
|
493
|
+
* type MyClientData = InferChatClientData<typeof myChat>;
|
|
494
|
+
* // { model?: string; userId: string }
|
|
495
|
+
* ```
|
|
496
|
+
*/
|
|
497
|
+
export type InferChatClientData<TTask extends AnyTask> = TTask extends Task<string, ChatTaskWirePayload<any, infer TMetadata>, any> ? TMetadata : unknown;
|
|
406
498
|
export declare const chat: {
|
|
407
499
|
/** Create a chat task. See {@link chatTask}. */
|
|
408
500
|
task: typeof chatTask;
|
|
409
501
|
/** Pipe a stream to the chat transport. See {@link pipeChat}. */
|
|
410
502
|
pipe: typeof pipeChat;
|
|
503
|
+
/** Create a per-run typed local. See {@link chatLocal}. */
|
|
504
|
+
local: typeof chatLocal;
|
|
411
505
|
/** Create a public access token for a chat task. See {@link createChatAccessToken}. */
|
|
412
506
|
createAccessToken: typeof createChatAccessToken;
|
|
413
507
|
/** Override the turn timeout at runtime (duration string). See {@link setTurnTimeout}. */
|
package/dist/commonjs/v3/ai.js
CHANGED
|
@@ -5,6 +5,7 @@ const v3_1 = require("@trigger.dev/core/v3");
|
|
|
5
5
|
const ai_1 = require("ai");
|
|
6
6
|
const api_1 = require("@opentelemetry/api");
|
|
7
7
|
const auth_js_1 = require("./auth.js");
|
|
8
|
+
const locals_js_1 = require("./locals.js");
|
|
8
9
|
const metadata_js_1 = require("./metadata.js");
|
|
9
10
|
const streams_js_1 = require("./streams.js");
|
|
10
11
|
const shared_js_1 = require("./shared.js");
|
|
@@ -94,12 +95,11 @@ exports.CHAT_STREAM_KEY = chat_constants_js_1.CHAT_STREAM_KEY;
|
|
|
94
95
|
const messagesInput = streams_js_1.streams.input({ id: chat_constants_js_1.CHAT_MESSAGES_STREAM_ID });
|
|
95
96
|
const stopInput = streams_js_1.streams.input({ id: chat_constants_js_1.CHAT_STOP_STREAM_ID });
|
|
96
97
|
/**
|
|
97
|
-
*
|
|
98
|
-
*
|
|
99
|
-
* and returns a streamable from their `run` function.
|
|
98
|
+
* Run-scoped pipe counter. Stored in locals so concurrent runs in the
|
|
99
|
+
* same worker don't share state.
|
|
100
100
|
* @internal
|
|
101
101
|
*/
|
|
102
|
-
|
|
102
|
+
const chatPipeCountKey = locals_js_1.locals.create("chat.pipeCount");
|
|
103
103
|
function isUIMessageStreamable(value) {
|
|
104
104
|
return (typeof value === "object" &&
|
|
105
105
|
value !== null &&
|
|
@@ -152,7 +152,7 @@ function isReadableStream(value) {
|
|
|
152
152
|
* ```
|
|
153
153
|
*/
|
|
154
154
|
async function pipeChat(source, options) {
|
|
155
|
-
|
|
155
|
+
locals_js_1.locals.set(chatPipeCountKey, (locals_js_1.locals.get(chatPipeCountKey) ?? 0) + 1);
|
|
156
156
|
const streamKey = options?.streamKey ?? exports.CHAT_STREAM_KEY;
|
|
157
157
|
let stream;
|
|
158
158
|
if (isUIMessageStreamable(source)) {
|
|
@@ -206,7 +206,10 @@ async function pipeChat(source, options) {
|
|
|
206
206
|
* ```
|
|
207
207
|
*/
|
|
208
208
|
function chatTask(options) {
|
|
209
|
-
const { run: userRun, onChatStart, onTurnStart, onTurnComplete, maxTurns = 100, turnTimeout = "1h", warmTimeoutInSeconds = 30, chatAccessTokenTTL = "1h", ...restOptions } = options;
|
|
209
|
+
const { run: userRun, clientDataSchema, onChatStart, onTurnStart, onTurnComplete, maxTurns = 100, turnTimeout = "1h", warmTimeoutInSeconds = 30, chatAccessTokenTTL = "1h", ...restOptions } = options;
|
|
210
|
+
const parseClientData = clientDataSchema
|
|
211
|
+
? (0, v3_1.getSchemaParseFn)(clientDataSchema)
|
|
212
|
+
: undefined;
|
|
210
213
|
return (0, shared_js_1.createTask)({
|
|
211
214
|
...restOptions,
|
|
212
215
|
run: async (payload, { signal: runSignal }) => {
|
|
@@ -234,6 +237,9 @@ function chatTask(options) {
|
|
|
234
237
|
for (let turn = 0; turn < maxTurns; turn++) {
|
|
235
238
|
// Extract turn-level context before entering the span
|
|
236
239
|
const { metadata: wireMetadata, messages: uiMessages, ...restWire } = currentWirePayload;
|
|
240
|
+
const clientData = (parseClientData
|
|
241
|
+
? await parseClientData(wireMetadata)
|
|
242
|
+
: wireMetadata);
|
|
237
243
|
const lastUserMessage = extractLastUserMessageText(uiMessages);
|
|
238
244
|
const turnAttributes = {
|
|
239
245
|
"turn.number": turn + 1,
|
|
@@ -259,7 +265,7 @@ function chatTask(options) {
|
|
|
259
265
|
typeof wireMetadata === "string" ? wireMetadata : JSON.stringify(wireMetadata);
|
|
260
266
|
}
|
|
261
267
|
const turnResult = await tracer_js_1.tracer.startActiveSpan(`chat turn ${turn + 1}`, async () => {
|
|
262
|
-
|
|
268
|
+
locals_js_1.locals.set(chatPipeCountKey, 0);
|
|
263
269
|
// Per-turn stop controller (reset each turn)
|
|
264
270
|
const stopController = new AbortController();
|
|
265
271
|
currentStopController = stopController;
|
|
@@ -329,7 +335,7 @@ function chatTask(options) {
|
|
|
329
335
|
await onChatStart({
|
|
330
336
|
chatId: currentWirePayload.chatId,
|
|
331
337
|
messages: accumulatedMessages,
|
|
332
|
-
clientData
|
|
338
|
+
clientData,
|
|
333
339
|
runId: currentRunId,
|
|
334
340
|
chatAccessToken: turnAccessToken,
|
|
335
341
|
});
|
|
@@ -351,6 +357,7 @@ function chatTask(options) {
|
|
|
351
357
|
turn,
|
|
352
358
|
runId: currentRunId,
|
|
353
359
|
chatAccessToken: turnAccessToken,
|
|
360
|
+
clientData,
|
|
354
361
|
});
|
|
355
362
|
}, {
|
|
356
363
|
attributes: {
|
|
@@ -365,7 +372,7 @@ function chatTask(options) {
|
|
|
365
372
|
const result = await userRun({
|
|
366
373
|
...restWire,
|
|
367
374
|
messages: accumulatedMessages,
|
|
368
|
-
clientData
|
|
375
|
+
clientData,
|
|
369
376
|
signal: combinedSignal,
|
|
370
377
|
cancelSignal,
|
|
371
378
|
stopSignal,
|
|
@@ -373,7 +380,7 @@ function chatTask(options) {
|
|
|
373
380
|
// Auto-pipe if the run function returned a StreamTextResult or similar,
|
|
374
381
|
// but only if pipeChat() wasn't already called manually during this turn.
|
|
375
382
|
// We call toUIMessageStream ourselves to attach onFinish for response capture.
|
|
376
|
-
if (
|
|
383
|
+
if ((locals_js_1.locals.get(chatPipeCountKey) ?? 0) === 0 && isUIMessageStreamable(result)) {
|
|
377
384
|
const uiStream = result.toUIMessageStream({
|
|
378
385
|
onFinish: ({ responseMessage }) => {
|
|
379
386
|
capturedResponseMessage = responseMessage;
|
|
@@ -443,6 +450,7 @@ function chatTask(options) {
|
|
|
443
450
|
runId: currentRunId,
|
|
444
451
|
chatAccessToken: turnAccessToken,
|
|
445
452
|
lastEventId: turnCompleteResult.lastEventId,
|
|
453
|
+
clientData,
|
|
446
454
|
});
|
|
447
455
|
}, {
|
|
448
456
|
attributes: {
|
|
@@ -581,11 +589,145 @@ function setTurnTimeoutInSeconds(seconds) {
|
|
|
581
589
|
function setWarmTimeoutInSeconds(seconds) {
|
|
582
590
|
metadata_js_1.metadata.set(WARM_TIMEOUT_METADATA_KEY, seconds);
|
|
583
591
|
}
|
|
592
|
+
// ---------------------------------------------------------------------------
|
|
593
|
+
// chat.local — per-run typed data with Proxy access
|
|
594
|
+
// ---------------------------------------------------------------------------
|
|
595
|
+
/** @internal Symbol for storing the locals key on the proxy target. */
|
|
596
|
+
const CHAT_LOCAL_KEY = Symbol("chatLocalKey");
|
|
597
|
+
/** @internal Symbol for storing the dirty-tracking locals key. */
|
|
598
|
+
const CHAT_LOCAL_DIRTY_KEY = Symbol("chatLocalDirtyKey");
|
|
599
|
+
/** @internal Counter for generating unique locals IDs. */
|
|
600
|
+
let chatLocalCounter = 0;
|
|
601
|
+
/**
|
|
602
|
+
* Creates a per-run typed data object accessible from anywhere during task execution.
|
|
603
|
+
*
|
|
604
|
+
* Declare at module level, then initialize inside a lifecycle hook (e.g. `onChatStart`)
|
|
605
|
+
* using `chat.initLocal()`. Properties are accessible directly via the Proxy.
|
|
606
|
+
*
|
|
607
|
+
* Multiple locals can coexist — each gets its own isolated run-scoped storage.
|
|
608
|
+
*
|
|
609
|
+
* @example
|
|
610
|
+
* ```ts
|
|
611
|
+
* import { chat } from "@trigger.dev/sdk/ai";
|
|
612
|
+
*
|
|
613
|
+
* const userPrefs = chat.local<{ theme: string; language: string }>();
|
|
614
|
+
* const gameState = chat.local<{ score: number; streak: number }>();
|
|
615
|
+
*
|
|
616
|
+
* export const myChat = chat.task({
|
|
617
|
+
* id: "my-chat",
|
|
618
|
+
* onChatStart: async ({ clientData }) => {
|
|
619
|
+
* const prefs = await db.prefs.findUnique({ where: { userId: clientData.userId } });
|
|
620
|
+
* userPrefs.init(prefs ?? { theme: "dark", language: "en" });
|
|
621
|
+
* gameState.init({ score: 0, streak: 0 });
|
|
622
|
+
* },
|
|
623
|
+
* onTurnComplete: async ({ chatId }) => {
|
|
624
|
+
* if (gameState.hasChanged()) {
|
|
625
|
+
* await db.save({ where: { chatId }, data: gameState.get() });
|
|
626
|
+
* }
|
|
627
|
+
* },
|
|
628
|
+
* run: async ({ messages }) => {
|
|
629
|
+
* gameState.score++;
|
|
630
|
+
* return streamText({
|
|
631
|
+
* system: `User prefers ${userPrefs.theme} theme. Score: ${gameState.score}`,
|
|
632
|
+
* messages,
|
|
633
|
+
* });
|
|
634
|
+
* },
|
|
635
|
+
* });
|
|
636
|
+
* ```
|
|
637
|
+
*/
|
|
638
|
+
function chatLocal() {
|
|
639
|
+
const localKey = locals_js_1.locals.create(`chat.local.${chatLocalCounter++}`);
|
|
640
|
+
const dirtyKey = locals_js_1.locals.create(`chat.local.${chatLocalCounter++}.dirty`);
|
|
641
|
+
const target = {};
|
|
642
|
+
target[CHAT_LOCAL_KEY] = localKey;
|
|
643
|
+
target[CHAT_LOCAL_DIRTY_KEY] = dirtyKey;
|
|
644
|
+
return new Proxy(target, {
|
|
645
|
+
get(_target, prop, _receiver) {
|
|
646
|
+
// Internal Symbol properties
|
|
647
|
+
if (prop === CHAT_LOCAL_KEY)
|
|
648
|
+
return _target[CHAT_LOCAL_KEY];
|
|
649
|
+
if (prop === CHAT_LOCAL_DIRTY_KEY)
|
|
650
|
+
return _target[CHAT_LOCAL_DIRTY_KEY];
|
|
651
|
+
// Instance methods
|
|
652
|
+
if (prop === "init") {
|
|
653
|
+
return (value) => {
|
|
654
|
+
locals_js_1.locals.set(localKey, value);
|
|
655
|
+
locals_js_1.locals.set(dirtyKey, false);
|
|
656
|
+
};
|
|
657
|
+
}
|
|
658
|
+
if (prop === "hasChanged") {
|
|
659
|
+
return () => {
|
|
660
|
+
const dirty = locals_js_1.locals.get(dirtyKey) ?? false;
|
|
661
|
+
locals_js_1.locals.set(dirtyKey, false);
|
|
662
|
+
return dirty;
|
|
663
|
+
};
|
|
664
|
+
}
|
|
665
|
+
if (prop === "get") {
|
|
666
|
+
return () => {
|
|
667
|
+
const current = locals_js_1.locals.get(localKey);
|
|
668
|
+
if (current === undefined) {
|
|
669
|
+
throw new Error("local.get() called before initialization. Call local.init() first.");
|
|
670
|
+
}
|
|
671
|
+
return { ...current };
|
|
672
|
+
};
|
|
673
|
+
}
|
|
674
|
+
// toJSON for serialization (JSON.stringify(local))
|
|
675
|
+
if (prop === "toJSON") {
|
|
676
|
+
return () => {
|
|
677
|
+
const current = locals_js_1.locals.get(localKey);
|
|
678
|
+
return current ? { ...current } : undefined;
|
|
679
|
+
};
|
|
680
|
+
}
|
|
681
|
+
const current = locals_js_1.locals.get(localKey);
|
|
682
|
+
if (current === undefined)
|
|
683
|
+
return undefined;
|
|
684
|
+
return current[prop];
|
|
685
|
+
},
|
|
686
|
+
set(_target, prop, value) {
|
|
687
|
+
// Don't allow setting internal Symbols
|
|
688
|
+
if (typeof prop === "symbol")
|
|
689
|
+
return false;
|
|
690
|
+
const current = locals_js_1.locals.get(localKey);
|
|
691
|
+
if (current === undefined) {
|
|
692
|
+
throw new Error("chat.local can only be modified after initialization. " +
|
|
693
|
+
"Call local.init() in onChatStart or run() first.");
|
|
694
|
+
}
|
|
695
|
+
locals_js_1.locals.set(localKey, { ...current, [prop]: value });
|
|
696
|
+
locals_js_1.locals.set(dirtyKey, true);
|
|
697
|
+
return true;
|
|
698
|
+
},
|
|
699
|
+
has(_target, prop) {
|
|
700
|
+
if (typeof prop === "symbol")
|
|
701
|
+
return prop in _target;
|
|
702
|
+
const current = locals_js_1.locals.get(localKey);
|
|
703
|
+
return current !== undefined && prop in current;
|
|
704
|
+
},
|
|
705
|
+
ownKeys() {
|
|
706
|
+
const current = locals_js_1.locals.get(localKey);
|
|
707
|
+
return current ? Reflect.ownKeys(current) : [];
|
|
708
|
+
},
|
|
709
|
+
getOwnPropertyDescriptor(_target, prop) {
|
|
710
|
+
if (typeof prop === "symbol")
|
|
711
|
+
return undefined;
|
|
712
|
+
const current = locals_js_1.locals.get(localKey);
|
|
713
|
+
if (current === undefined || !(prop in current))
|
|
714
|
+
return undefined;
|
|
715
|
+
return {
|
|
716
|
+
configurable: true,
|
|
717
|
+
enumerable: true,
|
|
718
|
+
writable: true,
|
|
719
|
+
value: current[prop],
|
|
720
|
+
};
|
|
721
|
+
},
|
|
722
|
+
});
|
|
723
|
+
}
|
|
584
724
|
exports.chat = {
|
|
585
725
|
/** Create a chat task. See {@link chatTask}. */
|
|
586
726
|
task: chatTask,
|
|
587
727
|
/** Pipe a stream to the chat transport. See {@link pipeChat}. */
|
|
588
728
|
pipe: pipeChat,
|
|
729
|
+
/** Create a per-run typed local. See {@link chatLocal}. */
|
|
730
|
+
local: chatLocal,
|
|
589
731
|
/** Create a public access token for a chat task. See {@link createChatAccessToken}. */
|
|
590
732
|
createAccessToken: createChatAccessToken,
|
|
591
733
|
/** Override the turn timeout at runtime (duration string). See {@link setTurnTimeout}. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai.js","sourceRoot":"","sources":["../../../src/v3/ai.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ai.js","sourceRoot":"","sources":["../../../src/v3/ai.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { TriggerChatTransport, type TriggerChatTransportOptions } from "./chat.js";
|
|
2
2
|
import type { AnyTask, TaskIdentifier } from "@trigger.dev/core/v3";
|
|
3
|
+
import type { InferChatClientData } from "./ai.js";
|
|
3
4
|
/**
|
|
4
5
|
* Options for `useTriggerChatTransport`, with a type-safe `task` field.
|
|
5
6
|
*
|
|
@@ -8,7 +9,7 @@ import type { AnyTask, TaskIdentifier } from "@trigger.dev/core/v3";
|
|
|
8
9
|
* useTriggerChatTransport<typeof myTask>({ task: "my-task", ... })
|
|
9
10
|
* ```
|
|
10
11
|
*/
|
|
11
|
-
export type UseTriggerChatTransportOptions<TTask extends AnyTask = AnyTask> = Omit<TriggerChatTransportOptions
|
|
12
|
+
export type UseTriggerChatTransportOptions<TTask extends AnyTask = AnyTask> = Omit<TriggerChatTransportOptions<InferChatClientData<TTask>>, "task"> & {
|
|
12
13
|
/** The task ID. Strongly typed when a task type parameter is provided. */
|
|
13
14
|
task: TaskIdentifier<TTask>;
|
|
14
15
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-react.js","sourceRoot":"","sources":["../../../src/v3/chat-react.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;
|
|
1
|
+
{"version":3,"file":"chat-react.js","sourceRoot":"","sources":["../../../src/v3/chat-react.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;AA+Eb,0DAeC;AA5FD;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,iCAA0C;AAC1C,uCAGmB;AAoBnB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;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;IAED,mEAAmE;IACnE,MAAM,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC;IACpC,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,GAAG,CAAC,OAAO,EAAE,kBAAkB,CAAC,eAAe,CAAC,CAAC;IACnD,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;IAEtB,OAAO,GAAG,CAAC,OAAO,CAAC;AACrB,CAAC"}
|
|
@@ -25,7 +25,7 @@ import type { ChatTransport, UIMessage, UIMessageChunk, ChatRequestOptions } fro
|
|
|
25
25
|
/**
|
|
26
26
|
* Options for creating a TriggerChatTransport.
|
|
27
27
|
*/
|
|
28
|
-
export type TriggerChatTransportOptions = {
|
|
28
|
+
export type TriggerChatTransportOptions<TClientData = unknown> = {
|
|
29
29
|
/**
|
|
30
30
|
* The Trigger.dev task ID to trigger for chat completions.
|
|
31
31
|
* This task should be defined using `chatTask()` from `@trigger.dev/sdk/ai`,
|
|
@@ -68,22 +68,22 @@ export type TriggerChatTransportOptions = {
|
|
|
68
68
|
*/
|
|
69
69
|
streamTimeoutSeconds?: number;
|
|
70
70
|
/**
|
|
71
|
-
* Default
|
|
71
|
+
* Default client data included in every request payload.
|
|
72
72
|
* Merged with per-call `metadata` from `sendMessage()` — per-call values
|
|
73
73
|
* take precedence over transport-level defaults.
|
|
74
74
|
*
|
|
75
|
-
*
|
|
75
|
+
* When the task uses `clientDataSchema`, this is typed to match the schema.
|
|
76
76
|
*
|
|
77
77
|
* @example
|
|
78
78
|
* ```ts
|
|
79
79
|
* new TriggerChatTransport({
|
|
80
80
|
* task: "my-chat",
|
|
81
81
|
* accessToken,
|
|
82
|
-
*
|
|
82
|
+
* clientData: { userId: currentUser.id },
|
|
83
83
|
* });
|
|
84
84
|
* ```
|
|
85
85
|
*/
|
|
86
|
-
|
|
86
|
+
clientData?: TClientData extends Record<string, unknown> ? TClientData : Record<string, unknown>;
|
|
87
87
|
/**
|
|
88
88
|
* Restore active chat sessions from external storage (e.g. localStorage).
|
|
89
89
|
*
|
|
@@ -138,6 +138,36 @@ export type TriggerChatTransportOptions = {
|
|
|
138
138
|
publicAccessToken: string;
|
|
139
139
|
lastEventId?: string;
|
|
140
140
|
} | null) => void;
|
|
141
|
+
/**
|
|
142
|
+
* Options forwarded to the Trigger.dev API when starting a new run.
|
|
143
|
+
* Only applies to the first message — subsequent messages reuse the same run.
|
|
144
|
+
*
|
|
145
|
+
* A `chat:{chatId}` tag is automatically added to every run.
|
|
146
|
+
*
|
|
147
|
+
* @example
|
|
148
|
+
* ```ts
|
|
149
|
+
* new TriggerChatTransport({
|
|
150
|
+
* task: "my-chat",
|
|
151
|
+
* accessToken,
|
|
152
|
+
* triggerOptions: {
|
|
153
|
+
* tags: ["user:123"],
|
|
154
|
+
* queue: "chat-queue",
|
|
155
|
+
* },
|
|
156
|
+
* });
|
|
157
|
+
* ```
|
|
158
|
+
*/
|
|
159
|
+
triggerOptions?: {
|
|
160
|
+
/** Additional tags for the run. A `chat:{chatId}` tag is always added automatically. */
|
|
161
|
+
tags?: string[];
|
|
162
|
+
/** Queue name for the run. */
|
|
163
|
+
queue?: string;
|
|
164
|
+
/** Maximum retry attempts. */
|
|
165
|
+
maxAttempts?: number;
|
|
166
|
+
/** Machine preset for the run. */
|
|
167
|
+
machine?: "micro" | "small-1x" | "small-2x" | "medium-1x" | "medium-2x" | "large-1x" | "large-2x";
|
|
168
|
+
/** Priority (lower = higher priority). */
|
|
169
|
+
priority?: number;
|
|
170
|
+
};
|
|
141
171
|
};
|
|
142
172
|
/**
|
|
143
173
|
* A custom AI SDK `ChatTransport` that runs chat completions as durable Trigger.dev tasks.
|
|
@@ -175,9 +205,10 @@ export declare class TriggerChatTransport implements ChatTransport<UIMessage> {
|
|
|
175
205
|
private readonly extraHeaders;
|
|
176
206
|
private readonly streamTimeoutSeconds;
|
|
177
207
|
private readonly defaultMetadata;
|
|
208
|
+
private readonly triggerOptions;
|
|
178
209
|
private _onSessionChange;
|
|
179
210
|
private sessions;
|
|
180
|
-
private
|
|
211
|
+
private activeStreams;
|
|
181
212
|
constructor(options: TriggerChatTransportOptions);
|
|
182
213
|
sendMessages: (options: {
|
|
183
214
|
trigger: "submit-message" | "regenerate-message";
|