@workflow/web 5.0.0-beta.46 → 5.0.0-beta.48

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 (24) hide show
  1. package/build/client/assets/{arrow-up-right-UOc2WcaC.js → arrow-up-right-CSovqivK.js} +1 -1
  2. package/build/client/assets/{highlighted-body-B3W2YXNL-D78gcP7S.js → highlighted-body-B3W2YXNL-BO5_Ufo-.js} +1 -1
  3. package/build/client/assets/{home-DYB1uz9w.js → home-BbyW_T74.js} +3 -3
  4. package/build/client/assets/{loader-circle-oscnpy3L.js → loader-circle-BX6ycuOI.js} +1 -1
  5. package/build/client/assets/{manifest-a701502a.js → manifest-34c486ef.js} +1 -1
  6. package/build/client/assets/{mermaid-3ZIDBTTL-BKGEyEYb.js → mermaid-3ZIDBTTL-BKwl_LgA.js} +282 -124
  7. package/build/client/assets/{root-Zvnb602n.js → root-qx_45_fH.js} +3 -3
  8. package/build/client/assets/{run-detail-CedyZW9h.js → run-detail-BoGFG1Fe.js} +59 -38
  9. package/build/client/assets/{workflow-graph-viewer-Du0ztkb8.js → workflow-graph-viewer-C-1D0sAn.js} +1 -1
  10. package/build/client/assets/{zstd-browser-decoder-DafWVuEG.js → zstd-browser-decoder-By3hr1F0.js} +1 -1
  11. package/build/server/assets/{app-BpmEMaiu.js → app-CeZRs20L.js} +1276 -599
  12. package/build/server/assets/{highlighted-body-B3W2YXNL-C6ES2Pzm.js → highlighted-body-B3W2YXNL-jO_hupW2.js} +1 -1
  13. package/build/server/assets/index-DshIaniU.js +169 -0
  14. package/build/server/assets/{index-QOlZC9D-.js → index-dJuvq1GP.js} +1 -1
  15. package/build/server/assets/{mermaid-3ZIDBTTL-X6IEJ8gj.js → mermaid-3ZIDBTTL-2Pe4e_TP.js} +1 -1
  16. package/build/server/assets/{token-CrxXUTBD.js → token-DAVWictz.js} +1 -1
  17. package/build/server/assets/{token-util-DuToe55u.js → token-util-BMRcW3Qd.js} +1 -1
  18. package/build/server/assets/{websocket-server-CTnzV_B7.js → websocket-server-DXnHomzQ.js} +1 -1
  19. package/build/server/assets/{wrapper-Bjff6YRz.js → wrapper-Bw3PP1up.js} +3 -3
  20. package/build/server/assets/{ws-transport-ByYax88V.js → ws-transport-Dv7yY5un.js} +5 -5
  21. package/build/server/assets/{zstd-browser-decoder-Bfk1d5vU.js → zstd-browser-decoder-DJTnP4ZA.js} +1 -1
  22. package/build/server/index.js +3 -3
  23. package/package.json +10 -10
  24. package/build/server/assets/index-BtQfiVUN.js +0 -163
@@ -1,4 +1,4 @@
1
- import { c as createLucideIcon } from "./mermaid-3ZIDBTTL-BKGEyEYb.js";
1
+ import { c as createLucideIcon } from "./mermaid-3ZIDBTTL-BKwl_LgA.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-BKGEyEYb.js";
1
+ import { R, K as Ks, Q as Qe } from "./mermaid-3ZIDBTTL-BKwl_LgA.js";
2
2
  import { r as reactExports, j as jsxRuntimeExports } from "./index-PFjW8YjQ.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,7 +1,7 @@
1
1
  import { r as reactExports, j as jsxRuntimeExports, c as Link, R as ReactExports, o as reactDomExports, e as useSearchParams, d as useNavigate, C as useLocation, w as withComponentProps } from "./index-PFjW8YjQ.js";
