@workflow/web 4.1.8 → 4.1.9

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.
@@ -9176,7 +9176,7 @@ const app = express();
9176
9176
  app.all(
9177
9177
  "*",
9178
9178
  createRequestHandler({
9179
- build: () => import("./server-build-BBm5-YMr.js").then((n) => n.G)
9179
+ build: () => import("./server-build-JwomDvSn.js").then((n) => n.G)
9180
9180
  })
9181
9181
  );
9182
9182
  app.use(
@@ -1,5 +1,5 @@
1
- import { y as R, K as Ks, z as jsxRuntimeExports, A as Qe } from "./server-build-BBm5-YMr.js";
2
- import { r as reactExports } from "./app-Bw7CxKyr.js";
1
+ import { y as R, K as Ks, z as jsxRuntimeExports, A as Qe } from "./server-build-JwomDvSn.js";
2
+ import { r as reactExports } from "./app-BEUod6Qu.js";
3
3
  import "node:stream";
4
4
  import "util";
5
5
  import "crypto";
@@ -1,6 +1,6 @@
1
- import { H as HookSchema } from "./server-build-BBm5-YMr.js";
2
- import { B, D, a, E, b, c, d, L, M, P, Q, e, R, S, f, g, h, i, j, k, l, m, V, W, n, o, p, q, r, s, t, u, v, w, x } from "./server-build-BBm5-YMr.js";
3
- import "./app-Bw7CxKyr.js";
1
+ import { H as HookSchema } from "./server-build-JwomDvSn.js";
2
+ import { B, D, a, E, b, c, d, L, M, P, Q, e, R, S, f, g, h, i, j, k, l, m, V, W, n, o, p, q, r, s, t, u, v, w, x } from "./server-build-JwomDvSn.js";
3
+ import "./app-BEUod6Qu.js";
4
4
  import "stream";
5
5
  import "express";
6
6
  import "node:stream";
@@ -1,5 +1,5 @@
1
- import { N as Nt } from "./server-build-BBm5-YMr.js";
2
- import "./app-Bw7CxKyr.js";
1
+ import { N as Nt } from "./server-build-JwomDvSn.js";
2
+ import "./app-BEUod6Qu.js";
3
3
  import "stream";
4
4
  import "express";
5
5
  import "node:stream";
@@ -14,7 +14,7 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
14
14
  var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
15
15
  var __superGet = (cls, obj, key) => __reflectGet(__getProtoOf(cls), key, obj);
16
16
  var _a2, _root, _hasMagic, _uflag, _parts, _parent, _parentIndex, _negs, _filledNegs, _options, _toString, _emptyExt, _AST_instances, fillNegs_fn, _AST_static, parseAST_fn, canAdoptWithSpace_fn, canAdopt_fn, canAdoptType_fn, adoptWithSpace_fn, adopt_fn, canUsurpType_fn, canUsurp_fn, usurp_fn, flatten_fn, partsToRegExp_fn, parseGlob_fn, _Minimatch_instances, matchGlobstar_fn, matchGlobStarBodySections_fn, matchOne_fn, _reader;
17
- 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-Bw7CxKyr.js";
17
+ 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-BEUod6Qu.js";
18
18
  import require$$0$4, { PassThrough } from "node:stream";
19
19
  import require$$0 from "util";
20
20
  import require$$1 from "crypto";
@@ -79388,7 +79388,7 @@ var tn = f("block", "before:content-[counter(line)]", "before:inline-block", "be
79388
79388
  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 });
79389
79389
  var Se = reactExports.createContext({ code: "" }), de = () => reactExports.useContext(Se);
79390
79390
  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 }) });
79391
- var cn$1 = /\n+$/, dn = reactExports.lazy(() => import("./highlighted-body-B3W2YXNL-KnZkHlP2.js").then((e) => ({ default: e.HighlightedCodeBlockBody }))), rt = ({ code: e, language: t, className: o, children: n, isIncomplete: s2 = false, ...r2 }) => {
79391
+ var cn$1 = /\n+$/, dn = reactExports.lazy(() => import("./highlighted-body-B3W2YXNL-CDACB73g.js").then((e) => ({ default: e.HighlightedCodeBlockBody }))), rt = ({ code: e, language: t, className: o, children: n, isIncomplete: s2 = false, ...r2 }) => {
79392
79392
  let i = reactExports.useMemo(() => e.replace(cn$1, ""), [e]), c = reactExports.useMemo(() => ({ bg: "transparent", fg: "inherit", tokens: i.split(`
79393
79393
  `).map((a2) => [{ content: a2, color: "inherit", bgColor: "transparent", htmlStyle: {}, offset: 0 }]) }), [i]);
79394
79394
  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 }) })] }) });
