@workflow/web 4.1.7 → 4.1.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/client/assets/{encryption-80GMP4r0.js → encryption-5eom23r0.js} +11 -5
- package/build/client/assets/{highlighted-body-B3W2YXNL-D1wKXrjI.js → highlighted-body-B3W2YXNL-9Gx_xbQ8.js} +1 -1
- package/build/client/assets/{home-B9GhesEF.js → home-D6JmZfUp.js} +2 -2
- package/build/client/assets/{manifest-830d5c7d.js → manifest-3243993f.js} +1 -1
- package/build/client/assets/{mermaid-3ZIDBTTL-Cr7OQX4b.js → mermaid-3ZIDBTTL-CjHrXABH.js} +9 -4
- package/build/client/assets/{root-BzOKTpCh.js → root--_OYilvb.js} +1 -1
- package/build/client/assets/{run-detail-CRqjlzw9.js → run-detail-BeA7fQfA.js} +3 -3
- package/build/client/assets/{workflow-graph-viewer-P4oMQJaV.js → workflow-graph-viewer-BNsGQIfR.js} +1 -1
- package/build/server/assets/{app-CthB1gsr.js → app-BEUod6Qu.js} +1 -1
- package/build/server/assets/{highlighted-body-B3W2YXNL-Bid3dXog.js → highlighted-body-B3W2YXNL-CDACB73g.js} +2 -2
- package/build/server/assets/{index-DSI4dt08.js → index-sVIARIAL.js} +3 -3
- package/build/server/assets/{mermaid-3ZIDBTTL-Dx3Er0ad.js → mermaid-3ZIDBTTL-jCjKhJD2.js} +2 -2
- package/build/server/assets/{server-build-DBNmVwSJ.js → server-build-JwomDvSn.js} +218 -95
- package/build/server/assets/{token-bXRgYyTK.js → token-9ZMCuQFa.js} +2 -2
- package/build/server/assets/{token-util-B88n4Kn9.js → token-util--ZOQJ_0a.js} +2 -2
- package/build/server/index.js +1 -1
- package/package.json +6 -6
|
@@ -1,14 +1,20 @@
|
|
|
1
1
|
const NONCE_LENGTH = 12;
|
|
2
2
|
const TAG_LENGTH = 128;
|
|
3
3
|
const KEY_LENGTH = 32;
|
|
4
|
-
async function importKey(raw) {
|
|
4
|
+
async function importKey(raw, usages = ["encrypt", "decrypt"]) {
|
|
5
5
|
if (raw.byteLength !== KEY_LENGTH) {
|
|
6
6
|
throw new Error(`Encryption key must be exactly ${KEY_LENGTH} bytes, got ${raw.byteLength}`);
|
|
7
7
|
}
|
|
8
|
-
return globalThis.crypto.subtle.importKey(
|
|
9
|
-
"
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
return globalThis.crypto.subtle.importKey(
|
|
9
|
+
"raw",
|
|
10
|
+
raw,
|
|
11
|
+
"AES-GCM",
|
|
12
|
+
false,
|
|
13
|
+
// `KeyUsage` is a DOM-lib type that's not in scope under `es2022`.
|
|
14
|
+
// The `ReadonlyArray<'encrypt' | 'decrypt'>` parameter type matches
|
|
15
|
+
// a strict subset of `KeyUsage[]`, so this cast is sound.
|
|
16
|
+
usages
|
|
17
|
+
);
|
|
12
18
|
}
|
|
13
19
|
async function decrypt(key, data) {
|
|
14
20
|
const minLength = NONCE_LENGTH + TAG_LENGTH / 8;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { R, K as Ks, Q as Qe } from "./mermaid-3ZIDBTTL-
|
|
1
|
+
import { R, K as Ks, Q as Qe } from "./mermaid-3ZIDBTTL-CjHrXABH.js";
|
|
2
2
|
import { r as reactExports, j as jsxRuntimeExports } from "./index-DQa-BExo.js";
|
|
3
3
|
var L = ({ code: s, language: t, raw: e, className: n, ...d$1 }) => {
|
|
4
4
|
let { shikiTheme: l } = reactExports.useContext(R), o = Ks(), [m, i] = reactExports.useState(e);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { r as reactExports, C as ReactDOM, j as jsxRuntimeExports, z as Link, f as reactDomExports, B as useSearchParams, A as useNavigate, D as useLocation, w as withComponentProps } from "./index-DQa-BExo.js";
|
|
2
|
-
import { R as ResolveHookModal, S as Send, a as Skeleton, u as unwrapOrThrow, W as WorkflowWebAPIError, b as RelativeTime, A as Alert, C as CircleAlert, c as AlertTitle, d as AlertDescription, g as getErrorMessage, e as CopyableText, D as DropdownMenu, f as DropdownMenuTrigger, E as Ellipsis, h as DropdownMenuContent, i as DropdownMenuItem, j as ChevronRight, r as resumeHook, k as createCollection, l as hideOthers, m as ReactRemoveScroll, n as useDirection, o as ChevronDown, p as ChevronUp, q as Check, 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 cancelRun, 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-
|
|
3
|
-
import { g as useLayoutEffect2, P as Primitive, c as createLucideIcon, h as useToast, d as cn, D as DEFAULT_PAGE_SIZE, i as fetchRuns, j as fetchHooks, k as getPaginationDisplay, T as Tooltip, a as TooltipTrigger, B as Button, b as TooltipContent, l as fetchEvents, m as useCallbackRef, n as useComposedRefs, A as Anchor, o as composeEventHandlers, p as useId, q as createPopperScope, s as DismissableLayer, v as createContextScope, w as createSlot, C as Content$1, x as useControllableState, y as Root2$1, V as VISUALLY_HIDDEN_STYLES, z as Arrow, E as useComposedRefs$1, u as useServerConfig, t as toast, L as LoaderCircle, F as fetchRun, G as cva, H as Presence$1, I as createContext2, J as fetchWorkflowsManifest } from "./mermaid-3ZIDBTTL-
|
|
2
|
+
import { R as ResolveHookModal, S as Send, a as Skeleton, u as unwrapOrThrow, W as WorkflowWebAPIError, b as RelativeTime, A as Alert, C as CircleAlert, c as AlertTitle, d as AlertDescription, g as getErrorMessage, e as CopyableText, D as DropdownMenu, f as DropdownMenuTrigger, E as Ellipsis, h as DropdownMenuContent, i as DropdownMenuItem, j as ChevronRight, r as resumeHook, k as createCollection, l as hideOthers, m as ReactRemoveScroll, n as useDirection, o as ChevronDown, p as ChevronUp, q as Check, 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 cancelRun, 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-BNsGQIfR.js";
|
|
3
|
+
import { g as useLayoutEffect2, P as Primitive, c as createLucideIcon, h as useToast, d as cn, D as DEFAULT_PAGE_SIZE, i as fetchRuns, j as fetchHooks, k as getPaginationDisplay, T as Tooltip, a as TooltipTrigger, B as Button, b as TooltipContent, l as fetchEvents, m as useCallbackRef, n as useComposedRefs, A as Anchor, o as composeEventHandlers, p as useId, q as createPopperScope, s as DismissableLayer, v as createContextScope, w as createSlot, C as Content$1, x as useControllableState, y as Root2$1, V as VISUALLY_HIDDEN_STYLES, z as Arrow, E as useComposedRefs$1, u as useServerConfig, t as toast, L as LoaderCircle, F as fetchRun, G as cva, H as Presence$1, I as createContext2, J as fetchWorkflowsManifest } from "./mermaid-3ZIDBTTL-CjHrXABH.js";
|
|
4
4
|
var PORTAL_NAME$2 = "Portal";
|
|
5
5
|
var Portal$2 = reactExports.forwardRef((props, forwardedRef) => {
|
|
6
6
|
var _a;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
window.__reactRouterManifest={"entry":{"module":"/assets/entry.client-BWsSsWQm.js","imports":["/assets/index-DQa-BExo.js"],"css":[]},"routes":{"root":{"id":"root","path":"","hasAction":true,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":true,"module":"/assets/root
|
|
1
|
+
window.__reactRouterManifest={"entry":{"module":"/assets/entry.client-BWsSsWQm.js","imports":["/assets/index-DQa-BExo.js"],"css":[]},"routes":{"root":{"id":"root","path":"","hasAction":true,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":true,"module":"/assets/root--_OYilvb.js","imports":["/assets/index-DQa-BExo.js","/assets/mermaid-3ZIDBTTL-CjHrXABH.js"],"css":["/assets/root-aMfmV5uh.css","/assets/mermaid-3ZIDBTTL-DKxHcEOp.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-D6JmZfUp.js","imports":["/assets/index-DQa-BExo.js","/assets/workflow-graph-viewer-BNsGQIfR.js","/assets/mermaid-3ZIDBTTL-CjHrXABH.js"],"css":["/assets/workflow-graph-viewer-yls6qlc0.css","/assets/mermaid-3ZIDBTTL-DKxHcEOp.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-BeA7fQfA.js","imports":["/assets/index-DQa-BExo.js","/assets/workflow-graph-viewer-BNsGQIfR.js","/assets/mermaid-3ZIDBTTL-CjHrXABH.js","/assets/encryption-5eom23r0.js"],"css":["/assets/workflow-graph-viewer-yls6qlc0.css","/assets/mermaid-3ZIDBTTL-DKxHcEOp.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-3243993f.js","version":"3243993f"};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/highlighted-body-B3W2YXNL-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/highlighted-body-B3W2YXNL-9Gx_xbQ8.js","assets/index-DQa-BExo.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);
|
|
@@ -10340,7 +10340,7 @@ function hydrateData(value, revivers) {
|
|
|
10340
10340
|
async function hydrateDataWithKey(value, revivers, key) {
|
|
10341
10341
|
if (value instanceof Uint8Array && isEncryptedData(value) && key) {
|
|
10342
10342
|
const { decrypt } = await __vitePreload(async () => {
|
|
10343
|
-
const { decrypt: decrypt2 } = await import("./encryption-
|
|
10343
|
+
const { decrypt: decrypt2 } = await import("./encryption-5eom23r0.js");
|
|
10344
10344
|
return { decrypt: decrypt2 };
|
|
10345
10345
|
}, true ? [] : void 0);
|
|
10346
10346
|
const { payload } = decodeFormatPrefix(value);
|
|
@@ -15466,6 +15466,11 @@ const WorkflowInvokePayloadSchema = object({
|
|
|
15466
15466
|
runId: string$2(),
|
|
15467
15467
|
traceCarrier: TraceCarrierSchema.optional(),
|
|
15468
15468
|
requestedAt: date().optional(),
|
|
15469
|
+
/** Consecutive replay divergences in this recovery chain and latest position. */
|
|
15470
|
+
replayDivergence: object({
|
|
15471
|
+
eventId: string$2(),
|
|
15472
|
+
count: number$2().int().positive()
|
|
15473
|
+
}).optional(),
|
|
15469
15474
|
/** Number of times this message has been re-enqueued due to server errors (5xx) */
|
|
15470
15475
|
serverErrorRetryCount: number$2().int().optional(),
|
|
15471
15476
|
/** Run creation data, only present on the first queue delivery from start() */
|
|
@@ -15805,7 +15810,7 @@ async function hydrateResourceIOWithKey(resource, key) {
|
|
|
15805
15810
|
return { hydrateDataWithKey: hydrateDataWithKey3 };
|
|
15806
15811
|
}, true ? void 0 : void 0);
|
|
15807
15812
|
const { importKey } = await __vitePreload(async () => {
|
|
15808
|
-
const { importKey: importKey2 } = await import("./encryption-
|
|
15813
|
+
const { importKey: importKey2 } = await import("./encryption-5eom23r0.js");
|
|
15809
15814
|
return { importKey: importKey2 };
|
|
15810
15815
|
}, true ? [] : void 0);
|
|
15811
15816
|
const cryptoKey = await importKey(key);
|
|
@@ -42818,7 +42823,7 @@ var tn = f("block", "before:content-[counter(line)]", "before:inline-block", "be
|
|
|
42818
42823
|
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 });
|
|
42819
42824
|
var Se = reactExports.createContext({ code: "" }), de = () => reactExports.useContext(Se);
|
|
42820
42825
|
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 }) });
|
|
42821
|
-
var cn$1 = /\n+$/, dn = reactExports.lazy(() => __vitePreload(() => import("./highlighted-body-B3W2YXNL-
|
|
42826
|
+
var cn$1 = /\n+$/, dn = reactExports.lazy(() => __vitePreload(() => import("./highlighted-body-B3W2YXNL-9Gx_xbQ8.js"), true ? __vite__mapDeps([0,1]) : void 0).then((e) => ({ default: e.HighlightedCodeBlockBody }))), rt = ({ code: e, language: t, className: o, children: n, isIncomplete: s2 = false, ...r2 }) => {
|
|
42822
42827
|
let i = reactExports.useMemo(() => e.replace(cn$1, ""), [e]), c = reactExports.useMemo(() => ({ bg: "transparent", fg: "inherit", tokens: i.split(`
|
|
42823
42828
|
`).map((a2) => [{ content: a2, color: "inherit", bgColor: "transparent", htmlStyle: {}, offset: 0 }]) }), [i]);
|
|
42824
42829
|
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 }) })] }) });
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { r as reactExports, j as jsxRuntimeExports, w as withComponentProps, v as withErrorBoundaryProps, M as Meta, L as Links, S as ScrollRestoration, x as Scripts, O as Outlet, y as useRouteError, i as isRouteErrorResponse, z as Link, A as useNavigate, B as useSearchParams } from "./index-DQa-BExo.js";
|
|
2
|
-
import { c as createLucideIcon, u as useServerConfig, T as Tooltip, a as TooltipTrigger, b as TooltipContent, r as runHealthCheck, t as toast, B as Button, L as LoaderCircle, d as cn, e as Toaster$1, S as ServerConfigProvider, f as TooltipProvider } from "./mermaid-3ZIDBTTL-
|
|
2
|
+
import { c as createLucideIcon, u as useServerConfig, T as Tooltip, a as TooltipTrigger, b as TooltipContent, r as runHealthCheck, t as toast, B as Button, L as LoaderCircle, d as cn, e as Toaster$1, S as ServerConfigProvider, f as TooltipProvider } from "./mermaid-3ZIDBTTL-CjHrXABH.js";
|
|
3
3
|
var M = (e, i, s, u, m, a, l, h) => {
|
|
4
4
|
let d = document.documentElement, w = ["light", "dark"];
|
|
5
5
|
function p(n) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { j as jsxRuntimeExports, r as reactExports, f as reactDomExports, C as ReactDOM, A as useNavigate, B as useSearchParams, z as Link, w as withComponentProps, G as useParams } from "./index-DQa-BExo.js";
|
|
2
|
-
import { O as Copy, C as CircleAlert, Q as parseStepName, B as parseWorkflowName, j as ChevronRight, q as Check, U as ErrorCard, Z as Zap, S as Send, R as ResolveHookModal, p as ChevronUp, o as ChevronDown, X, N as ErrorBoundary, V as Clock, G as CircleX, I as unwrapServerActionResult, u as unwrapOrThrow, W as WorkflowWebAPIError, Y as useEscapeKeydown, t as composeEventHandlers, _ as useCallbackRef, $ as useLayoutEffect2, s as useControllableState, a0 as useId, a1 as createContext2, v as Presence, x as createContextScope, l as hideOthers, m as ReactRemoveScroll, a2 as useFocusGuards, a3 as LAYOUT, a4 as wakeUpRun, r as resumeHook, A as Alert, c as AlertTitle, d as AlertDescription, a as Skeleton$1, a5 as RunActionsButtons, F as StatusBadge, e as CopyableText, b as RelativeTime, T as Tabs, K as TabsList, L as TabsTrigger, M as TabsContent, y as cancelRun, a6 as recreateRun } from "./workflow-graph-viewer-
|
|
3
|
-
import { c as createLucideIcon, M as Spinner, h as useToast, N as Skeleton, O as DecryptClickContext, Y as Yr, U as isEncryptedMarker, W as formatDuration, X as DataInspector, _ as _r, Z as StreamClickContext, $ as isExpiredMarker, a0 as isDoStreamStep, a1 as extractConversation, a2 as Lock, a3 as EVENT_DATA_REF_FIELDS, a4 as clsx, a5 as useTraceViewer, a6 as styles, a7 as formatDurationForTimeline, a8 as formatWallClockTime, a9 as useImmediateStyle, aa as TIMELINE_PADDING, ab as formatTimeSelection, ac as MARKER_HEIGHT, ad as ROW_HEIGHT, ae as ROW_PADDING, af as SEARCH_HEIGHT, ag as getHighResInMs, ah as getMsInHighRes, ai as MARKER_NOTCH_HEIGHT, aj as MAP_HEIGHT, ak as SEARCH_GAP, al as MiniMap, am as SpanNodes, an as SpanDetailPanel, ao as TraceViewerContextProvider, ap as hydrateResourceIOWithKey, aq as hydrateResourceIO, ar as fetchHook, l as fetchEvents, F as fetchRun, as as fetchStep, at as hasEncryptedFields, au as fetchStreams, av as Slot, E as useComposedRefs, aw as Slottable, d as cn, ax as buttonVariants, ay as isEncryptedData, az as hydrateData, aA as getWebRevivers, aB as fetchEvent, aC as fetchEventsByCorrelationId, T as Tooltip, a as TooltipTrigger, b as TooltipContent, aD as LIVE_UPDATE_INTERVAL_MS$1, u as useServerConfig, aE as getEncryptionKeyForRun, t as toast, L as LoaderCircle, aF as StreamViewer } from "./mermaid-3ZIDBTTL-
|
|
4
|
-
import { decrypt, importKey } from "./encryption-
|
|
2
|
+
import { O as Copy, C as CircleAlert, Q as parseStepName, B as parseWorkflowName, j as ChevronRight, q as Check, U as ErrorCard, Z as Zap, S as Send, R as ResolveHookModal, p as ChevronUp, o as ChevronDown, X, N as ErrorBoundary, V as Clock, G as CircleX, I as unwrapServerActionResult, u as unwrapOrThrow, W as WorkflowWebAPIError, Y as useEscapeKeydown, t as composeEventHandlers, _ as useCallbackRef, $ as useLayoutEffect2, s as useControllableState, a0 as useId, a1 as createContext2, v as Presence, x as createContextScope, l as hideOthers, m as ReactRemoveScroll, a2 as useFocusGuards, a3 as LAYOUT, a4 as wakeUpRun, r as resumeHook, A as Alert, c as AlertTitle, d as AlertDescription, a as Skeleton$1, a5 as RunActionsButtons, F as StatusBadge, e as CopyableText, b as RelativeTime, T as Tabs, K as TabsList, L as TabsTrigger, M as TabsContent, y as cancelRun, a6 as recreateRun } from "./workflow-graph-viewer-BNsGQIfR.js";
|
|
3
|
+
import { c as createLucideIcon, M as Spinner, h as useToast, N as Skeleton, O as DecryptClickContext, Y as Yr, U as isEncryptedMarker, W as formatDuration, X as DataInspector, _ as _r, Z as StreamClickContext, $ as isExpiredMarker, a0 as isDoStreamStep, a1 as extractConversation, a2 as Lock, a3 as EVENT_DATA_REF_FIELDS, a4 as clsx, a5 as useTraceViewer, a6 as styles, a7 as formatDurationForTimeline, a8 as formatWallClockTime, a9 as useImmediateStyle, aa as TIMELINE_PADDING, ab as formatTimeSelection, ac as MARKER_HEIGHT, ad as ROW_HEIGHT, ae as ROW_PADDING, af as SEARCH_HEIGHT, ag as getHighResInMs, ah as getMsInHighRes, ai as MARKER_NOTCH_HEIGHT, aj as MAP_HEIGHT, ak as SEARCH_GAP, al as MiniMap, am as SpanNodes, an as SpanDetailPanel, ao as TraceViewerContextProvider, ap as hydrateResourceIOWithKey, aq as hydrateResourceIO, ar as fetchHook, l as fetchEvents, F as fetchRun, as as fetchStep, at as hasEncryptedFields, au as fetchStreams, av as Slot, E as useComposedRefs, aw as Slottable, d as cn, ax as buttonVariants, ay as isEncryptedData, az as hydrateData, aA as getWebRevivers, aB as fetchEvent, aC as fetchEventsByCorrelationId, T as Tooltip, a as TooltipTrigger, b as TooltipContent, aD as LIVE_UPDATE_INTERVAL_MS$1, u as useServerConfig, aE as getEncryptionKeyForRun, t as toast, L as LoaderCircle, aF as StreamViewer } from "./mermaid-3ZIDBTTL-CjHrXABH.js";
|
|
4
|
+
import { decrypt, importKey } from "./encryption-5eom23r0.js";
|
|
5
5
|
/**
|
|
6
6
|
* @license lucide-react v0.575.0 - ISC
|
|
7
7
|
*
|
package/build/client/assets/{workflow-graph-viewer-P4oMQJaV.js → workflow-graph-viewer-BNsGQIfR.js}
RENAMED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
var __defProp = Object.defineProperty;
|
|
2
2
|
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
3
3
|
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
4
|
-
import { c as createLucideIcon, aG as cn, d as cn$1, G as cva, aH as composeRefs, E as useComposedRefs, aI as useFloating, aJ as offset, aK as shift, aL as limitShift, aM as flip, aN as size, aO as arrow, aP as hide, aQ as autoUpdate, T as Tooltip, a as TooltipTrigger, b as TooltipContent, aR as cancelRun$1, aS as reenqueueRun$1, aT as wakeUpRun$1, aU as resumeHook$1, aV as recreateRun$1, v as createContextScope$1, n as useComposedRefs$1, w as createSlot, W as formatDuration, B as Button, t as toast, p as useId$1, P as Primitive$1, o as composeEventHandlers$1, x as useControllableState$1, m as useCallbackRef$2, H as Presence$1 } from "./mermaid-3ZIDBTTL-
|
|
4
|
+
import { c as createLucideIcon, aG as cn, d as cn$1, G as cva, aH as composeRefs, E as useComposedRefs, aI as useFloating, aJ as offset, aK as shift, aL as limitShift, aM as flip, aN as size, aO as arrow, aP as hide, aQ as autoUpdate, T as Tooltip, a as TooltipTrigger, b as TooltipContent, aR as cancelRun$1, aS as reenqueueRun$1, aT as wakeUpRun$1, aU as resumeHook$1, aV as recreateRun$1, v as createContextScope$1, n as useComposedRefs$1, w as createSlot, W as formatDuration, B as Button, t as toast, p as useId$1, P as Primitive$1, o as composeEventHandlers$1, x as useControllableState$1, m as useCallbackRef$2, H as Presence$1 } from "./mermaid-3ZIDBTTL-CjHrXABH.js";
|
|
5
5
|
import { r as reactExports, j as jsxRuntimeExports, f as reactDomExports, R as ReactExports, H as React, C as ReactDOM, a as requireReact, I as getDefaultExportFromCjs } from "./index-DQa-BExo.js";
|
|
6
6
|
function parseName(tag, name) {
|
|
7
7
|
if (typeof name !== "string") {
|
|
@@ -9176,7 +9176,7 @@ const app = express();
|
|
|
9176
9176
|
app.all(
|
|
9177
9177
|
"*",
|
|
9178
9178
|
createRequestHandler({
|
|
9179
|
-
build: () => import("./server-build-
|
|
9179
|
+
build: () => import("./server-build-JwomDvSn.js").then((n) => n.G)
|
|
9180
9180
|
})
|
|
9181
9181
|
);
|
|
9182
9182
|
app.use(
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { y as R, K as Ks, z as jsxRuntimeExports, A as Qe } from "./server-build-
|
|
2
|
-
import { r as reactExports } from "./app-
|
|
1
|
+
import { y as R, K as Ks, z as jsxRuntimeExports, A as Qe } from "./server-build-JwomDvSn.js";
|
|
2
|
+
import { r as reactExports } from "./app-BEUod6Qu.js";
|
|
3
3
|
import "node:stream";
|
|
4
4
|
import "util";
|
|
5
5
|
import "crypto";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { H as HookSchema } from "./server-build-
|
|
2
|
-
import { B, D, a, E, b, c, d, L, M, P, Q, e, R, S, f, g, h, i, j, k, l, m, V, W, n, o, p, q, r, s, t, u, v, w, x } from "./server-build-
|
|
3
|
-
import "./app-
|
|
1
|
+
import { H as HookSchema } from "./server-build-JwomDvSn.js";
|
|
2
|
+
import { B, D, a, E, b, c, d, L, M, P, Q, e, R, S, f, g, h, i, j, k, l, m, V, W, n, o, p, q, r, s, t, u, v, w, x } from "./server-build-JwomDvSn.js";
|
|
3
|
+
import "./app-BEUod6Qu.js";
|
|
4
4
|
import "stream";
|
|
5
5
|
import "express";
|
|
6
6
|
import "node:stream";
|
|
@@ -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-
|
|
17
|
+
import { a as requireReact, S as ServerRouter, c as createReadableStreamFromReadable, r as reactExports, g as getDefaultExportFromCjs, R as React, b as ReactExports, w as withComponentProps, d as withErrorBoundaryProps, M as Meta, L as Links, e as ScrollRestoration, f as Scripts, O as Outlet, u as useNavigate, h as useSearchParams, i as Link$1, j as useRouteError, k as isRouteErrorResponse, l as useLocation, m as useParams } from "./app-BEUod6Qu.js";
|
|
18
18
|
import require$$0$4, { PassThrough } from "node:stream";
|
|
19
19
|
import require$$0 from "util";
|
|
20
20
|
import require$$1 from "crypto";
|
|
@@ -48708,6 +48708,11 @@ const WorkflowInvokePayloadSchema = object$1({
|
|
|
48708
48708
|
runId: string$3(),
|
|
48709
48709
|
traceCarrier: TraceCarrierSchema.optional(),
|
|
48710
48710
|
requestedAt: date$2().optional(),
|
|
48711
|
+
/** Consecutive replay divergences in this recovery chain and latest position. */
|
|
48712
|
+
replayDivergence: object$1({
|
|
48713
|
+
eventId: string$3(),
|
|
48714
|
+
count: number$3().int().positive()
|
|
48715
|
+
}).optional(),
|
|
48711
48716
|
/** Number of times this message has been re-enqueued due to server errors (5xx) */
|
|
48712
48717
|
serverErrorRetryCount: number$3().int().optional(),
|
|
48713
48718
|
/** Run creation data, only present on the first queue delivery from start() */
|
|
@@ -79383,7 +79388,7 @@ var tn = f("block", "before:content-[counter(line)]", "before:inline-block", "be
|
|
|
79383
79388
|
var et = ({ className: e, language: t, style: o, isIncomplete: n, ...s2 }) => jsxRuntimeExports.jsx("div", { className: f("my-4 flex w-full flex-col gap-2 rounded-xl border border-border bg-sidebar p-2", e), "data-incomplete": n || void 0, "data-language": t, "data-streamdown": "code-block", style: { contentVisibility: "auto", containIntrinsicSize: "auto 200px", ...o }, ...s2 });
|
|
79384
79389
|
var Se = reactExports.createContext({ code: "" }), de = () => reactExports.useContext(Se);
|
|
79385
79390
|
var ot = ({ language: e }) => jsxRuntimeExports.jsx("div", { className: "flex h-8 items-center text-muted-foreground text-xs", "data-language": e, "data-streamdown": "code-block-header", children: jsxRuntimeExports.jsx("span", { className: "ml-1 font-mono lowercase", children: e }) });
|
|
79386
|
-
var cn$1 = /\n+$/, dn = reactExports.lazy(() => import("./highlighted-body-B3W2YXNL-
|
|
79391
|
+
var cn$1 = /\n+$/, dn = reactExports.lazy(() => import("./highlighted-body-B3W2YXNL-CDACB73g.js").then((e) => ({ default: e.HighlightedCodeBlockBody }))), rt = ({ code: e, language: t, className: o, children: n, isIncomplete: s2 = false, ...r2 }) => {
|
|
79387
79392
|
let i = reactExports.useMemo(() => e.replace(cn$1, ""), [e]), c = reactExports.useMemo(() => ({ bg: "transparent", fg: "inherit", tokens: i.split(`
|
|
79388
79393
|
`).map((a2) => [{ content: a2, color: "inherit", bgColor: "transparent", htmlStyle: {}, offset: 0 }]) }), [i]);
|
|
79389
79394
|
return jsxRuntimeExports.jsx(Se.Provider, { value: { code: e }, children: jsxRuntimeExports.jsxs(et, { isIncomplete: s2, language: t, children: [jsxRuntimeExports.jsx(ot, { language: t }), n ? jsxRuntimeExports.jsx("div", { className: "pointer-events-none sticky top-2 z-10 -mt-10 flex h-8 items-center justify-end", children: jsxRuntimeExports.jsx("div", { className: "pointer-events-auto flex shrink-0 items-center gap-2 rounded-md border border-sidebar bg-sidebar/80 px-1.5 py-1 supports-[backdrop-filter]:bg-sidebar/70 supports-[backdrop-filter]:backdrop-blur", "data-streamdown": "code-block-actions", children: n }) }) : null, jsxRuntimeExports.jsx(reactExports.Suspense, { fallback: jsxRuntimeExports.jsx(Qe, { className: o, language: t, result: c, ...r2 }), children: jsxRuntimeExports.jsx(dn, { className: o, code: i, language: t, raw: c, ...r2 }) })] }) });
|
|
@@ -79705,7 +79710,7 @@ var Dt = ({ children: e, className: t, onDownload: o, onError: n }) => {
|
|
|
79705
79710
|
}, []), jsxRuntimeExports.jsxs("div", { className: "relative", ref: i, children: [jsxRuntimeExports.jsx("button", { className: f("cursor-pointer p-1 text-muted-foreground transition-all hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50", t), disabled: c, onClick: () => r2(!s2), title: "Download table", type: "button", children: e != null ? e : jsxRuntimeExports.jsx(Z, { size: 14 }) }), s2 ? jsxRuntimeExports.jsxs("div", { className: "absolute top-full right-0 z-10 mt-1 min-w-[120px] overflow-hidden rounded-md border border-border bg-background shadow-lg", children: [jsxRuntimeExports.jsx("button", { className: "w-full px-3 py-2 text-left text-sm transition-colors hover:bg-muted/40", onClick: () => a2("csv"), title: "Download table as CSV", type: "button", children: "CSV" }), jsxRuntimeExports.jsx("button", { className: "w-full px-3 py-2 text-left text-sm transition-colors hover:bg-muted/40", onClick: () => a2("markdown"), title: "Download table as Markdown", type: "button", children: "Markdown" })] }) : null] });
|
|
79706
79711
|
};
|
|
79707
79712
|
var Vt = ({ children: e, className: t, showControls: o, ...n }) => jsxRuntimeExports.jsxs("div", { className: "my-4 flex flex-col gap-2 rounded-lg border border-border bg-sidebar p-2", "data-streamdown": "table-wrapper", children: [o ? jsxRuntimeExports.jsxs("div", { className: "flex items-center justify-end gap-1", children: [jsxRuntimeExports.jsx(Ht, {}), jsxRuntimeExports.jsx(Dt, {})] }) : null, jsxRuntimeExports.jsx("div", { className: "border-collapse overflow-x-auto overscroll-y-auto rounded-md border border-border bg-background", children: jsxRuntimeExports.jsx("table", { className: f("w-full divide-y divide-border", t), "data-streamdown": "table", ...n, children: e }) })] });
|
|
79708
|
-
var Jn = reactExports.lazy(() => import("./mermaid-3ZIDBTTL-
|
|
79713
|
+
var Jn = reactExports.lazy(() => import("./mermaid-3ZIDBTTL-jCjKhJD2.js").then((e) => ({ default: e.Mermaid }))), Kn = /language-([^\s]+)/;
|
|
79709
79714
|
function ke(e, t) {
|
|
79710
79715
|
if (!(e != null && e.position || t != null && t.position)) return true;
|
|
79711
79716
|
if (!(e != null && e.position && (t != null && t.position))) return false;
|
|
@@ -88545,14 +88550,20 @@ const VERCEL_403_ERROR_MESSAGE = "Your current vercel account does not have acce
|
|
|
88545
88550
|
const NONCE_LENGTH = 12;
|
|
88546
88551
|
const TAG_LENGTH = 128;
|
|
88547
88552
|
const KEY_LENGTH = 32;
|
|
88548
|
-
async function importKey(raw2) {
|
|
88553
|
+
async function importKey(raw2, usages = ["encrypt", "decrypt"]) {
|
|
88549
88554
|
if (raw2.byteLength !== KEY_LENGTH) {
|
|
88550
88555
|
throw new Error(`Encryption key must be exactly ${KEY_LENGTH} bytes, got ${raw2.byteLength}`);
|
|
88551
88556
|
}
|
|
88552
|
-
return globalThis.crypto.subtle.importKey(
|
|
88553
|
-
"
|
|
88554
|
-
|
|
88555
|
-
|
|
88557
|
+
return globalThis.crypto.subtle.importKey(
|
|
88558
|
+
"raw",
|
|
88559
|
+
raw2,
|
|
88560
|
+
"AES-GCM",
|
|
88561
|
+
false,
|
|
88562
|
+
// `KeyUsage` is a DOM-lib type that's not in scope under `es2022`.
|
|
88563
|
+
// The `ReadonlyArray<'encrypt' | 'decrypt'>` parameter type matches
|
|
88564
|
+
// a strict subset of `KeyUsage[]`, so this cast is sound.
|
|
88565
|
+
usages
|
|
88566
|
+
);
|
|
88556
88567
|
}
|
|
88557
88568
|
async function encrypt(key, data) {
|
|
88558
88569
|
const nonce = globalThis.crypto.getRandomValues(new Uint8Array(NONCE_LENGTH));
|
|
@@ -89502,7 +89513,7 @@ createLogger("webhook");
|
|
|
89502
89513
|
createLogger("events");
|
|
89503
89514
|
createLogger("adapter");
|
|
89504
89515
|
const MAX_QUEUE_DELIVERIES = 48;
|
|
89505
|
-
const version$1 = "4.
|
|
89516
|
+
const version$1 = "4.3.1";
|
|
89506
89517
|
const execFileAsync = promisify(execFile);
|
|
89507
89518
|
function parsePort$1(value, radix = 10) {
|
|
89508
89519
|
const port = parseInt(value, radix);
|
|
@@ -116039,7 +116050,7 @@ function createLocalWorld(args) {
|
|
|
116039
116050
|
const basedir = mergedConfig.dataDir;
|
|
116040
116051
|
const hooksDir = path$3.join(basedir, "hooks");
|
|
116041
116052
|
const taggedHookFiles = await listTaggedFiles(hooksDir, tag);
|
|
116042
|
-
const { HookSchema: HookSchema2 } = await import("./index-
|
|
116053
|
+
const { HookSchema: HookSchema2 } = await import("./index-sVIARIAL.js");
|
|
116043
116054
|
await Promise.all(taggedHookFiles.map(async (hookFile) => {
|
|
116044
116055
|
const hook = await readJSON(path$3.join(hooksDir, hookFile), HookSchema2);
|
|
116045
116056
|
if (hook == null ? void 0 : hook.token) {
|
|
@@ -116191,8 +116202,8 @@ function requireGetVercelOidcToken() {
|
|
|
116191
116202
|
}
|
|
116192
116203
|
try {
|
|
116193
116204
|
const [{ getTokenPayload, isExpired }, { refreshToken }] = await Promise.all([
|
|
116194
|
-
await import("./token-util
|
|
116195
|
-
await import("./token-
|
|
116205
|
+
await import("./token-util--ZOQJ_0a.js").then((n) => n.t),
|
|
116206
|
+
await import("./token-9ZMCuQFa.js").then((n) => n.t)
|
|
116196
116207
|
]);
|
|
116197
116208
|
if (!token || isExpired(getTokenPayload(token), options == null ? void 0 : options.expirationBufferMs)) {
|
|
116198
116209
|
await refreshToken(options);
|
|
@@ -121363,13 +121374,17 @@ var QueueClient = class {
|
|
|
121363
121374
|
setApi(this, new ApiClient({ ...options, region }));
|
|
121364
121375
|
}
|
|
121365
121376
|
};
|
|
121366
|
-
const version = "4.3.
|
|
121377
|
+
const version = "4.3.2";
|
|
121367
121378
|
const HTTP_DEBUG_ENABLED = typeof process !== "undefined" && typeof process.env.DEBUG === "string" && (process.env.DEBUG.includes("workflow:") || process.env.DEBUG === "*");
|
|
121368
121379
|
function httpLog(method, endpoint, status, ms2) {
|
|
121369
121380
|
if (HTTP_DEBUG_ENABLED) {
|
|
121370
121381
|
console.debug(`[workflow:world-vercel:http] ${method} ${endpoint} -> ${status} (${ms2}ms)`);
|
|
121371
121382
|
}
|
|
121372
121383
|
}
|
|
121384
|
+
const REQUEST_TIMEOUT_MS = 6e4;
|
|
121385
|
+
const IDEMPOTENT_METHODS = /* @__PURE__ */ new Set(["GET", "HEAD"]);
|
|
121386
|
+
const MAX_BODY_PARSE_RETRIES = 2;
|
|
121387
|
+
const BODY_PARSE_RETRY_BASE_MS = 100;
|
|
121373
121388
|
const getWorkflowServerUrlOverride = () => process.env.VERCEL_WORKFLOW_SERVER_URL || "";
|
|
121374
121389
|
const DEFAULT_RESOLVE_DATA_OPTION = "all";
|
|
121375
121390
|
function deserializeError(obj) {
|
|
@@ -121485,6 +121500,7 @@ async function makeRequest({ endpoint, options = {}, config: config2 = {}, schem
|
|
|
121485
121500
|
} catch {
|
|
121486
121501
|
}
|
|
121487
121502
|
return trace(`http ${method}`, { kind: await getSpanKind("CLIENT") }, async (span) => {
|
|
121503
|
+
var _a3;
|
|
121488
121504
|
span == null ? void 0 : span.setAttributes({
|
|
121489
121505
|
...HttpRequestMethod(method),
|
|
121490
121506
|
...UrlFull(url2),
|
|
@@ -121496,86 +121512,116 @@ async function makeRequest({ endpoint, options = {}, config: config2 = {}, schem
|
|
|
121496
121512
|
...RpcService("workflow-server")
|
|
121497
121513
|
});
|
|
121498
121514
|
headers2.set("Accept", "application/cbor");
|
|
121499
|
-
headers2.set("X-Request-Time", Date.now().toString());
|
|
121500
121515
|
let body2;
|
|
121501
121516
|
if (data !== void 0) {
|
|
121502
121517
|
headers2.set("Content-Type", "application/cbor");
|
|
121503
121518
|
body2 = encode(data);
|
|
121504
121519
|
}
|
|
121505
|
-
const
|
|
121506
|
-
|
|
121507
|
-
|
|
121508
|
-
|
|
121509
|
-
|
|
121510
|
-
|
|
121511
|
-
|
|
121512
|
-
|
|
121513
|
-
|
|
121514
|
-
|
|
121515
|
-
|
|
121516
|
-
|
|
121517
|
-
|
|
121518
|
-
|
|
121519
|
-
|
|
121520
|
-
|
|
121521
|
-
|
|
121522
|
-
const stringifiedHeaders = Array.from(headers2.entries()).filter(([key]) => key.toLowerCase() !== "authorization").map(([key, value]) => `-H "${key}: ${value}"`).join(" ");
|
|
121523
|
-
console.error(`Failed to fetch, reproduce with:
|
|
121524
|
-
curl -X ${request2.method} ${stringifiedHeaders} "${url2}"`);
|
|
121525
|
-
}
|
|
121526
|
-
let retryAfter;
|
|
121527
|
-
const retryAfterHeader = response2.headers.get("Retry-After");
|
|
121528
|
-
if (retryAfterHeader) {
|
|
121529
|
-
const parsed = parseInt(retryAfterHeader, 10);
|
|
121530
|
-
if (!Number.isNaN(parsed)) {
|
|
121531
|
-
retryAfter = parsed;
|
|
121532
|
-
}
|
|
121533
|
-
}
|
|
121534
|
-
const defaultMessage = errorData.message || `${request2.method} ${endpoint} -> HTTP ${response2.status}: ${response2.statusText}`;
|
|
121535
|
-
const throwWithTrace = (error2) => {
|
|
121536
|
-
var _a3;
|
|
121537
|
-
span == null ? void 0 : span.setAttributes({
|
|
121538
|
-
...ErrorType(errorData.code || `HTTP ${response2.status}`)
|
|
121520
|
+
const canRetryBody = IDEMPOTENT_METHODS.has(method.toUpperCase());
|
|
121521
|
+
let parseResult;
|
|
121522
|
+
for (let attempt = 0; ; attempt++) {
|
|
121523
|
+
headers2.set("X-Request-Time", Date.now().toString());
|
|
121524
|
+
const timeoutSignal = AbortSignal.timeout(REQUEST_TIMEOUT_MS);
|
|
121525
|
+
const signal = options.signal ? AbortSignal.any([options.signal, timeoutSignal]) : timeoutSignal;
|
|
121526
|
+
const request2 = new Request(url2, {
|
|
121527
|
+
...options,
|
|
121528
|
+
body: body2,
|
|
121529
|
+
headers: headers2,
|
|
121530
|
+
signal
|
|
121531
|
+
});
|
|
121532
|
+
const fetchStart = Date.now();
|
|
121533
|
+
let response2;
|
|
121534
|
+
try {
|
|
121535
|
+
response2 = await fetch(request2, {
|
|
121536
|
+
dispatcher: getDispatcher()
|
|
121539
121537
|
});
|
|
121540
|
-
|
|
121538
|
+
} catch (error2) {
|
|
121539
|
+
const elapsed = Date.now() - fetchStart;
|
|
121540
|
+
if (error2 instanceof Error && (error2.name === "TimeoutError" || error2.name === "AbortError")) {
|
|
121541
|
+
const timeoutError = new WorkflowWorldError(`${method} ${endpoint} timed out after ${elapsed}ms`, { url: url2, cause: error2 });
|
|
121542
|
+
span == null ? void 0 : span.setAttributes({ ...ErrorType("TIMEOUT") });
|
|
121543
|
+
(_a3 = span == null ? void 0 : span.recordException) == null ? void 0 : _a3.call(span, timeoutError);
|
|
121544
|
+
throw timeoutError;
|
|
121545
|
+
}
|
|
121541
121546
|
throw error2;
|
|
121542
|
-
};
|
|
121543
|
-
if (response2.status === 409) {
|
|
121544
|
-
throwWithTrace(new EntityConflictError(defaultMessage));
|
|
121545
|
-
}
|
|
121546
|
-
if (response2.status === 410) {
|
|
121547
|
-
throwWithTrace(new RunExpiredError(defaultMessage));
|
|
121548
121547
|
}
|
|
121549
|
-
|
|
121550
|
-
|
|
121551
|
-
|
|
121552
|
-
|
|
121553
|
-
|
|
121548
|
+
const fetchMs = Date.now() - fetchStart;
|
|
121549
|
+
httpLog(method, endpoint, response2.status, fetchMs);
|
|
121550
|
+
span == null ? void 0 : span.setAttributes({
|
|
121551
|
+
...HttpResponseStatusCode(response2.status)
|
|
121552
|
+
});
|
|
121553
|
+
if (!response2.ok) {
|
|
121554
|
+
const errorData = await parseResponseBody(response2).then((r2) => r2.data).catch(() => ({}));
|
|
121555
|
+
if (process.env.DEBUG) {
|
|
121556
|
+
const stringifiedHeaders = Array.from(headers2.entries()).filter(([key]) => key.toLowerCase() !== "authorization").map(([key, value]) => `-H "${key}: ${value}"`).join(" ");
|
|
121557
|
+
console.error(`Failed to fetch, reproduce with:
|
|
121558
|
+
curl -X ${request2.method} ${stringifiedHeaders} "${url2}"`);
|
|
121559
|
+
}
|
|
121560
|
+
let retryAfter;
|
|
121561
|
+
const retryAfterHeader = response2.headers.get("Retry-After");
|
|
121562
|
+
if (retryAfterHeader) {
|
|
121563
|
+
const parsed = parseInt(retryAfterHeader, 10);
|
|
121564
|
+
if (!Number.isNaN(parsed)) {
|
|
121565
|
+
retryAfter = parsed;
|
|
121566
|
+
}
|
|
121567
|
+
}
|
|
121568
|
+
const defaultMessage = errorData.message || `${request2.method} ${endpoint} -> HTTP ${response2.status}: ${response2.statusText}`;
|
|
121569
|
+
const throwWithTrace = (error2) => {
|
|
121570
|
+
var _a4;
|
|
121571
|
+
span == null ? void 0 : span.setAttributes({
|
|
121572
|
+
...ErrorType(errorData.code || `HTTP ${response2.status}`)
|
|
121573
|
+
});
|
|
121574
|
+
(_a4 = span == null ? void 0 : span.recordException) == null ? void 0 : _a4.call(span, error2);
|
|
121575
|
+
throw error2;
|
|
121576
|
+
};
|
|
121577
|
+
if (response2.status === 409) {
|
|
121578
|
+
throwWithTrace(new EntityConflictError(defaultMessage));
|
|
121579
|
+
}
|
|
121580
|
+
if (response2.status === 410) {
|
|
121581
|
+
throwWithTrace(new RunExpiredError(defaultMessage));
|
|
121582
|
+
}
|
|
121583
|
+
if (response2.status === 425) {
|
|
121584
|
+
throwWithTrace(new TooEarlyError(defaultMessage, { retryAfter }));
|
|
121585
|
+
}
|
|
121586
|
+
if (response2.status === 429) {
|
|
121587
|
+
throwWithTrace(new ThrottleError(defaultMessage, { retryAfter }));
|
|
121588
|
+
}
|
|
121589
|
+
throwWithTrace(new WorkflowWorldError(defaultMessage, {
|
|
121590
|
+
url: url2,
|
|
121591
|
+
status: response2.status,
|
|
121592
|
+
code: errorData.code,
|
|
121593
|
+
retryAfter
|
|
121594
|
+
}));
|
|
121554
121595
|
}
|
|
121555
|
-
|
|
121556
|
-
|
|
121557
|
-
|
|
121558
|
-
|
|
121559
|
-
|
|
121560
|
-
|
|
121561
|
-
|
|
121562
|
-
|
|
121563
|
-
|
|
121564
|
-
|
|
121565
|
-
parseResult = await trace("world.parse", async (parseSpan) => {
|
|
121566
|
-
const result2 = await parseResponseBody(response2);
|
|
121567
|
-
const contentType = response2.headers.get("Content-Type") || "";
|
|
121568
|
-
const isCbor = contentType.includes("application/cbor");
|
|
121569
|
-
parseSpan == null ? void 0 : parseSpan.setAttributes({
|
|
121570
|
-
...WorldParseFormat(isCbor ? "cbor" : "json")
|
|
121596
|
+
onResponse == null ? void 0 : onResponse(response2);
|
|
121597
|
+
try {
|
|
121598
|
+
parseResult = await trace("world.parse", async (parseSpan) => {
|
|
121599
|
+
const result2 = await parseResponseBody(response2);
|
|
121600
|
+
const contentType = response2.headers.get("Content-Type") || "";
|
|
121601
|
+
const isCbor = contentType.includes("application/cbor");
|
|
121602
|
+
parseSpan == null ? void 0 : parseSpan.setAttributes({
|
|
121603
|
+
...WorldParseFormat(isCbor ? "cbor" : "json")
|
|
121604
|
+
});
|
|
121605
|
+
return result2;
|
|
121571
121606
|
});
|
|
121572
|
-
|
|
121573
|
-
})
|
|
121574
|
-
|
|
121575
|
-
|
|
121576
|
-
|
|
121607
|
+
break;
|
|
121608
|
+
} catch (error2) {
|
|
121609
|
+
if (canRetryBody && attempt < MAX_BODY_PARSE_RETRIES) {
|
|
121610
|
+
const backoffMs = BODY_PARSE_RETRY_BASE_MS * 2 ** attempt;
|
|
121611
|
+
span == null ? void 0 : span.setAttributes({
|
|
121612
|
+
...ErrorType("PARSE_ERROR_RETRYING")
|
|
121613
|
+
});
|
|
121614
|
+
if (HTTP_DEBUG_ENABLED) {
|
|
121615
|
+
console.debug(`[workflow:world-vercel:http] ${method} ${endpoint} body parse failed (attempt ${attempt + 1}/${MAX_BODY_PARSE_RETRIES + 1}); retrying in ${backoffMs}ms: ${error2}`);
|
|
121616
|
+
}
|
|
121617
|
+
await new Promise((resolve2) => setTimeout(resolve2, backoffMs));
|
|
121618
|
+
continue;
|
|
121619
|
+
}
|
|
121620
|
+
const contentType = response2.headers.get("Content-Type") || "unknown";
|
|
121621
|
+
throw new WorkflowWorldError(`Failed to parse response body for ${method} ${endpoint} (Content-Type: ${contentType}):
|
|
121577
121622
|
|
|
121578
121623
|
${error2}`, { url: url2, code: "PARSE_ERROR", cause: error2 });
|
|
121624
|
+
}
|
|
121579
121625
|
}
|
|
121580
121626
|
const result = await trace("world.validate", async () => {
|
|
121581
121627
|
const validationResult = schema.safeParse(parseResult.data);
|
|
@@ -124100,6 +124146,8 @@ const WORKFLOW_DESERIALIZE = Symbol.for("workflow-deserialize");
|
|
|
124100
124146
|
const STABLE_ULID = Symbol.for("WORKFLOW_STABLE_ULID");
|
|
124101
124147
|
const STREAM_NAME_SYMBOL = Symbol.for("WORKFLOW_STREAM_NAME");
|
|
124102
124148
|
const STREAM_TYPE_SYMBOL = Symbol.for("WORKFLOW_STREAM_TYPE");
|
|
124149
|
+
const STREAM_SERVER_RUN_ID_SYMBOL = Symbol.for("WORKFLOW_STREAM_SERVER_RUN_ID");
|
|
124150
|
+
const STREAM_SERVER_DEPLOYMENT_ID_SYMBOL = Symbol.for("WORKFLOW_STREAM_SERVER_DEPLOYMENT_ID");
|
|
124103
124151
|
const BODY_INIT_SYMBOL = Symbol.for("BODY_INIT");
|
|
124104
124152
|
const WEBHOOK_RESPONSE_WRITABLE = Symbol.for("WEBHOOK_RESPONSE_WRITABLE");
|
|
124105
124153
|
const WORKFLOW_CLASS_REGISTRY = Symbol.for("workflow-class-registry");
|
|
@@ -124789,6 +124837,19 @@ function getExternalReducers(global2 = globalThis, ops, runId, cryptoKey) {
|
|
|
124789
124837
|
WritableStream: (value) => {
|
|
124790
124838
|
if (!(value instanceof global2.WritableStream))
|
|
124791
124839
|
return false;
|
|
124840
|
+
const existingName = value[STREAM_NAME_SYMBOL];
|
|
124841
|
+
const existingRunId = value[STREAM_SERVER_RUN_ID_SYMBOL];
|
|
124842
|
+
if (typeof existingName === "string" && typeof existingRunId === "string") {
|
|
124843
|
+
const descriptor = {
|
|
124844
|
+
name: existingName,
|
|
124845
|
+
runId: existingRunId
|
|
124846
|
+
};
|
|
124847
|
+
const existingDeploymentId = value[STREAM_SERVER_DEPLOYMENT_ID_SYMBOL];
|
|
124848
|
+
if (typeof existingDeploymentId === "string") {
|
|
124849
|
+
descriptor.deploymentId = existingDeploymentId;
|
|
124850
|
+
}
|
|
124851
|
+
return descriptor;
|
|
124852
|
+
}
|
|
124792
124853
|
const streamId = (global2[STABLE_ULID] || defaultUlid)();
|
|
124793
124854
|
const name2 = `strm_${streamId}`;
|
|
124794
124855
|
const readable2 = new WorkflowServerReadableStream(name2);
|
|
@@ -124828,12 +124889,20 @@ function getStepReducers(global2 = globalThis, ops, runId, cryptoKey) {
|
|
|
124828
124889
|
if (!(value instanceof global2.WritableStream))
|
|
124829
124890
|
return false;
|
|
124830
124891
|
let name2 = value[STREAM_NAME_SYMBOL];
|
|
124892
|
+
const foreignRunId = value[STREAM_SERVER_RUN_ID_SYMBOL];
|
|
124831
124893
|
if (!name2) {
|
|
124832
124894
|
const streamId = (global2[STABLE_ULID] || defaultUlid)();
|
|
124833
124895
|
name2 = `strm_${streamId}`;
|
|
124834
124896
|
ops.push(new WorkflowServerReadableStream(name2).pipeThrough(getDeserializeStream(getStepRevivers(global2, ops, runId, cryptoKey), cryptoKey)).pipeTo(value));
|
|
124835
124897
|
}
|
|
124836
|
-
|
|
124898
|
+
const s2 = { name: name2 };
|
|
124899
|
+
if (typeof foreignRunId === "string")
|
|
124900
|
+
s2.runId = foreignRunId;
|
|
124901
|
+
const foreignDeploymentId = value[STREAM_SERVER_DEPLOYMENT_ID_SYMBOL];
|
|
124902
|
+
if (typeof foreignDeploymentId === "string") {
|
|
124903
|
+
s2.deploymentId = foreignDeploymentId;
|
|
124904
|
+
}
|
|
124905
|
+
return s2;
|
|
124837
124906
|
}
|
|
124838
124907
|
};
|
|
124839
124908
|
}
|
|
@@ -124937,6 +125006,13 @@ function getCommonRevivers(global2 = globalThis) {
|
|
|
124937
125006
|
}
|
|
124938
125007
|
};
|
|
124939
125008
|
}
|
|
125009
|
+
async function getForwardedWritableEncryptionKey(runId, deploymentId) {
|
|
125010
|
+
const world = getWorld();
|
|
125011
|
+
if (!world.getEncryptionKeyForRun)
|
|
125012
|
+
return void 0;
|
|
125013
|
+
const rawKey = deploymentId ? await world.getEncryptionKeyForRun(runId, { deploymentId }) : await world.getEncryptionKeyForRun(await world.runs.get(runId));
|
|
125014
|
+
return rawKey ? await importKey(rawKey, ["encrypt"]) : void 0;
|
|
125015
|
+
}
|
|
124940
125016
|
function getExternalRevivers(global2 = globalThis, ops, runId, cryptoKey) {
|
|
124941
125017
|
return {
|
|
124942
125018
|
...getCommonRevivers(global2),
|
|
@@ -124985,13 +125061,29 @@ function getExternalRevivers(global2 = globalThis, ops, runId, cryptoKey) {
|
|
|
124985
125061
|
}
|
|
124986
125062
|
},
|
|
124987
125063
|
WritableStream: (value) => {
|
|
124988
|
-
const
|
|
124989
|
-
const
|
|
125064
|
+
const targetRunId = typeof value.runId === "string" ? value.runId : runId;
|
|
125065
|
+
const targetKey = targetRunId === runId ? cryptoKey : getForwardedWritableEncryptionKey(targetRunId, value.deploymentId);
|
|
125066
|
+
const serialize2 = getSerializeStream(getExternalReducers(global2, ops, targetRunId, targetKey), targetKey);
|
|
125067
|
+
const serverWritable = new WorkflowServerWritableStream(value.name, targetRunId);
|
|
124990
125068
|
const state = createFlushableState();
|
|
124991
125069
|
ops.push(state.promise);
|
|
124992
125070
|
flushablePipe(serialize2.readable, serverWritable, state).catch(() => {
|
|
124993
125071
|
});
|
|
124994
125072
|
pollWritableLock(serialize2.writable, state);
|
|
125073
|
+
Object.defineProperty(serialize2.writable, STREAM_NAME_SYMBOL, {
|
|
125074
|
+
value: value.name,
|
|
125075
|
+
writable: false
|
|
125076
|
+
});
|
|
125077
|
+
Object.defineProperty(serialize2.writable, STREAM_SERVER_RUN_ID_SYMBOL, {
|
|
125078
|
+
value: targetRunId,
|
|
125079
|
+
writable: false
|
|
125080
|
+
});
|
|
125081
|
+
if (typeof value.deploymentId === "string") {
|
|
125082
|
+
Object.defineProperty(serialize2.writable, STREAM_SERVER_DEPLOYMENT_ID_SYMBOL, {
|
|
125083
|
+
value: value.deploymentId,
|
|
125084
|
+
writable: false
|
|
125085
|
+
});
|
|
125086
|
+
}
|
|
124995
125087
|
return serialize2.writable;
|
|
124996
125088
|
}
|
|
124997
125089
|
};
|
|
@@ -125053,16 +125145,29 @@ function getWorkflowRevivers(global2 = globalThis) {
|
|
|
125053
125145
|
});
|
|
125054
125146
|
},
|
|
125055
125147
|
WritableStream: (value) => {
|
|
125056
|
-
|
|
125148
|
+
const descriptor = {
|
|
125057
125149
|
[STREAM_NAME_SYMBOL]: {
|
|
125058
125150
|
value: value.name,
|
|
125059
125151
|
writable: false
|
|
125060
125152
|
}
|
|
125061
|
-
}
|
|
125153
|
+
};
|
|
125154
|
+
if (typeof value.runId === "string") {
|
|
125155
|
+
descriptor[STREAM_SERVER_RUN_ID_SYMBOL] = {
|
|
125156
|
+
value: value.runId,
|
|
125157
|
+
writable: false
|
|
125158
|
+
};
|
|
125159
|
+
}
|
|
125160
|
+
if (typeof value.deploymentId === "string") {
|
|
125161
|
+
descriptor[STREAM_SERVER_DEPLOYMENT_ID_SYMBOL] = {
|
|
125162
|
+
value: value.deploymentId,
|
|
125163
|
+
writable: false
|
|
125164
|
+
};
|
|
125165
|
+
}
|
|
125166
|
+
return Object.create(global2.WritableStream.prototype, descriptor);
|
|
125062
125167
|
}
|
|
125063
125168
|
};
|
|
125064
125169
|
}
|
|
125065
|
-
function getStepRevivers(global2 = globalThis, ops, runId, cryptoKey) {
|
|
125170
|
+
function getStepRevivers(global2 = globalThis, ops, runId, cryptoKey, deploymentId) {
|
|
125066
125171
|
return {
|
|
125067
125172
|
...getCommonRevivers(global2),
|
|
125068
125173
|
// StepFunction reviver for step context - returns raw step function
|
|
@@ -125166,7 +125271,7 @@ function getStepRevivers(global2 = globalThis, ops, runId, cryptoKey) {
|
|
|
125166
125271
|
pollReadableLock(userReadable, state);
|
|
125167
125272
|
return userReadable;
|
|
125168
125273
|
} else {
|
|
125169
|
-
const transform2 = getDeserializeStream(getStepRevivers(global2, ops, runId, cryptoKey), cryptoKey);
|
|
125274
|
+
const transform2 = getDeserializeStream(getStepRevivers(global2, ops, runId, cryptoKey, deploymentId), cryptoKey);
|
|
125170
125275
|
const state = createFlushableState();
|
|
125171
125276
|
ops.push(state.promise);
|
|
125172
125277
|
flushablePipe(readable2, transform2.writable, state).catch(() => {
|
|
@@ -125176,13 +125281,30 @@ function getStepRevivers(global2 = globalThis, ops, runId, cryptoKey) {
|
|
|
125176
125281
|
}
|
|
125177
125282
|
},
|
|
125178
125283
|
WritableStream: (value) => {
|
|
125179
|
-
const
|
|
125180
|
-
const
|
|
125284
|
+
const targetRunId = typeof value.runId === "string" ? value.runId : runId;
|
|
125285
|
+
const targetDeploymentId = typeof value.deploymentId === "string" ? value.deploymentId : targetRunId === runId ? deploymentId : void 0;
|
|
125286
|
+
const targetKey = targetRunId === runId ? cryptoKey : getForwardedWritableEncryptionKey(targetRunId, targetDeploymentId);
|
|
125287
|
+
const serialize2 = getSerializeStream(getStepReducers(global2, ops, targetRunId, targetKey), targetKey);
|
|
125288
|
+
const serverWritable = new WorkflowServerWritableStream(value.name, targetRunId);
|
|
125181
125289
|
const state = createFlushableState();
|
|
125182
125290
|
ops.push(state.promise);
|
|
125183
125291
|
flushablePipe(serialize2.readable, serverWritable, state).catch(() => {
|
|
125184
125292
|
});
|
|
125185
125293
|
pollWritableLock(serialize2.writable, state);
|
|
125294
|
+
Object.defineProperty(serialize2.writable, STREAM_NAME_SYMBOL, {
|
|
125295
|
+
value: value.name,
|
|
125296
|
+
writable: false
|
|
125297
|
+
});
|
|
125298
|
+
Object.defineProperty(serialize2.writable, STREAM_SERVER_RUN_ID_SYMBOL, {
|
|
125299
|
+
value: targetRunId,
|
|
125300
|
+
writable: false
|
|
125301
|
+
});
|
|
125302
|
+
if (targetDeploymentId) {
|
|
125303
|
+
Object.defineProperty(serialize2.writable, STREAM_SERVER_DEPLOYMENT_ID_SYMBOL, {
|
|
125304
|
+
value: targetDeploymentId,
|
|
125305
|
+
writable: false
|
|
125306
|
+
});
|
|
125307
|
+
}
|
|
125186
125308
|
return serialize2.writable;
|
|
125187
125309
|
}
|
|
125188
125310
|
};
|
|
@@ -125257,11 +125379,11 @@ async function hydrateWorkflowReturnValue(value, runId, key, ops = [], global2 =
|
|
|
125257
125379
|
}
|
|
125258
125380
|
throw new Error(`Unsupported serialization format: ${format2}`);
|
|
125259
125381
|
}
|
|
125260
|
-
async function hydrateStepArguments(value, runId, key, ops = [], global2 = globalThis, extraRevivers = {}) {
|
|
125382
|
+
async function hydrateStepArguments(value, runId, key, ops = [], global2 = globalThis, extraRevivers = {}, deploymentId) {
|
|
125261
125383
|
const decrypted = await maybeDecrypt(value, key);
|
|
125262
125384
|
if (!(decrypted instanceof Uint8Array)) {
|
|
125263
125385
|
return unflatten(decrypted, {
|
|
125264
|
-
...getStepRevivers(global2, ops, runId, key),
|
|
125386
|
+
...getStepRevivers(global2, ops, runId, key, deploymentId),
|
|
125265
125387
|
...extraRevivers
|
|
125266
125388
|
});
|
|
125267
125389
|
}
|
|
@@ -125269,7 +125391,7 @@ async function hydrateStepArguments(value, runId, key, ops = [], global2 = globa
|
|
|
125269
125391
|
if (format2 === SerializationFormat.DEVALUE_V1) {
|
|
125270
125392
|
const str = new TextDecoder().decode(payload);
|
|
125271
125393
|
const obj = parse$7(str, {
|
|
125272
|
-
...getStepRevivers(global2, ops, runId, key),
|
|
125394
|
+
...getStepRevivers(global2, ops, runId, key, deploymentId),
|
|
125273
125395
|
...extraRevivers
|
|
125274
125396
|
});
|
|
125275
125397
|
return obj;
|
|
@@ -128803,7 +128925,7 @@ createQueueHandler("__wkf_step_", async (message_, metadata) => {
|
|
|
128803
128925
|
const encryptionKey = rawKey ? await importKey(rawKey) : void 0;
|
|
128804
128926
|
const hydratedInput = await trace$2("step.hydrate", {}, async (hydrateSpan) => {
|
|
128805
128927
|
const startTime = Date.now();
|
|
128806
|
-
const result2 = await hydrateStepArguments(step.input, workflowRunId, encryptionKey, ops);
|
|
128928
|
+
const result2 = await hydrateStepArguments(step.input, workflowRunId, encryptionKey, ops, globalThis, {}, process.env.VERCEL_DEPLOYMENT_ID);
|
|
128807
128929
|
const durationMs = Date.now() - startTime;
|
|
128808
128930
|
hydrateSpan == null ? void 0 : hydrateSpan.setAttributes({
|
|
128809
128931
|
...StepArgumentsCount(result2.args.length),
|
|
@@ -128833,6 +128955,7 @@ createQueueHandler("__wkf_step_", async (message_, metadata) => {
|
|
|
128833
128955
|
// solution only works for vercel + local worlds.
|
|
128834
128956
|
url: isVercel ? `https://${process.env.VERCEL_URL}` : `http://localhost:${port ?? 3e3}`
|
|
128835
128957
|
},
|
|
128958
|
+
workflowDeploymentId: process.env.VERCEL_DEPLOYMENT_ID,
|
|
128836
128959
|
ops,
|
|
128837
128960
|
closureVars: hydratedInput.closureVars,
|
|
128838
128961
|
encryptionKey
|
|
@@ -152422,7 +152545,7 @@ const route4 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProper
|
|
|
152422
152545
|
__proto__: null,
|
|
152423
152546
|
loader
|
|
152424
152547
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
152425
|
-
const serverManifest = { "entry": { "module": "/assets/entry.client-BWsSsWQm.js", "imports": ["/assets/index-DQa-BExo.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
|
|
152548
|
+
const serverManifest = { "entry": { "module": "/assets/entry.client-BWsSsWQm.js", "imports": ["/assets/index-DQa-BExo.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--_OYilvb.js", "imports": ["/assets/index-DQa-BExo.js", "/assets/mermaid-3ZIDBTTL-CjHrXABH.js"], "css": ["/assets/root-aMfmV5uh.css", "/assets/mermaid-3ZIDBTTL-DKxHcEOp.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-D6JmZfUp.js", "imports": ["/assets/index-DQa-BExo.js", "/assets/workflow-graph-viewer-BNsGQIfR.js", "/assets/mermaid-3ZIDBTTL-CjHrXABH.js"], "css": ["/assets/workflow-graph-viewer-yls6qlc0.css", "/assets/mermaid-3ZIDBTTL-DKxHcEOp.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-BeA7fQfA.js", "imports": ["/assets/index-DQa-BExo.js", "/assets/workflow-graph-viewer-BNsGQIfR.js", "/assets/mermaid-3ZIDBTTL-CjHrXABH.js", "/assets/encryption-5eom23r0.js"], "css": ["/assets/workflow-graph-viewer-yls6qlc0.css", "/assets/mermaid-3ZIDBTTL-DKxHcEOp.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-3243993f.js", "version": "3243993f", "sri": void 0 };
|
|
152426
152549
|
const assetsBuildDirectory = "build/client";
|
|
152427
152550
|
const basename = "/";
|
|
152428
152551
|
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-
|
|
2
|
-
import { F as requireTokenError, C as requireTokenUtil } from "./server-build-
|
|
1
|
+
import { g as getDefaultExportFromCjs } from "./app-BEUod6Qu.js";
|
|
2
|
+
import { F as requireTokenError, C as requireTokenUtil } from "./server-build-JwomDvSn.js";
|
|
3
3
|
function _mergeNamespaces(n, m) {
|
|
4
4
|
for (var i = 0; i < m.length; i++) {
|
|
5
5
|
const e = m[i];
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { g as getDefaultExportFromCjs } from "./app-
|
|
2
|
-
import { C as requireTokenUtil } from "./server-build-
|
|
1
|
+
import { g as getDefaultExportFromCjs } from "./app-BEUod6Qu.js";
|
|
2
|
+
import { C as requireTokenUtil } from "./server-build-JwomDvSn.js";
|
|
3
3
|
function _mergeNamespaces(n, m) {
|
|
4
4
|
for (var i = 0; i < m.length; i++) {
|
|
5
5
|
const e = m[i];
|
package/build/server/index.js
CHANGED
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
|
+
"version": "4.1.9",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"private": false,
|
|
7
7
|
"files": [
|
|
@@ -71,12 +71,12 @@
|
|
|
71
71
|
"vite": "^6",
|
|
72
72
|
"vitest": "^3",
|
|
73
73
|
"jsdom": "^26",
|
|
74
|
-
"@workflow/core": "4.
|
|
75
|
-
"@workflow/errors": "4.1.
|
|
74
|
+
"@workflow/core": "4.3.1",
|
|
75
|
+
"@workflow/errors": "4.1.3",
|
|
76
76
|
"@workflow/utils": "4.1.2",
|
|
77
|
-
"@workflow/web-shared": "4.1.
|
|
78
|
-
"@workflow/world": "4.1.
|
|
79
|
-
"@workflow/world-vercel": "4.3.
|
|
77
|
+
"@workflow/web-shared": "4.1.9",
|
|
78
|
+
"@workflow/world": "4.1.4",
|
|
79
|
+
"@workflow/world-vercel": "4.3.2"
|
|
80
80
|
},
|
|
81
81
|
"scripts": {
|
|
82
82
|
"dev": "react-router dev",
|