@trigger.dev/core 4.8.1 → 4.8.2
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/apiClient/core.d.ts +2 -0
- package/dist/commonjs/v3/apiClient/core.js +16 -1
- package/dist/commonjs/v3/apiClient/core.js.map +1 -1
- package/dist/commonjs/v3/apiClient/index.d.ts +11 -2
- package/dist/commonjs/v3/apiClient/index.js +317 -230
- package/dist/commonjs/v3/apiClient/index.js.map +1 -1
- package/dist/commonjs/v3/apiClient/runStream.d.ts +3 -1
- package/dist/commonjs/v3/apiClient/runStream.js +12 -3
- package/dist/commonjs/v3/apiClient/runStream.js.map +1 -1
- package/dist/commonjs/v3/apiClientManager/index.js +38 -9
- package/dist/commonjs/v3/apiClientManager/index.js.map +1 -1
- package/dist/commonjs/v3/build/runtime.d.ts +11 -0
- package/dist/commonjs/v3/build/runtime.js +24 -1
- package/dist/commonjs/v3/build/runtime.js.map +1 -1
- package/dist/commonjs/v3/index.d.ts +2 -0
- package/dist/commonjs/v3/index.js +4 -1
- package/dist/commonjs/v3/index.js.map +1 -1
- package/dist/commonjs/v3/realtimeStreams/streamInstance.js +1 -1
- package/dist/commonjs/v3/realtimeStreams/streamInstance.js.map +1 -1
- package/dist/commonjs/v3/realtimeStreams/streamsWriterV1.d.ts +1 -0
- package/dist/commonjs/v3/realtimeStreams/streamsWriterV1.js +2 -0
- package/dist/commonjs/v3/realtimeStreams/streamsWriterV1.js.map +1 -1
- package/dist/commonjs/v3/runEngineWorker/index.d.ts +1 -0
- package/dist/commonjs/v3/runEngineWorker/index.js +1 -0
- package/dist/commonjs/v3/runEngineWorker/index.js.map +1 -1
- package/dist/commonjs/v3/runEngineWorker/runTokenRefresh.d.ts +50 -0
- package/dist/commonjs/v3/runEngineWorker/runTokenRefresh.js +41 -0
- package/dist/commonjs/v3/runEngineWorker/runTokenRefresh.js.map +1 -0
- package/dist/commonjs/v3/runEngineWorker/supervisor/http.d.ts +11 -3
- package/dist/commonjs/v3/runEngineWorker/supervisor/http.js +19 -1
- package/dist/commonjs/v3/runEngineWorker/supervisor/http.js.map +1 -1
- package/dist/commonjs/v3/runEngineWorker/supervisor/schemas.d.ts +42 -0
- package/dist/commonjs/v3/runEngineWorker/supervisor/schemas.js +18 -2
- package/dist/commonjs/v3/runEngineWorker/supervisor/schemas.js.map +1 -1
- package/dist/commonjs/v3/runEngineWorker/supervisor/session.d.ts +6 -0
- package/dist/commonjs/v3/runEngineWorker/supervisor/session.js +44 -6
- package/dist/commonjs/v3/runEngineWorker/supervisor/session.js.map +1 -1
- package/dist/commonjs/v3/runEngineWorker/workload/http.d.ts +1 -0
- package/dist/commonjs/v3/runEngineWorker/workload/schemas.d.ts +31 -0
- package/dist/commonjs/v3/runEngineWorker/workload/schemas.js +1 -1
- package/dist/commonjs/v3/runEngineWorker/workload/schemas.js.map +1 -1
- package/dist/commonjs/v3/runToken.d.ts +13 -0
- package/dist/commonjs/v3/runToken.js +81 -0
- package/dist/commonjs/v3/runToken.js.map +1 -0
- package/dist/commonjs/v3/runTokenOperations.d.ts +125 -0
- package/dist/commonjs/v3/runTokenOperations.js +136 -0
- package/dist/commonjs/v3/runTokenOperations.js.map +1 -0
- package/dist/commonjs/v3/runTokenTelemetry.d.ts +3 -0
- package/dist/commonjs/v3/runTokenTelemetry.js +30 -0
- package/dist/commonjs/v3/runTokenTelemetry.js.map +1 -0
- package/dist/commonjs/v3/schemas/api.d.ts +15 -0
- package/dist/commonjs/v3/schemas/build.d.ts +28 -0
- package/dist/commonjs/v3/schemas/build.js +14 -1
- package/dist/commonjs/v3/schemas/build.js.map +1 -1
- package/dist/commonjs/v3/schemas/checkpoints.d.ts +1 -0
- package/dist/commonjs/v3/schemas/common.d.ts +3 -2
- package/dist/commonjs/v3/schemas/common.js +4 -3
- package/dist/commonjs/v3/schemas/common.js.map +1 -1
- package/dist/commonjs/v3/schemas/messages.d.ts +21 -0
- package/dist/commonjs/v3/schemas/messages.js +10 -0
- package/dist/commonjs/v3/schemas/messages.js.map +1 -1
- package/dist/commonjs/v3/schemas/resources.d.ts +16 -0
- package/dist/commonjs/v3/schemas/runEngine.d.ts +1 -0
- package/dist/commonjs/v3/schemas/runEngine.js +2 -0
- package/dist/commonjs/v3/schemas/runEngine.js.map +1 -1
- package/dist/commonjs/v3/schemas/schemas.d.ts +16 -0
- package/dist/commonjs/v3/schemas/webhookConfig.d.ts +16 -0
- package/dist/commonjs/v3/schemas/webhookConfig.js +9 -3
- package/dist/commonjs/v3/schemas/webhookConfig.js.map +1 -1
- package/dist/commonjs/v3/sdkCredentialTelemetry.d.ts +8 -0
- package/dist/commonjs/v3/sdkCredentialTelemetry.js +147 -0
- package/dist/commonjs/v3/sdkCredentialTelemetry.js.map +1 -0
- package/dist/commonjs/v3/streams/asyncIterableStream.d.ts +1 -1
- package/dist/commonjs/v3/streams/asyncIterableStream.js +2 -1
- package/dist/commonjs/v3/streams/asyncIterableStream.js.map +1 -1
- package/dist/commonjs/v3/zodIpc.js +4 -2
- package/dist/commonjs/v3/zodIpc.js.map +1 -1
- package/dist/commonjs/version.js +1 -1
- package/dist/esm/v3/apiClient/core.d.ts +2 -0
- package/dist/esm/v3/apiClient/core.js +16 -1
- package/dist/esm/v3/apiClient/core.js.map +1 -1
- package/dist/esm/v3/apiClient/index.d.ts +11 -2
- package/dist/esm/v3/apiClient/index.js +317 -230
- package/dist/esm/v3/apiClient/index.js.map +1 -1
- package/dist/esm/v3/apiClient/runStream.d.ts +3 -1
- package/dist/esm/v3/apiClient/runStream.js +12 -3
- package/dist/esm/v3/apiClient/runStream.js.map +1 -1
- package/dist/esm/v3/apiClientManager/index.js +39 -10
- package/dist/esm/v3/apiClientManager/index.js.map +1 -1
- package/dist/esm/v3/build/runtime.d.ts +11 -0
- package/dist/esm/v3/build/runtime.js +22 -1
- package/dist/esm/v3/build/runtime.js.map +1 -1
- package/dist/esm/v3/index.d.ts +2 -0
- package/dist/esm/v3/index.js +2 -0
- package/dist/esm/v3/index.js.map +1 -1
- package/dist/esm/v3/realtimeStreams/streamInstance.js +1 -1
- package/dist/esm/v3/realtimeStreams/streamInstance.js.map +1 -1
- package/dist/esm/v3/realtimeStreams/streamsWriterV1.d.ts +1 -0
- package/dist/esm/v3/realtimeStreams/streamsWriterV1.js +2 -0
- package/dist/esm/v3/realtimeStreams/streamsWriterV1.js.map +1 -1
- package/dist/esm/v3/runEngineWorker/index.d.ts +1 -0
- package/dist/esm/v3/runEngineWorker/index.js +1 -0
- package/dist/esm/v3/runEngineWorker/index.js.map +1 -1
- package/dist/esm/v3/runEngineWorker/runTokenRefresh.d.ts +50 -0
- package/dist/esm/v3/runEngineWorker/runTokenRefresh.js +38 -0
- package/dist/esm/v3/runEngineWorker/runTokenRefresh.js.map +1 -0
- package/dist/esm/v3/runEngineWorker/supervisor/http.d.ts +11 -3
- package/dist/esm/v3/runEngineWorker/supervisor/http.js +20 -2
- package/dist/esm/v3/runEngineWorker/supervisor/http.js.map +1 -1
- package/dist/esm/v3/runEngineWorker/supervisor/schemas.d.ts +42 -0
- package/dist/esm/v3/runEngineWorker/supervisor/schemas.js +17 -1
- package/dist/esm/v3/runEngineWorker/supervisor/schemas.js.map +1 -1
- package/dist/esm/v3/runEngineWorker/supervisor/session.d.ts +6 -0
- package/dist/esm/v3/runEngineWorker/supervisor/session.js +44 -6
- package/dist/esm/v3/runEngineWorker/supervisor/session.js.map +1 -1
- package/dist/esm/v3/runEngineWorker/workload/http.d.ts +1 -0
- package/dist/esm/v3/runEngineWorker/workload/schemas.d.ts +31 -0
- package/dist/esm/v3/runEngineWorker/workload/schemas.js +2 -2
- package/dist/esm/v3/runEngineWorker/workload/schemas.js.map +1 -1
- package/dist/esm/v3/runToken.d.ts +13 -0
- package/dist/esm/v3/runToken.js +76 -0
- package/dist/esm/v3/runToken.js.map +1 -0
- package/dist/esm/v3/runTokenOperations.d.ts +125 -0
- package/dist/esm/v3/runTokenOperations.js +131 -0
- package/dist/esm/v3/runTokenOperations.js.map +1 -0
- package/dist/esm/v3/runTokenTelemetry.d.ts +3 -0
- package/dist/esm/v3/runTokenTelemetry.js +27 -0
- package/dist/esm/v3/runTokenTelemetry.js.map +1 -0
- package/dist/esm/v3/schemas/api.d.ts +15 -0
- package/dist/esm/v3/schemas/build.d.ts +28 -0
- package/dist/esm/v3/schemas/build.js +14 -1
- package/dist/esm/v3/schemas/build.js.map +1 -1
- package/dist/esm/v3/schemas/checkpoints.d.ts +1 -0
- package/dist/esm/v3/schemas/common.d.ts +3 -2
- package/dist/esm/v3/schemas/common.js +4 -3
- package/dist/esm/v3/schemas/common.js.map +1 -1
- package/dist/esm/v3/schemas/messages.d.ts +21 -0
- package/dist/esm/v3/schemas/messages.js +10 -0
- package/dist/esm/v3/schemas/messages.js.map +1 -1
- package/dist/esm/v3/schemas/resources.d.ts +16 -0
- package/dist/esm/v3/schemas/runEngine.d.ts +1 -0
- package/dist/esm/v3/schemas/runEngine.js +2 -0
- package/dist/esm/v3/schemas/runEngine.js.map +1 -1
- package/dist/esm/v3/schemas/schemas.d.ts +16 -0
- package/dist/esm/v3/schemas/webhookConfig.d.ts +16 -0
- package/dist/esm/v3/schemas/webhookConfig.js +9 -3
- package/dist/esm/v3/schemas/webhookConfig.js.map +1 -1
- package/dist/esm/v3/sdkCredentialTelemetry.d.ts +8 -0
- package/dist/esm/v3/sdkCredentialTelemetry.js +142 -0
- package/dist/esm/v3/sdkCredentialTelemetry.js.map +1 -0
- package/dist/esm/v3/streams/asyncIterableStream.d.ts +1 -1
- package/dist/esm/v3/streams/asyncIterableStream.js +2 -1
- package/dist/esm/v3/streams/asyncIterableStream.js.map +1 -1
- package/dist/esm/v3/zodIpc.js +4 -2
- package/dist/esm/v3/zodIpc.js.map +1 -1
- package/dist/esm/version.js +1 -1
- package/package.json +2 -2
|
@@ -3,6 +3,7 @@ import { WeightedWorkerQueueSubscriptions } from "../workerQueue.js";
|
|
|
3
3
|
import { discriminatedUnion } from "../../utils/zod.js";
|
|
4
4
|
import { TaskRunExecutionResult } from "../../schemas/common.js";
|
|
5
5
|
import { MachineResources, DequeuedMessage, StartRunAttemptResult, CompleteRunAttemptResult, RunExecutionData, CheckpointInput, ExecutionResult, } from "../../schemas/runEngine.js";
|
|
6
|
+
import { RunTokenHeartbeatReport } from "../runTokenRefresh.js";
|
|
6
7
|
export const WorkerApiHeartbeatRequestBody = z.object({
|
|
7
8
|
cpu: z.object({
|
|
8
9
|
used: z.number(),
|
|
@@ -32,7 +33,8 @@ export const WorkerApiSuspendRunResponseBody = z.object({
|
|
|
32
33
|
});
|
|
33
34
|
export const WorkerApiContinueRunExecutionRequestBody = ExecutionResult;
|
|
34
35
|
export const WorkerApiRunRestoreOutcomeRequestBody = z.object({
|
|
35
|
-
|
|
36
|
+
// `fallback` requeues a run that has not started onto the worker queue the platform falls back to.
|
|
37
|
+
outcome: z.enum(["requeue", "fail", "fallback"]),
|
|
36
38
|
reason: z.string().max(256),
|
|
37
39
|
// Matches the cap the engine applies to a run error's message.
|
|
38
40
|
message: z
|
|
@@ -43,6 +45,14 @@ export const WorkerApiRunRestoreOutcomeRequestBody = z.object({
|
|
|
43
45
|
export const WorkerApiRunRestoreOutcomeResponseBody = z.object({
|
|
44
46
|
ok: z.literal(true),
|
|
45
47
|
});
|
|
48
|
+
export const WorkerApiRunReleaseRequestBody = z.object({
|
|
49
|
+
reason: z.string().min(1).max(256),
|
|
50
|
+
});
|
|
51
|
+
export const WorkerApiRunReleaseResponseBody = z.object({
|
|
52
|
+
ok: z.literal(true),
|
|
53
|
+
// False when the run could not be requeued, as when its dequeue budget is used up, so it failed.
|
|
54
|
+
requeued: z.boolean(),
|
|
55
|
+
});
|
|
46
56
|
export const WorkerApiConnectRequestBody = z.object({
|
|
47
57
|
metadata: z.record(z.string(), z.any()),
|
|
48
58
|
});
|
|
@@ -70,15 +80,21 @@ export const WorkerApiDequeueResponseBody = DequeuedMessage.array();
|
|
|
70
80
|
export const WorkerApiRunHeartbeatRequestBody = z.object({
|
|
71
81
|
cpu: z.number().optional(),
|
|
72
82
|
memory: z.number().optional(),
|
|
83
|
+
// A malformed report must never fail the heartbeat itself.
|
|
84
|
+
runToken: RunTokenHeartbeatReport.optional().catch(undefined),
|
|
73
85
|
});
|
|
74
86
|
export const WorkerApiRunHeartbeatResponseBody = z.object({
|
|
75
87
|
ok: z.literal(true),
|
|
88
|
+
/** A replacement TRIGGER_RUN_TOKEN, only when the runner's reported token is due for refresh. */
|
|
89
|
+
runToken: z.string().optional(),
|
|
76
90
|
});
|
|
77
91
|
export const WorkerApiRunAttemptStartRequestBody = z.object({
|
|
78
92
|
isWarmStart: z.boolean().optional(),
|
|
79
93
|
// Set by the supervisor, not the runner. A value this webapp cannot accept drops the stamp, never the attempt.
|
|
80
94
|
workerCell: z.string().max(64).optional().catch(undefined),
|
|
81
95
|
workerLane: z.string().max(32).optional().catch(undefined),
|
|
96
|
+
/** Set by runners that report and install run-token refreshes, so the attempt can get a short-lived token. */
|
|
97
|
+
supportsRunTokenRefresh: z.boolean().optional().catch(undefined),
|
|
82
98
|
});
|
|
83
99
|
export const WorkerApiRunAttemptStartResponseBody = StartRunAttemptResult.and(z.object({
|
|
84
100
|
envVars: z.record(z.string(), z.string()),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../../../src/v3/runEngineWorker/supervisor/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAC3B,OAAO,EAAE,gCAAgC,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,qBAAqB,EACrB,wBAAwB,EACxB,gBAAgB,EAChB,eAAe,EACf,eAAe,GAChB,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../../../src/v3/runEngineWorker/supervisor/schemas.ts"],"names":[],"mappings":"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"}
|
|
@@ -29,6 +29,9 @@ export declare class SupervisorSession extends EventEmitter<WorkerEvents> {
|
|
|
29
29
|
private readonly logger;
|
|
30
30
|
private readonly runNotificationsEnabled;
|
|
31
31
|
private runNotificationsSocket?;
|
|
32
|
+
/** The runs subscribed to, asked for again on every connection: the platform keeps subscriptions per connection. */
|
|
33
|
+
private readonly runSubscriptions;
|
|
34
|
+
private reconnectDelayMs;
|
|
32
35
|
private readonly queueConsumerEnabled;
|
|
33
36
|
private readonly consumerPool;
|
|
34
37
|
private readonly heartbeat;
|
|
@@ -36,7 +39,10 @@ export declare class SupervisorSession extends EventEmitter<WorkerEvents> {
|
|
|
36
39
|
private onDequeue;
|
|
37
40
|
subscribeToRunNotifications(runFriendlyIds: string[]): void;
|
|
38
41
|
unsubscribeFromRunNotifications(runFriendlyIds: string[]): void;
|
|
42
|
+
private subscribe;
|
|
39
43
|
private createRunNotificationsSocket;
|
|
44
|
+
/** socket.io stops after the platform rejects a handshake or disconnects the socket; the session does not. */
|
|
45
|
+
private reconnectIfGivenUp;
|
|
40
46
|
start(): Promise<void>;
|
|
41
47
|
stop(): Promise<void>;
|
|
42
48
|
private getHeartbeatBody;
|
|
@@ -6,12 +6,17 @@ import { io } from "socket.io-client";
|
|
|
6
6
|
import { getDefaultWorkerHeaders } from "./util.js";
|
|
7
7
|
import { IntervalService } from "../../utils/interval.js";
|
|
8
8
|
import { SimpleStructuredLogger } from "../../utils/structuredLogger.js";
|
|
9
|
+
const RECONNECT_DELAY_MS = 1_000;
|
|
10
|
+
const RECONNECT_DELAY_MAX_MS = 30_000;
|
|
9
11
|
export class SupervisorSession extends EventEmitter {
|
|
10
12
|
opts;
|
|
11
13
|
httpClient;
|
|
12
14
|
logger = new SimpleStructuredLogger("supervisor-session");
|
|
13
15
|
runNotificationsEnabled;
|
|
14
16
|
runNotificationsSocket;
|
|
17
|
+
/** The runs subscribed to, asked for again on every connection: the platform keeps subscriptions per connection. */
|
|
18
|
+
runSubscriptions = new Set();
|
|
19
|
+
reconnectDelayMs = RECONNECT_DELAY_MS;
|
|
15
20
|
queueConsumerEnabled;
|
|
16
21
|
consumerPool;
|
|
17
22
|
heartbeat;
|
|
@@ -64,11 +69,14 @@ export class SupervisorSession extends EventEmitter {
|
|
|
64
69
|
}
|
|
65
70
|
subscribeToRunNotifications(runFriendlyIds) {
|
|
66
71
|
this.logger.debug("Subscribing to run notifications", { runFriendlyIds });
|
|
67
|
-
|
|
68
|
-
this.
|
|
72
|
+
for (const runFriendlyId of runFriendlyIds) {
|
|
73
|
+
this.runSubscriptions.add(runFriendlyId);
|
|
74
|
+
}
|
|
75
|
+
// Not connected, the connect handler asks for the whole set; asking here too would ask twice.
|
|
76
|
+
if (!this.runNotificationsSocket?.connected) {
|
|
69
77
|
return;
|
|
70
78
|
}
|
|
71
|
-
this.runNotificationsSocket
|
|
79
|
+
this.subscribe(this.runNotificationsSocket, runFriendlyIds);
|
|
72
80
|
Promise.allSettled(runFriendlyIds.map((runFriendlyId) => this.httpClient.sendDebugLog(runFriendlyId, {
|
|
73
81
|
time: new Date(),
|
|
74
82
|
message: "run:subscribe supervisor -> platform",
|
|
@@ -76,8 +84,10 @@ export class SupervisorSession extends EventEmitter {
|
|
|
76
84
|
}
|
|
77
85
|
unsubscribeFromRunNotifications(runFriendlyIds) {
|
|
78
86
|
this.logger.debug("Unsubscribing from run notifications", { runFriendlyIds });
|
|
79
|
-
|
|
80
|
-
this.
|
|
87
|
+
for (const runFriendlyId of runFriendlyIds) {
|
|
88
|
+
this.runSubscriptions.delete(runFriendlyId);
|
|
89
|
+
}
|
|
90
|
+
if (!this.runNotificationsSocket?.connected) {
|
|
81
91
|
return;
|
|
82
92
|
}
|
|
83
93
|
this.runNotificationsSocket.emit("run:unsubscribe", { version: "1", runFriendlyIds });
|
|
@@ -89,6 +99,9 @@ export class SupervisorSession extends EventEmitter {
|
|
|
89
99
|
},
|
|
90
100
|
})));
|
|
91
101
|
}
|
|
102
|
+
subscribe(socket, runFriendlyIds) {
|
|
103
|
+
socket.emit("run:subscribe", { version: "1", runFriendlyIds });
|
|
104
|
+
}
|
|
92
105
|
createRunNotificationsSocket() {
|
|
93
106
|
const wsUrl = new URL(this.opts.apiUrl);
|
|
94
107
|
wsUrl.pathname = "/worker";
|
|
@@ -106,15 +119,38 @@ export class SupervisorSession extends EventEmitter {
|
|
|
106
119
|
});
|
|
107
120
|
socket.on("connect", () => {
|
|
108
121
|
this.logger.log("[WS] Connected to platform");
|
|
122
|
+
this.reconnectDelayMs = RECONNECT_DELAY_MS;
|
|
123
|
+
if (this.runSubscriptions.size > 0) {
|
|
124
|
+
this.logger.log("[WS] Subscribing to run notifications on connect", {
|
|
125
|
+
runs: this.runSubscriptions.size,
|
|
126
|
+
});
|
|
127
|
+
this.subscribe(socket, [...this.runSubscriptions]);
|
|
128
|
+
}
|
|
109
129
|
});
|
|
110
130
|
socket.on("connect_error", (error) => {
|
|
111
131
|
this.logger.error("[WS] Connection error", { error });
|
|
132
|
+
this.reconnectIfGivenUp(socket);
|
|
112
133
|
});
|
|
113
134
|
socket.on("disconnect", (reason, description) => {
|
|
114
135
|
this.logger.log("[WS] Disconnected from platform", { reason, description });
|
|
136
|
+
this.reconnectIfGivenUp(socket);
|
|
115
137
|
});
|
|
116
138
|
return socket;
|
|
117
139
|
}
|
|
140
|
+
/** socket.io stops after the platform rejects a handshake or disconnects the socket; the session does not. */
|
|
141
|
+
reconnectIfGivenUp(socket) {
|
|
142
|
+
if (socket.active || this.runNotificationsSocket !== socket) {
|
|
143
|
+
return;
|
|
144
|
+
}
|
|
145
|
+
const delayMs = this.reconnectDelayMs;
|
|
146
|
+
this.reconnectDelayMs = Math.min(delayMs * 2, RECONNECT_DELAY_MAX_MS);
|
|
147
|
+
this.logger.log("[WS] Connecting to platform again", { delayMs });
|
|
148
|
+
setTimeout(() => {
|
|
149
|
+
if (this.runNotificationsSocket === socket) {
|
|
150
|
+
socket.connect();
|
|
151
|
+
}
|
|
152
|
+
}, delayMs).unref();
|
|
153
|
+
}
|
|
118
154
|
async start() {
|
|
119
155
|
const connect = await this.httpClient.connect({
|
|
120
156
|
metadata: {
|
|
@@ -154,7 +190,9 @@ export class SupervisorSession extends EventEmitter {
|
|
|
154
190
|
async stop() {
|
|
155
191
|
await this.consumerPool.stop();
|
|
156
192
|
this.heartbeat.stop();
|
|
157
|
-
this.runNotificationsSocket
|
|
193
|
+
const socket = this.runNotificationsSocket;
|
|
194
|
+
this.runNotificationsSocket = undefined;
|
|
195
|
+
socket?.disconnect();
|
|
158
196
|
}
|
|
159
197
|
getHeartbeatBody() {
|
|
160
198
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../../../../src/v3/runEngineWorker/supervisor/session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AASjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAEzD,OAAO,YAAY,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAE9C,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAEtC,OAAO,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAqBzE,MAAM,OAAO,iBAAkB,SAAQ,YAA0B;
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../../../../src/v3/runEngineWorker/supervisor/session.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,10 +2,40 @@ import { z } from "zod/v4";
|
|
|
2
2
|
export declare const WorkloadHeartbeatRequestBody: z.ZodObject<{
|
|
3
3
|
cpu: z.ZodOptional<z.ZodNumber>;
|
|
4
4
|
memory: z.ZodOptional<z.ZodNumber>;
|
|
5
|
+
runToken: z.ZodCatch<z.ZodOptional<z.ZodObject<{
|
|
6
|
+
expiresAt: z.ZodNumber;
|
|
7
|
+
trigger: z.ZodCatch<z.ZodEnum<{
|
|
8
|
+
heartbeat: "heartbeat";
|
|
9
|
+
restore: "restore";
|
|
10
|
+
}>>;
|
|
11
|
+
installation: z.ZodCatch<z.ZodOptional<import("../../utils/zod.js").CompatibleZodDiscriminatedUnion<readonly [z.ZodObject<{
|
|
12
|
+
result: z.ZodLiteral<"success">;
|
|
13
|
+
trigger: z.ZodCatch<z.ZodEnum<{
|
|
14
|
+
heartbeat: "heartbeat";
|
|
15
|
+
restore: "restore";
|
|
16
|
+
}>>;
|
|
17
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
18
|
+
result: z.ZodLiteral<"failure">;
|
|
19
|
+
reason: z.ZodCatch<z.ZodEnum<{
|
|
20
|
+
ack_timeout: "ack_timeout";
|
|
21
|
+
identity_mismatch: "identity_mismatch";
|
|
22
|
+
invalid_token: "invalid_token";
|
|
23
|
+
ipc_error: "ipc_error";
|
|
24
|
+
no_child: "no_child";
|
|
25
|
+
other: "other";
|
|
26
|
+
unsupported: "unsupported";
|
|
27
|
+
}>>;
|
|
28
|
+
trigger: z.ZodCatch<z.ZodEnum<{
|
|
29
|
+
heartbeat: "heartbeat";
|
|
30
|
+
restore: "restore";
|
|
31
|
+
}>>;
|
|
32
|
+
}, z.core.$strip>]>>>;
|
|
33
|
+
}, z.core.$strip>>>;
|
|
5
34
|
}, z.core.$strip>;
|
|
6
35
|
export type WorkloadHeartbeatRequestBody = z.infer<typeof WorkloadHeartbeatRequestBody>;
|
|
7
36
|
export declare const WorkloadHeartbeatResponseBody: z.ZodObject<{
|
|
8
37
|
ok: z.ZodLiteral<true>;
|
|
38
|
+
runToken: z.ZodOptional<z.ZodString>;
|
|
9
39
|
}, z.core.$strip>;
|
|
10
40
|
export type WorkloadHeartbeatResponseBody = z.infer<typeof WorkloadHeartbeatResponseBody>;
|
|
11
41
|
export declare const WorkloadSuspendRunResponseBody: import("../../utils/zod.js").CompatibleZodDiscriminatedUnion<readonly [z.ZodObject<{
|
|
@@ -360,6 +390,7 @@ export declare const WorkloadRunAttemptStartRequestBody: z.ZodObject<{
|
|
|
360
390
|
isWarmStart: z.ZodOptional<z.ZodBoolean>;
|
|
361
391
|
workerCell: z.ZodCatch<z.ZodOptional<z.ZodString>>;
|
|
362
392
|
workerLane: z.ZodCatch<z.ZodOptional<z.ZodString>>;
|
|
393
|
+
supportsRunTokenRefresh: z.ZodCatch<z.ZodOptional<z.ZodBoolean>>;
|
|
363
394
|
}, z.core.$strip>;
|
|
364
395
|
export type WorkloadRunAttemptStartRequestBody = z.infer<typeof WorkloadRunAttemptStartRequestBody>;
|
|
365
396
|
export declare const WorkloadRunAttemptStartResponseBody: z.ZodIntersection<z.ZodIntersection<z.ZodObject<{
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { z } from "zod/v4";
|
|
2
2
|
import { discriminatedUnion } from "../../utils/zod.js";
|
|
3
|
-
import { WorkerApiRunHeartbeatRequestBody,
|
|
3
|
+
import { WorkerApiRunHeartbeatRequestBody, WorkerApiRunHeartbeatResponseBody, WorkerApiRunAttemptCompleteRequestBody, WorkerApiRunAttemptCompleteResponseBody, WorkerApiRunAttemptStartRequestBody, WorkerApiRunAttemptStartResponseBody, WorkerApiRunLatestSnapshotResponseBody, WorkerApiContinueRunExecutionRequestBody, WorkerApiDebugLogBody, WorkerApiRunSnapshotsSinceResponseBody, } from "../supervisor/schemas.js";
|
|
4
4
|
export const WorkloadHeartbeatRequestBody = WorkerApiRunHeartbeatRequestBody;
|
|
5
|
-
export const WorkloadHeartbeatResponseBody =
|
|
5
|
+
export const WorkloadHeartbeatResponseBody = WorkerApiRunHeartbeatResponseBody;
|
|
6
6
|
export const WorkloadSuspendRunResponseBody = discriminatedUnion("ok", [
|
|
7
7
|
z.object({
|
|
8
8
|
ok: z.literal(true),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../../../src/v3/runEngineWorker/workload/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAC3B,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EACL,gCAAgC,EAChC,
|
|
1
|
+
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../../../src/v3/runEngineWorker/workload/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAC3B,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EACL,gCAAgC,EAChC,iCAAiC,EACjC,sCAAsC,EACtC,uCAAuC,EACvC,mCAAmC,EACnC,oCAAoC,EACpC,sCAAsC,EACtC,wCAAwC,EACxC,qBAAqB,EACrB,sCAAsC,GACvC,MAAM,0BAA0B,CAAC;AAElC,MAAM,CAAC,MAAM,4BAA4B,GAAG,gCAAgC,CAAC;AAG7E,MAAM,CAAC,MAAM,6BAA6B,GAAG,iCAAiC,CAAC;AAG/E,MAAM,CAAC,MAAM,8BAA8B,GAAG,kBAAkB,CAAC,IAAI,EAAE;IACrE,CAAC,CAAC,MAAM,CAAC;QACP,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;KACpB,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;QACpB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;KAClB,CAAC;CACH,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,wCAAwC,GAAG,wCAAwC,CAAC;AAKjG,MAAM,CAAC,MAAM,qCAAqC,GAAG,sCAAsC,CAAC;AAK5F,MAAM,CAAC,MAAM,sCAAsC,GAAG,uCAAuC,CAAC;AAK9F,MAAM,CAAC,MAAM,kCAAkC,GAAG,mCAAmC,CAAC;AAGtF,MAAM,CAAC,MAAM,mCAAmC,GAAG,oCAAoC,CAAC;AAKxF,MAAM,CAAC,MAAM,qCAAqC,GAAG,sCAAsC,CAAC;AAK5F,MAAM,CAAC,MAAM,2BAA2B,GAAG,qBAAqB,CAAC;AAGjE,MAAM,CAAC,MAAM,qCAAqC,GAAG,sCAAsC,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type RunTokenSelectionReason } from "./runTokenTelemetry.js";
|
|
2
|
+
/** Format classifier only. The server, not this helper, verifies the signature and authorizes use. */
|
|
3
|
+
export declare function isRunToken(token: string): boolean;
|
|
4
|
+
/**
|
|
5
|
+
* Resolve an implicit SDK credential per request, including after warm starts and token rotation.
|
|
6
|
+
* Explicit caller credentials must bypass this helper. This is not JWT verification, and an HTTP
|
|
7
|
+
* authentication failure must never cause an automatic retry with the fallback credential.
|
|
8
|
+
*/
|
|
9
|
+
export declare function resolveRunTokenCredential(operation: string, fallback: string | undefined, recordSelection?: boolean): string | undefined;
|
|
10
|
+
export declare function resolveRunTokenCredentialSelection(operation: string, fallback: string | undefined, recordSelection?: boolean, branchOverride?: boolean): {
|
|
11
|
+
accessToken: string | undefined;
|
|
12
|
+
reason: RunTokenSelectionReason;
|
|
13
|
+
};
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { decodeJwt, decodeProtectedHeader } from "jose";
|
|
2
|
+
import { supportsRunToken } from "./runTokenOperations.js";
|
|
3
|
+
import { recordRunTokenSelection } from "./runTokenTelemetry.js";
|
|
4
|
+
import { taskContext } from "./task-context-api.js";
|
|
5
|
+
import { getEnvVar } from "./utils/getEnv.js";
|
|
6
|
+
const RUN_TOKEN_TYPE = "run+jwt";
|
|
7
|
+
const RUN_TOKEN_AUDIENCE = "trigger:api";
|
|
8
|
+
const RUN_TOKEN_USE = "run";
|
|
9
|
+
const JWT_SEGMENT = /^[A-Za-z0-9_-]+$/;
|
|
10
|
+
// Fall back before expiry so a token can't expire between selection and server verification.
|
|
11
|
+
const RUN_TOKEN_EXPIRY_BUFFER_SECONDS = 5 * 60;
|
|
12
|
+
/** Format classifier only. The server, not this helper, verifies the signature and authorizes use. */
|
|
13
|
+
export function isRunToken(token) {
|
|
14
|
+
const parts = token.split(".");
|
|
15
|
+
if (parts.length !== 3 || !parts.every((part) => JWT_SEGMENT.test(part)))
|
|
16
|
+
return false;
|
|
17
|
+
try {
|
|
18
|
+
return decodeProtectedHeader(token).typ === RUN_TOKEN_TYPE;
|
|
19
|
+
}
|
|
20
|
+
catch {
|
|
21
|
+
return false;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
function selectionReason(token) {
|
|
25
|
+
if (!isRunToken(token))
|
|
26
|
+
return "malformed_token";
|
|
27
|
+
try {
|
|
28
|
+
const claims = decodeJwt(token);
|
|
29
|
+
if (claims.token_use !== RUN_TOKEN_USE ||
|
|
30
|
+
claims.aud !== RUN_TOKEN_AUDIENCE ||
|
|
31
|
+
typeof claims.exp !== "number" ||
|
|
32
|
+
!Number.isFinite(claims.exp) ||
|
|
33
|
+
!Array.isArray(claims.scopes) ||
|
|
34
|
+
!claims.scopes.every((scope) => typeof scope === "string")) {
|
|
35
|
+
return "malformed_token";
|
|
36
|
+
}
|
|
37
|
+
if (claims.exp <= Date.now() / 1_000 + RUN_TOKEN_EXPIRY_BUFFER_SECONDS)
|
|
38
|
+
return "expired_token";
|
|
39
|
+
if (!claims.scopes.includes("admin"))
|
|
40
|
+
return "old_scope";
|
|
41
|
+
return "selected";
|
|
42
|
+
}
|
|
43
|
+
catch {
|
|
44
|
+
return "malformed_token";
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Resolve an implicit SDK credential per request, including after warm starts and token rotation.
|
|
49
|
+
* Explicit caller credentials must bypass this helper. This is not JWT verification, and an HTTP
|
|
50
|
+
* authentication failure must never cause an automatic retry with the fallback credential.
|
|
51
|
+
*/
|
|
52
|
+
export function resolveRunTokenCredential(operation, fallback, recordSelection = true) {
|
|
53
|
+
return resolveRunTokenCredentialSelection(operation, fallback, recordSelection).accessToken;
|
|
54
|
+
}
|
|
55
|
+
export function resolveRunTokenCredentialSelection(operation, fallback, recordSelection = true, branchOverride = false) {
|
|
56
|
+
let reason;
|
|
57
|
+
let token;
|
|
58
|
+
if (!taskContext.isInsideTask) {
|
|
59
|
+
reason = "outside_task";
|
|
60
|
+
}
|
|
61
|
+
else if (branchOverride) {
|
|
62
|
+
reason = "branch_override";
|
|
63
|
+
}
|
|
64
|
+
else if (!supportsRunToken(operation)) {
|
|
65
|
+
reason = "unsupported_operation";
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
token = getEnvVar("TRIGGER_RUN_TOKEN");
|
|
69
|
+
reason = token ? selectionReason(token) : "missing_token";
|
|
70
|
+
}
|
|
71
|
+
const credential = reason === "selected" ? token : fallback;
|
|
72
|
+
if (recordSelection)
|
|
73
|
+
recordRunTokenSelection(operation, credential, reason);
|
|
74
|
+
return { accessToken: credential, reason };
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=runToken.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runToken.js","sourceRoot":"","sources":["../../../src/v3/runToken.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
/** Audited against the server routes, not inferred from method names or HTTP verbs. */
|
|
2
|
+
export declare const runTokenOperationPolicy: {
|
|
3
|
+
readonly triggerTask: true;
|
|
4
|
+
readonly batchTriggerV3: true;
|
|
5
|
+
readonly createBatch: true;
|
|
6
|
+
readonly streamBatchItems: true;
|
|
7
|
+
readonly createUploadPayloadUrl: true;
|
|
8
|
+
readonly getPayloadUrl: true;
|
|
9
|
+
readonly getRunPacketUrl: true;
|
|
10
|
+
readonly retrieveRun: true;
|
|
11
|
+
readonly cancelRun: true;
|
|
12
|
+
readonly resetIdempotencyKey: true;
|
|
13
|
+
readonly addTags: true;
|
|
14
|
+
readonly updateRunMetadata: true;
|
|
15
|
+
readonly getRunMetadata: true;
|
|
16
|
+
readonly createWaitpointToken: true;
|
|
17
|
+
readonly listWaitpointTokens: true;
|
|
18
|
+
readonly retrieveWaitpointToken: true;
|
|
19
|
+
readonly completeWaitpointToken: true;
|
|
20
|
+
readonly waitForWaitpointToken: true;
|
|
21
|
+
readonly waitForDuration: true;
|
|
22
|
+
readonly subscribeToRun: true;
|
|
23
|
+
readonly subscribeToRunsWithTag: true;
|
|
24
|
+
readonly subscribeToBatch: true;
|
|
25
|
+
readonly fetchStream: true;
|
|
26
|
+
readonly createStream: true;
|
|
27
|
+
readonly appendToStream: true;
|
|
28
|
+
readonly sendInputStream: true;
|
|
29
|
+
readonly createInputStreamWaitpoint: true;
|
|
30
|
+
readonly legacyStreamIngest: true;
|
|
31
|
+
readonly legacyStreamResumeProbe: true;
|
|
32
|
+
readonly createPublicToken: true;
|
|
33
|
+
readonly retrieveBatch: true;
|
|
34
|
+
readonly createChatSnapshotUploadUrl: true;
|
|
35
|
+
readonly getChatSnapshotUrl: true;
|
|
36
|
+
readonly getSessionTranscript: true;
|
|
37
|
+
readonly createSession: true;
|
|
38
|
+
readonly retrieveSession: true;
|
|
39
|
+
readonly updateSession: true;
|
|
40
|
+
readonly closeSession: true;
|
|
41
|
+
readonly endAndContinueSession: true;
|
|
42
|
+
readonly listSessions: true;
|
|
43
|
+
readonly initializeSessionStream: true;
|
|
44
|
+
readonly appendToSessionStream: true;
|
|
45
|
+
readonly readSessionStreamRecords: true;
|
|
46
|
+
readonly subscribeToSessionStream: true;
|
|
47
|
+
readonly createSessionStreamWaitpoint: true;
|
|
48
|
+
readonly resolvePrompt: true;
|
|
49
|
+
readonly createWebhookWaiter: true;
|
|
50
|
+
readonly cancelWebhookWaiter: true;
|
|
51
|
+
readonly listRuns: true;
|
|
52
|
+
readonly replayRun: true;
|
|
53
|
+
readonly createBulkAction: true;
|
|
54
|
+
readonly listBulkActions: true;
|
|
55
|
+
readonly retrieveBulkAction: true;
|
|
56
|
+
readonly abortBulkAction: true;
|
|
57
|
+
readonly listQueues: true;
|
|
58
|
+
readonly retrieveQueue: true;
|
|
59
|
+
readonly pauseQueue: true;
|
|
60
|
+
readonly overrideQueueConcurrencyLimit: true;
|
|
61
|
+
readonly resetQueueConcurrencyLimit: true;
|
|
62
|
+
readonly listConcurrencyLimits: true;
|
|
63
|
+
readonly retrieveConcurrencyLimit: true;
|
|
64
|
+
readonly retrieveConcurrencyLimitKey: true;
|
|
65
|
+
readonly overrideConcurrencyLimit: true;
|
|
66
|
+
readonly overrideConcurrencyLimitKey: true;
|
|
67
|
+
readonly pauseConcurrencyLimit: true;
|
|
68
|
+
readonly resetConcurrencyLimit: true;
|
|
69
|
+
readonly resetConcurrencyLimitKey: true;
|
|
70
|
+
readonly listDeployments: true;
|
|
71
|
+
readonly retrieveCurrentDeployment: true;
|
|
72
|
+
readonly executeQuery: true;
|
|
73
|
+
readonly executeQueryProjectOrOrganization: false;
|
|
74
|
+
readonly listPrompts: true;
|
|
75
|
+
readonly listPromptVersions: true;
|
|
76
|
+
readonly promotePromptVersion: true;
|
|
77
|
+
readonly createPromptOverride: true;
|
|
78
|
+
readonly updatePromptOverride: true;
|
|
79
|
+
readonly removePromptOverride: true;
|
|
80
|
+
readonly reactivatePromptOverride: true;
|
|
81
|
+
readonly retrieveRunTrace: true;
|
|
82
|
+
readonly retrieveRunTracePage: true;
|
|
83
|
+
readonly retrieveSpan: true;
|
|
84
|
+
readonly listRunEvents: true;
|
|
85
|
+
readonly getQuerySchema: true;
|
|
86
|
+
readonly getReport: true;
|
|
87
|
+
readonly listWebhookEndpoints: true;
|
|
88
|
+
readonly retrieveWebhookEndpoint: true;
|
|
89
|
+
readonly generateWebhookEndpointSecret: true;
|
|
90
|
+
readonly setWebhookEndpointSecret: true;
|
|
91
|
+
readonly listWebhookDeliveries: true;
|
|
92
|
+
readonly retrieveWebhookDelivery: true;
|
|
93
|
+
readonly replayWebhookDelivery: true;
|
|
94
|
+
readonly getRunResult: false;
|
|
95
|
+
readonly getBatchResults: false;
|
|
96
|
+
readonly rescheduleRun: false;
|
|
97
|
+
readonly createSchedule: false;
|
|
98
|
+
readonly listSchedules: false;
|
|
99
|
+
readonly retrieveSchedule: false;
|
|
100
|
+
readonly updateSchedule: false;
|
|
101
|
+
readonly deactivateSchedule: false;
|
|
102
|
+
readonly activateSchedule: false;
|
|
103
|
+
readonly deleteSchedule: false;
|
|
104
|
+
readonly listEnvVars: false;
|
|
105
|
+
readonly importEnvVars: false;
|
|
106
|
+
readonly retrieveEnvVar: false;
|
|
107
|
+
readonly createEnvVar: false;
|
|
108
|
+
readonly updateEnvVar: false;
|
|
109
|
+
readonly deleteEnvVar: false;
|
|
110
|
+
readonly generateJWTClaims: false;
|
|
111
|
+
readonly listProjectRuns: false;
|
|
112
|
+
readonly listDashboards: false;
|
|
113
|
+
readonly retrieveDashboard: false;
|
|
114
|
+
readonly createDashboard: false;
|
|
115
|
+
readonly updateDashboard: false;
|
|
116
|
+
readonly replaceDashboard: false;
|
|
117
|
+
readonly deleteDashboard: false;
|
|
118
|
+
readonly addDashboardWidget: false;
|
|
119
|
+
readonly updateDashboardWidget: false;
|
|
120
|
+
readonly deleteDashboardWidget: false;
|
|
121
|
+
readonly default: false;
|
|
122
|
+
};
|
|
123
|
+
export type RunTokenOperation = keyof typeof runTokenOperationPolicy;
|
|
124
|
+
export declare function isRunTokenOperation(operation: string): operation is RunTokenOperation;
|
|
125
|
+
export declare function supportsRunToken(operation: string): boolean;
|