@trigger.dev/sdk 4.4.5 → 4.5.0-rc.0

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 (161) hide show
  1. package/dist/commonjs/v3/agentSkillsRuntime.d.ts +28 -0
  2. package/dist/commonjs/v3/agentSkillsRuntime.js +163 -0
  3. package/dist/commonjs/v3/agentSkillsRuntime.js.map +1 -0
  4. package/dist/commonjs/v3/ai-shared.d.ts +173 -0
  5. package/dist/commonjs/v3/ai-shared.js +25 -0
  6. package/dist/commonjs/v3/ai-shared.js.map +1 -0
  7. package/dist/commonjs/v3/ai.d.ts +2823 -5
  8. package/dist/commonjs/v3/ai.js +6197 -13
  9. package/dist/commonjs/v3/ai.js.map +1 -1
  10. package/dist/commonjs/v3/auth.d.ts +9 -0
  11. package/dist/commonjs/v3/auth.js.map +1 -1
  12. package/dist/commonjs/v3/chat-client.d.ts +301 -0
  13. package/dist/commonjs/v3/chat-client.js +624 -0
  14. package/dist/commonjs/v3/chat-client.js.map +1 -0
  15. package/dist/commonjs/v3/chat-react.d.ts +155 -0
  16. package/dist/commonjs/v3/chat-react.js +330 -0
  17. package/dist/commonjs/v3/chat-react.js.map +1 -0
  18. package/dist/commonjs/v3/chat-server.d.ts +206 -0
  19. package/dist/commonjs/v3/chat-server.js +737 -0
  20. package/dist/commonjs/v3/chat-server.js.map +1 -0
  21. package/dist/commonjs/v3/chat-server.test.d.ts +1 -0
  22. package/dist/commonjs/v3/chat-server.test.js +518 -0
  23. package/dist/commonjs/v3/chat-server.test.js.map +1 -0
  24. package/dist/commonjs/v3/chat-tab-coordinator.d.ts +65 -0
  25. package/dist/commonjs/v3/chat-tab-coordinator.js +235 -0
  26. package/dist/commonjs/v3/chat-tab-coordinator.js.map +1 -0
  27. package/dist/commonjs/v3/chat-tab-coordinator.test.d.ts +1 -0
  28. package/dist/commonjs/v3/chat-tab-coordinator.test.js +140 -0
  29. package/dist/commonjs/v3/chat-tab-coordinator.test.js.map +1 -0
  30. package/dist/commonjs/v3/chat.d.ts +437 -0
  31. package/dist/commonjs/v3/chat.js +968 -0
  32. package/dist/commonjs/v3/chat.js.map +1 -0
  33. package/dist/commonjs/v3/chat.test.d.ts +1 -0
  34. package/dist/commonjs/v3/chat.test.js +1180 -0
  35. package/dist/commonjs/v3/chat.test.js.map +1 -0
  36. package/dist/commonjs/v3/createStartSessionAction.test.d.ts +1 -0
  37. package/dist/commonjs/v3/createStartSessionAction.test.js +113 -0
  38. package/dist/commonjs/v3/createStartSessionAction.test.js.map +1 -0
  39. package/dist/commonjs/v3/deployments.d.ts +26 -0
  40. package/dist/commonjs/v3/deployments.js +37 -0
  41. package/dist/commonjs/v3/deployments.js.map +1 -0
  42. package/dist/commonjs/v3/index.d.ts +6 -3
  43. package/dist/commonjs/v3/index.js +7 -1
  44. package/dist/commonjs/v3/index.js.map +1 -1
  45. package/dist/commonjs/v3/runs.d.ts +22 -7
  46. package/dist/commonjs/v3/runs.js +1 -0
  47. package/dist/commonjs/v3/runs.js.map +1 -1
  48. package/dist/commonjs/v3/sessions.d.ts +228 -0
  49. package/dist/commonjs/v3/sessions.js +664 -0
  50. package/dist/commonjs/v3/sessions.js.map +1 -0
  51. package/dist/commonjs/v3/sessions.test.d.ts +1 -0
  52. package/dist/commonjs/v3/sessions.test.js +154 -0
  53. package/dist/commonjs/v3/sessions.test.js.map +1 -0
  54. package/dist/commonjs/v3/shared.d.ts +24 -2
  55. package/dist/commonjs/v3/shared.js +189 -1
  56. package/dist/commonjs/v3/shared.js.map +1 -1
  57. package/dist/commonjs/v3/skill.d.ts +99 -0
  58. package/dist/commonjs/v3/skill.js +155 -0
  59. package/dist/commonjs/v3/skill.js.map +1 -0
  60. package/dist/commonjs/v3/skills.d.ts +2 -0
  61. package/dist/commonjs/v3/skills.js +6 -0
  62. package/dist/commonjs/v3/skills.js.map +1 -0
  63. package/dist/commonjs/v3/streams.js +127 -19
  64. package/dist/commonjs/v3/streams.js.map +1 -1
  65. package/dist/commonjs/v3/tasks.d.ts +2 -1
  66. package/dist/commonjs/v3/tasks.js +1 -0
  67. package/dist/commonjs/v3/tasks.js.map +1 -1
  68. package/dist/commonjs/v3/test/index.d.ts +3 -0
  69. package/dist/commonjs/v3/test/index.js +18 -0
  70. package/dist/commonjs/v3/test/index.js.map +1 -0
  71. package/dist/commonjs/v3/test/mock-chat-agent.d.ts +259 -0
  72. package/dist/commonjs/v3/test/mock-chat-agent.js +468 -0
  73. package/dist/commonjs/v3/test/mock-chat-agent.js.map +1 -0
  74. package/dist/commonjs/v3/test/setup-catalog.d.ts +1 -0
  75. package/dist/commonjs/v3/test/setup-catalog.js +18 -0
  76. package/dist/commonjs/v3/test/setup-catalog.js.map +1 -0
  77. package/dist/commonjs/v3/test/test-session-handle.d.ts +53 -0
  78. package/dist/commonjs/v3/test/test-session-handle.js +256 -0
  79. package/dist/commonjs/v3/test/test-session-handle.js.map +1 -0
  80. package/dist/commonjs/version.js +1 -1
  81. package/dist/esm/v3/agentSkillsRuntime.d.ts +28 -0
  82. package/dist/esm/v3/agentSkillsRuntime.js +136 -0
  83. package/dist/esm/v3/agentSkillsRuntime.js.map +1 -0
  84. package/dist/esm/v3/ai-shared.d.ts +173 -0
  85. package/dist/esm/v3/ai-shared.js +22 -0
  86. package/dist/esm/v3/ai-shared.js.map +1 -0
  87. package/dist/esm/v3/ai.d.ts +2823 -5
  88. package/dist/esm/v3/ai.js +6187 -14
  89. package/dist/esm/v3/ai.js.map +1 -1
  90. package/dist/esm/v3/auth.d.ts +9 -0
  91. package/dist/esm/v3/auth.js.map +1 -1
  92. package/dist/esm/v3/chat-client.d.ts +301 -0
  93. package/dist/esm/v3/chat-client.js +619 -0
  94. package/dist/esm/v3/chat-client.js.map +1 -0
  95. package/dist/esm/v3/chat-react.d.ts +155 -0
  96. package/dist/esm/v3/chat-react.js +325 -0
  97. package/dist/esm/v3/chat-react.js.map +1 -0
  98. package/dist/esm/v3/chat-server.d.ts +206 -0
  99. package/dist/esm/v3/chat-server.js +734 -0
  100. package/dist/esm/v3/chat-server.js.map +1 -0
  101. package/dist/esm/v3/chat-server.test.d.ts +1 -0
  102. package/dist/esm/v3/chat-server.test.js +516 -0
  103. package/dist/esm/v3/chat-server.test.js.map +1 -0
  104. package/dist/esm/v3/chat-tab-coordinator.d.ts +65 -0
  105. package/dist/esm/v3/chat-tab-coordinator.js +231 -0
  106. package/dist/esm/v3/chat-tab-coordinator.js.map +1 -0
  107. package/dist/esm/v3/chat-tab-coordinator.test.d.ts +1 -0
  108. package/dist/esm/v3/chat-tab-coordinator.test.js +138 -0
  109. package/dist/esm/v3/chat-tab-coordinator.test.js.map +1 -0
  110. package/dist/esm/v3/chat.d.ts +437 -0
  111. package/dist/esm/v3/chat.js +961 -0
  112. package/dist/esm/v3/chat.js.map +1 -0
  113. package/dist/esm/v3/chat.test.d.ts +1 -0
  114. package/dist/esm/v3/chat.test.js +1178 -0
  115. package/dist/esm/v3/chat.test.js.map +1 -0
  116. package/dist/esm/v3/createStartSessionAction.test.d.ts +1 -0
  117. package/dist/esm/v3/createStartSessionAction.test.js +111 -0
  118. package/dist/esm/v3/createStartSessionAction.test.js.map +1 -0
  119. package/dist/esm/v3/deployments.d.ts +26 -0
  120. package/dist/esm/v3/deployments.js +34 -0
  121. package/dist/esm/v3/deployments.js.map +1 -0
  122. package/dist/esm/v3/index.d.ts +6 -3
  123. package/dist/esm/v3/index.js +4 -1
  124. package/dist/esm/v3/index.js.map +1 -1
  125. package/dist/esm/v3/runs.d.ts +15 -0
  126. package/dist/esm/v3/runs.js +1 -0
  127. package/dist/esm/v3/runs.js.map +1 -1
  128. package/dist/esm/v3/sessions.d.ts +228 -0
  129. package/dist/esm/v3/sessions.js +656 -0
  130. package/dist/esm/v3/sessions.js.map +1 -0
  131. package/dist/esm/v3/sessions.test.d.ts +1 -0
  132. package/dist/esm/v3/sessions.test.js +152 -0
  133. package/dist/esm/v3/sessions.test.js.map +1 -0
  134. package/dist/esm/v3/shared.d.ts +24 -2
  135. package/dist/esm/v3/shared.js +188 -1
  136. package/dist/esm/v3/shared.js.map +1 -1
  137. package/dist/esm/v3/skill.d.ts +99 -0
  138. package/dist/esm/v3/skill.js +128 -0
  139. package/dist/esm/v3/skill.js.map +1 -0
  140. package/dist/esm/v3/skills.d.ts +2 -0
  141. package/dist/esm/v3/skills.js +2 -0
  142. package/dist/esm/v3/skills.js.map +1 -0
  143. package/dist/esm/v3/streams.js +127 -20
  144. package/dist/esm/v3/streams.js.map +1 -1
  145. package/dist/esm/v3/tasks.d.ts +2 -1
  146. package/dist/esm/v3/tasks.js +2 -1
  147. package/dist/esm/v3/tasks.js.map +1 -1
  148. package/dist/esm/v3/test/index.d.ts +3 -0
  149. package/dist/esm/v3/test/index.js +13 -0
  150. package/dist/esm/v3/test/index.js.map +1 -0
  151. package/dist/esm/v3/test/mock-chat-agent.d.ts +259 -0
  152. package/dist/esm/v3/test/mock-chat-agent.js +465 -0
  153. package/dist/esm/v3/test/mock-chat-agent.js.map +1 -0
  154. package/dist/esm/v3/test/setup-catalog.d.ts +1 -0
  155. package/dist/esm/v3/test/setup-catalog.js +16 -0
  156. package/dist/esm/v3/test/setup-catalog.js.map +1 -0
  157. package/dist/esm/v3/test/test-session-handle.d.ts +53 -0
  158. package/dist/esm/v3/test/test-session-handle.js +251 -0
  159. package/dist/esm/v3/test/test-session-handle.js.map +1 -0
  160. package/dist/esm/version.js +1 -1
  161. package/package.json +87 -6
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../../src/v3/sessions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,152 @@
1
+ import { describe, expect, it, vi } from "vitest";
2
+ // Per-test override for the stubbed SessionStreamInstance's wait() so a
3
+ // test can simulate downstream writer failures (e.g. S2 auth error after
4
+ // initializeSessionStream returned a stale token). Reset at the top of
5
+ // each test that touches it.
6
+ let stubWaitImpl;
7
+ // Stub `SessionStreamInstance` so constructing a channel writer doesn't try
8
+ // to reach S2. The stub still invokes the `initializeSession` callback the
9
+ // channel passes in, which is the whole point: that's how the cache gets
10
+ // exercised. wait() resolves immediately by default; tests can override it
11
+ // via `stubWaitImpl` to verify reactive invalidation on writer failure.
12
+ vi.mock("@trigger.dev/core/v3", async (importActual) => {
13
+ const actual = (await importActual());
14
+ class StubSessionStreamInstance {
15
+ waitPromise;
16
+ constructor(opts) {
17
+ // Drain the source so the upstream tee doesn't backpressure-stall.
18
+ void (async () => {
19
+ const reader = opts.source.getReader();
20
+ try {
21
+ while (true) {
22
+ const { done } = await reader.read();
23
+ if (done)
24
+ break;
25
+ }
26
+ }
27
+ finally {
28
+ reader.releaseLock();
29
+ }
30
+ })();
31
+ // Trigger the initializeSession callback so the cache path runs.
32
+ opts.initializeSession?.().catch(() => {
33
+ // Failures are observed via the spy; swallow here so unhandled
34
+ // rejection warnings don't leak through the stub.
35
+ });
36
+ // Capture the wait outcome once at construction (mirrors real
37
+ // SessionStreamInstance which kicks off initializeWriter from the
38
+ // ctor). All subsequent wait() calls return the same promise so
39
+ // a single failure is observable by every consumer in the channel
40
+ // (`.finally`, reactive `.catch`, and customer `waitUntilComplete`).
41
+ this.waitPromise = stubWaitImpl
42
+ ? stubWaitImpl()
43
+ : Promise.resolve({ lastEventId: undefined });
44
+ // Claim any rejection so test runs don't surface as unhandled.
45
+ // Real awaiters still observe the rejection when they `await` it.
46
+ this.waitPromise.catch(() => { });
47
+ }
48
+ async wait() {
49
+ return this.waitPromise;
50
+ }
51
+ get stream() {
52
+ return new ReadableStream({ start: (c) => c.close() });
53
+ }
54
+ }
55
+ return { ...actual, SessionStreamInstance: StubSessionStreamInstance };
56
+ });
57
+ import { SessionOutputChannel } from "./sessions.js";
58
+ import { apiClientManager } from "@trigger.dev/core/v3";
59
+ function installStubApiClient(impl) {
60
+ const stub = { initializeSessionStream: impl };
61
+ // `apiClientManager.clientOrThrow()` is what `#pipeInternal` reaches for.
62
+ vi.spyOn(apiClientManager, "clientOrThrow").mockReturnValue(stub);
63
+ return stub;
64
+ }
65
+ function emptyStream() {
66
+ return new ReadableStream({ start: (c) => c.close() });
67
+ }
68
+ describe("SessionOutputChannel initializeSessionStream cache", () => {
69
+ it("dedupes repeated pipe()/writer() calls for the same channel", async () => {
70
+ stubWaitImpl = undefined;
71
+ const spy = vi.fn(async () => ({ version: "v2", headers: {} }));
72
+ installStubApiClient(spy);
73
+ const channel = new SessionOutputChannel("session-1");
74
+ const p1 = channel.pipe(emptyStream());
75
+ const p2 = channel.pipe(emptyStream());
76
+ const p3 = channel.writer({
77
+ execute: ({ write }) => {
78
+ write({ chunk: 1 });
79
+ },
80
+ });
81
+ await Promise.all([p1.waitUntilComplete(), p2.waitUntilComplete(), p3.waitUntilComplete()]);
82
+ expect(spy).toHaveBeenCalledTimes(1);
83
+ expect(spy).toHaveBeenCalledWith("session-1", "out", undefined);
84
+ });
85
+ it("evicts on initialize failure so the next call retries instead of returning a poisoned entry", async () => {
86
+ stubWaitImpl = undefined;
87
+ const spy = vi
88
+ .fn()
89
+ .mockRejectedValueOnce(new Error("boom"))
90
+ .mockResolvedValueOnce({ version: "v2", headers: {} });
91
+ installStubApiClient(spy);
92
+ const channel = new SessionOutputChannel("session-1");
93
+ const firstAttempt = channel.pipe(emptyStream());
94
+ // First call fails — the stub swallows the rejection on the
95
+ // initializeSession callback, but the cache eviction handler still runs.
96
+ await firstAttempt.waitUntilComplete();
97
+ // Settle pending microtasks so the .catch() eviction fires.
98
+ await new Promise((resolve) => setTimeout(resolve, 0));
99
+ const retried = channel.pipe(emptyStream());
100
+ await retried.waitUntilComplete();
101
+ expect(spy).toHaveBeenCalledTimes(2);
102
+ });
103
+ it("reset() clears cached entries so the next call re-PUTs", async () => {
104
+ stubWaitImpl = undefined;
105
+ const spy = vi.fn(async () => ({ version: "v2", headers: {} }));
106
+ installStubApiClient(spy);
107
+ const channel = new SessionOutputChannel("session-1");
108
+ await channel.pipe(emptyStream()).waitUntilComplete();
109
+ expect(spy).toHaveBeenCalledTimes(1);
110
+ channel.reset();
111
+ await channel.pipe(emptyStream()).waitUntilComplete();
112
+ expect(spy).toHaveBeenCalledTimes(2);
113
+ });
114
+ it("scopes the cache per channel instance", async () => {
115
+ stubWaitImpl = undefined;
116
+ const spy = vi.fn(async () => ({ version: "v2", headers: {} }));
117
+ installStubApiClient(spy);
118
+ const channelA = new SessionOutputChannel("session-a");
119
+ const channelB = new SessionOutputChannel("session-b");
120
+ await Promise.all([
121
+ channelA.pipe(emptyStream()).waitUntilComplete(),
122
+ channelB.pipe(emptyStream()).waitUntilComplete(),
123
+ ]);
124
+ expect(spy).toHaveBeenCalledTimes(2);
125
+ expect(spy).toHaveBeenCalledWith("session-a", "out", undefined);
126
+ expect(spy).toHaveBeenCalledWith("session-b", "out", undefined);
127
+ });
128
+ it("evicts the cache when a writer's wait() rejects (simulated stale-token failure)", async () => {
129
+ const spy = vi.fn(async () => ({ version: "v2", headers: {} }));
130
+ installStubApiClient(spy);
131
+ // First writer's wait() rejects (e.g. S2 returned 401 after the cached
132
+ // token expired mid-process); subsequent writers' wait() resolve cleanly.
133
+ let waitCallCount = 0;
134
+ stubWaitImpl = async () => {
135
+ waitCallCount++;
136
+ if (waitCallCount === 1)
137
+ throw new Error("S2 auth failed: token expired");
138
+ return { lastEventId: undefined };
139
+ };
140
+ const channel = new SessionOutputChannel("session-1");
141
+ const failed = channel.pipe(emptyStream());
142
+ await expect(failed.waitUntilComplete()).rejects.toThrow(/token expired/);
143
+ // Settle microtasks so the reactive .catch eviction handler fires.
144
+ await new Promise((resolve) => setTimeout(resolve, 0));
145
+ const recovered = channel.pipe(emptyStream());
146
+ await recovered.waitUntilComplete();
147
+ // Cache evicted ⇒ second pipe() re-PUT ⇒ two distinct initialize calls.
148
+ expect(spy).toHaveBeenCalledTimes(2);
149
+ stubWaitImpl = undefined;
150
+ });
151
+ });
152
+ //# sourceMappingURL=sessions.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sessions.test.js","sourceRoot":"","sources":["../../../src/v3/sessions.test.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { SerializableJson } from "@trigger.dev/core";
2
2
  import { ApiError, ApiRequestOptions, InitOutput, Queue, QueueOptions, SubtaskUnwrapError, TaskFromIdentifier, TaskRunContext, TaskRunPromise } from "@trigger.dev/core/v3";
