@workflow/web 5.0.0-beta.41 → 5.0.0-beta.42
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/app-9JVnf-IU.css +1 -0
- package/build/client/assets/{arrow-up-right-jWH-UQH9.js → arrow-up-right-D39pnGsD.js} +1 -1
- package/build/client/assets/{highlighted-body-B3W2YXNL-DmmWu7VM.js → highlighted-body-B3W2YXNL-Dc1dLaUr.js} +1 -1
- package/build/client/assets/{home-BwYHJJJr.js → home-C6CuMqQu.js} +3 -3
- package/build/client/assets/{loader-circle-fFQM94Ej.js → loader-circle-BOxaTUjK.js} +1 -1
- package/build/client/assets/{manifest-f6a9dca2.js → manifest-cf88886b.js} +1 -1
- package/build/client/assets/{mermaid-3ZIDBTTL-DchhEfRL.js → mermaid-3ZIDBTTL-gEw-Ch1C.js} +308 -284
- package/build/client/assets/{root-D6p4Hb4F.js → root-BfhMCbkz.js} +3 -3
- package/build/client/assets/root-Bl5xphvU.css +1 -0
- package/build/client/assets/{run-detail-vPCbZIXx.js → run-detail-DKz7lp2q.js} +221 -105
- package/build/client/assets/{workflow-graph-viewer-t_fSwuwz.js → workflow-graph-viewer-CxrWityD.js} +3 -145
- package/build/client/assets/{zstd-browser-decoder-BTw1glGN.js → zstd-browser-decoder-CAEVa0bm.js} +1 -1
- package/build/server/assets/{app-D8GiFFR6.js → app-SrggQnfh.js} +739 -608
- package/build/server/assets/{highlighted-body-B3W2YXNL-BZVc2guG.js → highlighted-body-B3W2YXNL-DMhwZQgG.js} +1 -1
- package/build/server/assets/{index-DTci39F3.js → index-ByPjQpgH.js} +1 -1
- package/build/server/assets/index-DsnQrgwB.js +156 -0
- package/build/server/assets/{mermaid-3ZIDBTTL-DOefrphg.js → mermaid-3ZIDBTTL-CK9fLYE8.js} +1 -1
- package/build/server/assets/{token-c3byIJRC.js → token-sFDUVNm0.js} +1 -1
- package/build/server/assets/{token-util-C2yENsqE.js → token-util-CighjZkT.js} +1 -1
- package/build/server/assets/{websocket-server-DagS_hnJ.js → websocket-server-BADWB2u5.js} +1 -1
- package/build/server/assets/{wrapper-Cnumc4u1.js → wrapper-Bwi-W3ol.js} +3 -3
- package/build/server/assets/{ws-transport-2gJL6hC2.js → ws-transport-DaZsgQ2B.js} +41 -3
- package/build/server/assets/{zstd-browser-decoder-BCVvr1WT.js → zstd-browser-decoder-dRi0VqoM.js} +1 -1
- package/build/server/index.js +3 -3
- package/package.json +7 -7
- package/build/client/assets/app-BkGXg64e.css +0 -1
- package/build/client/assets/root-ZRjqDhEN.css +0 -1
- package/build/server/assets/index-BByEr1g6.js +0 -154
|
@@ -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-CAEVa0bm.js","assets/index-PFjW8YjQ.js","assets/highlighted-body-B3W2YXNL-Dc1dLaUr.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);
|
|
@@ -10110,80 +10110,6 @@ const Lr = /* @__PURE__ */ K$3(() => {
|
|
|
10110
10110
|
function kn$1(t, e, n) {
|
|
10111
10111
|
return e !== "normal" && !(e != null && e.endsWith("px")) && n(`${t} was not resolved to pixel value correctly`, e, Ct$1.WARN), e === "normal" ? 0 : parseInt(e != null ? e : "0", 10);
|
|
10112
10112
|
}
|
|
10113
|
-
const scriptRel = "modulepreload";
|
|
10114
|
-
const assetsURL = function(dep) {
|
|
10115
|
-
return "/" + dep;
|
|
10116
|
-
};
|
|
10117
|
-
const seen = {};
|
|
10118
|
-
const __vitePreload = function preload(baseModule, deps, importerUrl) {
|
|
10119
|
-
let promise = Promise.resolve();
|
|
10120
|
-
if (deps && deps.length > 0) {
|
|
10121
|
-
let allSettled2 = function(promises) {
|
|
10122
|
-
return Promise.all(
|
|
10123
|
-
promises.map(
|
|
10124
|
-
(p2) => Promise.resolve(p2).then(
|
|
10125
|
-
(value) => ({ status: "fulfilled", value }),
|
|
10126
|
-
(reason) => ({ status: "rejected", reason })
|
|
10127
|
-
)
|
|
10128
|
-
)
|
|
10129
|
-
);
|
|
10130
|
-
};
|
|
10131
|
-
document.getElementsByTagName("link");
|
|
10132
|
-
const cspNonceMeta = document.querySelector(
|
|
10133
|
-
"meta[property=csp-nonce]"
|
|
10134
|
-
);
|
|
10135
|
-
const cspNonce = (cspNonceMeta == null ? void 0 : cspNonceMeta.nonce) || (cspNonceMeta == null ? void 0 : cspNonceMeta.getAttribute("nonce"));
|
|
10136
|
-
promise = allSettled2(
|
|
10137
|
-
deps.map((dep) => {
|
|
10138
|
-
dep = assetsURL(dep);
|
|
10139
|
-
if (dep in seen) return;
|
|
10140
|
-
seen[dep] = true;
|
|
10141
|
-
const isCss = dep.endsWith(".css");
|
|
10142
|
-
const cssSelector = isCss ? '[rel="stylesheet"]' : "";
|
|
10143
|
-
if (document.querySelector(`link[href="${dep}"]${cssSelector}`)) {
|
|
10144
|
-
return;
|
|
10145
|
-
}
|
|
10146
|
-
const link2 = document.createElement("link");
|
|
10147
|
-
link2.rel = isCss ? "stylesheet" : scriptRel;
|
|
10148
|
-
if (!isCss) {
|
|
10149
|
-
link2.as = "script";
|
|
10150
|
-
}
|
|
10151
|
-
link2.crossOrigin = "";
|
|
10152
|
-
link2.href = dep;
|
|
10153
|
-
if (cspNonce) {
|
|
10154
|
-
link2.setAttribute("nonce", cspNonce);
|
|
10155
|
-
}
|
|
10156
|
-
document.head.appendChild(link2);
|
|
10157
|
-
if (isCss) {
|
|
10158
|
-
return new Promise((res, rej) => {
|
|
10159
|
-
link2.addEventListener("load", res);
|
|
10160
|
-
link2.addEventListener(
|
|
10161
|
-
"error",
|
|
10162
|
-
() => rej(new Error(`Unable to preload CSS for ${dep}`))
|
|
10163
|
-
);
|
|
10164
|
-
});
|
|
10165
|
-
}
|
|
10166
|
-
})
|
|
10167
|
-
);
|
|
10168
|
-
}
|
|
10169
|
-
function handlePreloadError(err) {
|
|
10170
|
-
const e = new Event("vite:preloadError", {
|
|
10171
|
-
cancelable: true
|
|
10172
|
-
});
|
|
10173
|
-
e.payload = err;
|
|
10174
|
-
window.dispatchEvent(e);
|
|
10175
|
-
if (!e.defaultPrevented) {
|
|
10176
|
-
throw err;
|
|
10177
|
-
}
|
|
10178
|
-
}
|
|
10179
|
-
return promise.then((res) => {
|
|
10180
|
-
for (const item of res || []) {
|
|
10181
|
-
if (item.status !== "rejected") continue;
|
|
10182
|
-
handlePreloadError(item.reason);
|
|
10183
|
-
}
|
|
10184
|
-
return baseModule().catch(handlePreloadError);
|
|
10185
|
-
});
|
|
10186
|
-
};
|
|
10187
10113
|
function $constructor(name2, initializer2, params) {
|
|
10188
10114
|
function init(inst, def) {
|
|
10189
10115
|
if (!inst._zod) {
|
|
@@ -13341,6 +13267,18 @@ function _array(Class, element2, params) {
|
|
|
13341
13267
|
});
|
|
13342
13268
|
}
|
|
13343
13269
|
// @__NO_SIDE_EFFECTS__
|
|
13270
|
+
function _custom(Class, fn2, _params) {
|
|
13271
|
+
const norm = normalizeParams(_params);
|
|
13272
|
+
norm.abort ?? (norm.abort = true);
|
|
13273
|
+
const schema = new Class({
|
|
13274
|
+
type: "custom",
|
|
13275
|
+
check: "custom",
|
|
13276
|
+
fn: fn2,
|
|
13277
|
+
...norm
|
|
13278
|
+
});
|
|
13279
|
+
return schema;
|
|
13280
|
+
}
|
|
13281
|
+
// @__NO_SIDE_EFFECTS__
|
|
13344
13282
|
function _refine(Class, fn2, _params) {
|
|
13345
13283
|
const schema = new Class({
|
|
13346
13284
|
type: "custom",
|
|
@@ -14847,6 +14785,9 @@ const ZodCustom = /* @__PURE__ */ $constructor("ZodCustom", (inst, def) => {
|
|
|
14847
14785
|
ZodType.init(inst, def);
|
|
14848
14786
|
inst._zod.processJSONSchema = (ctx, json, params) => customProcessor(inst, ctx);
|
|
14849
14787
|
});
|
|
14788
|
+
function custom(fn2, _params) {
|
|
14789
|
+
return /* @__PURE__ */ _custom(ZodCustom, fn2 ?? (() => true), _params);
|
|
14790
|
+
}
|
|
14850
14791
|
function refine(fn2, _params = {}) {
|
|
14851
14792
|
return /* @__PURE__ */ _refine(ZodCustom, fn2, _params);
|
|
14852
14793
|
}
|
|
@@ -14954,6 +14895,21 @@ const TERMINAL_STEP_EVENT_TYPES = TerminalStepEventTypeSchema.options;
|
|
|
14954
14895
|
function isTerminalStepEventType(eventType) {
|
|
14955
14896
|
return TERMINAL_STEP_EVENT_TYPES.includes(eventType);
|
|
14956
14897
|
}
|
|
14898
|
+
const ENTITY_EVENT_CLASS_BY_TYPE = {
|
|
14899
|
+
step_created: "step_created",
|
|
14900
|
+
step_started: "step_started",
|
|
14901
|
+
step_retrying: "step_retrying",
|
|
14902
|
+
step_completed: "step_terminal",
|
|
14903
|
+
step_failed: "step_terminal",
|
|
14904
|
+
wait_created: "wait_created",
|
|
14905
|
+
wait_completed: "wait_completed",
|
|
14906
|
+
hook_created: "hook_created",
|
|
14907
|
+
hook_disposed: "hook_disposed",
|
|
14908
|
+
run_started: "run_started"
|
|
14909
|
+
};
|
|
14910
|
+
function entityEventClass(eventType) {
|
|
14911
|
+
return ENTITY_EVENT_CLASS_BY_TYPE[eventType];
|
|
14912
|
+
}
|
|
14957
14913
|
const HookLifecycleEventTypeSchema = EventTypeSchema.extract([
|
|
14958
14914
|
"hook_created",
|
|
14959
14915
|
"hook_received",
|
|
@@ -15680,6 +15636,19 @@ const RunInputSchema = object({
|
|
|
15680
15636
|
*/
|
|
15681
15637
|
environment: string$2().optional()
|
|
15682
15638
|
});
|
|
15639
|
+
const StepDispatchInputSchema = object({
|
|
15640
|
+
/**
|
|
15641
|
+
* The serialized step input, reused verbatim from the direct write. Always
|
|
15642
|
+
* binary: producers only attach `stepInput` when the dehydrated input is a
|
|
15643
|
+
* `Uint8Array` and the run's queue transport preserves bytes (CBOR).
|
|
15644
|
+
* Validated here so a malformed or transport-mangled payload fails the
|
|
15645
|
+
* message parse instead of being silently written into a `step_created` as
|
|
15646
|
+
* non-binary data. `Buffer` is a `Uint8Array` subclass and passes.
|
|
15647
|
+
*/
|
|
15648
|
+
input: custom((value) => value instanceof Uint8Array, {
|
|
15649
|
+
message: "stepInput.input must be a Uint8Array"
|
|
15650
|
+
})
|
|
15651
|
+
});
|
|
15683
15652
|
const HookResumeInputSchema = object({
|
|
15684
15653
|
/** Stable idempotency key minted once per `resumeHook()` call. */
|
|
15685
15654
|
resumeId: string$2(),
|
|
@@ -15713,6 +15682,22 @@ const HookResumeInputSchema = object({
|
|
|
15713
15682
|
*/
|
|
15714
15683
|
deploymentId: string$2().optional()
|
|
15715
15684
|
});
|
|
15685
|
+
const HookResumeTimingSchema = object({
|
|
15686
|
+
/** Epoch ms at entry into `resumeHook()` — the start of the TTR window. */
|
|
15687
|
+
resumeRequestedAtMs: number$3(),
|
|
15688
|
+
/** Epoch ms immediately before the queue publish was requested. */
|
|
15689
|
+
queuePublishRequestedAtMs: number$3(),
|
|
15690
|
+
/** Which `resumeHook()` dispatch path ran: `parallel` or `sequential`. */
|
|
15691
|
+
strategy: string$2().optional(),
|
|
15692
|
+
/** Epoch ms the final consumer's queue handler was entered. */
|
|
15693
|
+
consumerStartedAtMs: number$3().optional(),
|
|
15694
|
+
/** Epoch ms this invocation's first replay pass began. */
|
|
15695
|
+
replayStartedAtMs: number$3().optional(),
|
|
15696
|
+
/** Epoch ms replay first encountered a durable step after the resume. */
|
|
15697
|
+
nextStepEncounteredAtMs: number$3().optional(),
|
|
15698
|
+
/** How the consumer initialized replay state: see `ResumeSetupSource`. */
|
|
15699
|
+
setupSource: string$2().optional()
|
|
15700
|
+
});
|
|
15716
15701
|
const WorkflowInvokePayloadSchema = object({
|
|
15717
15702
|
runId: string$2(),
|
|
15718
15703
|
traceCarrier: TraceCarrierSchema.optional(),
|
|
@@ -15746,7 +15731,28 @@ const WorkflowInvokePayloadSchema = object({
|
|
|
15746
15731
|
* fast path. A consumer that understands this field idempotently ensures the
|
|
15747
15732
|
* `hook_received` event exists (keyed by `resumeId`) before replaying.
|
|
15748
15733
|
*/
|
|
15749
|
-
hookInput: HookResumeInputSchema.optional()
|
|
15734
|
+
hookInput: HookResumeInputSchema.optional(),
|
|
15735
|
+
/**
|
|
15736
|
+
* Resilient step dispatch data, only present alongside `stepId` when the
|
|
15737
|
+
* producer parallelized the `step_created` write with this queue publish. A
|
|
15738
|
+
* consumer that understands this field idempotently ensures the
|
|
15739
|
+
* `step_created` event exists (keyed by `stepId`) before executing the step.
|
|
15740
|
+
*/
|
|
15741
|
+
stepInput: StepDispatchInputSchema.optional(),
|
|
15742
|
+
/**
|
|
15743
|
+
* Hook-resume TTR timing. Present on both `resumeHook()` dispatch paths
|
|
15744
|
+
* (unlike `hookInput`, which only rides the parallel fast path), and
|
|
15745
|
+
* forwarded onto a dispatched step message when the resuming invocation
|
|
15746
|
+
* hands the next durable step to another invocation. Purely observational —
|
|
15747
|
+
* see {@link HookResumeTimingSchema}.
|
|
15748
|
+
*
|
|
15749
|
+
* `.catch(undefined)` because this field must never be able to fail the
|
|
15750
|
+
* parse of the invocation payload: a malformed value (a NaN boundary, a
|
|
15751
|
+
* shape change from a future producer) would otherwise throw on every
|
|
15752
|
+
* delivery of that message and burn the run's delivery budget over a
|
|
15753
|
+
* telemetry field. Anything unparseable degrades to "no measurement".
|
|
15754
|
+
*/
|
|
15755
|
+
hookResumeTiming: HookResumeTimingSchema.optional().catch(void 0)
|
|
15750
15756
|
});
|
|
15751
15757
|
const HealthCheckPayloadSchema = object({
|
|
15752
15758
|
__healthCheck: literal(true),
|
|
@@ -15851,6 +15857,80 @@ object({
|
|
|
15851
15857
|
});
|
|
15852
15858
|
string$2().ulid();
|
|
15853
15859
|
templateLiteral(["wrun_", ulid()]);
|
|
15860
|
+
const scriptRel = "modulepreload";
|
|
15861
|
+
const assetsURL = function(dep) {
|
|
15862
|
+
return "/" + dep;
|
|
15863
|
+
};
|
|
15864
|
+
const seen = {};
|
|
15865
|
+
const __vitePreload = function preload(baseModule, deps, importerUrl) {
|
|
15866
|
+
let promise = Promise.resolve();
|
|
15867
|
+
if (deps && deps.length > 0) {
|
|
15868
|
+
let allSettled2 = function(promises) {
|
|
15869
|
+
return Promise.all(
|
|
15870
|
+
promises.map(
|
|
15871
|
+
(p2) => Promise.resolve(p2).then(
|
|
15872
|
+
(value) => ({ status: "fulfilled", value }),
|
|
15873
|
+
(reason) => ({ status: "rejected", reason })
|
|
15874
|
+
)
|
|
15875
|
+
)
|
|
15876
|
+
);
|
|
15877
|
+
};
|
|
15878
|
+
document.getElementsByTagName("link");
|
|
15879
|
+
const cspNonceMeta = document.querySelector(
|
|
15880
|
+
"meta[property=csp-nonce]"
|
|
15881
|
+
);
|
|
15882
|
+
const cspNonce = (cspNonceMeta == null ? void 0 : cspNonceMeta.nonce) || (cspNonceMeta == null ? void 0 : cspNonceMeta.getAttribute("nonce"));
|
|
15883
|
+
promise = allSettled2(
|
|
15884
|
+
deps.map((dep) => {
|
|
15885
|
+
dep = assetsURL(dep);
|
|
15886
|
+
if (dep in seen) return;
|
|
15887
|
+
seen[dep] = true;
|
|
15888
|
+
const isCss = dep.endsWith(".css");
|
|
15889
|
+
const cssSelector = isCss ? '[rel="stylesheet"]' : "";
|
|
15890
|
+
if (document.querySelector(`link[href="${dep}"]${cssSelector}`)) {
|
|
15891
|
+
return;
|
|
15892
|
+
}
|
|
15893
|
+
const link2 = document.createElement("link");
|
|
15894
|
+
link2.rel = isCss ? "stylesheet" : scriptRel;
|
|
15895
|
+
if (!isCss) {
|
|
15896
|
+
link2.as = "script";
|
|
15897
|
+
}
|
|
15898
|
+
link2.crossOrigin = "";
|
|
15899
|
+
link2.href = dep;
|
|
15900
|
+
if (cspNonce) {
|
|
15901
|
+
link2.setAttribute("nonce", cspNonce);
|
|
15902
|
+
}
|
|
15903
|
+
document.head.appendChild(link2);
|
|
15904
|
+
if (isCss) {
|
|
15905
|
+
return new Promise((res, rej) => {
|
|
15906
|
+
link2.addEventListener("load", res);
|
|
15907
|
+
link2.addEventListener(
|
|
15908
|
+
"error",
|
|
15909
|
+
() => rej(new Error(`Unable to preload CSS for ${dep}`))
|
|
15910
|
+
);
|
|
15911
|
+
});
|
|
15912
|
+
}
|
|
15913
|
+
})
|
|
15914
|
+
);
|
|
15915
|
+
}
|
|
15916
|
+
function handlePreloadError(err) {
|
|
15917
|
+
const e = new Event("vite:preloadError", {
|
|
15918
|
+
cancelable: true
|
|
15919
|
+
});
|
|
15920
|
+
e.payload = err;
|
|
15921
|
+
window.dispatchEvent(e);
|
|
15922
|
+
if (!e.defaultPrevented) {
|
|
15923
|
+
throw err;
|
|
15924
|
+
}
|
|
15925
|
+
}
|
|
15926
|
+
return promise.then((res) => {
|
|
15927
|
+
for (const item of res || []) {
|
|
15928
|
+
if (item.status !== "rejected") continue;
|
|
15929
|
+
handlePreloadError(item.reason);
|
|
15930
|
+
}
|
|
15931
|
+
return baseModule().catch(handlePreloadError);
|
|
15932
|
+
});
|
|
15933
|
+
};
|
|
15854
15934
|
const UNDEFINED = -1;
|
|
15855
15935
|
const HOLE = -2;
|
|
15856
15936
|
const NAN = -3;
|
|
@@ -17442,7 +17522,7 @@ async function hydrateResourceIOAsync(resource, key) {
|
|
|
17442
17522
|
return { hydrateDataWithKey: hydrateDataWithKey3, deriveRunPayloadKeys: deriveRunPayloadKeys3 };
|
|
17443
17523
|
}, true ? void 0 : void 0);
|
|
17444
17524
|
const { ensureZstdDecoderRegistered } = await __vitePreload(async () => {
|
|
17445
|
-
const { ensureZstdDecoderRegistered: ensureZstdDecoderRegistered2 } = await import("./zstd-browser-decoder-
|
|
17525
|
+
const { ensureZstdDecoderRegistered: ensureZstdDecoderRegistered2 } = await import("./zstd-browser-decoder-CAEVa0bm.js");
|
|
17446
17526
|
return { ensureZstdDecoderRegistered: ensureZstdDecoderRegistered2 };
|
|
17447
17527
|
}, true ? __vite__mapDeps([0,1]) : void 0);
|
|
17448
17528
|
ensureZstdDecoderRegistered();
|
|
@@ -18962,23 +19042,17 @@ function Spinner({ size: size2 = 14, color: color2 }) {
|
|
|
18962
19042
|
lineW: size2 * 0.24,
|
|
18963
19043
|
lineH: size2 * 0.08
|
|
18964
19044
|
};
|
|
18965
|
-
return jsxRuntimeExports.jsxs("span", { style: {
|
|
18966
|
-
display: "inline-flex",
|
|
18967
|
-
position: "relative",
|
|
19045
|
+
return jsxRuntimeExports.jsxs("span", { className: "relative inline-flex", style: {
|
|
18968
19046
|
width: size2,
|
|
18969
19047
|
height: size2
|
|
18970
|
-
}, children: [jsxRuntimeExports.jsx("style", { dangerouslySetInnerHTML: { __html: KEYFRAMES } }), config2.delays.map((delay, i) => jsxRuntimeExports.jsx("span", { style: {
|
|
18971
|
-
position: "absolute",
|
|
18972
|
-
left: "50%",
|
|
18973
|
-
top: "50%",
|
|
19048
|
+
}, children: [jsxRuntimeExports.jsx("style", { dangerouslySetInnerHTML: { __html: KEYFRAMES } }), config2.delays.map((delay, i) => jsxRuntimeExports.jsx("span", { className: "absolute top-1/2 left-1/2 rounded-[1px] bg-gray-700 [animation-iteration-count:infinite] [animation-name:wf-spinner-fade] [animation-timing-function:linear]", style: {
|
|
18974
19049
|
width: config2.lineW,
|
|
18975
19050
|
height: config2.lineH,
|
|
18976
19051
|
marginLeft: -config2.lineW / 2,
|
|
18977
19052
|
marginTop: -config2.lineH / 2,
|
|
18978
|
-
|
|
18979
|
-
backgroundColor: color2 ?? "var(--ds-gray-700)",
|
|
19053
|
+
backgroundColor: color2,
|
|
18980
19054
|
transform: `rotate(${i * config2.angle}deg) translate(${size2 * 0.36}px)`,
|
|
18981
|
-
|
|
19055
|
+
animationDuration: `${config2.duration}ms`,
|
|
18982
19056
|
animationDelay: `${delay}ms`
|
|
18983
19057
|
} }, delay))] });
|
|
18984
19058
|
}
|
|
@@ -19040,33 +19114,18 @@ function EncryptedInlineLabel() {
|
|
|
19040
19114
|
ctx.onDecrypt();
|
|
19041
19115
|
}, children: [ctx.isDecrypting ? jsxRuntimeExports.jsx(Spinner, { size: 10 }) : jsxRuntimeExports.jsx(Lock, { className: "h-3 w-3" }), jsxRuntimeExports.jsx("span", { children: "Decrypt" })] });
|
|
19042
19116
|
}
|
|
19043
|
-
return jsxRuntimeExports.jsxs("span", {
|
|
19044
|
-
display: "inline",
|
|
19045
|
-
verticalAlign: "middle",
|
|
19046
|
-
marginRight: "3px",
|
|
19047
|
-
marginTop: "-1px"
|
|
19048
|
-
} }), "Encrypted"] });
|
|
19117
|
+
return jsxRuntimeExports.jsxs("span", { className: "text-gray-600 italic", children: [jsxRuntimeExports.jsx(Lock, { className: "-mt-px mr-[3px] inline h-3 w-3 align-middle" }), "Encrypted"] });
|
|
19049
19118
|
}
|
|
19050
19119
|
function StreamRefInline({ streamRef }) {
|
|
19051
19120
|
const onStreamClick = reactExports.useContext(StreamClickContext);
|
|
19052
|
-
|
|
19053
|
-
return jsxRuntimeExports.jsxs("button", { type: "button", className: "inline-flex items-center gap-1 px-1.5 py-0.5 rounded text-[10px] font-mono cursor-pointer underline decoration-transparent transition-colors", style: {
|
|
19054
|
-
backgroundColor: hovered ? "var(--ds-blue-200)" : "var(--ds-blue-100)",
|
|
19055
|
-
color: "var(--ds-blue-900)",
|
|
19056
|
-
border: "1px solid var(--ds-blue-300)"
|
|
19057
|
-
}, onMouseEnter: () => setHovered(true), onMouseLeave: () => setHovered(false), onClick: (e) => {
|
|
19121
|
+
return jsxRuntimeExports.jsxs("button", { type: "button", className: "inline-flex cursor-pointer items-center gap-1 rounded border border-blue-300 bg-blue-100 px-1.5 py-0.5 font-mono text-[10px] text-blue-900 underline decoration-transparent transition-colors hover:bg-blue-200", onClick: (e) => {
|
|
19058
19122
|
e.stopPropagation();
|
|
19059
19123
|
onStreamClick == null ? void 0 : onStreamClick(streamRef.streamId);
|
|
19060
19124
|
}, title: `View stream: ${streamRef.streamId}`, children: [jsxRuntimeExports.jsx("span", { children: "📡" }), jsxRuntimeExports.jsx("span", { children: streamRef.streamId })] });
|
|
19061
19125
|
}
|
|
19062
19126
|
function RunRefInline({ runRef }) {
|
|
19063
19127
|
const onRunClick = reactExports.useContext(RunClickContext);
|
|
19064
|
-
|
|
19065
|
-
return jsxRuntimeExports.jsx("button", { type: "button", className: "inline-flex items-center gap-1 px-1.5 py-0.5 rounded text-[10px] font-mono cursor-pointer underline decoration-transparent transition-colors", style: {
|
|
19066
|
-
backgroundColor: hovered ? "var(--ds-purple-200)" : "var(--ds-purple-100)",
|
|
19067
|
-
color: "var(--ds-purple-900)",
|
|
19068
|
-
border: "1px solid var(--ds-purple-300)"
|
|
19069
|
-
}, onMouseEnter: () => setHovered(true), onMouseLeave: () => setHovered(false), onClick: (e) => {
|
|
19128
|
+
return jsxRuntimeExports.jsx("button", { type: "button", className: "inline-flex cursor-pointer items-center gap-1 rounded border border-purple-300 bg-purple-100 px-1.5 py-0.5 font-mono text-[10px] text-purple-900 underline decoration-transparent transition-colors hover:bg-purple-200", onClick: (e) => {
|
|
19070
19129
|
e.stopPropagation();
|
|
19071
19130
|
onRunClick == null ? void 0 : onRunClick(runRef.runId);
|
|
19072
19131
|
}, title: `View run: ${runRef.runId}`, children: jsxRuntimeExports.jsx("span", { children: runRef.runId }) });
|
|
@@ -19074,24 +19133,17 @@ function RunRefInline({ runRef }) {
|
|
|
19074
19133
|
function DecodedBytesChunk({ decodedText, source }) {
|
|
19075
19134
|
const [selectedView, setSelectedView] = reactExports.useState("decoded");
|
|
19076
19135
|
const parsed = parseChunkData(decodedText);
|
|
19077
|
-
return jsxRuntimeExports.jsxs("div", { className: "min-w-0", children: [selectedView === "decoded" ? jsxRuntimeExports.jsx("div", { className: "min-w-0", children: typeof parsed === "string" ? jsxRuntimeExports.jsx("span", { className: "whitespace-pre-wrap break-words
|
|
19078
|
-
backgroundColor: selectedView === "decoded" ? "var(--ds-gray-200)" : "var(--ds-gray-100)",
|
|
19079
|
-
color: "var(--ds-gray-900)"
|
|
19080
|
-
}, onClick: () => setSelectedView("decoded"), "aria-pressed": selectedView === "decoded", "aria-label": "Show decoded text", children: "Decoded" }), jsxRuntimeExports.jsx("button", { type: "button", className: "h-5 border-l px-1.5 text-[10px] font-medium", style: {
|
|
19081
|
-
borderColor: "var(--ds-gray-400)",
|
|
19082
|
-
backgroundColor: selectedView === "bytes" ? "var(--ds-gray-200)" : "var(--ds-gray-100)",
|
|
19083
|
-
color: "var(--ds-gray-900)"
|
|
19084
|
-
}, onClick: () => setSelectedView("bytes"), "aria-pressed": selectedView === "bytes", "aria-label": "Show raw bytes summary", children: "Bytes" })] }) })] });
|
|
19136
|
+
return jsxRuntimeExports.jsxs("div", { className: "min-w-0", children: [selectedView === "decoded" ? jsxRuntimeExports.jsx("div", { className: "min-w-0", children: typeof parsed === "string" ? jsxRuntimeExports.jsx("span", { className: "whitespace-pre-wrap break-words text-gray-1000", children: deserializeChunkText(parsed) }) : jsxRuntimeExports.jsx(DataInspector, { data: parsed, expandLevel: 1 }) }) : jsxRuntimeExports.jsx(DecodedBytesInspector, { decodedText, source }), jsxRuntimeExports.jsx("div", { className: "mt-2 flex", children: jsxRuntimeExports.jsxs("div", { className: "inline-flex overflow-hidden rounded border border-gray-400", title: `${source.type} decoded as ${source.encoding.toUpperCase()} text. Switch to Bytes to inspect the summarized raw value.`, children: [jsxRuntimeExports.jsx("button", { type: "button", className: cn$4("h-5 px-1.5 font-medium text-[10px] text-gray-900", selectedView === "decoded" ? "bg-gray-200" : "bg-gray-100"), onClick: () => setSelectedView("decoded"), "aria-pressed": selectedView === "decoded", "aria-label": "Show decoded text", children: "Decoded" }), jsxRuntimeExports.jsx("button", { type: "button", className: cn$4("h-5 border-gray-400 border-l px-1.5 font-medium text-[10px] text-gray-900", selectedView === "bytes" ? "bg-gray-200" : "bg-gray-100"), onClick: () => setSelectedView("bytes"), "aria-pressed": selectedView === "bytes", "aria-label": "Show raw bytes summary", children: "Bytes" })] }) })] });
|
|
19085
19137
|
}
|
|
19086
19138
|
function DecodedBytesInspector({ decodedText, source }) {
|
|
19087
19139
|
const [expanded, setExpanded] = reactExports.useState(false);
|
|
19088
|
-
return jsxRuntimeExports.jsxs("div", { className: "font-mono", children: [jsxRuntimeExports.jsxs("button", { type: "button", className: "flex max-w-full items-start gap-1 text-left
|
|
19140
|
+
return jsxRuntimeExports.jsxs("div", { className: "font-mono", children: [jsxRuntimeExports.jsxs("button", { type: "button", className: "flex max-w-full items-start gap-1 text-left text-gray-1000", onClick: () => setExpanded((value) => !value), title: `${source.type} decoded as ${source.encoding.toUpperCase()} text`, children: [jsxRuntimeExports.jsx("span", { className: "select-none text-gray-700", children: expanded ? "▼" : "▶" }), jsxRuntimeExports.jsx("span", { className: "min-w-0 break-words", children: source.rawSummary })] }), expanded && jsxRuntimeExports.jsxs("div", { className: "mt-1 pl-5", children: [jsxRuntimeExports.jsx("span", { className: "text-gray-700", children: "decoded: " }), jsxRuntimeExports.jsx("span", { className: "whitespace-pre-wrap break-words text-green-900", children: JSON.stringify(decodedText) })] })] });
|
|
19089
19141
|
}
|
|
19090
19142
|
function BytesDisplayValue({ display }) {
|
|
19091
19143
|
if (display.decodedFrom) {
|
|
19092
19144
|
return jsxRuntimeExports.jsx(DecodedBytesChunk, { decodedText: display.text, source: display.decodedFrom });
|
|
19093
19145
|
}
|
|
19094
|
-
return jsxRuntimeExports.jsx("span", { className: "whitespace-pre-wrap break-words
|
|
19146
|
+
return jsxRuntimeExports.jsx("span", { className: "whitespace-pre-wrap break-words text-gray-1000", children: display.text });
|
|
19095
19147
|
}
|
|
19096
19148
|
function formatField(field) {
|
|
19097
19149
|
return field === "" ? '""' : field;
|
|
@@ -19908,9 +19960,7 @@ function ContextCardProvider({ children: children2, portalTarget }) {
|
|
|
19908
19960
|
distanceFromLast,
|
|
19909
19961
|
lastOrigin
|
|
19910
19962
|
]);
|
|
19911
|
-
return jsxRuntimeExports.jsxs(ContextCardContext.Provider, { value: contextValue, children: [children2, isMounted ? reactDomExports.createPortal(jsxRuntimeExports.jsx("div", { className: "w-full h-full inset-0 fixed pointer-events-none z-[100000]", ref, children: jsxRuntimeExports.jsx("div", { className: "min-w-max transition-all duration-150 ease-[easing-function:cubic-bezier(0.3,_0.57,_0.07,_0.95)] will-change-[transform,width,height] motion-reduce:!transition-none", style: {
|
|
19912
|
-
opacity: visible ? 1 : 0
|
|
19913
|
-
}, children: jsxRuntimeExports.jsxs("div", { className: cn$4("absolute bg-background-100 bg-clip-padding rounded-[6px] overflow-visible pointer-events-none z-[1000000] shadow-[var(--ds-shadow-tooltip),0_0_0_1px_var(--ds-background-100)] w-fit [--context-card-tip-stroke:#DBDBDB] dark-theme:[--context-card-tip-stroke:#252525]", skipTransition ? "!transition-none" : "transition-[transform,width,height] duration-250 ease-[easing-function:cubic-bezier(0.29,0.31,0.05,0.96)] will-change-[transform,width,height] motion-reduce:!transition-none"), "data-skip-transition": skipTransition, style: {
|
|
19963
|
+
return jsxRuntimeExports.jsxs(ContextCardContext.Provider, { value: contextValue, children: [children2, isMounted ? reactDomExports.createPortal(jsxRuntimeExports.jsx("div", { className: "w-full h-full inset-0 fixed pointer-events-none z-[100000]", ref, children: jsxRuntimeExports.jsx("div", { className: cn$4("min-w-max transition-all duration-150 ease-[easing-function:cubic-bezier(0.3,_0.57,_0.07,_0.95)] will-change-[transform,width,height] motion-reduce:!transition-none", visible ? "opacity-100" : "opacity-0"), children: jsxRuntimeExports.jsxs("div", { className: cn$4("absolute bg-background-100 bg-clip-padding rounded-[6px] overflow-visible pointer-events-none z-[1000000] shadow-[var(--ds-shadow-tooltip),0_0_0_1px_var(--ds-background-100)] w-fit [--context-card-tip-stroke:#DBDBDB] dark-theme:[--context-card-tip-stroke:#252525]", skipTransition ? "!transition-none" : "transition-[transform,width,height] duration-[250ms] ease-[easing-function:cubic-bezier(0.29,0.31,0.05,0.96)] will-change-[transform,width,height] motion-reduce:!transition-none"), "data-skip-transition": skipTransition, style: {
|
|
19914
19964
|
transform: `translate(${activeBounds.x}px,${activeBounds.y}px)`,
|
|
19915
19965
|
width: activeBounds.width,
|
|
19916
19966
|
height: activeBounds.height
|
|
@@ -19919,18 +19969,13 @@ function ContextCardProvider({ children: children2, portalTarget }) {
|
|
|
19919
19969
|
"right-full -translate-y-1/2 rotate-90 -mr-[3.5px]": activeBounds.side === "right",
|
|
19920
19970
|
"bottom-full -translate-x-1/2 rotate-180": activeBounds.side === "bottom",
|
|
19921
19971
|
"left-full -translate-y-1/2 rotate-[270deg] -ml-[3.5px]": activeBounds.side === "left"
|
|
19922
|
-
}, skipTransition ? "!transition-none" : "transition-[transform,width,height] duration-
|
|
19972
|
+
}, skipTransition ? "!transition-none" : "transition-[transform,width,height] duration-[250ms] ease-[easing-function:cubic-bezier(0.29,0.31,0.05,0.96)] will-change-[transform,width,height] motion-reduce:!transition-none"), style: {
|
|
19923
19973
|
...activeBounds.side === "top" || activeBounds.side === "bottom" ? {
|
|
19924
19974
|
left: `calc(50% + ${activeBounds.arrowOffset.x}px)`
|
|
19925
19975
|
} : {
|
|
19926
19976
|
top: `calc(50% + ${activeBounds.arrowOffset.y}px)`
|
|
19927
19977
|
}
|
|
19928
|
-
}, "data-skip-transition": skipTransition, "data-side": activeBounds.side, children: jsxRuntimeExports.jsxs("svg", { width: "14", height: "7", viewBox: "0 0 14 7", fill: "none", xmlns: "http://www.w3.org/2000/svg", "aria-hidden": "true", children: [jsxRuntimeExports.jsx("g", { clipPath: "url(#context-card-tip-clip)", children: jsxRuntimeExports.jsx("path", { d: "M15 -0.5V0.5H12.9834L12.8184 0.508789C12.4377 0.550822 12.0853 0.738056 11.8359 1.03418L8.53027 4.95996C7.73114 5.90893 6.26886 5.90892 5.46973 4.95996L2.16406 1.03418C1.87905 0.695733 1.45907 0.5 1.0166 0.5H-1V-0.5H15Z", fill: "var(--ds-background-100)",
|
|
19929
|
-
fill: "var(--ds-background-100)",
|
|
19930
|
-
fillOpacity: 1,
|
|
19931
|
-
stroke: "var(--context-card-tip-stroke)",
|
|
19932
|
-
strokeOpacity: 1
|
|
19933
|
-
} }) }), jsxRuntimeExports.jsx("defs", { children: jsxRuntimeExports.jsx("clipPath", { id: "context-card-tip-clip", children: jsxRuntimeExports.jsx("rect", { width: "14", height: "7", fill: "white", style: { fill: "white", fillOpacity: 1 } }) }) })] }) }), jsxRuntimeExports.jsx("div", { ref: portalRef })] }) }) }), resolvedPortalTarget ?? document.body) : null] });
|
|
19978
|
+
}, "data-skip-transition": skipTransition, "data-side": activeBounds.side, children: jsxRuntimeExports.jsxs("svg", { width: "14", height: "7", viewBox: "0 0 14 7", fill: "none", xmlns: "http://www.w3.org/2000/svg", "aria-hidden": "true", children: [jsxRuntimeExports.jsx("g", { clipPath: "url(#context-card-tip-clip)", children: jsxRuntimeExports.jsx("path", { d: "M15 -0.5V0.5H12.9834L12.8184 0.508789C12.4377 0.550822 12.0853 0.738056 11.8359 1.03418L8.53027 4.95996C7.73114 5.90893 6.26886 5.90892 5.46973 4.95996L2.16406 1.03418C1.87905 0.695733 1.45907 0.5 1.0166 0.5H-1V-0.5H15Z", fill: "var(--ds-background-100)", className: "fill-background-100 stroke-[var(--context-card-tip-stroke)]" }) }), jsxRuntimeExports.jsx("defs", { children: jsxRuntimeExports.jsx("clipPath", { id: "context-card-tip-clip", children: jsxRuntimeExports.jsx("rect", { width: "14", height: "7", fill: "white", className: "fill-background-100" }) }) })] }) }), jsxRuntimeExports.jsx("div", { ref: portalRef })] }) }) }), resolvedPortalTarget ?? document.body) : null] });
|
|
19934
19979
|
}
|
|
19935
19980
|
function ContextCardTrigger({ content: content2, children: children2, side = "right", align = "center", sideOffset = 16, alignOffset = 0, ignoreCardPointerEvents = false, noPadding, asChild, className, hide: hide2, inactiveTimeoutMs = INACTIVE_TIMEOUT_MS }) {
|
|
19936
19981
|
const triggerRef = reactExports.useRef(null);
|
|
@@ -20165,15 +20210,15 @@ function ContextCardTrigger({ content: content2, children: children2, side = "ri
|
|
|
20165
20210
|
}
|
|
20166
20211
|
}
|
|
20167
20212
|
const Comp = asChild ? Root : "div";
|
|
20168
|
-
return jsxRuntimeExports.jsxs(Comp, { className: cn$4("inline-flex cursor-pointer flex-[0_1_auto] overflow-hidden", className), onMouseEnter, onMouseLeave, onClick: handleClick, ref: triggerRef, children: [jsxRuntimeExports.jsx(Slottable, { children: children2 }), (portalRef == null ? void 0 : portalRef.current) && (localHover || persisting) ? reactDomExports.createPortal(jsxRuntimeExports.jsx("div", { className: cn$4("absolute top-0 p-3 left-0 max-w-max transition-[transform,width,height] duration-
|
|
20169
|
-
...noPadding ? { padding: 0 } : {},
|
|
20170
|
-
pointerEvents: rootVisible && visible && !ignoreCardPointerEvents ? "all" : "none"
|
|
20171
|
-
}, children: jsxRuntimeExports.jsx("div", { className: cn$4("min-w-max transition-all duration-150 ease-[easing-function:cubic-bezier(0.3,_0.57,_0.07,_0.95)] will-change-[transform,width,height] motion-reduce:!transition-none", skipTransition ? "!transition-none" : "transition-[transform,width,height] duration-250 ease-[easing-function:cubic-bezier(0.29,0.31,0.05,0.96)] will-change-[transform,width,height] motion-reduce:!transition-none"), ref: contentMeasureRef, style: {
|
|
20172
|
-
opacity: Number(visible)
|
|
20173
|
-
}, children: content2 }) }, id), portalRef.current) : null] });
|
|
20213
|
+
return jsxRuntimeExports.jsxs(Comp, { className: cn$4("inline-flex cursor-pointer flex-[0_1_auto] overflow-hidden", className), onMouseEnter, onMouseLeave, onClick: handleClick, ref: triggerRef, children: [jsxRuntimeExports.jsx(Slottable, { children: children2 }), (portalRef == null ? void 0 : portalRef.current) && (localHover || persisting) ? reactDomExports.createPortal(jsxRuntimeExports.jsx("div", { className: cn$4("absolute top-0 p-3 left-0 max-w-max transition-[transform,width,height] duration-[250ms] ease-[easing-function:cubic-bezier(0.29,0.31,0.05,0.96)] will-change-[transform,width,height] motion-reduce:!transition-none", skipTransition && "!transition-none", noPadding && "p-0", rootVisible && visible && !ignoreCardPointerEvents ? "pointer-events-auto" : "pointer-events-none"), ref: contentRef, children: jsxRuntimeExports.jsx("div", { className: cn$4("min-w-max transition-all duration-150 ease-[easing-function:cubic-bezier(0.3,_0.57,_0.07,_0.95)] will-change-[transform,width,height] motion-reduce:!transition-none", skipTransition ? "!transition-none" : "transition-[transform,width,height] duration-[250ms] ease-[easing-function:cubic-bezier(0.29,0.31,0.05,0.96)] will-change-[transform,width,height] motion-reduce:!transition-none", visible ? "opacity-100" : "opacity-0"), ref: contentMeasureRef, children: content2 }) }, id), portalRef.current) : null] });
|
|
20174
20214
|
}
|
|
20215
|
+
const TooltipProvider = Provider;
|
|
20216
|
+
const Tooltip$1 = Root3;
|
|
20217
|
+
const TooltipTrigger$1 = Trigger;
|
|
20218
|
+
const TooltipContent$1 = reactExports.forwardRef(({ className, sideOffset = 8, showArrow = true, children: children2, ...props }, ref) => jsxRuntimeExports.jsx(Portal, { children: jsxRuntimeExports.jsxs(Content2, { ref, sideOffset, className: cn$4("z-[99999] flex items-center gap-1 rounded-[10px] bg-gray-1000 px-2 py-1.5 !text-label-13 text-background-100 shadow-md select-none", className), ...props, children: [children2, showArrow ? jsxRuntimeExports.jsx(Arrow2, { width: 11, height: 5, className: "fill-gray-1000" }) : null] }) }));
|
|
20219
|
+
TooltipContent$1.displayName = Content2.displayName;
|
|
20175
20220
|
function Skeleton({ className, style: style2, ...props }) {
|
|
20176
|
-
return jsxRuntimeExports.jsx("div", { ...props, className: cn$4("rounded-md", className), style:
|
|
20221
|
+
return jsxRuntimeExports.jsx("div", { ...props, className: cn$4("rounded-md bg-gray-200", className), style: style2 });
|
|
20177
20222
|
}
|
|
20178
20223
|
const TIME_UNITS = [
|
|
20179
20224
|
{ unit: "year", ms: 31536e6 },
|
|
@@ -45068,7 +45113,7 @@ var tn = f("block", "before:content-[counter(line)]", "before:inline-block", "be
|
|
|
45068
45113
|
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 });
|
|
45069
45114
|
var Se = reactExports.createContext({ code: "" }), de = () => reactExports.useContext(Se);
|
|
45070
45115
|
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 }) });
|
|
45071
|
-
var cn$1 = /\n+$/, dn = reactExports.lazy(() => __vitePreload(() => import("./highlighted-body-B3W2YXNL-
|
|
45116
|
+
var cn$1 = /\n+$/, dn = reactExports.lazy(() => __vitePreload(() => import("./highlighted-body-B3W2YXNL-Dc1dLaUr.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 }) => {
|
|
45072
45117
|
let i = reactExports.useMemo(() => e.replace(cn$1, ""), [e]), c = reactExports.useMemo(() => ({ bg: "transparent", fg: "inherit", tokens: i.split(`
|
|
45073
45118
|
`).map((a2) => [{ content: a2, color: "inherit", bgColor: "transparent", htmlStyle: {}, offset: 0 }]) }), [i]);
|
|
45074
45119
|
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 }) })] }) });
|
|
@@ -45848,13 +45893,13 @@ function useSidebarDataOptional() {
|
|
|
45848
45893
|
return reactExports.useContext(SidebarDataContext);
|
|
45849
45894
|
}
|
|
45850
45895
|
const STREAM_SKELETON_ROWS = [
|
|
45851
|
-
{ id: "stream-skeleton-row-1",
|
|
45852
|
-
{ id: "stream-skeleton-row-2",
|
|
45853
|
-
{ id: "stream-skeleton-row-3",
|
|
45854
|
-
{ id: "stream-skeleton-row-4",
|
|
45896
|
+
{ id: "stream-skeleton-row-1", widthClassName: "w-[72%]" },
|
|
45897
|
+
{ id: "stream-skeleton-row-2", widthClassName: "w-[58%]" },
|
|
45898
|
+
{ id: "stream-skeleton-row-3", widthClassName: "w-4/5" },
|
|
45899
|
+
{ id: "stream-skeleton-row-4", widthClassName: "w-[64%]" }
|
|
45855
45900
|
];
|
|
45856
45901
|
function StreamViewerSkeleton() {
|
|
45857
|
-
return jsxRuntimeExports.jsxs("output", { "aria-busy": "true", "aria-label": "Loading stream", className: "flex h-full min-h-0 w-full flex-col overflow-hidden bg-background-100", children: [jsxRuntimeExports.jsx("span", { className: "sr-only", children: "Loading stream…" }), jsxRuntimeExports.jsx("div", { className: "flex h-10 min-h-10 items-center border-b border-gray-alpha-400 px-3", children: jsxRuntimeExports.jsx(Skeleton, { className: "h-3 w-10" }) }), jsxRuntimeExports.jsx("div", { className: "flex flex-col", children: STREAM_SKELETON_ROWS.map((row) => jsxRuntimeExports.jsxs("div", { className: "flex h-10 items-center gap-2 border-b border-gray-alpha-400 px-3", children: [jsxRuntimeExports.jsx(Skeleton, { className:
|
|
45902
|
+
return jsxRuntimeExports.jsxs("output", { "aria-busy": "true", "aria-label": "Loading stream", className: "flex h-full min-h-0 w-full flex-col overflow-hidden bg-background-100", children: [jsxRuntimeExports.jsx("span", { className: "sr-only", children: "Loading stream…" }), jsxRuntimeExports.jsx("div", { className: "flex h-10 min-h-10 items-center border-b border-gray-alpha-400 px-3", children: jsxRuntimeExports.jsx(Skeleton, { className: "h-3 w-10" }) }), jsxRuntimeExports.jsx("div", { className: "flex flex-col", children: STREAM_SKELETON_ROWS.map((row) => jsxRuntimeExports.jsxs("div", { className: "flex h-10 items-center gap-2 border-b border-gray-alpha-400 px-3", children: [jsxRuntimeExports.jsx(Skeleton, { className: `h-3 ${row.widthClassName}` }), jsxRuntimeExports.jsx(Skeleton, { className: "h-4 w-4 shrink-0 rounded-sm" })] }, row.id)) })] });
|
|
45858
45903
|
}
|
|
45859
45904
|
const ChunkRow = ReactExports.memo(function ChunkRow2({ chunk }) {
|
|
45860
45905
|
return jsxRuntimeExports.jsxs("div", { className: "flex w-full items-start gap-1 border-b border-gray-alpha-400 px-3 py-2", children: [jsxRuntimeExports.jsx("div", { className: "min-w-0 flex-1", children: typeof chunk.value === "string" ? jsxRuntimeExports.jsx("span", { className: "whitespace-pre-wrap break-words text-label-12 font-mono text-gray-1000", children: chunk.value }) : jsxRuntimeExports.jsx(DataInspector, { data: chunk.value, expandLevel: 1 }) }), jsxRuntimeExports.jsx(CopyButton, { copyText: serializeForClipboard(chunk.value), ariaLabel: "Copy chunk", className: "shrink-0 -mr-1 [&>div]:h-4 [&>div]:w-4 [&_svg]:h-4 [&_svg]:w-4" })] });
|
|
@@ -45875,7 +45920,7 @@ function StreamViewer({ streamId: _streamId, chunks, isLive, error, isLoading, o
|
|
|
45875
45920
|
if (isLoading && chunks.length === 0) {
|
|
45876
45921
|
return jsxRuntimeExports.jsx(StreamViewerSkeleton, {});
|
|
45877
45922
|
}
|
|
45878
|
-
return jsxRuntimeExports.jsxs("div", { className: "flex h-full w-full flex-col overflow-hidden bg-background-100", children: [jsxRuntimeExports.jsx("div", { className: "flex h-10 min-h-10 items-center gap-1.5 border-b border-gray-alpha-400 px-3", children: isLive && jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [jsxRuntimeExports.jsx("span", { className: "inline-block h-2 w-2 rounded-full bg-green-600" }), jsxRuntimeExports.jsx("span", { className: "text-label-12 text-green-700", children: "Live" })] }) }), jsxRuntimeExports.jsx("div", { className: "flex-1 min-h-0", children: error ? jsxRuntimeExports.jsxs("div", { className: "border-b border-red-400 bg-red-100 px-3 py-2 text-label-12 text-red-900", children: [jsxRuntimeExports.jsx("div", { children: "Error reading stream:" }), jsxRuntimeExports.jsx("div", { children: error })] }) : chunks.length === 0 ? jsxRuntimeExports.jsx("div", { className: "flex h-10 items-center border-b border-gray-alpha-400 bg-background-200 px-3 text-label-12 text-gray-900", children: isLive ? "Waiting for stream data..." : "Stream is empty" }) : jsxRuntimeExports.jsx(Yr, { ref: virtuosoRef, totalCount: chunks.length, overscan: 10, endReached: () => onScrollEnd == null ? void 0 : onScrollEnd(), itemContent: (index2) => jsxRuntimeExports.jsx("div", { className: "w-full", children: jsxRuntimeExports.jsx(ChunkRow, { chunk: chunks[index2] }) }),
|
|
45923
|
+
return jsxRuntimeExports.jsxs("div", { className: "flex h-full w-full flex-col overflow-hidden bg-background-100", children: [jsxRuntimeExports.jsx("div", { className: "flex h-10 min-h-10 items-center gap-1.5 border-b border-gray-alpha-400 px-3", children: isLive && jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [jsxRuntimeExports.jsx("span", { className: "inline-block h-2 w-2 rounded-full bg-green-600" }), jsxRuntimeExports.jsx("span", { className: "text-label-12 text-green-700", children: "Live" })] }) }), jsxRuntimeExports.jsx("div", { className: "flex-1 min-h-0", children: error ? jsxRuntimeExports.jsxs("div", { className: "border-b border-red-400 bg-red-100 px-3 py-2 text-label-12 text-red-900", children: [jsxRuntimeExports.jsx("div", { children: "Error reading stream:" }), jsxRuntimeExports.jsx("div", { children: error })] }) : chunks.length === 0 ? jsxRuntimeExports.jsx("div", { className: "flex h-10 items-center border-b border-gray-alpha-400 bg-background-200 px-3 text-label-12 text-gray-900", children: isLive ? "Waiting for stream data..." : "Stream is empty" }) : jsxRuntimeExports.jsx(Yr, { ref: virtuosoRef, totalCount: chunks.length, overscan: 10, endReached: () => onScrollEnd == null ? void 0 : onScrollEnd(), itemContent: (index2) => jsxRuntimeExports.jsx("div", { className: "w-full", children: jsxRuntimeExports.jsx(ChunkRow, { chunk: chunks[index2] }) }), className: "min-h-0 flex-1" }) })] });
|
|
45879
45924
|
}
|
|
45880
45925
|
const iconButtonVariants = cva([
|
|
45881
45926
|
"m-0 inline-flex shrink-0 appearance-none items-center justify-center border-0 bg-transparent p-0 align-baseline font-inherit no-underline [background:none] [-webkit-appearance:none] [-webkit-tap-highlight-color:transparent]",
|
|
@@ -45900,11 +45945,6 @@ const iconButtonVariants = cva([
|
|
|
45900
45945
|
});
|
|
45901
45946
|
const IconButton = reactExports.forwardRef(({ className, variant, size: size2, type = "button", ...props }, ref) => jsxRuntimeExports.jsx("button", { ref, type, className: cn$4(iconButtonVariants({ variant, size: size2, className })), ...props }));
|
|
45902
45947
|
IconButton.displayName = "IconButton";
|
|
45903
|
-
const TooltipProvider = Provider;
|
|
45904
|
-
const Tooltip$1 = Root3;
|
|
45905
|
-
const TooltipTrigger$1 = Trigger;
|
|
45906
|
-
const TooltipContent$1 = reactExports.forwardRef(({ className, sideOffset = 8, showArrow = true, children: children2, ...props }, ref) => jsxRuntimeExports.jsx(Portal, { children: jsxRuntimeExports.jsxs(Content2, { ref, sideOffset, className: cn$4("z-[99999] flex items-center gap-1 rounded-[10px] bg-gray-1000 px-2 py-1.5 !text-label-13 text-background-100 shadow-md select-none", className), ...props, children: [children2, showArrow ? jsxRuntimeExports.jsx(Arrow2, { width: 11, height: 5, className: "fill-gray-1000" }) : null] }) }));
|
|
45907
|
-
TooltipContent$1.displayName = Content2.displayName;
|
|
45908
45948
|
const ActiveSpanContext = reactExports.createContext(null);
|
|
45909
45949
|
ActiveSpanContext.displayName = "ActiveSpanContext";
|
|
45910
45950
|
function ActiveSpanProvider({ spans, children: children2 }) {
|
|
@@ -46225,41 +46265,31 @@ function computeSpanDelta(anchor, hovered, viewStart, viewEnd) {
|
|
|
46225
46265
|
hoveredOffscreen: hoveredStart > viewEnd ? "right" : hoveredEnd < viewStart ? "left" : null
|
|
46226
46266
|
};
|
|
46227
46267
|
}
|
|
46228
|
-
const
|
|
46268
|
+
const RESOURCE_CLASS_NAMES = {
|
|
46229
46269
|
run: {
|
|
46230
|
-
|
|
46231
|
-
|
|
46232
|
-
errorBg: "var(--ds-red-200)",
|
|
46233
|
-
errorBorder: "var(--ds-red-500)"
|
|
46270
|
+
className: "border-blue-500 bg-blue-200",
|
|
46271
|
+
errorClassName: "border-red-500 bg-red-200"
|
|
46234
46272
|
},
|
|
46235
46273
|
step: {
|
|
46236
|
-
|
|
46237
|
-
|
|
46238
|
-
errorBg: "var(--ds-red-200)",
|
|
46239
|
-
errorBorder: "var(--ds-red-500)"
|
|
46274
|
+
className: "border-green-500 bg-green-200",
|
|
46275
|
+
errorClassName: "border-red-500 bg-red-200"
|
|
46240
46276
|
},
|
|
46241
46277
|
// Passive spans (hooks) stay gray — matches event-list icons and the minimap.
|
|
46242
46278
|
hook: {
|
|
46243
|
-
|
|
46244
|
-
|
|
46245
|
-
errorBg: "var(--ds-red-200)",
|
|
46246
|
-
errorBorder: "var(--ds-red-500)"
|
|
46279
|
+
className: "border-gray-500 bg-gray-200",
|
|
46280
|
+
errorClassName: "border-red-500 bg-red-200"
|
|
46247
46281
|
},
|
|
46248
46282
|
sleep: {
|
|
46249
|
-
|
|
46250
|
-
|
|
46251
|
-
errorBg: "var(--ds-red-200)",
|
|
46252
|
-
errorBorder: "var(--ds-red-500)"
|
|
46283
|
+
className: "border-purple-500 bg-purple-200",
|
|
46284
|
+
errorClassName: "border-red-500 bg-red-200"
|
|
46253
46285
|
},
|
|
46254
46286
|
default: {
|
|
46255
|
-
|
|
46256
|
-
|
|
46257
|
-
errorBg: "var(--ds-red-200)",
|
|
46258
|
-
errorBorder: "var(--ds-red-500)"
|
|
46287
|
+
className: "border-gray-500 bg-gray-200",
|
|
46288
|
+
errorClassName: "border-red-500 bg-red-200"
|
|
46259
46289
|
}
|
|
46260
46290
|
};
|
|
46261
|
-
function
|
|
46262
|
-
return
|
|
46291
|
+
function getResourceClassNames(resource) {
|
|
46292
|
+
return RESOURCE_CLASS_NAMES[resource] ?? RESOURCE_CLASS_NAMES.default;
|
|
46263
46293
|
}
|
|
46264
46294
|
function clampFraction(value) {
|
|
46265
46295
|
return Math.max(0, Math.min(1, value));
|
|
@@ -46604,10 +46634,6 @@ const SEGMENT_CLASSES = {
|
|
|
46604
46634
|
sleeping: "bg-gray-400 border border-gray-500",
|
|
46605
46635
|
received: "bg-blue-200 border border-blue-500"
|
|
46606
46636
|
};
|
|
46607
|
-
const TIMELINE_INSET_STYLE = {
|
|
46608
|
-
left: TIMELINE_PADDING_PX,
|
|
46609
|
-
right: TIMELINE_PADDING_PX
|
|
46610
|
-
};
|
|
46611
46637
|
const STRIPED_SEGMENT_STATUSES = /* @__PURE__ */ new Set([
|
|
46612
46638
|
"pending",
|
|
46613
46639
|
"running",
|
|
@@ -46688,8 +46714,8 @@ function BoundaryArrow({ direction }) {
|
|
|
46688
46714
|
const Icon2 = direction === "right" ? ArrowRight : ArrowLeft;
|
|
46689
46715
|
return jsxRuntimeExports.jsx("div", { className: "flex h-6 w-6 items-center justify-center rounded-[0.25rem]", children: jsxRuntimeExports.jsx(Icon2, { className: "size-3 text-gray-900" }) });
|
|
46690
46716
|
}
|
|
46691
|
-
function PlainBar({
|
|
46692
|
-
return jsxRuntimeExports.jsx("div", { className: "relative h-6 w-full min-w-1 rounded-[0.25rem] border",
|
|
46717
|
+
function PlainBar({ className, label }) {
|
|
46718
|
+
return jsxRuntimeExports.jsx("div", { className: cn$4("relative h-6 w-full min-w-1 rounded-[0.25rem] border", className), children: label ? jsxRuntimeExports.jsx(DurationLabel, { label }) : null });
|
|
46693
46719
|
}
|
|
46694
46720
|
function LeadInConnector({ leftPct, widthPct, label }) {
|
|
46695
46721
|
return jsxRuntimeExports.jsxs("div", { className: "absolute top-1/2 h-6 -translate-y-1/2", style: {
|
|
@@ -46709,11 +46735,10 @@ function SegmentBar({ segments, showLabels = true }) {
|
|
|
46709
46735
|
}
|
|
46710
46736
|
const label = formatDurationPrecise(seg.fullDurationMs);
|
|
46711
46737
|
const showLabel = showLabels && seg.pixelWidth >= Math.max(40, estimateLabelWidthPx(label));
|
|
46712
|
-
return jsxRuntimeExports.jsxs("div", { className: cn$4("absolute h-full overflow-hidden rounded-[0.25rem]", SEGMENT_CLASSES[seg.status]), style: {
|
|
46738
|
+
return jsxRuntimeExports.jsxs("div", { className: cn$4("absolute h-full min-w-px overflow-hidden rounded-[0.25rem]", SEGMENT_CLASSES[seg.status]), style: {
|
|
46713
46739
|
// 1px gap between adjacent segments, distributed equally.
|
|
46714
46740
|
left: `calc(${seg.leftPct}% + 0.5px)`,
|
|
46715
|
-
width: `calc(${seg.widthPct}% - 1px)
|
|
46716
|
-
minWidth: 1
|
|
46741
|
+
width: `calc(${seg.widthPct}% - 1px)`
|
|
46717
46742
|
}, children: [STRIPED_SEGMENT_STATUSES.has(seg.status) ? jsxRuntimeExports.jsx(AnimatedStripes, { status: seg.status }) : null, showLabel ? jsxRuntimeExports.jsx(DurationLabel, { label }) : null] }, i);
|
|
46718
46743
|
}) });
|
|
46719
46744
|
}
|
|
@@ -46729,15 +46754,14 @@ const TimelineBar = reactExports.memo(function TimelineBar2({ span, viewStart, v
|
|
|
46729
46754
|
const offscreen = reactExports.useMemo(() => geometry.mode.kind === "full" ? computeOffscreenMarkers(baseMarkers, geometry.visibleStartMs, geometry.visibleEndMs) : { left: null, right: null }, [geometry, baseMarkers]);
|
|
46730
46755
|
const hasMarkers = markers.length > 0 || offscreen.left !== null || offscreen.right !== null;
|
|
46731
46756
|
const isErrored = isSpanErrored(span);
|
|
46732
|
-
const colors =
|
|
46733
|
-
const
|
|
46734
|
-
const fallbackBorder = isErrored ? colors.errorBorder ?? "var(--ds-red-500)" : colors.border;
|
|
46757
|
+
const colors = getResourceClassNames(span.resource);
|
|
46758
|
+
const fallbackClassName = isErrored ? colors.errorClassName ?? "border-red-500 bg-red-200" : colors.className;
|
|
46735
46759
|
const totalLabel = formatDurationPrecise(totalDurationMs);
|
|
46736
46760
|
const showTotalLabel = geometry.visiblePixelWidth >= Math.max(40, estimateLabelWidthPx(totalLabel));
|
|
46737
46761
|
const handleClick = reactExports.useCallback(() => {
|
|
46738
46762
|
onSelect(span.spanId);
|
|
46739
46763
|
}, [onSelect, span.spanId]);
|
|
46740
|
-
return jsxRuntimeExports.jsx("div", { role: "treeitem", "aria-selected": isSelected, "aria-expanded": isSelected, "aria-level": 1, className: cn$4("group/timeline-row h-10 relative flex items-center hover:bg-gray-100 aria-selected:bg-gray-100 aria-selected:hover:bg-gray-200 transition-opacity", isDimmed && "opacity-35"), onClick: handleClick, children: jsxRuntimeExports.jsxs("div", { className: "absolute inset-y-0",
|
|
46764
|
+
return jsxRuntimeExports.jsx("div", { role: "treeitem", "aria-selected": isSelected, "aria-expanded": isSelected, "aria-level": 1, className: cn$4("group/timeline-row h-10 relative flex items-center hover:bg-gray-100 aria-selected:bg-gray-100 aria-selected:hover:bg-gray-200 transition-opacity", isDimmed && "opacity-35"), onClick: handleClick, children: jsxRuntimeExports.jsxs("div", { className: "absolute inset-x-4 inset-y-0", children: [jsxRuntimeExports.jsx("div", { className: "absolute top-1/2 h-6 -translate-y-1/2 overflow-hidden rounded-[0.25rem]", style: getBarPositionStyle(geometry), children: geometry.mode.kind === "arrow" ? jsxRuntimeExports.jsx(BoundaryArrow, { direction: geometry.mode.direction }) : geometry.mode.kind === "tiny" ? jsxRuntimeExports.jsx("div", { className: cn$4("h-6 rounded-[0.25rem] border", fallbackClassName) }) : segments.length > 0 ? jsxRuntimeExports.jsx(SegmentBar, { segments, showLabels: !hasMarkers }) : jsxRuntimeExports.jsx(PlainBar, { className: fallbackClassName, label: showTotalLabel ? totalLabel : null }) }), hasMarkers ? jsxRuntimeExports.jsxs("div", { className: "pointer-events-none absolute top-1/2 h-6 -translate-y-1/2", style: getBarPositionStyle(geometry), children: [markers.length > 0 ? jsxRuntimeExports.jsx(MarkerLayer, { markers }) : null, offscreen.left ? jsxRuntimeExports.jsx(OffscreenMarkerIndicator, { direction: "left", count: offscreen.left.count, targetMs: offscreen.left.nearestMs, onReveal: onRevealTime }) : null, offscreen.right ? jsxRuntimeExports.jsx(OffscreenMarkerIndicator, { direction: "right", count: offscreen.right.count, targetMs: offscreen.right.nearestMs, onReveal: onRevealTime }) : null, showTotalLabel ? jsxRuntimeExports.jsx(DurationLabel, {
|
|
46741
46765
|
label: totalLabel,
|
|
46742
46766
|
// Shift clear of the left edge indicator so it isn't covered.
|
|
46743
46767
|
className: offscreen.left ? "pl-10" : void 0
|
|
@@ -46758,9 +46782,8 @@ const DeltaMeasureLine = reactExports.memo(function DeltaMeasureLine2({ delta, a
|
|
|
46758
46782
|
const label = formatDurationPrecise(delta.deltaMs);
|
|
46759
46783
|
const labelWidthPx = estimateLabelWidthPx(label);
|
|
46760
46784
|
const labelPlacement = endX - startX >= labelWidthPx ? { left: (startX + endX) / 2, translate: "-translate-x-1/2" } : endX + 4 + labelWidthPx <= timelineWidth ? { left: endX + 4, translate: "" } : { left: startX - 4, translate: "-translate-x-full" };
|
|
46761
|
-
return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [jsxRuntimeExports.jsx("div", { className: "absolute h-px bg-amber-800", style: {
|
|
46785
|
+
return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [jsxRuntimeExports.jsx("div", { className: "absolute h-px w-1 bg-amber-800", style: {
|
|
46762
46786
|
left: Math.min(anchorX, guideX),
|
|
46763
|
-
width: MEASURE_GUIDE_OUTSET_PX,
|
|
46764
46787
|
top: anchorCenterY
|
|
46765
46788
|
} }), jsxRuntimeExports.jsx("div", { className: "absolute w-px bg-amber-800", style: {
|
|
46766
46789
|
left: guideX,
|
|
@@ -46810,10 +46833,10 @@ function Timeline({ spans, viewStart, viewEnd, markers, selectedId, searchResult
|
|
|
46810
46833
|
const delta = computeSpanDelta(anchorSpan, hoveredSpan, viewStart, viewEnd);
|
|
46811
46834
|
return delta ? { delta, anchorRowIndex: anchorIndex, hoveredRowIndex: hover.rowIndex } : null;
|
|
46812
46835
|
}, [altHeld, anchorIndex, hover, spans, viewStart, viewEnd]);
|
|
46813
|
-
return jsxRuntimeExports.jsxs("div", { ref: containerRef, className: "relative h-full overflow-hidden", style: { minHeight: spans.length * ROW_HEIGHT_PX }, children: [jsxRuntimeExports.jsx("div", { "aria-hidden": true, className: "absolute inset-
|
|
46836
|
+
return jsxRuntimeExports.jsxs("div", { ref: containerRef, className: "relative h-full overflow-hidden", style: { minHeight: spans.length * ROW_HEIGHT_PX }, children: [jsxRuntimeExports.jsx("div", { "aria-hidden": true, className: "pointer-events-none absolute inset-x-4 inset-y-0", children: markers.map((marker) => (
|
|
46814
46837
|
// Skip the "0s" origin marker since the left edge already implies it.
|
|
46815
46838
|
Math.abs(marker.value) > 1e-6 ? jsxRuntimeExports.jsx("div", { className: "absolute top-0 bottom-0 w-px bg-gray-alpha-300", style: { left: `${marker.position * 100}%` } }, String(marker.value)) : null
|
|
46816
|
-
)) }), hover != null && jsxRuntimeExports.jsx("div", { className: "absolute inset-
|
|
46839
|
+
)) }), hover != null && jsxRuntimeExports.jsx("div", { className: "pointer-events-none absolute inset-x-4 inset-y-0 z-10", children: jsxRuntimeExports.jsx("div", { className: "absolute top-0 bottom-0 w-px bg-gray-alpha-500", style: { left: `${hover.fraction * 100}%` } }) }), jsxRuntimeExports.jsx("div", { style: { transform: `translateY(${start * ROW_HEIGHT_PX}px)` }, children: spans.slice(start, end).map((span) => jsxRuntimeExports.jsx(TimelineBar, { span, viewStart, viewDuration, containerWidth: timelineWidth, isSelected: selectedId === span.spanId, isDimmed: isSpanDimmedBySearch(span.spanId, searchResult), onSelect, onRevealTime }, span.spanId)) }), altHeld && anchorIndex < 0 && jsxRuntimeExports.jsx("div", { "aria-hidden": true, className: "pointer-events-none absolute inset-x-4 inset-y-0", children: gapMeasurements.map((gap) => jsxRuntimeExports.jsx(DeltaMeasureLine, { ...gap, timelineWidth }, gap.anchorRowIndex)) }), measurement && jsxRuntimeExports.jsx("div", { "aria-hidden": true, className: "pointer-events-none absolute inset-x-4 inset-y-0 z-20", children: jsxRuntimeExports.jsx(DeltaMeasureLine, { ...measurement, timelineWidth }) })] });
|
|
46817
46840
|
}
|
|
46818
46841
|
const CANVAS_PAD_Y_PX = 6;
|
|
46819
46842
|
const MIN_LINE_HEIGHT_PX = 1.5;
|
|
@@ -49501,7 +49524,7 @@ const mermaid3ZIDBTTL = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.def
|
|
|
49501
49524
|
Mermaid: Nt
|
|
49502
49525
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
49503
49526
|
export {
|
|
49504
|
-
|
|
49527
|
+
CopyableDataBlock as $,
|
|
49505
49528
|
Anchor as A,
|
|
49506
49529
|
Button as B,
|
|
49507
49530
|
Check as C,
|
|
@@ -49526,108 +49549,109 @@ export {
|
|
|
49526
49549
|
VISUALLY_HIDDEN_STYLES as V,
|
|
49527
49550
|
createContext2 as W,
|
|
49528
49551
|
fetchWorkflowsManifest as X,
|
|
49529
|
-
|
|
49530
|
-
|
|
49552
|
+
entityEventClass as Y,
|
|
49553
|
+
cn$4 as Z,
|
|
49531
49554
|
__vitePreload as _,
|
|
49532
49555
|
TooltipTrigger as a,
|
|
49533
|
-
|
|
49534
|
-
|
|
49535
|
-
|
|
49536
|
-
|
|
49537
|
-
|
|
49538
|
-
|
|
49539
|
-
|
|
49540
|
-
|
|
49541
|
-
|
|
49542
|
-
|
|
49543
|
-
|
|
49544
|
-
|
|
49545
|
-
|
|
49546
|
-
|
|
49547
|
-
|
|
49548
|
-
|
|
49549
|
-
|
|
49550
|
-
|
|
49551
|
-
|
|
49552
|
-
|
|
49553
|
-
|
|
49554
|
-
|
|
49555
|
-
|
|
49556
|
-
|
|
49557
|
-
|
|
49558
|
-
|
|
49559
|
-
|
|
49560
|
-
|
|
49561
|
-
|
|
49562
|
-
|
|
49563
|
-
|
|
49564
|
-
|
|
49565
|
-
|
|
49566
|
-
|
|
49567
|
-
|
|
49568
|
-
|
|
49569
|
-
|
|
49570
|
-
|
|
49571
|
-
|
|
49572
|
-
|
|
49573
|
-
|
|
49574
|
-
|
|
49575
|
-
|
|
49576
|
-
|
|
49577
|
-
|
|
49578
|
-
|
|
49579
|
-
|
|
49580
|
-
|
|
49581
|
-
|
|
49582
|
-
|
|
49583
|
-
|
|
49584
|
-
|
|
49585
|
-
|
|
49586
|
-
|
|
49587
|
-
|
|
49588
|
-
|
|
49589
|
-
|
|
49590
|
-
|
|
49591
|
-
|
|
49592
|
-
|
|
49593
|
-
|
|
49594
|
-
|
|
49595
|
-
|
|
49596
|
-
|
|
49556
|
+
fetchStreams as a$,
|
|
49557
|
+
CollapsibleRoot as a0,
|
|
49558
|
+
CollapsibleTrigger as a1,
|
|
49559
|
+
CollapsibleContent as a2,
|
|
49560
|
+
CopyButton as a3,
|
|
49561
|
+
RESERVED_ATTRIBUTE_KEY_PREFIX as a4,
|
|
49562
|
+
Spinner as a5,
|
|
49563
|
+
TooltipProvider as a6,
|
|
49564
|
+
Tooltip$1 as a7,
|
|
49565
|
+
TooltipTrigger$1 as a8,
|
|
49566
|
+
TooltipContent$1 as a9,
|
|
49567
|
+
useSidebarData as aA,
|
|
49568
|
+
IconButton as aB,
|
|
49569
|
+
useRowWindow as aC,
|
|
49570
|
+
isSpanDimmedBySearch as aD,
|
|
49571
|
+
ROW_HEIGHT_PX as aE,
|
|
49572
|
+
getSpanDurationMs as aF,
|
|
49573
|
+
isSpanErrored as aG,
|
|
49574
|
+
formatDurationPrecise as aH,
|
|
49575
|
+
ActiveSpanProvider as aI,
|
|
49576
|
+
useReducedMotion as aJ,
|
|
49577
|
+
searchSpans as aK,
|
|
49578
|
+
computeRootBounds as aL,
|
|
49579
|
+
computeTimeMarkers as aM,
|
|
49580
|
+
clampViewportToRoot as aN,
|
|
49581
|
+
getHighResInMs as aO,
|
|
49582
|
+
scrollRowIntoView as aP,
|
|
49583
|
+
TIMELINE_PADDING_PX as aQ,
|
|
49584
|
+
Minimap as aR,
|
|
49585
|
+
Timeline as aS,
|
|
49586
|
+
TimelineHeader as aT,
|
|
49587
|
+
wheelZoomScaleFactor as aU,
|
|
49588
|
+
wheelDeltaToPixels as aV,
|
|
49589
|
+
SidebarDataProvider as aW,
|
|
49590
|
+
fetchHook as aX,
|
|
49591
|
+
hydrateResourceIOAsync as aY,
|
|
49592
|
+
fetchStep as aZ,
|
|
49593
|
+
hydrateResourceIO as a_,
|
|
49594
|
+
ContextCardProvider as aa,
|
|
49595
|
+
Skeleton as ab,
|
|
49596
|
+
DecryptClickContext as ac,
|
|
49597
|
+
Yr as ad,
|
|
49598
|
+
isEncryptedMarker$1 as ae,
|
|
49599
|
+
TimestampTooltip as af,
|
|
49600
|
+
formatDuration as ag,
|
|
49601
|
+
DataInspector as ah,
|
|
49602
|
+
_r as ai,
|
|
49603
|
+
isHookLifecycleEventType as aj,
|
|
49604
|
+
isTerminalStepEventType as ak,
|
|
49605
|
+
isWaitEventType as al,
|
|
49606
|
+
isStepEventType as am,
|
|
49607
|
+
RunClickContext as an,
|
|
49608
|
+
StreamClickContext as ao,
|
|
49609
|
+
Collapsible as ap,
|
|
49610
|
+
isExpiredMarker as aq,
|
|
49611
|
+
isDoStreamStep as ar,
|
|
49612
|
+
extractConversation as as,
|
|
49613
|
+
EncryptedDataBlock as at,
|
|
49614
|
+
getEventDataRefFields as au,
|
|
49615
|
+
hasEncryptedFields as av,
|
|
49616
|
+
useSidebarDataOptional as aw,
|
|
49617
|
+
isTerminalWorkflowRunStatus as ax,
|
|
49618
|
+
clsx as ay,
|
|
49619
|
+
useActiveSpan as az,
|
|
49597
49620
|
TooltipContent as b,
|
|
49598
|
-
|
|
49599
|
-
|
|
49600
|
-
|
|
49601
|
-
|
|
49602
|
-
|
|
49603
|
-
|
|
49604
|
-
|
|
49605
|
-
|
|
49606
|
-
|
|
49607
|
-
|
|
49608
|
-
|
|
49609
|
-
|
|
49610
|
-
|
|
49611
|
-
|
|
49612
|
-
|
|
49613
|
-
|
|
49614
|
-
|
|
49615
|
-
|
|
49616
|
-
|
|
49617
|
-
|
|
49618
|
-
|
|
49619
|
-
|
|
49620
|
-
|
|
49621
|
-
|
|
49622
|
-
|
|
49623
|
-
|
|
49624
|
-
|
|
49625
|
-
|
|
49626
|
-
|
|
49627
|
-
|
|
49628
|
-
|
|
49629
|
-
|
|
49630
|
-
|
|
49621
|
+
apiBase as b0,
|
|
49622
|
+
Slot as b1,
|
|
49623
|
+
Slottable as b2,
|
|
49624
|
+
buttonVariants as b3,
|
|
49625
|
+
fetchEvent as b4,
|
|
49626
|
+
fetchEventsByCorrelationId as b5,
|
|
49627
|
+
isEncryptedData as b6,
|
|
49628
|
+
hydrateData as b7,
|
|
49629
|
+
decrypt as b8,
|
|
49630
|
+
deriveRunPayloadKeys as b9,
|
|
49631
|
+
getWebRevivers as ba,
|
|
49632
|
+
LIVE_UPDATE_INTERVAL_MS as bb,
|
|
49633
|
+
getEncryptionKeyForRun as bc,
|
|
49634
|
+
StreamViewerSkeleton as bd,
|
|
49635
|
+
Lock as be,
|
|
49636
|
+
StreamViewer as bf,
|
|
49637
|
+
composeRefs as bg,
|
|
49638
|
+
useFloating as bh,
|
|
49639
|
+
offset as bi,
|
|
49640
|
+
shift as bj,
|
|
49641
|
+
limitShift as bk,
|
|
49642
|
+
flip as bl,
|
|
49643
|
+
size as bm,
|
|
49644
|
+
arrow as bn,
|
|
49645
|
+
hide as bo,
|
|
49646
|
+
autoUpdate as bp,
|
|
49647
|
+
VERCEL_403_ERROR_MESSAGE as bq,
|
|
49648
|
+
bulkCancelRuns as br,
|
|
49649
|
+
reenqueueRun as bs,
|
|
49650
|
+
wakeUpRun as bt,
|
|
49651
|
+
resumeHook as bu,
|
|
49652
|
+
fetchHookToken as bv,
|
|
49653
|
+
cancelRun as bw,
|
|
49654
|
+
recreateRun as bx,
|
|
49631
49655
|
createLucideIcon as c,
|
|
49632
49656
|
runHealthCheck as d,
|
|
49633
49657
|
cn as e,
|