@workflow/web 5.0.0-beta.34 → 5.0.0-beta.35

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.
Files changed (19) hide show
  1. package/build/client/assets/{arrow-up-right-B1QFlETT.js → arrow-up-right-B9knAxIp.js} +1 -1
  2. package/build/client/assets/{highlighted-body-B3W2YXNL-Br23zjGQ.js → highlighted-body-B3W2YXNL-nasOj6sE.js} +1 -1
  3. package/build/client/assets/{home-rmBMtWNr.js → home-BasVp7zv.js} +2 -2
  4. package/build/client/assets/{manifest-9dd3e2d8.js → manifest-47657566.js} +1 -1
  5. package/build/client/assets/{mermaid-3ZIDBTTL-CQtb_4FN.js → mermaid-3ZIDBTTL-g3vDTGSb.js} +17 -5
  6. package/build/client/assets/{root-CraFPjyT.js → root-DfwDd0Zj.js} +2 -2
  7. package/build/client/assets/{run-detail-BGHjSgVx.js → run-detail-BGMnsQO5.js} +6 -5
  8. package/build/client/assets/{workflow-graph-viewer-Cn2fThMy.js → workflow-graph-viewer-VUIB71kS.js} +1 -1
  9. package/build/client/assets/{zstd-browser-decoder-BjHfY5Rj.js → zstd-browser-decoder-B6lDon6D.js} +1 -1
  10. package/build/server/assets/{app-i2AZJqU9.js → app-BpmTURgx.js} +1 -1
  11. package/build/server/assets/{highlighted-body-B3W2YXNL-CLwuqern.js → highlighted-body-B3W2YXNL-BGkarUSx.js} +2 -2
  12. package/build/server/assets/{index-CDZXmART.js → index-Dt3nkvmG.js} +58 -56
  13. package/build/server/assets/{mermaid-3ZIDBTTL-D9aZdQJZ.js → mermaid-3ZIDBTTL-DUb3plqq.js} +2 -2
  14. package/build/server/assets/{server-build-DIxG6FRI.js → server-build-vDim5aBz.js} +313 -249
  15. package/build/server/assets/{token-Ni6JMJBG.js → token-BaQZqFlF.js} +2 -2
  16. package/build/server/assets/{token-util-DXRPWBKh.js → token-util-DHXhfd_v.js} +2 -2
  17. package/build/server/assets/{zstd-browser-decoder-Do5u42Eg.js → zstd-browser-decoder-Bnx_AJNv.js} +2 -2
  18. package/build/server/index.js +1 -1
  19. package/package.json +8 -8
