@workflow/web 4.1.16 → 4.1.17

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.
@@ -9180,7 +9180,7 @@ const app = express();
9180
9180
  app.all(
9181
9181
  "/{*splat}",
9182
9182
  createRequestHandler({
9183
- build: () => import("./server-build-BXSdchZI.js").then((n) => n.a2)
9183
+ build: () => import("./server-build-DCX1ZwZU.js").then((n) => n.a2)
9184
9184
  })
9185
9185
  );
9186
9186
  app.use(
@@ -2,8 +2,8 @@ import { createRequire as __wkfCreateRequire } from "node:module";
2
2
  if (typeof globalThis.require === "undefined") {
3
3
  globalThis.require = __wkfCreateRequire(import.meta.url);
4
4
  }
5
- import { Y as R, Z as Ks, _ as jsxRuntimeExports, $ as Qe } from "./server-build-BXSdchZI.js";
6
- import { r as reactExports } from "./app-GbUkc_Xp.js";
5
+ import { Y as R, Z as Ks, _ as jsxRuntimeExports, $ as Qe } from "./server-build-DCX1ZwZU.js";
6
+ import { r as reactExports } from "./app-Pzk6cskY.js";
7
7
  import "node:stream";
8
8
  import "util";
9
9
  import "crypto";
@@ -2,9 +2,9 @@ import { createRequire as __wkfCreateRequire } from "node:module";
2
2
  if (typeof globalThis.require === "undefined") {
3
3
  globalThis.require = __wkfCreateRequire(import.meta.url);
4
4
  }
5
- import { H as HookSchema } from "./server-build-BXSdchZI.js";
6
- import { B, D, a, E, b, c, d, e, L, M, P, Q, f, R, S, g, h, i, j, k, l, m, n, T, o, p, q, r, s, V, W, t, u, v, w, x, y, z, A, C, F, G, I, J, K, O, U, X } from "./server-build-BXSdchZI.js";
7
- import "./app-GbUkc_Xp.js";
5
+ import { H as HookSchema } from "./server-build-DCX1ZwZU.js";
6
+ import { B, D, a, E, b, c, d, e, L, M, P, Q, f, R, S, g, h, i, j, k, l, m, n, T, o, p, q, r, s, V, W, t, u, v, w, x, y, z, A, C, F, G, I, J, K, O, U, X } from "./server-build-DCX1ZwZU.js";
7
+ import "./app-Pzk6cskY.js";
8
8
  import "stream";
9
9
  import "express";
10
10
  import "node:stream";
@@ -2,8 +2,8 @@ import { createRequire as __wkfCreateRequire } from "node:module";
2
2
  if (typeof globalThis.require === "undefined") {
3
3
  globalThis.require = __wkfCreateRequire(import.meta.url);
4
4
  }
5
- import { N as Nt } from "./server-build-BXSdchZI.js";
6
- import "./app-GbUkc_Xp.js";
5
+ import { N as Nt } from "./server-build-DCX1ZwZU.js";
6
+ import "./app-Pzk6cskY.js";
7
7
  import "stream";
8
8
  import "express";
9
9
  import "node:stream";
@@ -18,7 +18,7 @@ import { createRequire as __wkfCreateRequire } from "node:module";
18
18
  if (typeof globalThis.require === "undefined") {
19
19
  globalThis.require = __wkfCreateRequire(import.meta.url);
20
20
  }
21
- import { a as requireReact, S as ServerRouter, c as createReadableStreamFromReadable, r as reactExports, g as getDefaultExportFromCjs, R as React, b as ReactExports, w as withComponentProps, d as withErrorBoundaryProps, M as Meta, L as Links, e as ScrollRestoration, f as Scripts, O as Outlet, u as useNavigate, h as useSearchParams, i as Link$1, j as useRouteError, k as isRouteErrorResponse, l as useLocation, m as useParams } from "./app-GbUkc_Xp.js";
21
+ import { a as requireReact, S as ServerRouter, c as createReadableStreamFromReadable, r as reactExports, g as getDefaultExportFromCjs, R as React, b as ReactExports, w as withComponentProps, d as withErrorBoundaryProps, M as Meta, L as Links, e as ScrollRestoration, f as Scripts, O as Outlet, u as useNavigate, h as useSearchParams, i as Link$1, j as useRouteError, k as isRouteErrorResponse, l as useLocation, m as useParams } from "./app-Pzk6cskY.js";
22
22
  import require$$0$5, { PassThrough } from "node:stream";
23
23
  import require$$0 from "util";
24
24
  import require$$1 from "crypto";
@@ -81832,7 +81832,7 @@ var tn = f("block", "before:content-[counter(line)]", "before:inline-block", "be
81832
81832
  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 });
