@workflow/web 4.1.4 → 4.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -9176,7 +9176,7 @@ const app = express();
9176
9176
  app.all(
9177
9177
  "*",
9178
9178
  createRequestHandler({
9179
- build: () => import("./server-build-UvQ8ujzE.js").then((n) => n.G)
9179
+ build: () => import("./server-build-Mddyhj54.js").then((n) => n.G)
9180
9180
  })
9181
9181
  );
9182
9182
  app.use(
@@ -1,5 +1,5 @@
1
- import { y as R, K as Ks, z as jsxRuntimeExports, A as Qe } from "./server-build-UvQ8ujzE.js";
2
- import { r as reactExports } from "./app-uVjXCfex.js";
1
+ import { y as R, K as Ks, z as jsxRuntimeExports, A as Qe } from "./server-build-Mddyhj54.js";
2
+ import { r as reactExports } from "./app-fdUHF124.js";
3
3
  import "node:stream";
4
4
  import "util";
5
5
  import "crypto";
@@ -1,5 +1,5 @@
1
- import { B, D, t, E, a, b, c, H, L, M, P, Q, d, R, l, m, n, o, h, S, p, q, i, V, w, x, W, e, f, g, j, r, k, s, u, v } from "./server-build-UvQ8ujzE.js";
2
- import "./app-uVjXCfex.js";
1
+ import { B, D, t, E, a, b, c, H, L, M, P, Q, d, R, l, m, n, o, h, S, p, q, i, V, w, x, W, e, f, g, j, r, k, s, u, v } from "./server-build-Mddyhj54.js";
2
+ import "./app-fdUHF124.js";
3
3
  import "stream";
4
4
  import "express";
5
5
  import "node:stream";
@@ -1,5 +1,5 @@
1
- import { N } from "./server-build-UvQ8ujzE.js";
2
- import "./app-uVjXCfex.js";
1
+ import { N } from "./server-build-Mddyhj54.js";
2
+ import "./app-fdUHF124.js";
3
3
  import "stream";
4
4
  import "express";
5
5
  import "node:stream";
@@ -14,7 +14,7 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
14
14
  var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
15
15
  var __superGet = (cls, obj, key) => __reflectGet(__getProtoOf(cls), key, obj);
16
16
  var _a2, _root, _hasMagic, _uflag, _parts, _parent, _parentIndex, _negs, _filledNegs, _options, _toString, _emptyExt, _AST_instances, fillNegs_fn, _AST_static, parseAST_fn, canAdoptWithSpace_fn, canAdopt_fn, canAdoptType_fn, adoptWithSpace_fn, adopt_fn, canUsurpType_fn, canUsurp_fn, usurp_fn, flatten_fn, partsToRegExp_fn, parseGlob_fn, _Minimatch_instances, matchGlobstar_fn, matchGlobStarBodySections_fn, matchOne_fn, _reader;
17
- import { a as requireReact, S as ServerRouter, c as createReadableStreamFromReadable, r as reactExports, g as getDefaultExportFromCjs, R as React, b as ReactExports, w as withComponentProps, d as withErrorBoundaryProps, M as Meta, L as Links, e as ScrollRestoration, f as Scripts, O as Outlet, u as useNavigate, h as useSearchParams, i as Link$1, j as useRouteError, k as isRouteErrorResponse, l as useLocation, m as useParams } from "./app-uVjXCfex.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-fdUHF124.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";
@@ -79284,7 +79284,7 @@ var tn = f("block", "before:content-[counter(line)]", "before:inline-block", "be
79284
79284
  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 });
79285
79285
  var Se = reactExports.createContext({ code: "" }), de = () => reactExports.useContext(Se);
79286
79286
  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 }) });