@@ -1,4 +1,4 @@
1
- import { c as createLucideIcon } from "./mermaid-3ZIDBTTL-CQtb_4FN.js";
1
+ import { c as createLucideIcon } from "./mermaid-3ZIDBTTL-g3vDTGSb.js";
2
2
  /**
3
3
  * @license lucide-react v0.575.0 - ISC
4
4
  *
@@ -1,4 +1,4 @@
1
- import { R, K as Ks, Q as Qe } from "./mermaid-3ZIDBTTL-CQtb_4FN.js";
1
+ import { R, K as Ks, Q as Qe } from "./mermaid-3ZIDBTTL-g3vDTGSb.js";
2
2
  import { r as reactExports, j as jsxRuntimeExports } from "./index-Q81MFBxC.js";
3
3
  var L = ({ code: s, language: t, raw: e, className: n, ...d$1 }) => {
4
4
  let { shikiTheme: l } = reactExports.useContext(R), o = Ks(), [m, i] = reactExports.useState(e);
@@ -1,6 +1,6 @@
1
1
  import { r as reactExports, j as jsxRuntimeExports, c as Link, R as ReactExports, p as reactDomExports, e as useSearchParams, d as useNavigate, D as useLocation, w as withComponentProps } from "./index-Q81MFBxC.js";
2
- import { R as ResolveHookModal, S as Send, r as requireShim, u as unwrapOrThrow, W as WorkflowWebAPIError, C as Check, a as Copy, f as fetchHookToken, b as Skeleton, c as RelativeTime, A as Alert, d as CircleAlert, e as AlertTitle, g as getErrorTitle, h as AlertDescription, i as getErrorMessage, j as CopyableText, D as DropdownMenu, k as DropdownMenuTrigger, E as Ellipsis, l as DropdownMenuContent, m as DropdownMenuItem, n as resumeHook, o as createCollection, p as hideOthers, q as ReactRemoveScroll, s as useDirection, t as ChevronUp, X, v as useControllableState$1, P as Primitive$1, w as composeEventHandlers$1, x as Presence, y as useSize, z as createContextScope$1, B as cancelRun, F as reenqueueRun, G as parseWorkflowName, H as StatusBadge, Z as Zap, I as CircleX, J as RunActionsDropdownItems, K as unwrapServerActionResult, L as WorkflowGraphViewer, T as Tabs, M as TabsList, N as TabsTrigger, O as TabsContent, Q as ErrorBoundary } from "./workflow-graph-viewer-Cn2fThMy.js";
3
- import { c as createLucideIcon, h as useToast, e as cn, i as fetchRuns, j as fetchHooks, k as getPaginationDisplay, T as Tooltip, a as TooltipTrigger, L as LoaderCircle, b as TooltipContent, D as DEFAULT_PAGE_SIZE, B as Button, C as ChevronRight, l as fetchEvents, m as useCallbackRef, n as useComposedRefs, P as Primitive, A as Anchor, o as composeEventHandlers, p as useLayoutEffect2, q as Portal$2, s as useId, v as createPopperScope, w as DismissableLayer, x as createContextScope, y as createSlot, z as Content$1, E as useControllableState, F as Root2$1, V as VISUALLY_HIDDEN_STYLES, G as Arrow, H as ChevronDown, I as useComposedRefs$1, u as useServerConfig, t as toast, J as fetchRun, M as cva, N as Presence$1, O as createContext2, U as fetchWorkflowsManifest } from "./mermaid-3ZIDBTTL-CQtb_4FN.js";
2
+ import { R as ResolveHookModal, S as Send, r as requireShim, u as unwrapOrThrow, W as WorkflowWebAPIError, C as Check, a as Copy, f as fetchHookToken, b as Skeleton, c as RelativeTime, A as Alert, d as CircleAlert, e as AlertTitle, g as getErrorTitle, h as AlertDescription, i as getErrorMessage, j as CopyableText, D as DropdownMenu, k as DropdownMenuTrigger, E as Ellipsis, l as DropdownMenuContent, m as DropdownMenuItem, n as resumeHook, o as createCollection, p as hideOthers, q as ReactRemoveScroll, s as useDirection, t as ChevronUp, X, v as useControllableState$1, P as Primitive$1, w as composeEventHandlers$1, x as Presence, y as useSize, z as createContextScope$1, B as cancelRun, F as reenqueueRun, G as parseWorkflowName, H as StatusBadge, Z as Zap, I as CircleX, J as RunActionsDropdownItems, K as unwrapServerActionResult, L as WorkflowGraphViewer, T as Tabs, M as TabsList, N as TabsTrigger, O as TabsContent, Q as ErrorBoundary } from "./workflow-graph-viewer-VUIB71kS.js";
3
+ import { c as createLucideIcon, h as useToast, e as cn, i as fetchRuns, j as fetchHooks, k as getPaginationDisplay, T as Tooltip, a as TooltipTrigger, L as LoaderCircle, b as TooltipContent, D as DEFAULT_PAGE_SIZE, B as Button, C as ChevronRight, l as fetchEvents, m as useCallbackRef, n as useComposedRefs, P as Primitive, A as Anchor, o as composeEventHandlers, p as useLayoutEffect2, q as Portal$2, s as useId, v as createPopperScope, w as DismissableLayer, x as createContextScope, y as createSlot, z as Content$1, E as useControllableState, F as Root2$1, V as VISUALLY_HIDDEN_STYLES, G as Arrow, H as ChevronDown, I as useComposedRefs$1, u as useServerConfig, t as toast, J as fetchRun, M as cva, N as Presence$1, O as createContext2, U as fetchWorkflowsManifest } from "./mermaid-3ZIDBTTL-g3vDTGSb.js";
4
4
  import "./index-STTN0-2V.js";
5
5
  /**
6
6
  * @license lucide-react v0.575.0 - ISC
@@ -1 +1 @@
1
- window.__reactRouterManifest={"entry":{"module":"/assets/entry.client-Q4eUIqMI.js","imports":["/assets/index-Q81MFBxC.js"],"css":[]},"routes":{"root":{"id":"root","path":"","hasAction":true,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":true,"module":"/assets/root-CraFPjyT.js","imports":["/assets/index-Q81MFBxC.js","/assets/mermaid-3ZIDBTTL-CQtb_4FN.js","/assets/arrow-up-right-B1QFlETT.js"],"css":["/assets/root-CQggqXow.css","/assets/mermaid-3ZIDBTTL-DDxQhcP4.css"]},"routes/home":{"id":"routes/home","parentId":"root","index":true,"hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/home-rmBMtWNr.js","imports":["/assets/index-Q81MFBxC.js","/assets/workflow-graph-viewer-Cn2fThMy.js","/assets/mermaid-3ZIDBTTL-CQtb_4FN.js","/assets/index-STTN0-2V.js"],"css":["/assets/workflow-graph-viewer-DnlNuQQH.css","/assets/mermaid-3ZIDBTTL-DDxQhcP4.css"]},"routes/run-detail":{"id":"routes/run-detail","parentId":"root","path":"run/:runId","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/run-detail-BGHjSgVx.js","imports":["/assets/index-Q81MFBxC.js","/assets/workflow-graph-viewer-Cn2fThMy.js","/assets/mermaid-3ZIDBTTL-CQtb_4FN.js","/assets/arrow-up-right-B1QFlETT.js","/assets/encryption-CLVP4klT.js","/assets/index-STTN0-2V.js"],"css":["/assets/run-detail-CWoGxu_0.css","/assets/workflow-graph-viewer-DnlNuQQH.css","/assets/mermaid-3ZIDBTTL-DDxQhcP4.css"]},"routes/api.rpc":{"id":"routes/api.rpc","parentId":"root","path":"api/rpc","hasAction":true,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.rpc-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.stream.$streamId":{"id":"routes/api.stream.$streamId","parentId":"root","path":"api/stream/:streamId","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.stream._streamId-l0sNRNKZ.js","imports":[],"css":[]}},"url":"/assets/manifest-9dd3e2d8.js","version":"9dd3e2d8"};
1
+ window.__reactRouterManifest={"entry":{"module":"/assets/entry.client-Q4eUIqMI.js","imports":["/assets/index-Q81MFBxC.js"],"css":[]},"routes":{"root":{"id":"root","path":"","hasAction":true,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":true,"module":"/assets/root-DfwDd0Zj.js","imports":["/assets/index-Q81MFBxC.js","/assets/mermaid-3ZIDBTTL-g3vDTGSb.js","/assets/arrow-up-right-B9knAxIp.js"],"css":["/assets/root-CQggqXow.css","/assets/mermaid-3ZIDBTTL-DDxQhcP4.css"]},"routes/home":{"id":"routes/home","parentId":"root","index":true,"hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/home-BasVp7zv.js","imports":["/assets/index-Q81MFBxC.js","/assets/workflow-graph-viewer-VUIB71kS.js","/assets/mermaid-3ZIDBTTL-g3vDTGSb.js","/assets/index-STTN0-2V.js"],"css":["/assets/workflow-graph-viewer-DnlNuQQH.css","/assets/mermaid-3ZIDBTTL-DDxQhcP4.css"]},"routes/run-detail":{"id":"routes/run-detail","parentId":"root","path":"run/:runId","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/run-detail-BGMnsQO5.js","imports":["/assets/index-Q81MFBxC.js","/assets/workflow-graph-viewer-VUIB71kS.js","/assets/mermaid-3ZIDBTTL-g3vDTGSb.js","/assets/arrow-up-right-B9knAxIp.js","/assets/encryption-CLVP4klT.js","/assets/index-STTN0-2V.js"],"css":["/assets/run-detail-CWoGxu_0.css","/assets/workflow-graph-viewer-DnlNuQQH.css","/assets/mermaid-3ZIDBTTL-DDxQhcP4.css"]},"routes/api.rpc":{"id":"routes/api.rpc","parentId":"root","path":"api/rpc","hasAction":true,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.rpc-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.stream.$streamId":{"id":"routes/api.stream.$streamId","parentId":"root","path":"api/stream/:streamId","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.stream._streamId-l0sNRNKZ.js","imports":[],"css":[]}},"url":"/assets/manifest-47657566.js","version":"47657566"};
@@ -1,4 +1,4 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/encryption-CLVP4klT.js","assets/index-STTN0-2V.js","assets/index-Q81MFBxC.js","assets/zstd-browser-decoder-BjHfY5Rj.js","assets/highlighted-body-B3W2YXNL-Br23zjGQ.js"])))=>i.map(i=>d[i]);
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/encryption-CLVP4klT.js","assets/index-STTN0-2V.js","assets/index-Q81MFBxC.js","assets/zstd-browser-decoder-B6lDon6D.js","assets/highlighted-body-B3W2YXNL-nasOj6sE.js"])))=>i.map(i=>d[i]);
2
2
  var __defProp = Object.defineProperty;
3
3
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
4
4
  var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
@@ -15008,6 +15008,17 @@ const stepLatencyTelemetryFields = {
15008
15008
  // stso.
15009
15009
  stepCount: number$3().int().positive().optional(),
15010
15010
  eventCount: number$3().int().positive().optional(),
15011
+ // Run-started-to-first-step: milliseconds from the `run_started` response
15012
+ // landing (or, under turbo, the local run synthesis instant) until this
15013
+ // step's start POST was issued. A sub-window of ttfs. Only reported
15014
+ // alongside the same eligibility as ttfs.
15015
+ rsfs: number$3().optional(),
15016
+ // Synchronous workflow-function replay duration of only the FINAL replay
15017
+ // pass within the rsfs window (the pass that scheduled the first step),
15018
+ // excluding awaited network I/O — not accumulated across earlier
15019
+ // pre-first-step passes, so it is not "the replay portion of rsfs". Only
15020
+ // present alongside rsfs, and only for the run's first step.
15021
+ finalSchedulingReplay: number$3().optional(),
15011
15022
  // Names of the runtime's optional startup-latency optimizations that were
15012
15023
  // active for this measurement (e.g. 'turbo', 'lazyStepStart',
15013
15024
  // 'optimisticStart'), so latency metrics can be segmented by them.
@@ -16526,7 +16537,7 @@ async function hydrateResourceIOAsync(resource, key) {
16526
16537
  return { hydrateDataWithKey: hydrateDataWithKey3 };
16527
16538
  }, true ? void 0 : void 0);
16528
16539
  const { ensureZstdDecoderRegistered } = await __vitePreload(async () => {
16529
- const { ensureZstdDecoderRegistered: ensureZstdDecoderRegistered2 } = await import("./zstd-browser-decoder-BjHfY5Rj.js");
16540
+ const { ensureZstdDecoderRegistered: ensureZstdDecoderRegistered2 } = await import("./zstd-browser-decoder-B6lDon6D.js");
16530
16541
  return { ensureZstdDecoderRegistered: ensureZstdDecoderRegistered2 };
16531
16542
  }, true ? __vite__mapDeps([3,2]) : void 0);
16532
16543
  ensureZstdDecoderRegistered();
@@ -44088,7 +44099,7 @@ var tn = f("block", "before:content-[counter(line)]", "before:inline-block", "be
44088
44099
  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 });
44089
44100
  var Se = reactExports.createContext({ code: "" }), de = () => reactExports.useContext(Se);
44090
44101
  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 }) });
44091
- var cn$1 = /\n+$/, dn = reactExports.lazy(() => __vitePreload(() => import("./highlighted-body-B3W2YXNL-Br23zjGQ.js"), true ? __vite__mapDeps([4,2]) : void 0).then((e) => ({ default: e.HighlightedCodeBlockBody }))), rt = ({ code: e, language: t, className: o, children: n, isIncomplete: s2 = false, ...r2 }) => {
44102
+ var cn$1 = /\n+$/, dn = reactExports.lazy(() => __vitePreload(() => import("./highlighted-body-B3W2YXNL-nasOj6sE.js"), true ? __vite__mapDeps([4,2]) : void 0).then((e) => ({ default: e.HighlightedCodeBlockBody }))), rt = ({ code: e, language: t, className: o, children: n, isIncomplete: s2 = false, ...r2 }) => {
44092
44103
  let i = reactExports.useMemo(() => e.replace(cn$1, ""), [e]), c = reactExports.useMemo(() => ({ bg: "transparent", fg: "inherit", tokens: i.split(`
44093
44104
  `).map((a2) => [{ content: a2, color: "inherit", bgColor: "transparent", htmlStyle: {}, offset: 0 }]) }), [i]);
44094
44105
  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 }) })] }) });
@@ -46461,9 +46472,10 @@ const RESOURCE_COLORS = {
46461
46472
  errorBg: "var(--ds-red-200)",
46462
46473
  errorBorder: "var(--ds-red-500)"
46463
46474
  },
46475
+ // Passive spans (hooks) stay gray — matches event-list icons and the minimap.
46464
46476
  hook: {
46465
- bg: "var(--ds-amber-200)",
46466
- border: "var(--ds-amber-500)",
46477
+ bg: "var(--ds-gray-200)",
46478
+ border: "var(--ds-gray-500)",
46467
46479
  errorBg: "var(--ds-red-200)",
46468
46480
  errorBorder: "var(--ds-red-500)"
46469
46481
  },
@@ -1,6 +1,6 @@
1
1
  import { r as reactExports, j as jsxRuntimeExports, w as withComponentProps, a as withErrorBoundaryProps, M as Meta, L as Links, S as ScrollRestoration, b as Scripts, O as Outlet, u as useRouteError, i as isRouteErrorResponse, c as Link, d as useNavigate, e as useSearchParams } from "./index-Q81MFBxC.js";
2
- import { c as createLucideIcon, u as useServerConfig, T as Tooltip, a as TooltipTrigger, b as TooltipContent, d as runHealthCheck, t as toast, B as Button, L as LoaderCircle, e as cn, f as Toaster$1, S as ServerConfigProvider, g as TooltipProvider } from "./mermaid-3ZIDBTTL-CQtb_4FN.js";
3
- import { A as ArrowUpRight } from "./arrow-up-right-B1QFlETT.js";
2
+ import { c as createLucideIcon, u as useServerConfig, T as Tooltip, a as TooltipTrigger, b as TooltipContent, d as runHealthCheck, t as toast, B as Button, L as LoaderCircle, e as cn, f as Toaster$1, S as ServerConfigProvider, g as TooltipProvider } from "./mermaid-3ZIDBTTL-g3vDTGSb.js";
3
+ import { A as ArrowUpRight } from "./arrow-up-right-B9knAxIp.js";
4
4
  var M = (e, i, s, u, m, a, l, h) => {
5
5
  let d = document.documentElement, w = ["light", "dark"];
6
6
  function p(n) {
@@ -1,7 +1,7 @@
1
1
  import { r as reactExports, j as jsxRuntimeExports, p as reactDomExports, G as ReactDOM, d as useNavigate, e as useSearchParams, c as Link, w as withComponentProps, H as useParams } from "./index-Q81MFBxC.js";
2
- import { C as Check, a as Copy, d as CircleAlert, U as parseStepName, G as parseWorkflowName, V as ErrorCard, Y as format, Z as Zap, S as Send, R as ResolveHookModal, t as ChevronUp, X, Q as ErrorBoundary, _ as Circle, u as unwrapOrThrow, W as WorkflowWebAPIError, K as unwrapServerActionResult, $ as useEscapeKeydown, w as composeEventHandlers, a0 as useCallbackRef, a1 as useLayoutEffect2, v as useControllableState, a2 as useId, a3 as createContext2, x as Presence, z as createContextScope, p as hideOthers, q as ReactRemoveScroll, a4 as useFocusGuards, a5 as LAYOUT, a6 as wakeUpRun, n as resumeHook, A as Alert, e as AlertTitle, g as getErrorTitle, h as AlertDescription, i as getErrorMessage, b as Skeleton$1, a7 as RunActionsButtons, H as StatusBadge, j as CopyableText, c as RelativeTime, T as Tabs, M as TabsList, N as TabsTrigger, O as TabsContent, B as cancelRun, a8 as recreateRun } from "./workflow-graph-viewer-Cn2fThMy.js";
3
- import { c as createLucideIcon, W as cn, X as DataInspector, Y as DecryptClickContext, Z as Button, $ as Spinner, a0 as Lock, a1 as CollapsibleRoot, a2 as CollapsibleTrigger, a3 as CollapsibleContent, M as cva, a4 as RESERVED_ATTRIBUTE_KEY_PREFIX, a5 as ContextCardProvider, h as useToast, a6 as Skeleton, a7 as Yr, a8 as isEncryptedMarker, C as ChevronRight, a9 as TimestampTooltip, aa as formatDuration, ab as isHookLifecycleEventType, ac as isTerminalStepEventType, ad as isWaitEventType, ae as isStepEventType, af as _r, ag as RunClickContext, ah as StreamClickContext, ai as Collapsible, aj as isExpiredMarker, ak as isDoStreamStep, al as extractConversation, am as getEventDataRefFields, an as hasEncryptedFields, ao as useSidebarDataOptional, ap as isTerminalWorkflowRunStatus, aq as clsx, ar as useActiveSpan, as as useSidebarData, at as Tooltip, au as TooltipTrigger, av as IconButton, aw as TooltipContent, H as ChevronDown, ax as useRowWindow, ay as isSpanDimmedBySearch, az as ROW_HEIGHT_PX, aA as getSpanDurationMs, aB as isSpanErrored, aC as formatDurationPrecise, aD as TooltipProvider, aE as ActiveSpanProvider, aF as useReducedMotion, aG as searchSpans, aH as computeRootBounds, aI as computeTimeMarkers, aJ as clampViewportToRoot, aK as getHighResInMs, aL as scrollRowIntoView, aM as TIMELINE_PADDING_PX, aN as Minimap, aO as Timeline, aP as TimelineHeader, aQ as wheelZoomScaleFactor, aR as wheelDeltaToPixels, aS as SidebarDataProvider, aT as fetchHook, l as fetchEvents, aU as hydrateResourceIOAsync, J as fetchRun, aV as fetchStep, aW as hydrateResourceIO, aX as fetchStreams, aY as Slot, I as useComposedRefs, aZ as Slottable, e as cn$1, a_ as buttonVariants, a$ as fetchEvent, b0 as fetchEventsByCorrelationId, b1 as isEncryptedData, b2 as hydrateData, b3 as getWebRevivers, T as Tooltip$1, a as TooltipTrigger$1, b as TooltipContent$1, b4 as LIVE_UPDATE_INTERVAL_MS$1, u as useServerConfig, b5 as getEncryptionKeyForRun, t as toast, L as LoaderCircle, b6 as StreamViewer } from "./mermaid-3ZIDBTTL-CQtb_4FN.js";
4
- import { A as ArrowUpRight } from "./arrow-up-right-B1QFlETT.js";
2
+ import { C as Check, a as Copy, d as CircleAlert, U as parseStepName, G as parseWorkflowName, V as ErrorCard, Y as format, Z as Zap, S as Send, R as ResolveHookModal, t as ChevronUp, X, Q as ErrorBoundary, _ as Circle, u as unwrapOrThrow, W as WorkflowWebAPIError, K as unwrapServerActionResult, $ as useEscapeKeydown, w as composeEventHandlers, a0 as useCallbackRef, a1 as useLayoutEffect2, v as useControllableState, a2 as useId, a3 as createContext2, x as Presence, z as createContextScope, p as hideOthers, q as ReactRemoveScroll, a4 as useFocusGuards, a5 as LAYOUT, a6 as wakeUpRun, n as resumeHook, A as Alert, e as AlertTitle, g as getErrorTitle, h as AlertDescription, i as getErrorMessage, b as Skeleton$1, a7 as RunActionsButtons, H as StatusBadge, j as CopyableText, c as RelativeTime, T as Tabs, M as TabsList, N as TabsTrigger, O as TabsContent, B as cancelRun, a8 as recreateRun } from "./workflow-graph-viewer-VUIB71kS.js";
3
+ import { c as createLucideIcon, W as cn, X as DataInspector, Y as DecryptClickContext, Z as Button, $ as Spinner, a0 as Lock, a1 as CollapsibleRoot, a2 as CollapsibleTrigger, a3 as CollapsibleContent, M as cva, a4 as RESERVED_ATTRIBUTE_KEY_PREFIX, a5 as ContextCardProvider, h as useToast, a6 as Skeleton, a7 as Yr, a8 as isEncryptedMarker, C as ChevronRight, a9 as TimestampTooltip, aa as formatDuration, ab as isHookLifecycleEventType, ac as isTerminalStepEventType, ad as isWaitEventType, ae as isStepEventType, af as _r, ag as RunClickContext, ah as StreamClickContext, ai as Collapsible, aj as isExpiredMarker, ak as isDoStreamStep, al as extractConversation, am as getEventDataRefFields, an as hasEncryptedFields, ao as useSidebarDataOptional, ap as isTerminalWorkflowRunStatus, aq as clsx, ar as useActiveSpan, as as useSidebarData, at as Tooltip, au as TooltipTrigger, av as IconButton, aw as TooltipContent, H as ChevronDown, ax as useRowWindow, ay as isSpanDimmedBySearch, az as ROW_HEIGHT_PX, aA as getSpanDurationMs, aB as isSpanErrored, aC as formatDurationPrecise, aD as TooltipProvider, aE as ActiveSpanProvider, aF as useReducedMotion, aG as searchSpans, aH as computeRootBounds, aI as computeTimeMarkers, aJ as clampViewportToRoot, aK as getHighResInMs, aL as scrollRowIntoView, aM as TIMELINE_PADDING_PX, aN as Minimap, aO as Timeline, aP as TimelineHeader, aQ as wheelZoomScaleFactor, aR as wheelDeltaToPixels, aS as SidebarDataProvider, aT as fetchHook, l as fetchEvents, aU as hydrateResourceIOAsync, J as fetchRun, aV as fetchStep, aW as hydrateResourceIO, aX as fetchStreams, aY as Slot, I as useComposedRefs, aZ as Slottable, e as cn$1, a_ as buttonVariants, a$ as fetchEvent, b0 as fetchEventsByCorrelationId, b1 as isEncryptedData, b2 as hydrateData, b3 as getWebRevivers, T as Tooltip$1, a as TooltipTrigger$1, b as TooltipContent$1, b4 as LIVE_UPDATE_INTERVAL_MS$1, u as useServerConfig, b5 as getEncryptionKeyForRun, t as toast, L as LoaderCircle, b6 as StreamViewer } from "./mermaid-3ZIDBTTL-g3vDTGSb.js";
4
+ import { A as ArrowUpRight } from "./arrow-up-right-B9knAxIp.js";
5
5
  import { decrypt, importKey } from "./encryption-CLVP4klT.js";
6
6
  import "./index-STTN0-2V.js";
7
7
  /**
@@ -443,7 +443,7 @@ const rowValueVariants = cva("min-w-0 flex-1 truncate text-right text-copy-13 te
443
443
  variant: "default"
444
444
  }
445
445
  });
446
- const rowCopyValueVariants = cva("flex min-w-0 items-center justify-end gap-1 text-copy-13 text-gray-1000", {
446
+ const rowCopyValueVariants = cva("flex min-w-0 flex-1 items-center justify-end gap-1 overflow-hidden text-copy-13 text-gray-1000", {
447
447
  variants: {
448
448
  variant: {
449
449
  default: "",
@@ -2233,7 +2233,8 @@ const copyableBasicAttributes = /* @__PURE__ */ new Set([
2233
2233
  "hookId",
2234
2234
  "eventId",
2235
2235
  "deploymentId",
2236
- "moduleSpecifier"
2236
+ "moduleSpecifier",
2237
+ "token"
2237
2238
  ]);
