@workflow/world-testing 4.1.0-beta.67 → 4.1.0-beta.69
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.
|
@@ -30831,6 +30831,20 @@ function parseDurationToDate(param) {
|
|
|
30831
30831
|
}
|
|
30832
30832
|
__name(parseDurationToDate, "parseDurationToDate");
|
|
30833
30833
|
|
|
30834
|
+
// ../utils/dist/world-target.js
|
|
30835
|
+
function resolveWorkflowTargetWorld(env = process.env) {
|
|
30836
|
+
const configuredWorld = env.WORKFLOW_TARGET_WORLD;
|
|
30837
|
+
if (configuredWorld) {
|
|
30838
|
+
return configuredWorld;
|
|
30839
|
+
}
|
|
30840
|
+
return env.VERCEL_DEPLOYMENT_ID ? "vercel" : "local";
|
|
30841
|
+
}
|
|
30842
|
+
__name(resolveWorkflowTargetWorld, "resolveWorkflowTargetWorld");
|
|
30843
|
+
function isVercelWorldTarget(targetWorld) {
|
|
30844
|
+
return targetWorld === "vercel" || targetWorld === "@workflow/world-vercel";
|
|
30845
|
+
}
|
|
30846
|
+
__name(isVercelWorldTarget, "isVercelWorldTarget");
|
|
30847
|
+
|
|
30834
30848
|
// ../errors/dist/index.js
|
|
30835
30849
|
var BASE_URL = "https://useworkflow.dev/err";
|
|
30836
30850
|
function isError(value) {
|
|
@@ -49078,19 +49092,21 @@ function createQueue(config3) {
|
|
|
49078
49092
|
body
|
|
49079
49093
|
});
|
|
49080
49094
|
}
|
|
49081
|
-
if (response.ok) {
|
|
49082
|
-
return;
|
|
49083
|
-
}
|
|
49084
49095
|
const text = await response.text();
|
|
49085
|
-
if (response.
|
|
49096
|
+
if (response.ok) {
|
|
49086
49097
|
try {
|
|
49087
49098
|
const timeoutSeconds = Number(JSON.parse(text).timeoutSeconds);
|
|
49088
|
-
|
|
49089
|
-
|
|
49090
|
-
|
|
49091
|
-
|
|
49099
|
+
if (Number.isFinite(timeoutSeconds) && timeoutSeconds >= 0) {
|
|
49100
|
+
if (timeoutSeconds > 0) {
|
|
49101
|
+
const timeoutMs = Math.min(timeoutSeconds * 1e3, MAX_SAFE_TIMEOUT_MS);
|
|
49102
|
+
await (0, import_promises3.setTimeout)(timeoutMs);
|
|
49103
|
+
}
|
|
49104
|
+
defaultRetriesLeft++;
|
|
49105
|
+
continue;
|
|
49106
|
+
}
|
|
49092
49107
|
} catch {
|
|
49093
49108
|
}
|
|
49109
|
+
return;
|
|
49094
49110
|
}
|
|
49095
49111
|
console.error(`[local world] Failed to queue message`, {
|
|
49096
49112
|
queueName,
|
|
@@ -49143,7 +49159,7 @@ function createQueue(config3) {
|
|
|
49143
49159
|
timeoutSeconds = Math.min(result.timeoutSeconds, LOCAL_QUEUE_MAX_VISIBILITY);
|
|
49144
49160
|
}
|
|
49145
49161
|
if (timeoutSeconds != null) {
|
|
49146
|
-
return Response.json({ timeoutSeconds }
|
|
49162
|
+
return Response.json({ timeoutSeconds });
|
|
49147
49163
|
}
|
|
49148
49164
|
return Response.json({ ok: true });
|
|
49149
49165
|
} catch (error48) {
|
|
@@ -50142,6 +50158,16 @@ function createEventsStorage(basedir) {
|
|
|
50142
50158
|
wait
|
|
50143
50159
|
};
|
|
50144
50160
|
},
|
|
50161
|
+
async get(runId, eventId, params) {
|
|
50162
|
+
const compositeKey = `${runId}-${eventId}`;
|
|
50163
|
+
const eventPath = import_node_path5.default.join(basedir, "events", `${compositeKey}.json`);
|
|
50164
|
+
const event = await readJSON(eventPath, EventSchema);
|
|
50165
|
+
if (!event) {
|
|
50166
|
+
throw new Error(`Event ${eventId} in run ${runId} not found`);
|
|
50167
|
+
}
|
|
50168
|
+
const resolveData = params?.resolveData ?? DEFAULT_RESOLVE_DATA_OPTION;
|
|
50169
|
+
return filterEventData(event, resolveData);
|
|
50170
|
+
},
|
|
50145
50171
|
async list(params) {
|
|
50146
50172
|
const { runId } = params;
|
|
50147
50173
|
const resolveData = params.resolveData ?? DEFAULT_RESOLVE_DATA_OPTION;
|
|
@@ -50608,11 +50634,17 @@ async function fetchRunKey(deploymentId, projectId, runId, options) {
|
|
|
50608
50634
|
headers: {
|
|
50609
50635
|
authorization: `Bearer ${token}`
|
|
50610
50636
|
},
|
|
50637
|
+
// @ts-expect-error -- undici dispatcher is accepted by Node.js fetch but not in @types/node's RequestInit
|
|
50611
50638
|
dispatcher: getDispatcher()
|
|
50612
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- undici v7 dispatcher types don't match @types/node's RequestInit
|
|
50613
50639
|
});
|
|
50614
50640
|
if (!response.ok) {
|
|
50615
|
-
|
|
50641
|
+
let body;
|
|
50642
|
+
try {
|
|
50643
|
+
body = await response.text();
|
|
50644
|
+
} catch {
|
|
50645
|
+
body = "<unable to read response body>";
|
|
50646
|
+
}
|
|
50647
|
+
throw new Error(`Failed to fetch run key for ${runId} (deployment ${deploymentId}): HTTP ${response.status} ${response.statusText}${body ? ` \u2014 ${body}` : ""}`);
|
|
50616
50648
|
}
|
|
50617
50649
|
const data = await response.json();
|
|
50618
50650
|
const result = object({ key: string2().nullable() }).safeParse(data);
|
|
@@ -50628,7 +50660,7 @@ __name(fetchRunKey, "fetchRunKey");
|
|
|
50628
50660
|
function createGetEncryptionKeyForRun(projectId, teamId, token) {
|
|
50629
50661
|
if (!projectId)
|
|
50630
50662
|
return void 0;
|
|
50631
|
-
const
|
|
50663
|
+
const isServerlessRuntime = process.env.VERCEL === "1";
|
|
50632
50664
|
let localDeploymentKey;
|
|
50633
50665
|
function getLocalDeploymentKey() {
|
|
50634
50666
|
if (localDeploymentKey)
|
|
@@ -50643,12 +50675,16 @@ function createGetEncryptionKeyForRun(projectId, teamId, token) {
|
|
|
50643
50675
|
return /* @__PURE__ */ __name(async function getEncryptionKeyForRun(run, context2) {
|
|
50644
50676
|
const runId = typeof run === "string" ? run : run.runId;
|
|
50645
50677
|
const deploymentId = typeof run === "string" ? context2?.deploymentId : run.deploymentId;
|
|
50646
|
-
if (
|
|
50647
|
-
|
|
50648
|
-
|
|
50649
|
-
|
|
50650
|
-
|
|
50678
|
+
if (isServerlessRuntime) {
|
|
50679
|
+
if (!deploymentId || deploymentId === process.env.VERCEL_DEPLOYMENT_ID) {
|
|
50680
|
+
const localKey = getLocalDeploymentKey();
|
|
50681
|
+
if (!localKey)
|
|
50682
|
+
return void 0;
|
|
50683
|
+
return deriveRunKey(localKey, projectId, runId);
|
|
50684
|
+
}
|
|
50651
50685
|
}
|
|
50686
|
+
if (!deploymentId)
|
|
50687
|
+
return void 0;
|
|
50652
50688
|
return fetchRunKey(deploymentId, projectId, runId, { token, teamId });
|
|
50653
50689
|
}, "getEncryptionKeyForRun");
|
|
50654
50690
|
}
|
|
@@ -53076,7 +53112,7 @@ var RpcService3 = SemanticConvention3("rpc.service");
|
|
|
53076
53112
|
var RpcMethod3 = SemanticConvention3("rpc.method");
|
|
53077
53113
|
|
|
53078
53114
|
// ../world-vercel/dist/version.js
|
|
53079
|
-
var version2 = "4.1.0-beta.
|
|
53115
|
+
var version2 = "4.1.0-beta.42";
|
|
53080
53116
|
|
|
53081
53117
|
// ../world-vercel/dist/utils.js
|
|
53082
53118
|
var WORKFLOW_SERVER_URL_OVERRIDE = "";
|
|
@@ -53852,6 +53888,22 @@ async function hydrateEventRefs(events, config3, refResolveConcurrency) {
|
|
|
53852
53888
|
});
|
|
53853
53889
|
}
|
|
53854
53890
|
__name(hydrateEventRefs, "hydrateEventRefs");
|
|
53891
|
+
async function getEvent(runId, eventId, params, config3) {
|
|
53892
|
+
const resolveData = params?.resolveData ?? DEFAULT_RESOLVE_DATA_OPTION2;
|
|
53893
|
+
const remoteRefBehavior = resolveData === "none" ? "lazy" : "resolve";
|
|
53894
|
+
const searchParams = new URLSearchParams();
|
|
53895
|
+
searchParams.set("remoteRefBehavior", remoteRefBehavior);
|
|
53896
|
+
const queryString = searchParams.toString();
|
|
53897
|
+
const endpoint = `/v2/runs/${runId}/events/${eventId}${queryString ? `?${queryString}` : ""}`;
|
|
53898
|
+
const event = await makeRequest({
|
|
53899
|
+
endpoint,
|
|
53900
|
+
options: { method: "GET" },
|
|
53901
|
+
config: config3,
|
|
53902
|
+
schema: resolveData === "none" ? EventWithRefsSchema : EventSchema
|
|
53903
|
+
});
|
|
53904
|
+
return filterEventData2(event, resolveData);
|
|
53905
|
+
}
|
|
53906
|
+
__name(getEvent, "getEvent");
|
|
53855
53907
|
async function getWorkflowRunEvents(params, config3) {
|
|
53856
53908
|
const searchParams = new URLSearchParams();
|
|
53857
53909
|
const { pagination, resolveData = DEFAULT_RESOLVE_DATA_OPTION2 } = params;
|
|
@@ -54109,6 +54161,7 @@ function createStorage2(config3) {
|
|
|
54109
54161
|
},
|
|
54110
54162
|
events: {
|
|
54111
54163
|
create: /* @__PURE__ */ __name((runId, data, params) => createWorkflowRunEvent(runId, data, params, config3), "create"),
|
|
54164
|
+
get: /* @__PURE__ */ __name((runId, eventId, params) => getEvent(runId, eventId, params, config3), "get"),
|
|
54112
54165
|
list: /* @__PURE__ */ __name((params) => getWorkflowRunEvents(params, config3), "list"),
|
|
54113
54166
|
listByCorrelationId: /* @__PURE__ */ __name((params) => getWorkflowRunEvents(params, config3), "listByCorrelationId")
|
|
54114
54167
|
},
|
|
@@ -54241,27 +54294,19 @@ var require2 = (0, import_node_module.createRequire)((0, import_node_path9.join)
|
|
|
54241
54294
|
var WorldCache = /* @__PURE__ */ Symbol.for("@workflow/world//cache");
|
|
54242
54295
|
var StubbedWorldCache = /* @__PURE__ */ Symbol.for("@workflow/world//stubbedCache");
|
|
54243
54296
|
var globalSymbols = globalThis;
|
|
54244
|
-
function defaultWorld() {
|
|
54245
|
-
if (process.env.VERCEL_DEPLOYMENT_ID) {
|
|
54246
|
-
return "vercel";
|
|
54247
|
-
}
|
|
54248
|
-
return "local";
|
|
54249
|
-
}
|
|
54250
|
-
__name(defaultWorld, "defaultWorld");
|
|
54251
54297
|
var createWorld = /* @__PURE__ */ __name(() => {
|
|
54252
|
-
const targetWorld =
|
|
54253
|
-
if (targetWorld
|
|
54254
|
-
|
|
54255
|
-
|
|
54256
|
-
|
|
54257
|
-
|
|
54258
|
-
|
|
54259
|
-
|
|
54260
|
-
|
|
54261
|
-
|
|
54262
|
-
|
|
54263
|
-
|
|
54264
|
-
});
|
|
54298
|
+
const targetWorld = resolveWorkflowTargetWorld();
|
|
54299
|
+
if (isVercelWorldTarget(targetWorld)) {
|
|
54300
|
+
const staleEnvVars = [
|
|
54301
|
+
"WORKFLOW_VERCEL_PROJECT",
|
|
54302
|
+
"WORKFLOW_VERCEL_TEAM",
|
|
54303
|
+
"WORKFLOW_VERCEL_AUTH_TOKEN",
|
|
54304
|
+
"WORKFLOW_VERCEL_ENV"
|
|
54305
|
+
].filter((key) => process.env[key]);
|
|
54306
|
+
if (staleEnvVars.length > 0) {
|
|
54307
|
+
console.warn(`[workflow] Warning: ${staleEnvVars.join(", ")} env var(s) are set but have no effect at runtime. These are only used by the Workflow CLI. Remove them from your Vercel project environment variables.`);
|
|
54308
|
+
}
|
|
54309
|
+
return createVercelWorld();
|
|
54265
54310
|
}
|
|
54266
54311
|
if (targetWorld === "local") {
|
|
54267
54312
|
return createLocalWorld({
|
|
@@ -55303,6 +55348,19 @@ function getStepFunction(stepId) {
|
|
|
55303
55348
|
return void 0;
|
|
55304
55349
|
}
|
|
55305
55350
|
__name(getStepFunction, "getStepFunction");
|
|
55351
|
+
function scheduleWhenIdle(ctx, fn) {
|
|
55352
|
+
const check2 = /* @__PURE__ */ __name(() => {
|
|
55353
|
+
if (ctx.pendingDeliveries > 0) {
|
|
55354
|
+
ctx.promiseQueue.then(() => {
|
|
55355
|
+
setTimeout(check2, 0);
|
|
55356
|
+
});
|
|
55357
|
+
} else {
|
|
55358
|
+
fn();
|
|
55359
|
+
}
|
|
55360
|
+
}, "check");
|
|
55361
|
+
setTimeout(check2, 0);
|
|
55362
|
+
}
|
|
55363
|
+
__name(scheduleWhenIdle, "scheduleWhenIdle");
|
|
55306
55364
|
|
|
55307
55365
|
// ../core/dist/serialization.js
|
|
55308
55366
|
var SerializationFormat = {
|
|
@@ -57161,7 +57219,7 @@ function createUseStep(ctx) {
|
|
|
57161
57219
|
});
|
|
57162
57220
|
ctx.eventsConsumer.subscribe((event) => {
|
|
57163
57221
|
if (!event) {
|
|
57164
|
-
ctx
|
|
57222
|
+
scheduleWhenIdle(ctx, () => {
|
|
57165
57223
|
ctx.onWorkflowError(new WorkflowSuspension(ctx.invocationsQueue, ctx.globalThis));
|
|
57166
57224
|
});
|
|
57167
57225
|
return EventConsumerResult.NotConsumed;
|
|
@@ -57211,12 +57269,15 @@ function createUseStep(ctx) {
|
|
|
57211
57269
|
}
|
|
57212
57270
|
if (event.eventType === "step_completed") {
|
|
57213
57271
|
ctx.invocationsQueue.delete(event.correlationId);
|
|
57272
|
+
ctx.pendingDeliveries++;
|
|
57214
57273
|
ctx.promiseQueue = ctx.promiseQueue.then(async () => {
|
|
57215
57274
|
try {
|
|
57216
57275
|
const hydratedResult = await hydrateStepReturnValue(event.eventData.result, ctx.runId, ctx.encryptionKey, ctx.globalThis);
|
|
57217
57276
|
resolve3(hydratedResult);
|
|
57218
57277
|
} catch (error48) {
|
|
57219
57278
|
reject(error48);
|
|
57279
|
+
} finally {
|
|
57280
|
+
ctx.pendingDeliveries--;
|
|
57220
57281
|
}
|
|
57221
57282
|
});
|
|
57222
57283
|
return EventConsumerResult.Finished;
|
|
@@ -57380,8 +57441,8 @@ function createCreateHook(ctx) {
|
|
|
57380
57441
|
ctx.eventsConsumer.subscribe((event) => {
|
|
57381
57442
|
if (!event) {
|
|
57382
57443
|
eventLogEmpty = true;
|
|
57383
|
-
if (promises.length > 0) {
|
|
57384
|
-
ctx
|
|
57444
|
+
if (promises.length > 0 && payloadsQueue.length === 0) {
|
|
57445
|
+
scheduleWhenIdle(ctx, () => {
|
|
57385
57446
|
ctx.onWorkflowError(new WorkflowSuspension(ctx.invocationsQueue, ctx.globalThis));
|
|
57386
57447
|
});
|
|
57387
57448
|
}
|
|
@@ -57416,12 +57477,15 @@ function createCreateHook(ctx) {
|
|
|
57416
57477
|
if (promises.length > 0) {
|
|
57417
57478
|
const next2 = promises.shift();
|
|
57418
57479
|
if (next2) {
|
|
57480
|
+
ctx.pendingDeliveries++;
|
|
57419
57481
|
ctx.promiseQueue = ctx.promiseQueue.then(async () => {
|
|
57420
57482
|
try {
|
|
57421
57483
|
const payload = await hydrateStepReturnValue(event.eventData.payload, ctx.runId, ctx.encryptionKey, ctx.globalThis);
|
|
57422
57484
|
next2.resolve(payload);
|
|
57423
57485
|
} catch (error48) {
|
|
57424
57486
|
next2.reject(error48);
|
|
57487
|
+
} finally {
|
|
57488
|
+
ctx.pendingDeliveries--;
|
|
57425
57489
|
}
|
|
57426
57490
|
});
|
|
57427
57491
|
}
|
|
@@ -57452,19 +57516,22 @@ function createCreateHook(ctx) {
|
|
|
57452
57516
|
if (payloadsQueue.length > 0) {
|
|
57453
57517
|
const nextPayload = payloadsQueue.shift();
|
|
57454
57518
|
if (nextPayload) {
|
|
57519
|
+
ctx.pendingDeliveries++;
|
|
57455
57520
|
ctx.promiseQueue = ctx.promiseQueue.then(async () => {
|
|
57456
57521
|
try {
|
|
57457
57522
|
const payload = await hydrateStepReturnValue(nextPayload.eventData.payload, ctx.runId, ctx.encryptionKey, ctx.globalThis);
|
|
57458
57523
|
resolvers.resolve(payload);
|
|
57459
57524
|
} catch (error48) {
|
|
57460
57525
|
resolvers.reject(error48);
|
|
57526
|
+
} finally {
|
|
57527
|
+
ctx.pendingDeliveries--;
|
|
57461
57528
|
}
|
|
57462
57529
|
});
|
|
57463
57530
|
return resolvers.promise;
|
|
57464
57531
|
}
|
|
57465
57532
|
}
|
|
57466
57533
|
if (eventLogEmpty) {
|
|
57467
|
-
ctx
|
|
57534
|
+
scheduleWhenIdle(ctx, () => {
|
|
57468
57535
|
ctx.onWorkflowError(new WorkflowSuspension(ctx.invocationsQueue, ctx.globalThis));
|
|
57469
57536
|
});
|
|
57470
57537
|
}
|
|
@@ -57486,7 +57553,7 @@ function createCreateHook(ctx) {
|
|
|
57486
57553
|
}
|
|
57487
57554
|
if (promises.length > 0) {
|
|
57488
57555
|
promises.length = 0;
|
|
57489
|
-
ctx
|
|
57556
|
+
scheduleWhenIdle(ctx, () => {
|
|
57490
57557
|
ctx.onWorkflowError(new WorkflowSuspension(ctx.invocationsQueue, ctx.globalThis));
|
|
57491
57558
|
});
|
|
57492
57559
|
}
|
|
@@ -57531,7 +57598,7 @@ function createSleep(ctx) {
|
|
|
57531
57598
|
ctx.invocationsQueue.set(correlationId, waitItem);
|
|
57532
57599
|
ctx.eventsConsumer.subscribe((event) => {
|
|
57533
57600
|
if (!event) {
|
|
57534
|
-
ctx
|
|
57601
|
+
scheduleWhenIdle(ctx, () => {
|
|
57535
57602
|
ctx.onWorkflowError(new WorkflowSuspension(ctx.invocationsQueue, ctx.globalThis));
|
|
57536
57603
|
});
|
|
57537
57604
|
return EventConsumerResult.NotConsumed;
|
|
@@ -57628,7 +57695,8 @@ async function runWorkflow(workflowCode2, workflowRun, events, encryptionKey) {
|
|
|
57628
57695
|
},
|
|
57629
57696
|
set promiseQueue(value) {
|
|
57630
57697
|
promiseQueueHolder.current = value;
|
|
57631
|
-
}
|
|
57698
|
+
},
|
|
57699
|
+
pendingDeliveries: 0
|
|
57632
57700
|
};
|
|
57633
57701
|
workflowContext.eventsConsumer.subscribe((event) => {
|
|
57634
57702
|
const createdAt = event?.createdAt;
|
|
@@ -57658,6 +57726,7 @@ async function runWorkflow(workflowCode2, workflowRun, events, encryptionKey) {
|
|
|
57658
57726
|
vmGlobalThis[WORKFLOW_GET_STREAM_ID] = (namespace) => getWorkflowRunStreamId(workflowRun.runId, namespace);
|
|
57659
57727
|
const url2 = isVercel ? `https://${process.env.VERCEL_URL}` : `http://localhost:${port ?? 3e3}`;
|
|
57660
57728
|
const ctx = {
|
|
57729
|
+
workflowName: workflowRun.workflowName,
|
|
57661
57730
|
workflowRunId: workflowRun.runId,
|
|
57662
57731
|
workflowStartedAt: new vmGlobalThis.Date(+startedAt),
|
|
57663
57732
|
url: url2
|
|
@@ -58255,11 +58324,13 @@ var stepHandler = getWorldHandlers().createQueueHandler("__wkf_step_", async (me
|
|
|
58255
58324
|
result = await trace2("step.execute", {}, async () => {
|
|
58256
58325
|
return await contextStorage.run({
|
|
58257
58326
|
stepMetadata: {
|
|
58327
|
+
stepName,
|
|
58258
58328
|
stepId,
|
|
58259
58329
|
stepStartedAt: /* @__PURE__ */ new Date(+stepStartedAt),
|
|
58260
58330
|
attempt
|
|
58261
58331
|
},
|
|
58262
58332
|
workflowMetadata: {
|
|
58333
|
+
workflowName,
|
|
58263
58334
|
workflowRunId,
|
|
58264
58335
|
workflowStartedAt: /* @__PURE__ */ new Date(+workflowStartedAt),
|
|
58265
58336
|
// TODO: there should be a getUrl method on the world interface itself. This
|
|
@@ -58941,7 +59012,7 @@ function getWritable(options = {}) {
|
|
|
58941
59012
|
__name(getWritable, "getWritable");
|
|
58942
59013
|
|
|
58943
59014
|
// ../workflow/dist/stdlib.js
|
|
58944
|
-
var fetch = globalThis[/* @__PURE__ */ Symbol.for("WORKFLOW_USE_STEP")]("step//workflow@4.2.0-beta.
|
|
59015
|
+
var fetch = globalThis[/* @__PURE__ */ Symbol.for("WORKFLOW_USE_STEP")]("step//workflow@4.2.0-beta.68//fetch");
|
|
58945
59016
|
|
|
58946
59017
|
// ../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/core.js
|
|
58947
59018
|
var NEVER = Object.freeze({
|
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": "1.0.0",
|
|
3
3
|
"steps": {
|
|
4
|
-
"workflow/dist/
|
|
5
|
-
"
|
|
6
|
-
"stepId": "
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
"stepId": "__builtin_response_text"
|
|
4
|
+
"workflow/dist/stdlib.js": {
|
|
5
|
+
"fetch": {
|
|
6
|
+
"stepId": "step//workflow@4.2.0-beta.68//fetch"
|
|
7
|
+
}
|
|
8
|
+
},
|
|
9
|
+
"workflows/hooks.ts": {
|
|
10
|
+
"writeEvent": {
|
|
11
|
+
"stepId": "step//./workflows/hooks//writeEvent"
|
|
13
12
|
}
|
|
14
13
|
},
|
|
15
14
|
"workflows/addition.ts": {
|
|
@@ -22,41 +21,42 @@
|
|
|
22
21
|
"stepId": "step//./workflows/null-byte//nullByteStep"
|
|
23
22
|
}
|
|
24
23
|
},
|
|
25
|
-
"
|
|
26
|
-
"
|
|
27
|
-
"stepId": "step
|
|
24
|
+
"workflows/retriable-and-fatal.ts": {
|
|
25
|
+
"stepThatFails": {
|
|
26
|
+
"stepId": "step//./workflows/retriable-and-fatal//stepThatFails"
|
|
27
|
+
},
|
|
28
|
+
"stepThatThrowsRetryableError": {
|
|
29
|
+
"stepId": "step//./workflows/retriable-and-fatal//stepThatThrowsRetryableError"
|
|
28
30
|
}
|
|
29
31
|
},
|
|
30
|
-
"
|
|
31
|
-
"
|
|
32
|
-
"stepId": "
|
|
32
|
+
"workflow/dist/internal/builtins.js": {
|
|
33
|
+
"__builtin_response_array_buffer": {
|
|
34
|
+
"stepId": "__builtin_response_array_buffer"
|
|
35
|
+
},
|
|
36
|
+
"__builtin_response_json": {
|
|
37
|
+
"stepId": "__builtin_response_json"
|
|
38
|
+
},
|
|
39
|
+
"__builtin_response_text": {
|
|
40
|
+
"stepId": "__builtin_response_text"
|
|
33
41
|
}
|
|
34
42
|
},
|
|
35
43
|
"workflows/noop.ts": {
|
|
36
44
|
"noop": {
|
|
37
45
|
"stepId": "step//./workflows/noop//noop"
|
|
38
46
|
}
|
|
39
|
-
},
|
|
40
|
-
"workflows/retriable-and-fatal.ts": {
|
|
41
|
-
"stepThatFails": {
|
|
42
|
-
"stepId": "step//./workflows/retriable-and-fatal//stepThatFails"
|
|
43
|
-
},
|
|
44
|
-
"stepThatThrowsRetryableError": {
|
|
45
|
-
"stepId": "step//./workflows/retriable-and-fatal//stepThatThrowsRetryableError"
|
|
46
|
-
}
|
|
47
47
|
}
|
|
48
48
|
},
|
|
49
49
|
"workflows": {
|
|
50
|
-
"workflows/
|
|
51
|
-
"
|
|
52
|
-
"workflowId": "workflow//./workflows/
|
|
50
|
+
"workflows/hooks.ts": {
|
|
51
|
+
"collectWithHook": {
|
|
52
|
+
"workflowId": "workflow//./workflows/hooks//collectWithHook",
|
|
53
53
|
"graph": {
|
|
54
54
|
"nodes": [
|
|
55
55
|
{
|
|
56
56
|
"id": "start",
|
|
57
57
|
"type": "workflowStart",
|
|
58
58
|
"data": {
|
|
59
|
-
"label": "Start:
|
|
59
|
+
"label": "Start: collectWithHook",
|
|
60
60
|
"nodeKind": "workflow_start"
|
|
61
61
|
}
|
|
62
62
|
},
|
|
@@ -80,16 +80,16 @@
|
|
|
80
80
|
}
|
|
81
81
|
}
|
|
82
82
|
},
|
|
83
|
-
"workflows/
|
|
84
|
-
"
|
|
85
|
-
"workflowId": "workflow//./workflows/
|
|
83
|
+
"workflows/addition.ts": {
|
|
84
|
+
"addition": {
|
|
85
|
+
"workflowId": "workflow//./workflows/addition//addition",
|
|
86
86
|
"graph": {
|
|
87
87
|
"nodes": [
|
|
88
88
|
{
|
|
89
89
|
"id": "start",
|
|
90
90
|
"type": "workflowStart",
|
|
91
91
|
"data": {
|
|
92
|
-
"label": "Start:
|
|
92
|
+
"label": "Start: addition",
|
|
93
93
|
"nodeKind": "workflow_start"
|
|
94
94
|
}
|
|
95
95
|
},
|
|
@@ -113,16 +113,16 @@
|
|
|
113
113
|
}
|
|
114
114
|
}
|
|
115
115
|
},
|
|
116
|
-
"workflows/
|
|
117
|
-
"
|
|
118
|
-
"workflowId": "workflow//./workflows/
|
|
116
|
+
"workflows/null-byte.ts": {
|
|
117
|
+
"nullByteWorkflow": {
|
|
118
|
+
"workflowId": "workflow//./workflows/null-byte//nullByteWorkflow",
|
|
119
119
|
"graph": {
|
|
120
120
|
"nodes": [
|
|
121
121
|
{
|
|
122
122
|
"id": "start",
|
|
123
123
|
"type": "workflowStart",
|
|
124
124
|
"data": {
|
|
125
|
-
"label": "Start:
|
|
125
|
+
"label": "Start: nullByteWorkflow",
|
|
126
126
|
"nodeKind": "workflow_start"
|
|
127
127
|
}
|
|
128
128
|
},
|
|
@@ -146,16 +146,16 @@
|
|
|
146
146
|
}
|
|
147
147
|
}
|
|
148
148
|
},
|
|
149
|
-
"workflows/
|
|
150
|
-
"
|
|
151
|
-
"workflowId": "workflow//./workflows/
|
|
149
|
+
"workflows/retriable-and-fatal.ts": {
|
|
150
|
+
"retryableAndFatalErrorWorkflow": {
|
|
151
|
+
"workflowId": "workflow//./workflows/retriable-and-fatal//retryableAndFatalErrorWorkflow",
|
|
152
152
|
"graph": {
|
|
153
153
|
"nodes": [
|
|
154
154
|
{
|
|
155
155
|
"id": "start",
|
|
156
156
|
"type": "workflowStart",
|
|
157
157
|
"data": {
|
|
158
|
-
"label": "Start:
|
|
158
|
+
"label": "Start: retryableAndFatalErrorWorkflow",
|
|
159
159
|
"nodeKind": "workflow_start"
|
|
160
160
|
}
|
|
161
161
|
},
|
|
@@ -179,16 +179,16 @@
|
|
|
179
179
|
}
|
|
180
180
|
}
|
|
181
181
|
},
|
|
182
|
-
"workflows/
|
|
183
|
-
"
|
|
184
|
-
"workflowId": "workflow//./workflows/
|
|
182
|
+
"workflows/noop.ts": {
|
|
183
|
+
"brokenWf": {
|
|
184
|
+
"workflowId": "workflow//./workflows/noop//brokenWf",
|
|
185
185
|
"graph": {
|
|
186
186
|
"nodes": [
|
|
187
187
|
{
|
|
188
188
|
"id": "start",
|
|
189
189
|
"type": "workflowStart",
|
|
190
190
|
"data": {
|
|
191
|
-
"label": "Start:
|
|
191
|
+
"label": "Start: brokenWf",
|
|
192
192
|
"nodeKind": "workflow_start"
|
|
193
193
|
}
|
|
194
194
|
},
|