79287
- var cn$1 = /\n+$/, dn = reactExports.lazy(() => import("./highlighted-body-B3W2YXNL-xeW8Ougq.js").then((e) => ({ default: e.HighlightedCodeBlockBody }))), rt = ({ code: e, language: t, className: o, children: n, isIncomplete: s2 = false, ...r2 }) => {
79287
+ var cn$1 = /\n+$/, dn = reactExports.lazy(() => import("./highlighted-body-B3W2YXNL-2WxWqSYU.js").then((e) => ({ default: e.HighlightedCodeBlockBody }))), rt = ({ code: e, language: t, className: o, children: n, isIncomplete: s2 = false, ...r2 }) => {
79288
79288
  let i = reactExports.useMemo(() => e.replace(cn$1, ""), [e]), c = reactExports.useMemo(() => ({ bg: "transparent", fg: "inherit", tokens: i.split(`
79289
79289
  `).map((a2) => [{ content: a2, color: "inherit", bgColor: "transparent", htmlStyle: {}, offset: 0 }]) }), [i]);
79290
79290
  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 }) })] }) });
@@ -79606,7 +79606,7 @@ var Dt = ({ children: e, className: t, onDownload: o, onError: n }) => {
79606
79606
  }, []), 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] });
79607
79607
  };
79608
79608
  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 }) })] });