2238
2239
  const loadingSectionLabels = {
2239
2240
  input: "Input",
@@ -1,7 +1,7 @@
1
1
  var __defProp = Object.defineProperty;
2
2
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
3
  var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
4
- import { c as createLucideIcon, H as ChevronDown, W as cn, e as cn$1, M as cva, b7 as composeRefs, I as useComposedRefs, b8 as useFloating, b9 as offset, ba as shift, bb as limitShift, bc as flip, bd as size, be as arrow, bf as hide, bg as autoUpdate, C as ChevronRight, bh as cancelRun$1, bi as reenqueueRun$1, bj as wakeUpRun$1, bk as resumeHook$1, bl as fetchHookToken$1, bm as recreateRun$1, T as Tooltip, a as TooltipTrigger, b as TooltipContent, x as createContextScope$1, n as useComposedRefs$1, y as createSlot, aa as formatDuration, B as Button, t as toast, s as useId$1, P as Primitive$1, o as composeEventHandlers$1, E as useControllableState$1, m as useCallbackRef$2, N as Presence$1 } from "./mermaid-3ZIDBTTL-CQtb_4FN.js";
4
+ import { c as createLucideIcon, H as ChevronDown, W as cn, e as cn$1, M as cva, b7 as composeRefs, I as useComposedRefs, b8 as useFloating, b9 as offset, ba as shift, bb as limitShift, bc as flip, bd as size, be as arrow, bf as hide, bg as autoUpdate, C as ChevronRight, bh as cancelRun$1, bi as reenqueueRun$1, bj as wakeUpRun$1, bk as resumeHook$1, bl as fetchHookToken$1, bm as recreateRun$1, T as Tooltip, a as TooltipTrigger, b as TooltipContent, x as createContextScope$1, n as useComposedRefs$1, y as createSlot, aa as formatDuration, B as Button, t as toast, s as useId$1, P as Primitive$1, o as composeEventHandlers$1, E as useControllableState$1, m as useCallbackRef$2, N as Presence$1 } from "./mermaid-3ZIDBTTL-g3vDTGSb.js";
5
5
  import { r as reactExports, j as jsxRuntimeExports, p as reactDomExports, R as ReactExports, I as React, G as ReactDOM, f as requireReact, g as getDefaultExportFromCjs } from "./index-Q81MFBxC.js";
6
6
  import { V as VERCEL_403_ERROR_MESSAGE } from "./index-STTN0-2V.js";
7
7
  function parseName(tag, name) {
@@ -1,4 +1,4 @@
1
- import { r as registerZstdDecoder, _ as __vitePreload } from "./mermaid-3ZIDBTTL-CQtb_4FN.js";
1
+ import { r as registerZstdDecoder, _ as __vitePreload } from "./mermaid-3ZIDBTTL-g3vDTGSb.js";
2
2
  import "./index-Q81MFBxC.js";
3
3
  let registered = false;
4
4
  let modulePromise;
@@ -9180,7 +9180,7 @@ const app = express();
9180
9180
  app.all(
9181
9181
  "/{*splat}",
9182
9182
  createRequestHandler({
9183
- build: () => import("./server-build-DIxG6FRI.js").then((n) => n.aC)
9183
+ build: () => import("./server-build-vDim5aBz.js").then((n) => n.aE)
9184
9184
  })
9185
9185
  );
9186
9186
  app.use(
@@ -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 { av as R, aw as Ks, ax as jsxRuntimeExports, ay as Qe } from "./server-build-DIxG6FRI.js";
6
- import { r as reactExports } from "./app-i2AZJqU9.js";
5
+ import { ax as R, ay as Ks, az as jsxRuntimeExports, aA as Qe } from "./server-build-vDim5aBz.js";
6
+ import { r as reactExports } from "./app-BpmTURgx.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 require === "undefined") {
3
3
  globalThis.require = __wkfCreateRequire(import.meta.url);
4
4
  }
5
- import { H as HookSchema } from "./server-build-DIxG6FRI.js";
6
- import { A, a, b, c, d, e, f, g, h, i, j, k, B, C, D, l, E, m, n, o, p, q, r, s, L, M, P, Q, t, R, u, S, v, w, x, y, z, F, G, I, J, T, K, O, 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 } from "./server-build-DIxG6FRI.js";
7
- import "./app-i2AZJqU9.js";
5
+ import { H as HookSchema } from "./server-build-vDim5aBz.js";
6
+ import { A, a, b, c, d, e, f, g, h, i, j, k, B, C, D, l, E, m, n, o, p, q, r, s, L, M, P, t, Q, u, R, v, w, S, x, y, z, F, G, I, J, K, O, 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 } from "./server-build-vDim5aBz.js";
7
+ import "./app-BpmTURgx.js";
8
8
  import "stream";
9
9
  import "express";
10
10
  import "node:stream";
@@ -73,61 +73,63 @@ export {
73
73
  HookSchema,
74
74
  L as LegacySerializedDataSchemaV1,
75
75
  M as MessageId,
76
- P as PaginatedResponseSchema,
76
+ P as PARENT_RUN_ID_ATTRIBUTE,
77
+ t as PaginatedResponseSchema,
77
78
  Q as QueuePayloadSchema,
78
- t as QueuePrefix,
79
+ u as QueuePrefix,
79
80
  R as RESERVED_ATTRIBUTE_KEY_PREFIX,
80
- u as RunInputSchema,
81
+ v as ROOT_RUN_ID_ATTRIBUTE,
82
+ w as RunInputSchema,
81
83
  S as SPEC_VERSION_CURRENT,
82
- v as SPEC_VERSION_LEGACY,
83
- w as SPEC_VERSION_SUPPORTS_ATTRIBUTES,
84
- x as SPEC_VERSION_SUPPORTS_CBOR_QUEUE_TRANSPORT,
85
- y as SPEC_VERSION_SUPPORTS_COMPRESSION,
86
- z as STEP_EVENT_TYPES,
87
- F as SerializedDataSchema,
88
- G as StepInvokePayloadSchema,
89
- I as StepSchema,
90
- J as StepStatusSchema,
84
+ x as SPEC_VERSION_LEGACY,
85
+ y as SPEC_VERSION_SUPPORTS_ATTRIBUTES,
86
+ z as SPEC_VERSION_SUPPORTS_CBOR_QUEUE_TRANSPORT,
87
+ F as SPEC_VERSION_SUPPORTS_COMPRESSION,
88
+ G as STEP_EVENT_TYPES,
89
+ I as SerializedDataSchema,
90
+ J as StepInvokePayloadSchema,
91
+ K as StepSchema,
92
+ O as StepStatusSchema,
91
93
  T as TERMINAL_RUN_EVENT_TYPES,
92
- K as TERMINAL_STEP_EVENT_TYPES,
93
- O as TERMINAL_STEP_STATUSES,
94
- U as TERMINAL_WORKFLOW_RUN_STATUSES,
95
- V as TerminalRunEventTypeSchema,
96
- W as TerminalStepStatusSchema,
97
- X as TerminalWorkflowRunStatusSchema,
98
- Y as ValidQueueName,
99
- Z as WAIT_EVENT_TYPES,
100
- _ as WaitSchema,
101
- $ as WaitStatusSchema,
102
- a0 as WorkflowInvokePayloadSchema,
103
- a1 as WorkflowRunBaseSchema,
104
- a2 as WorkflowRunSchema,
105
- a3 as WorkflowRunStatusSchema,
106
- a4 as applyAttributeChanges,
107
- a5 as envNumber,
108
- a6 as getEventDataPayloadField,
109
- a7 as getEventDataRefFields,
110
- a8 as getQueueTopicPrefix,
111
- a9 as isChildEntityCreationEvent,
112
- aa as isChildEntityCreationEventType,
113
- ab as isHookEventRequiringExistence,
114
- ac as isHookLifecycleEventType,
115
- ad as isLegacySpecVersion,
116
- ae as isStepEventType,
117
- af as isTerminalRunEventType,
118
- ag as isTerminalStepEventType,
119
- ah as isTerminalStepStatus,
120
- ai as isTerminalWorkflowRunStatus,
121
- aj as isWaitEventType,
122
- ak as parseQueueName,
123
- al as reenqueueActiveRuns,
124
- am as requiresNewerWorld,
125
- an as resolveQueueNamespace,
126
- ao as stripEventDataRefs,
127
- ap as ulidToDate,
128
- aq as validateAttributeChanges,
129
- ar as validateAttributeKey,
130
- as as validateAttributeValue,
131
- at as validateUlidTimestamp,
132
- au as workflowRunIdSchema
94
+ U as TERMINAL_STEP_EVENT_TYPES,
95
+ V as TERMINAL_STEP_STATUSES,
96
+ W as TERMINAL_WORKFLOW_RUN_STATUSES,
97
+ X as TerminalRunEventTypeSchema,
98
+ Y as TerminalStepStatusSchema,
99
+ Z as TerminalWorkflowRunStatusSchema,
100
+ _ as ValidQueueName,
101
+ $ as WAIT_EVENT_TYPES,
102
+ a0 as WaitSchema,
103
+ a1 as WaitStatusSchema,
104
+ a2 as WorkflowInvokePayloadSchema,
105
+ a3 as WorkflowRunBaseSchema,
106
+ a4 as WorkflowRunSchema,
107
+ a5 as WorkflowRunStatusSchema,
108
+ a6 as applyAttributeChanges,
109
+ a7 as envNumber,
110
+ a8 as getEventDataPayloadField,
111
+ a9 as getEventDataRefFields,
112
+ aa as getQueueTopicPrefix,
113
+ ab as isChildEntityCreationEvent,
114
+ ac as isChildEntityCreationEventType,
115
+ ad as isHookEventRequiringExistence,
116
+ ae as isHookLifecycleEventType,
117
+ af as isLegacySpecVersion,
118
+ ag as isStepEventType,
119
+ ah as isTerminalRunEventType,
120
+ ai as isTerminalStepEventType,
121
+ aj as isTerminalStepStatus,
122
+ ak as isTerminalWorkflowRunStatus,
123
+ al as isWaitEventType,
124
+ am as parseQueueName,
125
+ an as reenqueueActiveRuns,
126
+ ao as requiresNewerWorld,
127
+ ap as resolveQueueNamespace,
128
+ aq as stripEventDataRefs,
129
+ ar as ulidToDate,
130
+ as as validateAttributeChanges,
131
+ at as validateAttributeKey,
132
+ au as validateAttributeValue,
133
+ av as validateUlidTimestamp,
134
+ aw as workflowRunIdSchema
133
135
  };
@@ -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 { N as Nt } from "./server-build-DIxG6FRI.js";
6
- import "./app-i2AZJqU9.js";
5
+ import { N as Nt } from "./server-build-vDim5aBz.js";
6
+ import "./app-BpmTURgx.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 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-i2AZJqU9.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-BpmTURgx.js";
22
22
  import require$$0$4, { PassThrough } from "node:stream";
23
23
  import require$$0 from "util";
24
24
  import require$$1 from "crypto";
@@ -47781,6 +47781,8 @@ const z$2 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty(
47781
47781
  xor: xor$1
47782
47782
  }, Symbol.toStringTag, { value: "Module" }));