2
- import { R as ResolveHookModal, S as Send, r as requireShim, u as unwrapOrThrow, W as WorkflowWebAPIError, f as fetchHookToken, a as Skeleton, b as RelativeTime, A as Alert, C as CircleAlert, c as AlertTitle, g as getErrorTitle, d as AlertDescription, e as getErrorMessage, h as CopyableText, D as DropdownMenu, i as DropdownMenuTrigger, E as Ellipsis, j as DropdownMenuContent, k as DropdownMenuItem, l as resumeHook, m as createCollection, n as hideOthers, o as ReactRemoveScroll, p as useDirection, q as ChevronUp, X, s as useControllableState$1, P as Primitive$1, t as composeEventHandlers$1, v as Presence, w as useSize, x as createContextScope$1, y as bulkCancelRuns, z as reenqueueRun, B as parseWorkflowName, F as StatusBadge, Z as Zap, G as CircleX, H as RunActionsDropdownItems, I as unwrapServerActionResult, J as WorkflowGraphViewer, T as Tabs, K as TabsList, L as TabsTrigger, M as TabsContent, N as ErrorBoundary } from "./workflow-graph-viewer-Du0ztkb8.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, C as Check, l as Copy, b as TooltipContent, D as DEFAULT_PAGE_SIZE, B as Button, m as ChevronRight, n as fetchEvents, o as useCallbackRef, p as useComposedRefs, P as Primitive, A as Anchor, q as composeEventHandlers, s as useLayoutEffect2, v as Portal$2, w as useId, x as createPopperScope, y as DismissableLayer, z as createContextScope, E as createSlot, F as Content$1, G as useControllableState, H as Root2$1, V as VISUALLY_HIDDEN_STYLES, I as Arrow, J as ChevronDown, L as useComposedRefs$1, u as useServerConfig, M as BULK_CANCEL_MAX_RUN_IDS, t as toast, N as fetchRun, O as cva, U as Presence$1, W as createContext2, X as fetchWorkflowsManifest } from "./mermaid-3ZIDBTTL-BKGEyEYb.js";
4
- import { L as LoaderCircle } from "./loader-circle-oscnpy3L.js";
2
+ import { R as ResolveHookModal, S as Send, r as requireShim, u as unwrapOrThrow, W as WorkflowWebAPIError, f as fetchHookToken, a as Skeleton, b as RelativeTime, A as Alert, C as CircleAlert, c as AlertTitle, g as getErrorTitle, d as AlertDescription, e as getErrorMessage, h as CopyableText, D as DropdownMenu, i as DropdownMenuTrigger, E as Ellipsis, j as DropdownMenuContent, k as DropdownMenuItem, l as resumeHook, m as createCollection, n as hideOthers, o as ReactRemoveScroll, p as useDirection, q as ChevronUp, X, s as useControllableState$1, P as Primitive$1, t as composeEventHandlers$1, v as Presence, w as useSize, x as createContextScope$1, y as bulkCancelRuns, z as reenqueueRun, B as parseWorkflowName, F as StatusBadge, Z as Zap, G as CircleX, H as RunActionsDropdownItems, I as unwrapServerActionResult, J as WorkflowGraphViewer, T as Tabs, K as TabsList, L as TabsTrigger, M as TabsContent, N as ErrorBoundary } from "./workflow-graph-viewer-C-1D0sAn.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, C as Check, l as Copy, b as TooltipContent, D as DEFAULT_PAGE_SIZE, B as Button, m as ChevronRight, n as fetchEvents, o as useCallbackRef, p as useComposedRefs, P as Primitive, A as Anchor, q as composeEventHandlers, s as useLayoutEffect2, v as Portal$2, w as useId, x as createPopperScope, y as DismissableLayer, z as createContextScope, E as createSlot, F as Content$1, G as useControllableState, H as Root2$1, V as VISUALLY_HIDDEN_STYLES, I as Arrow, J as ChevronDown, L as useComposedRefs$1, u as useServerConfig, M as BULK_CANCEL_MAX_RUN_IDS, t as toast, N as fetchRun, O as cva, U as Presence$1, W as createContext2, X as fetchWorkflowsManifest } from "./mermaid-3ZIDBTTL-BKwl_LgA.js";
4
+ import { L as LoaderCircle } from "./loader-circle-BX6ycuOI.js";
5
5
  /**
6
6
  * @license lucide-react v0.575.0 - ISC
7
7
  *
@@ -1,4 +1,4 @@
1
- import { c as createLucideIcon } from "./mermaid-3ZIDBTTL-BKGEyEYb.js";
1
+ import { c as createLucideIcon } from "./mermaid-3ZIDBTTL-BKwl_LgA.js";
2
2
  /**
3
3
  * @license lucide-react v0.575.0 - ISC
4
4
  *
@@ -1 +1 @@
1
- window.__reactRouterManifest={"entry":{"module":"/assets/entry.client-LwI3HNYl.js","imports":["/assets/index-PFjW8YjQ.js"],"css":[]},"routes":{"root":{"id":"root","path":"","hasAction":true,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":true,"module":"/assets/root-Zvnb602n.js","imports":["/assets/index-PFjW8YjQ.js","/assets/mermaid-3ZIDBTTL-BKGEyEYb.js","/assets/loader-circle-oscnpy3L.js","/assets/arrow-up-right-UOc2WcaC.js"],"css":["/assets/root-Bl5xphvU.css","/assets/mermaid-3ZIDBTTL-D8CjRQta.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-DYB1uz9w.js","imports":["/assets/index-PFjW8YjQ.js","/assets/workflow-graph-viewer-Du0ztkb8.js","/assets/mermaid-3ZIDBTTL-BKGEyEYb.js","/assets/loader-circle-oscnpy3L.js"],"css":["/assets/workflow-graph-viewer-DnlNuQQH.css","/assets/mermaid-3ZIDBTTL-D8CjRQta.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-CedyZW9h.js","imports":["/assets/index-PFjW8YjQ.js","/assets/workflow-graph-viewer-Du0ztkb8.js","/assets/mermaid-3ZIDBTTL-BKGEyEYb.js","/assets/arrow-up-right-UOc2WcaC.js"],"css":["/assets/run-detail-CWoGxu_0.css","/assets/workflow-graph-viewer-DnlNuQQH.css","/assets/mermaid-3ZIDBTTL-D8CjRQta.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-a701502a.js","version":"a701502a"};
1
+ window.__reactRouterManifest={"entry":{"module":"/assets/entry.client-LwI3HNYl.js","imports":["/assets/index-PFjW8YjQ.js"],"css":[]},"routes":{"root":{"id":"root","path":"","hasAction":true,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":true,"module":"/assets/root-qx_45_fH.js","imports":["/assets/index-PFjW8YjQ.js","/assets/mermaid-3ZIDBTTL-BKwl_LgA.js","/assets/loader-circle-BX6ycuOI.js","/assets/arrow-up-right-CSovqivK.js"],"css":["/assets/root-Bl5xphvU.css","/assets/mermaid-3ZIDBTTL-D8CjRQta.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-BbyW_T74.js","imports":["/assets/index-PFjW8YjQ.js","/assets/workflow-graph-viewer-C-1D0sAn.js","/assets/mermaid-3ZIDBTTL-BKwl_LgA.js","/assets/loader-circle-BX6ycuOI.js"],"css":["/assets/workflow-graph-viewer-DnlNuQQH.css","/assets/mermaid-3ZIDBTTL-D8CjRQta.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-BoGFG1Fe.js","imports":["/assets/index-PFjW8YjQ.js","/assets/workflow-graph-viewer-C-1D0sAn.js","/assets/mermaid-3ZIDBTTL-BKwl_LgA.js","/assets/arrow-up-right-CSovqivK.js"],"css":["/assets/run-detail-CWoGxu_0.css","/assets/workflow-graph-viewer-DnlNuQQH.css","/assets/mermaid-3ZIDBTTL-D8CjRQta.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-34c486ef.js","version":"34c486ef"};
@@ -1,4 +1,4 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/zstd-browser-decoder-DafWVuEG.js","assets/index-PFjW8YjQ.js","assets/highlighted-body-B3W2YXNL-D78gcP7S.js"])))=>i.map(i=>d[i]);
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/zstd-browser-decoder-By3hr1F0.js","assets/index-PFjW8YjQ.js","assets/highlighted-body-B3W2YXNL-BO5_Ufo-.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);
@@ -14887,6 +14887,7 @@ function isSealedNoopEvent(event) {
14887
14887
  return event.eventType === "noop";
14888
14888
  }
14889
14889
  const ENTITY_EVENT_CLASS_BY_TYPE = {
14890
+ attr_set: "attr_set",
14890
14891
  step_created: "step_created",
14891
14892
  step_started: "step_started",
14892
14893
  step_retrying: "step_retrying",
@@ -14901,6 +14902,23 @@ const ENTITY_EVENT_CLASS_BY_TYPE = {
14901
14902
  function entityEventClass(eventType) {
14902
14903
  return getOwnProperty$1(ENTITY_EVENT_CLASS_BY_TYPE, eventType);
14903
14904
  }
14905
+ const RUN_ENTITY_KEY = "";
14906
+ const TERMINAL_EVENT_CLASSES = /* @__PURE__ */ new Set([
14907
+ "attr_set",
14908
+ "step_terminal",
14909
+ "wait_completed",
14910
+ "hook_disposed"
14911
+ ]);
14912
+ function classifyEntityEvent(event) {
14913
+ const eventClass = entityEventClass(event.eventType);
14914
+ if (eventClass === void 0) {
14915
+ return void 0;
14916
+ }
14917
+ if (eventClass === "run_started") {
14918
+ return { eventClass, entity: RUN_ENTITY_KEY };
14919
+ }
14920
+ return event.correlationId ? { eventClass, entity: event.correlationId } : void 0;
14921
+ }
14904
14922
  const EVENT_DATA_REF_FIELDS_BY_EVENT_TYPE = {
14905
14923
  run_created: ["input"],
14906
14924
  run_started: ["input"],
@@ -15445,7 +15463,7 @@ discriminatedUnion("status", [
15445
15463
  // Completed state - output can be v1 or v2 format
15446
15464
  WorkflowRunBaseSchema.extend({
15447
15465
  status: literal("completed"),
15448
- output: SerializedDataSchema,
15466
+ output: SerializedDataSchema.optional(),
15449
15467
  error: _undefined().optional(),
15450
15468
  completedAt: date()
15451
15469
  }),
@@ -15453,7 +15471,7 @@ discriminatedUnion("status", [
15453
15471
  WorkflowRunBaseSchema.extend({
15454
15472
  status: literal("failed"),
15455
15473
  output: _undefined().optional(),
15456
- error: SerializedDataSchema,
15474
+ error: SerializedDataSchema.optional(),
15457
15475
  completedAt: date()
15458
15476
  })
15459
15477
  ]);
@@ -15660,8 +15678,8 @@ object({
15660
15678
  object({
15661
15679
  key: string$2(),
15662
15680
  runCount: number$2(),
15663
- firstSeenAt: date(),
15664
- lastSeenAt: date()
15681
+ firstSeenAt: UTCDateSchema,
15682
+ lastSeenAt: UTCDateSchema
15665
15683
  });
15666
15684
  const WarnedEnvValuesKey = Symbol.for("@workflow/world//warnedEnvValues/v1");
15667
15685
  const globalStore = globalThis;
@@ -15758,8 +15776,9 @@ const HookResumeTimingSchema = object({
15758
15776
  /** Epoch ms immediately before the queue publish was requested. */
15759
15777
  queuePublishRequestedAtMs: number$3(),
15760
15778
  /**
15761
- * Which `resumeHook()` dispatch path ran: `lazy` or `sequential` (`parallel`
15762
- * from producers predating lazy-only resume).
15779
+ * Which `resumeHook()` dispatch path ran. Current producers always report
15780
+ * `sequential` (durable write, then wake); older producers may report
15781
+ * `lazy` or `parallel`.
15763
15782
  */
15764
15783
  strategy: string$2().optional(),
15765
15784
  /** Epoch ms the final consumer's queue handler was entered. */
@@ -15831,9 +15850,9 @@ const WorkflowInvokePayloadSchema = object({
15831
15850
  /** Run creation data, only present on the first queue delivery from start() */
15832
15851
  runInput: RunInputSchema.optional(),
15833
15852
  /**
15834
- * Lazy hook resume data, only present when `resumeHook()` takes the parallel
15835
- * fast path. A consumer that understands this field idempotently ensures the
15836
- * `hook_received` event exists (keyed by `resumeId`) before replaying.
15853
+ * Legacy lazy hook resume data. A consumer that understands this field
15854
+ * idempotently ensures the `hook_received` event exists (keyed by `resumeId`)
15855
+ * before replaying.
15837
15856
  */
15838
15857
  hookInput: HookResumeInputSchema.optional(),
15839
15858
  /**
@@ -15845,7 +15864,7 @@ const WorkflowInvokePayloadSchema = object({
15845
15864
  stepInput: StepDispatchInputSchema.optional(),
15846
15865
  /**
15847
15866
  * Hook-resume TTR timing. Present on both `resumeHook()` dispatch paths
15848
- * (unlike `hookInput`, which only rides the lazy path), and
15867
+ * (unlike legacy `hookInput`), and
15849
15868
  * forwarded onto a dispatched step message when the resuming invocation
15850
15869
  * hands the next durable step to another invocation. Purely observational.
15851
15870
  * See {@link HookResumeTimingSchema}.
@@ -15892,12 +15911,14 @@ const HookResumeContextSchema = object({
15892
15911
  encryptionPublicKey: string$2().optional(),
15893
15912
  // Feature marker: the version of the lazy-hook-resume consumer protocol the
15894
15913
  // run's creating deployment supports. Present (>= 1) means that deployment's
15895
- // `@workflow/core` re-ensures the `hook_received` event from the queue
15896
- // message's `hookInput` on replay, so `resumeHook()`'s lazy path is safe to
15897
- // use. Because a run is pinned to its creating deployment, this
15898
- // marker is a reliable per-run attestation, unlike inferring support from a
15899
- // version compare against a predicted release cutoff. Absent on runs created
15900
- // before the marker existed (fall back to the sequential path).
15914
+ // `@workflow/core` re-ensures the `hook_received` event from a queue
15915
+ // message's `hookInput` on replay. Current producers no longer send
15916
+ // `hookInput` (the durable write happens before the wake is published), so
15917
+ // they never read this marker; it remains stamped so OLDER producers, which
15918
+ // still gate their lazy path on it, keep working against new runs. Because a
15919
+ // run is pinned to its creating deployment, this marker is a reliable
15920
+ // per-run attestation, unlike inferring support from a version compare
15921
+ // against a predicted release cutoff.
15901
15922
  hookResumeInputVersion: number$3().optional()
15902
15923
  });
15903
15924
  const HookResumeCapabilitiesSchema = object({
@@ -16438,6 +16459,10 @@ function unflatten(parsed, revivers, options) {
16438
16459
  }
16439
16460
  return hydrate(0);
16440
16461
  }
16462
+ const RUN_ERROR_CODES = {
16463
+ /** Workflow stream infrastructure failed while reading or writing data */
16464
+ STREAM_ERROR: "STREAM_ERROR"
16465
+ };
16441
16466
  const BASE_URL = "https://workflow-sdk.dev/err";
16442
16467
  function isError(value) {
16443
16468
  return typeof value === "object" && value !== null && "name" in value && "message" in value;
@@ -16484,6 +16509,33 @@ Caused by: ${options.cause.stack}`;
16484
16509
  return isError(value) && value.name === "WorkflowError";
16485
16510
  }
16486
16511
  }
16512
+ class WorkflowWorldError extends WorkflowError {
16513
+ constructor(message, options) {
16514
+ super(message, {
16515
+ cause: options == null ? void 0 : options.cause
16516
+ });
16517
+ __publicField(this, "status");
16518
+ __publicField(this, "code");
16519
+ __publicField(this, "url");
16520
+ /** Retry-After value in seconds, present on 429 and 425 responses */
16521
+ __publicField(this, "retryAfter");
16522
+ /**
16523
+ * The offending argument, present on client-side validation failures
16524
+ * (`code: 'INVALID_ARGUMENT'`). Lets a caller correct the specific
16525
+ * parameter without parsing the message.
16526
+ */
16527
+ __publicField(this, "field");
16528
+ this.name = "WorkflowWorldError";
16529
+ this.status = options == null ? void 0 : options.status;
16530
+ this.code = options == null ? void 0 : options.code;
16531
+ this.url = options == null ? void 0 : options.url;
16532
+ this.retryAfter = options == null ? void 0 : options.retryAfter;
16533
+ this.field = options == null ? void 0 : options.field;
16534
+ }
16535
+ static is(value) {
16536
+ return isError(value) && value.name === "WorkflowWorldError";
16537
+ }
16538
+ }
16487
16539
  class WorkflowRuntimeError extends WorkflowError {
16488
16540
  constructor(message, options) {
16489
16541
  super(message, {
@@ -16529,6 +16581,20 @@ class HookConflictError extends WorkflowError {
16529
16581
  return isError(value) && value.name === "HookConflictError";
16530
16582
  }
16531
16583
  }
16584
+ class StreamError extends WorkflowWorldError {
16585
+ constructor(message, options) {
16586
+ super(message, {
16587
+ code: RUN_ERROR_CODES.STREAM_ERROR,
16588
+ cause: options == null ? void 0 : options.cause,
16589
+ url: options == null ? void 0 : options.url,
16590
+ status: options == null ? void 0 : options.status
16591
+ });
16592
+ this.name = "StreamError";
16593
+ }
16594
+ static is(value) {
16595
+ return isError(value) && value.name === "StreamError";
16596
+ }
16597
+ }
16532
16598
  class FatalError extends Error {
16533
16599
  constructor(message) {
16534
16600
  super(message);
@@ -16566,6 +16632,7 @@ const FATAL_ERROR_KEY = Symbol.for("@workflow/errors//FatalError");
16566
16632
  const RETRYABLE_ERROR_KEY = Symbol.for("@workflow/errors//RetryableError");
16567
16633
  const HOOK_CONFLICT_ERROR_KEY = Symbol.for("@workflow/errors//HookConflictError");
16568
16634
  const RUNTIME_DECRYPTION_ERROR_KEY = Symbol.for("@workflow/errors//RuntimeDecryptionError");
16635
+ const STREAM_ERROR_KEY = Symbol.for("@workflow/errors//StreamError");
16569
16636
  if (typeof globalThis !== "undefined") {
16570
16637
  if (!Object.hasOwn(globalThis, FATAL_ERROR_KEY)) {
16571
16638
  Object.defineProperty(globalThis, FATAL_ERROR_KEY, {
@@ -16599,6 +16666,14 @@ if (typeof globalThis !== "undefined") {
16599
16666
  configurable: false
16600
16667
  });
16601
16668
  }
16669
+ if (!Object.hasOwn(globalThis, STREAM_ERROR_KEY)) {
16670
+ Object.defineProperty(globalThis, STREAM_ERROR_KEY, {
16671
+ value: StreamError,
16672
+ writable: false,
16673
+ enumerable: false,
16674
+ configurable: false
16675
+ });
16676
+ }
16602
16677
  }
16603
16678
  const NONCE_LENGTH = 12;
16604
16679
  const TAG_LENGTH = 128;
@@ -17485,6 +17560,18 @@ function getWebRevivers() {
17485
17560
  error.stack = value.stack;
17486
17561
  return error;
17487
17562
  },
17563
+ StreamError: (value) => {
17564
+ const opts = "cause" in value ? { cause: value.cause } : void 0;
17565
+ const error = new Error(value.message, opts);
17566
+ error.name = "StreamError";
17567
+ if (value.status !== void 0)
17568
+ error.status = value.status;
17569
+ if (value.url !== void 0)
17570
+ error.url = value.url;
17571
+ if (value.stack !== void 0)
17572
+ error.stack = value.stack;
17573
+ return error;
17574
+ },
17488
17575
  DOMException: (value) => {
17489
17576
  const G2 = globalThis;
17490
17577
  if (typeof G2.DOMException === "function") {
@@ -17639,7 +17726,7 @@ async function hydrateResourceIOAsync(resource, key) {
17639
17726
  return { hydrateDataWithKey: hydrateDataWithKey3, deriveRunPayloadKeys: deriveRunPayloadKeys3 };
17640
17727
  }, true ? void 0 : void 0);
17641
17728
  const { ensureZstdDecoderRegistered } = await __vitePreload(async () => {
17642
- const { ensureZstdDecoderRegistered: ensureZstdDecoderRegistered2 } = await import("./zstd-browser-decoder-DafWVuEG.js");
17729
+ const { ensureZstdDecoderRegistered: ensureZstdDecoderRegistered2 } = await import("./zstd-browser-decoder-By3hr1F0.js");
17643
17730
  return { ensureZstdDecoderRegistered: ensureZstdDecoderRegistered2 };
17644
17731
  }, true ? __vite__mapDeps([0,1]) : void 0);
17645
17732
  ensureZstdDecoderRegistered();
@@ -19265,8 +19352,28 @@ function BytesDisplayValue({ display }) {
19265
19352
  function formatField(field) {
19266
19353
  return field === "" ? '""' : field;
19267
19354
  }
19355
+ function isGenericIterable(value) {
19356
+ if (value === null || typeof value !== "object" && typeof value !== "function" || Array.isArray(value) || value instanceof Map || value instanceof Set) {
19357
+ return false;
19358
+ }
19359
+ return typeof value[Symbol.iterator] === "function";
19360
+ }
19361
+ function isEntryIterable(value) {
19362
+ return typeof value.entries === "function";
19363
+ }
19364
+ function collectEntries(iterable, asPairs) {
19365
+ return Array.from(iterable, (item, index2) => {
19366
+ if (asPairs && Array.isArray(item) && item.length >= 2) {
19367
+ return [String(item[0]), collapseRefs(item[1]), index2];
19368
+ }
19369
+ return [void 0, collapseRefs(item), index2];
19370
+ });
19371
+ }
19372
+ function isSelfIterableIterator(value) {
19373
+ return Object.is(value[Symbol.iterator](), value);
19374
+ }
19268
19375
  function describeContainer(value) {
19269
- var _a3;
19376
+ var _a3, _b2;
19270
19377
  if (Array.isArray(value)) {
19271
19378
  return {
19272
19379
  entries: value.map((item) => [void 0, item]),
@@ -19293,8 +19400,26 @@ function describeContainer(value) {
19293
19400
  prefix: "Set"
19294
19401
  };
19295
19402
  }
19296
- if (value !== null && typeof value === "object") {
19403
+ if (isGenericIterable(value)) {
19297
19404
  const name2 = (_a3 = value.constructor) == null ? void 0 : _a3.name;
19405
+ const prefix = name2 && name2 !== "Object" ? name2 : void 0;
19406
+ if (isEntryIterable(value)) {
19407
+ return {
19408
+ entries: collectEntries(value.entries(), true),
19409
+ open: "{",
19410
+ close: "}",
19411
+ prefix
19412
+ };
19413
+ }
19414
+ return {
19415
+ entries: collectEntries(value, false),
19416
+ open: "[",
19417
+ close: "]",
19418
+ prefix
19419
+ };
19420
+ }
19421
+ if (value !== null && typeof value === "object") {
19422
+ const name2 = (_b2 = value.constructor) == null ? void 0 : _b2.name;
19298
19423
  return {
19299
19424
  entries: Object.entries(value),
19300
19425
  open: "{",
@@ -19405,7 +19530,7 @@ function ExpandableContainer({ field, entries, open: open2, close, prefix, ctx,
19405
19530
  }
19406
19531
  };
19407
19532
  const lastIndex = entries.length - 1;
19408
- return jsxRuntimeExports.jsxs("div", { className: CLS.child, role: "treeitem", "aria-expanded": expanded, "aria-controls": expanded ? contentsId : void 0, "data-json-expander": true, ref: rowRef, tabIndex: level === 0 ? 0 : -1, onClick, onKeyDown, children: [jsxRuntimeExports.jsx("span", { className: expanded ? CLS.collapseIcon : CLS.expandIcon, "aria-hidden": "true" }), field !== void 0 && jsxRuntimeExports.jsx("span", { className: CLS.clickableLabel, children: `${formatField(field)}:` }), prefix ? jsxRuntimeExports.jsx("span", { className: CLS.className, children: prefix }) : null, jsxRuntimeExports.jsx("span", { className: CLS.punctuation, children: open2 }), expanded ? jsxRuntimeExports.jsx("ul", { id: contentsId, className: CLS.childFields, role: "group", children: entries.map(([childField, childValue], index2) => jsxRuntimeExports.jsx(DataRender, { field: childField, value: childValue, isLast: index2 === lastIndex, ctx: { ...ctx, level: level + 1 } }, childField ?? index2)) }) : jsxRuntimeExports.jsx("span", { className: CLS.collapsedContent, "aria-hidden": "true" }), jsxRuntimeExports.jsx("span", { className: CLS.punctuation, children: close }), jsxRuntimeExports.jsx(Comma, { isLast })] });
19533
+ return jsxRuntimeExports.jsxs("div", { className: CLS.child, role: "treeitem", "aria-expanded": expanded, "aria-controls": expanded ? contentsId : void 0, "data-json-expander": true, ref: rowRef, tabIndex: level === 0 ? 0 : -1, onClick, onKeyDown, children: [jsxRuntimeExports.jsx("span", { className: expanded ? CLS.collapseIcon : CLS.expandIcon, "aria-hidden": "true" }), field !== void 0 && jsxRuntimeExports.jsx("span", { className: CLS.clickableLabel, children: `${formatField(field)}:` }), prefix ? jsxRuntimeExports.jsx("span", { className: CLS.className, children: prefix }) : null, jsxRuntimeExports.jsx("span", { className: CLS.punctuation, children: open2 }), expanded ? jsxRuntimeExports.jsx("ul", { id: contentsId, className: CLS.childFields, role: "group", children: entries.map(([childField, childValue, entryKey], index2) => jsxRuntimeExports.jsx(DataRender, { field: childField, value: childValue, isLast: index2 === lastIndex, ctx: { ...ctx, level: level + 1 } }, entryKey ?? childField ?? index2)) }) : jsxRuntimeExports.jsx("span", { className: CLS.collapsedContent, "aria-hidden": "true" }), jsxRuntimeExports.jsx("span", { className: CLS.punctuation, children: close }), jsxRuntimeExports.jsx(Comma, { isLast })] });
19409
19534
  }
19410
19535
  function DataRender({ field, value, isLast, ctx }) {
19411
19536
  if (isBytesDisplay(value)) {
@@ -19533,6 +19658,19 @@ function isSameBytesDisplay(a2, b2) {
19533
19658
  var _a3, _b2, _c, _d, _e2, _f;
19534
19659
  return a2.text === b2.text && ((_a3 = a2.decodedFrom) == null ? void 0 : _a3.type) === ((_b2 = b2.decodedFrom) == null ? void 0 : _b2.type) && ((_c = a2.decodedFrom) == null ? void 0 : _c.encoding) === ((_d = b2.decodedFrom) == null ? void 0 : _d.encoding) && ((_e2 = a2.decodedFrom) == null ? void 0 : _e2.rawSummary) === ((_f = b2.decodedFrom) == null ? void 0 : _f.rawSummary);
19535
19660
  }
19661
+ function haveSameIterableValues(a2, b2, seen2) {
19662
+ const aIterator = a2[Symbol.iterator]();
19663
+ const bIterator = b2[Symbol.iterator]();
19664
+ while (true) {
19665
+ const aResult = aIterator.next();
19666
+ const bResult = bIterator.next();
19667
+ if (aResult.done || bResult.done) {
19668
+ return aResult.done === bResult.done;
19669
+ }
19670
+ if (!isDeepEqual(aResult.value, bResult.value, seen2))
19671
+ return false;
19672
+ }
19673
+ }
19536
19674
  function isDeepEqual(a2, b2, seen2 = /* @__PURE__ */ new WeakMap()) {
19537
19675
  if (Object.is(a2, b2))
19538
19676
  return true;
@@ -19545,6 +19683,25 @@ function isDeepEqual(a2, b2, seen2 = /* @__PURE__ */ new WeakMap()) {
19545
19683
  if (a2 instanceof RegExp && b2 instanceof RegExp) {
19546
19684
  return a2.source === b2.source && a2.flags === b2.flags;
19547
19685
  }
19686
+ if (isGenericIterable(a2) || isGenericIterable(b2)) {
19687
+ if (!isGenericIterable(a2) || !isGenericIterable(b2))
19688
+ return false;
19689
+ if (Object.getPrototypeOf(a2) !== Object.getPrototypeOf(b2))
19690
+ return false;
19691
+ if (isSelfIterableIterator(a2) || isSelfIterableIterator(b2))
19692
+ return false;
19693
+ if (seen2.get(a2) === b2)
19694
+ return true;
19695
+ seen2.set(a2, b2);
19696
+ const aHasEntries = isEntryIterable(a2);
19697
+ const bHasEntries = isEntryIterable(b2);
19698
+ if (aHasEntries !== bHasEntries)
19699
+ return false;
19700
+ if (aHasEntries && bHasEntries) {
19701
+ return haveSameIterableValues(a2.entries(), b2.entries(), seen2);
19702
+ }
19703
+ return haveSameIterableValues(a2, b2, seen2);
19704
+ }
19548
19705
  if (a2 instanceof Map && b2 instanceof Map) {
19549
19706
  if (a2.size !== b2.size)
19550
19707
  return false;
@@ -45235,7 +45392,7 @@ var tn = f("block", "before:content-[counter(line)]", "before:inline-block", "be
45235
45392
  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 });
45236
45393
  var Se = reactExports.createContext({ code: "" }), de = () => reactExports.useContext(Se);
45237
45394
  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 }) });
45238
- var cn$1 = /\n+$/, dn = reactExports.lazy(() => __vitePreload(() => import("./highlighted-body-B3W2YXNL-D78gcP7S.js"), true ? __vite__mapDeps([2,1]) : void 0).then((e) => ({ default: e.HighlightedCodeBlockBody }))), rt = ({ code: e, language: t, className: o, children: n, isIncomplete: s2 = false, ...r2 }) => {
45395
+ var cn$1 = /\n+$/, dn = reactExports.lazy(() => __vitePreload(() => import("./highlighted-body-B3W2YXNL-BO5_Ufo-.js"), true ? __vite__mapDeps([2,1]) : void 0).then((e) => ({ default: e.HighlightedCodeBlockBody }))), rt = ({ code: e, language: t, className: o, children: n, isIncomplete: s2 = false, ...r2 }) => {
45239
45396
  let i = reactExports.useMemo(() => e.replace(cn$1, ""), [e]), c = reactExports.useMemo(() => ({ bg: "transparent", fg: "inherit", tokens: i.split(`
45240
45397
  `).map((a2) => [{ content: a2, color: "inherit", bgColor: "transparent", htmlStyle: {}, offset: 0 }]) }), [i]);
45241
45398
  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 }) })] }) });
@@ -49652,7 +49809,7 @@ const mermaid3ZIDBTTL = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.def
49652
49809
  Mermaid: Nt
49653
49810
  }, Symbol.toStringTag, { value: "Module" }));
49654
49811
  export {
49655
- cn$4 as $,
49812
+ isSealedNoopEvent as $,
49656
49813
  Anchor as A,
49657
49814
  Button as B,
49658
49815
  Check as C,
@@ -49677,110 +49834,111 @@ export {
49677
49834
  VISUALLY_HIDDEN_STYLES as V,
49678
49835
  createContext2 as W,
49679
49836
  fetchWorkflowsManifest as X,
49680
- entityEventClass as Y,
49681
- isSealedNoopEvent as Z,
49837
+ classifyEntityEvent as Y,
49838
+ TERMINAL_EVENT_CLASSES as Z,
49682
49839
  __vitePreload as _,
49683
49840
  TooltipTrigger as a,
49684
- hydrateResourceIO as a$,
49685
- CopyableDataBlock as a0,
49686
- CollapsibleRoot as a1,
49687
- CollapsibleTrigger as a2,
49688
- CollapsibleContent as a3,
49689
- CopyButton as a4,
49690
- RESERVED_ATTRIBUTE_KEY_PREFIX as a5,
49691
- Spinner as a6,
49692
- TooltipProvider as a7,
49693
- Tooltip$1 as a8,
49694
- TooltipTrigger$1 as a9,
49695
- useActiveSpan as aA,
49696
- useSidebarData as aB,
49697
- IconButton as aC,
49698
- useRowWindow as aD,
49699
- isSpanDimmedBySearch as aE,
49700
- ROW_HEIGHT_PX as aF,
49701
- getSpanDurationMs as aG,
49702
- isSpanErrored as aH,
49703
- formatDurationPrecise as aI,
49704
- ActiveSpanProvider as aJ,
49705
- useReducedMotion as aK,
49706
- searchSpans as aL,
49707
- computeRootBounds as aM,
49708
- computeTimeMarkers as aN,
49709
- clampViewportToRoot as aO,
49710
- getHighResInMs as aP,
49711
- scrollRowIntoView as aQ,
49712
- TIMELINE_PADDING_PX as aR,
49713
- Minimap as aS,
49714
- Timeline as aT,
49715
- TimelineHeader as aU,
49716
- wheelZoomScaleFactor as aV,
49717
- wheelDeltaToPixels as aW,
49718
- SidebarDataProvider as aX,
49719
- fetchHook as aY,
49720
- hydrateResourceIOAsync as aZ,
49721
- fetchStep as a_,
49722
- TooltipContent$1 as aa,
49723
- ContextCardProvider as ab,
49724
- Skeleton as ac,
49725
- DecryptClickContext as ad,
49726
- Yr as ae,
49727
- isEncryptedMarker$1 as af,
49728
- TimestampTooltip as ag,
49729
- formatDuration as ah,
49730
- DataInspector as ai,
49731
- _r as aj,
49732
- isHookLifecycleEventType as ak,
49733
- isTerminalStepEventType as al,
49734
- isWaitEventType as am,
49735
- isStepEventType as an,
49736
- RunClickContext as ao,
49737
- StreamClickContext as ap,
49738
- Collapsible as aq,
49739
- isExpiredMarker as ar,
49740
- isDoStreamStep as as,
49741
- extractConversation as at,
49742
- EncryptedDataBlock as au,
49743
- getEventDataRefFields as av,
49744
- hasEncryptedFields as aw,
49745
- useSidebarDataOptional as ax,
49746
- isTerminalWorkflowRunStatus as ay,
49747
- clsx as az,
49841
+ fetchStep as a$,
49842
+ cn$4 as a0,
49843
+ CopyableDataBlock as a1,
49844
+ CollapsibleRoot as a2,
49845
+ CollapsibleTrigger as a3,
49846
+ CollapsibleContent as a4,
49847
+ CopyButton as a5,
49848
+ RESERVED_ATTRIBUTE_KEY_PREFIX as a6,
49849
+ Spinner as a7,
49850
+ TooltipProvider as a8,
49851
+ Tooltip$1 as a9,
49852
+ clsx as aA,
49853
+ useActiveSpan as aB,
49854
+ useSidebarData as aC,
49855
+ IconButton as aD,
49856
+ useRowWindow as aE,
49857
+ isSpanDimmedBySearch as aF,
49858
+ ROW_HEIGHT_PX as aG,
49859
+ getSpanDurationMs as aH,
49860
+ isSpanErrored as aI,
49861
+ formatDurationPrecise as aJ,
49862
+ ActiveSpanProvider as aK,
49863
+ useReducedMotion as aL,
49864
+ searchSpans as aM,
49865
+ computeRootBounds as aN,
49866
+ computeTimeMarkers as aO,
49867
+ clampViewportToRoot as aP,
49868
+ getHighResInMs as aQ,
49869
+ scrollRowIntoView as aR,
49870
+ TIMELINE_PADDING_PX as aS,
49871
+ Minimap as aT,
49872
+ Timeline as aU,
49873
+ TimelineHeader as aV,
49874
+ wheelZoomScaleFactor as aW,
49875
+ wheelDeltaToPixels as aX,
49876
+ SidebarDataProvider as aY,
49877
+ fetchHook as aZ,
49878
+ hydrateResourceIOAsync as a_,
49879
+ TooltipTrigger$1 as aa,
49880
+ TooltipContent$1 as ab,
49881
+ ContextCardProvider as ac,
49882
+ Skeleton as ad,
49883
+ DecryptClickContext as ae,
49884
+ Yr as af,
49885
+ isEncryptedMarker$1 as ag,
49886
+ TimestampTooltip as ah,
49887
+ formatDuration as ai,
49888
+ DataInspector as aj,
49889
+ _r as ak,
49890
+ isHookLifecycleEventType as al,
49891
+ isTerminalStepEventType as am,
49892
+ isWaitEventType as an,
49893
+ isStepEventType as ao,
49894
+ RunClickContext as ap,
49895
+ StreamClickContext as aq,
49896
+ Collapsible as ar,
49897
+ isExpiredMarker as as,
49898
+ isDoStreamStep as at,
49899
+ extractConversation as au,
49900
+ EncryptedDataBlock as av,
49901
+ getEventDataRefFields as aw,
49902
+ hasEncryptedFields as ax,
49903
+ useSidebarDataOptional as ay,
49904
+ isTerminalWorkflowRunStatus as az,
49748
49905
  TooltipContent as b,
49749
- fetchStreams as b0,
49750
- apiBase as b1,
49751
- Slot as b2,
49752
- Slottable as b3,
49753
- buttonVariants as b4,
49754
- fetchEvent as b5,
49755
- fetchEventsByCorrelationId as b6,
49756
- isEncryptedData as b7,
49757
- hydrateData as b8,
49758
- decrypt as b9,
49759
- deriveRunPayloadKeys as ba,
49760
- getWebRevivers as bb,
49761
- LIVE_UPDATE_INTERVAL_MS as bc,
49762
- getEncryptionKeyForRun as bd,
49763
- StreamViewerSkeleton as be,
49764
- Lock as bf,
49765
- StreamViewer as bg,
49766
- composeRefs as bh,
49767
- useFloating as bi,
49768
- offset as bj,
49769
- shift as bk,
49770
- limitShift as bl,
49771
- flip as bm,
49772
- size as bn,
49773
- arrow as bo,
49774
- hide as bp,
49775
- autoUpdate as bq,
49776
- VERCEL_403_ERROR_MESSAGE as br,
49777
- bulkCancelRuns as bs,
49778
- reenqueueRun as bt,
49779
- wakeUpRun as bu,
49780
- resumeHook as bv,
49781
- fetchHookToken as bw,
49782
- cancelRun as bx,
49783
- recreateRun as by,
49906
+ hydrateResourceIO as b0,
49907
+ fetchStreams as b1,
49908
+ apiBase as b2,
49909
+ Slot as b3,
49910
+ Slottable as b4,
49911
+ buttonVariants as b5,
49912
+ fetchEvent as b6,
49913
+ fetchEventsByCorrelationId as b7,
49914
+ isEncryptedData as b8,
49915
+ hydrateData as b9,
49916
+ decrypt as ba,
49917
+ deriveRunPayloadKeys as bb,
49918
+ getWebRevivers as bc,
49919
+ LIVE_UPDATE_INTERVAL_MS as bd,
49920
+ getEncryptionKeyForRun as be,
49921
+ StreamViewerSkeleton as bf,
49922
+ Lock as bg,
49923
+ StreamViewer as bh,
49924
+ composeRefs as bi,
49925
+ useFloating as bj,
49926
+ offset as bk,
49927
+ shift as bl,
49928
+ limitShift as bm,
49929
+ flip as bn,
49930
+ size as bo,
49931
+ arrow as bp,
49932
+ hide as bq,
49933
+ autoUpdate as br,
49934
+ VERCEL_403_ERROR_MESSAGE as bs,
49935
+ bulkCancelRuns as bt,
49936
+ reenqueueRun as bu,
49937
+ wakeUpRun as bv,
49938
+ resumeHook as bw,
49939
+ fetchHookToken as bx,
49940
+ cancelRun as by,
49941
+ recreateRun as bz,
49784
49942
  createLucideIcon as c,
49785
49943
  runHealthCheck as d,
49786
49944
  cn as e,
@@ -1,7 +1,7 @@
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-PFjW8YjQ.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, e as cn, f as Toaster$1, S as ServerConfigProvider, g as TooltipProvider } from "./mermaid-3ZIDBTTL-BKGEyEYb.js";
3
- import { L as LoaderCircle } from "./loader-circle-oscnpy3L.js";
4
- import { A as ArrowUpRight } from "./arrow-up-right-UOc2WcaC.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, e as cn, f as Toaster$1, S as ServerConfigProvider, g as TooltipProvider } from "./mermaid-3ZIDBTTL-BKwl_LgA.js";
3
+ import { L as LoaderCircle } from "./loader-circle-BX6ycuOI.js";
4
+ import { A as ArrowUpRight } from "./arrow-up-right-CSovqivK.js";
5
5
  var M = (e, i, s, u, m, a, l, h) => {
6
6
  let d = document.documentElement, w = ["light", "dark"];
7
7
  function p(n) {