@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
|
@@ -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,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,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isRunToken = isRunToken;
|
|
4
|
+
exports.resolveRunTokenCredential = resolveRunTokenCredential;
|
|
5
|
+
exports.resolveRunTokenCredentialSelection = resolveRunTokenCredentialSelection;
|
|
6
|
+
const jose_1 = require("jose");
|
|
7
|
+
const runTokenOperations_js_1 = require("./runTokenOperations.js");
|
|
8
|
+
const runTokenTelemetry_js_1 = require("./runTokenTelemetry.js");
|
|
9
|
+
const task_context_api_js_1 = require("./task-context-api.js");
|
|
10
|
+
const getEnv_js_1 = require("./utils/getEnv.js");
|
|
11
|
+
const RUN_TOKEN_TYPE = "run+jwt";
|
|
12
|
+
const RUN_TOKEN_AUDIENCE = "trigger:api";
|
|
13
|
+
const RUN_TOKEN_USE = "run";
|
|
14
|
+
const JWT_SEGMENT = /^[A-Za-z0-9_-]+$/;
|
|
15
|
+
// Fall back before expiry so a token can't expire between selection and server verification.
|
|
16
|
+
const RUN_TOKEN_EXPIRY_BUFFER_SECONDS = 5 * 60;
|
|
17
|
+
/** Format classifier only. The server, not this helper, verifies the signature and authorizes use. */
|
|
18
|
+
function isRunToken(token) {
|
|
19
|
+
const parts = token.split(".");
|
|
20
|
+
if (parts.length !== 3 || !parts.every((part) => JWT_SEGMENT.test(part)))
|
|
21
|
+
return false;
|
|
22
|
+
try {
|
|
23
|
+
return (0, jose_1.decodeProtectedHeader)(token).typ === RUN_TOKEN_TYPE;
|
|
24
|
+
}
|
|
25
|
+
catch {
|
|
26
|
+
return false;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
function selectionReason(token) {
|
|
30
|
+
if (!isRunToken(token))
|
|
31
|
+
return "malformed_token";
|
|
32
|
+
try {
|
|
33
|
+
const claims = (0, jose_1.decodeJwt)(token);
|
|
34
|
+
if (claims.token_use !== RUN_TOKEN_USE ||
|
|
35
|
+
claims.aud !== RUN_TOKEN_AUDIENCE ||
|
|
36
|
+
typeof claims.exp !== "number" ||
|
|
37
|
+
!Number.isFinite(claims.exp) ||
|
|
38
|
+
!Array.isArray(claims.scopes) ||
|
|
39
|
+
!claims.scopes.every((scope) => typeof scope === "string")) {
|
|
40
|
+
return "malformed_token";
|
|
41
|
+
}
|
|
42
|
+
if (claims.exp <= Date.now() / 1_000 + RUN_TOKEN_EXPIRY_BUFFER_SECONDS)
|
|
43
|
+
return "expired_token";
|
|
44
|
+
if (!claims.scopes.includes("admin"))
|
|
45
|
+
return "old_scope";
|
|
46
|
+
return "selected";
|
|
47
|
+
}
|
|
48
|
+
catch {
|
|
49
|
+
return "malformed_token";
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Resolve an implicit SDK credential per request, including after warm starts and token rotation.
|
|
54
|
+
* Explicit caller credentials must bypass this helper. This is not JWT verification, and an HTTP
|
|
55
|
+
* authentication failure must never cause an automatic retry with the fallback credential.
|
|
56
|
+
*/
|
|
57
|
+
function resolveRunTokenCredential(operation, fallback, recordSelection = true) {
|
|
58
|
+
return resolveRunTokenCredentialSelection(operation, fallback, recordSelection).accessToken;
|
|
59
|
+
}
|
|
60
|
+
function resolveRunTokenCredentialSelection(operation, fallback, recordSelection = true, branchOverride = false) {
|
|
61
|
+
let reason;
|
|
62
|
+
let token;
|
|
63
|
+
if (!task_context_api_js_1.taskContext.isInsideTask) {
|
|
64
|
+
reason = "outside_task";
|
|
65
|
+
}
|
|
66
|
+
else if (branchOverride) {
|
|
67
|
+
reason = "branch_override";
|
|
68
|
+
}
|
|
69
|
+
else if (!(0, runTokenOperations_js_1.supportsRunToken)(operation)) {
|
|
70
|
+
reason = "unsupported_operation";
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
token = (0, getEnv_js_1.getEnvVar)("TRIGGER_RUN_TOKEN");
|
|
74
|
+
reason = token ? selectionReason(token) : "missing_token";
|
|
75
|
+
}
|
|
76
|
+
const credential = reason === "selected" ? token : fallback;
|
|
77
|
+
if (recordSelection)
|
|
78
|
+
(0, runTokenTelemetry_js_1.recordRunTokenSelection)(operation, credential, reason);
|
|
79
|
+
return { accessToken: credential, reason };
|
|
80
|
+
}
|
|
81
|
+
//# 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;
|