@workflow/web 5.0.0-beta.52 → 5.0.0-beta.53
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/build/server/assets/{app-CPvbv5SM.js → app-Bh6jcVnZ.js} +108 -31
- package/build/server/assets/{highlighted-body-B3W2YXNL-BMAfAXV9.js → highlighted-body-B3W2YXNL-Cq95j2_r.js} +1 -1
- package/build/server/assets/{index-BY1UiSvZ.js → index-CsLAjmyX.js} +1 -1
- package/build/server/assets/{index-BslvMxmv.js → index-DPoW5P_O.js} +2 -2
- package/build/server/assets/{mermaid-3ZIDBTTL-B43KQnMx.js → mermaid-3ZIDBTTL-BolQF4wC.js} +1 -1
- package/build/server/assets/{token-CSPXQgAT.js → token-D5rGJvd_.js} +1 -1
- package/build/server/assets/{token-util-C1nMjR5C.js → token-util-ChwiFJWk.js} +1 -1
- package/build/server/assets/{websocket-server-Bcu1iZeP.js → websocket-server-B8WVLAEO.js} +1 -1
- package/build/server/assets/{wrapper-DLlJtdca.js → wrapper-CeBkFVzB.js} +3 -3
- package/build/server/assets/{ws-transport-CfFD7U2V.js → ws-transport-BQdJnqBo.js} +2 -2
- package/build/server/assets/{zstd-browser-decoder-BlsTrKGs.js → zstd-browser-decoder-DUCK00sT.js} +1 -1
- package/build/server/index.js +1 -1
- package/package.json +4 -4
|
@@ -54983,7 +54983,7 @@ function replaceEncryptedAndExpiredWithMarkers(resource) {
|
|
|
54983
54983
|
}
|
|
54984
54984
|
async function hydrateResourceIOAsync(resource, key) {
|
|
54985
54985
|
const { hydrateDataWithKey: hydrateDataWithKey2, deriveRunPayloadKeys: deriveRunPayloadKeys2 } = await Promise.resolve().then(() => serializationFormat);
|
|
54986
|
-
const { ensureZstdDecoderRegistered } = await import("./zstd-browser-decoder-
|
|
54986
|
+
const { ensureZstdDecoderRegistered } = await import("./zstd-browser-decoder-DUCK00sT.js");
|
|
54987
54987
|
ensureZstdDecoderRegistered();
|
|
54988
54988
|
const cryptoKey = key ? await deriveRunPayloadKeys2(key) : void 0;
|
|
54989
54989
|
const revivers = getRevivers();
|
|
@@ -85927,7 +85927,7 @@ var tn = f("block", "before:content-[counter(line)]", "before:inline-block", "be
|
|
|
85927
85927
|
var et = ({ className: e, language: t, style: o, isIncomplete: n, ...s2 }) => jsxRuntimeExports.jsx("div", { className: f("my-4 flex w-full flex-col gap-2 rounded-xl border border-border bg-sidebar p-2", e), "data-incomplete": n || void 0, "data-language": t, "data-streamdown": "code-block", style: { contentVisibility: "auto", containIntrinsicSize: "auto 200px", ...o }, ...s2 });
|
|
85928
85928
|
var Se = reactExports.createContext({ code: "" }), de = () => reactExports.useContext(Se);
|
|
85929
85929
|
var ot = ({ language: e }) => jsxRuntimeExports.jsx("div", { className: "flex h-8 items-center text-muted-foreground text-xs", "data-language": e, "data-streamdown": "code-block-header", children: jsxRuntimeExports.jsx("span", { className: "ml-1 font-mono lowercase", children: e }) });
|
|
85930
|
-
var cn$1 = /\n+$/, dn = reactExports.lazy(() => import("./highlighted-body-B3W2YXNL-
|
|
85930
|
+
var cn$1 = /\n+$/, dn = reactExports.lazy(() => import("./highlighted-body-B3W2YXNL-Cq95j2_r.js").then((e) => ({ default: e.HighlightedCodeBlockBody }))), rt = ({ code: e, language: t, className: o, children: n, isIncomplete: s2 = false, ...r2 }) => {
|
|
85931
85931
|
let i = reactExports.useMemo(() => e.replace(cn$1, ""), [e]), c = reactExports.useMemo(() => ({ bg: "transparent", fg: "inherit", tokens: i.split(`
|
|
85932
85932
|
`).map((a2) => [{ content: a2, color: "inherit", bgColor: "transparent", htmlStyle: {}, offset: 0 }]) }), [i]);
|
|
85933
85933
|
return jsxRuntimeExports.jsx(Se.Provider, { value: { code: e }, children: jsxRuntimeExports.jsxs(et, { isIncomplete: s2, language: t, children: [jsxRuntimeExports.jsx(ot, { language: t }), n ? jsxRuntimeExports.jsx("div", { className: "pointer-events-none sticky top-2 z-10 -mt-10 flex h-8 items-center justify-end", children: jsxRuntimeExports.jsx("div", { className: "pointer-events-auto flex shrink-0 items-center gap-2 rounded-md border border-sidebar bg-sidebar/80 px-1.5 py-1 supports-[backdrop-filter]:bg-sidebar/70 supports-[backdrop-filter]:backdrop-blur", "data-streamdown": "code-block-actions", children: n }) }) : null, jsxRuntimeExports.jsx(reactExports.Suspense, { fallback: jsxRuntimeExports.jsx(Qe, { className: o, language: t, result: c, ...r2 }), children: jsxRuntimeExports.jsx(dn, { className: o, code: i, language: t, raw: c, ...r2 }) })] }) });
|
|
@@ -86249,7 +86249,7 @@ var Dt = ({ children: e, className: t, onDownload: o, onError: n }) => {
|
|
|
86249
86249
|
}, []), jsxRuntimeExports.jsxs("div", { className: "relative", ref: i, children: [jsxRuntimeExports.jsx("button", { className: f("cursor-pointer p-1 text-muted-foreground transition-all hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50", t), disabled: c, onClick: () => r2(!s2), title: "Download table", type: "button", children: e != null ? e : jsxRuntimeExports.jsx(Z, { size: 14 }) }), s2 ? jsxRuntimeExports.jsxs("div", { className: "absolute top-full right-0 z-10 mt-1 min-w-[120px] overflow-hidden rounded-md border border-border bg-background shadow-lg", children: [jsxRuntimeExports.jsx("button", { className: "w-full px-3 py-2 text-left text-sm transition-colors hover:bg-muted/40", onClick: () => a2("csv"), title: "Download table as CSV", type: "button", children: "CSV" }), jsxRuntimeExports.jsx("button", { className: "w-full px-3 py-2 text-left text-sm transition-colors hover:bg-muted/40", onClick: () => a2("markdown"), title: "Download table as Markdown", type: "button", children: "Markdown" })] }) : null] });
|
|
86250
86250
|
};
|
|
86251
86251
|
var Vt = ({ children: e, className: t, showControls: o, ...n }) => jsxRuntimeExports.jsxs("div", { className: "my-4 flex flex-col gap-2 rounded-lg border border-border bg-sidebar p-2", "data-streamdown": "table-wrapper", children: [o ? jsxRuntimeExports.jsxs("div", { className: "flex items-center justify-end gap-1", children: [jsxRuntimeExports.jsx(Ht, {}), jsxRuntimeExports.jsx(Dt, {})] }) : null, jsxRuntimeExports.jsx("div", { className: "border-collapse overflow-x-auto overscroll-y-auto rounded-md border border-border bg-background", children: jsxRuntimeExports.jsx("table", { className: f("w-full divide-y divide-border", t), "data-streamdown": "table", ...n, children: e }) })] });
|
|
86252
|
-
var Jn = reactExports.lazy(() => import("./mermaid-3ZIDBTTL-
|
|
86252
|
+
var Jn = reactExports.lazy(() => import("./mermaid-3ZIDBTTL-BolQF4wC.js").then((e) => ({ default: e.Mermaid }))), Kn = /language-([^\s]+)/;
|
|
86253
86253
|
function ke(e, t) {
|
|
86254
86254
|
if (!(e != null && e.position || t != null && t.position)) return true;
|
|
86255
86255
|
if (!(e != null && e.position && (t != null && t.position))) return false;
|
|
@@ -94838,6 +94838,7 @@ function renderStructuredFields(framing, body2, metadata) {
|
|
|
94838
94838
|
"errorName",
|
|
94839
94839
|
"errorMessage",
|
|
94840
94840
|
"errorStack",
|
|
94841
|
+
"errorCause",
|
|
94841
94842
|
"hint",
|
|
94842
94843
|
"attempt",
|
|
94843
94844
|
"retryCount"
|
|
@@ -94880,6 +94881,10 @@ function renderStructuredFields(framing, body2, metadata) {
|
|
|
94880
94881
|
if (errorMessage && !redundant.has("errorMessage")) {
|
|
94881
94882
|
lines.push(` ${kvKey("error")} ${formatPassthroughValue(errorMessage)}`);
|
|
94882
94883
|
}
|
|
94884
|
+
const errorCause = pickString(metadata, "errorCause");
|
|
94885
|
+
if (errorCause && !body2.includes(errorCause)) {
|
|
94886
|
+
lines.push(` ${kvKey("cause")} ${formatPassthroughValue(errorCause)}`);
|
|
94887
|
+
}
|
|
94883
94888
|
const hint$12 = pickString(metadata, "hint");
|
|
94884
94889
|
if (hint$12) {
|
|
94885
94890
|
lines.push(` ${hint(hint$12)}`);
|
|
@@ -98140,6 +98145,13 @@ async function getForwardedWritableEncryptionKey(runId, deploymentId, encryption
|
|
|
98140
98145
|
const rawKey = deploymentId ? await world.getEncryptionKeyForRun(runId, { deploymentId }) : await world.getEncryptionKeyForRun(await world.runs.get(runId));
|
|
98141
98146
|
return rawKey ? await importKey(rawKey, ["encrypt"]) : void 0;
|
|
98142
98147
|
}
|
|
98148
|
+
function lazyForwardedWritableEncryptionKey(runId, deploymentId, encryptionPublicKey) {
|
|
98149
|
+
let keyPromise;
|
|
98150
|
+
return () => {
|
|
98151
|
+
keyPromise ?? (keyPromise = getForwardedWritableEncryptionKey(runId, deploymentId, encryptionPublicKey));
|
|
98152
|
+
return keyPromise;
|
|
98153
|
+
};
|
|
98154
|
+
}
|
|
98143
98155
|
function tagForwardedWritableTarget(writable, { deploymentId, encryptionPublicKey }) {
|
|
98144
98156
|
if (typeof deploymentId === "string") {
|
|
98145
98157
|
Object.defineProperty(writable, STREAM_SERVER_DEPLOYMENT_ID_SYMBOL, {
|
|
@@ -98291,7 +98303,7 @@ function getExternalRevivers(global2 = globalThis, ops, runId, cryptoKey, option
|
|
|
98291
98303
|
},
|
|
98292
98304
|
WritableStream: (value) => {
|
|
98293
98305
|
const targetRunId = typeof value.runId === "string" ? value.runId : runId;
|
|
98294
|
-
const targetKey = targetRunId === runId ? cryptoKey :
|
|
98306
|
+
const targetKey = targetRunId === runId ? cryptoKey : lazyForwardedWritableEncryptionKey(targetRunId, value.deploymentId, value.encryptionPublicKey);
|
|
98295
98307
|
return createForwardedWritable({
|
|
98296
98308
|
global: global2,
|
|
98297
98309
|
ops,
|
|
@@ -98548,7 +98560,7 @@ function getStepRevivers(global2 = globalThis, ops, runId, cryptoKey, deployment
|
|
|
98548
98560
|
WritableStream: (value) => {
|
|
98549
98561
|
const targetRunId = typeof value.runId === "string" ? value.runId : runId;
|
|
98550
98562
|
const targetDeploymentId = typeof value.deploymentId === "string" ? value.deploymentId : targetRunId === runId ? deploymentId : void 0;
|
|
98551
|
-
const targetKey = targetRunId === runId ? cryptoKey :
|
|
98563
|
+
const targetKey = targetRunId === runId ? cryptoKey : lazyForwardedWritableEncryptionKey(targetRunId, targetDeploymentId, value.encryptionPublicKey);
|
|
98552
98564
|
const serialize2 = getSerializeStream(getStepReducers(global2, ops, targetRunId, targetKey), targetKey);
|
|
98553
98565
|
const serverWritable = new WorkflowServerWritableStream(targetRunId, value.name);
|
|
98554
98566
|
const state = createFlushableState();
|
|
@@ -98759,7 +98771,7 @@ globalSingleton("@workflow/core//envWarnings", 1, () => ({
|
|
|
98759
98771
|
maxInlineStepsValues: /* @__PURE__ */ new Set(),
|
|
98760
98772
|
maxEventsValues: /* @__PURE__ */ new Set()
|
|
98761
98773
|
}));
|
|
98762
|
-
const version$1 = "5.0.0-beta.
|
|
98774
|
+
const version$1 = "5.0.0-beta.53";
|
|
98763
98775
|
const DEFAULT_HEALTH_CHECK_TIMEOUT = 3e4;
|
|
98764
98776
|
const SAFE_WORKFLOW_NAME_PATTERN = /^[a-zA-Z0-9_\-./@()[\]]+$/;
|
|
98765
98777
|
function getWorkflowQueueName(workflowName, namespace2) {
|
|
@@ -130995,7 +131007,7 @@ function createWorld$2(args) {
|
|
|
130995
131007
|
const basedir = mergedConfig.dataDir;
|
|
130996
131008
|
const hooksDir = path$3.join(basedir, "hooks");
|
|
130997
131009
|
const taggedHookFiles = await listTaggedFiles(hooksDir, tag);
|
|
130998
|
-
const { HookSchema: HookSchema2 } = await import("./index-
|
|
131010
|
+
const { HookSchema: HookSchema2 } = await import("./index-DPoW5P_O.js");
|
|
130999
131011
|
await Promise.all(taggedHookFiles.map(async (hookFile) => {
|
|
131000
131012
|
const hook = await readJSON(path$3.join(hooksDir, hookFile), HookSchema2);
|
|
131001
131013
|
if (hook == null ? void 0 : hook.token) {
|
|
@@ -131178,8 +131190,8 @@ function requireGetVercelOidcToken() {
|
|
|
131178
131190
|
}
|
|
131179
131191
|
try {
|
|
131180
131192
|
const [{ getTokenPayload, isExpired }, { refreshToken }] = await Promise.all([
|
|
131181
|
-
await import("./token-util-
|
|
131182
|
-
await import("./token-
|
|
131193
|
+
await import("./token-util-ChwiFJWk.js").then((n) => n.t),
|
|
131194
|
+
await import("./token-D5rGJvd_.js").then((n) => n.t)
|
|
131183
131195
|
]);
|
|
131184
131196
|
if (!token || isExpired(getTokenPayload(token), options == null ? void 0 : options.expirationBufferMs)) {
|
|
131185
131197
|
await refreshToken(options);
|
|
@@ -131742,7 +131754,7 @@ function requireDist() {
|
|
|
131742
131754
|
return dist;
|
|
131743
131755
|
}
|
|
131744
131756
|
var distExports = requireDist();
|
|
131745
|
-
const version = "5.0.0-beta.
|
|
131757
|
+
const version = "5.0.0-beta.48";
|
|
131746
131758
|
const pools = globalSingleton("@workflow/world-vercel//httpPools", 1, () => ({
|
|
131747
131759
|
dispatcher: void 0,
|
|
131748
131760
|
queueDispatcher: void 0,
|
|
@@ -131908,7 +131920,15 @@ const RECYCLABLE_ERROR_CODES = /* @__PURE__ */ new Set([
|
|
|
131908
131920
|
// Covers H2 stream timeout, frameError and GOAWAY (undici InformationalError).
|
|
131909
131921
|
"UND_ERR_INFO",
|
|
131910
131922
|
"UND_ERR_HEADERS_TIMEOUT",
|
|
131911
|
-
"UND_ERR_BODY_TIMEOUT"
|
|
131923
|
+
"UND_ERR_BODY_TIMEOUT",
|
|
131924
|
+
// Node can surface these directly instead of undici's UND_ERR_INFO. Once
|
|
131925
|
+
// repeated, retire the pool even when classification used its fallback.
|
|
131926
|
+
// Keep this scoped to session/stream failures: ERR_HTTP2_* also contains
|
|
131927
|
+
// request-validation and caller-cancellation errors a new pool cannot fix.
|
|
131928
|
+
"ERR_HTTP2_GOAWAY_SESSION",
|
|
131929
|
+
"ERR_HTTP2_INVALID_SESSION",
|
|
131930
|
+
"ERR_HTTP2_SESSION_ERROR",
|
|
131931
|
+
"ERR_HTTP2_STREAM_ERROR"
|
|
131912
131932
|
]);
|
|
131913
131933
|
const MAX_CAUSE_DEPTH = 8;
|
|
131914
131934
|
function isRecyclableTransportError(error2) {
|
|
@@ -132212,6 +132232,51 @@ function getTransientTransportCode(error2) {
|
|
|
132212
132232
|
}
|
|
132213
132233
|
return void 0;
|
|
132214
132234
|
}
|
|
132235
|
+
function validateHttpUrl(url) {
|
|
132236
|
+
const { protocol, username, password } = new URL(url);
|
|
132237
|
+
if (protocol !== "http:" && protocol !== "https:") {
|
|
132238
|
+
throw new TypeError(`Unsupported URL protocol ${protocol}; expected http: or https:`);
|
|
132239
|
+
}
|
|
132240
|
+
if (username || password) {
|
|
132241
|
+
throw new TypeError("HTTP(S) URLs with embedded credentials are unsupported");
|
|
132242
|
+
}
|
|
132243
|
+
}
|
|
132244
|
+
const REQUEST_CONSTRUCTION_ERROR_CODES = /* @__PURE__ */ new Set([
|
|
132245
|
+
"ERR_INVALID_URL",
|
|
132246
|
+
"ERR_INVALID_ARG_TYPE",
|
|
132247
|
+
"ERR_INVALID_ARG_VALUE",
|
|
132248
|
+
"ERR_INVALID_CHAR",
|
|
132249
|
+
"ERR_INVALID_HTTP_TOKEN",
|
|
132250
|
+
"ERR_HTTP_INVALID_HEADER_VALUE",
|
|
132251
|
+
"ERR_UNESCAPED_CHARACTERS",
|
|
132252
|
+
// Undici validates request options and headers during dispatch, after
|
|
132253
|
+
// Fetch has constructed the Request (e.g. unsupported Expect headers).
|
|
132254
|
+
"UND_ERR_INVALID_ARG",
|
|
132255
|
+
"UND_ERR_NOT_SUPPORTED"
|
|
132256
|
+
]);
|
|
132257
|
+
function describeTransportFailure(error2) {
|
|
132258
|
+
const known = getTransientTransportCode(error2);
|
|
132259
|
+
if (known)
|
|
132260
|
+
return known;
|
|
132261
|
+
let firstCode;
|
|
132262
|
+
let innermostName;
|
|
132263
|
+
let current = error2;
|
|
132264
|
+
for (let depth = 0; current && depth < 8; depth++) {
|
|
132265
|
+
const { code: code2, name: name2, message: message2 } = current;
|
|
132266
|
+
if (name2 === "Error" && message2 === "bad port" && code2 === void 0) {
|
|
132267
|
+
return void 0;
|
|
132268
|
+
}
|
|
132269
|
+
if (typeof code2 === "string" && code2) {
|
|
132270
|
+
if (REQUEST_CONSTRUCTION_ERROR_CODES.has(code2))
|
|
132271
|
+
return void 0;
|
|
132272
|
+
firstCode ?? (firstCode = code2);
|
|
132273
|
+
}
|
|
132274
|
+
if (typeof name2 === "string" && name2)
|
|
132275
|
+
innermostName = name2;
|
|
132276
|
+
current = current.cause;
|
|
132277
|
+
}
|
|
132278
|
+
return firstCode ?? innermostName ?? "unknown";
|
|
132279
|
+
}
|
|
132215
132280
|
const getRequestTimeoutMs = () => envNumber("WORKFLOW_REQUEST_TIMEOUT_MS", REQUEST_TIMEOUT_MS, {
|
|
132216
132281
|
integer: true,
|
|
132217
132282
|
min: 1e4,
|
|
@@ -132347,6 +132412,7 @@ function recordClientSpanStatus(span, status) {
|
|
|
132347
132412
|
async function instrumentedFetch(opts) {
|
|
132348
132413
|
const { method, url, headers: headers2, body: body2, dispatcher: dispatcher2, peerService, timeoutMs = getRequestTimeoutMs(), signal: callerSignal, injectTraceContext: injectTraceContext2 = true, cacheBust = true, logLabel, buildError, spanName, attributes, durationAttribute, onTransportOutcome, deferTransportSuccessUntilBody = false, onRequestDispatched, transportErrorCode = "TRANSPORT" } = opts;
|
|
132349
132414
|
const label = logLabel ?? url;
|
|
132415
|
+
validateHttpUrl(url);
|
|
132350
132416
|
return withHttpClientSpan({ method, url, peerService, spanName, attributes }, async (span) => {
|
|
132351
132417
|
var _a3, _b2, _c2, _d2, _e2;
|
|
132352
132418
|
if (injectTraceContext2)
|
|
@@ -132355,13 +132421,13 @@ async function instrumentedFetch(opts) {
|
|
|
132355
132421
|
headers2.set("X-Request-Time", Date.now().toString());
|
|
132356
132422
|
const timeoutSignal = timeoutMs != null ? AbortSignal.timeout(timeoutMs) : void 0;
|
|
132357
132423
|
const signal = callerSignal && timeoutSignal ? AbortSignal.any([callerSignal, timeoutSignal]) : callerSignal ?? timeoutSignal;
|
|
132424
|
+
const nodeAgents = dispatcher2 ? void 0 : getNodeHttpAgents();
|
|
132425
|
+
span == null ? void 0 : span.setAttributes({
|
|
132426
|
+
...WorkflowHttpTransport(nodeAgents ? "node-http" : "undici")
|
|
132427
|
+
});
|
|
132358
132428
|
const start2 = Date.now();
|
|
132359
132429
|
let response2;
|
|
132360
132430
|
try {
|
|
132361
|
-
const nodeAgents = dispatcher2 ? void 0 : getNodeHttpAgents();
|
|
132362
|
-
span == null ? void 0 : span.setAttributes({
|
|
132363
|
-
...WorkflowHttpTransport(nodeAgents ? "node-http" : "undici")
|
|
132364
|
-
});
|
|
132365
132431
|
const request2 = nodeAgents ? nodeHttpFetch(url, {
|
|
132366
132432
|
method,
|
|
132367
132433
|
headers: headers2,
|
|
@@ -132399,7 +132465,7 @@ async function instrumentedFetch(opts) {
|
|
|
132399
132465
|
(_a3 = span == null ? void 0 : span.recordException) == null ? void 0 : _a3.call(span, timeoutError);
|
|
132400
132466
|
throw timeoutError;
|
|
132401
132467
|
}
|
|
132402
|
-
const transportCode =
|
|
132468
|
+
const transportCode = describeTransportFailure(error2);
|
|
132403
132469
|
if (transportCode) {
|
|
132404
132470
|
const message2 = `${method} ${label} transport failure after ${elapsed}ms (${transportCode})`;
|
|
132405
132471
|
const errorCode = transportErrorCode === "STREAM_ERROR" ? "STREAM_ERROR" : "TRANSPORT";
|
|
@@ -132558,6 +132624,7 @@ async function makeRequest({ endpoint, options = {}, config: config2 = {}, schem
|
|
|
132558
132624
|
const method = (options.method || "GET").toUpperCase();
|
|
132559
132625
|
const { baseUrl, headers: headers2 } = await getHttpConfig(config2);
|
|
132560
132626
|
const url = `${baseUrl}${endpoint}`;
|
|
132627
|
+
validateHttpUrl(url);
|
|
132561
132628
|
return trace(`http ${method}`, { kind: await getSpanKind("CLIENT") }, async (span) => {
|
|
132562
132629
|
var _a3, _b2, _c2;
|
|
132563
132630
|
span == null ? void 0 : span.setAttributes(httpClientSpanAttributes({
|
|
@@ -132579,13 +132646,15 @@ async function makeRequest({ endpoint, options = {}, config: config2 = {}, schem
|
|
|
132579
132646
|
headers2.set("X-Request-Time", Date.now().toString());
|
|
132580
132647
|
const timeoutSignal = AbortSignal.timeout(getRequestTimeoutMs());
|
|
132581
132648
|
const signal = options.signal ? AbortSignal.any([options.signal, timeoutSignal]) : timeoutSignal;
|
|
132649
|
+
const nodeAgents = getNodeHttpAgents(config2);
|
|
132650
|
+
const undiciRequest = nodeAgents ? void 0 : new Request(url, { ...options, body: body2, headers: headers2, signal });
|
|
132651
|
+
const undiciDispatcher = nodeAgents ? void 0 : getDispatcher(config2);
|
|
132652
|
+
span == null ? void 0 : span.setAttributes({
|
|
132653
|
+
...WorkflowHttpTransport(nodeAgents ? "node-http" : "undici")
|
|
132654
|
+
});
|
|
132582
132655
|
const fetchStart = Date.now();
|
|
132583
132656
|
let response2;
|
|
132584
132657
|
try {
|
|
132585
|
-
const nodeAgents = getNodeHttpAgents(config2);
|
|
132586
|
-
span == null ? void 0 : span.setAttributes({
|
|
132587
|
-
...WorkflowHttpTransport(nodeAgents ? "node-http" : "undici")
|
|
132588
|
-
});
|
|
132589
132658
|
response2 = nodeAgents ? await nodeHttpFetch(url, {
|
|
132590
132659
|
method,
|
|
132591
132660
|
headers: headers2,
|
|
@@ -132597,9 +132666,9 @@ async function makeRequest({ endpoint, options = {}, config: config2 = {}, schem
|
|
|
132597
132666
|
// no stalled-socket deadline.
|
|
132598
132667
|
headersTimeoutMs: NODE_HTTP_HEADERS_TIMEOUT_MS,
|
|
132599
132668
|
bodyTimeoutMs: NODE_HTTP_BODY_TIMEOUT_MS
|
|
132600
|
-
}) : await fetch(
|
|
132669
|
+
}) : await fetch(undiciRequest, {
|
|
132601
132670
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- undici v7 dispatcher types don't match @types/node's RequestInit
|
|
132602
|
-
dispatcher:
|
|
132671
|
+
dispatcher: undiciDispatcher
|
|
132603
132672
|
});
|
|
132604
132673
|
} catch (error2) {
|
|
132605
132674
|
const elapsed = Date.now() - fetchStart;
|
|
@@ -132609,7 +132678,7 @@ async function makeRequest({ endpoint, options = {}, config: config2 = {}, schem
|
|
|
132609
132678
|
(_a3 = span == null ? void 0 : span.recordException) == null ? void 0 : _a3.call(span, timeoutError);
|
|
132610
132679
|
throw timeoutError;
|
|
132611
132680
|
}
|
|
132612
|
-
const transportCode =
|
|
132681
|
+
const transportCode = describeTransportFailure(error2);
|
|
132613
132682
|
if (transportCode) {
|
|
132614
132683
|
if (retryConnectTimeout && canRetryRead && transportCode === "UND_ERR_CONNECT_TIMEOUT" && attempt === 0) {
|
|
132615
132684
|
await new Promise((resolve2) => setTimeout(resolve2, BODY_PARSE_RETRY_BASE_MS));
|
|
@@ -133338,7 +133407,7 @@ function createGetEncryptionKeyForRun(projectId, teamId, token, dispatcher2) {
|
|
|
133338
133407
|
};
|
|
133339
133408
|
}
|
|
133340
133409
|
async function getDeadline() {
|
|
133341
|
-
const { getDeadline: getDeadline2 } = await import("./index-
|
|
133410
|
+
const { getDeadline: getDeadline2 } = await import("./index-CsLAjmyX.js").then((n) => n.i);
|
|
133342
133411
|
return getDeadline2();
|
|
133343
133412
|
}
|
|
133344
133413
|
const WORKFLOW_SERVER_SERVICE = {
|
|
@@ -138475,7 +138544,7 @@ const wsEventsChannelForInvocation = (runId, config2) => {
|
|
|
138475
138544
|
open() {
|
|
138476
138545
|
if (!runId || !isWsEventsTransportEnabled())
|
|
138477
138546
|
return;
|
|
138478
|
-
claim2 = import("./ws-transport-
|
|
138547
|
+
claim2 = import("./ws-transport-BQdJnqBo.js").then(({ openWsChannel }) => openWsChannel(runId, config2)).catch(() => void 0);
|
|
138479
138548
|
},
|
|
138480
138549
|
/**
|
|
138481
138550
|
* Awaited, unlike the open: work scheduled after the handler returns is not
|
|
@@ -138928,7 +138997,7 @@ function isRetryableEventPostError(err) {
|
|
|
138928
138997
|
if (EntityConflictError.is(err) || RunExpiredError.is(err) || TooEarlyError.is(err) || ThrottleError.is(err)) {
|
|
138929
138998
|
return false;
|
|
138930
138999
|
}
|
|
138931
|
-
if (WorkflowWorldError.is(err)) {
|
|
139000
|
+
if (WorkflowWorldError.is(err) || StreamError.is(err)) {
|
|
138932
139001
|
if (err.code === "PARSE_ERROR")
|
|
138933
139002
|
return true;
|
|
138934
139003
|
if (err.code === "TRANSPORT")
|
|
@@ -138936,6 +139005,14 @@ function isRetryableEventPostError(err) {
|
|
|
138936
139005
|
if (typeof err.status === "number") {
|
|
138937
139006
|
return err.status >= 500 && err.status <= 599;
|
|
138938
139007
|
}
|
|
139008
|
+
if (err.code === "STREAM_ERROR") {
|
|
139009
|
+
return !collectErrorMarkers(err).some((marker) => [
|
|
139010
|
+
"AbortError",
|
|
139011
|
+
"ABORT_ERR",
|
|
139012
|
+
"UND_ERR_ABORTED",
|
|
139013
|
+
"ERR_HTTP2_STREAM_CANCEL"
|
|
139014
|
+
].includes(marker));
|
|
139015
|
+
}
|
|
138939
139016
|
}
|
|
138940
139017
|
return collectErrorMarkers(err).some((m2) => TRANSIENT_CODES.has(m2));
|
|
138941
139018
|
}
|
|
@@ -139295,7 +139372,7 @@ async function fetchV4(url, init2, config2, opName, attributes) {
|
|
|
139295
139372
|
}
|
|
139296
139373
|
} catch (cause) {
|
|
139297
139374
|
noteEventsTransportOutcome(dispatcher2, cause);
|
|
139298
|
-
const transportCode =
|
|
139375
|
+
const transportCode = describeTransportFailure(cause);
|
|
139299
139376
|
controller.error(transportCode ? new StreamError(`v4 ${opName}: response stream transport failure (${transportCode})`, { cause, url }) : cause);
|
|
139300
139377
|
}
|
|
139301
139378
|
},
|
|
@@ -139785,7 +139862,7 @@ function wsReplyStatus(reply, endpoint) {
|
|
|
139785
139862
|
return status;
|
|
139786
139863
|
}
|
|
139787
139864
|
async function postEventFrameOverWs(input, config2) {
|
|
139788
|
-
const { resolveWsTransport } = await import("./ws-transport-
|
|
139865
|
+
const { resolveWsTransport } = await import("./ws-transport-BQdJnqBo.js");
|
|
139789
139866
|
const { runId } = input;
|
|
139790
139867
|
const resolved = resolveWsTransport(runId, config2);
|
|
139791
139868
|
if (!resolved)
|
|
@@ -140864,7 +140941,7 @@ function beginNormalWsClose(ws, reason) {
|
|
|
140864
140941
|
await observed;
|
|
140865
140942
|
span == null ? void 0 : span.setAttribute("workflow.stream.ws.close_cleanup_timeout", timedOut);
|
|
140866
140943
|
});
|
|
140867
|
-
void import("./index-
|
|
140944
|
+
void import("./index-CsLAjmyX.js").then((n) => n.i).then(({ waitUntil: waitUntil2 }) => waitUntil2(cleanup)).catch(() => {
|
|
140868
140945
|
});
|
|
140869
140946
|
void cleanup.catch(() => {
|
|
140870
140947
|
});
|
|
@@ -141216,7 +141293,7 @@ class VercelStreamWriteSession {
|
|
|
141216
141293
|
return http3;
|
|
141217
141294
|
});
|
|
141218
141295
|
const [{ WebSocket: WebSocketImpl }, http2] = await Promise.all([
|
|
141219
|
-
import("./wrapper-
|
|
141296
|
+
import("./wrapper-CeBkFVzB.js"),
|
|
141220
141297
|
httpPromise
|
|
141221
141298
|
]);
|
|
141222
141299
|
if (this.mode !== "connecting")
|
|
@@ -141974,7 +142051,7 @@ globalSingleton("@workflow/core//devServerPort", 1, () => ({
|
|
|
141974
142051
|
inFlight: void 0
|
|
141975
142052
|
}));
|
|
141976
142053
|
function waitUntil(promise2) {
|
|
141977
|
-
void import("./index-
|
|
142054
|
+
void import("./index-CsLAjmyX.js").then((n) => n.i).then(({ waitUntil: waitUntil2 }) => {
|
|
141978
142055
|
waitUntil2(promise2);
|
|
141979
142056
|
});
|
|
141980
142057
|
}
|
|
@@ -2,7 +2,7 @@ import { createRequire as __wkfCreateRequire } from "node:module";
|
|
|
2
2
|
if (typeof require === "undefined") {
|
|
3
3
|
globalThis.require = __wkfCreateRequire(import.meta.url);
|
|
4
4
|
}
|
|
5
|
-
import { b4 as reactExports, b5 as R, b6 as Ks, b7 as jsxRuntimeExports, b8 as Qe } from "./app-
|
|
5
|
+
import { b4 as reactExports, b5 as R, b6 as Ks, b7 as jsxRuntimeExports, b8 as Qe } from "./app-Bh6jcVnZ.js";
|
|
6
6
|
import "node:stream";
|
|
7
7
|
import "stream";
|
|
8
8
|
import "util";
|
|
@@ -1137,7 +1137,7 @@ function requireWebsocket() {
|
|
|
1137
1137
|
const DEFAULT_MAX_PAYLOAD = 256 * 1024;
|
|
1138
1138
|
async function loadWebSocketServer() {
|
|
1139
1139
|
try {
|
|
1140
|
-
const ws = await import("./wrapper-
|
|
1140
|
+
const ws = await import("./wrapper-CeBkFVzB.js");
|
|
1141
1141
|
return ws.WebSocketServer;
|
|
1142
1142
|
} catch {
|
|
1143
1143
|
throw new Error(
|
|
@@ -2,8 +2,8 @@ import { createRequire as __wkfCreateRequire } from "node:module";
|
|
|
2
2
|
if (typeof require === "undefined") {
|
|
3
3
|
globalThis.require = __wkfCreateRequire(import.meta.url);
|
|
4
4
|
}
|
|
5
|
-
import { H as HookSchema } from "./app-
|
|
6
|
-
import { A, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, B, r, s, t, u, C, D, v, E, w, x, y, F, z, G, I, J, K, L, M, O, P, Q, R, S, T, U, V, W, X, Y, Z, _, $, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, aa, ab, ac, ad, ae, af, ag, ah, ai, aj, ak, al, am, an, ao, ap, aq, ar, as, at, au, av, aw, ax, ay, az, aA, aB, aC, aD, aE, aF, aG, aH, aI, aJ, aK, aL, aM, aN, aO, aP, aQ, aR, aS, aT, aU, aV, aW, aX, aY, aZ, a_, a$, b0, b1, b2, b3 } from "./app-
|
|
5
|
+
import { H as HookSchema } from "./app-Bh6jcVnZ.js";
|
|
6
|
+
import { A, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, B, r, s, t, u, C, D, v, E, w, x, y, F, z, G, I, J, K, L, M, O, P, Q, R, S, T, U, V, W, X, Y, Z, _, $, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, aa, ab, ac, ad, ae, af, ag, ah, ai, aj, ak, al, am, an, ao, ap, aq, ar, as, at, au, av, aw, ax, ay, az, aA, aB, aC, aD, aE, aF, aG, aH, aI, aJ, aK, aL, aM, aN, aO, aP, aQ, aR, aS, aT, aU, aV, aW, aX, aY, aZ, a_, a$, b0, b1, b2, b3 } from "./app-Bh6jcVnZ.js";
|
|
7
7
|
import "node:stream";
|
|
8
8
|
import "stream";
|
|
9
9
|
import "util";
|
|
@@ -2,7 +2,7 @@ import { createRequire as __wkfCreateRequire } from "node:module";
|
|
|
2
2
|
if (typeof require === "undefined") {
|
|
3
3
|
globalThis.require = __wkfCreateRequire(import.meta.url);
|
|
4
4
|
}
|
|
5
|
-
import { N as Nt } from "./app-
|
|
5
|
+
import { N as Nt } from "./app-Bh6jcVnZ.js";
|
|
6
6
|
import "node:stream";
|
|
7
7
|
import "stream";
|
|
8
8
|
import "util";
|
|
@@ -2,7 +2,7 @@ import { createRequire as __wkfCreateRequire } from "node:module";
|
|
|
2
2
|
if (typeof require === "undefined") {
|
|
3
3
|
globalThis.require = __wkfCreateRequire(import.meta.url);
|
|
4
4
|
}
|
|
5
|
-
import { bs as requireTokenError, br as requireTokenUtil, bq as getDefaultExportFromCjs } from "./app-
|
|
5
|
+
import { bs as requireTokenError, br as requireTokenUtil, bq as getDefaultExportFromCjs } from "./app-Bh6jcVnZ.js";
|
|
6
6
|
function _mergeNamespaces(n, m) {
|
|
7
7
|
for (var i = 0; i < m.length; i++) {
|
|
8
8
|
const e = m[i];
|
|
@@ -2,7 +2,7 @@ import { createRequire as __wkfCreateRequire } from "node:module";
|
|
|
2
2
|
if (typeof require === "undefined") {
|
|
3
3
|
globalThis.require = __wkfCreateRequire(import.meta.url);
|
|
4
4
|
}
|
|
5
|
-
import { bq as getDefaultExportFromCjs, br as requireTokenUtil } from "./app-
|
|
5
|
+
import { bq as getDefaultExportFromCjs, br as requireTokenUtil } from "./app-Bh6jcVnZ.js";
|
|
6
6
|
function _mergeNamespaces(n, m) {
|
|
7
7
|
for (var i = 0; i < m.length; i++) {
|
|
8
8
|
const e = m[i];
|
|
@@ -2,7 +2,7 @@ import { createRequire as __wkfCreateRequire } from "node:module";
|
|
|
2
2
|
if (typeof require === "undefined") {
|
|
3
3
|
globalThis.require = __wkfCreateRequire(import.meta.url);
|
|
4
4
|
}
|
|
5
|
-
import { bt as getAugmentedNamespace, bq as getDefaultExportFromCjs } from "./app-
|
|
5
|
+
import { bt as getAugmentedNamespace, bq as getDefaultExportFromCjs } from "./app-Bh6jcVnZ.js";
|
|
6
6
|
import require$$0$2 from "stream";
|
|
7
7
|
import require$$0$3 from "events";
|
|
8
8
|
import require$$2$1 from "http";
|
|
@@ -2,9 +2,9 @@ import { createRequire as __wkfCreateRequire } from "node:module";
|
|
|
2
2
|
if (typeof require === "undefined") {
|
|
3
3
|
globalThis.require = __wkfCreateRequire(import.meta.url);
|
|
4
4
|
}
|
|
5
|
-
import { W as WebSocket } from "./websocket-server-
|
|
6
|
-
import { p, r, s, w, a, e, b } from "./websocket-server-
|
|
7
|
-
import "./app-
|
|
5
|
+
import { W as WebSocket } from "./websocket-server-B8WVLAEO.js";
|
|
6
|
+
import { p, r, s, w, a, e, b } from "./websocket-server-B8WVLAEO.js";
|
|
7
|
+
import "./app-Bh6jcVnZ.js";
|
|
8
8
|
import "node:stream";
|
|
9
9
|
import "stream";
|
|
10
10
|
import "util";
|
|
@@ -5,8 +5,8 @@ import { createRequire as __wkfCreateRequire } from "node:module";
|
|
|
5
5
|
if (typeof require === "undefined") {
|
|
6
6
|
globalThis.require = __wkfCreateRequire(import.meta.url);
|
|
7
7
|
}
|
|
8
|
-
import { ba as isWsEventsTransportEnabled, bb as debugLog, bc as getHttpUrl, bd as globalSingleton, be as version, bf as getHttpConfig, bg as headersToRecord, bh as getRequestTimeoutMs, bi as injectTraceContextIntoHeaders, bj as withHttpClientSpan, bk as ErrorType, bl as WorkflowWsReconnectAttempt, bm as NetworkProtocolName, bn as WorkflowEventsTransport, bo as distExports, bp as decodeFrames } from "./app-
|
|
9
|
-
import { W as WebSocket } from "./websocket-server-
|
|
8
|
+
import { ba as isWsEventsTransportEnabled, bb as debugLog, bc as getHttpUrl, bd as globalSingleton, be as version, bf as getHttpConfig, bg as headersToRecord, bh as getRequestTimeoutMs, bi as injectTraceContextIntoHeaders, bj as withHttpClientSpan, bk as ErrorType, bl as WorkflowWsReconnectAttempt, bm as NetworkProtocolName, bn as WorkflowEventsTransport, bo as distExports, bp as decodeFrames } from "./app-Bh6jcVnZ.js";
|
|
9
|
+
import { W as WebSocket } from "./websocket-server-B8WVLAEO.js";
|
|
10
10
|
import "node:stream";
|
|
11
11
|
import "stream";
|
|
12
12
|
import "util";
|
package/build/server/assets/{zstd-browser-decoder-BlsTrKGs.js → zstd-browser-decoder-DUCK00sT.js}
RENAMED
|
@@ -2,7 +2,7 @@ import { createRequire as __wkfCreateRequire } from "node:module";
|
|
|
2
2
|
if (typeof require === "undefined") {
|
|
3
3
|
globalThis.require = __wkfCreateRequire(import.meta.url);
|
|
4
4
|
}
|
|
5
|
-
import { b9 as registerZstdDecoder } from "./app-
|
|
5
|
+
import { b9 as registerZstdDecoder } from "./app-Bh6jcVnZ.js";
|
|
6
6
|
import "node:stream";
|
|
7
7
|
import "stream";
|
|
8
8
|
import "util";
|
package/build/server/index.js
CHANGED
|
@@ -2,7 +2,7 @@ import { createRequire as __wkfCreateRequire } from "node:module";
|
|
|
2
2
|
if (typeof require === "undefined") {
|
|
3
3
|
globalThis.require = __wkfCreateRequire(import.meta.url);
|
|
4
4
|
}
|
|
5
|
-
import { bu, bv } from "./assets/app-
|
|
5
|
+
import { bu, bv } from "./assets/app-Bh6jcVnZ.js";
|
|
6
6
|
import "express";
|
|
7
7
|
import "node:stream";
|
|
8
8
|
import "stream";
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@workflow/web",
|
|
3
3
|
"description": "Workflow Observability UI",
|
|
4
|
-
"version": "5.0.0-beta.
|
|
4
|
+
"version": "5.0.0-beta.53",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"private": false,
|
|
7
7
|
"files": [
|
|
@@ -65,12 +65,12 @@
|
|
|
65
65
|
"@types/react": "19",
|
|
66
66
|
"@types/react-dom": "19",
|
|
67
67
|
"@vercel/react-router": "1.2.6",
|
|
68
|
-
"@workflow/core": "5.0.0-beta.
|
|
68
|
+
"@workflow/core": "5.0.0-beta.53",
|
|
69
69
|
"@workflow/errors": "5.0.0-beta.21",
|
|
70
70
|
"@workflow/utils": "5.0.0-beta.10",
|
|
71
|
-
"@workflow/web-shared": "5.0.0-beta.
|
|
71
|
+
"@workflow/web-shared": "5.0.0-beta.53",
|
|
72
72
|
"@workflow/world": "5.0.0-beta.36",
|
|
73
|
-
"@workflow/world-vercel": "5.0.0-beta.
|
|
73
|
+
"@workflow/world-vercel": "5.0.0-beta.48",
|
|
74
74
|
"@xyflow/react": "12.10.1",
|
|
75
75
|
"cbor-x": "^1",
|
|
76
76
|
"class-variance-authority": "0.7.1",
|