3
- import type { AnyRunHandle, AnyTask, BatchByIdAndWaitItem, BatchByIdItem, BatchByIdResult, BatchByTaskAndWaitItem, BatchByTaskItem, BatchByTaskResult, BatchItem, BatchResult, BatchRunHandle, BatchRunHandleFromTypes, BatchTasksRunHandleFromTypes, BatchTriggerAndWaitOptions, BatchTriggerOptions, InferRunTypes, RunHandle, RunHandleFromTypes, RunHandleOutput, RunHandlePayload, Task, TaskBatchOutputHandle, TaskIdentifier, TaskOptions, TaskOptionsWithSchema, TaskOutput, TaskOutputHandle, TaskPayload, TaskRunResult, TaskSchema, TaskWithSchema, TaskWithSchemaOptions, TaskWithToolOptions, ToolTask, ToolTaskParameters, TriggerAndWaitOptions, TriggerApiRequestOptions, TriggerOptions } from "@trigger.dev/core/v3";
3
+ import type { AnyRunHandle, AnyTask, BatchByIdAndWaitItem, BatchByIdItem, BatchByIdResult, BatchByTaskAndWaitItem, BatchByTaskItem, BatchByTaskResult, BatchItem, BatchResult, BatchRunHandle, BatchRunHandleFromTypes, BatchTasksRunHandleFromTypes, BatchTriggerAndWaitOptions, BatchTriggerOptions, InferRunTypes, RunHandle, RunHandleFromTypes, RunHandleOutput, RunHandlePayload, Task, TaskBatchOutputHandle, TaskIdentifier, TaskOptions, TaskOptionsWithSchema, TaskOutput, TaskOutputHandle, TaskPayload, TaskRunResult, TaskSchema, TaskWithSchema, TaskWithSchemaOptions, TaskWithToolOptions, ToolTask, ToolTaskParameters, TriggerAndSubscribeOptions, TriggerAndWaitOptions, TriggerApiRequestOptions, TriggerOptions } from "@trigger.dev/core/v3";
4
4
  export type { AnyRunHandle, AnyTask, BatchItem, BatchResult, BatchRunHandle, BatchTriggerOptions, Queue, RunHandle, RunHandleOutput, RunHandlePayload, SerializableJson, Task, TaskBatchOutputHandle, TaskFromIdentifier, TaskIdentifier, TaskOptions, TaskOutput, TaskOutputHandle, TaskPayload, TaskRunResult, TriggerOptions, TaskWithSchema, TaskWithSchemaOptions, TaskSchema, TaskOptionsWithSchema, };