81833
81833
  var Se = reactExports.createContext({ code: "" }), de = () => reactExports.useContext(Se);
81834
81834
  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 }) });
81835
- var cn$1 = /\n+$/, dn = reactExports.lazy(() => import("./highlighted-body-B3W2YXNL-A5X3ZwtB.js").then((e) => ({ default: e.HighlightedCodeBlockBody }))), rt = ({ code: e, language: t, className: o, children: n, isIncomplete: s2 = false, ...r2 }) => {
81835
+ var cn$1 = /\n+$/, dn = reactExports.lazy(() => import("./highlighted-body-B3W2YXNL-DdYG7JBx.js").then((e) => ({ default: e.HighlightedCodeBlockBody }))), rt = ({ code: e, language: t, className: o, children: n, isIncomplete: s2 = false, ...r2 }) => {
81836
81836
  let i = reactExports.useMemo(() => e.replace(cn$1, ""), [e]), c = reactExports.useMemo(() => ({ bg: "transparent", fg: "inherit", tokens: i.split(`
81837
81837
  `).map((a2) => [{ content: a2, color: "inherit", bgColor: "transparent", htmlStyle: {}, offset: 0 }]) }), [i]);
81838
81838
  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 }) })] }) });
@@ -82154,7 +82154,7 @@ var Dt = ({ children: e, className: t, onDownload: o, onError: n }) => {
82154
82154
  }, []), 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] });
82155
82155
  };
82156
82156
  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 }) })] });
