@workflow/web 5.0.0-beta.40 → 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-Br49goey.js → arrow-up-right-D39pnGsD.js} +1 -1
- package/build/client/assets/{highlighted-body-B3W2YXNL-B5pbFkUr.js → highlighted-body-B3W2YXNL-Dc1dLaUr.js} +1 -1
- package/build/client/assets/{home-DrXIdsG5.js → home-C6CuMqQu.js} +3 -3
- package/build/client/assets/{loader-circle-3PJSFf84.js → loader-circle-BOxaTUjK.js} +1 -1
- package/build/client/assets/{manifest-0c933230.js → manifest-cf88886b.js} +1 -1
- package/build/client/assets/{mermaid-3ZIDBTTL-qqUSEahK.js → mermaid-3ZIDBTTL-gEw-Ch1C.js} +319 -285
- package/build/client/assets/{root-n7Zz0dTX.js → root-BfhMCbkz.js} +3 -3
- package/build/client/assets/root-Bl5xphvU.css +1 -0
- package/build/client/assets/{run-detail-DHeMEsdg.js → run-detail-DKz7lp2q.js} +221 -105
- package/build/client/assets/{workflow-graph-viewer-DWdsfF3d.js → workflow-graph-viewer-CxrWityD.js} +3 -145
- package/build/client/assets/{zstd-browser-decoder-DemK2pIP.js → zstd-browser-decoder-CAEVa0bm.js} +1 -1
- package/build/server/assets/{app-BJXoDV4n.js → app-SrggQnfh.js} +1802 -1095
- package/build/server/assets/{highlighted-body-B3W2YXNL-Kki0lKyo.js → highlighted-body-B3W2YXNL-DMhwZQgG.js} +2 -1
- package/build/server/assets/{index-7-uV1dU1.js → index-ByPjQpgH.js} +1 -1
- package/build/server/assets/index-DsnQrgwB.js +156 -0
- package/build/server/assets/{mermaid-3ZIDBTTL-Bh_zbSQ-.js → mermaid-3ZIDBTTL-CK9fLYE8.js} +2 -1
- package/build/server/assets/{token-D8pb4TJ8.js → token-sFDUVNm0.js} +1 -1
- package/build/server/assets/{token-util-DPJj3x0B.js → token-util-CighjZkT.js} +1 -1
- package/build/server/assets/{wrapper-CsxTXsPR.js → websocket-server-BADWB2u5.js} +14 -53
- package/build/server/assets/wrapper-Bwi-W3ol.js +67 -0
- package/build/server/assets/ws-transport-DaZsgQ2B.js +531 -0
- package/build/server/assets/{zstd-browser-decoder-CWJVPmcb.js → zstd-browser-decoder-dRi0VqoM.js} +2 -1
- package/build/server/index.js +4 -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-XksKPyou.js +0 -143
|
@@ -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(),
|
|
@@ -15701,7 +15670,33 @@ const HookResumeInputSchema = object({
|
|
|
15701
15670
|
* `(runId, resumeId)` constraint — required because the v4 payload ref is not
|
|
15702
15671
|
* content-stable server-side.
|
|
15703
15672
|
*/
|
|
15704
|
-
payloadDigest: string$2()
|
|
15673
|
+
payloadDigest: string$2(),
|
|
15674
|
+
/**
|
|
15675
|
+
* The deployment the run is pinned to, from the producer's resume context.
|
|
15676
|
+
* Lets the consumer detect a misrouted delivery with a cheap ambient
|
|
15677
|
+
* deployment-id comparison BEFORE its hoisted `hook_received` replay-preload
|
|
15678
|
+
* write — only a detected mismatch pays for the authoritative run fetch and
|
|
15679
|
+
* the deployment-affinity guard. Optional for queued-message compatibility:
|
|
15680
|
+
* messages from older producers omit it and simply skip the pre-write
|
|
15681
|
+
* check (the authoritative guard before replay still protects them).
|
|
15682
|
+
*/
|
|
15683
|
+
deploymentId: string$2().optional()
|
|
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()
|
|
15705
15700
|
});
|
|
15706
15701
|
const WorkflowInvokePayloadSchema = object({
|
|
15707
15702
|
runId: string$2(),
|
|
@@ -15736,7 +15731,28 @@ const WorkflowInvokePayloadSchema = object({
|
|
|
15736
15731
|
* fast path. A consumer that understands this field idempotently ensures the
|
|
15737
15732
|
* `hook_received` event exists (keyed by `resumeId`) before replaying.
|
|
15738
15733
|
*/
|
|
15739
|
-
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)
|
|
15740
15756
|
});
|
|
15741
15757
|
const HealthCheckPayloadSchema = object({
|
|
15742
15758
|
__healthCheck: literal(true),
|
|
@@ -15841,6 +15857,80 @@ object({
|
|
|
15841
15857
|
});
|
|
15842
15858
|
string$2().ulid();
|
|
15843
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
|
+
};
|
|
15844
15934
|
const UNDEFINED = -1;
|
|
15845
15935
|
const HOLE = -2;
|
|
15846
15936
|
const NAN = -3;
|
|
@@ -17432,7 +17522,7 @@ async function hydrateResourceIOAsync(resource, key) {
|
|
|
17432
17522
|
return { hydrateDataWithKey: hydrateDataWithKey3, deriveRunPayloadKeys: deriveRunPayloadKeys3 };
|
|
17433
17523
|
}, true ? void 0 : void 0);
|
|
17434
17524
|
const { ensureZstdDecoderRegistered } = await __vitePreload(async () => {
|
|
17435
|
-
const { ensureZstdDecoderRegistered: ensureZstdDecoderRegistered2 } = await import("./zstd-browser-decoder-
|
|
17525
|
+
const { ensureZstdDecoderRegistered: ensureZstdDecoderRegistered2 } = await import("./zstd-browser-decoder-CAEVa0bm.js");
|
|
17436
17526
|
return { ensureZstdDecoderRegistered: ensureZstdDecoderRegistered2 };
|
|
17437
17527
|
}, true ? __vite__mapDeps([0,1]) : void 0);
|
|
17438
17528
|
ensureZstdDecoderRegistered();
|
|
@@ -18952,23 +19042,17 @@ function Spinner({ size: size2 = 14, color: color2 }) {
|
|
|
18952
19042
|
lineW: size2 * 0.24,
|
|
18953
19043
|
lineH: size2 * 0.08
|
|
18954
19044
|
};
|
|
18955
|
-
return jsxRuntimeExports.jsxs("span", { style: {
|
|
18956
|
-
display: "inline-flex",
|
|
18957
|
-
position: "relative",
|
|
19045
|
+
return jsxRuntimeExports.jsxs("span", { className: "relative inline-flex", style: {
|
|
18958
19046
|
width: size2,
|
|
18959
19047
|
height: size2
|
|
18960
|
-
}, children: [jsxRuntimeExports.jsx("style", { dangerouslySetInnerHTML: { __html: KEYFRAMES } }), config2.delays.map((delay, i) => jsxRuntimeExports.jsx("span", { style: {
|
|
18961
|
-
position: "absolute",
|
|
18962
|
-
left: "50%",
|
|
18963
|
-
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: {
|
|
18964
19049
|
width: config2.lineW,
|
|
18965
19050
|
height: config2.lineH,
|
|
18966
19051
|
marginLeft: -config2.lineW / 2,
|
|
18967
19052
|
marginTop: -config2.lineH / 2,
|
|
18968
|
-
|
|
18969
|
-
backgroundColor: color2 ?? "var(--ds-gray-700)",
|
|
19053
|
+
backgroundColor: color2,
|
|
18970
19054
|
transform: `rotate(${i * config2.angle}deg) translate(${size2 * 0.36}px)`,
|
|
18971
|
-
|
|
19055
|
+
animationDuration: `${config2.duration}ms`,
|
|
18972
19056
|
animationDelay: `${delay}ms`
|
|
18973
19057
|
} }, delay))] });
|
|
18974
19058
|
}
|
|
@@ -19030,33 +19114,18 @@ function EncryptedInlineLabel() {
|
|
|
19030
19114
|
ctx.onDecrypt();
|
|
19031
19115
|
}, children: [ctx.isDecrypting ? jsxRuntimeExports.jsx(Spinner, { size: 10 }) : jsxRuntimeExports.jsx(Lock, { className: "h-3 w-3" }), jsxRuntimeExports.jsx("span", { children: "Decrypt" })] });
|
|
19032
19116
|
}
|
|
19033
|
-
return jsxRuntimeExports.jsxs("span", {
|
|
19034
|
-
display: "inline",
|
|
19035
|
-
verticalAlign: "middle",
|
|
19036
|
-
marginRight: "3px",
|
|
19037
|
-
marginTop: "-1px"
|
|
19038
|
-
} }), "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"] });
|
|
19039
19118
|
}
|
|
19040
19119
|
function StreamRefInline({ streamRef }) {
|
|
19041
19120
|
const onStreamClick = reactExports.useContext(StreamClickContext);
|
|
19042
|
-
|
|
19043
|
-
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: {
|
|
19044
|
-
backgroundColor: hovered ? "var(--ds-blue-200)" : "var(--ds-blue-100)",
|
|
19045
|
-
color: "var(--ds-blue-900)",
|
|
19046
|
-
border: "1px solid var(--ds-blue-300)"
|
|
19047
|
-
}, 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) => {
|
|
19048
19122
|
e.stopPropagation();
|
|
19049
19123
|
onStreamClick == null ? void 0 : onStreamClick(streamRef.streamId);
|
|
19050
19124
|
}, title: `View stream: ${streamRef.streamId}`, children: [jsxRuntimeExports.jsx("span", { children: "📡" }), jsxRuntimeExports.jsx("span", { children: streamRef.streamId })] });
|
|
19051
19125
|
}
|
|
19052
19126
|
function RunRefInline({ runRef }) {
|
|
19053
19127
|
const onRunClick = reactExports.useContext(RunClickContext);
|
|
19054
|
-
|
|
19055
|
-
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: {
|
|
19056
|
-
backgroundColor: hovered ? "var(--ds-purple-200)" : "var(--ds-purple-100)",
|
|
19057
|
-
color: "var(--ds-purple-900)",
|
|
19058
|
-
border: "1px solid var(--ds-purple-300)"
|
|
19059
|
-
}, 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) => {
|
|
19060
19129
|
e.stopPropagation();
|
|
19061
19130
|
onRunClick == null ? void 0 : onRunClick(runRef.runId);
|
|
19062
19131
|
}, title: `View run: ${runRef.runId}`, children: jsxRuntimeExports.jsx("span", { children: runRef.runId }) });
|
|
@@ -19064,24 +19133,17 @@ function RunRefInline({ runRef }) {
|
|
|
19064
19133
|
function DecodedBytesChunk({ decodedText, source }) {
|
|
19065
19134
|
const [selectedView, setSelectedView] = reactExports.useState("decoded");
|
|
19066
19135
|
const parsed = parseChunkData(decodedText);
|
|
19067
|
-
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
|
|
19068
|
-
backgroundColor: selectedView === "decoded" ? "var(--ds-gray-200)" : "var(--ds-gray-100)",
|
|
19069
|
-
color: "var(--ds-gray-900)"
|
|
19070
|
-
}, 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: {
|
|
19071
|
-
borderColor: "var(--ds-gray-400)",
|
|
19072
|
-
backgroundColor: selectedView === "bytes" ? "var(--ds-gray-200)" : "var(--ds-gray-100)",
|
|
19073
|
-
color: "var(--ds-gray-900)"
|
|
19074
|
-
}, 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" })] }) })] });
|
|
19075
19137
|
}
|
|
19076
19138
|
function DecodedBytesInspector({ decodedText, source }) {
|
|
19077
19139
|
const [expanded, setExpanded] = reactExports.useState(false);
|
|
19078
|
-
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) })] })] });
|
|
19079
19141
|
}
|
|
19080
19142
|
function BytesDisplayValue({ display }) {
|
|
19081
19143
|
if (display.decodedFrom) {
|
|
19082
19144
|
return jsxRuntimeExports.jsx(DecodedBytesChunk, { decodedText: display.text, source: display.decodedFrom });
|
|
19083
19145
|
}
|
|
19084
|
-
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 });
|
|
19085
19147
|
}
|
|
19086
19148
|
function formatField(field) {
|
|
19087
19149
|
return field === "" ? '""' : field;
|
|
@@ -19898,9 +19960,7 @@ function ContextCardProvider({ children: children2, portalTarget }) {
|
|
|
19898
19960
|
distanceFromLast,
|
|
19899
19961
|
lastOrigin
|
|
19900
19962
|
]);
|
|
19901
|
-
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: {
|
|
19902
|
-
opacity: visible ? 1 : 0
|
|
19903
|
-
}, 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: {
|
|
19904
19964
|
transform: `translate(${activeBounds.x}px,${activeBounds.y}px)`,
|
|
19905
19965
|
width: activeBounds.width,
|
|
19906
19966
|
height: activeBounds.height
|
|
@@ -19909,18 +19969,13 @@ function ContextCardProvider({ children: children2, portalTarget }) {
|
|
|
19909
19969
|
"right-full -translate-y-1/2 rotate-90 -mr-[3.5px]": activeBounds.side === "right",
|
|
19910
19970
|
"bottom-full -translate-x-1/2 rotate-180": activeBounds.side === "bottom",
|
|
19911
19971
|
"left-full -translate-y-1/2 rotate-[270deg] -ml-[3.5px]": activeBounds.side === "left"
|
|
19912
|
-
}, 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: {
|
|
19913
19973
|
...activeBounds.side === "top" || activeBounds.side === "bottom" ? {
|
|
19914
19974
|
left: `calc(50% + ${activeBounds.arrowOffset.x}px)`
|
|
19915
19975
|
} : {
|
|
19916
19976
|
top: `calc(50% + ${activeBounds.arrowOffset.y}px)`
|
|
19917
19977
|
}
|
|
19918
|
-
}, "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)",
|
|
19919
|
-
fill: "var(--ds-background-100)",
|
|
19920
|
-
fillOpacity: 1,
|
|
19921
|
-
stroke: "var(--context-card-tip-stroke)",
|
|
19922
|
-
strokeOpacity: 1
|
|
19923
|
-
} }) }), 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] });
|
|
19924
19979
|
}
|
|
19925
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 }) {
|
|
19926
19981
|
const triggerRef = reactExports.useRef(null);
|
|
@@ -20155,15 +20210,15 @@ function ContextCardTrigger({ content: content2, children: children2, side = "ri
|
|
|
20155
20210
|
}
|
|
20156
20211
|
}
|
|
20157
20212
|
const Comp = asChild ? Root : "div";
|
|
20158
|
-
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-
|
|
20159
|
-
...noPadding ? { padding: 0 } : {},
|
|
20160
|
-
pointerEvents: rootVisible && visible && !ignoreCardPointerEvents ? "all" : "none"
|
|
20161
|
-
}, 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: {
|
|
20162
|
-
opacity: Number(visible)
|
|
20163
|
-
}, 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] });
|
|
20164
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;
|
|
20165
20220
|
function Skeleton({ className, style: style2, ...props }) {
|
|
20166
|
-
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 });
|
|
20167
20222
|
}
|
|
20168
20223
|
const TIME_UNITS = [
|
|
20169
20224
|
{ unit: "year", ms: 31536e6 },
|
|
@@ -45058,7 +45113,7 @@ var tn = f("block", "before:content-[counter(line)]", "before:inline-block", "be
|
|
|
45058
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 });
|
|
45059
45114
|
var Se = reactExports.createContext({ code: "" }), de = () => reactExports.useContext(Se);
|
|
45060
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 }) });
|
|
45061
|
-
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 }) => {
|
|
45062
45117
|
let i = reactExports.useMemo(() => e.replace(cn$1, ""), [e]), c = reactExports.useMemo(() => ({ bg: "transparent", fg: "inherit", tokens: i.split(`
|
|
45063
45118
|
`).map((a2) => [{ content: a2, color: "inherit", bgColor: "transparent", htmlStyle: {}, offset: 0 }]) }), [i]);
|
|
45064
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 }) })] }) });
|
|
@@ -45838,13 +45893,13 @@ function useSidebarDataOptional() {
|
|
|
45838
45893
|
return reactExports.useContext(SidebarDataContext);
|
|
45839
45894
|
}
|
|
45840
45895
|
const STREAM_SKELETON_ROWS = [
|
|
45841
|
-
{ id: "stream-skeleton-row-1",
|
|
45842
|
-
{ id: "stream-skeleton-row-2",
|
|
45843
|
-
{ id: "stream-skeleton-row-3",
|
|
45844
|
-
{ 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%]" }
|
|
45845
45900
|
];
|
|
45846
45901
|
function StreamViewerSkeleton() {
|
|
45847
|
-
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)) })] });
|
|
45848
45903
|
}
|
|
45849
45904
|
const ChunkRow = ReactExports.memo(function ChunkRow2({ chunk }) {
|
|
45850
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" })] });
|
|
@@ -45865,7 +45920,7 @@ function StreamViewer({ streamId: _streamId, chunks, isLive, error, isLoading, o
|
|
|
45865
45920
|
if (isLoading && chunks.length === 0) {
|
|
45866
45921
|
return jsxRuntimeExports.jsx(StreamViewerSkeleton, {});
|
|
45867
45922
|
}
|
|
45868
|
-
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" }) })] });
|
|
45869
45924
|
}
|
|
45870
45925
|
const iconButtonVariants = cva([
|
|
45871
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]",
|
|
@@ -45890,11 +45945,6 @@ const iconButtonVariants = cva([
|
|
|
45890
45945
|
});
|
|
45891
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 }));
|
|
45892
45947
|
IconButton.displayName = "IconButton";
|
|
45893
|
-
const TooltipProvider = Provider;
|
|
45894
|
-
const Tooltip$1 = Root3;
|
|
45895
|
-
const TooltipTrigger$1 = Trigger;
|
|
45896
|
-
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] }) }));
|
|
45897
|
-
TooltipContent$1.displayName = Content2.displayName;
|
|
45898
45948
|
const ActiveSpanContext = reactExports.createContext(null);
|
|
45899
45949
|
ActiveSpanContext.displayName = "ActiveSpanContext";
|
|
45900
45950
|
function ActiveSpanProvider({ spans, children: children2 }) {
|
|
@@ -46215,41 +46265,31 @@ function computeSpanDelta(anchor, hovered, viewStart, viewEnd) {
|
|
|
46215
46265
|
hoveredOffscreen: hoveredStart > viewEnd ? "right" : hoveredEnd < viewStart ? "left" : null
|
|
46216
46266
|
};
|
|
46217
46267
|
}
|
|
46218
|
-
const
|
|
46268
|
+
const RESOURCE_CLASS_NAMES = {
|
|
46219
46269
|
run: {
|
|
46220
|
-
|
|
46221
|
-
|
|
46222
|
-
errorBg: "var(--ds-red-200)",
|
|
46223
|
-
errorBorder: "var(--ds-red-500)"
|
|
46270
|
+
className: "border-blue-500 bg-blue-200",
|
|
46271
|
+
errorClassName: "border-red-500 bg-red-200"
|
|
46224
46272
|
},
|
|
46225
46273
|
step: {
|
|
46226
|
-
|
|
46227
|
-
|
|
46228
|
-
errorBg: "var(--ds-red-200)",
|
|
46229
|
-
errorBorder: "var(--ds-red-500)"
|
|
46274
|
+
className: "border-green-500 bg-green-200",
|
|
46275
|
+
errorClassName: "border-red-500 bg-red-200"
|
|
46230
46276
|
},
|
|
46231
46277
|
// Passive spans (hooks) stay gray — matches event-list icons and the minimap.
|
|
46232
46278
|
hook: {
|
|
46233
|
-
|
|
46234
|
-
|
|
46235
|
-
errorBg: "var(--ds-red-200)",
|
|
46236
|
-
errorBorder: "var(--ds-red-500)"
|
|
46279
|
+
className: "border-gray-500 bg-gray-200",
|
|
46280
|
+
errorClassName: "border-red-500 bg-red-200"
|
|
46237
46281
|
},
|
|
46238
46282
|
sleep: {
|
|
46239
|
-
|
|
46240
|
-
|
|
46241
|
-
errorBg: "var(--ds-red-200)",
|
|
46242
|
-
errorBorder: "var(--ds-red-500)"
|
|
46283
|
+
className: "border-purple-500 bg-purple-200",
|
|
46284
|
+
errorClassName: "border-red-500 bg-red-200"
|
|
46243
46285
|
},
|
|
46244
46286
|
default: {
|
|
46245
|
-
|
|
46246
|
-
|
|
46247
|
-
errorBg: "var(--ds-red-200)",
|
|
46248
|
-
errorBorder: "var(--ds-red-500)"
|
|
46287
|
+
className: "border-gray-500 bg-gray-200",
|
|
46288
|
+
errorClassName: "border-red-500 bg-red-200"
|
|
46249
46289
|
}
|
|
46250
46290
|
};
|
|
46251
|
-
function
|
|
46252
|
-
return
|
|
46291
|
+
function getResourceClassNames(resource) {
|
|
46292
|
+
return RESOURCE_CLASS_NAMES[resource] ?? RESOURCE_CLASS_NAMES.default;
|
|
46253
46293
|
}
|
|
46254
46294
|
function clampFraction(value) {
|
|
46255
46295
|
return Math.max(0, Math.min(1, value));
|
|
@@ -46594,10 +46634,6 @@ const SEGMENT_CLASSES = {
|
|
|
46594
46634
|
sleeping: "bg-gray-400 border border-gray-500",
|
|
46595
46635
|
received: "bg-blue-200 border border-blue-500"
|
|
46596
46636
|
};
|
|
46597
|
-
const TIMELINE_INSET_STYLE = {
|
|
46598
|
-
left: TIMELINE_PADDING_PX,
|
|
46599
|
-
right: TIMELINE_PADDING_PX
|
|
46600
|
-
};
|
|
46601
46637
|
const STRIPED_SEGMENT_STATUSES = /* @__PURE__ */ new Set([
|
|
46602
46638
|
"pending",
|
|
46603
46639
|
"running",
|
|
@@ -46678,8 +46714,8 @@ function BoundaryArrow({ direction }) {
|
|
|
46678
46714
|
const Icon2 = direction === "right" ? ArrowRight : ArrowLeft;
|
|
46679
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" }) });
|
|
46680
46716
|
}
|
|
46681
|
-
function PlainBar({
|
|
46682
|
-
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 });
|
|
46683
46719
|
}
|
|
46684
46720
|
function LeadInConnector({ leftPct, widthPct, label }) {
|
|
46685
46721
|
return jsxRuntimeExports.jsxs("div", { className: "absolute top-1/2 h-6 -translate-y-1/2", style: {
|
|
@@ -46699,11 +46735,10 @@ function SegmentBar({ segments, showLabels = true }) {
|
|
|
46699
46735
|
}
|
|
46700
46736
|
const label = formatDurationPrecise(seg.fullDurationMs);
|
|
46701
46737
|
const showLabel = showLabels && seg.pixelWidth >= Math.max(40, estimateLabelWidthPx(label));
|
|
46702
|
-
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: {
|
|
46703
46739
|
// 1px gap between adjacent segments, distributed equally.
|
|
46704
46740
|
left: `calc(${seg.leftPct}% + 0.5px)`,
|
|
46705
|
-
width: `calc(${seg.widthPct}% - 1px)
|
|
46706
|
-
minWidth: 1
|
|
46741
|
+
width: `calc(${seg.widthPct}% - 1px)`
|
|
46707
46742
|
}, children: [STRIPED_SEGMENT_STATUSES.has(seg.status) ? jsxRuntimeExports.jsx(AnimatedStripes, { status: seg.status }) : null, showLabel ? jsxRuntimeExports.jsx(DurationLabel, { label }) : null] }, i);
|
|
46708
46743
|
}) });
|
|
46709
46744
|
}
|
|
@@ -46719,15 +46754,14 @@ const TimelineBar = reactExports.memo(function TimelineBar2({ span, viewStart, v
|
|
|
46719
46754
|
const offscreen = reactExports.useMemo(() => geometry.mode.kind === "full" ? computeOffscreenMarkers(baseMarkers, geometry.visibleStartMs, geometry.visibleEndMs) : { left: null, right: null }, [geometry, baseMarkers]);
|
|
46720
46755
|
const hasMarkers = markers.length > 0 || offscreen.left !== null || offscreen.right !== null;
|
|
46721
46756
|
const isErrored = isSpanErrored(span);
|
|
46722
|
-
const colors =
|
|
46723
|
-
const
|
|
46724
|
-
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;
|
|
46725
46759
|
const totalLabel = formatDurationPrecise(totalDurationMs);
|
|
46726
46760
|
const showTotalLabel = geometry.visiblePixelWidth >= Math.max(40, estimateLabelWidthPx(totalLabel));
|
|
46727
46761
|
const handleClick = reactExports.useCallback(() => {
|
|
46728
46762
|
onSelect(span.spanId);
|
|
46729
46763
|
}, [onSelect, span.spanId]);
|
|
46730
|
-
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, {
|
|
46731
46765
|
label: totalLabel,
|
|
46732
46766
|
// Shift clear of the left edge indicator so it isn't covered.
|
|
46733
46767
|
className: offscreen.left ? "pl-10" : void 0
|
|
@@ -46748,9 +46782,8 @@ const DeltaMeasureLine = reactExports.memo(function DeltaMeasureLine2({ delta, a
|
|
|
46748
46782
|
const label = formatDurationPrecise(delta.deltaMs);
|
|
46749
46783
|
const labelWidthPx = estimateLabelWidthPx(label);
|
|
46750
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" };
|
|
46751
|
-
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: {
|
|
46752
46786
|
left: Math.min(anchorX, guideX),
|
|
46753
|
-
width: MEASURE_GUIDE_OUTSET_PX,
|
|
46754
46787
|
top: anchorCenterY
|
|
46755
46788
|
} }), jsxRuntimeExports.jsx("div", { className: "absolute w-px bg-amber-800", style: {
|
|
46756
46789
|
left: guideX,
|
|
@@ -46800,10 +46833,10 @@ function Timeline({ spans, viewStart, viewEnd, markers, selectedId, searchResult
|
|
|
46800
46833
|
const delta = computeSpanDelta(anchorSpan, hoveredSpan, viewStart, viewEnd);
|
|
46801
46834
|
return delta ? { delta, anchorRowIndex: anchorIndex, hoveredRowIndex: hover.rowIndex } : null;
|
|
46802
46835
|
}, [altHeld, anchorIndex, hover, spans, viewStart, viewEnd]);
|
|
46803
|
-
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) => (
|
|
46804
46837
|
// Skip the "0s" origin marker since the left edge already implies it.
|
|
46805
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
|
|
46806
|
-
)) }), 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 }) })] });
|
|
46807
46840
|
}
|
|
46808
46841
|
const CANVAS_PAD_Y_PX = 6;
|
|
46809
46842
|
const MIN_LINE_HEIGHT_PX = 1.5;
|
|
@@ -49491,7 +49524,7 @@ const mermaid3ZIDBTTL = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.def
|
|
|
49491
49524
|
Mermaid: Nt
|
|
49492
49525
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
49493
49526
|
export {
|
|
49494
|
-
|
|
49527
|
+
CopyableDataBlock as $,
|
|
49495
49528
|
Anchor as A,
|
|
49496
49529
|
Button as B,
|
|
49497
49530
|
Check as C,
|
|
@@ -49516,108 +49549,109 @@ export {
|
|
|
49516
49549
|
VISUALLY_HIDDEN_STYLES as V,
|
|
49517
49550
|
createContext2 as W,
|
|
49518
49551
|
fetchWorkflowsManifest as X,
|
|
49519
|
-
|
|
49520
|
-
|
|
49552
|
+
entityEventClass as Y,
|
|
49553
|
+
cn$4 as Z,
|
|
49521
49554
|
__vitePreload as _,
|
|
49522
49555
|
TooltipTrigger as a,
|
|
49523
|
-
|
|
49524
|
-
|
|
49525
|
-
|
|
49526
|
-
|
|
49527
|
-
|
|
49528
|
-
|
|
49529
|
-
|
|
49530
|
-
|
|
49531
|
-
|
|
49532
|
-
|
|
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
|
-
|
|
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,
|
|
49587
49620
|
TooltipContent as b,
|
|
49588
|
-
|
|
49589
|
-
|
|
49590
|
-
|
|
49591
|
-
|
|
49592
|
-
|
|
49593
|
-
|
|
49594
|
-
|
|
49595
|
-
|
|
49596
|
-
|
|
49597
|
-
|
|
49598
|
-
|
|
49599
|
-
|
|
49600
|
-
|
|
49601
|
-
|
|
49602
|
-
|
|
49603
|
-
|
|
49604
|
-
|
|
49605
|
-
|
|
49606
|
-
|
|
49607
|
-
|
|
49608
|
-
|
|
49609
|
-
|
|
49610
|
-
|
|
49611
|
-
|
|
49612
|
-
|
|
49613
|
-
|
|
49614
|
-
|
|
49615
|
-
|
|
49616
|
-
|
|
49617
|
-
|
|
49618
|
-
|
|
49619
|
-
|
|
49620
|
-
|
|
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,
|
|
49621
49655
|
createLucideIcon as c,
|
|
49622
49656
|
runHealthCheck as d,
|
|
49623
49657
|
cn as e,
|