5
5
  export { SubtaskUnwrapError, TaskRunPromise };
6
6
  export type Context = TaskRunContext;
@@ -8,7 +8,7 @@ export declare function queue(options: QueueOptions): Queue;
8
8
  export declare function createTask<TIdentifier extends string, TOutput = unknown, TInitOutput extends InitOutput = any>(params: TaskOptionsWithSchema<TIdentifier, TOutput, TInitOutput>): Task<TIdentifier, any, TOutput>;
9
9
  export declare function createTask<TIdentifier extends string, TInput = void, TOutput = unknown, TInitOutput extends InitOutput = any>(params: TaskOptions<TIdentifier, TInput, TOutput, TInitOutput>): Task<TIdentifier, TInput, TOutput>;
10
10
  /**
11
- * @deprecated use ai.tool() instead
11
+ * @deprecated Use `schemaTask` plus AI SDK `tool()` with `execute: ai.toolExecute(task)` instead.
12
12
  */
13
13
  export declare function createToolTask<TIdentifier extends string, TParameters extends ToolTaskParameters, TOutput = unknown, TInitOutput extends InitOutput = any>(params: TaskWithToolOptions<TIdentifier, TParameters, TOutput, TInitOutput>): ToolTask<TIdentifier, TParameters, TOutput>;
