@workflow/web 5.0.0-beta.23 → 5.0.0-beta.24

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.
@@ -1 +1 @@
1
- window.__reactRouterManifest={"entry":{"module":"/assets/entry.client-DOJDY_4b.js","imports":["/assets/index-BXZSIDEp.js"],"css":[]},"routes":{"root":{"id":"root","path":"","hasAction":true,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":true,"module":"/assets/root-BlFmfRST.js","imports":["/assets/index-BXZSIDEp.js","/assets/mermaid-3ZIDBTTL-C_xy8SxZ.js"],"css":["/assets/root-61NXpLSs.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-Dz43xne_.js","imports":["/assets/index-BXZSIDEp.js","/assets/workflow-graph-viewer-BlDVZ5AU.js","/assets/mermaid-3ZIDBTTL-C_xy8SxZ.js","/assets/index-B6-SzLmT.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-C34zz02I.js","imports":["/assets/index-BXZSIDEp.js","/assets/workflow-graph-viewer-BlDVZ5AU.js","/assets/mermaid-3ZIDBTTL-C_xy8SxZ.js","/assets/encryption-g14N5vQl.js","/assets/index-B6-SzLmT.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-608c3c54.js","version":"608c3c54"};
1
+ window.__reactRouterManifest={"entry":{"module":"/assets/entry.client-DOJDY_4b.js","imports":["/assets/index-BXZSIDEp.js"],"css":[]},"routes":{"root":{"id":"root","path":"","hasAction":true,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":true,"module":"/assets/root-BlFmfRST.js","imports":["/assets/index-BXZSIDEp.js","/assets/mermaid-3ZIDBTTL-C_xy8SxZ.js"],"css":["/assets/root-61NXpLSs.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-Dz43xne_.js","imports":["/assets/index-BXZSIDEp.js","/assets/workflow-graph-viewer-BlDVZ5AU.js","/assets/mermaid-3ZIDBTTL-C_xy8SxZ.js","/assets/index-B6-SzLmT.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-BzGs1YV_.js","imports":["/assets/index-BXZSIDEp.js","/assets/workflow-graph-viewer-BlDVZ5AU.js","/assets/mermaid-3ZIDBTTL-C_xy8SxZ.js","/assets/encryption-g14N5vQl.js","/assets/index-B6-SzLmT.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-e1cf8511.js","version":"e1cf8511"};
@@ -1081,6 +1081,20 @@ const MARKER_EVENT_TYPES = /* @__PURE__ */ new Set([
1081
1081
  "wait_completed",
1082
1082
  "attr_set"
1083
1083
  ]);
1084
+ const findEventByType = (events, eventTypes) => {
1085
+ for (const eventType of eventTypes) {
1086
+ const event = events.find((e) => e.eventType === eventType);
1087
+ if (event)
1088
+ return event;
1089
+ }
1090
+ return void 0;
1091
+ };
1092
+ const withOccurredAt = (entity, occurredAt) => {
1093
+ if (!occurredAt || entity.occurredAt != null) {
1094
+ return entity;
1095
+ }
1096
+ return { ...entity, occurredAt };
1097
+ };
1084
1098
  function convertEventsToSpanEvents(events, filterTypes = true) {
1085
1099
  return events.filter((event) => filterTypes ? MARKER_EVENT_TYPES.has(event.eventType) : true).map((event) => ({
1086
1100
  name: event.eventType,
@@ -1101,13 +1115,13 @@ const waitEventsToWaitEntity = (events) => {
1101
1115
  return null;
1102
1116
  }
1103
1117
  const completedEvent = events.find((event) => event.eventType === "wait_completed");
1104
- return {
1118
+ return withOccurredAt({
1105
1119
  waitId: startEvent.correlationId,
1106
1120
  runId: startEvent.runId,
1107
1121
  createdAt: startEvent.createdAt,
1108
1122
  resumeAt: ((_a = startEvent.eventData) == null ? void 0 : _a.resumeAt) ? new Date(startEvent.eventData.resumeAt) : void 0,
1109
1123
  completedAt: completedEvent == null ? void 0 : completedEvent.createdAt
1110
- };
1124
+ }, startEvent.occurredAt);
1111
1125
  };
1112
1126
  function waitToSpan(events, maxEndTime, fallbackEndTime = maxEndTime) {
1113
1127
  const wait = waitEventsToWaitEntity(events);
@@ -1183,7 +1197,8 @@ const stepEventsToStepEntity = (events) => {
1183
1197
  if (attempt === 0)
1184
1198
  attempt = 1;
1185
1199
  const lastEvent = events[events.length - 1];
1186
- return {
1200
+ const occurrenceEvent = findEventByType(events, ["step_created", "step_started"]) ?? anchorEvent;
1201
+ return withOccurredAt({
1187
1202
  stepId: anchorEvent.correlationId ?? "",
1188
1203
  runId: anchorEvent.runId,
1189
1204
  stepName: ((_a = createdEvent == null ? void 0 : createdEvent.eventData) == null ? void 0 : _a.stepName) ?? "",
@@ -1194,7 +1209,7 @@ const stepEventsToStepEntity = (events) => {
1194
1209
  startedAt,
1195
1210
  completedAt,
1196
1211
  specVersion: anchorEvent.specVersion
1197
- };
1212
+ }, occurrenceEvent.occurredAt);
1198
1213
  };
1199
1214
  function stepToSpan(stepEvents, maxEndTime) {
1200
1215
  const step = stepEventsToStepEntity(stepEvents);
@@ -1243,7 +1258,7 @@ const hookEventsToHookEntity = (events) => {
1243
1258
  const receivedEvents = events.filter((event) => event.eventType === "hook_received");
1244
1259
  const disposedEvents = events.filter((event) => event.eventType === "hook_disposed");
1245
1260
  const lastReceivedEvent = receivedEvents.at(-1);
1246
- return {
1261
+ return withOccurredAt({
1247
1262
  hookId: createdEvent.correlationId,
1248
1263
  runId: createdEvent.runId,
1249
1264
  token: (_a = createdEvent.eventData) == null ? void 0 : _a.token,
@@ -1251,7 +1266,7 @@ const hookEventsToHookEntity = (events) => {
1251
1266
  receivedCount: receivedEvents.length,
1252
1267
  lastReceivedAt: (lastReceivedEvent == null ? void 0 : lastReceivedEvent.createdAt) || void 0,
1253
1268
  disposedAt: ((_b = disposedEvents.at(-1)) == null ? void 0 : _b.createdAt) || void 0
1254
- };
1269
+ }, createdEvent.occurredAt);
1255
1270
  };
1256
1271
  function hookToSpan(hookEvents, maxEndTime) {
1257
1272
  const hook = hookEventsToHookEntity(hookEvents);
@@ -1284,9 +1299,13 @@ function runToSpan(run, runEvents, nowTime) {
1284
1299
  var _a;
1285
1300
  const now = nowTime ?? /* @__PURE__ */ new Date();
1286
1301
  const { input: _i, output: _o, error: _e, ...runIdentity } = run;
1302
+ const occurrenceEvent = findEventByType(runEvents, [
1303
+ "run_created",
1304
+ "run_started"
1305
+ ]);
1287
1306
  const attributes = {
1288
1307
  resource: "run",
1289
- data: runIdentity
1308
+ data: withOccurredAt(runIdentity, occurrenceEvent == null ? void 0 : occurrenceEvent.occurredAt)
1290
1309
  };
1291
1310
  const spanStartTime = new Date(run.createdAt);
1292
1311
  const activeStartTime = run.startedAt ? new Date(run.startedAt) : void 0;
@@ -9176,7 +9176,7 @@ const app = express();
9176
9176
  app.all(
9177
9177
  "/{*splat}",
9178
9178
  createRequestHandler({
9179
- build: () => import("./server-build-DAfWosK8.js").then((n) => n.a5)
9179
+ build: () => import("./server-build-CpnmV4F1.js").then((n) => n.a5)
9180
9180
  })
9181
9181
  );
9182
9182
  app.use(
@@ -1,5 +1,5 @@
1
- import { _ as R, $ as Ks, a0 as jsxRuntimeExports, a1 as Qe } from "./server-build-DAfWosK8.js";
2
- import { r as reactExports } from "./app-BgELNM37.js";
1
+ import { _ as R, $ as Ks, a0 as jsxRuntimeExports, a1 as Qe } from "./server-build-CpnmV4F1.js";
2
+ import { r as reactExports } from "./app-1p4IhK-Q.js";
3
3
  import "node:stream";
4
4
  import "util";
5
5
  import "crypto";
@@ -1,6 +1,6 @@
1
- import { H as HookSchema } from "./server-build-DAfWosK8.js";
2
- import { A, a, b, c, d, e, B, D, f, E, g, h, i, L, M, P, Q, j, R, k, S, l, m, n, o, p, q, r, s, t, V, W, u, v, w, x, y, z, C, F, G, I, J, K, O, T, U, X, Y, Z } from "./server-build-DAfWosK8.js";
3
- import "./app-BgELNM37.js";
1
+ import { H as HookSchema } from "./server-build-CpnmV4F1.js";
2
+ import { A, a, b, c, d, e, B, D, f, E, g, h, i, L, M, P, Q, j, R, k, S, l, m, n, o, p, q, r, s, t, V, W, u, v, w, x, y, z, C, F, G, I, J, K, O, T, U, X, Y, Z } from "./server-build-CpnmV4F1.js";
3
+ import "./app-1p4IhK-Q.js";
4
4
  import "stream";
5
5
  import "express";
6
6
  import "node:stream";
@@ -1,5 +1,5 @@
1
- import { N as Nt } from "./server-build-DAfWosK8.js";
2
- import "./app-BgELNM37.js";
1
+ import { N as Nt } from "./server-build-CpnmV4F1.js";
2
+ import "./app-1p4IhK-Q.js";
3
3
  import "stream";
4
4
  import "express";
5
5
  import "node:stream";
@@ -14,7 +14,7 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
14
14
  var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
15
15
  var __superGet = (cls, obj, key) => __reflectGet(__getProtoOf(cls), key, obj);
16
16
  var _a2, _b, _c, _d, _listeners, _onabort, _reader, _root, _hasMagic, _uflag, _parts, _parent, _parentIndex, _negs, _filledNegs, _options, _toString, _emptyExt, _AST_instances, fillNegs_fn, _AST_static, parseAST_fn, canAdoptWithSpace_fn, canAdopt_fn, canAdoptType_fn, adoptWithSpace_fn, adopt_fn, canUsurpType_fn, canUsurp_fn, usurp_fn, flatten_fn, partsToRegExp_fn, parseGlob_fn, _Minimatch_instances, matchGlobstar_fn, matchGlobStarBodySections_fn, matchOne_fn, _worldPromise, _Run_instances, lazyWorldPromise_get, _encryptionKeyPromise, _resilientStart, getEncryptionKey_fn, getEncryptionKeyLazily_fn, pollReturnValue_fn;
17
- import { a as requireReact, S as ServerRouter, c as createReadableStreamFromReadable, r as reactExports, g as getDefaultExportFromCjs, R as React, b as ReactExports, w as withComponentProps, d as withErrorBoundaryProps, M as Meta, L as Links, e as ScrollRestoration, f as Scripts, O as Outlet, u as useNavigate, h as useSearchParams, i as Link$1, j as useRouteError, k as isRouteErrorResponse, l as useLocation, m as useParams } from "./app-BgELNM37.js";
17
+ import { a as requireReact, S as ServerRouter, c as createReadableStreamFromReadable, r as reactExports, g as getDefaultExportFromCjs, R as React, b as ReactExports, w as withComponentProps, d as withErrorBoundaryProps, M as Meta, L as Links, e as ScrollRestoration, f as Scripts, O as Outlet, u as useNavigate, h as useSearchParams, i as Link$1, j as useRouteError, k as isRouteErrorResponse, l as useLocation, m as useParams } from "./app-1p4IhK-Q.js";
18
18
  import require$$0$4, { PassThrough } from "node:stream";
19
19
  import require$$0 from "util";
20
20
  import require$$1 from "crypto";
@@ -49884,7 +49884,7 @@ function replaceEncryptedAndExpiredWithMarkers(resource) {
49884
49884
  async function hydrateResourceIOWithKey(resource, key) {
49885
49885
  const { hydrateDataWithKey: hydrateDataWithKey2 } = await Promise.resolve().then(() => serializationFormat);
49886
49886
  const { importKey: importKey2 } = await Promise.resolve().then(() => encryption);
49887
- const { ensureZstdDecoderRegistered } = await import("./zstd-browser-decoder-eXH_mKQG.js");
49887
+ const { ensureZstdDecoderRegistered } = await import("./zstd-browser-decoder-embi2ab_.js");
49888
49888
  ensureZstdDecoderRegistered();
49889
49889
  const cryptoKey = await importKey2(key);
49890
49890
  const revivers = getRevivers();
@@ -53783,6 +53783,20 @@ const MARKER_EVENT_TYPES = /* @__PURE__ */ new Set([
53783
53783
  "wait_completed",
53784
53784
  "attr_set"
53785
53785
  ]);
53786
+ const findEventByType = (events2, eventTypes) => {
53787
+ for (const eventType of eventTypes) {
53788
+ const event = events2.find((e) => e.eventType === eventType);
53789
+ if (event)
53790
+ return event;
53791
+ }
53792
+ return void 0;
53793
+ };
53794
+ const withOccurredAt = (entity, occurredAt) => {
53795
+ if (!occurredAt || entity.occurredAt != null) {
53796
+ return entity;
53797
+ }
53798
+ return { ...entity, occurredAt };
53799
+ };
53786
53800
  function convertEventsToSpanEvents(events2, filterTypes = true) {
53787
53801
  return events2.filter((event) => filterTypes ? MARKER_EVENT_TYPES.has(event.eventType) : true).map((event) => ({
53788
53802
  name: event.eventType,
@@ -53803,13 +53817,13 @@ const waitEventsToWaitEntity = (events2) => {
53803
53817
  return null;
53804
53818
  }
53805
53819
  const completedEvent = events2.find((event) => event.eventType === "wait_completed");
53806
- return {
53820
+ return withOccurredAt({
53807
53821
  waitId: startEvent.correlationId,
53808
53822
  runId: startEvent.runId,
53809
53823
  createdAt: startEvent.createdAt,
53810
53824
  resumeAt: ((_a3 = startEvent.eventData) == null ? void 0 : _a3.resumeAt) ? new Date(startEvent.eventData.resumeAt) : void 0,
53811
53825
  completedAt: completedEvent == null ? void 0 : completedEvent.createdAt
53812
- };
53826
+ }, startEvent.occurredAt);
53813
53827
  };
53814
53828
  function waitToSpan(events2, maxEndTime, fallbackEndTime = maxEndTime) {
53815
53829
  const wait = waitEventsToWaitEntity(events2);
@@ -53885,7 +53899,8 @@ const stepEventsToStepEntity = (events2) => {
53885
53899
  if (attempt === 0)
53886
53900
  attempt = 1;
53887
53901
  const lastEvent = events2[events2.length - 1];
53888
- return {
53902
+ const occurrenceEvent = findEventByType(events2, ["step_created", "step_started"]) ?? anchorEvent;
53903
+ return withOccurredAt({
53889
53904
  stepId: anchorEvent.correlationId ?? "",
53890
53905
  runId: anchorEvent.runId,
53891
53906
  stepName: ((_a3 = createdEvent == null ? void 0 : createdEvent.eventData) == null ? void 0 : _a3.stepName) ?? "",
@@ -53896,7 +53911,7 @@ const stepEventsToStepEntity = (events2) => {
53896
53911
  startedAt,
53897
53912
  completedAt,
53898
53913
  specVersion: anchorEvent.specVersion
53899
- };
53914
+ }, occurrenceEvent.occurredAt);
53900
53915
  };
53901
53916
  function stepToSpan(stepEvents, maxEndTime) {
53902
53917
  const step = stepEventsToStepEntity(stepEvents);
@@ -53945,7 +53960,7 @@ const hookEventsToHookEntity = (events2) => {
53945
53960
  const receivedEvents = events2.filter((event) => event.eventType === "hook_received");
53946
53961
  const disposedEvents = events2.filter((event) => event.eventType === "hook_disposed");
53947
53962
  const lastReceivedEvent = receivedEvents.at(-1);
53948
- return {
53963
+ return withOccurredAt({
53949
53964
  hookId: createdEvent.correlationId,
53950
53965
  runId: createdEvent.runId,
53951
53966
  token: (_a3 = createdEvent.eventData) == null ? void 0 : _a3.token,
@@ -53953,7 +53968,7 @@ const hookEventsToHookEntity = (events2) => {
53953
53968
  receivedCount: receivedEvents.length,
53954
53969
  lastReceivedAt: (lastReceivedEvent == null ? void 0 : lastReceivedEvent.createdAt) || void 0,
53955
53970
  disposedAt: ((_b2 = disposedEvents.at(-1)) == null ? void 0 : _b2.createdAt) || void 0
53956
- };
53971
+ }, createdEvent.occurredAt);
53957
53972
  };
53958
53973
  function hookToSpan(hookEvents, maxEndTime) {
53959
53974
  const hook = hookEventsToHookEntity(hookEvents);
@@ -53986,9 +54001,13 @@ function runToSpan(run2, runEvents, nowTime) {
53986
54001
  var _a3;
53987
54002
  const now2 = nowTime ?? /* @__PURE__ */ new Date();
53988
54003
  const { input: _i, output: _o2, error: _e2, ...runIdentity } = run2;
54004
+ const occurrenceEvent = findEventByType(runEvents, [
54005
+ "run_created",
54006
+ "run_started"
54007
+ ]);
53989
54008
  const attributes = {
53990
54009
  resource: "run",
53991
- data: runIdentity
54010
+ data: withOccurredAt(runIdentity, occurrenceEvent == null ? void 0 : occurrenceEvent.occurredAt)
53992
54011
  };
53993
54012
  const spanStartTime = new Date(run2.createdAt);
53994
54013
  const activeStartTime = run2.startedAt ? new Date(run2.startedAt) : void 0;
@@ -82626,7 +82645,7 @@ var tn = f("block", "before:content-[counter(line)]", "before:inline-block", "be
82626
82645
  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 });
82627
82646
  var Se = reactExports.createContext({ code: "" }), de = () => reactExports.useContext(Se);
82628
82647
  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 }) });
82629
- var cn$1 = /\n+$/, dn = reactExports.lazy(() => import("./highlighted-body-B3W2YXNL-CP60Gm_l.js").then((e) => ({ default: e.HighlightedCodeBlockBody }))), rt = ({ code: e, language: t, className: o, children: n, isIncomplete: s2 = false, ...r2 }) => {
82648
+ var cn$1 = /\n+$/, dn = reactExports.lazy(() => import("./highlighted-body-B3W2YXNL-BlH6gm7c.js").then((e) => ({ default: e.HighlightedCodeBlockBody }))), rt = ({ code: e, language: t, className: o, children: n, isIncomplete: s2 = false, ...r2 }) => {
82630
82649
  let i = reactExports.useMemo(() => e.replace(cn$1, ""), [e]), c = reactExports.useMemo(() => ({ bg: "transparent", fg: "inherit", tokens: i.split(`
82631
82650
  `).map((a2) => [{ content: a2, color: "inherit", bgColor: "transparent", htmlStyle: {}, offset: 0 }]) }), [i]);
82632
82651
  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 }) })] }) });
@@ -82948,7 +82967,7 @@ var Dt = ({ children: e, className: t, onDownload: o, onError: n }) => {
82948
82967
  }, []), 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] });
82949
82968
  };
82950
82969
  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 }) })] });
82951
- var Jn = reactExports.lazy(() => import("./mermaid-3ZIDBTTL-PK-HMOJq.js").then((e) => ({ default: e.Mermaid }))), Kn = /language-([^\s]+)/;
82970
+ var Jn = reactExports.lazy(() => import("./mermaid-3ZIDBTTL-4IS2FONM.js").then((e) => ({ default: e.Mermaid }))), Kn = /language-([^\s]+)/;
82952
82971
  function ke(e, t) {
82953
82972
  if (!(e != null && e.position || t != null && t.position)) return true;
82954
82973
  if (!(e != null && e.position && (t != null && t.position))) return false;
@@ -90870,10 +90889,11 @@ function matchesDebugNamespace(namespace2, patternList) {
90870
90889
  }
90871
90890
  return enabled;
90872
90891
  }
90873
- function createLogger(namespace2) {
90892
+ function createLogger(namespace2, options = {}) {
90874
90893
  const build = (parentMetadata) => {
90894
+ const getDebugNamespace = (level) => options.debugNamespace ?? `workflow:${namespace2}:${level}`;
90875
90895
  const logger = (level) => {
90876
- const debugNamespace = `workflow:${namespace2}:${level}`;
90896
+ const debugNamespace = getDebugNamespace(level);
90877
90897
  return (message2, metadata) => {
90878
90898
  const hasParent = Object.keys(parentMetadata).length > 0;
90879
90899
  const hasCallSite = metadata && Object.keys(metadata).length > 0;
@@ -90908,7 +90928,14 @@ function createLogger(namespace2) {
90908
90928
  };
90909
90929
  return build({});
90910
90930
  }
90931
+ createLogger("step");
90911
90932
  const runtimeLogger = createLogger("runtime");
90933
+ createLogger("webhook");
90934
+ createLogger("events");
90935
+ createLogger("adapter");
90936
+ createLogger("build", {
90937
+ debugNamespace: "workflow:build"
90938
+ });
90912
90939
  const NONCE_LENGTH = 12;
90913
90940
  const TAG_LENGTH = 128;
90914
90941
  const KEY_LENGTH = 32;
@@ -90979,7 +91006,7 @@ const encryption = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.definePr
90979
91006
  encrypt: encrypt$1,
90980
91007
  importKey
90981
91008
  }, Symbol.toStringTag, { value: "Module" }));
90982
- const version$1 = "5.0.0-beta.23";
91009
+ const version$1 = "5.0.0-beta.24";
90983
91010
  const WorldCacheKey = Symbol.for("@workflow/world//cache");
90984
91011
  const WorldCachePromiseKey = Symbol.for("@workflow/world//cachePromise");
90985
91012
  const GetWorldFnKey$1 = Symbol.for("@workflow/world//getWorldFn");
@@ -121920,7 +121947,7 @@ function createLocalWorld(args) {
121920
121947
  const basedir = mergedConfig.dataDir;
121921
121948
  const hooksDir = path$3.join(basedir, "hooks");
121922
121949
  const taggedHookFiles = await listTaggedFiles(hooksDir, tag);
121923
- const { HookSchema: HookSchema2 } = await import("./index-D7poz6vJ.js");
121950
+ const { HookSchema: HookSchema2 } = await import("./index-BOfd00Ok.js");
121924
121951
  await Promise.all(taggedHookFiles.map(async (hookFile) => {
121925
121952
  const hook = await readJSON(path$3.join(hooksDir, hookFile), HookSchema2);
121926
121953
  if (hook == null ? void 0 : hook.token) {
@@ -122073,8 +122100,8 @@ function requireGetVercelOidcToken() {
122073
122100
  }
122074
122101
  try {
122075
122102
  const [{ getTokenPayload, isExpired }, { refreshToken }] = await Promise.all([
122076
- await import("./token-util-M95T0pVo.js").then((n) => n.t),
122077
- await import("./token-BCYgRbLT.js").then((n) => n.t)
122103
+ await import("./token-util-MV-dKCwg.js").then((n) => n.t),
122104
+ await import("./token-fPsafoXW.js").then((n) => n.t)
122078
122105
  ]);
122079
122106
  if (!token || isExpired(getTokenPayload(token), options == null ? void 0 : options.expirationBufferMs)) {
122080
122107
  await refreshToken(options);
@@ -154134,7 +154161,7 @@ const route4 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProper
154134
154161
  __proto__: null,
154135
154162
  loader
154136
154163
  }, Symbol.toStringTag, { value: "Module" }));
154137
- const serverManifest = { "entry": { "module": "/assets/entry.client-DOJDY_4b.js", "imports": ["/assets/index-BXZSIDEp.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-BlFmfRST.js", "imports": ["/assets/index-BXZSIDEp.js", "/assets/mermaid-3ZIDBTTL-C_xy8SxZ.js"], "css": ["/assets/root-61NXpLSs.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-Dz43xne_.js", "imports": ["/assets/index-BXZSIDEp.js", "/assets/workflow-graph-viewer-BlDVZ5AU.js", "/assets/mermaid-3ZIDBTTL-C_xy8SxZ.js", "/assets/index-B6-SzLmT.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-C34zz02I.js", "imports": ["/assets/index-BXZSIDEp.js", "/assets/workflow-graph-viewer-BlDVZ5AU.js", "/assets/mermaid-3ZIDBTTL-C_xy8SxZ.js", "/assets/encryption-g14N5vQl.js", "/assets/index-B6-SzLmT.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-608c3c54.js", "version": "608c3c54", "sri": void 0 };
154164
+ const serverManifest = { "entry": { "module": "/assets/entry.client-DOJDY_4b.js", "imports": ["/assets/index-BXZSIDEp.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-BlFmfRST.js", "imports": ["/assets/index-BXZSIDEp.js", "/assets/mermaid-3ZIDBTTL-C_xy8SxZ.js"], "css": ["/assets/root-61NXpLSs.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-Dz43xne_.js", "imports": ["/assets/index-BXZSIDEp.js", "/assets/workflow-graph-viewer-BlDVZ5AU.js", "/assets/mermaid-3ZIDBTTL-C_xy8SxZ.js", "/assets/index-B6-SzLmT.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-BzGs1YV_.js", "imports": ["/assets/index-BXZSIDEp.js", "/assets/workflow-graph-viewer-BlDVZ5AU.js", "/assets/mermaid-3ZIDBTTL-C_xy8SxZ.js", "/assets/encryption-g14N5vQl.js", "/assets/index-B6-SzLmT.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-e1cf8511.js", "version": "e1cf8511", "sri": void 0 };
154138
154165
  const assetsBuildDirectory = "build/client";
154139
154166
  const basename = "/";
154140
154167
  const future = { "unstable_optimizeDeps": false, "unstable_subResourceIntegrity": false, "unstable_trailingSlashAwareDataRequests": false, "unstable_previewServerPrerendering": false, "v8_middleware": false, "v8_splitRouteModules": false, "v8_viteEnvironmentApi": false };
@@ -1,5 +1,5 @@
1
- import { g as getDefaultExportFromCjs } from "./app-BgELNM37.js";
2
- import { a4 as requireTokenError, a3 as requireTokenUtil } from "./server-build-DAfWosK8.js";
1
+ import { g as getDefaultExportFromCjs } from "./app-1p4IhK-Q.js";
2
+ import { a4 as requireTokenError, a3 as requireTokenUtil } from "./server-build-CpnmV4F1.js";
3
3
  function _mergeNamespaces(n, m) {
4
4
  for (var i = 0; i < m.length; i++) {
5
5
  const e = m[i];
@@ -1,5 +1,5 @@
1
- import { g as getDefaultExportFromCjs } from "./app-BgELNM37.js";
2
- import { a3 as requireTokenUtil } from "./server-build-DAfWosK8.js";
1
+ import { g as getDefaultExportFromCjs } from "./app-1p4IhK-Q.js";
2
+ import { a3 as requireTokenUtil } from "./server-build-CpnmV4F1.js";
3
3
  function _mergeNamespaces(n, m) {
4
4
  for (var i = 0; i < m.length; i++) {
5
5
  const e = m[i];
@@ -1,5 +1,5 @@
1
- import { a2 as registerZstdDecoder } from "./server-build-DAfWosK8.js";
2
- import "./app-BgELNM37.js";
1
+ import { a2 as registerZstdDecoder } from "./server-build-CpnmV4F1.js";
2
+ import "./app-1p4IhK-Q.js";
3
3
  import "stream";
4
4
  import "express";
5
5
  import "node:stream";
@@ -1,4 +1,4 @@
1
- import { n } from "./assets/app-BgELNM37.js";
1
+ import { n } from "./assets/app-1p4IhK-Q.js";
2
2
  import "express";
3
3
  import "stream";
4
4
  export {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@workflow/web",
3
3
  "description": "Workflow Observability UI",
4
- "version": "5.0.0-beta.23",
4
+ "version": "5.0.0-beta.24",
5
5
  "type": "module",
6
6
  "private": false,
7
7
  "files": [
@@ -72,10 +72,10 @@
72
72
  "typescript": "^5.9.3",
73
73
  "vite": "^6",
74
74
  "vitest": "^3",
75
- "@workflow/core": "5.0.0-beta.23",
75
+ "@workflow/core": "5.0.0-beta.24",
76
76
  "@workflow/errors": "5.0.0-beta.8",
77
77
  "@workflow/utils": "5.0.0-beta.4",
78
- "@workflow/web-shared": "5.0.0-beta.23",
78
+ "@workflow/web-shared": "5.0.0-beta.24",
79
79
  "@workflow/world": "5.0.0-beta.13",
80
80
  "@workflow/world-vercel": "5.0.0-beta.20"
81
81
  },