47783
47783
  const RESERVED_ATTRIBUTE_KEY_PREFIX = "$";
47784
+ const ROOT_RUN_ID_ATTRIBUTE = `${RESERVED_ATTRIBUTE_KEY_PREFIX}rootRunId`;
47785
+ const PARENT_RUN_ID_ATTRIBUTE = `${RESERVED_ATTRIBUTE_KEY_PREFIX}parentRunId`;
47784
47786
  const ATTRIBUTE_KEY_MAX_LENGTH = 256;
47785
47787
  const ATTRIBUTE_VALUE_MAX_BYTES = 256;
47786
47788
  const ATTRIBUTE_MAX_PER_RUN = 64;
@@ -48030,6 +48032,17 @@ const stepLatencyTelemetryFields = {
48030
48032
  // stso.
48031
48033
  stepCount: number$3().int().positive().optional(),
48032
48034
  eventCount: number$3().int().positive().optional(),
48035
+ // Run-started-to-first-step: milliseconds from the `run_started` response
48036
+ // landing (or, under turbo, the local run synthesis instant) until this
48037
+ // step's start POST was issued. A sub-window of ttfs. Only reported
48038
+ // alongside the same eligibility as ttfs.
48039
+ rsfs: number$3().optional(),
48040
+ // Synchronous workflow-function replay duration of only the FINAL replay
48041
+ // pass within the rsfs window (the pass that scheduled the first step),
48042
+ // excluding awaited network I/O — not accumulated across earlier
48043
+ // pre-first-step passes, so it is not "the replay portion of rsfs". Only
48044
+ // present alongside rsfs, and only for the run's first step.
48045
+ finalSchedulingReplay: number$3().optional(),
48033
48046
  // Names of the runtime's optional startup-latency optimizations that were
48034
48047
  // active for this measurement (e.g. 'turbo', 'lazyStepStart',
48035
48048
  // 'optimisticStart'), so latency metrics can be segmented by them.
@@ -50156,7 +50169,7 @@ function replaceEncryptedAndExpiredWithMarkers(resource) {
50156
50169
  }
50157
50170
  async function hydrateResourceIOAsync(resource, key) {
50158
50171
  const { hydrateDataWithKey: hydrateDataWithKey2 } = await Promise.resolve().then(() => serializationFormat);
50159
- const { ensureZstdDecoderRegistered } = await import("./zstd-browser-decoder-Do5u42Eg.js");
50172
+ const { ensureZstdDecoderRegistered } = await import("./zstd-browser-decoder-Bnx_AJNv.js");
50160
50173
  ensureZstdDecoderRegistered();
50161
50174
  const cryptoKey = key ? await Promise.resolve().then(() => encryption).then(({ importKey: importKey2 }) => importKey2(key)) : void 0;
50162
50175
  const revivers = getRevivers();
@@ -52449,7 +52462,7 @@ const rowValueVariants = cva("min-w-0 flex-1 truncate text-right text-copy-13 te
52449
52462
  variant: "default"
52450
52463
  }
52451
52464
  });
52452
- const rowCopyValueVariants = cva("flex min-w-0 items-center justify-end gap-1 text-copy-13 text-gray-1000", {
52465
+ const rowCopyValueVariants = cva("flex min-w-0 flex-1 items-center justify-end gap-1 overflow-hidden text-copy-13 text-gray-1000", {
52453
52466
  variants: {
52454
52467
  variant: {
52455
52468
  default: "",
@@ -83121,7 +83134,7 @@ var tn = f("block", "before:content-[counter(line)]", "before:inline-block", "be
83121
83134
  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 });
83122
83135
  var Se = reactExports.createContext({ code: "" }), de = () => reactExports.useContext(Se);
83123
83136
  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 }) });
83124
- var cn$1 = /\n+$/, dn = reactExports.lazy(() => import("./highlighted-body-B3W2YXNL-CLwuqern.js").then((e) => ({ default: e.HighlightedCodeBlockBody }))), rt = ({ code: e, language: t, className: o, children: n, isIncomplete: s2 = false, ...r2 }) => {
83137
+ var cn$1 = /\n+$/, dn = reactExports.lazy(() => import("./highlighted-body-B3W2YXNL-BGkarUSx.js").then((e) => ({ default: e.HighlightedCodeBlockBody }))), rt = ({ code: e, language: t, className: o, children: n, isIncomplete: s2 = false, ...r2 }) => {
83125
83138
  let i = reactExports.useMemo(() => e.replace(cn$1, ""), [e]), c = reactExports.useMemo(() => ({ bg: "transparent", fg: "inherit", tokens: i.split(`
83126
83139
  `).map((a2) => [{ content: a2, color: "inherit", bgColor: "transparent", htmlStyle: {}, offset: 0 }]) }), [i]);
83127
83140
  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 }) })] }) });
@@ -83443,7 +83456,7 @@ var Dt = ({ children: e, className: t, onDownload: o, onError: n }) => {
83443
83456
  }, []), 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] });
83444
83457
  };
83445
83458
  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 }) })] });
83446
- var Jn = reactExports.lazy(() => import("./mermaid-3ZIDBTTL-D9aZdQJZ.js").then((e) => ({ default: e.Mermaid }))), Kn = /language-([^\s]+)/;
83459
+ var Jn = reactExports.lazy(() => import("./mermaid-3ZIDBTTL-DUb3plqq.js").then((e) => ({ default: e.Mermaid }))), Kn = /language-([^\s]+)/;
83447
83460
  function ke(e, t) {
83448
83461
  if (!(e != null && e.position || t != null && t.position)) return true;
83449
83462
  if (!(e != null && e.position && (t != null && t.position))) return false;
@@ -84322,7 +84335,8 @@ const copyableBasicAttributes = /* @__PURE__ */ new Set([
84322
84335
  "hookId",
84323
84336
  "eventId",
84324
84337
  "deploymentId",
84325
- "moduleSpecifier"
84338
+ "moduleSpecifier",
84339
+ "token"
84326
84340
  ]);
84327
84341
  const loadingSectionLabels = {
84328
84342
  input: "Input",
@@ -86797,9 +86811,10 @@ const RESOURCE_COLORS = {
86797
86811
  errorBg: "var(--ds-red-200)",
86798
86812
  errorBorder: "var(--ds-red-500)"
86799
86813
  },
86814
+ // Passive spans (hooks) stay gray — matches event-list icons and the minimap.
86800
86815
  hook: {
86801
- bg: "var(--ds-amber-200)",
86802
- border: "var(--ds-amber-500)",
86816
+ bg: "var(--ds-gray-200)",
86817
+ border: "var(--ds-gray-500)",
86803
86818
  errorBg: "var(--ds-red-200)",
86804
86819
  errorBorder: "var(--ds-red-500)"
86805
86820
  },
@@ -91321,6 +91336,15 @@ class ThrottleError extends WorkflowWorldError {
91321
91336
  return isError(value) && value.name === "ThrottleError";
91322
91337
  }
91323
91338
  }
91339
+ class PreconditionFailedError extends WorkflowWorldError {
91340
+ constructor(message2, options) {
91341
+ super(message2, { status: 412, retryAfter: options == null ? void 0 : options.retryAfter });
91342
+ this.name = "PreconditionFailedError";
91343
+ }
91344
+ static is(value) {
91345
+ return isError(value) && value.name === "PreconditionFailedError";
91346
+ }
91347
+ }
91324
91348
  class WorkflowRunCancelledError extends WorkflowError {
91325
91349
  constructor(runId) {
91326
91350
  super(`Workflow run "${runId}" cancelled`, {});
@@ -92005,7 +92029,7 @@ const encryption = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.definePr
92005
92029
  encrypt: encrypt$1,
92006
92030
  importKey
92007
92031
  }, Symbol.toStringTag, { value: "Module" }));