14
14
  export declare function createSchemaTask<TIdentifier extends string, TSchema extends TaskSchema | undefined = undefined, TOutput = unknown, TInitOutput extends InitOutput = any>(params: TaskWithSchemaOptions<TIdentifier, TSchema, TOutput, TInitOutput>): TaskWithSchema<TIdentifier, TSchema, TOutput>;
@@ -48,6 +48,28 @@ export declare function trigger<TTask extends AnyTask>(id: TaskIdentifier<TTask>
48
48
  * ```
49
49
  */
50
50
  export declare function triggerAndWait<TTask extends AnyTask>(id: TaskIdentifier<TTask>, payload: TaskPayload<TTask>, options?: TriggerAndWaitOptions, requestOptions?: ApiRequestOptions): TaskRunPromise<TaskIdentifier<TTask>, TaskOutput<TTask>>;
51
+ /**
52
+ * Trigger a task and subscribe to its updates via realtime. Unlike `triggerAndWait`,
53
+ * this does NOT suspend the parent run — the parent stays alive and subscribes to updates.
54
+ * This enables parallel execution and proper abort signal handling.
55
+ *
56
+ * @param id - The id of the task to trigger
57
+ * @param payload
58
+ * @param options - Options for the task run, including an optional `signal` to cancel the subscription and child run
59
+ * @returns TaskRunPromise
60
+ * @example
61
+ * ```ts
62
+ * import { tasks } from "@trigger.dev/sdk/v3";
63
+ * const result = await tasks.triggerAndSubscribe("my-task", { foo: "bar" });
64
+ *
65
+ * if (result.ok) {
66
+ * console.log(result.output);
67
+ * } else {
68
+ * console.error(result.error);
69
+ * }
70
+ * ```
71
+ */
72
+ export declare function triggerAndSubscribe<TTask extends AnyTask>(id: TaskIdentifier<TTask>, payload: TaskPayload<TTask>, options?: TriggerAndSubscribeOptions, requestOptions?: TriggerApiRequestOptions): TaskRunPromise<TaskIdentifier<TTask>, TaskOutput<TTask>>;
51
73
  /**
52
74
  * Batch trigger multiple task runs with the given payloads, and wait for the results. Returns the results of the task runs.
53
75
  * @param id - The id of the task to trigger
@@ -36,6 +36,20 @@ export function createTask(params) {
36
36
  });
37
37
  }, params.id);
38
38
  },
39
+ triggerAndSubscribe: (payload, options) => {
40
+ return new TaskRunPromise((resolve, reject) => {
41
+ triggerAndSubscribe_internal("triggerAndSubscribe()", params.id, payload, undefined, {
42
+ queue: params.queue?.name,
43
+ ...options,
44
+ })
45
+ .then((result) => {
46
+ resolve(result);
47
+ })
48
+ .catch((error) => {
49
+ reject(error);
50
+ });
51
+ }, params.id);
52
+ },
39
53
  batchTriggerAndWait: async (items, options) => {
40
54
  return await batchTriggerAndWait_internal("batchTriggerAndWait()", params.id, items, undefined, options, undefined, params.queue?.name);
41
55
  },
@@ -47,6 +61,8 @@ export function createTask(params) {
47
61
  queue: params.queue,
48
62
  retry: params.retry ? { ...defaultRetryOptions, ...params.retry } : undefined,
49
63
  machine: typeof params.machine === "string" ? { preset: params.machine } : params.machine,
64
+ triggerSource: params.triggerSource,
65
+ agentConfig: params.agentConfig,
50
66
  maxDuration: params.maxDuration,
51
67
  ttl: params.ttl,
52
68
  payloadSchema: params.jsonSchema,
@@ -66,7 +82,7 @@ export function createTask(params) {
66
82
  return task;
67
83
  }
68
84
  /**
69
- * @deprecated use ai.tool() instead
85
+ * @deprecated Use `schemaTask` plus AI SDK `tool()` with `execute: ai.toolExecute(task)` instead.
70
86
  */
71
87
  export function createToolTask(params) {
72
88
  const task = createSchemaTask({
@@ -115,6 +131,20 @@ export function createSchemaTask(params) {
115
131
  });
116
132
  }, params.id);
117
133
  },
134
+ triggerAndSubscribe: (payload, options) => {
135
+ return new TaskRunPromise((resolve, reject) => {
136
+ triggerAndSubscribe_internal("triggerAndSubscribe()", params.id, payload, parsePayload, {
137
+ queue: params.queue?.name,
138
+ ...options,
139
+ })
140
+ .then((result) => {
141
+ resolve(result);
142
+ })
143
+ .catch((error) => {
144
+ reject(error);
145
+ });
146
+ }, params.id);
147
+ },
118
148
  batchTriggerAndWait: async (items, options) => {
119
149
  return await batchTriggerAndWait_internal("batchTriggerAndWait()", params.id, items, parsePayload, options, undefined, params.queue?.name);
120
150
  },
@@ -126,6 +156,8 @@ export function createSchemaTask(params) {
126
156
  queue: params.queue,
127
157
  retry: params.retry ? { ...defaultRetryOptions, ...params.retry } : undefined,
128
158
  machine: typeof params.machine === "string" ? { preset: params.machine } : params.machine,
159
+ triggerSource: params.triggerSource,
160
+ agentConfig: params.agentConfig,
129
161
  maxDuration: params.maxDuration,
130
162
  ttl: params.ttl,
131
163
  fns: {
@@ -193,6 +225,38 @@ export function triggerAndWait(id, payload, options, requestOptions) {
193
225
  });
194
226
  }, id);
195
227
  }
228
+ /**
229
+ * Trigger a task and subscribe to its updates via realtime. Unlike `triggerAndWait`,
230
+ * this does NOT suspend the parent run — the parent stays alive and subscribes to updates.
231
+ * This enables parallel execution and proper abort signal handling.
232
+ *
233
+ * @param id - The id of the task to trigger
234
+ * @param payload
235
+ * @param options - Options for the task run, including an optional `signal` to cancel the subscription and child run
236
+ * @returns TaskRunPromise
237
+ * @example
238
+ * ```ts
239
+ * import { tasks } from "@trigger.dev/sdk/v3";
240
+ * const result = await tasks.triggerAndSubscribe("my-task", { foo: "bar" });
241
+ *
242
+ * if (result.ok) {
243
+ * console.log(result.output);
244
+ * } else {
245
+ * console.error(result.error);
246
+ * }
247
+ * ```
248
+ */
249
+ export function triggerAndSubscribe(id, payload, options, requestOptions) {
250
+ return new TaskRunPromise((resolve, reject) => {
251
+ triggerAndSubscribe_internal("tasks.triggerAndSubscribe()", id, payload, undefined, options, requestOptions)
252
+ .then((result) => {
253
+ resolve(result);
254
+ })
255
+ .catch((error) => {
256
+ reject(error);
257
+ });
258
+ }, id);
259
+ }
196
260
  /**
197
261
  * Batch trigger multiple task runs with the given payloads, and wait for the results. Returns the results of the task runs.
198
262
  * @param id - The id of the task to trigger
@@ -1296,6 +1360,129 @@ async function triggerAndWait_internal(name, id, payload, parsePayload, options,
1296
1360
  },
1297
1361
  });
1298
1362
  }
1363
+ async function triggerAndSubscribe_internal(name, id, payload, parsePayload, options, requestOptions) {
1364
+ const ctx = taskContext.ctx;
1365
+ if (!ctx) {
1366
+ throw new Error("triggerAndSubscribe can only be used from inside a task.run()");
1367
+ }
1368
+ const apiClient = apiClientManager.clientOrThrow(requestOptions?.clientConfig);
1369
+ const parsedPayload = parsePayload ? await parsePayload(payload) : payload;
1370
+ const payloadPacket = await stringifyIO(parsedPayload);
1371
+ const processedIdempotencyKey = await makeIdempotencyKey(options?.idempotencyKey);
1372
+ const idempotencyKeyOptions = processedIdempotencyKey
1373
+ ? getIdempotencyKeyOptions(processedIdempotencyKey)
1374
+ : undefined;
1375
+ return await tracer.startActiveSpan(name, async (span) => {
1376
+ const response = await apiClient.triggerTask(id, {
1377
+ payload: payloadPacket.data,
1378
+ options: {
1379
+ lockToVersion: taskContext.worker?.version,
1380
+ queue: options?.queue ? { name: options.queue } : undefined,
1381
+ concurrencyKey: options?.concurrencyKey,
1382
+ test: taskContext.ctx?.run.isTest,
1383
+ payloadType: payloadPacket.dataType,
1384
+ delay: options?.delay,
1385
+ ttl: options?.ttl,
1386
+ tags: options?.tags,
1387
+ maxAttempts: options?.maxAttempts,
1388
+ metadata: options?.metadata,
1389
+ maxDuration: options?.maxDuration,
1390
+ parentRunId: ctx.run.id,
1391
+ // NOTE: no resumeParentOnCompletion — parent stays alive and subscribes
1392
+ idempotencyKey: processedIdempotencyKey?.toString(),
1393
+ idempotencyKeyTTL: options?.idempotencyKeyTTL,
1394
+ idempotencyKeyOptions,
1395
+ machine: options?.machine,
1396
+ priority: options?.priority,
1397
+ region: options?.region,
1398
+ debounce: options?.debounce,
1399
+ },
1400
+ }, {}, requestOptions);
1401
+ // Set attributes after trigger so the dashboard can link to the child run
1402
+ span.setAttribute("messaging.message.id", response.id);
1403
+ span.setAttribute("runId", response.id);
1404
+ span.setAttribute(SemanticInternalAttributes.ENTITY_TYPE, "run");
1405
+ span.setAttribute(SemanticInternalAttributes.ENTITY_ID, response.id);
1406
+ // Optionally cancel the child run when the abort signal fires (default: true)
1407
+ const cancelOnAbort = options?.cancelOnAbort !== false;
1408
+ let onAbort;
1409
+ if (options?.signal && cancelOnAbort) {
1410
+ if (options.signal.aborted) {
1411
+ await apiClient.cancelRun(response.id).catch(() => { });
1412
+ throw new DOMException("Aborted", "AbortError");
1413
+ }
1414
+ onAbort = () => {
1415
+ apiClient.cancelRun(response.id).catch(() => { });
1416
+ };
1417
+ // `{ once: true }` auto-removes the listener on abort, but if the
1418
+ // run completes normally the listener stays attached and pins
1419
+ // `apiClient` + `response.id` until the signal is GC'd. Long-lived
1420
+ // signals shared across many calls accumulate dead listeners; the
1421
+ // `finally` below removes the listener on every exit path.
1422
+ options.signal.addEventListener("abort", onAbort, { once: true });
1423
+ }
1424
+ try {
1425
+ for await (const run of apiClient.subscribeToRun(response.id, {
1426
+ closeOnComplete: true,
1427
+ signal: options?.signal,
1428
+ skipColumns: ["payload"],
1429
+ })) {
1430
+ if (run.isSuccess) {
1431
+ // run.output from subscribeToRun is already deserialized
1432
+ return {
1433
+ ok: true,
1434
+ id: response.id,
1435
+ taskIdentifier: id,
1436
+ output: run.output,
1437
+ };
1438
+ }
1439
+ if (run.isFailed || run.isCancelled) {
1440
+ // Note: this intentionally diverges from `triggerAndWait`'s
1441
+ // error shape. `triggerAndWait` receives a full `TaskRunError`
1442
+ // (with `type` discriminator: BUILT_IN_ERROR, CUSTOM_ERROR,
1443
+ // INTERNAL_ERROR, STRING_ERROR) via the completion message and
1444
+ // passes it through `createErrorTaskError` to preserve the
1445
+ // discriminator. `subscribeToRun` only surfaces a
1446
+ // `SerializedError` (`{ name, message, stackTrace }`) because
1447
+ // `createJsonErrorObject` strips the discriminator before the
1448
+ // record hits the realtime stream. We can't reconstruct the
1449
+ // discriminator here without lossy guessing — callers that
1450
+ // need exact error-type matching should use `triggerAndWait`
1451
+ // instead; subscribers get message + name only.
1452
+ const error = new Error(run.error?.message ?? `Task ${id} failed (${run.status})`);
1453
+ if (run.error?.name)
1454
+ error.name = run.error.name;
1455
+ return {
1456
+ ok: false,
1457
+ id: response.id,
1458
+ taskIdentifier: id,
1459
+ error,
1460
+ };
1461
+ }
1462
+ }
1463
+ throw new Error(`Task ${id}: subscription ended without completion`);
1464
+ }
1465
+ finally {
1466
+ if (onAbort && options?.signal) {
1467
+ options.signal.removeEventListener("abort", onAbort);
1468
+ }
1469
+ }
1470
+ }, {
1471
+ kind: SpanKind.PRODUCER,
1472
+ attributes: {
1473
+ [SemanticInternalAttributes.STYLE_ICON]: "trigger",
1474
+ ...accessoryAttributes({
1475
+ items: [
1476
+ {
1477
+ text: id,
1478
+ variant: "normal",
1479
+ },
1480
+ ],
1481
+ style: "codepath",
1482
+ }),
1483
+ },
1484
+ });
1485
+ }
1299
1486
  async function batchTriggerAndWait_internal(name, id, items, parsePayload, options, requestOptions, queue) {
1300
1487
  const ctx = taskContext.ctx;
1301
1488
  if (!ctx) {