79609
- var Jn = reactExports.lazy(() => import("./mermaid-3ZIDBTTL-D0skAYUf.js").then((e) => ({ default: e.Mermaid }))), Kn = /language-([^\s]+)/;
79609
+ var Jn = reactExports.lazy(() => import("./mermaid-3ZIDBTTL-FF5ZIJp-.js").then((e) => ({ default: e.Mermaid }))), Kn = /language-([^\s]+)/;
79610
79610
  function ke(e, t) {
79611
79611
  if (!(e != null && e.position || t != null && t.position)) return true;
79612
79612
  if (!(e != null && e.position && (t != null && t.position))) return false;
@@ -89396,7 +89396,7 @@ createLogger("webhook");
89396
89396
  createLogger("events");
89397
89397
  createLogger("adapter");
89398
89398
  const MAX_QUEUE_DELIVERIES = 48;
89399
- const version$1 = "4.2.3";
89399
+ const version$1 = "4.2.4";
89400
89400
  const execFileAsync = promisify(execFile);
89401
89401
  function parsePort$1(value, radix = 10) {
89402
89402
  const port = parseInt(value, radix);
@@ -115787,7 +115787,7 @@ function createLocalWorld(args) {
115787
115787
  const basedir = mergedConfig.dataDir;
115788
115788
  const hooksDir = path$3.join(basedir, "hooks");
115789
115789
  const taggedHookFiles = await listTaggedFiles(hooksDir, tag);
115790
- const { HookSchema: HookSchema2 } = await import("./index-M5dQEk3h.js");
115790
+ const { HookSchema: HookSchema2 } = await import("./index-C64kz8oy.js");
115791
115791
  await Promise.all(taggedHookFiles.map(async (hookFile) => {
115792
115792
  const hook = await readJSON(path$3.join(hooksDir, hookFile), HookSchema2);
115793
115793
  if (hook == null ? void 0 : hook.token) {
@@ -115939,8 +115939,8 @@ function requireGetVercelOidcToken() {
115939
115939
  }
115940
115940
  try {
115941
115941
  const [{ getTokenPayload, isExpired }, { refreshToken }] = await Promise.all([
115942
- await import("./token-util-CgVc7I_I.js").then((n) => n.t),
115943
- await import("./token-D-y4Stq2.js").then((n) => n.t)
115942
+ await import("./token-util-BAhz4ocz.js").then((n) => n.t),
115943
+ await import("./token-D_Q6dhhy.js").then((n) => n.t)
115944
115944
  ]);
115945
115945
  if (!token || isExpired(getTokenPayload(token), options == null ? void 0 : options.expirationBufferMs)) {
115946
115946
  await refreshToken(options);
@@ -121105,7 +121105,7 @@ var QueueClient = class {
121105
121105
  setApi(this, new ApiClient({ ...options, region }));
121106
121106
  }
121107
121107
  };
121108
- const version = "4.1.1";
121108
+ const version = "4.1.2";
121109
121109
  const HTTP_DEBUG_ENABLED = typeof process !== "undefined" && typeof process.env.DEBUG === "string" && (process.env.DEBUG.includes("workflow:") || process.env.DEBUG === "*");
121110
121110
  function httpLog(method, endpoint, status, ms2) {
121111
121111
  if (HTTP_DEBUG_ENABLED) {
@@ -122250,27 +122250,6 @@ function createStorage(config2) {
122250
122250
  };
122251
122251
  }
122252
122252
  const MAX_CHUNKS_PER_REQUEST = 1e3;
122253
- const STREAM_CONTROL_FRAME_SIZE = 13;
122254
- const STREAM_CONTROL_MAGIC = new Uint8Array([87, 70, 67, 84]);
122255
- function parseStreamControlFrame(buffer) {
122256
- if (buffer.length < STREAM_CONTROL_FRAME_SIZE)
122257
- return null;
122258
- const offset2 = buffer.length - STREAM_CONTROL_FRAME_SIZE;
122259
- if (buffer[offset2] !== 0 || buffer[offset2 + 1] !== 0 || buffer[offset2 + 2] !== 0 || buffer[offset2 + 3] !== 0) {
122260
- return null;
122261
- }
122262
- if (buffer[offset2 + 9] !== STREAM_CONTROL_MAGIC[0] || buffer[offset2 + 10] !== STREAM_CONTROL_MAGIC[1] || buffer[offset2 + 11] !== STREAM_CONTROL_MAGIC[2] || buffer[offset2 + 12] !== STREAM_CONTROL_MAGIC[3]) {
122263
- return null;
122264
- }
122265
- const flags = buffer[offset2 + 4];
122266
- const view = new DataView(buffer.buffer, buffer.byteOffset + offset2 + 5, 4);
122267
- const nextIndex = view.getUint32(0, false);
122268
- return {
122269
- done: (flags & 1) === 1,
122270
- nextIndex,
122271
- totalLength: STREAM_CONTROL_FRAME_SIZE
122272
- };
122273
- }
122274
122253
  function getStreamUrl(name2, runId, httpConfig) {
122275
122254
  if (runId) {
122276
122255
  return new URL(`${httpConfig.baseUrl}/v2/runs/${encodeURIComponent(runId)}/stream/${encodeURIComponent(name2)}`);
@@ -122359,64 +122338,21 @@ function createStreamer(config2) {
122359
122338
  }
122360
122339
  },
122361
122340
  async readFromStream(name2, startIndex) {
122362
- let currentStartIndex = startIndex ?? 0;
122363
- const MAX_RECONNECTS = 50;
122364
- let reconnectCount = 0;
122365
- const connect2 = async () => {
122366
- const httpConfig = await getHttpConfig(config2);
122367
- const url2 = new URL(`${httpConfig.baseUrl}/v3/stream/${encodeURIComponent(name2)}`);
122368
- url2.searchParams.set("startIndex", String(currentStartIndex));
122369
- const response2 = await fetch(url2, {
122370
- headers: httpConfig.headers
122371
- });
122372
- if (!response2.ok) {
122373
- throw new Error(`Failed to fetch stream: ${response2.status}`);
122374
- }
122375
- if (!response2.body) {
122376
- throw new Error("No response body for stream");
122377
- }
122378
- return response2;
122379
- };
122380
- const readFull = async () => {
122381
- const response2 = await connect2();
122382
- const buffer = new Uint8Array(await response2.arrayBuffer());
122383
- const control = parseStreamControlFrame(buffer);
122384
- if (control) {
122385
- const dataLen = buffer.length - control.totalLength;
122386
- return {
122387
- data: dataLen > 0 ? buffer.subarray(0, dataLen) : new Uint8Array(0),
122388
- control
122389
- };
122390
- }
122391
- return { data: buffer, control: null };
122392
- };
122393
- const parts = [];
122394
- for (; ; ) {
122395
- const { data, control } = await readFull();
122396
- if (data.length > 0) {
122397
- parts.push(data);
122398
- }
122399
- if (!control || control.done) {
122400
- break;
122401
- }
122402
- reconnectCount++;
122403
- if (reconnectCount > MAX_RECONNECTS) {
122404
- throw new Error(`Stream exceeded maximum reconnection attempts (${MAX_RECONNECTS})`);
122405
- }
122406
- currentStartIndex = control.nextIndex;
122341
+ const httpConfig = await getHttpConfig(config2);
122342
+ const url2 = getStreamUrl(name2, void 0, httpConfig);
122343
+ if (typeof startIndex === "number") {
122344
+ url2.searchParams.set("startIndex", String(startIndex));
122407
122345
  }
122408
- let emitted = false;
122409
- return new ReadableStream({
122410
- pull(controller) {
122411
- if (!emitted) {
122412
- emitted = true;
122413
- for (const part of parts) {
122414
- controller.enqueue(part);
122415
- }
122416
- }
122417
- controller.close();
122418
- }
122346
+ const response2 = await fetch(url2, {
122347
+ headers: httpConfig.headers
122419
122348
  });
122349
+ if (!response2.ok) {
122350
+ throw new Error(`Failed to fetch stream: ${response2.status}`);
122351
+ }
122352
+ if (!response2.body) {
122353
+ throw new Error("No response body for stream");
122354
+ }
122355
+ return response2.body;
122420
122356
  },
122421
122357
  async getStreamChunks(name2, runId, options) {
122422
122358
  const params = new URLSearchParams();
@@ -1,5 +1,5 @@
1
- import { g as getDefaultExportFromCjs } from "./app-uVjXCfex.js";
2
- import { F as requireTokenError, C as requireTokenUtil } from "./server-build-UvQ8ujzE.js";
1
+ import { g as getDefaultExportFromCjs } from "./app-fdUHF124.js";
2
+ import { F as requireTokenError, C as requireTokenUtil } from "./server-build-Mddyhj54.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-uVjXCfex.js";
2
- import { C as requireTokenUtil } from "./server-build-UvQ8ujzE.js";
1
+ import { g as getDefaultExportFromCjs } from "./app-fdUHF124.js";
2
+ import { C as requireTokenUtil } from "./server-build-Mddyhj54.js";
3
3
  function _mergeNamespaces(n, m) {
4
4
  for (var i = 0; i < m.length; i++) {
5
5
  const e = m[i];
@@ -1,4 +1,4 @@
1
- import { n } from "./assets/app-uVjXCfex.js";
1
+ import { n } from "./assets/app-fdUHF124.js";
2
2
  import "express";
3
3
  import "stream";
4
4
  export {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@workflow/web",
3
3
  "description": "Workflow Observability UI",
4
- "version": "4.1.4",
4
+ "version": "4.1.5",
5
5
  "type": "module",
6
6
  "private": false,
7
7
  "files": [
@@ -71,12 +71,12 @@
71
71
  "vite": "^6",
72
72
  "vitest": "^3",
73
73
  "jsdom": "^26",
74
+ "@workflow/core": "4.2.4",
74
75
  "@workflow/errors": "4.1.1",
75
- "@workflow/core": "4.2.3",
76
76
  "@workflow/utils": "4.1.1",
77
+ "@workflow/web-shared": "4.1.5",
77
78
  "@workflow/world": "4.1.1",
78
- "@workflow/web-shared": "4.1.4",
79
- "@workflow/world-vercel": "4.1.1"
79
+ "@workflow/world-vercel": "4.1.2"
80
80
  },
81
81
  "scripts": {
82
82
  "dev": "react-router dev",