@workflow/web 5.0.0-beta.36 → 5.0.0-beta.37
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/{arrow-up-right-Dv3gGqIf.js → arrow-up-right-DDNPFYmg.js} +1 -1
- package/build/client/assets/{entry.client-Q4eUIqMI.js → entry.client-LwI3HNYl.js} +1 -1
- package/build/client/assets/{highlighted-body-B3W2YXNL-C5gyMelW.js → highlighted-body-B3W2YXNL-CRgNr0YA.js} +2 -2
- package/build/client/assets/{home-0OfTSXd1.js → home-BqvW8ODs.js} +6 -7
- package/build/client/assets/{index-Q81MFBxC.js → index-PFjW8YjQ.js} +20 -20
- package/build/client/assets/manifest-7f03c136.js +1 -0
- package/build/client/assets/{mermaid-3ZIDBTTL-C_EWPx9a.js → mermaid-3ZIDBTTL-CMP9Tato.js} +886 -170
- package/build/client/assets/{root-BPK1T9Ck.js → root-2ub-CsWS.js} +11 -30
- package/build/client/assets/{run-detail-CrqNzQ_y.js → run-detail-B1PK-m7y.js} +21 -19
- package/build/client/assets/{workflow-graph-viewer-DrfqsDRu.js → workflow-graph-viewer-DOLwtzSv.js} +2 -3
- package/build/client/assets/{zstd-browser-decoder-Ds2MNSdp.js → zstd-browser-decoder-BAY5XtBl.js} +2 -2
- package/build/server/assets/{app-BSsmG188.js → app-BaJoK9ck.js} +1 -1
- package/build/server/assets/{highlighted-body-B3W2YXNL-C7tx66m_.js → highlighted-body-B3W2YXNL-DE3KXslx.js} +2 -2
- package/build/server/assets/{index-Cnj8rNtV.js → index-M4Ai7vsa.js} +48 -49
- package/build/server/assets/{mermaid-3ZIDBTTL-DStR4R-M.js → mermaid-3ZIDBTTL-DjL45D7x.js} +2 -2
- package/build/server/assets/{server-build-4Pq8AwvA.js → server-build-C11Xqmwk.js} +1964 -1368
- package/build/server/assets/{token-CYc8-6E0.js → token-Ulh8Tdgw.js} +2 -2
- package/build/server/assets/{token-util-D94FNaX0.js → token-util-CiVcDWD3.js} +2 -2
- package/build/server/assets/{zstd-browser-decoder-DXnLXD-w.js → zstd-browser-decoder-tQARkzJ5.js} +2 -2
- package/build/server/index.js +1 -1
- package/package.json +8 -8
- package/build/client/assets/encryption-CLVP4klT.js +0 -51
- package/build/client/assets/index-STTN0-2V.js +0 -306
- package/build/client/assets/manifest-485c4078.js +0 -1
|
@@ -2,8 +2,8 @@ import { createRequire as __wkfCreateRequire } from "node:module";
|
|
|
2
2
|
if (typeof require === "undefined") {
|
|
3
3
|
globalThis.require = __wkfCreateRequire(import.meta.url);
|
|
4
4
|
}
|
|
5
|
-
import { g as getDefaultExportFromCjs } from "./app-
|
|
6
|
-
import {
|
|
5
|
+
import { g as getDefaultExportFromCjs } from "./app-BaJoK9ck.js";
|
|
6
|
+
import { aD as requireTokenError, aC as requireTokenUtil } from "./server-build-C11Xqmwk.js";
|
|
7
7
|
function _mergeNamespaces(n, m) {
|
|
8
8
|
for (var i = 0; i < m.length; i++) {
|
|
9
9
|
const e = m[i];
|
|
@@ -2,8 +2,8 @@ import { createRequire as __wkfCreateRequire } from "node:module";
|
|
|
2
2
|
if (typeof require === "undefined") {
|
|
3
3
|
globalThis.require = __wkfCreateRequire(import.meta.url);
|
|
4
4
|
}
|
|
5
|
-
import { g as getDefaultExportFromCjs } from "./app-
|
|
6
|
-
import {
|
|
5
|
+
import { g as getDefaultExportFromCjs } from "./app-BaJoK9ck.js";
|
|
6
|
+
import { aC as requireTokenUtil } from "./server-build-C11Xqmwk.js";
|
|
7
7
|
function _mergeNamespaces(n, m) {
|
|
8
8
|
for (var i = 0; i < m.length; i++) {
|
|
9
9
|
const e = m[i];
|
package/build/server/assets/{zstd-browser-decoder-DXnLXD-w.js → zstd-browser-decoder-tQARkzJ5.js}
RENAMED
|
@@ -2,8 +2,8 @@ import { createRequire as __wkfCreateRequire } from "node:module";
|
|
|
2
2
|
if (typeof require === "undefined") {
|
|
3
3
|
globalThis.require = __wkfCreateRequire(import.meta.url);
|
|
4
4
|
}
|
|
5
|
-
import {
|
|
6
|
-
import "./app-
|
|
5
|
+
import { aB as registerZstdDecoder } from "./server-build-C11Xqmwk.js";
|
|
6
|
+
import "./app-BaJoK9ck.js";
|
|
7
7
|
import "stream";
|
|
8
8
|
import "express";
|
|
9
9
|
import "node:stream";
|
package/build/server/index.js
CHANGED
|
@@ -2,7 +2,7 @@ import { createRequire as __wkfCreateRequire } from "node:module";
|
|
|
2
2
|
if (typeof require === "undefined") {
|
|
3
3
|
globalThis.require = __wkfCreateRequire(import.meta.url);
|
|
4
4
|
}
|
|
5
|
-
import { n } from "./assets/app-
|
|
5
|
+
import { n } from "./assets/app-BaJoK9ck.js";
|
|
6
6
|
import "express";
|
|
7
7
|
import "stream";
|
|
8
8
|
export {
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@workflow/web",
|
|
3
3
|
"description": "Workflow Observability UI",
|
|
4
|
-
"version": "5.0.0-beta.
|
|
4
|
+
"version": "5.0.0-beta.37",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"private": false,
|
|
7
7
|
"files": [
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
"dependencies": {
|
|
30
30
|
"express": "^5.2.1",
|
|
31
31
|
"swr": "^2.3.6",
|
|
32
|
-
"@workflow/world-local": "5.0.0-beta.
|
|
32
|
+
"@workflow/world-local": "5.0.0-beta.31"
|
|
33
33
|
},
|
|
34
34
|
"devDependencies": {
|
|
35
35
|
"@biomejs/biome": "^2.4.4",
|
|
@@ -74,12 +74,12 @@
|
|
|
74
74
|
"typescript": "^6.0.3",
|
|
75
75
|
"vite": "^6",
|
|
76
76
|
"vitest": "^3.2.7",
|
|
77
|
-
"@workflow/core": "5.0.0-beta.
|
|
78
|
-
"@workflow/
|
|
79
|
-
"@workflow/
|
|
80
|
-
"@workflow/
|
|
81
|
-
"@workflow/world
|
|
82
|
-
"@workflow/world": "5.0.0-beta.
|
|
77
|
+
"@workflow/core": "5.0.0-beta.37",
|
|
78
|
+
"@workflow/errors": "5.0.0-beta.13",
|
|
79
|
+
"@workflow/utils": "5.0.0-beta.7",
|
|
80
|
+
"@workflow/web-shared": "5.0.0-beta.37",
|
|
81
|
+
"@workflow/world": "5.0.0-beta.23",
|
|
82
|
+
"@workflow/world-vercel": "5.0.0-beta.33"
|
|
83
83
|
},
|
|
84
84
|
"scripts": {
|
|
85
85
|
"dev": "react-router dev",
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import { W as WorkflowRuntimeError, R as RuntimeDecryptionError } from "./index-STTN0-2V.js";
|
|
2
|
-
import "./index-Q81MFBxC.js";
|
|
3
|
-
const NONCE_LENGTH = 12;
|
|
4
|
-
const TAG_LENGTH = 128;
|
|
5
|
-
const KEY_LENGTH = 32;
|
|
6
|
-
async function importKey(raw, usages = ["encrypt", "decrypt"]) {
|
|
7
|
-
if (raw.byteLength !== KEY_LENGTH) {
|
|
8
|
-
throw new WorkflowRuntimeError(`Encryption key must be exactly ${KEY_LENGTH} bytes, got ${raw.byteLength}`);
|
|
9
|
-
}
|
|
10
|
-
return globalThis.crypto.subtle.importKey(
|
|
11
|
-
"raw",
|
|
12
|
-
raw,
|
|
13
|
-
"AES-GCM",
|
|
14
|
-
false,
|
|
15
|
-
// `KeyUsage` is a DOM-lib type that's not in scope under `es2022`.
|
|
16
|
-
// The `ReadonlyArray<'encrypt' | 'decrypt'>` parameter type matches
|
|
17
|
-
// a strict subset of `KeyUsage[]`, so this cast is sound.
|
|
18
|
-
usages
|
|
19
|
-
);
|
|
20
|
-
}
|
|
21
|
-
async function decrypt(key, data) {
|
|
22
|
-
const minLength = NONCE_LENGTH + TAG_LENGTH / 8;
|
|
23
|
-
if (data.byteLength < minLength) {
|
|
24
|
-
throw new RuntimeDecryptionError(`Encrypted data too short: expected at least ${minLength} bytes, got ${data.byteLength}`, {
|
|
25
|
-
context: {
|
|
26
|
-
operation: "decrypt",
|
|
27
|
-
byteLength: data.byteLength
|
|
28
|
-
}
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
const nonce = data.subarray(0, NONCE_LENGTH);
|
|
32
|
-
const ciphertext = data.subarray(NONCE_LENGTH);
|
|
33
|
-
let plaintext;
|
|
34
|
-
try {
|
|
35
|
-
plaintext = await globalThis.crypto.subtle.decrypt({ name: "AES-GCM", iv: nonce, tagLength: TAG_LENGTH }, key, ciphertext);
|
|
36
|
-
} catch (cause) {
|
|
37
|
-
const causeMsg = cause instanceof Error ? cause.message : String(cause);
|
|
38
|
-
throw new RuntimeDecryptionError(`AES-256-GCM decryption failed: ${causeMsg}`, {
|
|
39
|
-
cause,
|
|
40
|
-
context: {
|
|
41
|
-
operation: "decrypt",
|
|
42
|
-
byteLength: data.byteLength
|
|
43
|
-
}
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
return new Uint8Array(plaintext);
|
|
47
|
-
}
|
|
48
|
-
export {
|
|
49
|
-
decrypt,
|
|
50
|
-
importKey
|
|
51
|
-
};
|
|
@@ -1,306 +0,0 @@
|
|
|
1
|
-
var __defProp = Object.defineProperty;
|
|
2
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
3
|
-
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
4
|
-
import { g as getDefaultExportFromCjs } from "./index-Q81MFBxC.js";
|
|
5
|
-
var ms$1;
|
|
6
|
-
var hasRequiredMs;
|
|
7
|
-
function requireMs() {
|
|
8
|
-
if (hasRequiredMs) return ms$1;
|
|
9
|
-
hasRequiredMs = 1;
|
|
10
|
-
var s = 1e3;
|
|
11
|
-
var m = s * 60;
|
|
12
|
-
var h = m * 60;
|
|
13
|
-
var d = h * 24;
|
|
14
|
-
var w = d * 7;
|
|
15
|
-
var y = d * 365.25;
|
|
16
|
-
ms$1 = function(val, options) {
|
|
17
|
-
options = options || {};
|
|
18
|
-
var type = typeof val;
|
|
19
|
-
if (type === "string" && val.length > 0) {
|
|
20
|
-
return parse(val);
|
|
21
|
-
} else if (type === "number" && isFinite(val)) {
|
|
22
|
-
return options.long ? fmtLong(val) : fmtShort(val);
|
|
23
|
-
}
|
|
24
|
-
throw new Error(
|
|
25
|
-
"val is not a non-empty string or a valid number. val=" + JSON.stringify(val)
|
|
26
|
-
);
|
|
27
|
-
};
|
|
28
|
-
function parse(str) {
|
|
29
|
-
str = String(str);
|
|
30
|
-
if (str.length > 100) {
|
|
31
|
-
return;
|
|
32
|
-
}
|
|
33
|
-
var match = /^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(
|
|
34
|
-
str
|
|
35
|
-
);
|
|
36
|
-
if (!match) {
|
|
37
|
-
return;
|
|
38
|
-
}
|
|
39
|
-
var n = parseFloat(match[1]);
|
|
40
|
-
var type = (match[2] || "ms").toLowerCase();
|
|
41
|
-
switch (type) {
|
|
42
|
-
case "years":
|
|
43
|
-
case "year":
|
|
44
|
-
case "yrs":
|
|
45
|
-
case "yr":
|
|
46
|
-
case "y":
|
|
47
|
-
return n * y;
|
|
48
|
-
case "weeks":
|
|
49
|
-
case "week":
|
|
50
|
-
case "w":
|
|
51
|
-
return n * w;
|
|
52
|
-
case "days":
|
|
53
|
-
case "day":
|
|
54
|
-
case "d":
|
|
55
|
-
return n * d;
|
|
56
|
-
case "hours":
|
|
57
|
-
case "hour":
|
|
58
|
-
case "hrs":
|
|
59
|
-
case "hr":
|
|
60
|
-
case "h":
|
|
61
|
-
return n * h;
|
|
62
|
-
case "minutes":
|
|
63
|
-
case "minute":
|
|
64
|
-
case "mins":
|
|
65
|
-
case "min":
|
|
66
|
-
case "m":
|
|
67
|
-
return n * m;
|
|
68
|
-
case "seconds":
|
|
69
|
-
case "second":
|
|
70
|
-
case "secs":
|
|
71
|
-
case "sec":
|
|
72
|
-
case "s":
|
|
73
|
-
return n * s;
|
|
74
|
-
case "milliseconds":
|
|
75
|
-
case "millisecond":
|
|
76
|
-
case "msecs":
|
|
77
|
-
case "msec":
|
|
78
|
-
case "ms":
|
|
79
|
-
return n;
|
|
80
|
-
default:
|
|
81
|
-
return void 0;
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
function fmtShort(ms2) {
|
|
85
|
-
var msAbs = Math.abs(ms2);
|
|
86
|
-
if (msAbs >= d) {
|
|
87
|
-
return Math.round(ms2 / d) + "d";
|
|
88
|
-
}
|
|
89
|
-
if (msAbs >= h) {
|
|
90
|
-
return Math.round(ms2 / h) + "h";
|
|
91
|
-
}
|
|
92
|
-
if (msAbs >= m) {
|
|
93
|
-
return Math.round(ms2 / m) + "m";
|
|
94
|
-
}
|
|
95
|
-
if (msAbs >= s) {
|
|
96
|
-
return Math.round(ms2 / s) + "s";
|
|
97
|
-
}
|
|
98
|
-
return ms2 + "ms";
|
|
99
|
-
}
|
|
100
|
-
function fmtLong(ms2) {
|
|
101
|
-
var msAbs = Math.abs(ms2);
|
|
102
|
-
if (msAbs >= d) {
|
|
103
|
-
return plural(ms2, msAbs, d, "day");
|
|
104
|
-
}
|
|
105
|
-
if (msAbs >= h) {
|
|
106
|
-
return plural(ms2, msAbs, h, "hour");
|
|
107
|
-
}
|
|
108
|
-
if (msAbs >= m) {
|
|
109
|
-
return plural(ms2, msAbs, m, "minute");
|
|
110
|
-
}
|
|
111
|
-
if (msAbs >= s) {
|
|
112
|
-
return plural(ms2, msAbs, s, "second");
|
|
113
|
-
}
|
|
114
|
-
return ms2 + " ms";
|
|
115
|
-
}
|
|
116
|
-
function plural(ms2, msAbs, n, name) {
|
|
117
|
-
var isPlural = msAbs >= n * 1.5;
|
|
118
|
-
return Math.round(ms2 / n) + " " + name + (isPlural ? "s" : "");
|
|
119
|
-
}
|
|
120
|
-
return ms$1;
|
|
121
|
-
}
|
|
122
|
-
var msExports = requireMs();
|
|
123
|
-
const ms = /* @__PURE__ */ getDefaultExportFromCjs(msExports);
|
|
124
|
-
function parseDurationToDate(param) {
|
|
125
|
-
if (typeof param === "string") {
|
|
126
|
-
const durationMs = ms(param);
|
|
127
|
-
if (typeof durationMs !== "number" || durationMs < 0) {
|
|
128
|
-
throw new Error(`Invalid duration: "${param}". Expected a valid duration string like "1s", "1m", "1h", etc.`);
|
|
129
|
-
}
|
|
130
|
-
return new Date(Date.now() + durationMs);
|
|
131
|
-
} else if (typeof param === "number") {
|
|
132
|
-
if (param < 0 || !Number.isFinite(param)) {
|
|
133
|
-
throw new Error(`Invalid duration: ${param}. Expected a non-negative finite number of milliseconds.`);
|
|
134
|
-
}
|
|
135
|
-
return new Date(Date.now() + param);
|
|
136
|
-
} else if (param instanceof Date || param && typeof param === "object" && typeof param.getTime === "function") {
|
|
137
|
-
return param instanceof Date ? param : new Date(param.getTime());
|
|
138
|
-
} else {
|
|
139
|
-
throw new Error(`Invalid duration parameter. Expected a duration string, number (milliseconds), or Date object.`);
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
const BASE_URL = "https://workflow-sdk.dev/err";
|
|
143
|
-
function isError(value) {
|
|
144
|
-
return typeof value === "object" && value !== null && "name" in value && "message" in value;
|
|
145
|
-
}
|
|
146
|
-
function appendFramedDetails(title, details) {
|
|
147
|
-
if (details.length === 0)
|
|
148
|
-
return title;
|
|
149
|
-
const lines = [title];
|
|
150
|
-
details.forEach((detail, index) => {
|
|
151
|
-
const isLast = index === details.length - 1;
|
|
152
|
-
const head = isLast ? "╰▶ " : "├▶ ";
|
|
153
|
-
const cont = isLast ? " " : "│ ";
|
|
154
|
-
const text = `${detail.label}: ${detail.value}`;
|
|
155
|
-
text.split("\n").forEach((line, i) => lines.push(`${i === 0 ? head : cont}${line}`));
|
|
156
|
-
});
|
|
157
|
-
return lines.join("\n");
|
|
158
|
-
}
|
|
159
|
-
function buildFramedDetails(hint, slug) {
|
|
160
|
-
const out = [];
|
|
161
|
-
if (slug)
|
|
162
|
-
out.push({ label: "docs", value: `${BASE_URL}/${slug}` });
|
|
163
|
-
return out;
|
|
164
|
-
}
|
|
165
|
-
const ERROR_SLUGS = {
|
|
166
|
-
HOOK_CONFLICT: "hook-conflict",
|
|
167
|
-
RUNTIME_DECRYPTION_FAILED: "runtime-decryption-failed"
|
|
168
|
-
};
|
|
169
|
-
class WorkflowError extends Error {
|
|
170
|
-
constructor(message, options) {
|
|
171
|
-
const msgDocs = appendFramedDetails(message, buildFramedDetails(void 0, options == null ? void 0 : options.slug));
|
|
172
|
-
super(msgDocs, { cause: options == null ? void 0 : options.cause });
|
|
173
|
-
__publicField(this, "cause");
|
|
174
|
-
if ((options == null ? void 0 : options.cause) !== void 0) {
|
|
175
|
-
this.cause = options.cause;
|
|
176
|
-
}
|
|
177
|
-
if ((options == null ? void 0 : options.cause) instanceof Error) {
|
|
178
|
-
this.stack = `${this.stack}
|
|
179
|
-
Caused by: ${options.cause.stack}`;
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
static is(value) {
|
|
183
|
-
return isError(value) && value.name === "WorkflowError";
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
class WorkflowRuntimeError extends WorkflowError {
|
|
187
|
-
constructor(message, options) {
|
|
188
|
-
super(message, {
|
|
189
|
-
...options
|
|
190
|
-
});
|
|
191
|
-
this.name = "WorkflowRuntimeError";
|
|
192
|
-
}
|
|
193
|
-
static is(value) {
|
|
194
|
-
return isError(value) && value.name === "WorkflowRuntimeError";
|
|
195
|
-
}
|
|
196
|
-
}
|
|
197
|
-
class RuntimeDecryptionError extends WorkflowRuntimeError {
|
|
198
|
-
constructor(message, options) {
|
|
199
|
-
super(message, {
|
|
200
|
-
cause: options == null ? void 0 : options.cause,
|
|
201
|
-
slug: ERROR_SLUGS.RUNTIME_DECRYPTION_FAILED
|
|
202
|
-
});
|
|
203
|
-
this.name = "RuntimeDecryptionError";
|
|
204
|
-
if ((options == null ? void 0 : options.context) !== void 0) {
|
|
205
|
-
this.context = options.context;
|
|
206
|
-
}
|
|
207
|
-
}
|
|
208
|
-
static is(value) {
|
|
209
|
-
return isError(value) && value.name === "RuntimeDecryptionError";
|
|
210
|
-
}
|
|
211
|
-
}
|
|
212
|
-
class HookConflictError extends WorkflowError {
|
|
213
|
-
constructor(token, conflictingRunId) {
|
|
214
|
-
super(`Hook token "${token}" is already in use by another workflow${conflictingRunId ? ` (run "${conflictingRunId}")` : ""}`, {
|
|
215
|
-
slug: ERROR_SLUGS.HOOK_CONFLICT
|
|
216
|
-
});
|
|
217
|
-
__publicField(this, "token");
|
|
218
|
-
// TODO: Make this required once all persisted hook_conflict events and World
|
|
219
|
-
// implementations always include the active hook owner's run ID.
|
|
220
|
-
__publicField(this, "conflictingRunId");
|
|
221
|
-
this.name = "HookConflictError";
|
|
222
|
-
this.token = token;
|
|
223
|
-
if (conflictingRunId !== void 0) {
|
|
224
|
-
this.conflictingRunId = conflictingRunId;
|
|
225
|
-
}
|
|
226
|
-
}
|
|
227
|
-
static is(value) {
|
|
228
|
-
return isError(value) && value.name === "HookConflictError";
|
|
229
|
-
}
|
|
230
|
-
}
|
|
231
|
-
class FatalError extends Error {
|
|
232
|
-
constructor(message) {
|
|
233
|
-
super(message);
|
|
234
|
-
__publicField(this, "fatal", true);
|
|
235
|
-
this.name = "FatalError";
|
|
236
|
-
}
|
|
237
|
-
static is(value) {
|
|
238
|
-
if (!isError(value))
|
|
239
|
-
return false;
|
|
240
|
-
if (value.name === "FatalError")
|
|
241
|
-
return true;
|
|
242
|
-
return value.fatal === true;
|
|
243
|
-
}
|
|
244
|
-
}
|
|
245
|
-
class RetryableError extends Error {
|
|
246
|
-
constructor(message, options = {}) {
|
|
247
|
-
super(message);
|
|
248
|
-
/**
|
|
249
|
-
* The Date when the step should be retried.
|
|
250
|
-
*/
|
|
251
|
-
__publicField(this, "retryAfter");
|
|
252
|
-
this.name = "RetryableError";
|
|
253
|
-
if (options.retryAfter !== void 0) {
|
|
254
|
-
this.retryAfter = parseDurationToDate(options.retryAfter);
|
|
255
|
-
} else {
|
|
256
|
-
this.retryAfter = new Date(Date.now() + 1e3);
|
|
257
|
-
}
|
|
258
|
-
}
|
|
259
|
-
static is(value) {
|
|
260
|
-
return isError(value) && value.name === "RetryableError";
|
|
261
|
-
}
|
|
262
|
-
}
|
|
263
|
-
const VERCEL_403_ERROR_MESSAGE = "Your current vercel account does not have access to this resource. Use `vercel login` or `vercel switch` to ensure you are linked to the right account.";
|
|
264
|
-
const FATAL_ERROR_KEY = Symbol.for("@workflow/errors//FatalError");
|
|
265
|
-
const RETRYABLE_ERROR_KEY = Symbol.for("@workflow/errors//RetryableError");
|
|
266
|
-
const HOOK_CONFLICT_ERROR_KEY = Symbol.for("@workflow/errors//HookConflictError");
|
|
267
|
-
const RUNTIME_DECRYPTION_ERROR_KEY = Symbol.for("@workflow/errors//RuntimeDecryptionError");
|
|
268
|
-
if (typeof globalThis !== "undefined") {
|
|
269
|
-
if (!Object.hasOwn(globalThis, FATAL_ERROR_KEY)) {
|
|
270
|
-
Object.defineProperty(globalThis, FATAL_ERROR_KEY, {
|
|
271
|
-
value: FatalError,
|
|
272
|
-
writable: false,
|
|
273
|
-
enumerable: false,
|
|
274
|
-
configurable: false
|
|
275
|
-
});
|
|
276
|
-
}
|
|
277
|
-
if (!Object.hasOwn(globalThis, RETRYABLE_ERROR_KEY)) {
|
|
278
|
-
Object.defineProperty(globalThis, RETRYABLE_ERROR_KEY, {
|
|
279
|
-
value: RetryableError,
|
|
280
|
-
writable: false,
|
|
281
|
-
enumerable: false,
|
|
282
|
-
configurable: false
|
|
283
|
-
});
|
|
284
|
-
}
|
|
285
|
-
if (!Object.hasOwn(globalThis, HOOK_CONFLICT_ERROR_KEY)) {
|
|
286
|
-
Object.defineProperty(globalThis, HOOK_CONFLICT_ERROR_KEY, {
|
|
287
|
-
value: HookConflictError,
|
|
288
|
-
writable: false,
|
|
289
|
-
enumerable: false,
|
|
290
|
-
configurable: false
|
|
291
|
-
});
|
|
292
|
-
}
|
|
293
|
-
if (!Object.hasOwn(globalThis, RUNTIME_DECRYPTION_ERROR_KEY)) {
|
|
294
|
-
Object.defineProperty(globalThis, RUNTIME_DECRYPTION_ERROR_KEY, {
|
|
295
|
-
value: RuntimeDecryptionError,
|
|
296
|
-
writable: false,
|
|
297
|
-
enumerable: false,
|
|
298
|
-
configurable: false
|
|
299
|
-
});
|
|
300
|
-
}
|
|
301
|
-
}
|
|
302
|
-
export {
|
|
303
|
-
RuntimeDecryptionError as R,
|
|
304
|
-
VERCEL_403_ERROR_MESSAGE as V,
|
|
305
|
-
WorkflowRuntimeError as W
|
|
306
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
window.__reactRouterManifest={"entry":{"module":"/assets/entry.client-Q4eUIqMI.js","imports":["/assets/index-Q81MFBxC.js"],"css":[]},"routes":{"root":{"id":"root","path":"","hasAction":true,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":true,"module":"/assets/root-BPK1T9Ck.js","imports":["/assets/index-Q81MFBxC.js","/assets/mermaid-3ZIDBTTL-C_EWPx9a.js","/assets/arrow-up-right-Dv3gGqIf.js"],"css":["/assets/root-15oK726f.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-0OfTSXd1.js","imports":["/assets/index-Q81MFBxC.js","/assets/workflow-graph-viewer-DrfqsDRu.js","/assets/mermaid-3ZIDBTTL-C_EWPx9a.js","/assets/index-STTN0-2V.js"],"css":["/assets/workflow-graph-viewer-DnlNuQQH.css","/assets/mermaid-3ZIDBTTL-DDxQhcP4.css"]},"routes/run-detail":{"id":"routes/run-detail","parentId":"root","path":"run/:runId","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/run-detail-CrqNzQ_y.js","imports":["/assets/index-Q81MFBxC.js","/assets/workflow-graph-viewer-DrfqsDRu.js","/assets/mermaid-3ZIDBTTL-C_EWPx9a.js","/assets/arrow-up-right-Dv3gGqIf.js","/assets/encryption-CLVP4klT.js","/assets/index-STTN0-2V.js"],"css":["/assets/run-detail-CWoGxu_0.css","/assets/workflow-graph-viewer-DnlNuQQH.css","/assets/mermaid-3ZIDBTTL-DDxQhcP4.css"]},"routes/api.rpc":{"id":"routes/api.rpc","parentId":"root","path":"api/rpc","hasAction":true,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.rpc-l0sNRNKZ.js","imports":[],"css":[]},"routes/api.stream.$streamId":{"id":"routes/api.stream.$streamId","parentId":"root","path":"api/stream/:streamId","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.stream._streamId-l0sNRNKZ.js","imports":[],"css":[]}},"url":"/assets/manifest-485c4078.js","version":"485c4078"};
|