@trigger.dev/core 4.8.1 → 4.8.3
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/oidc.d.ts +16 -0
- package/dist/commonjs/v3/apiClient/oidc.js +69 -0
- package/dist/commonjs/v3/apiClient/oidc.js.map +1 -0
- 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.d.ts +5 -0
- package/dist/commonjs/v3/apiClientManager/index.js +43 -9
- package/dist/commonjs/v3/apiClientManager/index.js.map +1 -1
- package/dist/commonjs/v3/build/runtime.d.ts +15 -0
- package/dist/commonjs/v3/build/runtime.js +32 -2
- package/dist/commonjs/v3/build/runtime.js.map +1 -1
- package/dist/commonjs/v3/index.d.ts +3 -0
- package/dist/commonjs/v3/index.js +6 -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 +14 -0
- package/dist/commonjs/v3/runToken.js +82 -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 +4 -3
- package/dist/commonjs/v3/schemas/common.js +18 -5
- 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/openTelemetry.js +5 -1
- package/dist/commonjs/v3/schemas/openTelemetry.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/tokens.d.ts +12 -0
- package/dist/commonjs/v3/schemas/tokens.js +13 -1
- package/dist/commonjs/v3/schemas/tokens.js.map +1 -1
- 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/oidc.d.ts +16 -0
- package/dist/esm/v3/apiClient/oidc.js +64 -0
- package/dist/esm/v3/apiClient/oidc.js.map +1 -0
- 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.d.ts +5 -0
- package/dist/esm/v3/apiClientManager/index.js +44 -10
- package/dist/esm/v3/apiClientManager/index.js.map +1 -1
- package/dist/esm/v3/build/runtime.d.ts +15 -0
- package/dist/esm/v3/build/runtime.js +28 -1
- package/dist/esm/v3/build/runtime.js.map +1 -1
- package/dist/esm/v3/index.d.ts +3 -0
- package/dist/esm/v3/index.js +3 -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 +14 -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 +4 -3
- package/dist/esm/v3/schemas/common.js +18 -5
- 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/openTelemetry.js +5 -1
- package/dist/esm/v3/schemas/openTelemetry.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/tokens.d.ts +12 -0
- package/dist/esm/v3/schemas/tokens.js +12 -0
- package/dist/esm/v3/schemas/tokens.js.map +1 -1
- 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
|
@@ -105,12 +105,13 @@ class SupervisorHttpClient {
|
|
|
105
105
|
body: JSON.stringify(body),
|
|
106
106
|
});
|
|
107
107
|
}
|
|
108
|
-
async heartbeatRun(runId, snapshotId, body, runnerId) {
|
|
108
|
+
async heartbeatRun(runId, snapshotId, body, runnerId, environmentId) {
|
|
109
109
|
return this.request("heartbeat_run", schemas_js_1.WorkerApiRunHeartbeatResponseBody, `${this.apiUrl}/engine/v1/worker-actions/runs/${runId}/snapshots/${snapshotId}/heartbeat`, {
|
|
110
110
|
method: "POST",
|
|
111
111
|
headers: {
|
|
112
112
|
...this.defaultHeaders,
|
|
113
113
|
...this.runnerIdHeader(runnerId),
|
|
114
|
+
...this.environmentIdHeader(environmentId),
|
|
114
115
|
"Content-Type": "application/json",
|
|
115
116
|
},
|
|
116
117
|
body: JSON.stringify(body),
|
|
@@ -220,6 +221,23 @@ class SupervisorHttpClient {
|
|
|
220
221
|
body: JSON.stringify(body),
|
|
221
222
|
});
|
|
222
223
|
}
|
|
224
|
+
/**
|
|
225
|
+
* Gives back a run this worker dequeued but never started. The platform requeues it with the
|
|
226
|
+
* engine's dequeue backoff and charges its dequeue budget, as the pending execution timeout
|
|
227
|
+
* would; once that budget is spent the run fails instead, and `requeued` is false.
|
|
228
|
+
*/
|
|
229
|
+
async releaseRun(runId, snapshotId, body, runnerId, environmentId) {
|
|
230
|
+
return this.request("release_run", schemas_js_1.WorkerApiRunReleaseResponseBody, `${this.apiUrl}/engine/v1/worker-actions/runs/${runId}/snapshots/${snapshotId}/release`, {
|
|
231
|
+
method: "POST",
|
|
232
|
+
headers: {
|
|
233
|
+
...this.defaultHeaders,
|
|
234
|
+
...this.runnerIdHeader(runnerId),
|
|
235
|
+
...this.environmentIdHeader(environmentId),
|
|
236
|
+
"Content-Type": "application/json",
|
|
237
|
+
},
|
|
238
|
+
body: JSON.stringify(body),
|
|
239
|
+
});
|
|
240
|
+
}
|
|
223
241
|
async submitSuspendCompletion({ runId, snapshotId, runnerId, body, }) {
|
|
224
242
|
return this.request("submit_suspend_completion", schemas_js_1.WorkerApiSuspendRunResponseBody, `${this.apiUrl}/engine/v1/worker-actions/runs/${runId}/snapshots/${snapshotId}/suspend`, {
|
|
225
243
|
method: "POST",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../../../../src/v3/runEngineWorker/supervisor/http.ts"],"names":[],"mappings":";;;AAAA,+BAA2B;
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../../../../src/v3/runEngineWorker/supervisor/http.ts"],"names":[],"mappings":"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"}
|
|
@@ -85,6 +85,7 @@ export type WorkerApiContinueRunExecutionRequestBody = z.infer<typeof WorkerApiC
|
|
|
85
85
|
export declare const WorkerApiRunRestoreOutcomeRequestBody: z.ZodObject<{
|
|
86
86
|
outcome: z.ZodEnum<{
|
|
87
87
|
fail: "fail";
|
|
88
|
+
fallback: "fallback";
|
|
88
89
|
requeue: "requeue";
|
|
89
90
|
}>;
|
|
90
91
|
reason: z.ZodString;
|
|
@@ -95,6 +96,15 @@ export declare const WorkerApiRunRestoreOutcomeResponseBody: z.ZodObject<{
|
|
|
95
96
|
ok: z.ZodLiteral<true>;
|
|
96
97
|
}, z.core.$strip>;
|
|
97
98
|
export type WorkerApiRunRestoreOutcomeResponseBody = z.infer<typeof WorkerApiRunRestoreOutcomeResponseBody>;
|
|
99
|
+
export declare const WorkerApiRunReleaseRequestBody: z.ZodObject<{
|
|
100
|
+
reason: z.ZodString;
|
|
101
|
+
}, z.core.$strip>;
|
|
102
|
+
export type WorkerApiRunReleaseRequestBody = z.infer<typeof WorkerApiRunReleaseRequestBody>;
|
|
103
|
+
export declare const WorkerApiRunReleaseResponseBody: z.ZodObject<{
|
|
104
|
+
ok: z.ZodLiteral<true>;
|
|
105
|
+
requeued: z.ZodBoolean;
|
|
106
|
+
}, z.core.$strip>;
|
|
107
|
+
export type WorkerApiRunReleaseResponseBody = z.infer<typeof WorkerApiRunReleaseResponseBody>;
|
|
98
108
|
export declare const WorkerApiConnectRequestBody: z.ZodObject<{
|
|
99
109
|
metadata: z.ZodRecord<z.ZodString, z.ZodAny>;
|
|
100
110
|
}, z.core.$strip>;
|
|
@@ -166,6 +176,7 @@ export declare const WorkerApiDequeueResponseBody: z.ZodArray<z.ZodObject<{
|
|
|
166
176
|
dequeuedAt: z.ZodCoercedDate<unknown>;
|
|
167
177
|
workerQueueLength: z.ZodOptional<z.ZodNumber>;
|
|
168
178
|
image: z.ZodOptional<z.ZodString>;
|
|
179
|
+
templateKey: z.ZodOptional<z.ZodString>;
|
|
169
180
|
checkpoint: z.ZodOptional<z.ZodObject<{
|
|
170
181
|
id: z.ZodString;
|
|
171
182
|
type: z.ZodEnum<{
|
|
@@ -299,16 +310,47 @@ export type WorkerApiDequeueResponseBody = z.infer<typeof WorkerApiDequeueRespon
|
|
|
299
310
|
export declare const WorkerApiRunHeartbeatRequestBody: z.ZodObject<{
|
|
300
311
|
cpu: z.ZodOptional<z.ZodNumber>;
|
|
301
312
|
memory: z.ZodOptional<z.ZodNumber>;
|
|
313
|
+
runToken: z.ZodCatch<z.ZodOptional<z.ZodObject<{
|
|
314
|
+
expiresAt: z.ZodNumber;
|
|
315
|
+
trigger: z.ZodCatch<z.ZodEnum<{
|
|
316
|
+
heartbeat: "heartbeat";
|
|
317
|
+
restore: "restore";
|
|
318
|
+
}>>;
|
|
319
|
+
installation: z.ZodCatch<z.ZodOptional<import("../../utils/zod.js").CompatibleZodDiscriminatedUnion<readonly [z.ZodObject<{
|
|
320
|
+
result: z.ZodLiteral<"success">;
|
|
321
|
+
trigger: z.ZodCatch<z.ZodEnum<{
|
|
322
|
+
heartbeat: "heartbeat";
|
|
323
|
+
restore: "restore";
|
|
324
|
+
}>>;
|
|
325
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
326
|
+
result: z.ZodLiteral<"failure">;
|
|
327
|
+
reason: z.ZodCatch<z.ZodEnum<{
|
|
328
|
+
ack_timeout: "ack_timeout";
|
|
329
|
+
identity_mismatch: "identity_mismatch";
|
|
330
|
+
invalid_token: "invalid_token";
|
|
331
|
+
ipc_error: "ipc_error";
|
|
332
|
+
no_child: "no_child";
|
|
333
|
+
other: "other";
|
|
334
|
+
unsupported: "unsupported";
|
|
335
|
+
}>>;
|
|
336
|
+
trigger: z.ZodCatch<z.ZodEnum<{
|
|
337
|
+
heartbeat: "heartbeat";
|
|
338
|
+
restore: "restore";
|
|
339
|
+
}>>;
|
|
340
|
+
}, z.core.$strip>]>>>;
|
|
341
|
+
}, z.core.$strip>>>;
|
|
302
342
|
}, z.core.$strip>;
|
|
303
343
|
export type WorkerApiRunHeartbeatRequestBody = z.infer<typeof WorkerApiRunHeartbeatRequestBody>;
|
|
304
344
|
export declare const WorkerApiRunHeartbeatResponseBody: z.ZodObject<{
|
|
305
345
|
ok: z.ZodLiteral<true>;
|
|
346
|
+
runToken: z.ZodOptional<z.ZodString>;
|
|
306
347
|
}, z.core.$strip>;
|
|
307
348
|
export type WorkerApiRunHeartbeatResponseBody = z.infer<typeof WorkerApiRunHeartbeatResponseBody>;
|
|
308
349
|
export declare const WorkerApiRunAttemptStartRequestBody: z.ZodObject<{
|
|
309
350
|
isWarmStart: z.ZodOptional<z.ZodBoolean>;
|
|
310
351
|
workerCell: z.ZodCatch<z.ZodOptional<z.ZodString>>;
|
|
311
352
|
workerLane: z.ZodCatch<z.ZodOptional<z.ZodString>>;
|
|
353
|
+
supportsRunTokenRefresh: z.ZodCatch<z.ZodOptional<z.ZodBoolean>>;
|
|
312
354
|
}, z.core.$strip>;
|
|
313
355
|
export type WorkerApiRunAttemptStartRequestBody = z.infer<typeof WorkerApiRunAttemptStartRequestBody>;
|
|
314
356
|
export declare const WorkerApiRunAttemptStartResponseBody: z.ZodIntersection<z.ZodIntersection<z.ZodObject<{
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.WorkerApiRunSnapshotsSinceResponseBody = exports.WorkerApiSuspendCompletionResponseBody = exports.WorkerApiDebugLogBody = exports.WorkerApiDebugLogBodyInput = exports.DebugLogPropertiesInput = exports.DebugLogProperties = exports.DebugLogPropertiesValue = exports.WorkerApiRunLatestSnapshotResponseBody = exports.WorkerApiRunAttemptCompleteResponseBody = exports.WorkerApiRunAttemptCompleteRequestBody = exports.WorkerApiRunAttemptStartResponseBody = exports.WorkerApiRunAttemptStartRequestBody = exports.WorkerApiRunHeartbeatResponseBody = exports.WorkerApiRunHeartbeatRequestBody = exports.WorkerApiDequeueResponseBody = exports.WorkerApiDequeueRequestBody = exports.WorkerQueueClass = exports.WorkerApiConnectResponseBody = exports.WorkerApiConnectRequestBody = exports.WorkerApiRunRestoreOutcomeResponseBody = exports.WorkerApiRunRestoreOutcomeRequestBody = exports.WorkerApiContinueRunExecutionRequestBody = exports.WorkerApiSuspendRunResponseBody = exports.WorkerApiSuspendRunRequestBody = exports.WorkerApiHeartbeatResponseBody = exports.WorkerApiHeartbeatRequestBody = void 0;
|
|
3
|
+
exports.WorkerApiRunSnapshotsSinceResponseBody = exports.WorkerApiSuspendCompletionResponseBody = exports.WorkerApiDebugLogBody = exports.WorkerApiDebugLogBodyInput = exports.DebugLogPropertiesInput = exports.DebugLogProperties = exports.DebugLogPropertiesValue = exports.WorkerApiRunLatestSnapshotResponseBody = exports.WorkerApiRunAttemptCompleteResponseBody = exports.WorkerApiRunAttemptCompleteRequestBody = exports.WorkerApiRunAttemptStartResponseBody = exports.WorkerApiRunAttemptStartRequestBody = exports.WorkerApiRunHeartbeatResponseBody = exports.WorkerApiRunHeartbeatRequestBody = exports.WorkerApiDequeueResponseBody = exports.WorkerApiDequeueRequestBody = exports.WorkerQueueClass = exports.WorkerApiConnectResponseBody = exports.WorkerApiConnectRequestBody = exports.WorkerApiRunReleaseResponseBody = exports.WorkerApiRunReleaseRequestBody = exports.WorkerApiRunRestoreOutcomeResponseBody = exports.WorkerApiRunRestoreOutcomeRequestBody = exports.WorkerApiContinueRunExecutionRequestBody = exports.WorkerApiSuspendRunResponseBody = exports.WorkerApiSuspendRunRequestBody = exports.WorkerApiHeartbeatResponseBody = exports.WorkerApiHeartbeatRequestBody = void 0;
|
|
4
4
|
const v4_1 = require("zod/v4");
|
|
5
5
|
const workerQueue_js_1 = require("../workerQueue.js");
|
|
6
6
|
const zod_js_1 = require("../../utils/zod.js");
|
|
7
7
|
const common_js_1 = require("../../schemas/common.js");
|
|
8
8
|
const runEngine_js_1 = require("../../schemas/runEngine.js");
|
|
9
|
+
const runTokenRefresh_js_1 = require("../runTokenRefresh.js");
|
|
9
10
|
exports.WorkerApiHeartbeatRequestBody = v4_1.z.object({
|
|
10
11
|
cpu: v4_1.z.object({
|
|
11
12
|
used: v4_1.z.number(),
|
|
@@ -35,7 +36,8 @@ exports.WorkerApiSuspendRunResponseBody = v4_1.z.object({
|
|
|
35
36
|
});
|
|
36
37
|
exports.WorkerApiContinueRunExecutionRequestBody = runEngine_js_1.ExecutionResult;
|
|
37
38
|
exports.WorkerApiRunRestoreOutcomeRequestBody = v4_1.z.object({
|
|
38
|
-
|
|
39
|
+
// `fallback` requeues a run that has not started onto the worker queue the platform falls back to.
|
|
40
|
+
outcome: v4_1.z.enum(["requeue", "fail", "fallback"]),
|
|
39
41
|
reason: v4_1.z.string().max(256),
|
|
40
42
|
// Matches the cap the engine applies to a run error's message.
|
|
41
43
|
message: v4_1.z
|
|
@@ -46,6 +48,14 @@ exports.WorkerApiRunRestoreOutcomeRequestBody = v4_1.z.object({
|
|
|
46
48
|
exports.WorkerApiRunRestoreOutcomeResponseBody = v4_1.z.object({
|
|
47
49
|
ok: v4_1.z.literal(true),
|
|
48
50
|
});
|
|
51
|
+
exports.WorkerApiRunReleaseRequestBody = v4_1.z.object({
|
|
52
|
+
reason: v4_1.z.string().min(1).max(256),
|
|
53
|
+
});
|
|
54
|
+
exports.WorkerApiRunReleaseResponseBody = v4_1.z.object({
|
|
55
|
+
ok: v4_1.z.literal(true),
|
|
56
|
+
// False when the run could not be requeued, as when its dequeue budget is used up, so it failed.
|
|
57
|
+
requeued: v4_1.z.boolean(),
|
|
58
|
+
});
|
|
49
59
|
exports.WorkerApiConnectRequestBody = v4_1.z.object({
|
|
50
60
|
metadata: v4_1.z.record(v4_1.z.string(), v4_1.z.any()),
|
|
51
61
|
});
|
|
@@ -73,15 +83,21 @@ exports.WorkerApiDequeueResponseBody = runEngine_js_1.DequeuedMessage.array();
|
|
|
73
83
|
exports.WorkerApiRunHeartbeatRequestBody = v4_1.z.object({
|
|
74
84
|
cpu: v4_1.z.number().optional(),
|
|
75
85
|
memory: v4_1.z.number().optional(),
|
|
86
|
+
// A malformed report must never fail the heartbeat itself.
|
|
87
|
+
runToken: runTokenRefresh_js_1.RunTokenHeartbeatReport.optional().catch(undefined),
|
|
76
88
|
});
|
|
77
89
|
exports.WorkerApiRunHeartbeatResponseBody = v4_1.z.object({
|
|
78
90
|
ok: v4_1.z.literal(true),
|
|
91
|
+
/** A replacement TRIGGER_RUN_TOKEN, only when the runner's reported token is due for refresh. */
|
|
92
|
+
runToken: v4_1.z.string().optional(),
|
|
79
93
|
});
|
|
80
94
|
exports.WorkerApiRunAttemptStartRequestBody = v4_1.z.object({
|
|
81
95
|
isWarmStart: v4_1.z.boolean().optional(),
|
|
82
96
|
// Set by the supervisor, not the runner. A value this webapp cannot accept drops the stamp, never the attempt.
|
|
83
97
|
workerCell: v4_1.z.string().max(64).optional().catch(undefined),
|
|
84
98
|
workerLane: v4_1.z.string().max(32).optional().catch(undefined),
|
|
99
|
+
/** Set by runners that report and install run-token refreshes, so the attempt can get a short-lived token. */
|
|
100
|
+
supportsRunTokenRefresh: v4_1.z.boolean().optional().catch(undefined),
|
|
85
101
|
});
|
|
86
102
|
exports.WorkerApiRunAttemptStartResponseBody = runEngine_js_1.StartRunAttemptResult.and(v4_1.z.object({
|
|
87
103
|
envVars: v4_1.z.record(v4_1.z.string(), v4_1.z.string()),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../../../src/v3/runEngineWorker/supervisor/schemas.ts"],"names":[],"mappings":";;;AAAA,+BAA2B;AAC3B,sDAAqE;AACrE,+CAAwD;AACxD,uDAAiE;AACjE,6DAQoC;
|
|
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;
|
|
@@ -12,12 +12,17 @@ const socket_io_client_1 = require("socket.io-client");
|
|
|
12
12
|
const util_js_1 = require("./util.js");
|
|
13
13
|
const interval_js_1 = require("../../utils/interval.js");
|
|
14
14
|
const structuredLogger_js_1 = require("../../utils/structuredLogger.js");
|
|
15
|
+
const RECONNECT_DELAY_MS = 1_000;
|
|
16
|
+
const RECONNECT_DELAY_MAX_MS = 30_000;
|
|
15
17
|
class SupervisorSession extends events_1.default {
|
|
16
18
|
opts;
|
|
17
19
|
httpClient;
|
|
18
20
|
logger = new structuredLogger_js_1.SimpleStructuredLogger("supervisor-session");
|
|
19
21
|
runNotificationsEnabled;
|
|
20
22
|
runNotificationsSocket;
|
|
23
|
+
/** The runs subscribed to, asked for again on every connection: the platform keeps subscriptions per connection. */
|
|
24
|
+
runSubscriptions = new Set();
|
|
25
|
+
reconnectDelayMs = RECONNECT_DELAY_MS;
|
|
21
26
|
queueConsumerEnabled;
|
|
22
27
|
consumerPool;
|
|
23
28
|
heartbeat;
|
|
@@ -70,11 +75,14 @@ class SupervisorSession extends events_1.default {
|
|
|
70
75
|
}
|
|
71
76
|
subscribeToRunNotifications(runFriendlyIds) {
|
|
72
77
|
this.logger.debug("Subscribing to run notifications", { runFriendlyIds });
|
|
73
|
-
|
|
74
|
-
this.
|
|
78
|
+
for (const runFriendlyId of runFriendlyIds) {
|
|
79
|
+
this.runSubscriptions.add(runFriendlyId);
|
|
80
|
+
}
|
|
81
|
+
// Not connected, the connect handler asks for the whole set; asking here too would ask twice.
|
|
82
|
+
if (!this.runNotificationsSocket?.connected) {
|
|
75
83
|
return;
|
|
76
84
|
}
|
|
77
|
-
this.runNotificationsSocket
|
|
85
|
+
this.subscribe(this.runNotificationsSocket, runFriendlyIds);
|
|
78
86
|
Promise.allSettled(runFriendlyIds.map((runFriendlyId) => this.httpClient.sendDebugLog(runFriendlyId, {
|
|
79
87
|
time: new Date(),
|
|
80
88
|
message: "run:subscribe supervisor -> platform",
|
|
@@ -82,8 +90,10 @@ class SupervisorSession extends events_1.default {
|
|
|
82
90
|
}
|
|
83
91
|
unsubscribeFromRunNotifications(runFriendlyIds) {
|
|
84
92
|
this.logger.debug("Unsubscribing from run notifications", { runFriendlyIds });
|
|
85
|
-
|
|
86
|
-
this.
|
|
93
|
+
for (const runFriendlyId of runFriendlyIds) {
|
|
94
|
+
this.runSubscriptions.delete(runFriendlyId);
|
|
95
|
+
}
|
|
96
|
+
if (!this.runNotificationsSocket?.connected) {
|
|
87
97
|
return;
|
|
88
98
|
}
|
|
89
99
|
this.runNotificationsSocket.emit("run:unsubscribe", { version: "1", runFriendlyIds });
|
|
@@ -95,6 +105,9 @@ class SupervisorSession extends events_1.default {
|
|
|
95
105
|
},
|
|
96
106
|
})));
|
|
97
107
|
}
|
|
108
|
+
subscribe(socket, runFriendlyIds) {
|
|
109
|
+
socket.emit("run:subscribe", { version: "1", runFriendlyIds });
|
|
110
|
+
}
|
|
98
111
|
createRunNotificationsSocket() {
|
|
99
112
|
const wsUrl = new URL(this.opts.apiUrl);
|
|
100
113
|
wsUrl.pathname = "/worker";
|
|
@@ -112,15 +125,38 @@ class SupervisorSession extends events_1.default {
|
|
|
112
125
|
});
|
|
113
126
|
socket.on("connect", () => {
|
|
114
127
|
this.logger.log("[WS] Connected to platform");
|
|
128
|
+
this.reconnectDelayMs = RECONNECT_DELAY_MS;
|
|
129
|
+
if (this.runSubscriptions.size > 0) {
|
|
130
|
+
this.logger.log("[WS] Subscribing to run notifications on connect", {
|
|
131
|
+
runs: this.runSubscriptions.size,
|
|
132
|
+
});
|
|
133
|
+
this.subscribe(socket, [...this.runSubscriptions]);
|
|
134
|
+
}
|
|
115
135
|
});
|
|
116
136
|
socket.on("connect_error", (error) => {
|
|
117
137
|
this.logger.error("[WS] Connection error", { error });
|
|
138
|
+
this.reconnectIfGivenUp(socket);
|
|
118
139
|
});
|
|
119
140
|
socket.on("disconnect", (reason, description) => {
|
|
120
141
|
this.logger.log("[WS] Disconnected from platform", { reason, description });
|
|
142
|
+
this.reconnectIfGivenUp(socket);
|
|
121
143
|
});
|
|
122
144
|
return socket;
|
|
123
145
|
}
|
|
146
|
+
/** socket.io stops after the platform rejects a handshake or disconnects the socket; the session does not. */
|
|
147
|
+
reconnectIfGivenUp(socket) {
|
|
148
|
+
if (socket.active || this.runNotificationsSocket !== socket) {
|
|
149
|
+
return;
|
|
150
|
+
}
|
|
151
|
+
const delayMs = this.reconnectDelayMs;
|
|
152
|
+
this.reconnectDelayMs = Math.min(delayMs * 2, RECONNECT_DELAY_MAX_MS);
|
|
153
|
+
this.logger.log("[WS] Connecting to platform again", { delayMs });
|
|
154
|
+
setTimeout(() => {
|
|
155
|
+
if (this.runNotificationsSocket === socket) {
|
|
156
|
+
socket.connect();
|
|
157
|
+
}
|
|
158
|
+
}, delayMs).unref();
|
|
159
|
+
}
|
|
124
160
|
async start() {
|
|
125
161
|
const connect = await this.httpClient.connect({
|
|
126
162
|
metadata: {
|
|
@@ -160,7 +196,9 @@ class SupervisorSession extends events_1.default {
|
|
|
160
196
|
async stop() {
|
|
161
197
|
await this.consumerPool.stop();
|
|
162
198
|
this.heartbeat.stop();
|
|
163
|
-
this.runNotificationsSocket
|
|
199
|
+
const socket = this.runNotificationsSocket;
|
|
200
|
+
this.runNotificationsSocket = undefined;
|
|
201
|
+
socket?.disconnect();
|
|
164
202
|
}
|
|
165
203
|
getHeartbeatBody() {
|
|
166
204
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../../../../src/v3/runEngineWorker/supervisor/session.ts"],"names":[],"mappings":";;;;;;AAAA,uCAAiD;AASjD,uDAAyD;AAEzD,oDAAkC;AAClC,oDAA8C;AAE9C,uDAAsC;AAEtC,uCAAoD;AACpD,yDAA0D;AAC1D,yEAAyE;AAqBzE,uBAA+B,SAAQ,gBAA0B;
|
|
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<{
|
|
@@ -5,7 +5,7 @@ const v4_1 = require("zod/v4");
|
|
|
5
5
|
const zod_js_1 = require("../../utils/zod.js");
|
|
6
6
|
const schemas_js_1 = require("../supervisor/schemas.js");
|
|
7
7
|
exports.WorkloadHeartbeatRequestBody = schemas_js_1.WorkerApiRunHeartbeatRequestBody;
|
|
8
|
-
exports.WorkloadHeartbeatResponseBody = schemas_js_1.
|
|
8
|
+
exports.WorkloadHeartbeatResponseBody = schemas_js_1.WorkerApiRunHeartbeatResponseBody;
|
|
9
9
|
exports.WorkloadSuspendRunResponseBody = (0, zod_js_1.discriminatedUnion)("ok", [
|
|
10
10
|
v4_1.z.object({
|
|
11
11
|
ok: v4_1.z.literal(true),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../../../src/v3/runEngineWorker/workload/schemas.ts"],"names":[],"mappings":";;;AAAA,+BAA2B;AAC3B,+CAAwD;AACxD,yDAWkC;AAErB,QAAA,4BAA4B,GAAG,6CAAgC,CAAC;AAGhE,QAAA,6BAA6B,GAAG,
|
|
1
|
+
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../../../src/v3/runEngineWorker/workload/schemas.ts"],"names":[],"mappings":";;;AAAA,+BAA2B;AAC3B,+CAAwD;AACxD,yDAWkC;AAErB,QAAA,4BAA4B,GAAG,6CAAgC,CAAC;AAGhE,QAAA,6BAA6B,GAAG,8CAAiC,CAAC;AAGlE,QAAA,8BAA8B,GAAG,IAAA,2BAAkB,EAAC,IAAI,EAAE;IACrE,MAAC,CAAC,MAAM,CAAC;QACP,EAAE,EAAE,MAAC,CAAC,OAAO,CAAC,IAAI,CAAC;KACpB,CAAC;IACF,MAAC,CAAC,MAAM,CAAC;QACP,EAAE,EAAE,MAAC,CAAC,OAAO,CAAC,KAAK,CAAC;QACpB,KAAK,EAAE,MAAC,CAAC,MAAM,EAAE;KAClB,CAAC;CACH,CAAC,CAAC;AAGU,QAAA,wCAAwC,GAAG,qDAAwC,CAAC;AAKpF,QAAA,qCAAqC,GAAG,mDAAsC,CAAC;AAK/E,QAAA,sCAAsC,GAAG,oDAAuC,CAAC;AAKjF,QAAA,kCAAkC,GAAG,gDAAmC,CAAC;AAGzE,QAAA,mCAAmC,GAAG,iDAAoC,CAAC;AAK3E,QAAA,qCAAqC,GAAG,mDAAsC,CAAC;AAK/E,QAAA,2BAA2B,GAAG,kCAAqB,CAAC;AAGpD,QAAA,qCAAqC,GAAG,mDAAsC,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
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
|
+
export declare function runTokenSelectionReason(token: string, expiryBufferSeconds?: number): RunTokenSelectionReason;
|
|
5
|
+
/**
|
|
6
|
+
* Resolve an implicit SDK credential per request, including after warm starts and token rotation.
|
|
7
|
+
* Explicit caller credentials must bypass this helper. This is not JWT verification, and an HTTP
|
|
8
|
+
* authentication failure must never cause an automatic retry with the fallback credential.
|
|
9
|
+
*/
|
|
10
|
+
export declare function resolveRunTokenCredential(operation: string, fallback: string | undefined, recordSelection?: boolean): string | undefined;
|
|
11
|
+
export declare function resolveRunTokenCredentialSelection(operation: string, fallback: string | undefined, recordSelection?: boolean, branchOverride?: boolean): {
|
|
12
|
+
accessToken: string | undefined;
|
|
13
|
+
reason: RunTokenSelectionReason;
|
|
14
|
+
};
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isRunToken = isRunToken;
|
|
4
|
+
exports.runTokenSelectionReason = runTokenSelectionReason;
|
|
5
|
+
exports.resolveRunTokenCredential = resolveRunTokenCredential;
|
|
6
|
+
exports.resolveRunTokenCredentialSelection = resolveRunTokenCredentialSelection;
|
|
7
|
+
const jose_1 = require("jose");
|
|
8
|
+
const runTokenOperations_js_1 = require("./runTokenOperations.js");
|
|
9
|
+
const runTokenTelemetry_js_1 = require("./runTokenTelemetry.js");
|
|
10
|
+
const task_context_api_js_1 = require("./task-context-api.js");
|
|
11
|
+
const getEnv_js_1 = require("./utils/getEnv.js");
|
|
12
|
+
const RUN_TOKEN_TYPE = "run+jwt";
|
|
13
|
+
const RUN_TOKEN_AUDIENCE = "trigger:api";
|
|
14
|
+
const RUN_TOKEN_USE = "run";
|
|
15
|
+
const JWT_SEGMENT = /^[A-Za-z0-9_-]+$/;
|
|
16
|
+
// Fall back before expiry so a token can't expire between selection and server verification.
|
|
17
|
+
const RUN_TOKEN_EXPIRY_BUFFER_SECONDS = 5 * 60;
|
|
18
|
+
/** Format classifier only. The server, not this helper, verifies the signature and authorizes use. */
|
|
19
|
+
function isRunToken(token) {
|
|
20
|
+
const parts = token.split(".");
|
|
21
|
+
if (parts.length !== 3 || !parts.every((part) => JWT_SEGMENT.test(part)))
|
|
22
|
+
return false;
|
|
23
|
+
try {
|
|
24
|
+
return (0, jose_1.decodeProtectedHeader)(token).typ === RUN_TOKEN_TYPE;
|
|
25
|
+
}
|
|
26
|
+
catch {
|
|
27
|
+
return false;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
function runTokenSelectionReason(token, expiryBufferSeconds = RUN_TOKEN_EXPIRY_BUFFER_SECONDS) {
|
|
31
|
+
if (!isRunToken(token))
|
|
32
|
+
return "malformed_token";
|
|
33
|
+
try {
|
|
34
|
+
const claims = (0, jose_1.decodeJwt)(token);
|
|
35
|
+
if (claims.token_use !== RUN_TOKEN_USE ||
|
|
36
|
+
claims.aud !== RUN_TOKEN_AUDIENCE ||
|
|
37
|
+
typeof claims.exp !== "number" ||
|
|
38
|
+
!Number.isFinite(claims.exp) ||
|
|
39
|
+
!Array.isArray(claims.scopes) ||
|
|
40
|
+
!claims.scopes.every((scope) => typeof scope === "string")) {
|
|
41
|
+
return "malformed_token";
|
|
42
|
+
}
|
|
43
|
+
if (claims.exp <= Date.now() / 1_000 + expiryBufferSeconds)
|
|
44
|
+
return "expired_token";
|
|
45
|
+
if (!claims.scopes.includes("admin"))
|
|
46
|
+
return "old_scope";
|
|
47
|
+
return "selected";
|
|
48
|
+
}
|
|
49
|
+
catch {
|
|
50
|
+
return "malformed_token";
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Resolve an implicit SDK credential per request, including after warm starts and token rotation.
|
|
55
|
+
* Explicit caller credentials must bypass this helper. This is not JWT verification, and an HTTP
|
|
56
|
+
* authentication failure must never cause an automatic retry with the fallback credential.
|
|
57
|
+
*/
|
|
58
|
+
function resolveRunTokenCredential(operation, fallback, recordSelection = true) {
|
|
59
|
+
return resolveRunTokenCredentialSelection(operation, fallback, recordSelection).accessToken;
|
|
60
|
+
}
|
|
61
|
+
function resolveRunTokenCredentialSelection(operation, fallback, recordSelection = true, branchOverride = false) {
|
|
62
|
+
let reason;
|
|
63
|
+
let token;
|
|
64
|
+
if (!task_context_api_js_1.taskContext.isInsideTask) {
|
|
65
|
+
reason = "outside_task";
|
|
66
|
+
}
|
|
67
|
+
else if (branchOverride) {
|
|
68
|
+
reason = "branch_override";
|
|
69
|
+
}
|
|
70
|
+
else if (!(0, runTokenOperations_js_1.supportsRunToken)(operation)) {
|
|
71
|
+
reason = "unsupported_operation";
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
token = (0, getEnv_js_1.getEnvVar)("TRIGGER_RUN_TOKEN");
|
|
75
|
+
reason = token ? runTokenSelectionReason(token) : "missing_token";
|
|
76
|
+
}
|
|
77
|
+
const credential = reason === "selected" ? token : fallback;
|
|
78
|
+
if (recordSelection)
|
|
79
|
+
(0, runTokenTelemetry_js_1.recordRunTokenSelection)(operation, credential, reason);
|
|
80
|
+
return { accessToken: credential, reason };
|
|
81
|
+
}
|
|
82
|
+
//# 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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"}
|