@workflow/web 5.0.0-beta.44 → 5.0.0-beta.47
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-AtCpRI70.js → arrow-up-right-C52N96YH.js} +1 -1
- package/build/client/assets/{highlighted-body-B3W2YXNL-BPRwlr7r.js → highlighted-body-B3W2YXNL-BzCKp954.js} +1 -1
- package/build/client/assets/{home-BMHSjdeg.js → home-CXFjRmpa.js} +3 -3
- package/build/client/assets/{loader-circle-abAcDEYl.js → loader-circle-BQzzSKVU.js} +1 -1
- package/build/client/assets/{manifest-a9a8ec99.js → manifest-9ff1658d.js} +1 -1
- package/build/client/assets/{mermaid-3ZIDBTTL-CrfHaTou.js → mermaid-3ZIDBTTL-BrUzeGHN.js} +305 -158
- package/build/client/assets/{root-e8qlLJiK.js → root-DBp4o4Ap.js} +3 -3
- package/build/client/assets/{run-detail-CrWq-9Tk.js → run-detail-7tPGLWpY.js} +58 -37
- package/build/client/assets/{workflow-graph-viewer-CFAXloBw.js → workflow-graph-viewer-BI72rVK-.js} +1 -1
- package/build/client/assets/{zstd-browser-decoder-B9DmHkyE.js → zstd-browser-decoder-C5OUdy0l.js} +1 -1
- package/build/server/assets/{app-wed_Qw3X.js → app-z0qVD1ZU.js} +811 -505
- package/build/server/assets/{highlighted-body-B3W2YXNL-imLU-Cvz.js → highlighted-body-B3W2YXNL-BRzynHFv.js} +1 -1
- package/build/server/assets/index-DDMGTwh_.js +166 -0
- package/build/server/assets/{index-Dsr6TVhD.js → index-jQkBA81b.js} +1 -1
- package/build/server/assets/{mermaid-3ZIDBTTL-CgaDjNgb.js → mermaid-3ZIDBTTL-CNWRBcN0.js} +1 -1
- package/build/server/assets/{token-CA6-cBL4.js → token-BSEhy2T4.js} +1 -1
- package/build/server/assets/{token-util-BNjC27Tj.js → token-util-D_gzpVW2.js} +1 -1
- package/build/server/assets/{websocket-server-S8DMC969.js → websocket-server-CDTVQU5X.js} +1 -1
- package/build/server/assets/{wrapper-DeK0m2tW.js → wrapper-BxieYZVg.js} +3 -3
- package/build/server/assets/{ws-transport-DdxSF5J6.js → ws-transport-DbDOLT7f.js} +5 -5
- package/build/server/assets/{zstd-browser-decoder-Cd_DTxZV.js → zstd-browser-decoder-CtzWlfs5.js} +1 -1
- package/build/server/index.js +3 -3
- package/package.json +8 -8
- package/build/server/assets/index-DxLR22JW.js +0 -165
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/zstd-browser-decoder-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/zstd-browser-decoder-C5OUdy0l.js","assets/index-PFjW8YjQ.js","assets/highlighted-body-B3W2YXNL-BzCKp954.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);
|
|
@@ -14826,11 +14826,116 @@ function date(params) {
|
|
|
14826
14826
|
return /* @__PURE__ */ _coercedDate(ZodDate, params);
|
|
14827
14827
|
}
|
|
14828
14828
|
const RESERVED_ATTRIBUTE_KEY_PREFIX = "$";
|
|
14829
|
+
const ATTRIBUTE_KEY_MAX_LENGTH = 256;
|
|
14830
|
+
const ATTRIBUTE_VALUE_MAX_BYTES = 256;
|
|
14831
|
+
const ATTRIBUTE_MAX_PER_RUN = 64;
|
|
14832
|
+
new TextEncoder();
|
|
14833
|
+
class AttributeValidationError extends Error {
|
|
14834
|
+
constructor(message) {
|
|
14835
|
+
super(message);
|
|
14836
|
+
this.name = "AttributeValidationError";
|
|
14837
|
+
}
|
|
14838
|
+
}
|
|
14839
|
+
function attributeCountDelta(key, value, existingKeys) {
|
|
14840
|
+
if (value === null)
|
|
14841
|
+
return (existingKeys == null ? void 0 : existingKeys.has(key)) ? -1 : 0;
|
|
14842
|
+
return existingKeys === void 0 || !existingKeys.has(key) ? 1 : 0;
|
|
14843
|
+
}
|
|
14844
|
+
function validateAttributeBatchConstraints(changes, context = {}) {
|
|
14845
|
+
const seenKeys = /* @__PURE__ */ new Set();
|
|
14846
|
+
const existingKeys = context.existingKeys === void 0 ? void 0 : context.existingKeys instanceof Set ? context.existingKeys : new Set(context.existingKeys);
|
|
14847
|
+
let postMergeCount = (existingKeys == null ? void 0 : existingKeys.size) ?? 0;
|
|
14848
|
+
for (const { key, value } of changes) {
|
|
14849
|
+
if (seenKeys.has(key)) {
|
|
14850
|
+
throw new AttributeValidationError(`Attribute key ${JSON.stringify(key)} appears more than once in the same batch`);
|
|
14851
|
+
}
|
|
14852
|
+
seenKeys.add(key);
|
|
14853
|
+
postMergeCount += attributeCountDelta(key, value, existingKeys);
|
|
14854
|
+
}
|
|
14855
|
+
if (postMergeCount > ATTRIBUTE_MAX_PER_RUN) {
|
|
14856
|
+
throw new AttributeValidationError(`Run attribute count would exceed limit ${ATTRIBUTE_MAX_PER_RUN} (post-merge ${postMergeCount})`);
|
|
14857
|
+
}
|
|
14858
|
+
}
|
|
14859
|
+
const textEncoder$1 = new TextEncoder();
|
|
14860
|
+
const AttributeKeySchema = string$2().min(1, { error: "Attribute key must not be empty" }).max(ATTRIBUTE_KEY_MAX_LENGTH, {
|
|
14861
|
+
error: `Attribute key exceeds limit ${ATTRIBUTE_KEY_MAX_LENGTH}`
|
|
14862
|
+
});
|
|
14863
|
+
const AttributeValueSchema = string$2().refine((value) => textEncoder$1.encode(value).length <= ATTRIBUTE_VALUE_MAX_BYTES, {
|
|
14864
|
+
error: `Attribute value exceeds limit ${ATTRIBUTE_VALUE_MAX_BYTES} UTF-8 bytes`
|
|
14865
|
+
}).nullable();
|
|
14829
14866
|
const AttributeChangeSchema = object({
|
|
14830
|
-
key:
|
|
14831
|
-
value:
|
|
14867
|
+
key: AttributeKeySchema,
|
|
14868
|
+
value: AttributeValueSchema
|
|
14832
14869
|
});
|
|
14833
|
-
const AttributeChangesSchema = array(AttributeChangeSchema)
|
|
14870
|
+
const AttributeChangesSchema = array(AttributeChangeSchema).superRefine((changes, context) => {
|
|
14871
|
+
try {
|
|
14872
|
+
validateAttributeBatchConstraints(changes);
|
|
14873
|
+
} catch (error) {
|
|
14874
|
+
if (!(error instanceof AttributeValidationError))
|
|
14875
|
+
throw error;
|
|
14876
|
+
context.addIssue({
|
|
14877
|
+
code: "custom",
|
|
14878
|
+
message: error.message,
|
|
14879
|
+
input: changes
|
|
14880
|
+
});
|
|
14881
|
+
}
|
|
14882
|
+
});
|
|
14883
|
+
function getOwnProperty$1(object2, key) {
|
|
14884
|
+
return Object.hasOwn(object2, key) ? object2[key] : void 0;
|
|
14885
|
+
}
|
|
14886
|
+
function isSealedNoopEvent(event) {
|
|
14887
|
+
return event.eventType === "noop";
|
|
14888
|
+
}
|
|
14889
|
+
const ENTITY_EVENT_CLASS_BY_TYPE = {
|
|
14890
|
+
attr_set: "attr_set",
|
|
14891
|
+
step_created: "step_created",
|
|
14892
|
+
step_started: "step_started",
|
|
14893
|
+
step_retrying: "step_retrying",
|
|
14894
|
+
step_completed: "step_terminal",
|
|
14895
|
+
step_failed: "step_terminal",
|
|
14896
|
+
wait_created: "wait_created",
|
|
14897
|
+
wait_completed: "wait_completed",
|
|
14898
|
+
hook_created: "hook_created",
|
|
14899
|
+
hook_disposed: "hook_disposed",
|
|
14900
|
+
run_started: "run_started"
|
|
14901
|
+
};
|
|
14902
|
+
function entityEventClass(eventType) {
|
|
14903
|
+
return getOwnProperty$1(ENTITY_EVENT_CLASS_BY_TYPE, eventType);
|
|
14904
|
+
}
|
|
14905
|
+
const RUN_ENTITY_KEY = "";
|
|
14906
|
+
const TERMINAL_EVENT_CLASSES = /* @__PURE__ */ new Set([
|
|
14907
|
+
"attr_set",
|
|
14908
|
+
"step_terminal",
|
|
14909
|
+
"wait_completed",
|
|
14910
|
+
"hook_disposed"
|
|
14911
|
+
]);
|
|
14912
|
+
function classifyEntityEvent(event) {
|
|
14913
|
+
const eventClass = entityEventClass(event.eventType);
|
|
14914
|
+
if (eventClass === void 0) {
|
|
14915
|
+
return void 0;
|
|
14916
|
+
}
|
|
14917
|
+
if (eventClass === "run_started") {
|
|
14918
|
+
return { eventClass, entity: RUN_ENTITY_KEY };
|
|
14919
|
+
}
|
|
14920
|
+
return event.correlationId ? { eventClass, entity: event.correlationId } : void 0;
|
|
14921
|
+
}
|
|
14922
|
+
const EVENT_DATA_REF_FIELDS_BY_EVENT_TYPE = {
|
|
14923
|
+
run_created: ["input"],
|
|
14924
|
+
run_started: ["input"],
|
|
14925
|
+
run_completed: ["output"],
|
|
14926
|
+
run_failed: ["error"],
|
|
14927
|
+
step_created: ["input"],
|
|
14928
|
+
step_started: ["input"],
|
|
14929
|
+
step_completed: ["result"],
|
|
14930
|
+
step_failed: ["error"],
|
|
14931
|
+
step_retrying: ["error"],
|
|
14932
|
+
hook_created: ["metadata"],
|
|
14933
|
+
hook_received: ["payload"]
|
|
14934
|
+
};
|
|
14935
|
+
const NO_EVENT_DATA_REF_FIELDS = [];
|
|
14936
|
+
function getEventDataRefFields(eventType) {
|
|
14937
|
+
return getOwnProperty$1(EVENT_DATA_REF_FIELDS_BY_EVENT_TYPE, eventType) ?? NO_EVENT_DATA_REF_FIELDS;
|
|
14938
|
+
}
|
|
14834
14939
|
const BinarySerializedDataSchema = _instanceof(Uint8Array);
|
|
14835
14940
|
const LegacySerializedDataSchemaV1 = any();
|
|
14836
14941
|
const SerializedDataSchema = union([
|
|
@@ -14899,21 +15004,6 @@ const TERMINAL_STEP_EVENT_TYPES = TerminalStepEventTypeSchema.options;
|
|
|
14899
15004
|
function isTerminalStepEventType(eventType) {
|
|
14900
15005
|
return TERMINAL_STEP_EVENT_TYPES.includes(eventType);
|
|
14901
15006
|
}
|
|
14902
|
-
const ENTITY_EVENT_CLASS_BY_TYPE = {
|
|
14903
|
-
step_created: "step_created",
|
|
14904
|
-
step_started: "step_started",
|
|
14905
|
-
step_retrying: "step_retrying",
|
|
14906
|
-
step_completed: "step_terminal",
|
|
14907
|
-
step_failed: "step_terminal",
|
|
14908
|
-
wait_created: "wait_created",
|
|
14909
|
-
wait_completed: "wait_completed",
|
|
14910
|
-
hook_created: "hook_created",
|
|
14911
|
-
hook_disposed: "hook_disposed",
|
|
14912
|
-
run_started: "run_started"
|
|
14913
|
-
};
|
|
14914
|
-
function entityEventClass(eventType) {
|
|
14915
|
-
return ENTITY_EVENT_CLASS_BY_TYPE[eventType];
|
|
14916
|
-
}
|
|
14917
15007
|
const HookLifecycleEventTypeSchema = EventTypeSchema.extract([
|
|
14918
15008
|
"hook_created",
|
|
14919
15009
|
"hook_received",
|
|
@@ -14936,32 +15026,12 @@ const WAIT_EVENT_TYPES = WaitEventTypeSchema.options;
|
|
|
14936
15026
|
function isWaitEventType(eventType) {
|
|
14937
15027
|
return WAIT_EVENT_TYPES.includes(eventType);
|
|
14938
15028
|
}
|
|
14939
|
-
function isSealedNoopEvent(event) {
|
|
14940
|
-
return event.eventType === "noop";
|
|
14941
|
-
}
|
|
14942
15029
|
const ChildEntityCreationEventTypeSchema = EventTypeSchema.extract([
|
|
14943
15030
|
"step_created",
|
|
14944
15031
|
"hook_created",
|
|
14945
15032
|
"wait_created"
|
|
14946
15033
|
]);
|
|
14947
15034
|
ChildEntityCreationEventTypeSchema.options;
|
|
14948
|
-
const EVENT_DATA_PAYLOAD_FIELD_BY_EVENT_TYPE = {
|
|
14949
|
-
run_created: "input",
|
|
14950
|
-
run_started: "input",
|
|
14951
|
-
run_completed: "output",
|
|
14952
|
-
run_failed: "error",
|
|
14953
|
-
step_created: "input",
|
|
14954
|
-
step_started: "input",
|
|
14955
|
-
step_completed: "result",
|
|
14956
|
-
step_failed: "error",
|
|
14957
|
-
step_retrying: "error",
|
|
14958
|
-
hook_created: "metadata",
|
|
14959
|
-
hook_received: "payload"
|
|
14960
|
-
};
|
|
14961
|
-
const EVENT_DATA_REF_FIELDS = Object.fromEntries(Object.entries(EVENT_DATA_PAYLOAD_FIELD_BY_EVENT_TYPE).map(([eventType, field]) => [eventType, [field]]));
|
|
14962
|
-
function getEventDataRefFields(eventType) {
|
|
14963
|
-
return EVENT_DATA_REF_FIELDS[eventType] ?? [];
|
|
14964
|
-
}
|
|
14965
15035
|
const BaseEventSchema = object({
|
|
14966
15036
|
eventType: EventTypeSchema,
|
|
14967
15037
|
correlationId: string$2().optional(),
|
|
@@ -15705,7 +15775,11 @@ const HookResumeTimingSchema = object({
|
|
|
15705
15775
|
resumeRequestedAtMs: number$3(),
|
|
15706
15776
|
/** Epoch ms immediately before the queue publish was requested. */
|
|
15707
15777
|
queuePublishRequestedAtMs: number$3(),
|
|
15708
|
-
/**
|
|
15778
|
+
/**
|
|
15779
|
+
* Which `resumeHook()` dispatch path ran. Current producers always report
|
|
15780
|
+
* `sequential` (durable write, then wake); older producers may report
|
|
15781
|
+
* `lazy` or `parallel`.
|
|
15782
|
+
*/
|
|
15709
15783
|
strategy: string$2().optional(),
|
|
15710
15784
|
/** Epoch ms the final consumer's queue handler was entered. */
|
|
15711
15785
|
consumerStartedAtMs: number$3().optional(),
|
|
@@ -15776,9 +15850,9 @@ const WorkflowInvokePayloadSchema = object({
|
|
|
15776
15850
|
/** Run creation data, only present on the first queue delivery from start() */
|
|
15777
15851
|
runInput: RunInputSchema.optional(),
|
|
15778
15852
|
/**
|
|
15779
|
-
*
|
|
15780
|
-
*
|
|
15781
|
-
*
|
|
15853
|
+
* Legacy lazy hook resume data. A consumer that understands this field
|
|
15854
|
+
* idempotently ensures the `hook_received` event exists (keyed by `resumeId`)
|
|
15855
|
+
* before replaying.
|
|
15782
15856
|
*/
|
|
15783
15857
|
hookInput: HookResumeInputSchema.optional(),
|
|
15784
15858
|
/**
|
|
@@ -15790,7 +15864,7 @@ const WorkflowInvokePayloadSchema = object({
|
|
|
15790
15864
|
stepInput: StepDispatchInputSchema.optional(),
|
|
15791
15865
|
/**
|
|
15792
15866
|
* Hook-resume TTR timing. Present on both `resumeHook()` dispatch paths
|
|
15793
|
-
* (unlike `hookInput
|
|
15867
|
+
* (unlike legacy `hookInput`), and
|
|
15794
15868
|
* forwarded onto a dispatched step message when the resuming invocation
|
|
15795
15869
|
* hands the next durable step to another invocation. Purely observational.
|
|
15796
15870
|
* See {@link HookResumeTimingSchema}.
|
|
@@ -15837,12 +15911,14 @@ const HookResumeContextSchema = object({
|
|
|
15837
15911
|
encryptionPublicKey: string$2().optional(),
|
|
15838
15912
|
// Feature marker: the version of the lazy-hook-resume consumer protocol the
|
|
15839
15913
|
// run's creating deployment supports. Present (>= 1) means that deployment's
|
|
15840
|
-
// `@workflow/core` re-ensures the `hook_received` event from
|
|
15841
|
-
// message's `hookInput` on replay
|
|
15842
|
-
//
|
|
15843
|
-
//
|
|
15844
|
-
//
|
|
15845
|
-
//
|
|
15914
|
+
// `@workflow/core` re-ensures the `hook_received` event from a queue
|
|
15915
|
+
// message's `hookInput` on replay. Current producers no longer send
|
|
15916
|
+
// `hookInput` (the durable write happens before the wake is published), so
|
|
15917
|
+
// they never read this marker; it remains stamped so OLDER producers, which
|
|
15918
|
+
// still gate their lazy path on it, keep working against new runs. Because a
|
|
15919
|
+
// run is pinned to its creating deployment, this marker is a reliable
|
|
15920
|
+
// per-run attestation, unlike inferring support from a version compare
|
|
15921
|
+
// against a predicted release cutoff.
|
|
15846
15922
|
hookResumeInputVersion: number$3().optional()
|
|
15847
15923
|
});
|
|
15848
15924
|
const HookResumeCapabilitiesSchema = object({
|
|
@@ -15876,7 +15952,7 @@ object({
|
|
|
15876
15952
|
// lookup: RESPONSE-ONLY and TRANSIENT. Never persisted on the hook entity
|
|
15877
15953
|
// and never part of `resumeContext`, so a server rollback or kill switch
|
|
15878
15954
|
// takes effect on the next lookup (the field stops appearing).
|
|
15879
|
-
// `resumeHook()` gates its
|
|
15955
|
+
// `resumeHook()` gates its lazy path on this being present and
|
|
15880
15956
|
// current. Absent against an older/rolled-back server or when the kill switch
|
|
15881
15957
|
// is active.
|
|
15882
15958
|
resumeCapabilities: HookResumeCapabilitiesSchema.optional()
|
|
@@ -17584,7 +17660,7 @@ async function hydrateResourceIOAsync(resource, key) {
|
|
|
17584
17660
|
return { hydrateDataWithKey: hydrateDataWithKey3, deriveRunPayloadKeys: deriveRunPayloadKeys3 };
|
|
17585
17661
|
}, true ? void 0 : void 0);
|
|
17586
17662
|
const { ensureZstdDecoderRegistered } = await __vitePreload(async () => {
|
|
17587
|
-
const { ensureZstdDecoderRegistered: ensureZstdDecoderRegistered2 } = await import("./zstd-browser-decoder-
|
|
17663
|
+
const { ensureZstdDecoderRegistered: ensureZstdDecoderRegistered2 } = await import("./zstd-browser-decoder-C5OUdy0l.js");
|
|
17588
17664
|
return { ensureZstdDecoderRegistered: ensureZstdDecoderRegistered2 };
|
|
17589
17665
|
}, true ? __vite__mapDeps([0,1]) : void 0);
|
|
17590
17666
|
ensureZstdDecoderRegistered();
|
|
@@ -19210,8 +19286,28 @@ function BytesDisplayValue({ display }) {
|
|
|
19210
19286
|
function formatField(field) {
|
|
19211
19287
|
return field === "" ? '""' : field;
|
|
19212
19288
|
}
|
|
19289
|
+
function isGenericIterable(value) {
|
|
19290
|
+
if (value === null || typeof value !== "object" && typeof value !== "function" || Array.isArray(value) || value instanceof Map || value instanceof Set) {
|
|
19291
|
+
return false;
|
|
19292
|
+
}
|
|
19293
|
+
return typeof value[Symbol.iterator] === "function";
|
|
19294
|
+
}
|
|
19295
|
+
function isEntryIterable(value) {
|
|
19296
|
+
return typeof value.entries === "function";
|
|
19297
|
+
}
|
|
19298
|
+
function collectEntries(iterable, asPairs) {
|
|
19299
|
+
return Array.from(iterable, (item, index2) => {
|
|
19300
|
+
if (asPairs && Array.isArray(item) && item.length >= 2) {
|
|
19301
|
+
return [String(item[0]), collapseRefs(item[1]), index2];
|
|
19302
|
+
}
|
|
19303
|
+
return [void 0, collapseRefs(item), index2];
|
|
19304
|
+
});
|
|
19305
|
+
}
|
|
19306
|
+
function isSelfIterableIterator(value) {
|
|
19307
|
+
return Object.is(value[Symbol.iterator](), value);
|
|
19308
|
+
}
|
|
19213
19309
|
function describeContainer(value) {
|
|
19214
|
-
var _a3;
|
|
19310
|
+
var _a3, _b2;
|
|
19215
19311
|
if (Array.isArray(value)) {
|
|
19216
19312
|
return {
|
|
19217
19313
|
entries: value.map((item) => [void 0, item]),
|
|
@@ -19238,8 +19334,26 @@ function describeContainer(value) {
|
|
|
19238
19334
|
prefix: "Set"
|
|
19239
19335
|
};
|
|
19240
19336
|
}
|
|
19241
|
-
if (value
|
|
19337
|
+
if (isGenericIterable(value)) {
|
|
19242
19338
|
const name2 = (_a3 = value.constructor) == null ? void 0 : _a3.name;
|
|
19339
|
+
const prefix = name2 && name2 !== "Object" ? name2 : void 0;
|
|
19340
|
+
if (isEntryIterable(value)) {
|
|
19341
|
+
return {
|
|
19342
|
+
entries: collectEntries(value.entries(), true),
|
|
19343
|
+
open: "{",
|
|
19344
|
+
close: "}",
|
|
19345
|
+
prefix
|
|
19346
|
+
};
|
|
19347
|
+
}
|
|
19348
|
+
return {
|
|
19349
|
+
entries: collectEntries(value, false),
|
|
19350
|
+
open: "[",
|
|
19351
|
+
close: "]",
|
|
19352
|
+
prefix
|
|
19353
|
+
};
|
|
19354
|
+
}
|
|
19355
|
+
if (value !== null && typeof value === "object") {
|
|
19356
|
+
const name2 = (_b2 = value.constructor) == null ? void 0 : _b2.name;
|
|
19243
19357
|
return {
|
|
19244
19358
|
entries: Object.entries(value),
|
|
19245
19359
|
open: "{",
|
|
@@ -19350,7 +19464,7 @@ function ExpandableContainer({ field, entries, open: open2, close, prefix, ctx,
|
|
|
19350
19464
|
}
|
|
19351
19465
|
};
|
|
19352
19466
|
const lastIndex = entries.length - 1;
|
|
19353
|
-
return jsxRuntimeExports.jsxs("div", { className: CLS.child, role: "treeitem", "aria-expanded": expanded, "aria-controls": expanded ? contentsId : void 0, "data-json-expander": true, ref: rowRef, tabIndex: level === 0 ? 0 : -1, onClick, onKeyDown, children: [jsxRuntimeExports.jsx("span", { className: expanded ? CLS.collapseIcon : CLS.expandIcon, "aria-hidden": "true" }), field !== void 0 && jsxRuntimeExports.jsx("span", { className: CLS.clickableLabel, children: `${formatField(field)}:` }), prefix ? jsxRuntimeExports.jsx("span", { className: CLS.className, children: prefix }) : null, jsxRuntimeExports.jsx("span", { className: CLS.punctuation, children: open2 }), expanded ? jsxRuntimeExports.jsx("ul", { id: contentsId, className: CLS.childFields, role: "group", children: entries.map(([childField, childValue], index2) => jsxRuntimeExports.jsx(DataRender, { field: childField, value: childValue, isLast: index2 === lastIndex, ctx: { ...ctx, level: level + 1 } }, childField ?? index2)) }) : jsxRuntimeExports.jsx("span", { className: CLS.collapsedContent, "aria-hidden": "true" }), jsxRuntimeExports.jsx("span", { className: CLS.punctuation, children: close }), jsxRuntimeExports.jsx(Comma, { isLast })] });
|
|
19467
|
+
return jsxRuntimeExports.jsxs("div", { className: CLS.child, role: "treeitem", "aria-expanded": expanded, "aria-controls": expanded ? contentsId : void 0, "data-json-expander": true, ref: rowRef, tabIndex: level === 0 ? 0 : -1, onClick, onKeyDown, children: [jsxRuntimeExports.jsx("span", { className: expanded ? CLS.collapseIcon : CLS.expandIcon, "aria-hidden": "true" }), field !== void 0 && jsxRuntimeExports.jsx("span", { className: CLS.clickableLabel, children: `${formatField(field)}:` }), prefix ? jsxRuntimeExports.jsx("span", { className: CLS.className, children: prefix }) : null, jsxRuntimeExports.jsx("span", { className: CLS.punctuation, children: open2 }), expanded ? jsxRuntimeExports.jsx("ul", { id: contentsId, className: CLS.childFields, role: "group", children: entries.map(([childField, childValue, entryKey], index2) => jsxRuntimeExports.jsx(DataRender, { field: childField, value: childValue, isLast: index2 === lastIndex, ctx: { ...ctx, level: level + 1 } }, entryKey ?? childField ?? index2)) }) : jsxRuntimeExports.jsx("span", { className: CLS.collapsedContent, "aria-hidden": "true" }), jsxRuntimeExports.jsx("span", { className: CLS.punctuation, children: close }), jsxRuntimeExports.jsx(Comma, { isLast })] });
|
|
19354
19468
|
}
|
|
19355
19469
|
function DataRender({ field, value, isLast, ctx }) {
|
|
19356
19470
|
if (isBytesDisplay(value)) {
|
|
@@ -19478,6 +19592,19 @@ function isSameBytesDisplay(a2, b2) {
|
|
|
19478
19592
|
var _a3, _b2, _c, _d, _e2, _f;
|
|
19479
19593
|
return a2.text === b2.text && ((_a3 = a2.decodedFrom) == null ? void 0 : _a3.type) === ((_b2 = b2.decodedFrom) == null ? void 0 : _b2.type) && ((_c = a2.decodedFrom) == null ? void 0 : _c.encoding) === ((_d = b2.decodedFrom) == null ? void 0 : _d.encoding) && ((_e2 = a2.decodedFrom) == null ? void 0 : _e2.rawSummary) === ((_f = b2.decodedFrom) == null ? void 0 : _f.rawSummary);
|
|
19480
19594
|
}
|
|
19595
|
+
function haveSameIterableValues(a2, b2, seen2) {
|
|
19596
|
+
const aIterator = a2[Symbol.iterator]();
|
|
19597
|
+
const bIterator = b2[Symbol.iterator]();
|
|
19598
|
+
while (true) {
|
|
19599
|
+
const aResult = aIterator.next();
|
|
19600
|
+
const bResult = bIterator.next();
|
|
19601
|
+
if (aResult.done || bResult.done) {
|
|
19602
|
+
return aResult.done === bResult.done;
|
|
19603
|
+
}
|
|
19604
|
+
if (!isDeepEqual(aResult.value, bResult.value, seen2))
|
|
19605
|
+
return false;
|
|
19606
|
+
}
|
|
19607
|
+
}
|
|
19481
19608
|
function isDeepEqual(a2, b2, seen2 = /* @__PURE__ */ new WeakMap()) {
|
|
19482
19609
|
if (Object.is(a2, b2))
|
|
19483
19610
|
return true;
|
|
@@ -19490,6 +19617,25 @@ function isDeepEqual(a2, b2, seen2 = /* @__PURE__ */ new WeakMap()) {
|
|
|
19490
19617
|
if (a2 instanceof RegExp && b2 instanceof RegExp) {
|
|
19491
19618
|
return a2.source === b2.source && a2.flags === b2.flags;
|
|
19492
19619
|
}
|
|
19620
|
+
if (isGenericIterable(a2) || isGenericIterable(b2)) {
|
|
19621
|
+
if (!isGenericIterable(a2) || !isGenericIterable(b2))
|
|
19622
|
+
return false;
|
|
19623
|
+
if (Object.getPrototypeOf(a2) !== Object.getPrototypeOf(b2))
|
|
19624
|
+
return false;
|
|
19625
|
+
if (isSelfIterableIterator(a2) || isSelfIterableIterator(b2))
|
|
19626
|
+
return false;
|
|
19627
|
+
if (seen2.get(a2) === b2)
|
|
19628
|
+
return true;
|
|
19629
|
+
seen2.set(a2, b2);
|
|
19630
|
+
const aHasEntries = isEntryIterable(a2);
|
|
19631
|
+
const bHasEntries = isEntryIterable(b2);
|
|
19632
|
+
if (aHasEntries !== bHasEntries)
|
|
19633
|
+
return false;
|
|
19634
|
+
if (aHasEntries && bHasEntries) {
|
|
19635
|
+
return haveSameIterableValues(a2.entries(), b2.entries(), seen2);
|
|
19636
|
+
}
|
|
19637
|
+
return haveSameIterableValues(a2, b2, seen2);
|
|
19638
|
+
}
|
|
19493
19639
|
if (a2 instanceof Map && b2 instanceof Map) {
|
|
19494
19640
|
if (a2.size !== b2.size)
|
|
19495
19641
|
return false;
|
|
@@ -45180,7 +45326,7 @@ var tn = f("block", "before:content-[counter(line)]", "before:inline-block", "be
|
|
|
45180
45326
|
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 });
|
|
45181
45327
|
var Se = reactExports.createContext({ code: "" }), de = () => reactExports.useContext(Se);
|
|
45182
45328
|
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 }) });
|
|
45183
|
-
var cn$1 = /\n+$/, dn = reactExports.lazy(() => __vitePreload(() => import("./highlighted-body-B3W2YXNL-
|
|
45329
|
+
var cn$1 = /\n+$/, dn = reactExports.lazy(() => __vitePreload(() => import("./highlighted-body-B3W2YXNL-BzCKp954.js"), true ? __vite__mapDeps([2,1]) : void 0).then((e) => ({ default: e.HighlightedCodeBlockBody }))), rt = ({ code: e, language: t, className: o, children: n, isIncomplete: s2 = false, ...r2 }) => {
|
|
45184
45330
|
let i = reactExports.useMemo(() => e.replace(cn$1, ""), [e]), c = reactExports.useMemo(() => ({ bg: "transparent", fg: "inherit", tokens: i.split(`
|
|
45185
45331
|
`).map((a2) => [{ content: a2, color: "inherit", bgColor: "transparent", htmlStyle: {}, offset: 0 }]) }), [i]);
|
|
45186
45332
|
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 }) })] }) });
|
|
@@ -49597,7 +49743,7 @@ const mermaid3ZIDBTTL = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.def
|
|
|
49597
49743
|
Mermaid: Nt
|
|
49598
49744
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
49599
49745
|
export {
|
|
49600
|
-
|
|
49746
|
+
isSealedNoopEvent as $,
|
|
49601
49747
|
Anchor as A,
|
|
49602
49748
|
Button as B,
|
|
49603
49749
|
Check as C,
|
|
@@ -49622,110 +49768,111 @@ export {
|
|
|
49622
49768
|
VISUALLY_HIDDEN_STYLES as V,
|
|
49623
49769
|
createContext2 as W,
|
|
49624
49770
|
fetchWorkflowsManifest as X,
|
|
49625
|
-
|
|
49626
|
-
|
|
49771
|
+
classifyEntityEvent as Y,
|
|
49772
|
+
TERMINAL_EVENT_CLASSES as Z,
|
|
49627
49773
|
__vitePreload as _,
|
|
49628
49774
|
TooltipTrigger as a,
|
|
49629
|
-
|
|
49630
|
-
|
|
49631
|
-
|
|
49632
|
-
|
|
49633
|
-
|
|
49634
|
-
|
|
49635
|
-
|
|
49636
|
-
|
|
49637
|
-
|
|
49638
|
-
|
|
49639
|
-
|
|
49640
|
-
|
|
49641
|
-
|
|
49642
|
-
|
|
49643
|
-
|
|
49644
|
-
|
|
49645
|
-
|
|
49646
|
-
|
|
49647
|
-
|
|
49648
|
-
|
|
49649
|
-
|
|
49650
|
-
|
|
49651
|
-
|
|
49652
|
-
|
|
49653
|
-
|
|
49654
|
-
|
|
49655
|
-
|
|
49656
|
-
|
|
49657
|
-
|
|
49658
|
-
|
|
49659
|
-
|
|
49660
|
-
|
|
49661
|
-
|
|
49662
|
-
|
|
49663
|
-
|
|
49664
|
-
|
|
49665
|
-
|
|
49666
|
-
|
|
49667
|
-
|
|
49668
|
-
|
|
49669
|
-
|
|
49670
|
-
|
|
49671
|
-
|
|
49672
|
-
|
|
49673
|
-
|
|
49674
|
-
|
|
49675
|
-
|
|
49676
|
-
|
|
49677
|
-
|
|
49678
|
-
|
|
49679
|
-
|
|
49680
|
-
|
|
49681
|
-
|
|
49682
|
-
|
|
49683
|
-
|
|
49684
|
-
|
|
49685
|
-
|
|
49686
|
-
|
|
49687
|
-
|
|
49688
|
-
|
|
49689
|
-
|
|
49690
|
-
|
|
49691
|
-
|
|
49692
|
-
|
|
49775
|
+
fetchStep as a$,
|
|
49776
|
+
cn$4 as a0,
|
|
49777
|
+
CopyableDataBlock as a1,
|
|
49778
|
+
CollapsibleRoot as a2,
|
|
49779
|
+
CollapsibleTrigger as a3,
|
|
49780
|
+
CollapsibleContent as a4,
|
|
49781
|
+
CopyButton as a5,
|
|
49782
|
+
RESERVED_ATTRIBUTE_KEY_PREFIX as a6,
|
|
49783
|
+
Spinner as a7,
|
|
49784
|
+
TooltipProvider as a8,
|
|
49785
|
+
Tooltip$1 as a9,
|
|
49786
|
+
clsx as aA,
|
|
49787
|
+
useActiveSpan as aB,
|
|
49788
|
+
useSidebarData as aC,
|
|
49789
|
+
IconButton as aD,
|
|
49790
|
+
useRowWindow as aE,
|
|
49791
|
+
isSpanDimmedBySearch as aF,
|
|
49792
|
+
ROW_HEIGHT_PX as aG,
|
|
49793
|
+
getSpanDurationMs as aH,
|
|
49794
|
+
isSpanErrored as aI,
|
|
49795
|
+
formatDurationPrecise as aJ,
|
|
49796
|
+
ActiveSpanProvider as aK,
|
|
49797
|
+
useReducedMotion as aL,
|
|
49798
|
+
searchSpans as aM,
|
|
49799
|
+
computeRootBounds as aN,
|
|
49800
|
+
computeTimeMarkers as aO,
|
|
49801
|
+
clampViewportToRoot as aP,
|
|
49802
|
+
getHighResInMs as aQ,
|
|
49803
|
+
scrollRowIntoView as aR,
|
|
49804
|
+
TIMELINE_PADDING_PX as aS,
|
|
49805
|
+
Minimap as aT,
|
|
49806
|
+
Timeline as aU,
|
|
49807
|
+
TimelineHeader as aV,
|
|
49808
|
+
wheelZoomScaleFactor as aW,
|
|
49809
|
+
wheelDeltaToPixels as aX,
|
|
49810
|
+
SidebarDataProvider as aY,
|
|
49811
|
+
fetchHook as aZ,
|
|
49812
|
+
hydrateResourceIOAsync as a_,
|
|
49813
|
+
TooltipTrigger$1 as aa,
|
|
49814
|
+
TooltipContent$1 as ab,
|
|
49815
|
+
ContextCardProvider as ac,
|
|
49816
|
+
Skeleton as ad,
|
|
49817
|
+
DecryptClickContext as ae,
|
|
49818
|
+
Yr as af,
|
|
49819
|
+
isEncryptedMarker$1 as ag,
|
|
49820
|
+
TimestampTooltip as ah,
|
|
49821
|
+
formatDuration as ai,
|
|
49822
|
+
DataInspector as aj,
|
|
49823
|
+
_r as ak,
|
|
49824
|
+
isHookLifecycleEventType as al,
|
|
49825
|
+
isTerminalStepEventType as am,
|
|
49826
|
+
isWaitEventType as an,
|
|
49827
|
+
isStepEventType as ao,
|
|
49828
|
+
RunClickContext as ap,
|
|
49829
|
+
StreamClickContext as aq,
|
|
49830
|
+
Collapsible as ar,
|
|
49831
|
+
isExpiredMarker as as,
|
|
49832
|
+
isDoStreamStep as at,
|
|
49833
|
+
extractConversation as au,
|
|
49834
|
+
EncryptedDataBlock as av,
|
|
49835
|
+
getEventDataRefFields as aw,
|
|
49836
|
+
hasEncryptedFields as ax,
|
|
49837
|
+
useSidebarDataOptional as ay,
|
|
49838
|
+
isTerminalWorkflowRunStatus as az,
|
|
49693
49839
|
TooltipContent as b,
|
|
49694
|
-
|
|
49695
|
-
|
|
49696
|
-
|
|
49697
|
-
|
|
49698
|
-
|
|
49699
|
-
|
|
49700
|
-
|
|
49701
|
-
|
|
49702
|
-
|
|
49703
|
-
|
|
49704
|
-
|
|
49705
|
-
|
|
49706
|
-
|
|
49707
|
-
|
|
49708
|
-
|
|
49709
|
-
|
|
49710
|
-
|
|
49711
|
-
|
|
49712
|
-
|
|
49713
|
-
|
|
49714
|
-
|
|
49715
|
-
|
|
49716
|
-
|
|
49717
|
-
|
|
49718
|
-
|
|
49719
|
-
|
|
49720
|
-
|
|
49721
|
-
|
|
49722
|
-
|
|
49723
|
-
|
|
49724
|
-
|
|
49725
|
-
|
|
49726
|
-
|
|
49727
|
-
|
|
49728
|
-
|
|
49840
|
+
hydrateResourceIO as b0,
|
|
49841
|
+
fetchStreams as b1,
|
|
49842
|
+
apiBase as b2,
|
|
49843
|
+
Slot as b3,
|
|
49844
|
+
Slottable as b4,
|
|
49845
|
+
buttonVariants as b5,
|
|
49846
|
+
fetchEvent as b6,
|
|
49847
|
+
fetchEventsByCorrelationId as b7,
|
|
49848
|
+
isEncryptedData as b8,
|
|
49849
|
+
hydrateData as b9,
|
|
49850
|
+
decrypt as ba,
|
|
49851
|
+
deriveRunPayloadKeys as bb,
|
|
49852
|
+
getWebRevivers as bc,
|
|
49853
|
+
LIVE_UPDATE_INTERVAL_MS as bd,
|
|
49854
|
+
getEncryptionKeyForRun as be,
|
|
49855
|
+
StreamViewerSkeleton as bf,
|
|
49856
|
+
Lock as bg,
|
|
49857
|
+
StreamViewer as bh,
|
|
49858
|
+
composeRefs as bi,
|
|
49859
|
+
useFloating as bj,
|
|
49860
|
+
offset as bk,
|
|
49861
|
+
shift as bl,
|
|
49862
|
+
limitShift as bm,
|
|
49863
|
+
flip as bn,
|
|
49864
|
+
size as bo,
|
|
49865
|
+
arrow as bp,
|
|
49866
|
+
hide as bq,
|
|
49867
|
+
autoUpdate as br,
|
|
49868
|
+
VERCEL_403_ERROR_MESSAGE as bs,
|
|
49869
|
+
bulkCancelRuns as bt,
|
|
49870
|
+
reenqueueRun as bu,
|
|
49871
|
+
wakeUpRun as bv,
|
|
49872
|
+
resumeHook as bw,
|
|
49873
|
+
fetchHookToken as bx,
|
|
49874
|
+
cancelRun as by,
|
|
49875
|
+
recreateRun as bz,
|
|
49729
49876
|
createLucideIcon as c,
|
|
49730
49877
|
runHealthCheck as d,
|
|
49731
49878
|
cn as e,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { r as reactExports, j as jsxRuntimeExports, w as withComponentProps, a as withErrorBoundaryProps, M as Meta, L as Links, S as ScrollRestoration, b as Scripts, O as Outlet, u as useRouteError, i as isRouteErrorResponse, c as Link, d as useNavigate, e as useSearchParams } from "./index-PFjW8YjQ.js";
|
|
2
|
-
import { c as createLucideIcon, u as useServerConfig, T as Tooltip, a as TooltipTrigger, b as TooltipContent, d as runHealthCheck, t as toast, B as Button, e as cn, f as Toaster$1, S as ServerConfigProvider, g as TooltipProvider } from "./mermaid-3ZIDBTTL-
|
|
3
|
-
import { L as LoaderCircle } from "./loader-circle-
|
|
4
|
-
import { A as ArrowUpRight } from "./arrow-up-right-
|
|
2
|
+
import { c as createLucideIcon, u as useServerConfig, T as Tooltip, a as TooltipTrigger, b as TooltipContent, d as runHealthCheck, t as toast, B as Button, e as cn, f as Toaster$1, S as ServerConfigProvider, g as TooltipProvider } from "./mermaid-3ZIDBTTL-BrUzeGHN.js";
|
|
3
|
+
import { L as LoaderCircle } from "./loader-circle-BQzzSKVU.js";
|
|
4
|
+
import { A as ArrowUpRight } from "./arrow-up-right-C52N96YH.js";
|
|
5
5
|
var M = (e, i, s, u, m, a, l, h) => {
|
|
6
6
|
let d = document.documentElement, w = ["light", "dark"];
|
|
7
7
|
function p(n) {
|