92008
- const version$1 = "5.0.0-beta.34";
92032
+ const version$1 = "5.0.0-beta.35";
92009
92033
  function assertWorldSupportsRuntimeProtocol(world) {
92010
92034
  if (world.specVersion === SPEC_VERSION_CURRENT) {
92011
92035
  return;
@@ -94882,6 +94906,171 @@ const getWorld = async () => {
94882
94906
  };
94883
94907
  const GetWorldFnKey = Symbol.for("@workflow/world//getWorldFn");
94884
94908
  globalThis[GetWorldFnKey] ?? (globalThis[GetWorldFnKey] = getWorld);
94909
+ const ENCODING = "0123456789ABCDEFGHJKMNPQRSTVWXYZ";
94910
+ const DECODE_TABLE = (() => {
94911
+ const table2 = new Int8Array(128).fill(-1);
94912
+ for (let i = 0; i < ENCODING.length; i++) {
94913
+ table2[ENCODING.charCodeAt(i)] = i;
94914
+ }
94915
+ for (let i = 0; i < ENCODING.length; i++) {
94916
+ const lower2 = ENCODING[i].toLowerCase();
94917
+ if (lower2 !== ENCODING[i]) {
94918
+ table2[lower2.charCodeAt(0)] = i;
94919
+ }
94920
+ }
94921
+ return table2;
94922
+ })();
94923
+ const ULID_LENGTH = 26;
94924
+ const ULID_BYTE_LENGTH = 16;
94925
+ const TAG_BIT_MASK = 128;
94926
+ const REGION_MASK = 252;
94927
+ const VERSION_HIGH_MASK = 3;
94928
+ const VERSION_LOW_MASK = 224;
94929
+ const REGION_BYTE_INDEX = 6;
94930
+ const VERSION_LOW_BYTE_INDEX = 7;
94931
+ const VERSION_BIT_WIDTH = 5;
94932
+ const REGION_BIT_WIDTH = 6;
94933
+ const MAX_VERSION = (1 << VERSION_BIT_WIDTH) - 1;
94934
+ const MAX_REGION = (1 << REGION_BIT_WIDTH) - 1;
94935
+ function ulidToBytes(ulid2) {
94936
+ if (typeof ulid2 !== "string") {
94937
+ throw new TypeError(`Expected ULID string, got ${typeof ulid2}`);
94938
+ }
94939
+ if (ulid2.length !== ULID_LENGTH) {
94940
+ throw new Error(`Invalid ULID length: expected ${ULID_LENGTH}, got ${ulid2.length}`);
94941
+ }
94942
+ const values = new Uint8Array(ULID_LENGTH);
94943
+ for (let i = 0; i < ULID_LENGTH; i++) {
94944
+ const code2 = ulid2.charCodeAt(i);
94945
+ const v2 = code2 < 128 ? DECODE_TABLE[code2] : -1;
94946
+ if (v2 < 0) {
94947
+ throw new Error(`Invalid Crockford-Base32 character at index ${i}: ${JSON.stringify(ulid2[i])}`);
94948
+ }
94949
+ values[i] = v2;
94950
+ }
94951
+ if ((values[0] & 24) !== 0) {
94952
+ throw new Error(`Invalid ULID: top 2 bits must be zero (first char > '7'): ${JSON.stringify(ulid2[0])}`);
94953
+ }
94954
+ const out = new Uint8Array(ULID_BYTE_LENGTH);
94955
+ let bitBuf = values[0] & 7;
94956
+ let bitCount = 3;
94957
+ let outIdx = 0;
94958
+ for (let i = 1; i < ULID_LENGTH; i++) {
94959
+ bitBuf = bitBuf << 5 | values[i];
94960
+ bitCount += 5;
94961
+ while (bitCount >= 8) {
94962
+ bitCount -= 8;
94963
+ out[outIdx++] = bitBuf >> bitCount & 255;
94964
+ }
94965
+ }
94966
+ if (outIdx !== ULID_BYTE_LENGTH || bitCount !== 0) {
94967
+ throw new Error("Internal error: ULID bit packing did not consume cleanly");
94968
+ }
94969
+ return out;
94970
+ }
94971
+ function bytesToUlid(bytes) {
94972
+ if (bytes.length !== ULID_BYTE_LENGTH) {
94973
+ throw new Error(`Invalid byte length: expected ${ULID_BYTE_LENGTH}, got ${bytes.length}`);
94974
+ }
94975
+ let bitBuf = 0;
94976
+ let bitCount = 0;
94977
+ bitBuf = 0;
94978
+ bitCount = 2;
94979
+ let out = "";
94980
+ for (let i = 0; i < ULID_BYTE_LENGTH; i++) {
94981
+ bitBuf = bitBuf << 8 | bytes[i];
94982
+ bitCount += 8;
94983
+ while (bitCount >= 5) {
94984
+ bitCount -= 5;
94985
+ out += ENCODING[bitBuf >> bitCount & 31];
94986
+ }
94987
+ }
94988
+ if (out.length !== ULID_LENGTH || bitCount !== 0) {
94989
+ throw new Error("Internal error: ULID bit packing did not flush cleanly");
94990
+ }
94991
+ return out;
94992
+ }
94993
+ const REGION_IDS = {
94994
+ unknown: 0,
94995
+ iad1: 1,
94996
+ sfo1: 2,
94997
+ pdx1: 3,
94998
+ cle1: 4,
94999
+ yul1: 5,
95000
+ gru1: 6,
95001
+ dub1: 7,
95002
+ lhr1: 8,
95003
+ cdg1: 9,
95004
+ fra1: 10,
95005
+ bru1: 11,
95006
+ arn1: 12,
95007
+ hel1: 13,
95008
+ zrh1: 14,
95009
+ cpt1: 15,
95010
+ dxb1: 16,
95011
+ bom1: 17,
95012
+ sin1: 18,
95013
+ hkg1: 19,
95014
+ hnd1: 20,
95015
+ icn1: 21,
95016
+ kix1: 22,
95017
+ syd1: 23
95018
+ };
95019
+ const DEFAULT_REGION_CODE = "iad1";
95020
+ const REGION_CODES_BY_ID = new Map(Object.entries(REGION_IDS).filter((entry2) => entry2[0] !== "unknown").map(([code2, id2]) => [id2, code2]));
95021
+ function lookupRegion(regionId) {
95022
+ return REGION_CODES_BY_ID.get(regionId) ?? null;
95023
+ }
95024
+ function isKnownRegionCode(code2) {
95025
+ return code2 !== void 0 && code2 !== "unknown" && Object.hasOwn(REGION_IDS, code2);
95026
+ }
95027
+ const CURRENT_VERSION = 1;
95028
+ function isRegionCode(value) {
95029
+ return typeof value === "string" && value !== "unknown" && Object.hasOwn(REGION_IDS, value);
95030
+ }
95031
+ function encode(ulid2, region, options = {}) {
95032
+ let regionId;
95033
+ if (typeof region === "number") {
95034
+ if (!Number.isInteger(region) || region < 0 || region > MAX_REGION) {
95035
+ throw new RangeError(`regionId must be an integer in [0, ${MAX_REGION}]; got ${region}`);
95036
+ }
95037
+ regionId = region;
95038
+ } else if (isRegionCode(region)) {
95039
+ regionId = REGION_IDS[region];
95040
+ } else {
95041
+ throw new Error(`Unknown region: ${String(region)}`);
95042
+ }
95043
+ const version2 = options.version ?? CURRENT_VERSION;
95044
+ if (!Number.isInteger(version2) || version2 < 0 || version2 > MAX_VERSION) {
95045
+ throw new RangeError(`version must be an integer in [0, ${MAX_VERSION}]; got ${version2}`);
95046
+ }
95047
+ const bytes = ulidToBytes(ulid2);
95048
+ bytes[0] = bytes[0] | TAG_BIT_MASK;
95049
+ const regionShifted = (regionId & MAX_REGION) << 2;
95050
+ const versionHigh = version2 >> 3 & VERSION_HIGH_MASK;
95051
+ const versionLow = (version2 & 7) << 5;
95052
+ bytes[REGION_BYTE_INDEX] = bytes[REGION_BYTE_INDEX] & -256 | regionShifted | versionHigh;
95053
+ bytes[VERSION_LOW_BYTE_INDEX] = bytes[VERSION_LOW_BYTE_INDEX] & ~VERSION_LOW_MASK | versionLow;
95054
+ return bytesToUlid(bytes);
95055
+ }
95056
+ function decode(taggedUlid) {
95057
+ const bytes = ulidToBytes(taggedUlid);
95058
+ const tagged = (bytes[0] & TAG_BIT_MASK) !== 0;
95059
+ bytes[0] = bytes[0] & ~TAG_BIT_MASK;
95060
+ const ulid2 = bytesToUlid(bytes);
95061
+ if (!tagged) {
95062
+ return { tagged: false, ulid: ulid2, version: null, regionId: null, region: null };
95063
+ }
95064
+ const regionId = (bytes[REGION_BYTE_INDEX] & REGION_MASK) >> 2;
95065
+ const version2 = (bytes[REGION_BYTE_INDEX] & VERSION_HIGH_MASK) << 3 | (bytes[VERSION_LOW_BYTE_INDEX] & VERSION_LOW_MASK) >> 5;
95066
+ return {
95067
+ tagged: true,
95068
+ ulid: ulid2,
95069
+ version: version2,
95070
+ regionId,
95071
+ region: lookupRegion(regionId)
95072
+ };
95073
+ }
94885
95074
  function waitUntil(promise2) {
94886
95075
  void import("./index-DIXsjgfZ.js").then((n) => n.i).then(({ waitUntil: waitUntil2 }) => {
94887
95076
  waitUntil2(promise2);
@@ -97728,6 +97917,17 @@ function normalizeAttributeChanges(attrs, options = {}) {
97728
97917
  }
97729
97918
  const CROSS_DEPLOYMENT_CAPABILITY_PROBE_TIMEOUT_MS = 2e3;
97730
97919
  const ulid$2 = monotonicFactory();
97920
+ function resolveLineageAttributes() {
97921
+ var _a3;
97922
+ const store = contextStorage.getStore();
97923
+ const parentRunId = (_a3 = store == null ? void 0 : store.workflowMetadata) == null ? void 0 : _a3.workflowRunId;
97924
+ if (!parentRunId)
97925
+ return void 0;
97926
+ return {
97927
+ [ROOT_RUN_ID_ATTRIBUTE]: store.rootRunId ?? parentRunId,
97928
+ [PARENT_RUN_ID_ATTRIBUTE]: parentRunId
97929
+ };
97930
+ }
97731
97931
  let hasWarnedLatestNoOp = false;
97732
97932
  async function start$1(workflow, argsOrOptions, options) {
97733
97933
  "use step";
@@ -97807,9 +98007,11 @@ async function start$1(workflow, argsOrOptions, options) {
97807
98007
  });
97808
98008
  attributes = Object.fromEntries(changes.map(({ key, value }) => [key, value]));
97809
98009
  }
97810
- const attributeSeed = attributes ? {
97811
- attributes,
97812
- ...allowReservedAttributes ? { allowReservedAttributes: true } : {}
98010
+ const lineage = specVersion >= SPEC_VERSION_SUPPORTS_ATTRIBUTES ? resolveLineageAttributes() : void 0;
98011
+ const runAttributes = lineage ? { ...lineage, ...attributes } : attributes;
98012
+ const attributeSeed = runAttributes ? {
98013
+ attributes: runAttributes,
98014
+ ...allowReservedAttributes || lineage != null ? { allowReservedAttributes: true } : {}
97813
98015
  } : {};
97814
98016
  if (opts.replayedFromRunId !== void 0 && !workflowRunIdSchema.safeParse(opts.replayedFromRunId).success) {
97815
98017
  throw new WorkflowRuntimeError(`replayedFromRunId must be a run ID (wrun_<ulid>); received ${JSON.stringify(String(opts.replayedFromRunId).slice(0, 64))}.`);
@@ -98595,6 +98797,18 @@ const config = once(() => {
98595
98797
  const baseUrl = getBaseUrlFromEnv();
98596
98798
  return { dataDir, baseUrl };
98597
98799
  });
98800
+ function resolveRecoverActiveRuns(config2) {
98801
+ var _a3;
98802
+ if (config2.recoverActiveRuns !== void 0) {
98803
+ return config2.recoverActiveRuns;
98804
+ }
98805
+ const raw2 = (_a3 = process.env.WORKFLOW_LOCAL_RECOVER_ACTIVE_RUNS) == null ? void 0 : _a3.toLowerCase();
98806
+ if (raw2 === "0" || raw2 === "false")
98807
+ return false;
98808
+ if (raw2 === "1" || raw2 === "true")
98809
+ return true;
98810
+ return true;
98811
+ }
98598
98812
  function resolveDirectBaseUrl(config2) {
98599
98813
  return config2.baseUrl ?? process.env.WORKFLOW_LOCAL_BASE_URL ?? createWorkflowBaseUrl("http://localhost");
98600
98814
  }
@@ -127145,7 +127359,7 @@ function createWorld$1(args) {
127145
127359
  const tag = mergedConfig.tag;
127146
127360
  const queue = createQueue$2(mergedConfig);
127147
127361
  const { clearCache: clearStorageCache, ...storage } = createStorage$1(mergedConfig.dataDir, tag);
127148
- const recoverActiveRuns = mergedConfig.recoverActiveRuns ?? true;
127362
+ const recoverActiveRuns = resolveRecoverActiveRuns(mergedConfig);
127149
127363
  return {
127150
127364
  specVersion: SPEC_VERSION_CURRENT,
127151
127365
  ...queue,
@@ -127181,7 +127395,7 @@ function createWorld$1(args) {
127181
127395
  const basedir = mergedConfig.dataDir;
127182
127396
  const hooksDir = path$3.join(basedir, "hooks");
127183
127397
  const taggedHookFiles = await listTaggedFiles(hooksDir, tag);
127184
- const { HookSchema: HookSchema2 } = await import("./index-CDZXmART.js");
127398
+ const { HookSchema: HookSchema2 } = await import("./index-Dt3nkvmG.js");
127185
127399
  await Promise.all(taggedHookFiles.map(async (hookFile) => {
127186
127400
  const hook = await readJSON(path$3.join(hooksDir, hookFile), HookSchema2);
127187
127401
  if (hook == null ? void 0 : hook.token) {
@@ -127364,8 +127578,8 @@ function requireGetVercelOidcToken() {
127364
127578
  }
127365
127579
  try {
127366
127580
  const [{ getTokenPayload, isExpired }, { refreshToken }] = await Promise.all([
127367
- await import("./token-util-DXRPWBKh.js").then((n) => n.t),
127368
- await import("./token-Ni6JMJBG.js").then((n) => n.t)
127581
+ await import("./token-util-DHXhfd_v.js").then((n) => n.t),
127582
+ await import("./token-BaQZqFlF.js").then((n) => n.t)
127369
127583
  ]);
127370
127584
  if (!token || isExpired(getTokenPayload(token), options == null ? void 0 : options.expirationBufferMs)) {
127371
127585
  await refreshToken(options);
@@ -128147,6 +128361,8 @@ function errorForResponse(status, message2, opts = {}) {
128147
128361
  return new EntityConflictError(message2);
128148
128362
  if (status === 410)
128149
128363
  return new RunExpiredError(message2);
128364
+ if (status === 412)
128365
+ return new PreconditionFailedError(message2, { retryAfter });
128150
128366
  if (status === 425)
128151
128367
  return new TooEarlyError(message2, { retryAfter });
128152
128368
  if (status === 429) {
@@ -128260,7 +128476,7 @@ async function instrumentedFetch(opts) {
128260
128476
  return response2;
128261
128477
  });
128262
128478
  }
128263
- const version = "5.0.0-beta.30";
128479
+ const version = "5.0.0-beta.31";
128264
128480
  const IDEMPOTENT_METHODS = /* @__PURE__ */ new Set(["GET", "HEAD"]);
128265
128481
  const MAX_BODY_PARSE_RETRIES = 2;
128266
128482
  const BODY_PARSE_RETRY_BASE_MS = 100;
@@ -128673,171 +128889,6 @@ function createAnalytics(config2) {
128673
128889
  }
128674
128890
  };
128675
128891
  }
128676
- const ENCODING = "0123456789ABCDEFGHJKMNPQRSTVWXYZ";
128677
- const DECODE_TABLE = (() => {
128678
- const table2 = new Int8Array(128).fill(-1);
128679
- for (let i = 0; i < ENCODING.length; i++) {
128680
- table2[ENCODING.charCodeAt(i)] = i;
128681
- }
128682
- for (let i = 0; i < ENCODING.length; i++) {
128683
- const lower2 = ENCODING[i].toLowerCase();
128684
- if (lower2 !== ENCODING[i]) {
128685
- table2[lower2.charCodeAt(0)] = i;
128686
- }
128687
- }
128688
- return table2;
128689
- })();
128690
- const ULID_LENGTH = 26;
128691
- const ULID_BYTE_LENGTH = 16;
128692
- const TAG_BIT_MASK = 128;
128693
- const REGION_MASK = 252;
128694
- const VERSION_HIGH_MASK = 3;
128695
- const VERSION_LOW_MASK = 224;
128696
- const REGION_BYTE_INDEX = 6;
128697
- const VERSION_LOW_BYTE_INDEX = 7;
128698
- const VERSION_BIT_WIDTH = 5;
128699
- const REGION_BIT_WIDTH = 6;
128700
- const MAX_VERSION = (1 << VERSION_BIT_WIDTH) - 1;
128701
- const MAX_REGION = (1 << REGION_BIT_WIDTH) - 1;
128702
- function ulidToBytes(ulid2) {
128703
- if (typeof ulid2 !== "string") {
128704
- throw new TypeError(`Expected ULID string, got ${typeof ulid2}`);
128705
- }
128706
- if (ulid2.length !== ULID_LENGTH) {
128707
- throw new Error(`Invalid ULID length: expected ${ULID_LENGTH}, got ${ulid2.length}`);
128708
- }
128709
- const values = new Uint8Array(ULID_LENGTH);
128710
- for (let i = 0; i < ULID_LENGTH; i++) {
128711
- const code2 = ulid2.charCodeAt(i);
128712
- const v2 = code2 < 128 ? DECODE_TABLE[code2] : -1;
128713
- if (v2 < 0) {
128714
- throw new Error(`Invalid Crockford-Base32 character at index ${i}: ${JSON.stringify(ulid2[i])}`);
128715
- }
128716
- values[i] = v2;
128717
- }
128718
- if ((values[0] & 24) !== 0) {
128719
- throw new Error(`Invalid ULID: top 2 bits must be zero (first char > '7'): ${JSON.stringify(ulid2[0])}`);
128720
- }
128721
- const out = new Uint8Array(ULID_BYTE_LENGTH);
128722
- let bitBuf = values[0] & 7;
128723
- let bitCount = 3;
128724
- let outIdx = 0;
128725
- for (let i = 1; i < ULID_LENGTH; i++) {
128726
- bitBuf = bitBuf << 5 | values[i];
128727
- bitCount += 5;
128728
- while (bitCount >= 8) {
128729
- bitCount -= 8;
128730
- out[outIdx++] = bitBuf >> bitCount & 255;
128731
- }
128732
- }
128733
- if (outIdx !== ULID_BYTE_LENGTH || bitCount !== 0) {
128734
- throw new Error("Internal error: ULID bit packing did not consume cleanly");
128735
- }
128736
- return out;
128737
- }
128738
- function bytesToUlid(bytes) {
128739
- if (bytes.length !== ULID_BYTE_LENGTH) {
128740
- throw new Error(`Invalid byte length: expected ${ULID_BYTE_LENGTH}, got ${bytes.length}`);
128741
- }
128742
- let bitBuf = 0;
128743
- let bitCount = 0;
128744
- bitBuf = 0;
128745
- bitCount = 2;
128746
- let out = "";
128747
- for (let i = 0; i < ULID_BYTE_LENGTH; i++) {
128748
- bitBuf = bitBuf << 8 | bytes[i];
128749
- bitCount += 8;
128750
- while (bitCount >= 5) {
128751
- bitCount -= 5;
128752
- out += ENCODING[bitBuf >> bitCount & 31];
128753
- }
128754
- }
128755
- if (out.length !== ULID_LENGTH || bitCount !== 0) {
128756
- throw new Error("Internal error: ULID bit packing did not flush cleanly");
128757
- }
128758
- return out;
128759
- }
128760
- const REGION_IDS = {
128761
- unknown: 0,
128762
- iad1: 1,
128763
- sfo1: 2,
128764
- pdx1: 3,
128765
- cle1: 4,
128766
- yul1: 5,
128767
- gru1: 6,
128768
- dub1: 7,
128769
- lhr1: 8,
128770
- cdg1: 9,
128771
- fra1: 10,
128772
- bru1: 11,
128773
- arn1: 12,
128774
- hel1: 13,
128775
- zrh1: 14,
128776
- cpt1: 15,
128777
- dxb1: 16,
128778
- bom1: 17,
128779
- sin1: 18,
128780
- hkg1: 19,
128781
- hnd1: 20,
128782
- icn1: 21,
128783
- kix1: 22,
128784
- syd1: 23
128785
- };
128786
- const DEFAULT_REGION_CODE = "iad1";
128787
- const REGION_CODES_BY_ID = new Map(Object.entries(REGION_IDS).filter((entry2) => entry2[0] !== "unknown").map(([code2, id2]) => [id2, code2]));
128788
- function lookupRegion(regionId) {
128789
- return REGION_CODES_BY_ID.get(regionId) ?? null;
128790
- }
128791
- function isKnownRegionCode(code2) {
128792
- return code2 !== void 0 && code2 !== "unknown" && Object.hasOwn(REGION_IDS, code2);
128793
- }
128794
- const CURRENT_VERSION = 1;
128795
- function isRegionCode(value) {
128796
- return typeof value === "string" && value !== "unknown" && Object.hasOwn(REGION_IDS, value);
128797
- }
128798
- function encode(ulid2, region, options = {}) {
128799
- let regionId;
128800
- if (typeof region === "number") {
128801
- if (!Number.isInteger(region) || region < 0 || region > MAX_REGION) {
128802
- throw new RangeError(`regionId must be an integer in [0, ${MAX_REGION}]; got ${region}`);
128803
- }
128804
- regionId = region;
128805
- } else if (isRegionCode(region)) {
128806
- regionId = REGION_IDS[region];
128807
- } else {
128808
- throw new Error(`Unknown region: ${String(region)}`);
128809
- }
128810
- const version2 = options.version ?? CURRENT_VERSION;
128811
- if (!Number.isInteger(version2) || version2 < 0 || version2 > MAX_VERSION) {
128812
- throw new RangeError(`version must be an integer in [0, ${MAX_VERSION}]; got ${version2}`);
128813
- }
128814
- const bytes = ulidToBytes(ulid2);
128815
- bytes[0] = bytes[0] | TAG_BIT_MASK;
128816
- const regionShifted = (regionId & MAX_REGION) << 2;
128817
- const versionHigh = version2 >> 3 & VERSION_HIGH_MASK;
128818
- const versionLow = (version2 & 7) << 5;
128819
- bytes[REGION_BYTE_INDEX] = bytes[REGION_BYTE_INDEX] & -256 | regionShifted | versionHigh;
128820
- bytes[VERSION_LOW_BYTE_INDEX] = bytes[VERSION_LOW_BYTE_INDEX] & ~VERSION_LOW_MASK | versionLow;
128821
- return bytesToUlid(bytes);
128822
- }
128823
- function decode(taggedUlid) {
128824
- const bytes = ulidToBytes(taggedUlid);
128825
- const tagged = (bytes[0] & TAG_BIT_MASK) !== 0;
128826
- bytes[0] = bytes[0] & ~TAG_BIT_MASK;
128827
- const ulid2 = bytesToUlid(bytes);
128828
- if (!tagged) {
128829
- return { tagged: false, ulid: ulid2, version: null, regionId: null, region: null };
128830
- }
128831
- const regionId = (bytes[REGION_BYTE_INDEX] & REGION_MASK) >> 2;
128832
- const version2 = (bytes[REGION_BYTE_INDEX] & VERSION_HIGH_MASK) << 3 | (bytes[VERSION_LOW_BYTE_INDEX] & VERSION_LOW_MASK) >> 5;
128833
- return {
128834
- tagged: true,
128835
- ulid: ulid2,
128836
- version: version2,
128837
- regionId,
128838
- region: lookupRegion(regionId)
128839
- };
128840
- }
128841
128892
  const ulid = monotonicFactory();
128842
128893
  let lastRunId;
128843
128894
  function bumpAboveMetadata(ulidStr) {
@@ -133938,11 +133989,7 @@ function getHeadersFromPayload(payload) {
133938
133989
  const FLOW_TOPIC_PATTERN = /^__([a-z][a-z0-9]*_)?wkf_workflow_/;
133939
133990
  let loggedSequentialReplays = false;
133940
133991
  function isSequentialReplaysEnabled() {
133941
- const explicit = process.env.WORKFLOW_SEQUENTIAL_REPLAYS;
133942
- if (explicit !== void 0 && explicit !== "") {
133943
- return explicit === "1";
133944
- }
133945
- return process.env.WORKFLOW_SAFE_MODE === "1";
133992
+ return process.env.WORKFLOW_SEQUENTIAL_REPLAYS === "1";
133946
133993
  }
133947
133994
  function getPhysicalQueueName(queueName, payload) {
133948
133995
  if (!isSequentialReplaysEnabled() || !FLOW_TOPIC_PATTERN.test(queueName)) {
@@ -134464,6 +134511,11 @@ function buildPostFrameMeta(input) {
134464
134511
  meta2.stepCount = input.stepCount;
134465
134512
  if (input.eventCount !== void 0)
134466
134513
  meta2.eventCount = input.eventCount;
134514
+ if (input.rsfs !== void 0)
134515
+ meta2.rsfs = input.rsfs;
134516
+ if (input.finalSchedulingReplay !== void 0) {
134517
+ meta2.finalSchedulingReplay = input.finalSchedulingReplay;
134518
+ }
134467
134519
  if (input.optimizations !== void 0) {
134468
134520
  meta2.optimizations = input.optimizations;
134469
134521
  }
@@ -134471,6 +134523,9 @@ function buildPostFrameMeta(input) {
134471
134523
  meta2.sinceCursor = input.sinceCursor;
134472
134524
  if (input.skipPreload !== void 0)
134473
134525
  meta2.skipPreload = input.skipPreload;
134526
+ if (input.stateUpdatedAt !== void 0) {
134527
+ meta2.stateUpdatedAt = input.stateUpdatedAt;
134528
+ }
134474
134529
  return meta2;
134475
134530
  }
134476
134531
  function errorFromV4Response(statusCode, responseHeaders, errorBody, opName, url2) {
@@ -134982,6 +135037,12 @@ function splitEventDataForV4(data) {
134982
135037
  if (typeof eventData.eventCount === "number" && Number.isSafeInteger(eventData.eventCount) && eventData.eventCount > 0) {
134983
135038
  meta2.eventCount = eventData.eventCount;
134984
135039
  }
135040
+ if (typeof eventData.rsfs === "number") {
135041
+ meta2.rsfs = eventData.rsfs;
135042
+ }
135043
+ if (typeof eventData.finalSchedulingReplay === "number") {
135044
+ meta2.finalSchedulingReplay = eventData.finalSchedulingReplay;
135045
+ }
134985
135046
  if (Array.isArray(eventData.optimizations) && eventData.optimizations.every((o) => typeof o === "string")) {
134986
135047
  meta2.optimizations = eventData.optimizations;
134987
135048
  }
@@ -135107,6 +135168,7 @@ async function createWorkflowRunEventInner(id2, data, params, config2) {
135107
135168
  specVersion: data.specVersion ?? 2,
135108
135169
  ...data.correlationId ? { correlationId: data.correlationId } : {},
135109
135170
  ...(params == null ? void 0 : params.requestId) ? { vercelId: params.requestId } : {},
135171
+ ...(params == null ? void 0 : params.stateUpdatedAt) !== void 0 ? { stateUpdatedAt: params.stateUpdatedAt } : {},
135110
135172
  occurredAt: (params == null ? void 0 : params.occurredAt) ?? /* @__PURE__ */ new Date(),
135111
135173
  // Opt-in inline-delta: forward the cursor the runtime held before
135112
135174
  // this write so the server can return the authoritative event-log
@@ -158577,7 +158639,7 @@ const route4 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProper
158577
158639
  __proto__: null,
158578
158640
  loader
158579
158641
  }, Symbol.toStringTag, { value: "Module" }));
158580
- const serverManifest = { "entry": { "module": "/assets/entry.client-Q4eUIqMI.js", "imports": ["/assets/index-Q81MFBxC.js"], "css": [] }, "routes": { "root": { "id": "root", "parentId": void 0, "path": "", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasDefaultExport": true, "hasErrorBoundary": true, "module": "/assets/root-CraFPjyT.js", "imports": ["/assets/index-Q81MFBxC.js", "/assets/mermaid-3ZIDBTTL-CQtb_4FN.js", "/assets/arrow-up-right-B1QFlETT.js"], "css": ["/assets/root-CQggqXow.css", "/assets/mermaid-3ZIDBTTL-DDxQhcP4.css"], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/home": { "id": "routes/home", "parentId": "root", "path": void 0, "index": true, "caseSensitive": void 0, "hasAction": false, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasDefaultExport": true, "hasErrorBoundary": false, "module": "/assets/home-rmBMtWNr.js", "imports": ["/assets/index-Q81MFBxC.js", "/assets/workflow-graph-viewer-Cn2fThMy.js", "/assets/mermaid-3ZIDBTTL-CQtb_4FN.js", "/assets/index-STTN0-2V.js"], "css": ["/assets/workflow-graph-viewer-DnlNuQQH.css", "/assets/mermaid-3ZIDBTTL-DDxQhcP4.css"], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/run-detail": { "id": "routes/run-detail", "parentId": "root", "path": "run/:runId", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasDefaultExport": true, "hasErrorBoundary": false, "module": "/assets/run-detail-BGHjSgVx.js", "imports": ["/assets/index-Q81MFBxC.js", "/assets/workflow-graph-viewer-Cn2fThMy.js", "/assets/mermaid-3ZIDBTTL-CQtb_4FN.js", "/assets/arrow-up-right-B1QFlETT.js", "/assets/encryption-CLVP4klT.js", "/assets/index-STTN0-2V.js"], "css": ["/assets/run-detail-CWoGxu_0.css", "/assets/workflow-graph-viewer-DnlNuQQH.css", "/assets/mermaid-3ZIDBTTL-DDxQhcP4.css"], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/api.rpc": { "id": "routes/api.rpc", "parentId": "root", "path": "api/rpc", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasDefaultExport": false, "hasErrorBoundary": false, "module": "/assets/api.rpc-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/api.stream.$streamId": { "id": "routes/api.stream.$streamId", "parentId": "root", "path": "api/stream/:streamId", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasDefaultExport": false, "hasErrorBoundary": false, "module": "/assets/api.stream._streamId-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 } }, "url": "/assets/manifest-9dd3e2d8.js", "version": "9dd3e2d8", "sri": void 0 };
158642
+ const serverManifest = { "entry": { "module": "/assets/entry.client-Q4eUIqMI.js", "imports": ["/assets/index-Q81MFBxC.js"], "css": [] }, "routes": { "root": { "id": "root", "parentId": void 0, "path": "", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasDefaultExport": true, "hasErrorBoundary": true, "module": "/assets/root-DfwDd0Zj.js", "imports": ["/assets/index-Q81MFBxC.js", "/assets/mermaid-3ZIDBTTL-g3vDTGSb.js", "/assets/arrow-up-right-B9knAxIp.js"], "css": ["/assets/root-CQggqXow.css", "/assets/mermaid-3ZIDBTTL-DDxQhcP4.css"], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/home": { "id": "routes/home", "parentId": "root", "path": void 0, "index": true, "caseSensitive": void 0, "hasAction": false, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasDefaultExport": true, "hasErrorBoundary": false, "module": "/assets/home-BasVp7zv.js", "imports": ["/assets/index-Q81MFBxC.js", "/assets/workflow-graph-viewer-VUIB71kS.js", "/assets/mermaid-3ZIDBTTL-g3vDTGSb.js", "/assets/index-STTN0-2V.js"], "css": ["/assets/workflow-graph-viewer-DnlNuQQH.css", "/assets/mermaid-3ZIDBTTL-DDxQhcP4.css"], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/run-detail": { "id": "routes/run-detail", "parentId": "root", "path": "run/:runId", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasDefaultExport": true, "hasErrorBoundary": false, "module": "/assets/run-detail-BGMnsQO5.js", "imports": ["/assets/index-Q81MFBxC.js", "/assets/workflow-graph-viewer-VUIB71kS.js", "/assets/mermaid-3ZIDBTTL-g3vDTGSb.js", "/assets/arrow-up-right-B9knAxIp.js", "/assets/encryption-CLVP4klT.js", "/assets/index-STTN0-2V.js"], "css": ["/assets/run-detail-CWoGxu_0.css", "/assets/workflow-graph-viewer-DnlNuQQH.css", "/assets/mermaid-3ZIDBTTL-DDxQhcP4.css"], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/api.rpc": { "id": "routes/api.rpc", "parentId": "root", "path": "api/rpc", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasDefaultExport": false, "hasErrorBoundary": false, "module": "/assets/api.rpc-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/api.stream.$streamId": { "id": "routes/api.stream.$streamId", "parentId": "root", "path": "api/stream/:streamId", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasDefaultExport": false, "hasErrorBoundary": false, "module": "/assets/api.stream._streamId-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 } }, "url": "/assets/manifest-47657566.js", "version": "47657566", "sri": void 0 };
158581
158643
  const assetsBuildDirectory = "build/client";
158582
158644
  const basename = "/";
158583
158645
  const future = { "unstable_optimizeDeps": false, "unstable_subResourceIntegrity": false, "unstable_trailingSlashAwareDataRequests": false, "unstable_previewServerPrerendering": false, "v8_middleware": false, "v8_splitRouteModules": false, "v8_viteEnvironmentApi": false };
@@ -158646,74 +158708,76 @@ const serverBuild = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineP
158646
158708
  ssr
158647
158709
  }, Symbol.toStringTag, { value: "Module" }));
158648
158710
  export {
158649
- WaitStatusSchema as $,
158711
+ WAIT_EVENT_TYPES as $,
158650
158712
  ATTRIBUTE_KEY_MAX_LENGTH as A,
158651
158713
  BaseEventSchema as B,
158652
158714
  CHILD_ENTITY_CREATION_EVENT_TYPES as C,
158653
158715
  DEFAULT_TIMESTAMP_THRESHOLD_FUTURE_MS as D,
158654
158716
  EVENT_DATA_PAYLOAD_FIELD_BY_EVENT_TYPE as E,
158655
- SerializedDataSchema as F,
158656
- StepInvokePayloadSchema as G,
158717
+ SPEC_VERSION_SUPPORTS_COMPRESSION as F,
158718
+ STEP_EVENT_TYPES as G,
158657
158719
  HookSchema as H,
158658
- StepSchema as I,
158659
- StepStatusSchema as J,
158660
- TERMINAL_STEP_EVENT_TYPES as K,
158720
+ SerializedDataSchema as I,
158721
+ StepInvokePayloadSchema as J,
158722
+ StepSchema as K,
158661
158723
  LegacySerializedDataSchemaV1 as L,
158662
158724
  MessageId as M,
158663
158725
  Nt as N,
158664
- TERMINAL_STEP_STATUSES as O,
158665
- PaginatedResponseSchema as P,
158726
+ StepStatusSchema as O,
158727
+ PARENT_RUN_ID_ATTRIBUTE as P,
158666
158728
  QueuePayloadSchema as Q,
158667
158729
  RESERVED_ATTRIBUTE_KEY_PREFIX as R,
158668
158730
  SPEC_VERSION_CURRENT as S,
158669
158731
  TERMINAL_RUN_EVENT_TYPES as T,
158670
- TERMINAL_WORKFLOW_RUN_STATUSES as U,
158671
- TerminalRunEventTypeSchema as V,
158672
- TerminalStepStatusSchema as W,
158673
- TerminalWorkflowRunStatusSchema as X,
158674
- ValidQueueName as Y,
158675
- WAIT_EVENT_TYPES as Z,
158676
- WaitSchema as _,
158732
+ TERMINAL_STEP_EVENT_TYPES as U,
158733
+ TERMINAL_STEP_STATUSES as V,
158734
+ TERMINAL_WORKFLOW_RUN_STATUSES as W,
158735
+ TerminalRunEventTypeSchema as X,
158736
+ TerminalStepStatusSchema as Y,
158737
+ TerminalWorkflowRunStatusSchema as Z,
158738
+ ValidQueueName as _,
158677
158739
  ATTRIBUTE_MAX_PER_RUN as a,
158678
- WorkflowInvokePayloadSchema as a0,
158679
- WorkflowRunBaseSchema as a1,
158680
- WorkflowRunSchema as a2,
158681
- WorkflowRunStatusSchema as a3,
158682
- applyAttributeChanges as a4,
158683
- envNumber as a5,
158684
- getEventDataPayloadField as a6,
158685
- getEventDataRefFields as a7,
158686
- getQueueTopicPrefix as a8,
158687
- isChildEntityCreationEvent as a9,
158688
- requireTokenUtil as aA,
158689
- requireTokenError as aB,
158690
- serverBuild as aC,
158691
- isChildEntityCreationEventType as aa,
158692
- isHookEventRequiringExistence as ab,
158693
- isHookLifecycleEventType as ac,
158694
- isLegacySpecVersion as ad,
158695
- isStepEventType as ae,
158696
- isTerminalRunEventType as af,
158697
- isTerminalStepEventType as ag,
158698
- isTerminalStepStatus as ah,
158699
- isTerminalWorkflowRunStatus as ai,
158700
- isWaitEventType as aj,
158701
- parseQueueName as ak,
158702
- reenqueueActiveRuns as al,
158703
- requiresNewerWorld as am,
158704
- resolveQueueNamespace as an,
158705
- stripEventDataRefs as ao,
158706
- ulidToDate as ap,
158707
- validateAttributeChanges as aq,
158708
- validateAttributeKey as ar,
158709
- validateAttributeValue as as,
158710
- validateUlidTimestamp as at,
158711
- workflowRunIdSchema as au,
158712
- R as av,
158713
- Ks as aw,
158714
- jsxRuntimeExports as ax,
158715
- Qe as ay,
158716
- registerZstdDecoder as az,
158740
+ WaitSchema as a0,
158741
+ WaitStatusSchema as a1,
158742
+ WorkflowInvokePayloadSchema as a2,
158743
+ WorkflowRunBaseSchema as a3,
158744
+ WorkflowRunSchema as a4,
158745
+ WorkflowRunStatusSchema as a5,
158746
+ applyAttributeChanges as a6,
158747
+ envNumber as a7,
158748
+ getEventDataPayloadField as a8,
158749
+ getEventDataRefFields as a9,
158750
+ Qe as aA,
158751
+ registerZstdDecoder as aB,
158752
+ requireTokenUtil as aC,
158753
+ requireTokenError as aD,
158754
+ serverBuild as aE,
158755
+ getQueueTopicPrefix as aa,
158756
+ isChildEntityCreationEvent as ab,
158757
+ isChildEntityCreationEventType as ac,
158758
+ isHookEventRequiringExistence as ad,
158759
+ isHookLifecycleEventType as ae,
158760
+ isLegacySpecVersion as af,
158761
+ isStepEventType as ag,
158762
+ isTerminalRunEventType as ah,
158763
+ isTerminalStepEventType as ai,
158764
+ isTerminalStepStatus as aj,
158765
+ isTerminalWorkflowRunStatus as ak,
158766
+ isWaitEventType as al,
158767
+ parseQueueName as am,
158768
+ reenqueueActiveRuns as an,
158769
+ requiresNewerWorld as ao,
158770
+ resolveQueueNamespace as ap,
158771
+ stripEventDataRefs as aq,
158772
+ ulidToDate as ar,
158773
+ validateAttributeChanges as as,
158774
+ validateAttributeKey as at,
158775
+ validateAttributeValue as au,
158776
+ validateUlidTimestamp as av,
158777
+ workflowRunIdSchema as aw,
158778
+ R as ax,
158779
+ Ks as ay,
158780
+ jsxRuntimeExports as az,
158717
158781
  ATTRIBUTE_VALUE_MAX_BYTES as b,
158718
158782
  AnalyticsAttributeKeySchema as c,
158719
158783
  AnalyticsEventSchema as d,
@@ -158732,11 +158796,11 @@ export {
158732
158796
  HOOK_LIFECYCLE_EVENT_TYPES as q,
158733
158797
  HealthCheckPayloadSchema as r,
158734
158798
  HookCreatedEventSchema as s,
158735
- QueuePrefix as t,
158736
- RunInputSchema as u,
158737
- SPEC_VERSION_LEGACY as v,
158738
- SPEC_VERSION_SUPPORTS_ATTRIBUTES as w,
158739
- SPEC_VERSION_SUPPORTS_CBOR_QUEUE_TRANSPORT as x,
158740
- SPEC_VERSION_SUPPORTS_COMPRESSION as y,
158741
- STEP_EVENT_TYPES as z
158799
+ PaginatedResponseSchema as t,
158800
+ QueuePrefix as u,
158801
+ ROOT_RUN_ID_ATTRIBUTE as v,
158802
+ RunInputSchema as w,
158803
+ SPEC_VERSION_LEGACY as x,
158804
+ SPEC_VERSION_SUPPORTS_ATTRIBUTES as y,
158805
+ SPEC_VERSION_SUPPORTS_CBOR_QUEUE_TRANSPORT as z
158742
158806
  };
@@ -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 { g as getDefaultExportFromCjs } from "./app-i2AZJqU9.js";
6
- import { aB as requireTokenError, aA as requireTokenUtil } from "./server-build-DIxG6FRI.js";
5
+ import { g as getDefaultExportFromCjs } from "./app-BpmTURgx.js";
6
+ import { aD as requireTokenError, aC as requireTokenUtil } from "./server-build-vDim5aBz.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 require === "undefined") {
3
3
  globalThis.require = __wkfCreateRequire(import.meta.url);
4
4
  }
5
- import { g as getDefaultExportFromCjs } from "./app-i2AZJqU9.js";
6
- import { aA as requireTokenUtil } from "./server-build-DIxG6FRI.js";
5
+ import { g as getDefaultExportFromCjs } from "./app-BpmTURgx.js";
6
+ import { aC as requireTokenUtil } from "./server-build-vDim5aBz.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 require === "undefined") {
3
3
  globalThis.require = __wkfCreateRequire(import.meta.url);
4
4
  }
5
- import { az as registerZstdDecoder } from "./server-build-DIxG6FRI.js";
6
- import "./app-i2AZJqU9.js";
5
+ import { aB as registerZstdDecoder } from "./server-build-vDim5aBz.js";
6
+ import "./app-BpmTURgx.js";
7
7
  import "stream";
8
8
  import "express";
9
9
  import "node:stream";
@@ -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 } from "./assets/app-i2AZJqU9.js";
5
+ import { n } from "./assets/app-BpmTURgx.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": "5.0.0-beta.34",
4
+ "version": "5.0.0-beta.35",
5
5
  "type": "module",
6
6
  "private": false,
7
7
  "files": [
@@ -29,7 +29,7 @@
29
29
  "dependencies": {
30
30
  "express": "^5.2.1",
31
31
  "swr": "^2.3.6",
32
- "@workflow/world-local": "5.0.0-beta.28"
32
+ "@workflow/world-local": "5.0.0-beta.29"
33
33
  },
34
34
  "devDependencies": {
35
35
  "@biomejs/biome": "^2.4.4",
@@ -73,13 +73,13 @@
73
73
  "tailwindcss": "4",
74
74
  "typescript": "^6.0.3",
75
75
  "vite": "^6",
76
- "vitest": "^3",
77
- "@workflow/core": "5.0.0-beta.34",
78
- "@workflow/errors": "5.0.0-beta.10",
76
+ "vitest": "^3.2.7",
77
+ "@workflow/core": "5.0.0-beta.35",
78
+ "@workflow/errors": "5.0.0-beta.11",
79
79
  "@workflow/utils": "5.0.0-beta.6",
80
- "@workflow/web-shared": "5.0.0-beta.34",
81
- "@workflow/world": "5.0.0-beta.20",
82
- "@workflow/world-vercel": "5.0.0-beta.30"
80
+ "@workflow/web-shared": "5.0.0-beta.35",
81
+ "@workflow/world": "5.0.0-beta.21",
82
+ "@workflow/world-vercel": "5.0.0-beta.31"
83
83
  },
84
84
  "scripts": {
85
85
  "dev": "react-router dev",