@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.
@@ -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?: unknown;
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: unknown;
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}. */
@@ -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
- * Tracks how many times `pipeChat` has been called in the current `chatTask` run.
98
- * Used to prevent double-piping when a user both calls `pipeChat()` manually
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
- let _chatPipeCount = 0;
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
- _chatPipeCount++;
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
- _chatPipeCount = 0;
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: wireMetadata,
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: wireMetadata,
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 (_chatPipeCount === 0 && isUIMessageStreamable(result)) {
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":";;;AAAA,6CAe8B;AAG9B,2BAA6J;AAC7J,4CAA4D;AAC5D,uCAAiC;AACjC,2CAAqC;AACrC,+CAAyC;AACzC,6CAAuC;AACvC,2CAAyC;AACzC,2CAAqC;AACrC,2DAI6B;AAiJpB,wGAnJP,2CAAuB,OAmJO;AAAE,oGAlJhC,uCAAmB,OAkJgC;AA/IrD,MAAM,YAAY,GAAG,sBAAsB,CAAC;AAgC5C,SAAS,YAAY,CAMnB,IAA4F,EAC5F,OAA8B;IAI9B,IAAI,CAAC,QAAQ,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QACrF,MAAM,IAAI,KAAK,CACb,8IAA8I,CAC/I,CAAC;IACJ,CAAC;IAED,MAAM,cAAc,GAAG,IAAA,gBAAW,EAAC;QACjC,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,WAAW,EAAE,iCAAiC,CAAC,IAAI,CAAC;QACpD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YAChC,MAAM,iBAAiB,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAEpF,OAAO,MAAM,IAAI;iBACd,cAAc,CAAC,KAAmC,EAAE;gBACnD,QAAQ,EAAE;oBACR,CAAC,YAAY,CAAC,EAAE,iBAAiB;iBAClC;aACF,CAAC;iBACD,MAAM,EAAE,CAAC;QACd,CAAC;QACD,GAAG,OAAO;KACX,CAAC,CAAC;IAEH,OAAO,cAEkB,CAAC;AAC5B,CAAC;AAED,SAAS,0BAA0B;IACjC,MAAM,IAAI,GAAG,sBAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACxC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,IAAgC,CAAC;AAC1C,CAAC;AAED,SAAS,iCAAiC,CACxC,IAA6C;IAE7C,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;QACrB,6EAA6E;QAC7E,IAAI,cAAc,IAAI,IAAI,CAAC,MAAM,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,KAAK,UAAU,EAAE,CAAC;YACpF,OAAO,IAAA,eAAU,EAAE,IAAI,CAAC,MAAc,CAAC,YAAY,EAAE,CAAC,CAAC;QACzD,CAAC;QAED,wEAAwE;QACxE,IAAI,IAAA,qBAAgB,EAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAClC,OAAO,IAAA,cAAS,EAAC,IAAI,CAAC,MAAa,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAED,IAAI,YAAY,IAAI,IAAI,EAAE,CAAC;QACzB,OAAO,IAAA,eAAU,EAAC,IAAI,CAAC,UAAyB,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,IAAI,KAAK,CACb,qFAAqF,CACtF,CAAC;AACJ,CAAC;AAEY,QAAA,EAAE,GAAG;IAChB,IAAI,EAAE,YAAY;IAClB,kBAAkB,EAAE,0BAA0B;CAC/C,CAAC;AAEF;;;;;;;;;;;;;;;;GAgBG;AACH,SAAS,qBAAqB,CAC5B,MAA6B;IAE7B,OAAO,cAAI,CAAC,wBAAwB,CAAC,MAAgB,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC;AACpF,CAAC;AAED,8EAA8E;AAC9E,wCAAwC;AACxC,8EAA8E;AAE9E;;;;GAIG;AACU,QAAA,eAAe,GAAG,mCAAgB,CAAC;AAmEhD,qDAAqD;AACrD,MAAM,aAAa,GAAG,oBAAO,CAAC,KAAK,CAAsB,EAAE,EAAE,EAAE,2CAAuB,EAAE,CAAC,CAAC;AAC1F,MAAM,SAAS,GAAG,oBAAO,CAAC,KAAK,CAAmC,EAAE,EAAE,EAAE,uCAAmB,EAAE,CAAC,CAAC;AAE/F;;;;GAIG;AACH,MAAM,gBAAgB,GAAG,kBAAM,CAAC,MAAM,CAAS,gBAAgB,CAAC,CAAC;AAgCjE,SAAS,qBAAqB,CAAC,KAAc;IAC3C,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,mBAAmB,IAAI,KAAK;QAC5B,OAAQ,KAAa,CAAC,iBAAiB,KAAK,UAAU,CACvD,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,KAAc;IACrC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,MAAM,CAAC,aAAa,IAAI,KAAK,CAAC;AACtF,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc;IACtC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,OAAQ,KAAa,CAAC,SAAS,KAAK,UAAU,CAAC;AACvG,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,KAAK,UAAU,QAAQ,CACrB,MAA8E,EAC9E,OAAyB;IAEzB,kBAAM,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,kBAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACtE,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,uBAAe,CAAC;IAExD,IAAI,MAAwD,CAAC;IAE7D,IAAI,qBAAqB,CAAC,MAAM,CAAC,EAAE,CAAC;QAClC,MAAM,GAAG,MAAM,CAAC,iBAAiB,EAAE,CAAC;IACtC,CAAC;SAAM,IAAI,eAAe,CAAC,MAAM,CAAC,IAAI,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC;QAC/D,MAAM,GAAG,MAAM,CAAC;IAClB,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CACb,2EAA2E;YACzE,uCAAuC,CAC1C,CAAC;IACJ,CAAC;IAED,MAAM,WAAW,GAAsB,EAAE,CAAC;IAC1C,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;QACpB,WAAW,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IACtC,CAAC;IACD,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;QACpB,WAAW,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IACtC,CAAC;IACD,IAAI,OAAO,EAAE,QAAQ,EAAE,CAAC;QACtB,WAAW,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAC1C,CAAC;IAED,MAAM,EAAE,iBAAiB,EAAE,GAAG,oBAAO,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IAC3E,MAAM,iBAAiB,EAAE,CAAC;AAC5B,CAAC;AAkND;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,SAAS,QAAQ,CAIf,OAAwD;IAExD,MAAM,EACJ,GAAG,EAAE,OAAO,EACZ,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,cAAc,EACd,QAAQ,GAAG,GAAG,EACd,WAAW,GAAG,IAAI,EAClB,oBAAoB,GAAG,EAAE,EACzB,kBAAkB,GAAG,IAAI,EACzB,GAAG,WAAW,EACf,GAAG,OAAO,CAAC;IAEZ,MAAM,eAAe,GAAG,gBAAgB;QACtC,CAAC,CAAC,IAAA,qBAAgB,EAAC,gBAAgB,CAAC;QACpC,CAAC,CAAC,SAAS,CAAC;IAEd,OAAO,IAAA,sBAAU,EAAyF;QACxG,GAAG,WAAW;QACd,GAAG,EAAE,KAAK,EAAE,OAA4B,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE;YACjE,yEAAyE;YACzE,MAAM,UAAU,GAAG,WAAK,CAAC,aAAa,EAAE,CAAC;YACzC,IAAI,UAAU,EAAE,CAAC;gBACf,UAAU,CAAC,YAAY,CAAC,wBAAwB,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;YACpE,CAAC;YAED,IAAI,kBAAkB,GAAG,OAAO,CAAC;YAEjC,uEAAuE;YACvE,wEAAwE;YACxE,uDAAuD;YACvD,IAAI,mBAAmB,GAAmB,EAAE,CAAC;YAE7C,yEAAyE;YACzE,oEAAoE;YACpE,IAAI,qBAAqB,GAAgB,EAAE,CAAC;YAE5C,iEAAiE;YACjE,yEAAyE;YACzE,IAAI,qBAAkD,CAAC;YAEvD,sDAAsD;YACtD,MAAM,OAAO,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE;gBACpC,qBAAqB,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,IAAI,SAAS,CAAC,CAAC;YAC3D,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC;gBACH,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC;oBAC3C,sDAAsD;oBACtD,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,QAAQ,EAAE,GAAG,kBAAkB,CAAC;oBACzF,MAAM,UAAU,GAAG,CAAC,eAAe;wBACjC,CAAC,CAAC,MAAM,eAAe,CAAC,YAAY,CAAC;wBACrC,CAAC,CAAC,YAAY,CAAsC,CAAC;oBACvD,MAAM,eAAe,GAAG,0BAA0B,CAAC,UAAU,CAAC,CAAC;oBAE/D,MAAM,cAAc,GAAe;wBACjC,aAAa,EAAE,IAAI,GAAG,CAAC;wBACvB,wBAAwB,EAAE,kBAAkB,CAAC,MAAM;wBACnD,uBAAuB,EAAE,MAAM;wBAC/B,cAAc,EAAE,kBAAkB,CAAC,OAAO;wBAC1C,CAAC,+BAA0B,CAAC,UAAU,CAAC,EAAE,wBAAwB;wBACjE,CAAC,+BAA0B,CAAC,WAAW,CAAC,EAAE,WAAW;qBACtD,CAAC;oBAEF,IAAI,eAAe,EAAE,CAAC;wBACpB,cAAc,CAAC,mBAAmB,CAAC,GAAG,eAAe,CAAC;wBAEtD,+DAA+D;wBAC/D,MAAM,OAAO,GACX,eAAe,CAAC,MAAM,GAAG,EAAE;4BACzB,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK;4BACtC,CAAC,CAAC,eAAe,CAAC;wBACtB,MAAM,CAAC,MAAM,CACX,cAAc,EACd,IAAA,wBAAmB,EAAC;4BAClB,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;4BAC7C,KAAK,EAAE,UAAU;yBAClB,CAAC,CACH,CAAC;oBACJ,CAAC;oBAED,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;wBAC/B,cAAc,CAAC,kBAAkB,CAAC;4BAChC,OAAO,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;oBACnF,CAAC;oBAED,MAAM,UAAU,GAAG,MAAM,kBAAM,CAAC,eAAe,CAC7C,aAAa,IAAI,GAAG,CAAC,EAAE,EACvB,KAAK,IAAI,EAAE;wBACT,kBAAM,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC;wBAEhC,6CAA6C;wBAC7C,MAAM,cAAc,GAAG,IAAI,eAAe,EAAE,CAAC;wBAC7C,qBAAqB,GAAG,cAAc,CAAC;wBAEvC,4CAA4C;wBAC5C,MAAM,UAAU,GAAG,cAAc,CAAC,MAAM,CAAC;wBACzC,MAAM,YAAY,GAAG,SAAS,CAAC;wBAC/B,MAAM,cAAc,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;wBAE3E,+CAA+C;wBAC/C,MAAM,eAAe,GAA0B,EAAE,CAAC;wBAClD,MAAM,MAAM,GAAG,aAAa,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE;4BACtC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBAC5B,CAAC,CAAC,CAAC;wBAEH,gFAAgF;wBAChF,qEAAqE;wBACrE,kEAAkE;wBAClE,MAAM,qBAAqB,GAAG,MAAM,IAAA,2BAAsB,EAAC,UAAU,CAAC,CAAC;wBAEvE,sEAAsE;wBACtE,MAAM,oBAAoB,GAAmB,EAAE,CAAC;wBAChD,MAAM,iBAAiB,GAAgB,EAAE,CAAC;wBAE1C,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;4BACf,mBAAmB,GAAG,qBAAqB,CAAC;4BAC5C,qBAAqB,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC;4BACxC,mEAAmE;4BACnE,iEAAiE;4BACjE,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gCAC1B,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,CAAC;gCAC3D,MAAM,SAAS,GAAG,qBAAqB,CAAC,qBAAqB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gCAC1E,IAAI,SAAS;oCAAE,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;4BACtD,CAAC;wBACH,CAAC;6BAAM,IAAI,kBAAkB,CAAC,OAAO,KAAK,oBAAoB,EAAE,CAAC;4BAC/D,qEAAqE;4BACrE,2CAA2C;4BAC3C,mBAAmB,GAAG,qBAAqB,CAAC;4BAC5C,qBAAqB,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC;4BACxC,wEAAwE;wBAC1E,CAAC;6BAAM,CAAC;4BACN,6EAA6E;4BAC7E,mBAAmB,CAAC,IAAI,CAAC,GAAG,qBAAqB,CAAC,CAAC;4BACnD,qBAAqB,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;4BAC1C,oBAAoB,CAAC,IAAI,CAAC,GAAG,qBAAqB,CAAC,CAAC;4BACpD,iBAAiB,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;wBACxC,CAAC;wBAED,8DAA8D;wBAC9D,yEAAyE;wBACzE,MAAM,YAAY,GAAG,gBAAW,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC;wBACnD,IAAI,eAAe,GAAG,EAAE,CAAC;wBACzB,IAAI,YAAY,EAAE,CAAC;4BACjB,IAAI,CAAC;gCACH,eAAe,GAAG,MAAM,cAAI,CAAC,iBAAiB,CAAC;oCAC7C,MAAM,EAAE;wCACN,IAAI,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE;wCAC5B,KAAK,EAAE,EAAE,YAAY,EAAE,YAAY,EAAE;qCACtC;oCACD,cAAc,EAAE,kBAAkB;iCACnC,CAAC,CAAC;4BACL,CAAC;4BAAC,MAAM,CAAC;gCACP,wBAAwB;4BAC1B,CAAC;wBACH,CAAC;wBAED,qCAAqC;wBACrC,IAAI,IAAI,KAAK,CAAC,IAAI,WAAW,EAAE,CAAC;4BAC9B,MAAM,kBAAM,CAAC,eAAe,CAC1B,eAAe,EACf,KAAK,IAAI,EAAE;gCACT,MAAM,WAAW,CAAC;oCAChB,MAAM,EAAE,kBAAkB,CAAC,MAAM;oCACjC,QAAQ,EAAE,mBAAmB;oCAC7B,UAAU;oCACV,KAAK,EAAE,YAAY;oCACnB,eAAe,EAAE,eAAe;iCACjC,CAAC,CAAC;4BACL,CAAC,EACD;gCACE,UAAU,EAAE;oCACV,CAAC,+BAA0B,CAAC,UAAU,CAAC,EAAE,mBAAmB;oCAC5D,CAAC,+BAA0B,CAAC,SAAS,CAAC,EAAE,IAAI;iCAC7C;6BACF,CACF,CAAC;wBACJ,CAAC;wBAED,+DAA+D;wBAC/D,+DAA+D;wBAC/D,IAAI,WAAW,EAAE,CAAC;4BAChB,MAAM,kBAAM,CAAC,eAAe,CAC1B,eAAe,EACf,KAAK,IAAI,EAAE;gCACT,MAAM,WAAW,CAAC;oCAChB,MAAM,EAAE,kBAAkB,CAAC,MAAM;oCACjC,QAAQ,EAAE,mBAAmB;oCAC7B,UAAU,EAAE,qBAAqB;oCACjC,IAAI;oCACJ,KAAK,EAAE,YAAY;oCACnB,eAAe,EAAE,eAAe;oCAChC,UAAU;iCACX,CAAC,CAAC;4BACL,CAAC,EACD;gCACE,UAAU,EAAE;oCACV,CAAC,+BAA0B,CAAC,UAAU,CAAC,EAAE,mBAAmB;oCAC5D,CAAC,+BAA0B,CAAC,SAAS,CAAC,EAAE,IAAI;iCAC7C;6BACF,CACF,CAAC;wBACJ,CAAC;wBAED,sEAAsE;wBACtE,IAAI,uBAA8C,CAAC;wBAEnD,IAAI,CAAC;4BACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC;gCAC3B,GAAG,QAAQ;gCACX,QAAQ,EAAE,mBAAmB;gCAC7B,UAAU;gCACV,MAAM,EAAE,cAAc;gCACtB,YAAY;gCACZ,UAAU;6BACJ,CAAC,CAAC;4BAEV,wEAAwE;4BACxE,0EAA0E;4BAC1E,+EAA+E;4BAC/E,IAAI,CAAC,kBAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,qBAAqB,CAAC,MAAM,CAAC,EAAE,CAAC;gCAC/E,MAAM,QAAQ,GAAG,MAAM,CAAC,iBAAiB,CAAC;oCACxC,QAAQ,EAAE,CAAC,EAAE,eAAe,EAAkC,EAAE,EAAE;wCAChE,uBAAuB,GAAG,eAAe,CAAC;oCAC5C,CAAC;iCACF,CAAC,CAAC;gCACH,MAAM,QAAQ,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAC,CAAC;4BACpF,CAAC;wBACH,CAAC;wBAAC,OAAO,KAAK,EAAE,CAAC;4BACf,+CAA+C;4BAC/C,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gCAC1D,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;oCACtB,OAAO,MAAM,CAAC,CAAC,+BAA+B;gCAChD,CAAC;gCACD,sDAAsD;4BACxD,CAAC;iCAAM,CAAC;gCACN,MAAM,KAAK,CAAC;4BACd,CAAC;wBACH,CAAC;gCAAS,CAAC;4BACT,MAAM,CAAC,GAAG,EAAE,CAAC;wBACf,CAAC;wBAED,4EAA4E;wBAC5E,uEAAuE;wBACvE,kDAAkD;wBAClD,IAAI,uBAAuB,EAAE,CAAC;4BAC5B,+DAA+D;4BAC/D,gEAAgE;4BAChE,uCAAuC;4BACvC,IAAI,CAAC,uBAAuB,CAAC,EAAE,EAAE,CAAC;gCAChC,uBAAuB,GAAG,EAAE,GAAG,uBAAuB,EAAE,EAAE,EAAE,IAAA,eAAiB,GAAE,EAAE,CAAC;4BACpF,CAAC;4BACD,qBAAqB,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;4BACpD,iBAAiB,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;4BAChD,IAAI,CAAC;gCACH,MAAM,qBAAqB,GAAG,MAAM,IAAA,2BAAsB,EAAC;oCACzD,qBAAqB,CAAC,uBAAuB,CAAC;iCAC/C,CAAC,CAAC;gCACH,mBAAmB,CAAC,IAAI,CAAC,GAAG,qBAAqB,CAAC,CAAC;gCACnD,oBAAoB,CAAC,IAAI,CAAC,GAAG,qBAAqB,CAAC,CAAC;4BACtD,CAAC;4BAAC,MAAM,CAAC;gCACP,sDAAsD;4BACxD,CAAC;wBACH,CAAC;wBACD,uEAAuE;wBACvE,yEAAyE;wBACzE,iEAAiE;wBACjE,yDAAyD;wBAEzD,IAAI,SAAS,CAAC,OAAO;4BAAE,OAAO,MAAM,CAAC;wBAErC,mEAAmE;wBACnE,qEAAqE;wBACrE,MAAM,kBAAkB,GAAG,MAAM,sBAAsB,CACrD,kBAAkB,CAAC,MAAM,EACzB,eAAe,CAChB,CAAC;wBAEF,6CAA6C;wBAC7C,IAAI,cAAc,EAAE,CAAC;4BACnB,MAAM,kBAAM,CAAC,eAAe,CAC1B,kBAAkB,EAClB,KAAK,IAAI,EAAE;gCACT,MAAM,cAAc,CAAC;oCACnB,MAAM,EAAE,kBAAkB,CAAC,MAAM;oCACjC,QAAQ,EAAE,mBAAmB;oCAC7B,UAAU,EAAE,qBAAqB;oCACjC,WAAW,EAAE,oBAAoB;oCACjC,aAAa,EAAE,iBAAiB;oCAChC,eAAe,EAAE,uBAAuB;oCACxC,IAAI;oCACJ,KAAK,EAAE,YAAY;oCACnB,eAAe,EAAE,eAAe;oCAChC,WAAW,EAAE,kBAAkB,CAAC,WAAW;oCAC3C,UAAU;iCACX,CAAC,CAAC;4BACL,CAAC,EACD;gCACE,UAAU,EAAE;oCACV,CAAC,+BAA0B,CAAC,UAAU,CAAC,EAAE,sBAAsB;oCAC/D,CAAC,+BAA0B,CAAC,SAAS,CAAC,EAAE,IAAI;iCAC7C;6BACF,CACF,CAAC;wBACJ,CAAC;wBAED,sEAAsE;wBACtE,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BAC/B,kBAAkB,GAAG,eAAe,CAAC,CAAC,CAAE,CAAC;4BACzC,OAAO,UAAU,CAAC;wBACpB,CAAC;wBAED,qEAAqE;wBACrE,2DAA2D;wBAC3D,MAAM,oBAAoB,GACvB,sBAAQ,CAAC,GAAG,CAAC,yBAAyB,CAAwB,IAAI,oBAAoB,CAAC;wBAE1F,IAAI,oBAAoB,GAAG,CAAC,EAAE,CAAC;4BAC7B,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC;gCACpC,SAAS,EAAE,oBAAoB,GAAG,IAAI;gCACtC,QAAQ,EAAE,gBAAgB;6BAC3B,CAAC,CAAC;4BAEH,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;gCACZ,iDAAiD;gCACjD,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC;gCACjC,OAAO,UAAU,CAAC;4BACpB,CAAC;wBACH,CAAC;wBAED,2EAA2E;wBAC3E,MAAM,oBAAoB,GACvB,sBAAQ,CAAC,GAAG,CAAC,yBAAyB,CAAwB,IAAI,WAAW,CAAC;wBAEjF,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC;4BACpC,OAAO,EAAE,oBAAoB;4BAC7B,QAAQ,EAAE,qBAAqB;yBAChC,CAAC,CAAC;wBAEH,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;4BACb,gEAAgE;4BAChE,OAAO,MAAM,CAAC;wBAChB,CAAC;wBAED,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC;wBACjC,OAAO,UAAU,CAAC;oBACpB,CAAC,EACD;wBACE,UAAU,EAAE,cAAc;qBAC3B,CACF,CAAC;oBAEF,IAAI,UAAU,KAAK,MAAM;wBAAE,OAAO;oBAClC,6CAA6C;gBAC/C,CAAC;YACH,CAAC;oBAAS,CAAC;gBACT,OAAO,CAAC,GAAG,EAAE,CAAC;YAChB,CAAC;QACH,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,8EAA8E;AAC9E,gCAAgC;AAChC,8EAA8E;AAE9E,MAAM,yBAAyB,GAAG,kBAAkB,CAAC;AACrD,MAAM,yBAAyB,GAAG,kBAAkB,CAAC;AAErD;;;;;;;;;;;;;;;;;;GAkBG;AACH,SAAS,cAAc,CAAC,QAAgB;IACtC,sBAAQ,CAAC,GAAG,CAAC,yBAAyB,EAAE,QAAQ,CAAC,CAAC;AACpD,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAS,uBAAuB,CAAC,OAAe;IAC9C,sBAAQ,CAAC,GAAG,CAAC,yBAAyB,EAAE,GAAG,OAAO,GAAG,CAAC,CAAC;AACzD,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,SAAS,uBAAuB,CAAC,OAAe;IAC9C,sBAAQ,CAAC,GAAG,CAAC,yBAAyB,EAAE,OAAO,CAAC,CAAC;AACnD,CAAC;AAED,8EAA8E;AAC9E,oDAAoD;AACpD,8EAA8E;AAE9E,uEAAuE;AACvE,MAAM,cAAc,GAAkB,MAAM,CAAC,cAAc,CAAC,CAAC;AAC7D,kEAAkE;AAClE,MAAM,oBAAoB,GAAkB,MAAM,CAAC,mBAAmB,CAAC,CAAC;AACxE,0DAA0D;AAC1D,IAAI,gBAAgB,GAAG,CAAC,CAAC;AAmBzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,SAAS,SAAS;IAChB,MAAM,QAAQ,GAAG,kBAAM,CAAC,MAAM,CAAI,cAAc,gBAAgB,EAAE,EAAE,CAAC,CAAC;IACtE,MAAM,QAAQ,GAAG,kBAAM,CAAC,MAAM,CAAU,cAAc,gBAAgB,EAAE,QAAQ,CAAC,CAAC;IAElF,MAAM,MAAM,GAAG,EAAS,CAAC;IACzB,MAAM,CAAC,cAAc,CAAC,GAAG,QAAQ,CAAC;IAClC,MAAM,CAAC,oBAAoB,CAAC,GAAG,QAAQ,CAAC;IAExC,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;QACvB,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS;YAC1B,6BAA6B;YAC7B,IAAI,IAAI,KAAK,cAAc;gBAAE,OAAO,OAAO,CAAC,cAAc,CAAC,CAAC;YAC5D,IAAI,IAAI,KAAK,oBAAoB;gBAAE,OAAO,OAAO,CAAC,oBAAoB,CAAC,CAAC;YAExE,mBAAmB;YACnB,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;gBACpB,OAAO,CAAC,KAAQ,EAAE,EAAE;oBAClB,kBAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;oBAC5B,kBAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;gBAC9B,CAAC,CAAC;YACJ,CAAC;YACD,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;gBAC1B,OAAO,GAAG,EAAE;oBACV,MAAM,KAAK,GAAG,kBAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC;oBAC5C,kBAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;oBAC5B,OAAO,KAAK,CAAC;gBACf,CAAC,CAAC;YACJ,CAAC;YACD,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;gBACnB,OAAO,GAAG,EAAE;oBACV,MAAM,OAAO,GAAG,kBAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;oBACrC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;wBAC1B,MAAM,IAAI,KAAK,CACb,oEAAoE,CACrE,CAAC;oBACJ,CAAC;oBACD,OAAO,EAAE,GAAG,OAAO,EAAE,CAAC;gBACxB,CAAC,CAAC;YACJ,CAAC;YACD,mDAAmD;YACnD,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACtB,OAAO,GAAG,EAAE;oBACV,MAAM,OAAO,GAAG,kBAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;oBACrC,OAAO,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC9C,CAAC,CAAC;YACJ,CAAC;YAED,MAAM,OAAO,GAAG,kBAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACrC,IAAI,OAAO,KAAK,SAAS;gBAAE,OAAO,SAAS,CAAC;YAC5C,OAAQ,OAAe,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;QAED,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK;YACtB,uCAAuC;YACvC,IAAI,OAAO,IAAI,KAAK,QAAQ;gBAAE,OAAO,KAAK,CAAC;YAE3C,MAAM,OAAO,GAAG,kBAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACrC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,MAAM,IAAI,KAAK,CACb,wDAAwD;oBACtD,kDAAkD,CACrD,CAAC;YACJ,CAAC;YACD,kBAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,GAAG,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;YACpD,kBAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAC3B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,GAAG,CAAC,OAAO,EAAE,IAAI;YACf,IAAI,OAAO,IAAI,KAAK,QAAQ;gBAAE,OAAO,IAAI,IAAI,OAAO,CAAC;YACrD,MAAM,OAAO,GAAG,kBAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACrC,OAAO,OAAO,KAAK,SAAS,IAAI,IAAI,IAAI,OAAO,CAAC;QAClD,CAAC;QAED,OAAO;YACL,MAAM,OAAO,GAAG,kBAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACrC,OAAO,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,CAAC;QAED,wBAAwB,CAAC,OAAO,EAAE,IAAI;YACpC,IAAI,OAAO,IAAI,KAAK,QAAQ;gBAAE,OAAO,SAAS,CAAC;YAC/C,MAAM,OAAO,GAAG,kBAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACrC,IAAI,OAAO,KAAK,SAAS,IAAI,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC;gBAAE,OAAO,SAAS,CAAC;YAClE,OAAO;gBACL,YAAY,EAAE,IAAI;gBAClB,UAAU,EAAE,IAAI;gBAChB,QAAQ,EAAE,IAAI;gBACd,KAAK,EAAG,OAAe,CAAC,IAAI,CAAC;aAC9B,CAAC;QACJ,CAAC;KACF,CAAiB,CAAC;AACrB,CAAC;AAwBY,QAAA,IAAI,GAAG;IAClB,gDAAgD;IAChD,IAAI,EAAE,QAAQ;IACd,iEAAiE;IACjE,IAAI,EAAE,QAAQ;IACd,2DAA2D;IAC3D,KAAK,EAAE,SAAS;IAChB,uFAAuF;IACvF,iBAAiB,EAAE,qBAAqB;IACxC,0FAA0F;IAC1F,cAAc;IACd,2FAA2F;IAC3F,uBAAuB;IACvB,iFAAiF;IACjF,uBAAuB;CACxB,CAAC;AAEF;;;;GAIG;AACH,KAAK,UAAU,sBAAsB,CAAC,MAAe,EAAE,iBAA0B;IAC/E,MAAM,EAAE,iBAAiB,EAAE,GAAG,oBAAO,CAAC,MAAM,CAAC,uBAAe,EAAE;QAC5D,QAAQ,EAAE,eAAe;QACzB,SAAS,EAAE,IAAI;QACf,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;YACrB,KAAK,CAAC;gBACJ,IAAI,EAAE,yBAAyB;gBAC/B,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACpD,CAAC,CAAC;QACL,CAAC;KACF,CAAC,CAAC;IACH,OAAO,MAAM,iBAAiB,EAAE,CAAC;AACnC,CAAC;AAED;;;;GAIG;AACH,SAAS,0BAA0B,CAAC,QAAqB;IACvD,KAAK,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9C,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAE,CAAC;QACzB,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM;YAAE,SAAS;QAElC,6BAA6B;QAC7B,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;YACd,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK;iBACxB,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC;iBAC/C,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAc,CAAC,CAAC;YACrC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzB,OAAO,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;QAED,MAAM;IACR,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,qBAAqB,CAAC,OAAkB;IAC/C,IAAI,CAAC,OAAO,CAAC,KAAK;QAAE,OAAO,OAAO,CAAC;IACnC,OAAO;QACL,GAAG,OAAO;QACV,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE;YACrC,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC;YAC7C,IAAI,CAAC,MAAM,EAAE,MAAM;gBAAE,OAAO,IAAI,CAAC;YAEjC,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,MAAM,CAAC;YACzC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,aAAa,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC;YAC9D,OAAO;gBACL,GAAG,IAAI;gBACP,gBAAgB,EAAE;oBAChB,GAAG,aAAa;oBAChB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACtE;aACF,CAAC;QACJ,CAAC,CAAC;KACH,CAAC;AACJ,CAAC"}
@@ -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, "task"> & {
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;;;AA8Eb,0DAeC;AA3FD;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,iCAA0C;AAC1C,uCAGmB;AAmBnB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}
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 metadata included in every request payload.
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
- * Useful for data that should accompany every message, like a user ID.
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
- * metadata: { userId: currentUser.id },
82
+ * clientData: { userId: currentUser.id },
83
83
  * });
84
84
  * ```
85
85
  */
86
- metadata?: Record<string, unknown>;
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 activeReconnects;
211
+ private activeStreams;
181
212
  constructor(options: TriggerChatTransportOptions);
182
213
  sendMessages: (options: {
183
214
  trigger: "submit-message" | "regenerate-message";