@@ -79710,7 +79710,7 @@ var Dt = ({ children: e, className: t, onDownload: o, onError: n }) => {
79710
79710
  }, []), 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] });
79711
79711
  };
79712
79712
  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 }) })] });
79713
- var Jn = reactExports.lazy(() => import("./mermaid-3ZIDBTTL-CvDmHqoa.js").then((e) => ({ default: e.Mermaid }))), Kn = /language-([^\s]+)/;
79713
+ var Jn = reactExports.lazy(() => import("./mermaid-3ZIDBTTL-jCjKhJD2.js").then((e) => ({ default: e.Mermaid }))), Kn = /language-([^\s]+)/;
79714
79714
  function ke(e, t) {
79715
79715
  if (!(e != null && e.position || t != null && t.position)) return true;
79716
79716
  if (!(e != null && e.position && (t != null && t.position))) return false;
@@ -89513,7 +89513,7 @@ createLogger("webhook");
89513
89513
  createLogger("events");
89514
89514
  createLogger("adapter");
89515
89515
  const MAX_QUEUE_DELIVERIES = 48;
89516
- const version$1 = "4.3.0";
89516
+ const version$1 = "4.3.1";
89517
89517
  const execFileAsync = promisify(execFile);
89518
89518
  function parsePort$1(value, radix = 10) {
89519
89519
  const port = parseInt(value, radix);
@@ -116050,7 +116050,7 @@ function createLocalWorld(args) {
116050
116050
  const basedir = mergedConfig.dataDir;
116051
116051
  const hooksDir = path$3.join(basedir, "hooks");
116052
116052
  const taggedHookFiles = await listTaggedFiles(hooksDir, tag);
116053
- const { HookSchema: HookSchema2 } = await import("./index-D1onv-Hr.js");
116053
+ const { HookSchema: HookSchema2 } = await import("./index-sVIARIAL.js");
116054
116054
  await Promise.all(taggedHookFiles.map(async (hookFile) => {
116055
116055
  const hook = await readJSON(path$3.join(hooksDir, hookFile), HookSchema2);
116056
116056
  if (hook == null ? void 0 : hook.token) {
@@ -116202,8 +116202,8 @@ function requireGetVercelOidcToken() {
116202
116202
  }
116203
116203
  try {
116204
116204
  const [{ getTokenPayload, isExpired }, { refreshToken }] = await Promise.all([
116205
- await import("./token-util-DoCTpdh_.js").then((n) => n.t),
116206
- await import("./token-DUzouuf-.js").then((n) => n.t)
116205
+ await import("./token-util--ZOQJ_0a.js").then((n) => n.t),
116206
+ await import("./token-9ZMCuQFa.js").then((n) => n.t)
116207
116207
  ]);
116208
116208
  if (!token || isExpired(getTokenPayload(token), options == null ? void 0 : options.expirationBufferMs)) {
116209
116209
  await refreshToken(options);
@@ -121374,13 +121374,17 @@ var QueueClient = class {
121374
121374
  setApi(this, new ApiClient({ ...options, region }));
121375
121375
  }
121376
121376
  };
121377
- const version = "4.3.1";
121377
+ const version = "4.3.2";
121378
121378
  const HTTP_DEBUG_ENABLED = typeof process !== "undefined" && typeof process.env.DEBUG === "string" && (process.env.DEBUG.includes("workflow:") || process.env.DEBUG === "*");
121379
121379
  function httpLog(method, endpoint, status, ms2) {
121380
121380
  if (HTTP_DEBUG_ENABLED) {
121381
121381
  console.debug(`[workflow:world-vercel:http] ${method} ${endpoint} -> ${status} (${ms2}ms)`);
121382
121382
  }
121383
121383
  }
121384
+ const REQUEST_TIMEOUT_MS = 6e4;
121385
+ const IDEMPOTENT_METHODS = /* @__PURE__ */ new Set(["GET", "HEAD"]);
121386
+ const MAX_BODY_PARSE_RETRIES = 2;
121387
+ const BODY_PARSE_RETRY_BASE_MS = 100;
121384
121388
  const getWorkflowServerUrlOverride = () => process.env.VERCEL_WORKFLOW_SERVER_URL || "";
121385
121389
  const DEFAULT_RESOLVE_DATA_OPTION = "all";
121386
121390
  function deserializeError(obj) {
@@ -121496,6 +121500,7 @@ async function makeRequest({ endpoint, options = {}, config: config2 = {}, schem
121496
121500
  } catch {
121497
121501
  }
121498
121502
  return trace(`http ${method}`, { kind: await getSpanKind("CLIENT") }, async (span) => {
121503
+ var _a3;
121499
121504
  span == null ? void 0 : span.setAttributes({
121500
121505
  ...HttpRequestMethod(method),
121501
121506
  ...UrlFull(url2),
@@ -121507,86 +121512,116 @@ async function makeRequest({ endpoint, options = {}, config: config2 = {}, schem
121507
121512
  ...RpcService("workflow-server")
121508
121513
  });
121509
121514
  headers2.set("Accept", "application/cbor");
121510
- headers2.set("X-Request-Time", Date.now().toString());
121511
121515
  let body2;
121512
121516
  if (data !== void 0) {
121513
121517
  headers2.set("Content-Type", "application/cbor");
121514
121518
  body2 = encode(data);
121515
121519
  }
121516
- const request2 = new Request(url2, {
121517
- ...options,
121518
- body: body2,
121519
- headers: headers2
121520
- });
121521
- const fetchStart = Date.now();
121522
- const response2 = await fetch(request2, {
121523
- dispatcher: getDispatcher()
121524
- });
121525
- const fetchMs = Date.now() - fetchStart;
121526
- httpLog(method, endpoint, response2.status, fetchMs);
121527
- span == null ? void 0 : span.setAttributes({
121528
- ...HttpResponseStatusCode(response2.status)
121529
- });
121530
- if (!response2.ok) {
121531
- const errorData = await parseResponseBody(response2).then((r2) => r2.data).catch(() => ({}));
121532
- if (process.env.DEBUG) {
121533
- const stringifiedHeaders = Array.from(headers2.entries()).filter(([key]) => key.toLowerCase() !== "authorization").map(([key, value]) => `-H "${key}: ${value}"`).join(" ");
121534
- console.error(`Failed to fetch, reproduce with:
121535
- curl -X ${request2.method} ${stringifiedHeaders} "${url2}"`);
121536
- }
121537
- let retryAfter;
121538
- const retryAfterHeader = response2.headers.get("Retry-After");
121539
- if (retryAfterHeader) {
121540
- const parsed = parseInt(retryAfterHeader, 10);
121541
- if (!Number.isNaN(parsed)) {
121542
- retryAfter = parsed;
121543
- }
121544
- }
121545
- const defaultMessage = errorData.message || `${request2.method} ${endpoint} -> HTTP ${response2.status}: ${response2.statusText}`;
121546
- const throwWithTrace = (error2) => {
121547
- var _a3;
121548
- span == null ? void 0 : span.setAttributes({
121549
- ...ErrorType(errorData.code || `HTTP ${response2.status}`)
121520
+ const canRetryBody = IDEMPOTENT_METHODS.has(method.toUpperCase());
121521
+ let parseResult;
121522
+ for (let attempt = 0; ; attempt++) {
121523
+ headers2.set("X-Request-Time", Date.now().toString());
121524
+ const timeoutSignal = AbortSignal.timeout(REQUEST_TIMEOUT_MS);
121525
+ const signal = options.signal ? AbortSignal.any([options.signal, timeoutSignal]) : timeoutSignal;
121526
+ const request2 = new Request(url2, {
121527
+ ...options,
121528
+ body: body2,
121529
+ headers: headers2,
121530
+ signal
121531
+ });
121532
+ const fetchStart = Date.now();
121533
+ let response2;
121534
+ try {
121535
+ response2 = await fetch(request2, {
121536
+ dispatcher: getDispatcher()
121550
121537
  });
121551
- (_a3 = span == null ? void 0 : span.recordException) == null ? void 0 : _a3.call(span, error2);
121538
+ } catch (error2) {
121539
+ const elapsed = Date.now() - fetchStart;
121540
+ if (error2 instanceof Error && (error2.name === "TimeoutError" || error2.name === "AbortError")) {
121541
+ const timeoutError = new WorkflowWorldError(`${method} ${endpoint} timed out after ${elapsed}ms`, { url: url2, cause: error2 });
121542
+ span == null ? void 0 : span.setAttributes({ ...ErrorType("TIMEOUT") });
121543
+ (_a3 = span == null ? void 0 : span.recordException) == null ? void 0 : _a3.call(span, timeoutError);
121544
+ throw timeoutError;
121545
+ }
121552
121546
  throw error2;
121553
- };
121554
- if (response2.status === 409) {
121555
- throwWithTrace(new EntityConflictError(defaultMessage));
121556
- }
121557
- if (response2.status === 410) {
121558
- throwWithTrace(new RunExpiredError(defaultMessage));
121559
- }
121560
- if (response2.status === 425) {
121561
- throwWithTrace(new TooEarlyError(defaultMessage, { retryAfter }));
121562
121547
  }
121563
- if (response2.status === 429) {
121564
- throwWithTrace(new ThrottleError(defaultMessage, { retryAfter }));
121548
+ const fetchMs = Date.now() - fetchStart;
121549
+ httpLog(method, endpoint, response2.status, fetchMs);
121550
+ span == null ? void 0 : span.setAttributes({
121551
+ ...HttpResponseStatusCode(response2.status)
121552
+ });
121553
+ if (!response2.ok) {
121554
+ const errorData = await parseResponseBody(response2).then((r2) => r2.data).catch(() => ({}));
121555
+ if (process.env.DEBUG) {
121556
+ const stringifiedHeaders = Array.from(headers2.entries()).filter(([key]) => key.toLowerCase() !== "authorization").map(([key, value]) => `-H "${key}: ${value}"`).join(" ");
121557
+ console.error(`Failed to fetch, reproduce with:
121558
+ curl -X ${request2.method} ${stringifiedHeaders} "${url2}"`);
121559
+ }
121560
+ let retryAfter;
121561
+ const retryAfterHeader = response2.headers.get("Retry-After");
121562
+ if (retryAfterHeader) {
121563
+ const parsed = parseInt(retryAfterHeader, 10);
121564
+ if (!Number.isNaN(parsed)) {
121565
+ retryAfter = parsed;
121566
+ }
121567
+ }
121568
+ const defaultMessage = errorData.message || `${request2.method} ${endpoint} -> HTTP ${response2.status}: ${response2.statusText}`;
121569
+ const throwWithTrace = (error2) => {
121570
+ var _a4;
121571
+ span == null ? void 0 : span.setAttributes({
121572
+ ...ErrorType(errorData.code || `HTTP ${response2.status}`)
121573
+ });
121574
+ (_a4 = span == null ? void 0 : span.recordException) == null ? void 0 : _a4.call(span, error2);
121575
+ throw error2;
121576
+ };
121577
+ if (response2.status === 409) {
121578
+ throwWithTrace(new EntityConflictError(defaultMessage));
121579
+ }
121580
+ if (response2.status === 410) {
121581
+ throwWithTrace(new RunExpiredError(defaultMessage));
121582
+ }
121583
+ if (response2.status === 425) {
121584
+ throwWithTrace(new TooEarlyError(defaultMessage, { retryAfter }));
121585
+ }
121586
+ if (response2.status === 429) {
121587
+ throwWithTrace(new ThrottleError(defaultMessage, { retryAfter }));
121588
+ }
121589
+ throwWithTrace(new WorkflowWorldError(defaultMessage, {
121590
+ url: url2,
121591
+ status: response2.status,
121592
+ code: errorData.code,
121593
+ retryAfter
121594
+ }));
121565
121595
  }
121566
- throwWithTrace(new WorkflowWorldError(defaultMessage, {
121567
- url: url2,
121568
- status: response2.status,
121569
- code: errorData.code,
121570
- retryAfter
121571
- }));
121572
- }
121573
- onResponse == null ? void 0 : onResponse(response2);
121574
- let parseResult;
121575
- try {
121576
- parseResult = await trace("world.parse", async (parseSpan) => {
121577
- const result2 = await parseResponseBody(response2);
121578
- const contentType = response2.headers.get("Content-Type") || "";
121579
- const isCbor = contentType.includes("application/cbor");
121580
- parseSpan == null ? void 0 : parseSpan.setAttributes({
121581
- ...WorldParseFormat(isCbor ? "cbor" : "json")
121596
+ onResponse == null ? void 0 : onResponse(response2);
121597
+ try {
121598
+ parseResult = await trace("world.parse", async (parseSpan) => {
121599
+ const result2 = await parseResponseBody(response2);
121600
+ const contentType = response2.headers.get("Content-Type") || "";
121601
+ const isCbor = contentType.includes("application/cbor");
121602
+ parseSpan == null ? void 0 : parseSpan.setAttributes({
121603
+ ...WorldParseFormat(isCbor ? "cbor" : "json")
121604
+ });
121605
+ return result2;
121582
121606
  });
121583
- return result2;
121584
- });
121585
- } catch (error2) {
121586
- const contentType = response2.headers.get("Content-Type") || "unknown";
121587
- throw new WorkflowWorldError(`Failed to parse response body for ${request2.method} ${endpoint} (Content-Type: ${contentType}):
121607
+ break;
121608
+ } catch (error2) {
121609
+ if (canRetryBody && attempt < MAX_BODY_PARSE_RETRIES) {
121610
+ const backoffMs = BODY_PARSE_RETRY_BASE_MS * 2 ** attempt;
121611
+ span == null ? void 0 : span.setAttributes({
121612
+ ...ErrorType("PARSE_ERROR_RETRYING")
121613
+ });
121614
+ if (HTTP_DEBUG_ENABLED) {
121615
+ console.debug(`[workflow:world-vercel:http] ${method} ${endpoint} body parse failed (attempt ${attempt + 1}/${MAX_BODY_PARSE_RETRIES + 1}); retrying in ${backoffMs}ms: ${error2}`);
121616
+ }
121617
+ await new Promise((resolve2) => setTimeout(resolve2, backoffMs));
121618
+ continue;
121619
+ }
121620
+ const contentType = response2.headers.get("Content-Type") || "unknown";
121621
+ throw new WorkflowWorldError(`Failed to parse response body for ${method} ${endpoint} (Content-Type: ${contentType}):
121588
121622
 
121589
121623
  ${error2}`, { url: url2, code: "PARSE_ERROR", cause: error2 });
121624
+ }
121590
121625
  }
121591
121626
  const result = await trace("world.validate", async () => {
121592
121627
  const validationResult = schema.safeParse(parseResult.data);
@@ -1,5 +1,5 @@
1
- import { g as getDefaultExportFromCjs } from "./app-Bw7CxKyr.js";
2
- import { F as requireTokenError, C as requireTokenUtil } from "./server-build-BBm5-YMr.js";
1
+ import { g as getDefaultExportFromCjs } from "./app-BEUod6Qu.js";
2
+ import { F as requireTokenError, C as requireTokenUtil } from "./server-build-JwomDvSn.js";
3
3
  function _mergeNamespaces(n, m) {
4
4
  for (var i = 0; i < m.length; i++) {
5
5
  const e = m[i];
@@ -1,5 +1,5 @@
1
- import { g as getDefaultExportFromCjs } from "./app-Bw7CxKyr.js";
2
- import { C as requireTokenUtil } from "./server-build-BBm5-YMr.js";
1
+ import { g as getDefaultExportFromCjs } from "./app-BEUod6Qu.js";
2
+ import { C as requireTokenUtil } from "./server-build-JwomDvSn.js";
3
3
  function _mergeNamespaces(n, m) {
4
4
  for (var i = 0; i < m.length; i++) {
5
5
  const e = m[i];
@@ -1,4 +1,4 @@
1
- import { n } from "./assets/app-Bw7CxKyr.js";
1
+ import { n } from "./assets/app-BEUod6Qu.js";
2
2
  import "express";
3
3
  import "stream";
4
4
  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.8",
4
+ "version": "4.1.9",
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.3.0",
74
+ "@workflow/core": "4.3.1",
75
75
  "@workflow/errors": "4.1.3",
76
76
  "@workflow/utils": "4.1.2",
77
- "@workflow/web-shared": "4.1.8",
77
+ "@workflow/web-shared": "4.1.9",
78
78
  "@workflow/world": "4.1.4",
79
- "@workflow/world-vercel": "4.3.1"
79
+ "@workflow/world-vercel": "4.3.2"
80
80
  },
81
81
  "scripts": {
82
82
  "dev": "react-router dev",