@workflow/world-testing 4.1.20 → 4.1.22
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.
|
@@ -44746,7 +44746,7 @@ var require_token_util = __commonJS({
|
|
|
44746
44746
|
findProjectInfo: /* @__PURE__ */ __name(() => findProjectInfo, "findProjectInfo"),
|
|
44747
44747
|
getTokenPayload: /* @__PURE__ */ __name(() => getTokenPayload, "getTokenPayload"),
|
|
44748
44748
|
getVercelDataDir: /* @__PURE__ */ __name(() => getVercelDataDir, "getVercelDataDir"),
|
|
44749
|
-
getVercelOidcToken: /* @__PURE__ */ __name(() =>
|
|
44749
|
+
getVercelOidcToken: /* @__PURE__ */ __name(() => getVercelOidcToken6, "getVercelOidcToken"),
|
|
44750
44750
|
getVercelToken: /* @__PURE__ */ __name(() => getVercelToken2, "getVercelToken"),
|
|
44751
44751
|
isExpired: /* @__PURE__ */ __name(() => isExpired, "isExpired"),
|
|
44752
44752
|
loadToken: /* @__PURE__ */ __name(() => loadToken, "loadToken"),
|
|
@@ -44808,7 +44808,7 @@ var require_token_util = __commonJS({
|
|
|
44808
44808
|
}
|
|
44809
44809
|
}
|
|
44810
44810
|
__name(getVercelToken2, "getVercelToken");
|
|
44811
|
-
async function
|
|
44811
|
+
async function getVercelOidcToken6(authToken, projectId, teamId) {
|
|
44812
44812
|
const url2 = `https://api.vercel.com/v1/projects/${projectId}/token?source=vercel-oidc-refresh${teamId ? `&teamId=${teamId}` : ""}`;
|
|
44813
44813
|
const res = await fetch(url2, {
|
|
44814
44814
|
method: "POST",
|
|
@@ -44825,7 +44825,7 @@ var require_token_util = __commonJS({
|
|
|
44825
44825
|
assertVercelOidcTokenResponse(tokenRes);
|
|
44826
44826
|
return tokenRes;
|
|
44827
44827
|
}
|
|
44828
|
-
__name(
|
|
44828
|
+
__name(getVercelOidcToken6, "getVercelOidcToken");
|
|
44829
44829
|
function assertVercelOidcTokenResponse(res) {
|
|
44830
44830
|
if (!res || typeof res !== "object") {
|
|
44831
44831
|
throw new TypeError(
|
|
@@ -45000,13 +45000,13 @@ var require_get_vercel_oidc_token = __commonJS({
|
|
|
45000
45000
|
var __toCommonJS2 = /* @__PURE__ */ __name((mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod), "__toCommonJS");
|
|
45001
45001
|
var get_vercel_oidc_token_exports = {};
|
|
45002
45002
|
__export2(get_vercel_oidc_token_exports, {
|
|
45003
|
-
getVercelOidcToken: /* @__PURE__ */ __name(() =>
|
|
45003
|
+
getVercelOidcToken: /* @__PURE__ */ __name(() => getVercelOidcToken6, "getVercelOidcToken"),
|
|
45004
45004
|
getVercelOidcTokenSync: /* @__PURE__ */ __name(() => getVercelOidcTokenSync2, "getVercelOidcTokenSync")
|
|
45005
45005
|
});
|
|
45006
45006
|
module2.exports = __toCommonJS2(get_vercel_oidc_token_exports);
|
|
45007
45007
|
var import_get_context = require_get_context();
|
|
45008
45008
|
var import_token_error = require_token_error();
|
|
45009
|
-
async function
|
|
45009
|
+
async function getVercelOidcToken6(options) {
|
|
45010
45010
|
let token = "";
|
|
45011
45011
|
let err;
|
|
45012
45012
|
try {
|
|
@@ -45036,7 +45036,7 @@ ${error48.message}`;
|
|
|
45036
45036
|
}
|
|
45037
45037
|
return token;
|
|
45038
45038
|
}
|
|
45039
|
-
__name(
|
|
45039
|
+
__name(getVercelOidcToken6, "getVercelOidcToken");
|
|
45040
45040
|
function getVercelOidcTokenSync2() {
|
|
45041
45041
|
const token = (0, import_get_context.getContext)().headers?.["x-vercel-oidc-token"] ?? process.env.VERCEL_OIDC_TOKEN;
|
|
45042
45042
|
if (!token) {
|
|
@@ -50526,7 +50526,7 @@ init_dist();
|
|
|
50526
50526
|
init_node();
|
|
50527
50527
|
|
|
50528
50528
|
// ../core/dist/version.js
|
|
50529
|
-
var version2 = "4.8.
|
|
50529
|
+
var version2 = "4.8.7";
|
|
50530
50530
|
|
|
50531
50531
|
// ../core/dist/runtime/world.js
|
|
50532
50532
|
var import_node_module = require("node:module");
|
|
@@ -51928,6 +51928,8 @@ function createQueue(config3) {
|
|
|
51928
51928
|
const transport = new TypedJsonTransport();
|
|
51929
51929
|
const generateId2 = monotonicFactory();
|
|
51930
51930
|
const semaphore = new import_async_sema.Sema(WORKFLOW_LOCAL_QUEUE_CONCURRENCY);
|
|
51931
|
+
const closeController = new AbortController();
|
|
51932
|
+
const closeSignal = closeController.signal;
|
|
51931
51933
|
const inflightMessages = /* @__PURE__ */ new Map();
|
|
51932
51934
|
const directHandlers = /* @__PURE__ */ new Map();
|
|
51933
51935
|
const queue = /* @__PURE__ */ __name(async (queueName, message, opts) => {
|
|
@@ -51986,6 +51988,7 @@ function createQueue(config3) {
|
|
|
51986
51988
|
headers: new Headers(headers),
|
|
51987
51989
|
body,
|
|
51988
51990
|
agents: nodeHttpAgents,
|
|
51991
|
+
signal: closeSignal,
|
|
51989
51992
|
headersTimeoutMs: agentOptions.headersTimeout,
|
|
51990
51993
|
bodyTimeoutMs: agentOptions.bodyTimeout
|
|
51991
51994
|
}) : (
|
|
@@ -51995,7 +51998,8 @@ function createQueue(config3) {
|
|
|
51995
51998
|
duplex: "half",
|
|
51996
51999
|
dispatcher: httpAgent,
|
|
51997
52000
|
headers,
|
|
51998
|
-
body
|
|
52001
|
+
body,
|
|
52002
|
+
signal: closeSignal
|
|
51999
52003
|
})
|
|
52000
52004
|
);
|
|
52001
52005
|
}
|
|
@@ -52101,6 +52105,9 @@ function createQueue(config3) {
|
|
|
52101
52105
|
directHandlers.set(prefix, handler);
|
|
52102
52106
|
},
|
|
52103
52107
|
async close() {
|
|
52108
|
+
if (closeSignal.aborted)
|
|
52109
|
+
return;
|
|
52110
|
+
closeController.abort();
|
|
52104
52111
|
if (nodeHttpAgents)
|
|
52105
52112
|
destroyNodeHttpAgents(nodeHttpAgents);
|
|
52106
52113
|
await httpAgent?.close();
|
|
@@ -54267,6 +54274,36 @@ var WorkflowHttpTransport = SemanticConvention3("workflow.http.transport");
|
|
|
54267
54274
|
|
|
54268
54275
|
// ../world-vercel/dist/http-core.js
|
|
54269
54276
|
var REQUEST_TIMEOUT_MS = 6e4;
|
|
54277
|
+
var TRANSIENT_TRANSPORT_ERROR_CODES = /* @__PURE__ */ new Set([
|
|
54278
|
+
"UND_ERR_INFO",
|
|
54279
|
+
"UND_ERR_REQ_RETRY",
|
|
54280
|
+
"UND_ERR_SOCKET",
|
|
54281
|
+
"UND_ERR_CONNECT",
|
|
54282
|
+
"UND_ERR_CONNECT_TIMEOUT",
|
|
54283
|
+
"UND_ERR_HEADERS_TIMEOUT",
|
|
54284
|
+
"UND_ERR_BODY_TIMEOUT",
|
|
54285
|
+
"UND_ERR_CLOSED",
|
|
54286
|
+
"ECONNRESET",
|
|
54287
|
+
"ECONNREFUSED",
|
|
54288
|
+
"ENOTFOUND",
|
|
54289
|
+
"EAI_AGAIN",
|
|
54290
|
+
"EPIPE",
|
|
54291
|
+
"ETIMEDOUT"
|
|
54292
|
+
]);
|
|
54293
|
+
function getTransientTransportCode(error48) {
|
|
54294
|
+
let current = error48;
|
|
54295
|
+
for (let depth = 0; current != null && depth < 8; depth++) {
|
|
54296
|
+
if (typeof current === "object" && "code" in current) {
|
|
54297
|
+
const code = current.code;
|
|
54298
|
+
if (typeof code === "string" && TRANSIENT_TRANSPORT_ERROR_CODES.has(code)) {
|
|
54299
|
+
return code;
|
|
54300
|
+
}
|
|
54301
|
+
}
|
|
54302
|
+
current = current?.cause;
|
|
54303
|
+
}
|
|
54304
|
+
return void 0;
|
|
54305
|
+
}
|
|
54306
|
+
__name(getTransientTransportCode, "getTransientTransportCode");
|
|
54270
54307
|
var HTTP_DEBUG_ENABLED = typeof process !== "undefined" && typeof process.env.DEBUG === "string" && (process.env.DEBUG.includes("workflow:") || process.env.DEBUG === "*");
|
|
54271
54308
|
var DIAGNOSTIC_HEADERS = [
|
|
54272
54309
|
"x-vercel-id",
|
|
@@ -54367,7 +54404,7 @@ function httpClientSpanAttributes(args) {
|
|
|
54367
54404
|
}
|
|
54368
54405
|
__name(httpClientSpanAttributes, "httpClientSpanAttributes");
|
|
54369
54406
|
async function instrumentedFetch(opts) {
|
|
54370
|
-
const { method, url: url2, headers, body, dispatcher, peerService = "workflow-server", timeoutMs = REQUEST_TIMEOUT_MS, signal: callerSignal, injectTraceContext = true, cacheBust = true, logLabel, buildError, onTransportOutcome } = opts;
|
|
54407
|
+
const { method, url: url2, headers, body, dispatcher, peerService = "workflow-server", timeoutMs = REQUEST_TIMEOUT_MS, signal: callerSignal, injectTraceContext = true, cacheBust = true, logLabel, buildError, onTransportOutcome, deferTransportSuccessUntilBody = false } = opts;
|
|
54371
54408
|
const label = logLabel ?? url2;
|
|
54372
54409
|
return trace4(`http ${method}`, { kind: await getSpanKind3("CLIENT") }, async (span) => {
|
|
54373
54410
|
span?.setAttributes(httpClientSpanAttributes({ method, url: url2, peerService }));
|
|
@@ -54407,26 +54444,56 @@ async function instrumentedFetch(opts) {
|
|
|
54407
54444
|
const elapsed = Date.now() - start2;
|
|
54408
54445
|
onTransportOutcome?.(error48);
|
|
54409
54446
|
if (error48 instanceof Error && (error48.name === "TimeoutError" || error48.name === "AbortError")) {
|
|
54410
|
-
const timeoutError = new WorkflowWorldError(`${method} ${label} timed out after ${elapsed}ms`, { url: url2, cause: error48 });
|
|
54447
|
+
const timeoutError = new WorkflowWorldError(`${method} ${label} timed out after ${elapsed}ms`, { url: url2, code: "TIMEOUT", cause: error48 });
|
|
54411
54448
|
span?.setAttributes({ ...ErrorType2("TIMEOUT") });
|
|
54412
54449
|
span?.recordException?.(timeoutError);
|
|
54413
54450
|
throw timeoutError;
|
|
54414
54451
|
}
|
|
54452
|
+
const transportCode = getTransientTransportCode(error48);
|
|
54453
|
+
if (transportCode) {
|
|
54454
|
+
const transportError2 = new WorkflowWorldError(`${method} ${label} transport failure after ${elapsed}ms (${transportCode})`, { url: url2, code: "TRANSPORT", cause: error48 });
|
|
54455
|
+
span?.setAttributes({ ...ErrorType2("TRANSPORT") });
|
|
54456
|
+
span?.recordException?.(transportError2);
|
|
54457
|
+
throw transportError2;
|
|
54458
|
+
}
|
|
54415
54459
|
throw error48;
|
|
54416
54460
|
}
|
|
54417
54461
|
const ms2 = Date.now() - start2;
|
|
54418
|
-
|
|
54462
|
+
if (!deferTransportSuccessUntilBody)
|
|
54463
|
+
onTransportOutcome?.();
|
|
54419
54464
|
httpLog(method, label, response, ms2);
|
|
54420
54465
|
span?.setAttributes({ ...HttpResponseStatusCode2(response.status) });
|
|
54421
54466
|
if (!response.ok) {
|
|
54422
54467
|
span?.setAttributes({ ...ErrorType2(`HTTP ${response.status}`) });
|
|
54423
54468
|
logCurlRepro(method, url2, headers);
|
|
54424
54469
|
if (buildError) {
|
|
54425
|
-
|
|
54470
|
+
let error49;
|
|
54471
|
+
try {
|
|
54472
|
+
error49 = await buildError(response);
|
|
54473
|
+
} catch (cause) {
|
|
54474
|
+
const transportCode = getTransientTransportCode(cause);
|
|
54475
|
+
if (transportCode) {
|
|
54476
|
+
if (deferTransportSuccessUntilBody) {
|
|
54477
|
+
onTransportOutcome?.(cause);
|
|
54478
|
+
}
|
|
54479
|
+
const transportError2 = new WorkflowWorldError(`${method} ${label} response body transport failure (${transportCode})`, { url: url2, code: "TRANSPORT", cause });
|
|
54480
|
+
span?.setAttributes({ ...ErrorType2("TRANSPORT") });
|
|
54481
|
+
span?.recordException?.(transportError2);
|
|
54482
|
+
throw transportError2;
|
|
54483
|
+
}
|
|
54484
|
+
if (deferTransportSuccessUntilBody) {
|
|
54485
|
+
onTransportOutcome?.(cause);
|
|
54486
|
+
}
|
|
54487
|
+
throw cause;
|
|
54488
|
+
}
|
|
54489
|
+
if (deferTransportSuccessUntilBody)
|
|
54490
|
+
onTransportOutcome?.();
|
|
54426
54491
|
span?.recordException?.(error49);
|
|
54427
54492
|
throw error49;
|
|
54428
54493
|
}
|
|
54429
54494
|
const text = await response.text().catch(() => "");
|
|
54495
|
+
if (deferTransportSuccessUntilBody)
|
|
54496
|
+
onTransportOutcome?.();
|
|
54430
54497
|
const error48 = errorForResponse(response.status, `${method} ${label} -> HTTP ${response.status}: ${response.statusText}${text ? ` ${text}` : ""}${formatVercelDiagnostics(response.headers)}`, {
|
|
54431
54498
|
url: url2,
|
|
54432
54499
|
retryAfter: parseRetryAfter(response.headers.get("Retry-After"))
|
|
@@ -61571,42 +61638,13 @@ var import_oidc3 = __toESM(require_dist(), 1);
|
|
|
61571
61638
|
init_dist();
|
|
61572
61639
|
|
|
61573
61640
|
// ../world-vercel/dist/version.js
|
|
61574
|
-
var version3 = "4.7.
|
|
61641
|
+
var version3 = "4.7.3";
|
|
61575
61642
|
|
|
61576
61643
|
// ../world-vercel/dist/utils.js
|
|
61577
61644
|
var WORKFLOW_SERVER_URL_OVERRIDE = "";
|
|
61578
61645
|
var IDEMPOTENT_METHODS = /* @__PURE__ */ new Set(["GET", "HEAD"]);
|
|
61579
61646
|
var MAX_BODY_PARSE_RETRIES = 2;
|
|
61580
61647
|
var BODY_PARSE_RETRY_BASE_MS = 100;
|
|
61581
|
-
var TRANSIENT_TRANSPORT_ERROR_CODES = /* @__PURE__ */ new Set([
|
|
61582
|
-
"UND_ERR_REQ_RETRY",
|
|
61583
|
-
"UND_ERR_SOCKET",
|
|
61584
|
-
"UND_ERR_CONNECT",
|
|
61585
|
-
"UND_ERR_CONNECT_TIMEOUT",
|
|
61586
|
-
"UND_ERR_HEADERS_TIMEOUT",
|
|
61587
|
-
"UND_ERR_BODY_TIMEOUT",
|
|
61588
|
-
"UND_ERR_CLOSED",
|
|
61589
|
-
"ECONNRESET",
|
|
61590
|
-
"ECONNREFUSED",
|
|
61591
|
-
"ENOTFOUND",
|
|
61592
|
-
"EAI_AGAIN",
|
|
61593
|
-
"EPIPE",
|
|
61594
|
-
"ETIMEDOUT"
|
|
61595
|
-
]);
|
|
61596
|
-
function getTransientTransportCode(error48) {
|
|
61597
|
-
let current = error48;
|
|
61598
|
-
for (let depth = 0; current != null && depth < 5; depth++) {
|
|
61599
|
-
if (typeof current === "object" && "code" in current) {
|
|
61600
|
-
const code = current.code;
|
|
61601
|
-
if (typeof code === "string" && TRANSIENT_TRANSPORT_ERROR_CODES.has(code)) {
|
|
61602
|
-
return code;
|
|
61603
|
-
}
|
|
61604
|
-
}
|
|
61605
|
-
current = current?.cause;
|
|
61606
|
-
}
|
|
61607
|
-
return void 0;
|
|
61608
|
-
}
|
|
61609
|
-
__name(getTransientTransportCode, "getTransientTransportCode");
|
|
61610
61648
|
var getWorkflowServerUrlOverride = /* @__PURE__ */ __name(() => WORKFLOW_SERVER_URL_OVERRIDE || process.env.VERCEL_WORKFLOW_SERVER_URL || "", "getWorkflowServerUrlOverride");
|
|
61611
61649
|
var DEFAULT_RESOLVE_DATA_OPTION2 = "all";
|
|
61612
61650
|
function deserializeError(obj) {
|
|
@@ -62088,21 +62126,35 @@ function createQueue2(config3) {
|
|
|
62088
62126
|
__name(createQueue2, "createQueue");
|
|
62089
62127
|
|
|
62090
62128
|
// ../world-vercel/dist/resolve-latest-deployment.js
|
|
62129
|
+
var import_oidc4 = __toESM(require_dist(), 1);
|
|
62091
62130
|
init_zod();
|
|
62092
62131
|
var ResolveLatestDeploymentResponseSchema = object({
|
|
62093
62132
|
id: string2()
|
|
62094
62133
|
});
|
|
62134
|
+
async function resolveDeploymentIdentityToken(config3) {
|
|
62135
|
+
if (config3?.token)
|
|
62136
|
+
return config3.token;
|
|
62137
|
+
if (process.env.VERCEL === "1") {
|
|
62138
|
+
const oidcToken = await (0, import_oidc4.getVercelOidcToken)().catch(() => null);
|
|
62139
|
+
if (oidcToken)
|
|
62140
|
+
return oidcToken;
|
|
62141
|
+
}
|
|
62142
|
+
return resolveVercelApiToken(config3);
|
|
62143
|
+
}
|
|
62144
|
+
__name(resolveDeploymentIdentityToken, "resolveDeploymentIdentityToken");
|
|
62095
62145
|
function createResolveLatestDeploymentId(config3) {
|
|
62096
62146
|
return /* @__PURE__ */ __name(async function resolveLatestDeploymentId() {
|
|
62097
62147
|
const currentDeploymentId = process.env.VERCEL_DEPLOYMENT_ID;
|
|
62098
62148
|
if (!currentDeploymentId) {
|
|
62099
62149
|
throw new Error("Cannot resolve latest deployment: VERCEL_DEPLOYMENT_ID environment variable is not set");
|
|
62100
62150
|
}
|
|
62101
|
-
const token = await
|
|
62151
|
+
const token = await resolveDeploymentIdentityToken(config3);
|
|
62102
62152
|
if (!token) {
|
|
62103
62153
|
throw new Error("Cannot resolve latest deployment: no OIDC token or VERCEL_TOKEN available");
|
|
62104
62154
|
}
|
|
62105
|
-
const
|
|
62155
|
+
const teamId = config3?.projectConfig?.teamId;
|
|
62156
|
+
const query = teamId ? `?${new URLSearchParams({ teamId })}` : "";
|
|
62157
|
+
const url2 = `https://api.vercel.com/v1/workflow/resolve-latest-deployment/${encodeURIComponent(currentDeploymentId)}${query}`;
|
|
62106
62158
|
const response = await instrumentedFetch({
|
|
62107
62159
|
method: "GET",
|
|
62108
62160
|
url: url2,
|
|
@@ -62119,7 +62171,8 @@ function createResolveLatestDeploymentId(config3) {
|
|
|
62119
62171
|
} catch {
|
|
62120
62172
|
body = "<unable to read response body>";
|
|
62121
62173
|
}
|
|
62122
|
-
|
|
62174
|
+
const hint = res.status === 404 ? ". The deployment exists but was not visible to the identity this request authenticated as, which means the request resolved to a different team. Set the World's `projectConfig.teamId` to scope it explicitly." : "";
|
|
62175
|
+
return new Error(`Failed to resolve latest deployment for ${currentDeploymentId}: HTTP ${res.status} ${res.statusText}${body ? ` \u2014 ${body}` : ""}${hint}`);
|
|
62123
62176
|
}, "buildError")
|
|
62124
62177
|
});
|
|
62125
62178
|
const data = await response.json();
|
|
@@ -62400,7 +62453,7 @@ __name(readerToIterator, "readerToIterator");
|
|
|
62400
62453
|
// ../world-vercel/dist/events-v4.js
|
|
62401
62454
|
async function fetchV4(url2, init, config3, opName) {
|
|
62402
62455
|
const dispatcher = getEventsDispatcher(config3);
|
|
62403
|
-
|
|
62456
|
+
const response = await instrumentedFetch({
|
|
62404
62457
|
method: init.method,
|
|
62405
62458
|
url: url2,
|
|
62406
62459
|
headers: init.headers,
|
|
@@ -62411,9 +62464,41 @@ async function fetchV4(url2, init, config3, opName) {
|
|
|
62411
62464
|
// service indefinitely, so without this every request routed onto it fails
|
|
62412
62465
|
// until the compute instance is recycled — see noteEventsTransportOutcome.
|
|
62413
62466
|
onTransportOutcome: /* @__PURE__ */ __name((error48) => noteEventsTransportOutcome(dispatcher, error48), "onTransportOutcome"),
|
|
62467
|
+
deferTransportSuccessUntilBody: true,
|
|
62414
62468
|
timeoutMs: null,
|
|
62415
62469
|
logLabel: opName,
|
|
62416
|
-
buildError: /* @__PURE__ */ __name(async (
|
|
62470
|
+
buildError: /* @__PURE__ */ __name(async (response2) => errorFromV4Response(response2.status, headersToRecord(response2.headers), await response2.text(), opName, url2), "buildError")
|
|
62471
|
+
});
|
|
62472
|
+
if (!response.body) {
|
|
62473
|
+
noteEventsTransportOutcome(dispatcher);
|
|
62474
|
+
return response;
|
|
62475
|
+
}
|
|
62476
|
+
const reader = response.body.getReader();
|
|
62477
|
+
const body = new ReadableStream({
|
|
62478
|
+
async pull(controller) {
|
|
62479
|
+
try {
|
|
62480
|
+
const chunk = await reader.read();
|
|
62481
|
+
if (chunk.done) {
|
|
62482
|
+
noteEventsTransportOutcome(dispatcher);
|
|
62483
|
+
controller.close();
|
|
62484
|
+
} else {
|
|
62485
|
+
controller.enqueue(chunk.value);
|
|
62486
|
+
}
|
|
62487
|
+
} catch (cause) {
|
|
62488
|
+
noteEventsTransportOutcome(dispatcher, cause);
|
|
62489
|
+
const transportCode = getTransientTransportCode(cause);
|
|
62490
|
+
controller.error(transportCode ? new WorkflowWorldError(`v4 ${opName}: response stream transport failure (${transportCode})`, { url: url2, code: "TRANSPORT", cause }) : cause);
|
|
62491
|
+
}
|
|
62492
|
+
},
|
|
62493
|
+
cancel(reason) {
|
|
62494
|
+
noteEventsTransportOutcome(dispatcher);
|
|
62495
|
+
return reader.cancel(reason);
|
|
62496
|
+
}
|
|
62497
|
+
});
|
|
62498
|
+
return new Response(body, {
|
|
62499
|
+
status: response.status,
|
|
62500
|
+
statusText: response.statusText,
|
|
62501
|
+
headers: response.headers
|
|
62417
62502
|
});
|
|
62418
62503
|
}
|
|
62419
62504
|
__name(fetchV4, "fetchV4");
|
|
@@ -1,11 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": "1.0.0",
|
|
3
3
|
"steps": {
|
|
4
|
-
"workflows/noop.ts": {
|
|
5
|
-
"noop": {
|
|
6
|
-
"stepId": "step//./workflows/noop//noop"
|
|
7
|
-
}
|
|
8
|
-
},
|
|
9
4
|
"workflows/hooks.ts": {
|
|
10
5
|
"writeEvent": {
|
|
11
6
|
"stepId": "step//./workflows/hooks//writeEvent"
|
|
@@ -24,22 +19,16 @@
|
|
|
24
19
|
"stepId": "step//./workflows/retriable-and-fatal//stepThatThrowsRetryableError"
|
|
25
20
|
}
|
|
26
21
|
},
|
|
27
|
-
"workflow/dist/internal/builtins.js": {
|
|
28
|
-
"__builtin_response_array_buffer": {
|
|
29
|
-
"stepId": "__builtin_response_array_buffer"
|
|
30
|
-
},
|
|
31
|
-
"__builtin_response_json": {
|
|
32
|
-
"stepId": "__builtin_response_json"
|
|
33
|
-
},
|
|
34
|
-
"__builtin_response_text": {
|
|
35
|
-
"stepId": "__builtin_response_text"
|
|
36
|
-
}
|
|
37
|
-
},
|
|
38
22
|
"workflows/event-limit.ts": {
|
|
39
23
|
"tick": {
|
|
40
24
|
"stepId": "step//./workflows/event-limit//tick"
|
|
41
25
|
}
|
|
42
26
|
},
|
|
27
|
+
"workflows/noop.ts": {
|
|
28
|
+
"noop": {
|
|
29
|
+
"stepId": "step//./workflows/noop//noop"
|
|
30
|
+
}
|
|
31
|
+
},
|
|
43
32
|
"workflows/null-byte.ts": {
|
|
44
33
|
"nullByteStep": {
|
|
45
34
|
"stepId": "step//./workflows/null-byte//nullByteStep"
|
|
@@ -47,74 +36,22 @@
|
|
|
47
36
|
},
|
|
48
37
|
"workflow/dist/stdlib.js": {
|
|
49
38
|
"fetch": {
|
|
50
|
-
"stepId": "step//workflow@4.8.
|
|
39
|
+
"stepId": "step//workflow@4.8.7//fetch"
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
"workflow/dist/internal/builtins.js": {
|
|
43
|
+
"__builtin_response_array_buffer": {
|
|
44
|
+
"stepId": "__builtin_response_array_buffer"
|
|
45
|
+
},
|
|
46
|
+
"__builtin_response_json": {
|
|
47
|
+
"stepId": "__builtin_response_json"
|
|
48
|
+
},
|
|
49
|
+
"__builtin_response_text": {
|
|
50
|
+
"stepId": "__builtin_response_text"
|
|
51
51
|
}
|
|
52
52
|
}
|
|
53
53
|
},
|
|
54
54
|
"workflows": {
|
|
55
|
-
"workflows/noop.ts": {
|
|
56
|
-
"brokenWf": {
|
|
57
|
-
"workflowId": "workflow//./workflows/noop//brokenWf",
|
|
58
|
-
"graph": {
|
|
59
|
-
"nodes": [
|
|
60
|
-
{
|
|
61
|
-
"id": "start",
|
|
62
|
-
"type": "workflowStart",
|
|
63
|
-
"data": {
|
|
64
|
-
"label": "Start: brokenWf",
|
|
65
|
-
"nodeKind": "workflow_start"
|
|
66
|
-
}
|
|
67
|
-
},
|
|
68
|
-
{
|
|
69
|
-
"id": "node_0",
|
|
70
|
-
"type": "step",
|
|
71
|
-
"data": {
|
|
72
|
-
"label": "noop",
|
|
73
|
-
"nodeKind": "step",
|
|
74
|
-
"stepId": "step//./workflows/noop//noop"
|
|
75
|
-
}
|
|
76
|
-
},
|
|
77
|
-
{
|
|
78
|
-
"id": "node_1",
|
|
79
|
-
"type": "step",
|
|
80
|
-
"data": {
|
|
81
|
-
"label": "noop",
|
|
82
|
-
"nodeKind": "step",
|
|
83
|
-
"stepId": "step//./workflows/noop//noop"
|
|
84
|
-
}
|
|
85
|
-
},
|
|
86
|
-
{
|
|
87
|
-
"id": "end",
|
|
88
|
-
"type": "workflowEnd",
|
|
89
|
-
"data": {
|
|
90
|
-
"label": "Return",
|
|
91
|
-
"nodeKind": "workflow_end"
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
],
|
|
95
|
-
"edges": [
|
|
96
|
-
{
|
|
97
|
-
"id": "e_start_node_0",
|
|
98
|
-
"source": "start",
|
|
99
|
-
"target": "node_0",
|
|
100
|
-
"type": "default"
|
|
101
|
-
},
|
|
102
|
-
{
|
|
103
|
-
"id": "e_node_0_node_1",
|
|
104
|
-
"source": "node_0",
|
|
105
|
-
"target": "node_1",
|
|
106
|
-
"type": "default"
|
|
107
|
-
},
|
|
108
|
-
{
|
|
109
|
-
"id": "e_node_1_end",
|
|
110
|
-
"source": "node_1",
|
|
111
|
-
"target": "end",
|
|
112
|
-
"type": "default"
|
|
113
|
-
}
|
|
114
|
-
]
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
},
|
|
118
55
|
"workflows/hooks.ts": {
|
|
119
56
|
"collectWithHook": {
|
|
120
57
|
"workflowId": "workflow//./workflows/hooks//collectWithHook",
|
|
@@ -341,6 +278,69 @@
|
|
|
341
278
|
}
|
|
342
279
|
}
|
|
343
280
|
},
|
|
281
|
+
"workflows/noop.ts": {
|
|
282
|
+
"brokenWf": {
|
|
283
|
+
"workflowId": "workflow//./workflows/noop//brokenWf",
|
|
284
|
+
"graph": {
|
|
285
|
+
"nodes": [
|
|
286
|
+
{
|
|
287
|
+
"id": "start",
|
|
288
|
+
"type": "workflowStart",
|
|
289
|
+
"data": {
|
|
290
|
+
"label": "Start: brokenWf",
|
|
291
|
+
"nodeKind": "workflow_start"
|
|
292
|
+
}
|
|
293
|
+
},
|
|
294
|
+
{
|
|
295
|
+
"id": "node_0",
|
|
296
|
+
"type": "step",
|
|
297
|
+
"data": {
|
|
298
|
+
"label": "noop",
|
|
299
|
+
"nodeKind": "step",
|
|
300
|
+
"stepId": "step//./workflows/noop//noop"
|
|
301
|
+
}
|
|
302
|
+
},
|
|
303
|
+
{
|
|
304
|
+
"id": "node_1",
|
|
305
|
+
"type": "step",
|
|
306
|
+
"data": {
|
|
307
|
+
"label": "noop",
|
|
308
|
+
"nodeKind": "step",
|
|
309
|
+
"stepId": "step//./workflows/noop//noop"
|
|
310
|
+
}
|
|
311
|
+
},
|
|
312
|
+
{
|
|
313
|
+
"id": "end",
|
|
314
|
+
"type": "workflowEnd",
|
|
315
|
+
"data": {
|
|
316
|
+
"label": "Return",
|
|
317
|
+
"nodeKind": "workflow_end"
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
],
|
|
321
|
+
"edges": [
|
|
322
|
+
{
|
|
323
|
+
"id": "e_start_node_0",
|
|
324
|
+
"source": "start",
|
|
325
|
+
"target": "node_0",
|
|
326
|
+
"type": "default"
|
|
327
|
+
},
|
|
328
|
+
{
|
|
329
|
+
"id": "e_node_0_node_1",
|
|
330
|
+
"source": "node_0",
|
|
331
|
+
"target": "node_1",
|
|
332
|
+
"type": "default"
|
|
333
|
+
},
|
|
334
|
+
{
|
|
335
|
+
"id": "e_node_1_end",
|
|
336
|
+
"source": "node_1",
|
|
337
|
+
"target": "end",
|
|
338
|
+
"type": "default"
|
|
339
|
+
}
|
|
340
|
+
]
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
},
|
|
344
344
|
"workflows/null-byte.ts": {
|
|
345
345
|
"nullByteWorkflow": {
|
|
346
346
|
"workflowId": "workflow//./workflows/null-byte//nullByteWorkflow",
|