terse-sdk 0.1.57 → 0.1.59
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/__typetest.d.ts +2 -0
- package/dist/__typetest.d.ts.map +1 -0
- package/dist/__typetest.js +25 -0
- package/dist/__typetest.js.map +1 -0
- package/dist/context.d.ts +2 -2
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +0 -15
- package/dist/context.js.map +1 -1
- package/dist/hmac.d.ts +2 -2
- package/dist/hmac.d.ts.map +1 -1
- package/dist/hmac.js +27 -13
- package/dist/hmac.js.map +1 -1
- package/dist/index.d.ts +63 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +291 -40
- package/dist/index.js.map +1 -1
- package/dist/runIdentity/alsSource.d.ts +3 -0
- package/dist/runIdentity/alsSource.d.ts.map +1 -0
- package/dist/runIdentity/alsSource.js +9 -0
- package/dist/runIdentity/alsSource.js.map +1 -0
- package/dist/runIdentity/index.d.ts +11 -0
- package/dist/runIdentity/index.d.ts.map +1 -0
- package/dist/runIdentity/index.js +12 -0
- package/dist/runIdentity/index.js.map +1 -0
- package/dist/runIdentity/jobContextStore.d.ts +8 -0
- package/dist/runIdentity/jobContextStore.d.ts.map +1 -0
- package/dist/runIdentity/jobContextStore.js +11 -0
- package/dist/runIdentity/jobContextStore.js.map +1 -0
- package/dist/runIdentity/workflowSource.d.ts +3 -0
- package/dist/runIdentity/workflowSource.d.ts.map +1 -0
- package/dist/runIdentity/workflowSource.js +16 -0
- package/dist/runIdentity/workflowSource.js.map +1 -0
- package/dist/types.d.ts +16 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +7 -2
- package/dist/memoryfs/file.d.ts +0 -16
- package/dist/memoryfs/file.d.ts.map +0 -1
- package/dist/memoryfs/file.js +0 -40
- package/dist/memoryfs/file.js.map +0 -1
- package/dist/memoryfs/index.d.ts +0 -25
- package/dist/memoryfs/index.d.ts.map +0 -1
- package/dist/memoryfs/index.js +0 -60
- package/dist/memoryfs/index.js.map +0 -1
- package/dist/memoryfs/memory.d.ts +0 -21
- package/dist/memoryfs/memory.d.ts.map +0 -1
- package/dist/memoryfs/memory.js +0 -196
- package/dist/memoryfs/memory.js.map +0 -1
- package/dist/memoryfs/paths.d.ts +0 -7
- package/dist/memoryfs/paths.d.ts.map +0 -1
- package/dist/memoryfs/paths.js +0 -39
- package/dist/memoryfs/paths.js.map +0 -1
- package/dist/memoryfs/store.d.ts +0 -18
- package/dist/memoryfs/store.d.ts.map +0 -1
- package/dist/memoryfs/store.js +0 -89
- package/dist/memoryfs/store.js.map +0 -1
- package/dist/perf.d.ts +0 -9
- package/dist/perf.d.ts.map +0 -1
- package/dist/perf.js +0 -57
- package/dist/perf.js.map +0 -1
- package/dist/shared/ApiRoutes.d.ts +0 -348
- package/dist/shared/ApiRoutes.d.ts.map +0 -1
- package/dist/shared/ApiRoutes.js +0 -325
- package/dist/shared/ApiRoutes.js.map +0 -1
- package/dist/shared/Configs.d.ts +0 -488
- package/dist/shared/Configs.d.ts.map +0 -1
- package/dist/shared/Configs.js +0 -785
- package/dist/shared/Configs.js.map +0 -1
- package/dist/shared/Entities.d.ts +0 -8
- package/dist/shared/Entities.d.ts.map +0 -1
- package/dist/shared/Entities.js +0 -9
- package/dist/shared/Entities.js.map +0 -1
- package/dist/shared/Integrations.d.ts +0 -235
- package/dist/shared/Integrations.d.ts.map +0 -1
- package/dist/shared/Integrations.js +0 -143
- package/dist/shared/Integrations.js.map +0 -1
- package/dist/shared/ModelEvents.d.ts +0 -176
- package/dist/shared/ModelEvents.d.ts.map +0 -1
- package/dist/shared/ModelEvents.js +0 -29
- package/dist/shared/ModelEvents.js.map +0 -1
- package/dist/shared/RunHistoryTypes.d.ts +0 -95
- package/dist/shared/RunHistoryTypes.d.ts.map +0 -1
- package/dist/shared/RunHistoryTypes.js +0 -11
- package/dist/shared/RunHistoryTypes.js.map +0 -1
- package/dist/shared/Survey.d.ts +0 -10
- package/dist/shared/Survey.d.ts.map +0 -1
- package/dist/shared/Survey.js +0 -2
- package/dist/shared/Survey.js.map +0 -1
- package/dist/shared/TicketSystem.d.ts +0 -154
- package/dist/shared/TicketSystem.d.ts.map +0 -1
- package/dist/shared/TicketSystem.js +0 -21
- package/dist/shared/TicketSystem.js.map +0 -1
- package/dist/shared/types.d.ts +0 -1732
- package/dist/shared/types.d.ts.map +0 -1
- package/dist/shared/types.js +0 -17
- package/dist/shared/types.js.map +0 -1
package/dist/index.js
CHANGED
|
@@ -1,22 +1,46 @@
|
|
|
1
|
-
import
|
|
1
|
+
import ms from "ms";
|
|
2
|
+
import { ApiRoutes, IntegrationType, sdkAgentRunRequestBodySchema, sdkInputRequestRegisterResponseSchema, sdkStateGetResponseSchema, stripZodJsonSchemaMetadata, webhookJobChallengeRequestSchema, webhookJobTriggerRequestSchema } from "terse-types";
|
|
3
|
+
import { createHook, fetch as workflowFetch, sleep as workflowSleep } from "workflow";
|
|
2
4
|
import { z } from "zod";
|
|
3
|
-
import { claimAgentApprovalHandling,
|
|
5
|
+
import { claimAgentApprovalHandling, releaseAgentApprovalHandling } from "./context.js";
|
|
4
6
|
import { computeChallengeSignature, verifyIncomingRequest } from "./hmac.js";
|
|
7
|
+
import { resolveRunIdentity } from "./runIdentity/index.js";
|
|
5
8
|
import { openSessionStream } from "./sessionStream.js";
|
|
6
9
|
import { createSDKTrigger } from "./types.js";
|
|
7
10
|
function resolveTerseBackendUrl() {
|
|
8
11
|
return process.env.TERSE_BACKEND_URL || "https://api.useterse.ai";
|
|
9
12
|
}
|
|
10
13
|
function resolveApiBaseUrl() {
|
|
11
|
-
return
|
|
14
|
+
return resolveTerseBackendUrl();
|
|
15
|
+
}
|
|
16
|
+
async function buildSdkRequestHeaders() {
|
|
17
|
+
const apiKey = process.env.TERSE_API_KEY;
|
|
18
|
+
if (!apiKey) {
|
|
19
|
+
throw new Error("TERSE_API_KEY environment variable is not set.");
|
|
20
|
+
}
|
|
21
|
+
const headers = {
|
|
22
|
+
Authorization: `Bearer ${apiKey}`,
|
|
23
|
+
"Content-Type": "application/json",
|
|
24
|
+
Accept: "text/event-stream"
|
|
25
|
+
};
|
|
26
|
+
const { sessionId, runId, projectId, jobName } = await resolveRunIdentity();
|
|
27
|
+
if (sessionId)
|
|
28
|
+
headers["X-Terse-Session-Id"] = sessionId;
|
|
29
|
+
if (runId)
|
|
30
|
+
headers["X-Terse-Run-Id"] = runId;
|
|
31
|
+
if (projectId)
|
|
32
|
+
headers["X-Terse-Project-Id"] = projectId;
|
|
33
|
+
if (jobName)
|
|
34
|
+
headers["X-Terse-Job-Name"] = jobName;
|
|
35
|
+
return headers;
|
|
12
36
|
}
|
|
13
37
|
export const TERSE_JOB_WEBHOOK_TRIGGER_PATH = ApiRoutes.SDK.JOB_WEBHOOK_TRIGGER;
|
|
14
|
-
export {
|
|
38
|
+
export { isAgentApprovalHandlingClaimed } from "./context.js";
|
|
15
39
|
export { SessionStreamError, openListenStream, openSessionStream } from "./sessionStream.js";
|
|
16
40
|
// Re-export SDK-specific types
|
|
17
41
|
export { createSDKTrigger, registerEventTransform } from "./types.js";
|
|
18
42
|
// Re-export shared types for consumer convenience
|
|
19
|
-
export { AttioEventType, AttioInputConfig, AttioOutputConfig, ConfigType, DatadogConfig, GitHubConfig, GitHubEventType, GmailConfig, GmailDraftOutputConfig, GmailEventType, GmailOutputConfig, HeyReachEventType, HeyReachInputConfig, ImageEditConfig, LaunchDarklyConfig, LinearEventType, LinearInputConfig, LinearOutputConfig, NotionConfig, PosthogConfig, SlackConfig, SlackEventType, SlackOutputConfig, SnowflakeOutputConfig, TimeTriggerConfig, WebConfig, WebMonitorConfig, WebhookInputConfig, WorkOSEventType, WorkOSInputConfig, WorkOSOutputConfig, debugTrigger, formatTriggerForAgent } from "terse-types";
|
|
43
|
+
export { AttioEventType, AttioInputConfig, AttioOutputConfig, ConfigType, DatadogConfig, GitHubConfig, GitHubEventType, GmailConfig, GmailDraftOutputConfig, GmailEventType, GmailOutputConfig, HeyReachEventType, HeyReachInputConfig, ImageEditConfig, LaunchDarklyConfig, LinearEventType, LinearInputConfig, LinearOutputConfig, MemoryConfig, NotionConfig, PosthogConfig, SlackConfig, SlackEventType, SlackOutputConfig, SnowflakeOutputConfig, TimeTriggerConfig, WebConfig, WebMonitorConfig, WebhookInputConfig, WorkOSEventType, WorkOSInputConfig, WorkOSOutputConfig, debugTrigger, formatTriggerForAgent } from "terse-types";
|
|
20
44
|
export { IntegrationType } from "terse-types";
|
|
21
45
|
export { RunHistoryStatus } from "terse-types";
|
|
22
46
|
export function createJob(params) {
|
|
@@ -54,6 +78,60 @@ export function __resetRegisteredTerseInstances() {
|
|
|
54
78
|
const g = globalThis;
|
|
55
79
|
g[TERSE_INSTANCES_KEY] = new Map();
|
|
56
80
|
}
|
|
81
|
+
async function stateGet(key) {
|
|
82
|
+
"use step";
|
|
83
|
+
const res = await fetch(`${resolveApiBaseUrl()}${ApiRoutes.SDK.STATE_GET}`, {
|
|
84
|
+
method: "POST",
|
|
85
|
+
headers: await buildSdkRequestHeaders(),
|
|
86
|
+
body: JSON.stringify({ key })
|
|
87
|
+
});
|
|
88
|
+
if (!res.ok) {
|
|
89
|
+
const data = (await res.json().catch(() => ({})));
|
|
90
|
+
throw new Error(`Failed to read state "${key}": ${data.error ?? res.statusText}`);
|
|
91
|
+
}
|
|
92
|
+
return sdkStateGetResponseSchema.parse(await res.json()).content;
|
|
93
|
+
}
|
|
94
|
+
async function statePut(key, content) {
|
|
95
|
+
"use step";
|
|
96
|
+
const res = await fetch(`${resolveApiBaseUrl()}${ApiRoutes.SDK.STATE_PUT}`, {
|
|
97
|
+
method: "POST",
|
|
98
|
+
headers: await buildSdkRequestHeaders(),
|
|
99
|
+
body: JSON.stringify({ key, content })
|
|
100
|
+
});
|
|
101
|
+
if (!res.ok) {
|
|
102
|
+
const data = (await res.json().catch(() => ({})));
|
|
103
|
+
throw new Error(`Failed to write state "${key}": ${data.error ?? res.statusText}`);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
export function __buildJobStateAccessor(states) {
|
|
107
|
+
const schemas = new Map(states.map(s => [s.key, s.value]));
|
|
108
|
+
const schemaFor = (key) => {
|
|
109
|
+
const schema = schemas.get(key);
|
|
110
|
+
if (!schema)
|
|
111
|
+
throw new Error(`Unknown state key "${key}". Declare it in the job's \`states\`.`);
|
|
112
|
+
return schema;
|
|
113
|
+
};
|
|
114
|
+
const accessor = {
|
|
115
|
+
async get(key) {
|
|
116
|
+
const schema = schemaFor(key);
|
|
117
|
+
const raw = await stateGet(key);
|
|
118
|
+
if (raw !== null)
|
|
119
|
+
return schema.parse(JSON.parse(raw));
|
|
120
|
+
return schema.safeParse(undefined).data;
|
|
121
|
+
},
|
|
122
|
+
async set(key, value) {
|
|
123
|
+
const schema = schemaFor(key);
|
|
124
|
+
const parsed = schema.safeParse(value);
|
|
125
|
+
if (!parsed.success) {
|
|
126
|
+
throw new Error(`Invalid value for state "${key}": ${parsed.error.issues.map(issue => `${issue.path.join(".") || "<root>"}: ${issue.message}`).join("; ")}`);
|
|
127
|
+
}
|
|
128
|
+
await statePut(key, JSON.stringify(parsed.data));
|
|
129
|
+
return parsed.data;
|
|
130
|
+
}
|
|
131
|
+
};
|
|
132
|
+
// TS can't correlate a dynamic string key to its schema's type (microsoft/TypeScript#30581), so we assert the per-key shape here.
|
|
133
|
+
return accessor;
|
|
134
|
+
}
|
|
57
135
|
export class Terse {
|
|
58
136
|
constructor() { }
|
|
59
137
|
/**
|
|
@@ -87,10 +165,10 @@ export class Terse {
|
|
|
87
165
|
if (!apiKey) {
|
|
88
166
|
throw new Error("TERSE_API_KEY is not set. " + "Add it to your .env file or export it before starting your server.");
|
|
89
167
|
}
|
|
90
|
-
verifyIncomingRequest(signingSecret, headers, JSON.stringify(body));
|
|
168
|
+
await verifyIncomingRequest(signingSecret, headers, JSON.stringify(body));
|
|
91
169
|
const challenge = webhookJobChallengeRequestSchema.safeParse(body);
|
|
92
170
|
if (challenge.success) {
|
|
93
|
-
const signature = computeChallengeSignature(signingSecret, challenge.data.challenge);
|
|
171
|
+
const signature = await computeChallengeSignature(signingSecret, challenge.data.challenge);
|
|
94
172
|
return { challenge: challenge.data.challenge, signature };
|
|
95
173
|
}
|
|
96
174
|
const full = webhookJobTriggerRequestSchema.safeParse(body);
|
|
@@ -111,18 +189,16 @@ export class Terse {
|
|
|
111
189
|
const apiBaseUrl = resolveTerseBackendUrl();
|
|
112
190
|
const session = await openSessionStream(apiBaseUrl, apiKey);
|
|
113
191
|
try {
|
|
114
|
-
const
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
}
|
|
192
|
+
const inputEvent = createSDKTrigger(event);
|
|
193
|
+
const state = __buildJobStateAccessor(job.states ?? []);
|
|
194
|
+
if (job.filter) {
|
|
195
|
+
const shouldRun = await job.filter(inputEvent, state);
|
|
196
|
+
if (!shouldRun) {
|
|
197
|
+
return { status: "ok", filtered: true };
|
|
121
198
|
}
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
}
|
|
125
|
-
return result;
|
|
199
|
+
}
|
|
200
|
+
await job.onTrigger(inputEvent, state);
|
|
201
|
+
return { status: "ok" };
|
|
126
202
|
}
|
|
127
203
|
catch (error) {
|
|
128
204
|
session.close();
|
|
@@ -157,13 +233,7 @@ export class TerseAgent {
|
|
|
157
233
|
return new TerseAgent({ prompt: params.prompt, skills, toolApprovals });
|
|
158
234
|
}
|
|
159
235
|
async *run(userMessage, outputSchema) {
|
|
160
|
-
const requestBody =
|
|
161
|
-
prompt: this.prompt,
|
|
162
|
-
toolApprovals: this.toolApprovals,
|
|
163
|
-
message: userMessage,
|
|
164
|
-
skills: this.skills,
|
|
165
|
-
outputSchema: outputSchema ? stripZodJsonSchemaMetadata(z.toJSONSchema(outputSchema)) : undefined
|
|
166
|
-
});
|
|
236
|
+
const requestBody = this.buildRequestBody(userMessage, outputSchema);
|
|
167
237
|
// Claim approval handling for this run if the caller wired up its own
|
|
168
238
|
// callback, so the CLI's session-stream handler won't also prompt and
|
|
169
239
|
// submit a decision for the same stepId.
|
|
@@ -173,7 +243,7 @@ export class TerseAgent {
|
|
|
173
243
|
try {
|
|
174
244
|
const res = await fetch(`${resolveApiBaseUrl()}${ApiRoutes.SDK.AGENT_RUN}`, {
|
|
175
245
|
method: "POST",
|
|
176
|
-
headers:
|
|
246
|
+
headers: await buildSdkRequestHeaders(),
|
|
177
247
|
body: JSON.stringify(requestBody)
|
|
178
248
|
});
|
|
179
249
|
const contentType = res.headers.get("content-type") ?? "";
|
|
@@ -194,9 +264,10 @@ export class TerseAgent {
|
|
|
194
264
|
}
|
|
195
265
|
}
|
|
196
266
|
async submitApprovalDecision(params) {
|
|
267
|
+
"use step";
|
|
197
268
|
const res = await fetch(`${resolveApiBaseUrl()}${ApiRoutes.SDK.APPROVAL_DECISION}`, {
|
|
198
269
|
method: "POST",
|
|
199
|
-
headers:
|
|
270
|
+
headers: await buildSdkRequestHeaders(),
|
|
200
271
|
body: JSON.stringify(params)
|
|
201
272
|
});
|
|
202
273
|
if (!res.ok) {
|
|
@@ -205,20 +276,57 @@ export class TerseAgent {
|
|
|
205
276
|
}
|
|
206
277
|
}
|
|
207
278
|
async runAndWait(userMessage, outputSchema) {
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
279
|
+
const requestBody = this.buildRequestBody(userMessage, outputSchema);
|
|
280
|
+
const raw = await TerseAgent.fetchFinalOutput(requestBody);
|
|
281
|
+
if (!outputSchema)
|
|
282
|
+
return raw;
|
|
283
|
+
return outputSchema.parse(JSON.parse(raw));
|
|
284
|
+
}
|
|
285
|
+
buildRequestBody(userMessage, outputSchema) {
|
|
286
|
+
return sdkAgentRunRequestBodySchema.parse({
|
|
287
|
+
prompt: this.prompt,
|
|
288
|
+
toolApprovals: this.toolApprovals,
|
|
289
|
+
message: userMessage,
|
|
290
|
+
skills: this.skills,
|
|
291
|
+
outputSchema: outputSchema ? stripZodJsonSchemaMetadata(z.toJSONSchema(outputSchema)) : undefined
|
|
292
|
+
});
|
|
293
|
+
}
|
|
294
|
+
static async fetchFinalOutput(requestBody) {
|
|
295
|
+
"use step";
|
|
296
|
+
const res = await fetch(`${resolveApiBaseUrl()}${ApiRoutes.SDK.AGENT_RUN}`, {
|
|
297
|
+
method: "POST",
|
|
298
|
+
headers: await TerseAgent.buildHeaders(),
|
|
299
|
+
body: JSON.stringify(requestBody)
|
|
300
|
+
});
|
|
301
|
+
const contentType = res.headers.get("content-type") ?? "";
|
|
302
|
+
if (!contentType.includes("text/event-stream")) {
|
|
303
|
+
const data = await res.json();
|
|
304
|
+
const details = data.details?.length ? ` (${data.details.join("; ")})` : "";
|
|
305
|
+
if (!res.ok || !data.success)
|
|
306
|
+
throw new Error(`${data.error ?? "Agent run failed"}${details}`);
|
|
307
|
+
throw new Error("Run completed without final output");
|
|
308
|
+
}
|
|
309
|
+
if (!res.body)
|
|
310
|
+
throw new Error("Stream did not provide a response body.");
|
|
311
|
+
for await (const eventData of iterateSseDataLines(res.body)) {
|
|
312
|
+
const parsed = safeParseStreamEvent(eventData);
|
|
313
|
+
if (!parsed)
|
|
314
|
+
continue;
|
|
315
|
+
if (parsed.type === "error")
|
|
316
|
+
throw new Error(parsed.message);
|
|
317
|
+
if (parsed.type === "done")
|
|
318
|
+
break;
|
|
319
|
+
const result = mapStreamEventToResult(parsed);
|
|
320
|
+
if (result instanceof FinalOutputResult)
|
|
321
|
+
return result.finalOutput;
|
|
215
322
|
}
|
|
216
323
|
throw new Error("Run completed without final output");
|
|
217
324
|
}
|
|
218
325
|
static async executeTool(toolName, params = {}) {
|
|
326
|
+
"use step";
|
|
219
327
|
const res = await fetch(`${resolveApiBaseUrl()}${ApiRoutes.SDK.TOOL_EXECUTE}`, {
|
|
220
328
|
method: "POST",
|
|
221
|
-
headers:
|
|
329
|
+
headers: await buildSdkRequestHeaders(),
|
|
222
330
|
body: JSON.stringify({ toolName, params })
|
|
223
331
|
});
|
|
224
332
|
const data = (await res.json());
|
|
@@ -227,7 +335,7 @@ export class TerseAgent {
|
|
|
227
335
|
}
|
|
228
336
|
return data.result;
|
|
229
337
|
}
|
|
230
|
-
static buildHeaders() {
|
|
338
|
+
static async buildHeaders() {
|
|
231
339
|
const apiKey = process.env.TERSE_API_KEY;
|
|
232
340
|
if (!apiKey) {
|
|
233
341
|
throw new Error("TERSE_API_KEY environment variable is not set.");
|
|
@@ -237,10 +345,10 @@ export class TerseAgent {
|
|
|
237
345
|
"Content-Type": "application/json",
|
|
238
346
|
Accept: "text/event-stream"
|
|
239
347
|
};
|
|
240
|
-
const
|
|
241
|
-
if (
|
|
242
|
-
headers["X-Terse-Session-Id"] =
|
|
243
|
-
const runIdHeader =
|
|
348
|
+
const { sessionId, runId } = await resolveRunIdentity();
|
|
349
|
+
if (sessionId)
|
|
350
|
+
headers["X-Terse-Session-Id"] = sessionId;
|
|
351
|
+
const runIdHeader = runId ?? process.env.TERSE_RUN_ID;
|
|
244
352
|
if (runIdHeader)
|
|
245
353
|
headers["X-Terse-Run-Id"] = runIdHeader;
|
|
246
354
|
return headers;
|
|
@@ -296,6 +404,149 @@ export async function generateText(params) {
|
|
|
296
404
|
}
|
|
297
405
|
return await agent.runAndWait(params.prompt);
|
|
298
406
|
}
|
|
407
|
+
export class DurableOnlyError extends Error {
|
|
408
|
+
constructor(message) {
|
|
409
|
+
super(message);
|
|
410
|
+
this.name = "DurableOnlyError";
|
|
411
|
+
}
|
|
412
|
+
}
|
|
413
|
+
// The durable runtime injects its sleep implementation on globalThis; its presence is
|
|
414
|
+
// how we detect that we're running inside a durable job.
|
|
415
|
+
function isDurableExecution() {
|
|
416
|
+
return Boolean(Reflect.get(globalThis, Symbol.for("WORKFLOW_SLEEP")));
|
|
417
|
+
}
|
|
418
|
+
export function jobStep(opts) {
|
|
419
|
+
// Synchronous guard so an un-awaited jobStep() still throws at the call site
|
|
420
|
+
// instead of floating as an unhandled rejection.
|
|
421
|
+
if (!Reflect.get(globalThis, Symbol.for("WORKFLOW_USE_STEP"))) {
|
|
422
|
+
throw new DurableOnlyError("jobStep() is only available in durable jobs. Add `durable: true` to this job.");
|
|
423
|
+
}
|
|
424
|
+
return runJobStep(opts);
|
|
425
|
+
}
|
|
426
|
+
async function runJobStep(opts) {
|
|
427
|
+
const input = opts.inputSchema ? opts.inputSchema.parse(opts.input) : undefined;
|
|
428
|
+
const result = await opts.run(input);
|
|
429
|
+
return opts.outputSchema ? opts.outputSchema.parse(result) : result;
|
|
430
|
+
}
|
|
431
|
+
export function sleep(duration) {
|
|
432
|
+
if (!isDurableExecution()) {
|
|
433
|
+
throw new DurableOnlyError("sleep() is only available in durable jobs. Add `durable: true` to this job.");
|
|
434
|
+
}
|
|
435
|
+
// Locally (`terse test`, no TERSE_RUN_ID) there is no suspend machinery, so skip the
|
|
436
|
+
// wait and note what production would have done instead.
|
|
437
|
+
if (!process.env.TERSE_RUN_ID) {
|
|
438
|
+
console.log(`[terse] Skipping sleep locally — in production this run would suspend and resume after ${describeDuration(duration)}.`);
|
|
439
|
+
return Promise.resolve();
|
|
440
|
+
}
|
|
441
|
+
return workflowSleep(duration);
|
|
442
|
+
}
|
|
443
|
+
function describeDuration(duration) {
|
|
444
|
+
if (typeof duration === "string")
|
|
445
|
+
return duration;
|
|
446
|
+
if (duration instanceof Date)
|
|
447
|
+
return ms(Math.max(0, duration.getTime() - Date.now()), { long: true });
|
|
448
|
+
return ms(duration, { long: true });
|
|
449
|
+
}
|
|
450
|
+
// channel takes a Slack channel id; use the generated constants, e.g. SlackChannel.Launches.channelId.
|
|
451
|
+
export function slack(target) {
|
|
452
|
+
return { provider: "slack", channelId: target.channel };
|
|
453
|
+
}
|
|
454
|
+
export function waitForInput(params) {
|
|
455
|
+
if (!isDurableExecution()) {
|
|
456
|
+
throw new DurableOnlyError("waitForInput() is only available in durable jobs. Add `durable: true` to this job.");
|
|
457
|
+
}
|
|
458
|
+
if (!process.env.TERSE_RUN_ID) {
|
|
459
|
+
return promptForInputLocally(params);
|
|
460
|
+
}
|
|
461
|
+
return waitForInputDurable(params);
|
|
462
|
+
}
|
|
463
|
+
// No sleep, no race, no park signal: the hook entity this journals IS the wait. The run
|
|
464
|
+
// parks by draining its queue and exiting; the backend reads the journal at exit and
|
|
465
|
+
// suspends the sandbox.
|
|
466
|
+
async function waitForInputDurable(params) {
|
|
467
|
+
const hook = createHook();
|
|
468
|
+
const delivery = await registerInputRequest(hook.token, params);
|
|
469
|
+
if (delivery.provider !== params.via.provider) {
|
|
470
|
+
throw new Error(`waitForInput: backend delivered via "${delivery.provider}" but the target was "${params.via.provider}"`);
|
|
471
|
+
}
|
|
472
|
+
const typedDelivery = delivery;
|
|
473
|
+
const payload = await hook;
|
|
474
|
+
hook.dispose();
|
|
475
|
+
return {
|
|
476
|
+
choice: payload.choice,
|
|
477
|
+
text: payload.text,
|
|
478
|
+
respondent: payload.respondent,
|
|
479
|
+
delivery: typedDelivery
|
|
480
|
+
};
|
|
481
|
+
}
|
|
482
|
+
async function registerInputRequest(token, params) {
|
|
483
|
+
const body = {
|
|
484
|
+
token,
|
|
485
|
+
runId: process.env.TERSE_RUN_ID,
|
|
486
|
+
prompt: params.prompt,
|
|
487
|
+
details: params.details,
|
|
488
|
+
options: params.options.map(o => ({ id: o.id, label: o.label, description: o.description, freeText: o.freeText })),
|
|
489
|
+
via: params.via
|
|
490
|
+
};
|
|
491
|
+
const response = await postInputRequestStep(ApiRoutes.SDK.INPUT_REQUEST, body);
|
|
492
|
+
if (!response.ok) {
|
|
493
|
+
throw new Error(`waitForInput: failed to deliver input request: HTTP ${response.status}: ${await response.text()}`);
|
|
494
|
+
}
|
|
495
|
+
const parsed = sdkInputRequestRegisterResponseSchema.parse(await response.json());
|
|
496
|
+
if (!parsed.success || !parsed.delivery) {
|
|
497
|
+
throw new Error(`waitForInput: failed to deliver input request: ${parsed.error ?? "registration failed"}`);
|
|
498
|
+
}
|
|
499
|
+
return parsed.delivery;
|
|
500
|
+
}
|
|
501
|
+
// workflowFetch is the workflow stdlib's hoisted "use step" fetch, so the HTTP call is
|
|
502
|
+
// journaled and replays from cache instead of re-delivering on every workflow replay.
|
|
503
|
+
async function postInputRequestStep(route, body) {
|
|
504
|
+
const headers = { ...(await buildSdkRequestHeaders()), Accept: "application/json" };
|
|
505
|
+
return workflowFetch(`${resolveTerseBackendUrl()}${route}`, {
|
|
506
|
+
method: "POST",
|
|
507
|
+
headers,
|
|
508
|
+
body: JSON.stringify(body)
|
|
509
|
+
});
|
|
510
|
+
}
|
|
511
|
+
async function promptForInputLocally(params) {
|
|
512
|
+
const { isCancel, select, text } = await import("@clack/prompts");
|
|
513
|
+
console.log(`[terse] waitForInput: in production this run would suspend and wait for a response via ${describeInputTarget(params.via)}.`);
|
|
514
|
+
for (const [key, value] of Object.entries(params.details ?? {})) {
|
|
515
|
+
console.log(` ${key}: ${value}`);
|
|
516
|
+
}
|
|
517
|
+
const choice = await select({
|
|
518
|
+
message: params.prompt,
|
|
519
|
+
options: params.options.map(o => ({ value: o.id, label: o.label, hint: o.description }))
|
|
520
|
+
});
|
|
521
|
+
if (isCancel(choice))
|
|
522
|
+
throw new Error("waitForInput: cancelled at local prompt");
|
|
523
|
+
const option = params.options.find(o => o.id === choice);
|
|
524
|
+
let freeTextAnswer;
|
|
525
|
+
if (option?.freeText) {
|
|
526
|
+
const answer = await text({ message: `${option.label}:` });
|
|
527
|
+
if (isCancel(answer))
|
|
528
|
+
throw new Error("waitForInput: cancelled at local prompt");
|
|
529
|
+
freeTextAnswer = answer || undefined;
|
|
530
|
+
}
|
|
531
|
+
return {
|
|
532
|
+
choice: choice,
|
|
533
|
+
text: freeTextAnswer,
|
|
534
|
+
respondent: { provider: "local", userId: "local" },
|
|
535
|
+
delivery: localDelivery(params.via)
|
|
536
|
+
};
|
|
537
|
+
}
|
|
538
|
+
function describeInputTarget(target) {
|
|
539
|
+
switch (target.provider) {
|
|
540
|
+
case "slack":
|
|
541
|
+
return `Slack channel ${target.channelId}`;
|
|
542
|
+
}
|
|
543
|
+
}
|
|
544
|
+
function localDelivery(target) {
|
|
545
|
+
switch (target.provider) {
|
|
546
|
+
case "slack":
|
|
547
|
+
return { provider: "slack", channelId: target.channelId, messageTs: "" };
|
|
548
|
+
}
|
|
549
|
+
}
|
|
299
550
|
export var EventType;
|
|
300
551
|
(function (EventType) {
|
|
301
552
|
EventType["TEXT"] = "text";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAA;AAgBnB,OAAO,EACH,SAAS,EACT,eAAe,EACf,4BAA4B,EAC5B,qCAAqC,EACrC,yBAAyB,EACzB,0BAA0B,EAC1B,gCAAgC,EAChC,8BAA8B,EACjC,MAAM,aAAa,CAAA;AAkFpB,OAAO,EAAE,UAAU,EAAE,KAAK,IAAI,aAAa,EAAE,KAAK,IAAI,aAAa,EAAE,MAAM,UAAU,CAAA;AACrF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EAAE,0BAA0B,EAAE,4BAA4B,EAAE,MAAM,cAAc,CAAA;AACvF,OAAO,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAA;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,EASH,gBAAgB,EACnB,MAAM,YAAY,CAAA;AAInB,SAAS,sBAAsB;IAC3B,OAAO,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,yBAAyB,CAAA;AACrE,CAAC;AAED,SAAS,iBAAiB;IACtB,OAAO,sBAAsB,EAAE,CAAA;AACnC,CAAC;AAED,KAAK,UAAU,sBAAsB;IACjC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAA;IACxC,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAA;IACrE,CAAC;IACD,MAAM,OAAO,GAA2B;QACpC,aAAa,EAAE,UAAU,MAAM,EAAE;QACjC,cAAc,EAAE,kBAAkB;QAClC,MAAM,EAAE,mBAAmB;KAC9B,CAAA;IACD,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,MAAM,kBAAkB,EAAE,CAAA;IAC3E,IAAI,SAAS;QAAE,OAAO,CAAC,oBAAoB,CAAC,GAAG,SAAS,CAAA;IACxD,IAAI,KAAK;QAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,KAAK,CAAA;IAC5C,IAAI,SAAS;QAAE,OAAO,CAAC,oBAAoB,CAAC,GAAG,SAAS,CAAA;IACxD,IAAI,OAAO;QAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,OAAO,CAAA;IAClD,OAAO,OAAO,CAAA;AAClB,CAAC;AAED,MAAM,CAAC,MAAM,8BAA8B,GAAG,SAAS,CAAC,GAAG,CAAC,mBAAmB,CAAA;AAE/E,OAAO,EAAE,8BAA8B,EAAE,MAAM,cAAc,CAAA;AAG7D,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAG5F,+BAA+B;AAC/B,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAA;AAerE,kDAAkD;AAClD,OAAO,EACH,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EAEjB,UAAU,EACV,aAAa,EACb,YAAY,EACZ,eAAe,EACf,WAAW,EACX,sBAAsB,EACtB,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,WAAW,EACX,cAAc,EACd,iBAAiB,EACjB,qBAAqB,EACrB,iBAAiB,EACjB,SAAS,EACT,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,YAAY,EACZ,qBAAqB,EACxB,MAAM,aAAa,CAAA;AAkFpB,OAAO,EAAiB,eAAe,EAAE,MAAM,aAAa,CAAA;AAG5D,OAAO,EAA0D,gBAAgB,EAAqB,MAAM,aAAa,CAAA;AAgBzH,MAAM,UAAU,SAAS,CAA4G,MAA+C;IAChL,MAAM,WAAW,GAAG,mBAAmB,EAAE,CAAA;IACzC,IAAI,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,QAAQ,MAAM,CAAC,IAAI,+CAA+C,CAAC,CAAA;IACvF,CAAC;IACD,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,KAAK,eAAe,CAAC,OAAO,CAAC,CAAC,MAAM,CAAA;IACtG,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,QAAQ,MAAM,CAAC,IAAI,SAAS,YAAY,iEAAiE,CAAC,CAAA;IAC9H,CAAC;IACD,WAAW,CAAY,MAAM,CAAC,CAAA;AAClC,CAAC;AAED,yFAAyF;AACzF,2FAA2F;AAC3F,kFAAkF;AAClF,6DAA6D;AAC7D,MAAM,mBAAmB,GAAG,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAA;AAGxD,SAAS,WAAW,CAA4C,GAAmC;IAC/F,MAAM,CAAC,GAAG,UAAiC,CAAA;IAC3C,CAAC,CAAC,mBAAmB,CAAC,KAAK,IAAI,GAAG,EAA+B,CAAA;IAEjE,IAAI,CAAC,CAAC,mBAAmB,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CAAC,QAAQ,GAAG,CAAC,IAAI,+CAA+C,CAAC,CAAA;IACpF,CAAC;IAED,CAAC,CAAC,mBAAmB,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,GAAqC,CAAC,CAAA;AAC/E,CAAC;AAED,MAAM,UAAU,mBAAmB;IAC/B,MAAM,CAAC,GAAG,UAAiC,CAAA;IAC3C,OAAO,CAAC,CAAC,mBAAmB,CAAC,IAAI,IAAI,GAAG,EAA+B,CAAA;AAC3E,CAAC;AAED,wEAAwE;AACxE,4EAA4E;AAC5E,4EAA4E;AAC5E,MAAM,UAAU,+BAA+B;IAC3C,MAAM,CAAC,GAAG,UAAiC,CAAA;IAC3C,CAAC,CAAC,mBAAmB,CAAC,GAAG,IAAI,GAAG,EAA+B,CAAA;AACnE,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,GAAW;IAC/B,UAAU,CAAA;IACV,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,iBAAiB,EAAE,GAAG,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE;QACxE,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,MAAM,sBAAsB,EAAE;QACvC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAA+B,CAAC;KAC7D,CAAC,CAAA;IACF,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACV,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAA4B,CAAA;QAC5E,MAAM,IAAI,KAAK,CAAC,yBAAyB,GAAG,MAAM,IAAI,CAAC,KAAK,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC,CAAA;IACrF,CAAC;IACD,OAAO,yBAAyB,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAA;AACpE,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,GAAW,EAAE,OAAe;IAChD,UAAU,CAAA;IACV,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,iBAAiB,EAAE,GAAG,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE;QACxE,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,MAAM,sBAAsB,EAAE;QACvC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,OAAO,EAA+B,CAAC;KACtE,CAAC,CAAA;IACF,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACV,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAA4B,CAAA;QAC5E,MAAM,IAAI,KAAK,CAAC,0BAA0B,GAAG,MAAM,IAAI,CAAC,KAAK,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC,CAAA;IACtF,CAAC;AACL,CAAC;AAED,MAAM,UAAU,uBAAuB,CAA6C,MAAe;IAC/F,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAU,CAAC,CAAC,CAAA;IACnE,MAAM,SAAS,GAAG,CAAC,GAAW,EAAa,EAAE;QACzC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC/B,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,GAAG,wCAAwC,CAAC,CAAA;QAC/F,OAAO,MAAM,CAAA;IACjB,CAAC,CAAA;IACD,MAAM,QAAQ,GAAsB;QAChC,KAAK,CAAC,GAAG,CAAC,GAAG;YACT,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,CAAA;YAC7B,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,CAAA;YAC/B,IAAI,GAAG,KAAK,IAAI;gBAAE,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA;YACtD,OAAO,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,IAAI,CAAA;QAC3C,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK;YAChB,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,CAAA;YAC7B,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;YACtC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBAClB,MAAM,IAAI,KAAK,CAAC,4BAA4B,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,QAAQ,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YAChK,CAAC;YACD,MAAM,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;YAChD,OAAO,MAAM,CAAC,IAAI,CAAA;QACtB,CAAC;KACJ,CAAA;IACD,kIAAkI;IAClI,OAAO,QAAkC,CAAA;AAC7C,CAAC;AAED,MAAM,OAAO,KAAK;IACd,gBAAe,CAAC;IAChB;;;;;;;;;;;;;;;;;;;OAmBG;IACH,KAAK,CAAC,aAAa,CAAC,IAAa,EAAE,OAAsD;QACrF,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAA;QACtD,IAAI,CAAC,aAAa,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CACX,mCAAmC;gBAC/B,qEAAqE;gBACrE,oFAAoF,CAC3F,CAAA;QACL,CAAC;QAED,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAA;QACxC,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,4BAA4B,GAAG,oEAAoE,CAAC,CAAA;QACxH,CAAC;QAED,MAAM,qBAAqB,CAAC,aAAa,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAA;QAEzE,MAAM,SAAS,GAAG,gCAAgC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;QAClE,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,SAAS,GAAG,MAAM,yBAAyB,CAAC,aAAa,EAAE,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YAC1F,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,CAAA;QAC7D,CAAC;QAED,MAAM,IAAI,GAAG,8BAA8B,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;QAC3D,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAChB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAA0B,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAC9F,MAAM,IAAI,KAAK,CAAC,4BAA4B,MAAM,EAAE,CAAC,CAAA;QACzD,CAAC;QAED,MAAM,IAAI,GAAG,mBAAmB,EAAE,CAAA;QAElC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,IAAI,CAAA;QAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QAC7B,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,MAAM,SAAS,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;YAClC,MAAM,IAAI,KAAK,CACX,QAAQ,OAAO,8CAA8C;gBACzD,CAAC,SAAS,CAAC,MAAM;oBACb,CAAC,CAAC,oBAAoB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,qEAAqE;oBAC/G,CAAC,CAAC,uFAAuF,CAAC,CACrG,CAAA;QACL,CAAC;QAED,MAAM,UAAU,GAAG,sBAAsB,EAAE,CAAA;QAC3C,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;QAE3D,IAAI,CAAC;YACD,MAAM,UAAU,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAA;YAC1C,MAAM,KAAK,GAAG,uBAAuB,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAA;YAEvD,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBACb,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,CAAA;gBACrD,IAAI,CAAC,SAAS,EAAE,CAAC;oBACb,OAAO,EAAE,MAAM,EAAE,IAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA;gBACpD,CAAC;YACL,CAAC;YACD,MAAM,GAAG,CAAC,SAAS,CAAC,UAAU,EAAE,KAAK,CAAC,CAAA;YAEtC,OAAO,EAAE,MAAM,EAAE,IAAa,EAAE,CAAA;QACpC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,EAAE,CAAA;YACf,MAAM,KAAK,CAAA;QACf,CAAC;gBAAS,CAAC;YACP,OAAO,CAAC,KAAK,EAAE,CAAA;QACnB,CAAC;IACL,CAAC;CACJ;AAQD,MAAM,OAAO,UAAU;IACV,MAAM,CAAQ;IACd,MAAM,CAAS;IACf,aAAa,CAA+B;IAErD;;;;;OAKG;IACH,kBAAkB,CAAkD;IAEpE,YAAoB,MAAyF;QACzG,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;QAC3B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;QAC3B,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAA;QAEzC,MAAM,WAAW,GAAI,UAAkB,CAAC,mBAAmE,CAC1G;QAAC,IAAY,CAAC,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAC/D,CAAC;IAID,MAAM,CAAC,MAAM,CAA8D,MAAgG;QACvK,MAAM,MAAM,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAY,CAAA;QAC/C,MAAM,aAAa,GAAG,CAAC,MAAM,CAAC,aAAa,IAAI,EAAE,CAAkC,CAAA;QACnF,OAAO,IAAI,UAAU,CAAU,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAA;IACpF,CAAC;IAED,KAAK,CAAC,CAAC,GAAG,CAAC,WAAmB,EAAE,YAAwB;QACpD,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,YAAY,CAAC,CAAA;QAEpE,sEAAsE;QACtE,sEAAsE;QACtE,yCAAyC;QACzC,MAAM,aAAa,GAAG,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAA;QAC/C,IAAI,aAAa;YAAE,0BAA0B,EAAE,CAAA;QAE/C,IAAI,CAAC;YACD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,iBAAiB,EAAE,GAAG,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE;gBACxE,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,MAAM,sBAAsB,EAAE;gBACvC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;aACpC,CAAC,CAAA;YAEF,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAA;YACzD,IAAI,WAAW,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;gBAC5C,KAAK,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAA;gBACjC,OAAM;YACV,CAAC;YAED,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAA4B,CAAA;YAC1D,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;gBAC3E,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,IAAI,kBAAkB,GAAG,OAAO,EAAE,CAAC,CAAA;YACpE,CAAC;YAED,MAAM,IAAI,UAAU,CAAC,6BAA6B,CAAC,CAAA;QACvD,CAAC;gBAAS,CAAC;YACP,IAAI,aAAa;gBAAE,4BAA4B,EAAE,CAAA;QACrD,CAAC;IACL,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,MAA4D;QACrF,UAAU,CAAA;QACV,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,iBAAiB,EAAE,GAAG,SAAS,CAAC,GAAG,CAAC,iBAAiB,EAAE,EAAE;YAChF,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,MAAM,sBAAsB,EAAE;YACvC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAA+C,CAAC;SACxE,CAAC,CAAA;QAEF,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACV,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAA4B,CAAA;YAC5E,MAAM,IAAI,KAAK,CAAC,6BAA6B,IAAI,CAAC,KAAK,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC,CAAA;QAChF,CAAC;IACL,CAAC;IAID,KAAK,CAAC,UAAU,CAAiC,WAAmB,EAAE,YAA2B;QAC7F,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,YAAY,CAAC,CAAA;QACpE,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAA;QAC1D,IAAI,CAAC,YAAY;YAAE,OAAO,GAAG,CAAA;QAC7B,OAAO,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA;IAC9C,CAAC;IAEO,gBAAgB,CAAC,WAAmB,EAAE,YAAwB;QAClE,OAAO,4BAA4B,CAAC,KAAK,CAAC;YACtC,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,OAAO,EAAE,WAAW;YACpB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;SACpG,CAAC,CAAA;IACN,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,WAAmC;QACrE,UAAU,CAAA;QACV,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,iBAAiB,EAAE,GAAG,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE;YACxE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,MAAM,UAAU,CAAC,YAAY,EAAE;YACxC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;SACpC,CAAC,CAAA;QACF,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAA;QACzD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;YAC7C,MAAM,IAAI,GAA4B,MAAM,GAAG,CAAC,IAAI,EAAE,CAAA;YACtD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;YAC3E,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO;gBAAE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,IAAI,kBAAkB,GAAG,OAAO,EAAE,CAAC,CAAA;YAC9F,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAA;QACzD,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAA;QACzE,IAAI,KAAK,EAAE,MAAM,SAAS,IAAI,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1D,MAAM,MAAM,GAAG,oBAAoB,CAAC,SAAS,CAAC,CAAA;YAC9C,IAAI,CAAC,MAAM;gBAAE,SAAQ;YACrB,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO;gBAAE,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;YAC5D,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM;gBAAE,MAAK;YACjC,MAAM,MAAM,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAA;YAC7C,IAAI,MAAM,YAAY,iBAAiB;gBAAE,OAAO,MAAM,CAAC,WAAW,CAAA;QACtE,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAA;IACzD,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,WAAW,CAAoB,QAAgB,EAAE,SAAkC,EAAE;QAC9F,UAAU,CAAA;QACV,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,iBAAiB,EAAE,GAAG,SAAS,CAAC,GAAG,CAAC,YAAY,EAAE,EAAE;YAC3E,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,MAAM,sBAAsB,EAAE;YACvC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;SAC7C,CAAC,CAAA;QACF,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAA2D,CAAA;QACzF,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,uBAAuB,CAAC,CAAA;QAC1D,CAAC;QACD,OAAO,IAAI,CAAC,MAAiB,CAAA;IACjC,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,YAAY;QAC7B,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAA;QACxC,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAA;QACrE,CAAC;QACD,MAAM,OAAO,GAA2B;YACpC,aAAa,EAAE,UAAU,MAAM,EAAE;YACjC,cAAc,EAAE,kBAAkB;YAClC,MAAM,EAAE,mBAAmB;SAC9B,CAAA;QACD,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,MAAM,kBAAkB,EAAE,CAAA;QACvD,IAAI,SAAS;YAAE,OAAO,CAAC,oBAAoB,CAAC,GAAG,SAAS,CAAA;QACxD,MAAM,WAAW,GAAG,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,CAAA;QACrD,IAAI,WAAW;YAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,WAAW,CAAA;QACxD,OAAO,OAAO,CAAA;IAClB,CAAC;IAEO,KAAK,CAAC,CAAC,gBAAgB,CAAC,GAAa;QACzC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAA;QAC9D,CAAC;QACD,IAAI,KAAK,GAAG,EAAE,CAAA;QACd,MAAM,eAAe,GAAa,EAAE,CAAA;QACpC,IAAI,KAAK,EAAE,MAAM,SAAS,IAAI,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1D,MAAM,MAAM,GAAG,oBAAoB,CAAC,SAAS,CAAC,CAAA;YAC9C,IAAI,CAAC,MAAM;gBAAE,SAAQ;YACrB,IAAI,MAAM,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;gBAChC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAA;gBACpB,SAAQ;YACZ,CAAC;YACD,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBACzB,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC7B,MAAM,IAAI,KAAK,CAAC,yCAAyC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;gBAC1F,CAAC;gBACD,OAAM;YACV,CAAC;YACD,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC1B,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;YACnC,CAAC;YACD,IAAI,MAAM,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;gBACxC,MAAM,UAAU,GAAG,sBAAsB,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAA;gBACnE,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,IAAI,UAAU,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;oBACvE,eAAe,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,IAAI,KAAK,UAAU,CAAC,MAAM,EAAE,CAAC,CAAA;gBACpE,CAAC;YACL,CAAC;YACD,IAAI,MAAM,CAAC,IAAI,KAAK,yBAAyB,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBACvE,MAAM,IAAI,GAAG,MAAM,CAAC,qBAAqB,CAAA;gBACzC,MAAM,sBAAsB,CAAC,MAAM,CAAC,CAAA;gBACpC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAA;gBACpD,MAAM,IAAI,CAAC,sBAAsB,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAA;gBAC3E,SAAQ;YACZ,CAAC;YACD,MAAM,sBAAsB,CAAC,MAAM,CAAC,CAAA;QACxC,CAAC;IACL,CAAC;CACJ;AAcD,MAAM,CAAC,KAAK,UAAU,YAAY,CAAiC,MAAuE;IACtI,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC;QAC5B,MAAM,EAAE,GAAG;QACX,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;QAC/C,aAAa,EAAE,MAAM,CAAC,aAAa;KACtC,CAAC,CAAA;IACF,IAAI,cAAc,IAAI,MAAM,EAAE,CAAC;QAC3B,OAAO,MAAM,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,CAAA;IACrE,CAAC;IACD,OAAO,MAAM,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;AAChD,CAAC;AAED,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IACvC,YAAY,OAAe;QACvB,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAA;IAClC,CAAC;CACJ;AAED,sFAAsF;AACtF,yDAAyD;AACzD,SAAS,kBAAkB;IACvB,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAA;AACzE,CAAC;AAID,MAAM,UAAU,OAAO,CAAC,IAAwH;IAC5I,6EAA6E;IAC7E,iDAAiD;IACjD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC;QAC5D,MAAM,IAAI,gBAAgB,CAAC,+EAA+E,CAAC,CAAA;IAC/G,CAAC;IACD,OAAO,UAAU,CAAC,IAAI,CAAC,CAAA;AAC3B,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,IAAwH;IAC9I,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAC/E,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IACpC,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;AACvE,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,QAAgC;IAClD,IAAI,CAAC,kBAAkB,EAAE,EAAE,CAAC;QACxB,MAAM,IAAI,gBAAgB,CAAC,6EAA6E,CAAC,CAAA;IAC7G,CAAC;IACD,qFAAqF;IACrF,yDAAyD;IACzD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,0FAA0F,gBAAgB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;QACpI,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;IAC5B,CAAC;IACD,OAAO,aAAa,CAAC,QAAe,CAAC,CAAA;AACzC,CAAC;AAED,SAAS,gBAAgB,CAAC,QAAgC;IACtD,IAAI,OAAO,QAAQ,KAAK,QAAQ;QAAE,OAAO,QAAQ,CAAA;IACjD,IAAI,QAAQ,YAAY,IAAI;QAAE,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;IACrG,OAAO,EAAE,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;AACvC,CAAC;AAWD,uGAAuG;AACvG,MAAM,UAAU,KAAK,CAAC,MAA2B;IAC7C,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,OAAO,EAAE,CAAA;AAC3D,CAAC;AAyBD,MAAM,UAAU,YAAY,CACxB,MAA2C;IAE3C,IAAI,CAAC,kBAAkB,EAAE,EAAE,CAAC;QACxB,MAAM,IAAI,gBAAgB,CAAC,oFAAoF,CAAC,CAAA;IACpH,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;QAC5B,OAAO,qBAAqB,CAAC,MAAM,CAAC,CAAA;IACxC,CAAC;IACD,OAAO,mBAAmB,CAAC,MAAM,CAAC,CAAA;AACtC,CAAC;AAED,wFAAwF;AACxF,qFAAqF;AACrF,wBAAwB;AACxB,KAAK,UAAU,mBAAmB,CAC9B,MAA2C;IAE3C,MAAM,IAAI,GAAG,UAAU,EAA2B,CAAA;IAClD,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;IAC/D,IAAI,QAAQ,CAAC,QAAQ,KAAK,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CAAC,wCAAwC,QAAQ,CAAC,QAAQ,yBAAyB,MAAM,CAAC,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAA;IAC7H,CAAC;IACD,MAAM,aAAa,GAAG,QAA+B,CAAA;IAErD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAA;IAC1B,IAAI,CAAC,OAAO,EAAE,CAAA;IACd,OAAO;QACH,MAAM,EAAE,OAAO,CAAC,MAA+B;QAC/C,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,QAAQ,EAAE,aAAa;KAC1B,CAAA;AACL,CAAC;AAED,KAAK,UAAU,oBAAoB,CAAC,KAAa,EAAE,MAA+D;IAC9G,MAAM,IAAI,GAAgC;QACtC,KAAK;QACL,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,YAAa;QAChC,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QAClH,GAAG,EAAE,MAAM,CAAC,GAAG;KAClB,CAAA;IACD,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,CAAA;IAC9E,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,uDAAuD,QAAQ,CAAC,MAAM,KAAK,MAAM,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;IACvH,CAAC;IACD,MAAM,MAAM,GAAG,qCAAqC,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAA;IACjF,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,kDAAkD,MAAM,CAAC,KAAK,IAAI,qBAAqB,EAAE,CAAC,CAAA;IAC9G,CAAC;IACD,OAAO,MAAM,CAAC,QAAQ,CAAA;AAC1B,CAAC;AAED,uFAAuF;AACvF,sFAAsF;AACtF,KAAK,UAAU,oBAAoB,CAAC,KAAa,EAAE,IAAa;IAC5D,MAAM,OAAO,GAAG,EAAE,GAAG,CAAC,MAAM,sBAAsB,EAAE,CAAC,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAA;IACnF,OAAO,aAAa,CAAC,GAAG,sBAAsB,EAAE,GAAG,KAAK,EAAE,EAAE;QACxD,MAAM,EAAE,MAAM;QACd,OAAO;QACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;KAC7B,CAAC,CAAA;AACN,CAAC;AAED,KAAK,UAAU,qBAAqB,CAChC,MAA2C;IAE3C,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAA;IACjE,OAAO,CAAC,GAAG,CAAC,0FAA0F,mBAAmB,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACzI,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC;QAC9D,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,KAAK,KAAK,EAAE,CAAC,CAAA;IACrC,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC;QACxB,OAAO,EAAE,MAAM,CAAC,MAAM;QACtB,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;KAC3F,CAAC,CAAA;IACF,IAAI,QAAQ,CAAC,MAAM,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAA;IAEhF,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,CAAA;IACxD,IAAI,cAAkC,CAAA;IACtC,IAAI,MAAM,EAAE,QAAQ,EAAE,CAAC;QACnB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC,CAAA;QAC1D,IAAI,QAAQ,CAAC,MAAM,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAA;QAChF,cAAc,GAAG,MAAM,IAAI,SAAS,CAAA;IACxC,CAAC;IAED,OAAO;QACH,MAAM,EAAE,MAA+B;QACvC,IAAI,EAAE,cAAc;QACpB,UAAU,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE;QAClD,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC;KACtC,CAAA;AACL,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAmB;IAC5C,QAAQ,MAAM,CAAC,QAAQ,EAAE,CAAC;QACtB,KAAK,OAAO;YACR,OAAO,iBAAiB,MAAM,CAAC,SAAS,EAAE,CAAA;IAClD,CAAC;AACL,CAAC;AAED,SAAS,aAAa,CAA6B,MAAc;IAC7D,QAAQ,MAAM,CAAC,QAAQ,EAAE,CAAC;QACtB,KAAK,OAAO;YACR,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,EAAE,EAAyB,CAAA;IACvG,CAAC;AACL,CAAC;AAED,MAAM,CAAN,IAAY,SAQX;AARD,WAAY,SAAS;IACjB,0BAAa,CAAA;IACb,0CAA6B,CAAA;IAC7B,kDAAqC,CAAA;IACrC,oDAAuC,CAAA;IACvC,wDAA2C,CAAA;IAC3C,gEAAmD,CAAA;IACnD,8BAAiB,CAAA;AACrB,CAAC,EARW,SAAS,KAAT,SAAS,QAQpB;AAMD,MAAM,OAAO,UAAU;IACnB,IAAI,CAAgB;IACpB,IAAI,CAAQ;IAEZ,YAAY,IAAY;QACpB,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAA;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IACpB,CAAC;CACJ;AAED,MAAM,OAAO,iBAAiB;IAC1B,IAAI,CAAwB;IAC5B,WAAW,CAAQ;IAEnB,YAAY,WAAmB;QAC3B,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC,YAAY,CAAA;QAClC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;IAClC,CAAC;CACJ;AAED,MAAM,OAAO,oBAAoB;IAC7B,IAAI,CAA4B;IAChC,cAAc,CAAQ;IAEtB,YAAY,cAAsB;QAC9B,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC,gBAAgB,CAAA;QACtC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAA;IACxC,CAAC;CACJ;AAED,MAAM,OAAO,qBAAqB;IAC9B,IAAI,CAA6B;IACjC,eAAe,CAAQ;IAEvB,YAAY,eAAuB;QAC/B,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC,iBAAiB,CAAA;QACvC,IAAI,CAAC,eAAe,GAAG,eAAe,CAAA;IAC1C,CAAC;CACJ;AAED,MAAM,OAAO,uBAAuB;IAChC,IAAI,CAA+B;IACnC,iBAAiB,CAAQ;IAEzB,YAAY,iBAAyB;QACjC,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC,mBAAmB,CAAA;QACzC,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAA;IAC9C,CAAC;CACJ;AAED,MAAM,OAAO,2BAA2B;IACpC,IAAI,CAAmC;IACvC,qBAAqB,CAIpB;IAED,YAAY,qBAA8E;QACtF,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC,uBAAuB,CAAA;QAC7C,IAAI,CAAC,qBAAqB,GAAG,qBAAqB,CAAA;IACtD,CAAC;CACJ;AAED,MAAM,OAAO,YAAY;IACrB,IAAI,CAAkB;IACtB,MAAM,CAAQ;IAEd,YAAY,MAAc;QACtB,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC,MAAM,CAAA;QAC5B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACxB,CAAC;CACJ;AAED,KAAK,SAAS,CAAC,CAAC,mBAAmB,CAAC,MAAkC;IAClE,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAA;IACjC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAA;IACjC,IAAI,MAAM,GAAG,EAAE,CAAA;IAEf,IAAI,CAAC;QACD,OAAO,IAAI,EAAE,CAAC;YACV,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;YAC3C,IAAI,IAAI;gBAAE,MAAK;YACf,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;YAEjD,IAAI,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;YAC3C,OAAO,cAAc,KAAK,CAAC,CAAC,EAAE,CAAC;gBAC3B,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,CAAA;gBAChD,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC,CAAC,CAAA;gBAEzC,MAAM,SAAS,GAAG,QAAQ;qBACrB,KAAK,CAAC,IAAI,CAAC;qBACX,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;qBACxC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;qBACjC,MAAM,CAAC,OAAO,CAAC,CAAA;gBAEpB,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACvB,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBAC9B,CAAC;gBAED,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;YAC3C,CAAC;QACL,CAAC;IACL,CAAC;YAAS,CAAC;QACP,MAAM,CAAC,WAAW,EAAE,CAAA;IACxB,CAAC;AACL,CAAC;AAED,SAAS,oBAAoB,CAAC,GAAW;IACrC,IAAI,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAwB,CAAA;IACjD,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,IAAI,CAAA;IACf,CAAC;AACL,CAAC;AAED,SAAS,sBAAsB,CAAC,KAA0B;IACtD,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACjB,KAAK,MAAM;YACP,OAAO,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QACrC,KAAK,cAAc;YACf,OAAO,IAAI,iBAAiB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;QACnD,KAAK,kBAAkB;YACnB,OAAO,IAAI,oBAAoB,CAAC,KAAK,CAAC,cAAc,CAAC,CAAA;QACzD,KAAK,mBAAmB;YACpB,OAAO,IAAI,qBAAqB,CAAC,KAAK,CAAC,eAAe,CAAC,CAAA;QAC3D,KAAK,qBAAqB;YACtB,OAAO,IAAI,uBAAuB,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAA;QAC/D,KAAK,yBAAyB;YAC1B,OAAO,IAAI,2BAA2B,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAA;QACvE,KAAK,QAAQ;YACT,OAAO,IAAI,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QACzC,KAAK,MAAM,CAAC;QACZ,KAAK,OAAO;YACR,OAAO,IAAI,UAAU,CAAC,EAAE,CAAC,CAAA;QAC7B;YACI,OAAO,IAAI,UAAU,CAAC,EAAE,CAAC,CAAA;IACjC,CAAC;AACL,CAAC;AAED,SAAS,sBAAsB,CAAC,GAAW;IACvC,IAAI,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAuC,CAAA;IAChE,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,IAAI,CAAA;IACf,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alsSource.d.ts","sourceRoot":"","sources":["../../src/runIdentity/alsSource.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAEnD,eAAO,MAAM,oBAAoB,EAAE,iBAMlC,CAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export const alsRunIdentitySource = {
|
|
2
|
+
async resolve() {
|
|
3
|
+
const ctx = globalThis.__terseJobContextStore?.getStore();
|
|
4
|
+
if (!ctx)
|
|
5
|
+
return null;
|
|
6
|
+
return { sessionId: ctx.sessionId, runId: ctx.runId ?? undefined, projectId: ctx.projectId, jobName: ctx.jobName };
|
|
7
|
+
}
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=alsSource.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alsSource.js","sourceRoot":"","sources":["../../src/runIdentity/alsSource.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,oBAAoB,GAAsB;IACnD,KAAK,CAAC,OAAO;QACT,MAAM,GAAG,GAAG,UAAU,CAAC,sBAAsB,EAAE,QAAQ,EAAE,CAAA;QACzD,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAA;QACrB,OAAO,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,SAAS,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAA;IACtH,CAAC;CACJ,CAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export type RunIdentity = {
|
|
2
|
+
sessionId?: string;
|
|
3
|
+
runId?: string;
|
|
4
|
+
projectId?: string;
|
|
5
|
+
jobName?: string;
|
|
6
|
+
};
|
|
7
|
+
export interface RunIdentitySource {
|
|
8
|
+
resolve(): Promise<RunIdentity | null>;
|
|
9
|
+
}
|
|
10
|
+
export declare function resolveRunIdentity(): Promise<RunIdentity>;
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/runIdentity/index.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,WAAW,GAAG;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAEtG,MAAM,WAAW,iBAAiB;IAC9B,OAAO,IAAI,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAAA;CACzC;AAID,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,WAAW,CAAC,CAM/D"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { alsRunIdentitySource } from "./alsSource.js";
|
|
2
|
+
import { workflowRunIdentitySource } from "./workflowSource.js";
|
|
3
|
+
const sources = [alsRunIdentitySource, workflowRunIdentitySource];
|
|
4
|
+
export async function resolveRunIdentity() {
|
|
5
|
+
for (const source of sources) {
|
|
6
|
+
const identity = await source.resolve();
|
|
7
|
+
if (identity)
|
|
8
|
+
return identity;
|
|
9
|
+
}
|
|
10
|
+
return {};
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/runIdentity/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAA;AAQ/D,MAAM,OAAO,GAAwB,CAAC,oBAAoB,EAAE,yBAAyB,CAAC,CAAA;AAEtF,MAAM,CAAC,KAAK,UAAU,kBAAkB;IACpC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC3B,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,EAAE,CAAA;QACvC,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAA;IACjC,CAAC;IACD,OAAO,EAAE,CAAA;AACb,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { AsyncLocalStorage } from "node:async_hooks";
|
|
2
|
+
import type { TerseJobContext } from "../context.js";
|
|
3
|
+
declare global {
|
|
4
|
+
var __terseJobContextStore: AsyncLocalStorage<TerseJobContext> | undefined;
|
|
5
|
+
}
|
|
6
|
+
export declare function runWithJobContext<T>(ctx: TerseJobContext, fn: () => T | Promise<T>): T | Promise<T>;
|
|
7
|
+
export declare function getJobContext(): TerseJobContext | undefined;
|
|
8
|
+
//# sourceMappingURL=jobContextStore.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jobContextStore.d.ts","sourceRoot":"","sources":["../../src/runIdentity/jobContextStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAEpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAEpD,OAAO,CAAC,MAAM,CAAC;IAEX,IAAI,sBAAsB,EAAE,iBAAiB,CAAC,eAAe,CAAC,GAAG,SAAS,CAAA;CAC7E;AAMD,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,GAAG,EAAE,eAAe,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAEnG;AAED,wBAAgB,aAAa,IAAI,eAAe,GAAG,SAAS,CAE3D"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { AsyncLocalStorage } from "node:async_hooks";
|
|
2
|
+
function store() {
|
|
3
|
+
return (globalThis.__terseJobContextStore ??= new AsyncLocalStorage());
|
|
4
|
+
}
|
|
5
|
+
export function runWithJobContext(ctx, fn) {
|
|
6
|
+
return store().run(ctx, fn);
|
|
7
|
+
}
|
|
8
|
+
export function getJobContext() {
|
|
9
|
+
return store().getStore();
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=jobContextStore.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jobContextStore.js","sourceRoot":"","sources":["../../src/runIdentity/jobContextStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AASpD,SAAS,KAAK;IACV,OAAO,CAAC,UAAU,CAAC,sBAAsB,KAAK,IAAI,iBAAiB,EAAmB,CAAC,CAAA;AAC3F,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAI,GAAoB,EAAE,EAAwB;IAC/E,OAAO,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;AAC/B,CAAC;AAED,MAAM,UAAU,aAAa;IACzB,OAAO,KAAK,EAAE,CAAC,QAAQ,EAAE,CAAA;AAC7B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflowSource.d.ts","sourceRoot":"","sources":["../../src/runIdentity/workflowSource.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAEnD,eAAO,MAAM,yBAAyB,EAAE,iBAavC,CAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export const workflowRunIdentitySource = {
|
|
2
|
+
async resolve() {
|
|
3
|
+
try {
|
|
4
|
+
const { getWorkflowMetadata } = await import("workflow");
|
|
5
|
+
const { getWorld } = await import("workflow/runtime");
|
|
6
|
+
const workflowRunId = getWorkflowMetadata().workflowRunId;
|
|
7
|
+
const world = await getWorld();
|
|
8
|
+
const { attributes } = await world.runs.get(workflowRunId);
|
|
9
|
+
return { sessionId: attributes?.sessionId, runId: attributes?.runId, projectId: attributes?.projectId, jobName: attributes?.jobName };
|
|
10
|
+
}
|
|
11
|
+
catch {
|
|
12
|
+
return null;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=workflowSource.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflowSource.js","sourceRoot":"","sources":["../../src/runIdentity/workflowSource.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,yBAAyB,GAAsB;IACxD,KAAK,CAAC,OAAO;QACT,IAAI,CAAC;YACD,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,CAAA;YACxD,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAA;YACrD,MAAM,aAAa,GAAG,mBAAmB,EAAE,CAAC,aAAa,CAAA;YACzD,MAAM,KAAK,GAAG,MAAM,QAAQ,EAAE,CAAA;YAC9B,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;YAC1D,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,CAAA;QACzI,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,IAAI,CAAA;QACf,CAAC;IACL,CAAC;CACJ,CAAA"}
|