82157
- var Jn = reactExports.lazy(() => import("./mermaid-3ZIDBTTL-CJ4kkLUP.js").then((e) => ({ default: e.Mermaid }))), Kn = /language-([^\s]+)/;
82157
+ var Jn = reactExports.lazy(() => import("./mermaid-3ZIDBTTL-Dys2uWXl.js").then((e) => ({ default: e.Mermaid }))), Kn = /language-([^\s]+)/;
82158
82158
  function ke(e, t) {
82159
82159
  if (!(e != null && e.position || t != null && t.position)) return true;
82160
82160
  if (!(e != null && e.position && (t != null && t.position))) return false;
@@ -92046,7 +92046,7 @@ createLogger("build", {
92046
92046
  debugNamespace: "workflow:build"
92047
92047
  });
92048
92048
  const MAX_QUEUE_DELIVERIES = 48;
92049
- const version$1 = "4.8.0";
92049
+ const version$1 = "4.8.1";
92050
92050
  const execFileAsync = promisify(execFile);
92051
92051
  function parsePort$1(value, radix = 10) {
92052
92052
  const port = parseInt(value, radix);
@@ -120316,7 +120316,7 @@ function createLocalWorld(args) {
120316
120316
  const basedir = mergedConfig.dataDir;
120317
120317
  const hooksDir = path$3.join(basedir, "hooks");
120318
120318
  const taggedHookFiles = await listTaggedFiles(hooksDir, tag);
120319
- const { HookSchema: HookSchema2 } = await import("./index-DUMo8iW2.js");
120319
+ const { HookSchema: HookSchema2 } = await import("./index-BS2bBoaA.js");
120320
120320
  await Promise.all(taggedHookFiles.map(async (hookFile) => {
120321
120321
  const hook = await readJSON(path$3.join(hooksDir, hookFile), HookSchema2);
120322
120322
  if (hook == null ? void 0 : hook.token) {
@@ -120352,7 +120352,6 @@ function createLocalWorld(args) {
120352
120352
  };
120353
120353
  }
120354
120354
  let _dispatcher;
120355
- let _eventsDispatcher;
120356
120355
  let _streamDispatcher;
120357
120356
  let _streamCloseDispatcher;
120358
120357
  const DEFAULT_HEADERS_TIMEOUT_MS = 3e4;
@@ -120407,6 +120406,13 @@ function getEventsAgentOptions() {
120407
120406
  connectionWindowSize: H2_CONNECTION_WINDOW_BYTES
120408
120407
  };
120409
120408
  }
120409
+ function getEventsAgentOptionsNoH2() {
120410
+ return {
120411
+ ...getBaseAgentOptions(),
120412
+ allowH2: false,
120413
+ pipelining: 1
120414
+ };
120415
+ }
120410
120416
  function getStreamAgentOptions() {
120411
120417
  return {
120412
120418
  ...getBaseAgentOptions(),
@@ -120443,7 +120449,7 @@ const STREAM_CLOSE_RETRY_OPTIONS = {
120443
120449
  statusCodes: [429, 500, 502, 503, 504]
120444
120450
  };
120445
120451
  const H2_REBUFFER_MAX_BYTES = 1 << 20;
120446
- function h2MultiplexEnabled() {
120452
+ function h2EventsEnabled() {
120447
120453
  return process.env.WORKFLOW_H2_MULTIPLEX !== "0";
120448
120454
  }
120449
120455
  function contentLength(headers2) {
@@ -120477,11 +120483,84 @@ function h2MultiplexInterceptor(dispatch2) {
120477
120483
  return true;
120478
120484
  };
120479
120485
  }
120486
+ const EVENTS_RECYCLE_AFTER_CONSECUTIVE_FAILURES = 3;
120487
+ const RECYCLE_MIN_INTERVAL_MS = 5e3;
120488
+ const RETIRED_CLOSE_DELAY_MS = 5e3;
120489
+ const RETIRED_DESTROY_DELAY_MS = 6e4;
120490
+ const RECYCLABLE_ERROR_CODES = /* @__PURE__ */ new Set([
120491
+ // Covers H2 stream timeout, frameError and GOAWAY (undici InformationalError).
120492
+ "UND_ERR_INFO",
120493
+ "UND_ERR_HEADERS_TIMEOUT",
120494
+ "UND_ERR_BODY_TIMEOUT"
120495
+ ]);
120496
+ const MAX_CAUSE_DEPTH = 8;
120497
+ function isRecyclableTransportError(error2) {
120498
+ let current = error2;
120499
+ for (let depth = 0; current && depth < MAX_CAUSE_DEPTH; depth++) {
120500
+ const code2 = current.code;
120501
+ if (typeof code2 === "string" && RECYCLABLE_ERROR_CODES.has(code2)) {
120502
+ return true;
120503
+ }
120504
+ current = current.cause;
120505
+ }
120506
+ return false;
120507
+ }
120508
+ function createDispatcherRecycler(factory, label) {
120509
+ let current;
120510
+ let consecutiveFailures = 0;
120511
+ let lastRecycledAt = 0;
120512
+ function retire(stale) {
120513
+ var _a3, _b2;
120514
+ const closeTimer = setTimeout(() => {
120515
+ var _a4;
120516
+ void Promise.resolve((_a4 = stale.close) == null ? void 0 : _a4.call(stale)).catch(() => void 0);
120517
+ }, RETIRED_CLOSE_DELAY_MS);
120518
+ const destroyTimer = setTimeout(() => {
120519
+ var _a4;
120520
+ void Promise.resolve((_a4 = stale.destroy) == null ? void 0 : _a4.call(stale)).catch(() => void 0);
120521
+ }, RETIRED_DESTROY_DELAY_MS);
120522
+ (_a3 = closeTimer.unref) == null ? void 0 : _a3.call(closeTimer);
120523
+ (_b2 = destroyTimer.unref) == null ? void 0 : _b2.call(destroyTimer);
120524
+ }
120525
+ return {
120526
+ get() {
120527
+ current ?? (current = factory());
120528
+ return current;
120529
+ },
120530
+ note(dispatcher2, error2) {
120531
+ if (!current || dispatcher2 !== current)
120532
+ return;
120533
+ if (error2 === void 0) {
120534
+ consecutiveFailures = 0;
120535
+ return;
120536
+ }
120537
+ if (!isRecyclableTransportError(error2))
120538
+ return;
120539
+ consecutiveFailures++;
120540
+ if (consecutiveFailures < EVENTS_RECYCLE_AFTER_CONSECUTIVE_FAILURES) {
120541
+ return;
120542
+ }
120543
+ const now2 = Date.now();
120544
+ if (now2 - lastRecycledAt < RECYCLE_MIN_INTERVAL_MS)
120545
+ return;
120546
+ lastRecycledAt = now2;
120547
+ consecutiveFailures = 0;
120548
+ const stale = current;
120549
+ current = void 0;
120550
+ console.warn(`[workflow] ${label}: rebuilding connection pool after ${EVENTS_RECYCLE_AFTER_CONSECUTIVE_FAILURES} consecutive transport failures`);
120551
+ retire(stale);
120552
+ }
120553
+ };
120554
+ }
120555
+ const eventsRecycler = createDispatcherRecycler(() => createEventsDispatcher(), "events transport");
120556
+ function noteEventsTransportOutcome(dispatcher2, error2) {
120557
+ eventsRecycler.note(dispatcher2, error2);
120558
+ }
120480
120559
  function getDispatcher(config2) {
120481
120560
  return (config2 == null ? void 0 : config2.dispatcher) ?? getDefaultDispatcher();
120482
120561
  }
120483
120562
  function getEventsDispatcher(config2) {
120484
- return (config2 == null ? void 0 : config2.dispatcher) ?? getDefaultEventsDispatcher();
120563
+ return (config2 == null ? void 0 : config2.dispatcher) ?? eventsRecycler.get();
120485
120564
  }
120486
120565
  function getStreamDispatcher(config2) {
120487
120566
  return (config2 == null ? void 0 : config2.dispatcher) ?? getDefaultStreamDispatcher();
@@ -120490,8 +120569,12 @@ function getStreamCloseDispatcher(config2) {
120490
120569
  return (config2 == null ? void 0 : config2.dispatcher) ?? getDefaultStreamCloseDispatcher();
120491
120570
  }
120492
120571
  function createEventsDispatcher(agentOverrides) {
120493
- const agent2 = new undiciExports.RetryAgent(new undiciExports.Agent({ ...getEventsAgentOptions(), ...agentOverrides }), getRetryAgentOptions());
120494
- if (!h2MultiplexEnabled()) {
120572
+ const h2 = h2EventsEnabled();
120573
+ const agent2 = new undiciExports.RetryAgent(new undiciExports.Agent({
120574
+ ...h2 ? getEventsAgentOptions() : getEventsAgentOptionsNoH2(),
120575
+ ...agentOverrides
120576
+ }), getRetryAgentOptions());
120577
+ if (!h2) {
120495
120578
  return agent2;
120496
120579
  }
120497
120580
  return withBoundLifecycle(agent2, agent2.compose(h2MultiplexInterceptor));
@@ -120508,10 +120591,6 @@ function getDefaultDispatcher() {
120508
120591
  _dispatcher ?? (_dispatcher = new undiciExports.RetryAgent(new undiciExports.Agent(getAgentOptions()), getRetryAgentOptions()));
120509
120592
  return _dispatcher;
120510
120593
  }
120511
- function getDefaultEventsDispatcher() {
120512
- _eventsDispatcher ?? (_eventsDispatcher = createEventsDispatcher());
120513
- return _eventsDispatcher;
120514
- }
120515
120594
  function getDefaultStreamDispatcher() {
120516
120595
  _streamDispatcher ?? (_streamDispatcher = createStreamDispatcher(STREAM_RETRY_OPTIONS));
120517
120596
  return _streamDispatcher;
@@ -120638,8 +120717,8 @@ function requireGetVercelOidcToken() {
120638
120717
  }
120639
120718
  try {
120640
120719
  const [{ getTokenPayload, isExpired }, { refreshToken }] = await Promise.all([
120641
- await import("./token-util-BVCPBo_Y.js").then((n) => n.t),
120642
- await import("./token-BdngUnpg.js").then((n) => n.t)
120720
+ await import("./token-util-CjU-0VfE.js").then((n) => n.t),
120721
+ await import("./token--5hm9Tcb.js").then((n) => n.t)
120643
120722
  ]);
120644
120723
  if (!token || isExpired(getTokenPayload(token), options == null ? void 0 : options.expirationBufferMs)) {
120645
120724
  await refreshToken(options);
@@ -121363,7 +121442,7 @@ function httpClientSpanAttributes(args) {
121363
121442
  };
121364
121443
  }
121365
121444
  async function instrumentedFetch(opts) {
121366
- const { method, url: url2, headers: headers2, body: body2, dispatcher: dispatcher2, peerService = "workflow-server", timeoutMs = REQUEST_TIMEOUT_MS, signal: callerSignal, injectTraceContext = true, cacheBust = true, logLabel, buildError } = opts;
121445
+ const { method, url: url2, headers: headers2, body: body2, dispatcher: dispatcher2, peerService = "workflow-server", timeoutMs = REQUEST_TIMEOUT_MS, signal: callerSignal, injectTraceContext = true, cacheBust = true, logLabel, buildError, onTransportOutcome } = opts;
121367
121446
  const label = logLabel ?? url2;
121368
121447
  return trace(`http ${method}`, { kind: await getSpanKind("CLIENT") }, async (span) => {
121369
121448
  var _a3, _b2, _c;
@@ -121387,6 +121466,7 @@ async function instrumentedFetch(opts) {
121387
121466
  });
121388
121467
  } catch (error2) {
121389
121468
  const elapsed = Date.now() - start2;
121469
+ onTransportOutcome == null ? void 0 : onTransportOutcome(error2);
121390
121470
  if (error2 instanceof Error && (error2.name === "TimeoutError" || error2.name === "AbortError")) {
121391
121471
  const timeoutError = new WorkflowWorldError(`${method} ${label} timed out after ${elapsed}ms`, { url: url2, cause: error2 });
121392
121472
  span == null ? void 0 : span.setAttributes({ ...ErrorType("TIMEOUT") });
@@ -121396,6 +121476,7 @@ async function instrumentedFetch(opts) {
121396
121476
  throw error2;
121397
121477
  }
121398
121478
  const ms2 = Date.now() - start2;
121479
+ onTransportOutcome == null ? void 0 : onTransportOutcome();
121399
121480
  httpLog(method, label, response2, ms2);
121400
121481
  span == null ? void 0 : span.setAttributes({ ...HttpResponseStatusCode(response2.status) });
121401
121482
  if (!response2.ok) {
@@ -126108,7 +126189,7 @@ var QueueClient = class {
126108
126189
  setApi(this, new ApiClient({ ...options, region }));
126109
126190
  }
126110
126191
  };
126111
- const version = "4.6.1";
126192
+ const version = "4.6.2";
126112
126193
  const IDEMPOTENT_METHODS = /* @__PURE__ */ new Set(["GET", "HEAD"]);
126113
126194
  const MAX_BODY_PARSE_RETRIES = 2;
126114
126195
  const BODY_PARSE_RETRY_BASE_MS = 100;
@@ -126892,12 +126973,18 @@ async function* readerToIterator(reader) {
126892
126973
  }
126893
126974
  }
126894
126975
  async function fetchV4(url2, init2, config2, opName) {
126976
+ const dispatcher2 = getEventsDispatcher(config2);
126895
126977
  return instrumentedFetch({
126896
126978
  method: init2.method,
126897
126979
  url: url2,
126898
126980
  headers: init2.headers,
126899
126981
  body: init2.body,
126900
- dispatcher: getEventsDispatcher(config2),
126982
+ dispatcher: dispatcher2,
126983
+ // Repeated transport failures retire the shared events pool and the next
126984
+ // request builds a fresh one. undici keeps a black-holed HTTP/2 session in
126985
+ // service indefinitely, so without this every request routed onto it fails
126986
+ // until the compute instance is recycled — see noteEventsTransportOutcome.
126987
+ onTransportOutcome: (error2) => noteEventsTransportOutcome(dispatcher2, error2),
126901
126988
  timeoutMs: null,
126902
126989
  logLabel: opName,
126903
126990
  buildError: async (response2) => errorFromV4Response(response2.status, headersToRecord(response2.headers), await response2.text(), opName, url2)
@@ -2,8 +2,8 @@ import { createRequire as __wkfCreateRequire } from "node:module";
2
2
  if (typeof globalThis.require === "undefined") {
3
3
  globalThis.require = __wkfCreateRequire(import.meta.url);
4
4
  }
5
- import { g as getDefaultExportFromCjs } from "./app-GbUkc_Xp.js";
6
- import { a1 as requireTokenError, a0 as requireTokenUtil } from "./server-build-BXSdchZI.js";
5
+ import { g as getDefaultExportFromCjs } from "./app-Pzk6cskY.js";
6
+ import { a1 as requireTokenError, a0 as requireTokenUtil } from "./server-build-DCX1ZwZU.js";
7
7
  function _mergeNamespaces(n, m) {
8
8
  for (var i = 0; i < m.length; i++) {
9
9
  const e = m[i];
@@ -2,8 +2,8 @@ import { createRequire as __wkfCreateRequire } from "node:module";
2
2
  if (typeof globalThis.require === "undefined") {
3
3
  globalThis.require = __wkfCreateRequire(import.meta.url);
4
4
  }
5
- import { g as getDefaultExportFromCjs } from "./app-GbUkc_Xp.js";
6
- import { a0 as requireTokenUtil } from "./server-build-BXSdchZI.js";
5
+ import { g as getDefaultExportFromCjs } from "./app-Pzk6cskY.js";
6
+ import { a0 as requireTokenUtil } from "./server-build-DCX1ZwZU.js";
7
7
  function _mergeNamespaces(n, m) {
8
8
  for (var i = 0; i < m.length; i++) {
9
9
  const e = m[i];
@@ -2,7 +2,7 @@ import { createRequire as __wkfCreateRequire } from "node:module";
2
2
  if (typeof globalThis.require === "undefined") {
3
3
  globalThis.require = __wkfCreateRequire(import.meta.url);
4
4
  }
5
- import { n } from "./assets/app-GbUkc_Xp.js";
5
+ import { n } from "./assets/app-Pzk6cskY.js";
6
6
  import "express";
7
7
  import "stream";
8
8
  export {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@workflow/web",
3
3
  "description": "Workflow Observability UI",
4
- "version": "4.1.16",
4
+ "version": "4.1.17",
5
5
  "type": "module",
6
6
  "private": false,
7
7
  "files": [
@@ -71,12 +71,12 @@
71
71
  "vite": "^6",
72
72
  "vitest": "^3",
73
73
  "jsdom": "^26",
74
- "@workflow/core": "4.8.0",
75
74
  "@workflow/errors": "4.2.1",
75
+ "@workflow/core": "4.8.1",
76
76
  "@workflow/utils": "4.1.4",
77
- "@workflow/web-shared": "4.1.16",
78
- "@workflow/world": "4.3.1",
79
- "@workflow/world-vercel": "4.6.1"
77
+ "@workflow/web-shared": "4.1.17",
78
+ "@workflow/world-vercel": "4.6.2",
79
+ "@workflow/world": "4.3.1"
80
80
  },
81
81
  "scripts": {
82
82
  "dev": "react-router dev",