@trigger.dev/sdk 4.4.6 → 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.
- package/dist/commonjs/v3/agentSkillsRuntime.d.ts +28 -0
- package/dist/commonjs/v3/agentSkillsRuntime.js +163 -0
- package/dist/commonjs/v3/agentSkillsRuntime.js.map +1 -0
- package/dist/commonjs/v3/ai-shared.d.ts +173 -0
- package/dist/commonjs/v3/ai-shared.js +25 -0
- package/dist/commonjs/v3/ai-shared.js.map +1 -0
- package/dist/commonjs/v3/ai.d.ts +2823 -5
- package/dist/commonjs/v3/ai.js +6197 -13
- package/dist/commonjs/v3/ai.js.map +1 -1
- package/dist/commonjs/v3/auth.d.ts +9 -0
- package/dist/commonjs/v3/auth.js.map +1 -1
- package/dist/commonjs/v3/chat-client.d.ts +301 -0
- package/dist/commonjs/v3/chat-client.js +624 -0
- package/dist/commonjs/v3/chat-client.js.map +1 -0
- package/dist/commonjs/v3/chat-react.d.ts +155 -0
- package/dist/commonjs/v3/chat-react.js +330 -0
- package/dist/commonjs/v3/chat-react.js.map +1 -0
- package/dist/commonjs/v3/chat-server.d.ts +206 -0
- package/dist/commonjs/v3/chat-server.js +737 -0
- package/dist/commonjs/v3/chat-server.js.map +1 -0
- package/dist/commonjs/v3/chat-server.test.d.ts +1 -0
- package/dist/commonjs/v3/chat-server.test.js +518 -0
- package/dist/commonjs/v3/chat-server.test.js.map +1 -0
- package/dist/commonjs/v3/chat-tab-coordinator.d.ts +65 -0
- package/dist/commonjs/v3/chat-tab-coordinator.js +235 -0
- package/dist/commonjs/v3/chat-tab-coordinator.js.map +1 -0
- package/dist/commonjs/v3/chat-tab-coordinator.test.d.ts +1 -0
- package/dist/commonjs/v3/chat-tab-coordinator.test.js +140 -0
- package/dist/commonjs/v3/chat-tab-coordinator.test.js.map +1 -0
- package/dist/commonjs/v3/chat.d.ts +437 -0
- package/dist/commonjs/v3/chat.js +968 -0
- package/dist/commonjs/v3/chat.js.map +1 -0
- package/dist/commonjs/v3/chat.test.d.ts +1 -0
- package/dist/commonjs/v3/chat.test.js +1180 -0
- package/dist/commonjs/v3/chat.test.js.map +1 -0
- package/dist/commonjs/v3/createStartSessionAction.test.d.ts +1 -0
- package/dist/commonjs/v3/createStartSessionAction.test.js +113 -0
- package/dist/commonjs/v3/createStartSessionAction.test.js.map +1 -0
- package/dist/commonjs/v3/deployments.d.ts +26 -0
- package/dist/commonjs/v3/deployments.js +37 -0
- package/dist/commonjs/v3/deployments.js.map +1 -0
- package/dist/commonjs/v3/index.d.ts +6 -3
- package/dist/commonjs/v3/index.js +7 -1
- package/dist/commonjs/v3/index.js.map +1 -1
- package/dist/commonjs/v3/runs.d.ts +22 -7
- package/dist/commonjs/v3/runs.js +1 -0
- package/dist/commonjs/v3/runs.js.map +1 -1
- package/dist/commonjs/v3/sessions.d.ts +228 -0
- package/dist/commonjs/v3/sessions.js +664 -0
- package/dist/commonjs/v3/sessions.js.map +1 -0
- package/dist/commonjs/v3/sessions.test.d.ts +1 -0
- package/dist/commonjs/v3/sessions.test.js +154 -0
- package/dist/commonjs/v3/sessions.test.js.map +1 -0
- package/dist/commonjs/v3/shared.d.ts +24 -2
- package/dist/commonjs/v3/shared.js +189 -1
- package/dist/commonjs/v3/shared.js.map +1 -1
- package/dist/commonjs/v3/skill.d.ts +99 -0
- package/dist/commonjs/v3/skill.js +155 -0
- package/dist/commonjs/v3/skill.js.map +1 -0
- package/dist/commonjs/v3/skills.d.ts +2 -0
- package/dist/commonjs/v3/skills.js +6 -0
- package/dist/commonjs/v3/skills.js.map +1 -0
- package/dist/commonjs/v3/streams.js +127 -19
- package/dist/commonjs/v3/streams.js.map +1 -1
- package/dist/commonjs/v3/tasks.d.ts +2 -1
- package/dist/commonjs/v3/tasks.js +1 -0
- package/dist/commonjs/v3/tasks.js.map +1 -1
- package/dist/commonjs/v3/test/index.d.ts +3 -0
- package/dist/commonjs/v3/test/index.js +18 -0
- package/dist/commonjs/v3/test/index.js.map +1 -0
- package/dist/commonjs/v3/test/mock-chat-agent.d.ts +259 -0
- package/dist/commonjs/v3/test/mock-chat-agent.js +468 -0
- package/dist/commonjs/v3/test/mock-chat-agent.js.map +1 -0
- package/dist/commonjs/v3/test/setup-catalog.d.ts +1 -0
- package/dist/commonjs/v3/test/setup-catalog.js +18 -0
- package/dist/commonjs/v3/test/setup-catalog.js.map +1 -0
- package/dist/commonjs/v3/test/test-session-handle.d.ts +53 -0
- package/dist/commonjs/v3/test/test-session-handle.js +256 -0
- package/dist/commonjs/v3/test/test-session-handle.js.map +1 -0
- package/dist/commonjs/version.js +1 -1
- package/dist/esm/v3/agentSkillsRuntime.d.ts +28 -0
- package/dist/esm/v3/agentSkillsRuntime.js +136 -0
- package/dist/esm/v3/agentSkillsRuntime.js.map +1 -0
- package/dist/esm/v3/ai-shared.d.ts +173 -0
- package/dist/esm/v3/ai-shared.js +22 -0
- package/dist/esm/v3/ai-shared.js.map +1 -0
- package/dist/esm/v3/ai.d.ts +2823 -5
- package/dist/esm/v3/ai.js +6187 -14
- package/dist/esm/v3/ai.js.map +1 -1
- package/dist/esm/v3/auth.d.ts +9 -0
- package/dist/esm/v3/auth.js.map +1 -1
- package/dist/esm/v3/chat-client.d.ts +301 -0
- package/dist/esm/v3/chat-client.js +619 -0
- package/dist/esm/v3/chat-client.js.map +1 -0
- package/dist/esm/v3/chat-react.d.ts +155 -0
- package/dist/esm/v3/chat-react.js +325 -0
- package/dist/esm/v3/chat-react.js.map +1 -0
- package/dist/esm/v3/chat-server.d.ts +206 -0
- package/dist/esm/v3/chat-server.js +734 -0
- package/dist/esm/v3/chat-server.js.map +1 -0
- package/dist/esm/v3/chat-server.test.d.ts +1 -0
- package/dist/esm/v3/chat-server.test.js +516 -0
- package/dist/esm/v3/chat-server.test.js.map +1 -0
- package/dist/esm/v3/chat-tab-coordinator.d.ts +65 -0
- package/dist/esm/v3/chat-tab-coordinator.js +231 -0
- package/dist/esm/v3/chat-tab-coordinator.js.map +1 -0
- package/dist/esm/v3/chat-tab-coordinator.test.d.ts +1 -0
- package/dist/esm/v3/chat-tab-coordinator.test.js +138 -0
- package/dist/esm/v3/chat-tab-coordinator.test.js.map +1 -0
- package/dist/esm/v3/chat.d.ts +437 -0
- package/dist/esm/v3/chat.js +961 -0
- package/dist/esm/v3/chat.js.map +1 -0
- package/dist/esm/v3/chat.test.d.ts +1 -0
- package/dist/esm/v3/chat.test.js +1178 -0
- package/dist/esm/v3/chat.test.js.map +1 -0
- package/dist/esm/v3/createStartSessionAction.test.d.ts +1 -0
- package/dist/esm/v3/createStartSessionAction.test.js +111 -0
- package/dist/esm/v3/createStartSessionAction.test.js.map +1 -0
- package/dist/esm/v3/deployments.d.ts +26 -0
- package/dist/esm/v3/deployments.js +34 -0
- package/dist/esm/v3/deployments.js.map +1 -0
- package/dist/esm/v3/index.d.ts +6 -3
- package/dist/esm/v3/index.js +4 -1
- package/dist/esm/v3/index.js.map +1 -1
- package/dist/esm/v3/runs.d.ts +15 -0
- package/dist/esm/v3/runs.js +1 -0
- package/dist/esm/v3/runs.js.map +1 -1
- package/dist/esm/v3/sessions.d.ts +228 -0
- package/dist/esm/v3/sessions.js +656 -0
- package/dist/esm/v3/sessions.js.map +1 -0
- package/dist/esm/v3/sessions.test.d.ts +1 -0
- package/dist/esm/v3/sessions.test.js +152 -0
- package/dist/esm/v3/sessions.test.js.map +1 -0
- package/dist/esm/v3/shared.d.ts +24 -2
- package/dist/esm/v3/shared.js +188 -1
- package/dist/esm/v3/shared.js.map +1 -1
- package/dist/esm/v3/skill.d.ts +99 -0
- package/dist/esm/v3/skill.js +128 -0
- package/dist/esm/v3/skill.js.map +1 -0
- package/dist/esm/v3/skills.d.ts +2 -0
- package/dist/esm/v3/skills.js +2 -0
- package/dist/esm/v3/skills.js.map +1 -0
- package/dist/esm/v3/streams.js +127 -20
- package/dist/esm/v3/streams.js.map +1 -1
- package/dist/esm/v3/tasks.d.ts +2 -1
- package/dist/esm/v3/tasks.js +2 -1
- package/dist/esm/v3/tasks.js.map +1 -1
- package/dist/esm/v3/test/index.d.ts +3 -0
- package/dist/esm/v3/test/index.js +13 -0
- package/dist/esm/v3/test/index.js.map +1 -0
- package/dist/esm/v3/test/mock-chat-agent.d.ts +259 -0
- package/dist/esm/v3/test/mock-chat-agent.js +465 -0
- package/dist/esm/v3/test/mock-chat-agent.js.map +1 -0
- package/dist/esm/v3/test/setup-catalog.d.ts +1 -0
- package/dist/esm/v3/test/setup-catalog.js +16 -0
- package/dist/esm/v3/test/setup-catalog.js.map +1 -0
- package/dist/esm/v3/test/test-session-handle.d.ts +53 -0
- package/dist/esm/v3/test/test-session-handle.js +251 -0
- package/dist/esm/v3/test/test-session-handle.js.map +1 -0
- package/dist/esm/version.js +1 -1
- 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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"}
|
package/dist/esm/v3/shared.d.ts
CHANGED
|
@@ -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
|
|
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
|
package/dist/esm/v3/shared.js
CHANGED
|
@@ -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
|
|
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) {
|