@workflow/web 5.0.0-beta.13 → 5.0.0-beta.15
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/{highlighted-body-B3W2YXNL-B8ZRlnzz.js → highlighted-body-B3W2YXNL-BQ1pmB9V.js} +1 -1
- package/build/client/assets/{home-1yC3MOjQ.js → home-DmsdVk2U.js} +2 -2
- package/build/client/assets/{manifest-9f37c22f.js → manifest-67209c1f.js} +1 -1
- package/build/client/assets/{mermaid-3ZIDBTTL-BDM4-x6u.js → mermaid-3ZIDBTTL-BMWEihLr.js} +177 -154
- package/build/client/assets/{mermaid-3ZIDBTTL-DKxHcEOp.css → mermaid-3ZIDBTTL-CVTQRy2j.css} +1 -1
- package/build/client/assets/{root-C5RLIKj5.js → root-BABNjrUh.js} +1 -1
- package/build/client/assets/{run-detail-DM1PDAnQ.js → run-detail-9xQOGhVk.js} +53 -15
- package/build/client/assets/server-build-Ik-p0gUh.css +1 -0
- package/build/client/assets/{workflow-graph-viewer-C8H50hkM.js → workflow-graph-viewer-fgQ2XQ5R.js} +1 -1
- package/build/server/assets/{app-eXXkzWLS.js → app-DM9e_6xn.js} +1 -1
- package/build/server/assets/{highlighted-body-B3W2YXNL-DMxq-VLe.js → highlighted-body-B3W2YXNL-tYGHwGrY.js} +2 -2
- package/build/server/assets/index-8Fb8OEQ2.js +95 -0
- package/build/server/assets/index-B8YoYr9f.js +1117 -0
- package/build/server/assets/{mermaid-3ZIDBTTL-DNPNsNRF.js → mermaid-3ZIDBTTL-EN1JYLRP.js} +2 -2
- package/build/server/assets/{server-build-CSP1Aknr.js → server-build-CZXlov2m.js} +852 -1317
- package/build/server/assets/{token-DOrkjd5O.js → token-CDoC3gHn.js} +2 -2
- package/build/server/assets/{token-util-Hv7wRzsW.js → token-util-C02bLOPS.js} +2 -2
- package/build/server/index.js +1 -1
- package/package.json +5 -5
- package/build/client/assets/server-build-CNnlgxpd.css +0 -1
- package/build/server/assets/index-BjEgWhxl.js +0 -89
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/encryption-g14N5vQl.js","assets/index-B6-SzLmT.js","assets/index-BXZSIDEp.js","assets/highlighted-body-B3W2YXNL-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/encryption-g14N5vQl.js","assets/index-B6-SzLmT.js","assets/index-BXZSIDEp.js","assets/highlighted-body-B3W2YXNL-BQ1pmB9V.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);
|
|
@@ -6779,6 +6779,41 @@ function formatDuration(ms, compact = false) {
|
|
|
6779
6779
|
parts.push(`${seconds}s`);
|
|
6780
6780
|
return parts.join(" ");
|
|
6781
6781
|
}
|
|
6782
|
+
const preciseSecondsFormatter = new Intl.NumberFormat(void 0, {
|
|
6783
|
+
minimumFractionDigits: 2,
|
|
6784
|
+
maximumFractionDigits: 2
|
|
6785
|
+
});
|
|
6786
|
+
function formatDurationPrecise(ms) {
|
|
6787
|
+
if (ms === 0) {
|
|
6788
|
+
return "0s";
|
|
6789
|
+
}
|
|
6790
|
+
if (ms < MS_IN_SECOND) {
|
|
6791
|
+
const roundedMs = Math.round(ms);
|
|
6792
|
+
if (roundedMs < MS_IN_SECOND) {
|
|
6793
|
+
return `${roundedMs}ms`;
|
|
6794
|
+
}
|
|
6795
|
+
}
|
|
6796
|
+
const normalizedMs = Math.round(ms / 10) * 10;
|
|
6797
|
+
if (normalizedMs < MS_IN_MINUTE) {
|
|
6798
|
+
return `${preciseSecondsFormatter.format(normalizedMs / MS_IN_SECOND)}s`;
|
|
6799
|
+
}
|
|
6800
|
+
const days = Math.floor(normalizedMs / MS_IN_DAY);
|
|
6801
|
+
const hours = Math.floor(normalizedMs % MS_IN_DAY / MS_IN_HOUR);
|
|
6802
|
+
const minutes = Math.floor(normalizedMs % MS_IN_HOUR / MS_IN_MINUTE);
|
|
6803
|
+
const seconds = normalizedMs % MS_IN_MINUTE / MS_IN_SECOND;
|
|
6804
|
+
const parts = [];
|
|
6805
|
+
if (days > 0) {
|
|
6806
|
+
parts.push(`${days}d`);
|
|
6807
|
+
}
|
|
6808
|
+
if (hours > 0) {
|
|
6809
|
+
parts.push(`${hours}h`);
|
|
6810
|
+
}
|
|
6811
|
+
if (minutes > 0) {
|
|
6812
|
+
parts.push(`${minutes}m`);
|
|
6813
|
+
}
|
|
6814
|
+
parts.push(`${preciseSecondsFormatter.format(seconds)}s`);
|
|
6815
|
+
return parts.join(" ");
|
|
6816
|
+
}
|
|
6782
6817
|
function isDoStreamStep(stepName) {
|
|
6783
6818
|
return stepName.endsWith("//doStreamStep");
|
|
6784
6819
|
}
|
|
@@ -10858,7 +10893,6 @@ function shallowClone(o) {
|
|
|
10858
10893
|
return o;
|
|
10859
10894
|
}
|
|
10860
10895
|
const propertyKeyTypes = /* @__PURE__ */ new Set(["string", "number", "symbol"]);
|
|
10861
|
-
const primitiveTypes = /* @__PURE__ */ new Set(["string", "number", "bigint", "boolean", "symbol", "undefined"]);
|
|
10862
10896
|
function escapeRegex(str) {
|
|
10863
10897
|
return str.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
10864
10898
|
}
|
|
@@ -13164,51 +13198,6 @@ function handleReadonlyResult(payload) {
|
|
|
13164
13198
|
payload.value = Object.freeze(payload.value);
|
|
13165
13199
|
return payload;
|
|
13166
13200
|
}
|
|
13167
|
-
const $ZodTemplateLiteral = /* @__PURE__ */ $constructor("$ZodTemplateLiteral", (inst, def) => {
|
|
13168
|
-
$ZodType.init(inst, def);
|
|
13169
|
-
const regexParts = [];
|
|
13170
|
-
for (const part of def.parts) {
|
|
13171
|
-
if (typeof part === "object" && part !== null) {
|
|
13172
|
-
if (!part._zod.pattern) {
|
|
13173
|
-
throw new Error(`Invalid template literal part, no pattern found: ${[...part._zod.traits].shift()}`);
|
|
13174
|
-
}
|
|
13175
|
-
const source = part._zod.pattern instanceof RegExp ? part._zod.pattern.source : part._zod.pattern;
|
|
13176
|
-
if (!source)
|
|
13177
|
-
throw new Error(`Invalid template literal part: ${part._zod.traits}`);
|
|
13178
|
-
const start = source.startsWith("^") ? 1 : 0;
|
|
13179
|
-
const end = source.endsWith("$") ? source.length - 1 : source.length;
|
|
13180
|
-
regexParts.push(source.slice(start, end));
|
|
13181
|
-
} else if (part === null || primitiveTypes.has(typeof part)) {
|
|
13182
|
-
regexParts.push(escapeRegex(`${part}`));
|
|
13183
|
-
} else {
|
|
13184
|
-
throw new Error(`Invalid template literal part: ${part}`);
|
|
13185
|
-
}
|
|
13186
|
-
}
|
|
13187
|
-
inst._zod.pattern = new RegExp(`^${regexParts.join("")}$`);
|
|
13188
|
-
inst._zod.parse = (payload, _ctx) => {
|
|
13189
|
-
if (typeof payload.value !== "string") {
|
|
13190
|
-
payload.issues.push({
|
|
13191
|
-
input: payload.value,
|
|
13192
|
-
inst,
|
|
13193
|
-
expected: "string",
|
|
13194
|
-
code: "invalid_type"
|
|
13195
|
-
});
|
|
13196
|
-
return payload;
|
|
13197
|
-
}
|
|
13198
|
-
inst._zod.pattern.lastIndex = 0;
|
|
13199
|
-
if (!inst._zod.pattern.test(payload.value)) {
|
|
13200
|
-
payload.issues.push({
|
|
13201
|
-
input: payload.value,
|
|
13202
|
-
inst,
|
|
13203
|
-
code: "invalid_format",
|
|
13204
|
-
format: def.format ?? "template_literal",
|
|
13205
|
-
pattern: inst._zod.pattern.source
|
|
13206
|
-
});
|
|
13207
|
-
return payload;
|
|
13208
|
-
}
|
|
13209
|
-
return payload;
|
|
13210
|
-
};
|
|
13211
|
-
});
|
|
13212
13201
|
const $ZodLazy = /* @__PURE__ */ $constructor("$ZodLazy", (inst, def) => {
|
|
13213
13202
|
$ZodType.init(inst, def);
|
|
13214
13203
|
defineLazy(inst._zod, "innerType", () => def.getter());
|
|
@@ -14361,14 +14350,6 @@ const literalProcessor = (schema, ctx, json, _params) => {
|
|
|
14361
14350
|
json.enum = vals;
|
|
14362
14351
|
}
|
|
14363
14352
|
};
|
|
14364
|
-
const templateLiteralProcessor = (schema, _ctx, json, _params) => {
|
|
14365
|
-
const _json = json;
|
|
14366
|
-
const pattern = schema._zod.pattern;
|
|
14367
|
-
if (!pattern)
|
|
14368
|
-
throw new Error("Pattern not found in template literal");
|
|
14369
|
-
_json.type = "string";
|
|
14370
|
-
_json.pattern = pattern.source;
|
|
14371
|
-
};
|
|
14372
14353
|
const customProcessor = (_schema, ctx, _json, _params) => {
|
|
14373
14354
|
if (ctx.unrepresentable === "throw") {
|
|
14374
14355
|
throw new Error("Custom types cannot be represented in JSON Schema");
|
|
@@ -15282,18 +15263,6 @@ function readonly(innerType) {
|
|
|
15282
15263
|
innerType
|
|
15283
15264
|
});
|
|
15284
15265
|
}
|
|
15285
|
-
const ZodTemplateLiteral = /* @__PURE__ */ $constructor("ZodTemplateLiteral", (inst, def) => {
|
|
15286
|
-
$ZodTemplateLiteral.init(inst, def);
|
|
15287
|
-
ZodType.init(inst, def);
|
|
15288
|
-
inst._zod.processJSONSchema = (ctx, json, params) => templateLiteralProcessor(inst, ctx, json);
|
|
15289
|
-
});
|
|
15290
|
-
function templateLiteral(parts, params) {
|
|
15291
|
-
return new ZodTemplateLiteral({
|
|
15292
|
-
type: "template_literal",
|
|
15293
|
-
parts,
|
|
15294
|
-
...normalizeParams(params)
|
|
15295
|
-
});
|
|
15296
|
-
}
|
|
15297
15266
|
const ZodLazy = /* @__PURE__ */ $constructor("ZodLazy", (inst, def) => {
|
|
15298
15267
|
$ZodLazy.init(inst, def);
|
|
15299
15268
|
ZodType.init(inst, def);
|
|
@@ -15342,10 +15311,11 @@ function _instanceof(cls, params = {}) {
|
|
|
15342
15311
|
function date(params) {
|
|
15343
15312
|
return /* @__PURE__ */ _coercedDate(ZodDate, params);
|
|
15344
15313
|
}
|
|
15345
|
-
object({
|
|
15314
|
+
const AttributeChangeSchema = object({
|
|
15346
15315
|
key: string$2(),
|
|
15347
15316
|
value: union([string$2(), _null()])
|
|
15348
15317
|
});
|
|
15318
|
+
const AttributeChangesSchema = array(AttributeChangeSchema);
|
|
15349
15319
|
const BinarySerializedDataSchema = _instanceof(Uint8Array);
|
|
15350
15320
|
const LegacySerializedDataSchemaV1 = any();
|
|
15351
15321
|
const SerializedDataSchema = union([
|
|
@@ -15370,6 +15340,8 @@ const EventTypeSchema = _enum([
|
|
|
15370
15340
|
"run_completed",
|
|
15371
15341
|
"run_failed",
|
|
15372
15342
|
"run_cancelled",
|
|
15343
|
+
// Run attribute events
|
|
15344
|
+
"attr_set",
|
|
15373
15345
|
// Step lifecycle events
|
|
15374
15346
|
"step_created",
|
|
15375
15347
|
"step_completed",
|
|
@@ -15485,13 +15457,34 @@ const WaitCompletedEventSchema = BaseEventSchema.extend({
|
|
|
15485
15457
|
resumeAt: date().optional()
|
|
15486
15458
|
}).optional()
|
|
15487
15459
|
});
|
|
15460
|
+
const AttributeWriterSchema = discriminatedUnion("type", [
|
|
15461
|
+
object({
|
|
15462
|
+
type: literal("workflow")
|
|
15463
|
+
}),
|
|
15464
|
+
object({
|
|
15465
|
+
type: literal("step"),
|
|
15466
|
+
stepId: string$2(),
|
|
15467
|
+
attempt: number$2()
|
|
15468
|
+
})
|
|
15469
|
+
]);
|
|
15470
|
+
const AttrSetEventSchema = BaseEventSchema.extend({
|
|
15471
|
+
eventType: literal("attr_set"),
|
|
15472
|
+
correlationId: string$2().optional(),
|
|
15473
|
+
eventData: object({
|
|
15474
|
+
changes: AttributeChangesSchema,
|
|
15475
|
+
writer: AttributeWriterSchema,
|
|
15476
|
+
allowReservedAttributes: literal(true).optional()
|
|
15477
|
+
})
|
|
15478
|
+
});
|
|
15488
15479
|
const RunCreatedEventSchema = BaseEventSchema.extend({
|
|
15489
15480
|
eventType: literal("run_created"),
|
|
15490
15481
|
eventData: object({
|
|
15491
15482
|
deploymentId: string$2(),
|
|
15492
15483
|
workflowName: string$2(),
|
|
15493
15484
|
input: SerializedDataSchema,
|
|
15494
|
-
executionContext: record(string$2(), any()).optional()
|
|
15485
|
+
executionContext: record(string$2(), any()).optional(),
|
|
15486
|
+
attributes: record(string$2(), string$2()).optional(),
|
|
15487
|
+
allowReservedAttributes: literal(true).optional()
|
|
15495
15488
|
})
|
|
15496
15489
|
});
|
|
15497
15490
|
const RunStartedEventSchema = BaseEventSchema.extend({
|
|
@@ -15500,7 +15493,9 @@ const RunStartedEventSchema = BaseEventSchema.extend({
|
|
|
15500
15493
|
input: SerializedDataSchema.optional(),
|
|
15501
15494
|
deploymentId: string$2().optional(),
|
|
15502
15495
|
workflowName: string$2().optional(),
|
|
15503
|
-
executionContext: record(string$2(), any()).optional()
|
|
15496
|
+
executionContext: record(string$2(), any()).optional(),
|
|
15497
|
+
attributes: record(string$2(), string$2()).optional(),
|
|
15498
|
+
allowReservedAttributes: literal(true).optional()
|
|
15504
15499
|
}).optional()
|
|
15505
15500
|
});
|
|
15506
15501
|
const RunCompletedEventSchema = BaseEventSchema.extend({
|
|
@@ -15532,6 +15527,7 @@ discriminatedUnion("eventType", [
|
|
|
15532
15527
|
RunCompletedEventSchema,
|
|
15533
15528
|
RunFailedEventSchema,
|
|
15534
15529
|
RunCancelledEventSchema,
|
|
15530
|
+
AttrSetEventSchema,
|
|
15535
15531
|
// Step lifecycle events
|
|
15536
15532
|
StepCreatedEventSchema,
|
|
15537
15533
|
StepCompletedEventSchema,
|
|
@@ -15553,6 +15549,7 @@ const AllEventsSchema = discriminatedUnion("eventType", [
|
|
|
15553
15549
|
RunCompletedEventSchema,
|
|
15554
15550
|
RunFailedEventSchema,
|
|
15555
15551
|
RunCancelledEventSchema,
|
|
15552
|
+
AttrSetEventSchema,
|
|
15556
15553
|
// Step lifecycle events
|
|
15557
15554
|
StepCreatedEventSchema,
|
|
15558
15555
|
StepCompletedEventSchema,
|
|
@@ -15589,11 +15586,9 @@ object({
|
|
|
15589
15586
|
isWebhook: boolean$2().optional(),
|
|
15590
15587
|
isSystem: boolean$2().optional()
|
|
15591
15588
|
});
|
|
15592
|
-
|
|
15593
|
-
|
|
15594
|
-
|
|
15595
|
-
]);
|
|
15596
|
-
templateLiteral([QueuePrefix, string$2()]);
|
|
15589
|
+
string$2().regex(/^__(?:[a-z][a-z0-9]*_)?wkf_(?:workflow|step)_$/, "Must match __wkf_{workflow|step}_ or __{namespace}_wkf_{workflow|step}_");
|
|
15590
|
+
string$2().regex(/^__(?:[a-z][a-z0-9]*_)?wkf_(?:workflow|step)_.+$/, "Must be a valid queue name with a recognized prefix");
|
|
15591
|
+
string$2().regex(/^[a-z][a-z0-9]*$/, "Must be lowercase alphanumeric, starting with a letter");
|
|
15597
15592
|
string$2().brand().describe("A stored queue message ID");
|
|
15598
15593
|
const TraceCarrierSchema = record(string$2(), string$2());
|
|
15599
15594
|
const RunInputSchema = object({
|
|
@@ -15601,7 +15596,9 @@ const RunInputSchema = object({
|
|
|
15601
15596
|
deploymentId: string$2(),
|
|
15602
15597
|
workflowName: string$2(),
|
|
15603
15598
|
specVersion: number$2(),
|
|
15604
|
-
executionContext: record(string$2(), any()).optional()
|
|
15599
|
+
executionContext: record(string$2(), any()).optional(),
|
|
15600
|
+
/** Initial plaintext run attributes, for resilient run creation. */
|
|
15601
|
+
attributes: record(string$2(), string$2()).optional()
|
|
15605
15602
|
});
|
|
15606
15603
|
const WorkflowInvokePayloadSchema = object({
|
|
15607
15604
|
runId: string$2(),
|
|
@@ -43315,7 +43312,7 @@ var tn = f("block", "before:content-[counter(line)]", "before:inline-block", "be
|
|
|
43315
43312
|
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 });
|
|
43316
43313
|
var Se = reactExports.createContext({ code: "" }), de = () => reactExports.useContext(Se);
|
|
43317
43314
|
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 }) });
|
|
43318
|
-
var cn$1 = /\n+$/, dn = reactExports.lazy(() => __vitePreload(() => import("./highlighted-body-B3W2YXNL-
|
|
43315
|
+
var cn$1 = /\n+$/, dn = reactExports.lazy(() => __vitePreload(() => import("./highlighted-body-B3W2YXNL-BQ1pmB9V.js"), true ? __vite__mapDeps([3,2]) : void 0).then((e) => ({ default: e.HighlightedCodeBlockBody }))), rt = ({ code: e, language: t, className: o, children: n, isIncomplete: s2 = false, ...r2 }) => {
|
|
43319
43316
|
let i = reactExports.useMemo(() => e.replace(cn$1, ""), [e]), c = reactExports.useMemo(() => ({ bg: "transparent", fg: "inherit", tokens: i.split(`
|
|
43320
43317
|
`).map((a2) => [{ content: a2, color: "inherit", bgColor: "transparent", htmlStyle: {}, offset: 0 }]) }), [i]);
|
|
43321
43318
|
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 }) })] }) });
|
|
@@ -44257,7 +44254,7 @@ const eventFailed = "_eventFailed_1fmf2_1432";
|
|
|
44257
44254
|
const eventRetrying = "_eventRetrying_1fmf2_1441";
|
|
44258
44255
|
const eventHook = "_eventHook_1fmf2_1450";
|
|
44259
44256
|
const eventDefault = "_eventDefault_1fmf2_1459";
|
|
44260
|
-
const styles = {
|
|
44257
|
+
const styles$1 = {
|
|
44261
44258
|
traceNode,
|
|
44262
44259
|
childRow,
|
|
44263
44260
|
spanNode,
|
|
@@ -44727,15 +44724,15 @@ const SEGMENT_LABELS = {
|
|
|
44727
44724
|
function SegmentLayer({ segments, spanDuration: spanDuration2 }) {
|
|
44728
44725
|
if (segments.length === 0)
|
|
44729
44726
|
return null;
|
|
44730
|
-
return jsxRuntimeExports.jsx("div", { className: styles.segmentLayer, children: segments.map((seg, i) => {
|
|
44731
|
-
const className = styles[SEGMENT_CLASS_MAP[seg.status]];
|
|
44727
|
+
return jsxRuntimeExports.jsx("div", { className: styles$1.segmentLayer, children: segments.map((seg, i) => {
|
|
44728
|
+
const className = styles$1[SEGMENT_CLASS_MAP[seg.status]];
|
|
44732
44729
|
const segDuration = (seg.endFraction - seg.startFraction) * spanDuration2;
|
|
44733
44730
|
const label = SEGMENT_LABELS[seg.status];
|
|
44734
44731
|
const style2 = {
|
|
44735
44732
|
left: `${seg.startFraction * 100}%`,
|
|
44736
44733
|
width: `${(seg.endFraction - seg.startFraction) * 100}%`
|
|
44737
44734
|
};
|
|
44738
|
-
return jsxRuntimeExports.jsx("div", { className: `${styles.segment} ${String(className)}`, style: style2, title: label ? `${label} ${formatDuration(segDuration)}` : formatDuration(segDuration) }, `seg-${seg.status}-${String(i)}`);
|
|
44735
|
+
return jsxRuntimeExports.jsx("div", { className: `${styles$1.segment} ${String(className)}`, style: style2, title: label ? `${label} ${formatDuration(segDuration)}` : formatDuration(segDuration) }, `seg-${seg.status}-${String(i)}`);
|
|
44739
44736
|
}) });
|
|
44740
44737
|
}
|
|
44741
44738
|
function getSegmentTags(segments, spanDuration2) {
|
|
@@ -44764,7 +44761,7 @@ function TextContent({ node: node2, layout, durationMs, segmentTags }) {
|
|
|
44764
44761
|
return null;
|
|
44765
44762
|
}
|
|
44766
44763
|
const showTags = segmentTags && segmentTags.length > 0 && (layout.isHovered || layout.width > 200);
|
|
44767
|
-
return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [jsxRuntimeExports.jsxs("span", { className: styles.spanName, children: [node2.label || node2.span.name, showTags ? segmentTags.map((tag, i) => jsxRuntimeExports.jsxs("span", { className: styles.segmentTag, children: [" · ", tag.label, " ", tag.duration] }, i)) : null] }), layout.isHuge ? jsxRuntimeExports.jsx("span", { className: styles.spanSpacer }) : null, layout.isHovered || layout.width > 128 ? jsxRuntimeExports.jsx("span", { className: styles.spanDuration, children: duration2 }) : null] });
|
|
44764
|
+
return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [jsxRuntimeExports.jsxs("span", { className: styles$1.spanName, children: [node2.label || node2.span.name, showTags ? segmentTags.map((tag, i) => jsxRuntimeExports.jsxs("span", { className: styles$1.segmentTag, children: [" · ", tag.label, " ", tag.duration] }, i)) : null] }), layout.isHuge ? jsxRuntimeExports.jsx("span", { className: styles$1.spanSpacer }) : null, layout.isHovered || layout.width > 128 ? jsxRuntimeExports.jsx("span", { className: styles$1.spanDuration, children: duration2 }) : null] });
|
|
44768
44765
|
}
|
|
44769
44766
|
function DefaultContent({ node: node2, layout }) {
|
|
44770
44767
|
return jsxRuntimeExports.jsx(TextContent, { node: node2, layout });
|
|
@@ -44887,8 +44884,8 @@ function getSpanLayout(resourceType, node2, root2, scale, scrollSnapshotRef) {
|
|
|
44887
44884
|
}
|
|
44888
44885
|
const getSpanColorClassName = (node2) => {
|
|
44889
44886
|
if (node2.isVercel)
|
|
44890
|
-
return String(styles.colorVercel);
|
|
44891
|
-
return String(styles[`color${node2.resourceIndex % 5}`]);
|
|
44887
|
+
return String(styles$1.colorVercel);
|
|
44888
|
+
return String(styles$1[`color${node2.resourceIndex % 5}`]);
|
|
44892
44889
|
};
|
|
44893
44890
|
function getTerminalTimestamp(resourceType, node2) {
|
|
44894
44891
|
const events = node2.events;
|
|
@@ -45031,7 +45028,7 @@ const SpanComponent = reactExports.memo(function SpanComponent2({ node: node2, r
|
|
|
45031
45028
|
return () => cancelAnimationFrame(rafId);
|
|
45032
45029
|
}, [isLive, canonicalStartTime, scale]);
|
|
45033
45030
|
const renderNode = segmentNode;
|
|
45034
|
-
return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [jsxRuntimeExports.jsx("button", { "aria-label": `${span.name} - ${duration2}`, className: clsx(styles.spanNode, layout.isHuge && styles.huge, layout.isSmall && styles.small, layout.isExpanded && styles.xHover, node2.isHighlighted ? styles.colorHighlight : getSpanColorClassName(node2), node2.isHighlighted === false && styles.unlit, customClassName, hasSegments2 && styles.hasSegments), "data-span-id": span.spanId, "data-start-time": segmentNode.startTime - root2.startTime, "data-right-side": layout.isNearRightSide, "data-selected": node2.isSelected ? "" : void 0, ref, style: getSpanStyle(layout, segmentNode, root2, scale), type: "button", children: jsxRuntimeExports.jsx(SpanContent, { durationMs, resourceType, node: renderNode, layout }) }), segmentNode.events && !layout.isSmall ? segmentNode.events.map((x2) => jsxRuntimeExports.jsx(SpanEventComponent, { customSpanEventClassNameFunc, event: x2, node: segmentNode, root: root2, scale, asBoundary: isWorkflowSpan }, x2.key)) : null] });
|
|
45031
|
+
return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [jsxRuntimeExports.jsx("button", { "aria-label": `${span.name} - ${duration2}`, className: clsx(styles$1.spanNode, layout.isHuge && styles$1.huge, layout.isSmall && styles$1.small, layout.isExpanded && styles$1.xHover, node2.isHighlighted ? styles$1.colorHighlight : getSpanColorClassName(node2), node2.isHighlighted === false && styles$1.unlit, customClassName, hasSegments2 && styles$1.hasSegments), "data-span-id": span.spanId, "data-start-time": segmentNode.startTime - root2.startTime, "data-right-side": layout.isNearRightSide, "data-selected": node2.isSelected ? "" : void 0, ref, style: getSpanStyle(layout, segmentNode, root2, scale), type: "button", children: jsxRuntimeExports.jsx(SpanContent, { durationMs, resourceType, node: renderNode, layout }) }), segmentNode.events && !layout.isSmall ? segmentNode.events.map((x2) => jsxRuntimeExports.jsx(SpanEventComponent, { customSpanEventClassNameFunc, event: x2, node: segmentNode, root: root2, scale, asBoundary: isWorkflowSpan }, x2.key)) : null] });
|
|
45035
45032
|
});
|
|
45036
45033
|
const BOUNDARY_LABELS = {
|
|
45037
45034
|
step_started: "Started",
|
|
@@ -45089,17 +45086,17 @@ const SpanEventComponent = reactExports.memo(function SpanEventComponent2({ even
|
|
|
45089
45086
|
const isLeftAligned = node2.duration <= 0 || (event.timestamp - node2.startTime) / node2.duration < 0.5;
|
|
45090
45087
|
const customClassName = customSpanEventClassNameFunc ? customSpanEventClassNameFunc(event) : "";
|
|
45091
45088
|
return jsxRuntimeExports.jsxs("div", { title: phaseDuration ? `${displayLabel} ${timestamp}
|
|
45092
|
-
${phaseLabel} ${phaseDuration}` : `${displayLabel} ${timestamp}`, className: clsx(styles.spanNodeEvent, customClassName, asBoundary && styles.boundaryMarker, node2.isHighlighted ? styles.colorHighlight : getSpanColorClassName(node2), node2.isHighlighted === false && styles.unlit), "data-hovered": event.isHovered, ref, style: {
|
|
45089
|
+
${phaseLabel} ${phaseDuration}` : `${displayLabel} ${timestamp}`, className: clsx(styles$1.spanNodeEvent, customClassName, asBoundary && styles$1.boundaryMarker, node2.isHighlighted ? styles$1.colorHighlight : getSpanColorClassName(node2), node2.isHighlighted === false && styles$1.unlit), "data-hovered": event.isHovered, ref, style: {
|
|
45093
45090
|
left,
|
|
45094
45091
|
top
|
|
45095
|
-
}, children: [jsxRuntimeExports.jsx("div", { className: clsx(styles.hoverInfo, isLeftAligned ? styles.alignStart : styles.alignEnd), children: asBoundary ? jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [jsxRuntimeExports.jsx("span", { className: styles.eventName, children: displayLabel }), jsxRuntimeExports.jsx("span", { className: styles.eventTimestamp, children: timestamp }), phaseDuration ? jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [jsxRuntimeExports.jsx("span", { className: styles.eventName, children: phaseLabel }), jsxRuntimeExports.jsx("span", { className: styles.eventTimestamp, children: phaseDuration })] }) : null] }) : jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [jsxRuntimeExports.jsx("span", { className: styles.eventName, children: name2 }), jsxRuntimeExports.jsx("span", { className: styles.eventTimestamp, children: timestamp })] }) }), asBoundary ? jsxRuntimeExports.jsx("div", { className: styles.boundaryLine }) : jsxRuntimeExports.jsx("div", { className: styles.eventDiamond })] });
|
|
45092
|
+
}, children: [jsxRuntimeExports.jsx("div", { className: clsx(styles$1.hoverInfo, isLeftAligned ? styles$1.alignStart : styles$1.alignEnd), children: asBoundary ? jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [jsxRuntimeExports.jsx("span", { className: styles$1.eventName, children: displayLabel }), jsxRuntimeExports.jsx("span", { className: styles$1.eventTimestamp, children: timestamp }), phaseDuration ? jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [jsxRuntimeExports.jsx("span", { className: styles$1.eventName, children: phaseLabel }), jsxRuntimeExports.jsx("span", { className: styles$1.eventTimestamp, children: phaseDuration })] }) : null] }) : jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [jsxRuntimeExports.jsx("span", { className: styles$1.eventName, children: name2 }), jsxRuntimeExports.jsx("span", { className: styles$1.eventTimestamp, children: timestamp })] }) }), asBoundary ? jsxRuntimeExports.jsx("div", { className: styles$1.boundaryLine }) : jsxRuntimeExports.jsx("div", { className: styles$1.eventDiamond })] });
|
|
45096
45093
|
});
|
|
45097
45094
|
const colorTokenMap = {
|
|
45098
45095
|
"gray-700": "var(--ds-gray-700)",
|
|
45099
45096
|
"gray-900": "var(--ds-gray-900)"
|
|
45100
45097
|
};
|
|
45101
45098
|
function IconChevronDown({ size: size2 = 16 }) {
|
|
45102
|
-
return jsxRuntimeExports.jsxs("svg", { width: size2, height: size2, viewBox: "0 0 24 24", fill: "none", "aria-hidden": true, className: styles.detailHeadingIcon, children: [jsxRuntimeExports.jsx("title", { children: "Chevron Down" }), jsxRuntimeExports.jsx("path", { d: "M6 9l6 6 6-6", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" })] });
|
|
45099
|
+
return jsxRuntimeExports.jsxs("svg", { width: size2, height: size2, viewBox: "0 0 24 24", fill: "none", "aria-hidden": true, className: styles$1.detailHeadingIcon, children: [jsxRuntimeExports.jsx("title", { children: "Chevron Down" }), jsxRuntimeExports.jsx("path", { d: "M6 9l6 6 6-6", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" })] });
|
|
45103
45100
|
}
|
|
45104
45101
|
function IconExternalSmall({ size: size2 = 16, color: color5 = "gray-900" }) {
|
|
45105
45102
|
const style2 = { color: colorTokenMap[color5] || color5 };
|
|
@@ -45114,7 +45111,7 @@ function Link(props) {
|
|
|
45114
45111
|
return jsxRuntimeExports.jsx("a", { className, href, ...rest, children: children2 });
|
|
45115
45112
|
}
|
|
45116
45113
|
function Skeleton({ width, height, rounded }) {
|
|
45117
|
-
return jsxRuntimeExports.jsx("span", { className: clsx(styles.skeleton, rounded && styles.skeletonRounded), style: { width, height }, "aria-hidden": true });
|
|
45114
|
+
return jsxRuntimeExports.jsx("span", { className: clsx(styles$1.skeleton, rounded && styles$1.skeletonRounded), style: { width, height }, "aria-hidden": true });
|
|
45118
45115
|
}
|
|
45119
45116
|
const EXPANDED_STORAGE_KEY_PREFIX = "vc-trace-span-exp:";
|
|
45120
45117
|
function DetailGroup({ name: name2, className = "", children: children2 }) {
|
|
@@ -45130,7 +45127,7 @@ function DetailGroup({ name: name2, className = "", children: children2 }) {
|
|
|
45130
45127
|
return willBeExpanded;
|
|
45131
45128
|
});
|
|
45132
45129
|
}, [name2]);
|
|
45133
|
-
return jsxRuntimeExports.jsxs("div", { className: clsx(styles.detailGroup, isExpanded ? styles.expanded : styles.collapsed, className), children: [jsxRuntimeExports.jsxs("button", { className: styles.detailHeading, onClick: toggleExpanded, type: "button", children: [jsxRuntimeExports.jsx("span", { children: name2 }), jsxRuntimeExports.jsx(IconChevronDown, {})] }), isExpanded ? children2 : null] });
|
|
45130
|
+
return jsxRuntimeExports.jsxs("div", { className: clsx(styles$1.detailGroup, isExpanded ? styles$1.expanded : styles$1.collapsed, className), children: [jsxRuntimeExports.jsxs("button", { className: styles$1.detailHeading, onClick: toggleExpanded, type: "button", children: [jsxRuntimeExports.jsx("span", { children: name2 }), jsxRuntimeExports.jsx(IconChevronDown, {})] }), isExpanded ? children2 : null] });
|
|
45134
45131
|
}
|
|
45135
45132
|
reactExports.memo(function EntrySpanLinks({ getQuickLinks, span }) {
|
|
45136
45133
|
const links = getQuickLinks(span);
|
|
@@ -45154,7 +45151,7 @@ function usePromise(promise) {
|
|
|
45154
45151
|
}
|
|
45155
45152
|
function EntrySpanLink({ name: name2, link: linkPromise }) {
|
|
45156
45153
|
const link2 = usePromise(linkPromise);
|
|
45157
|
-
return jsxRuntimeExports.jsxs(Link, { as: link2 ? void 0 : "span", className: clsx(styles.spanDetailPanelAttribute, styles.spanDetailPanelQuickLink), href: (link2 == null ? void 0 : link2.href) || "", children: [jsxRuntimeExports.jsx("span", { className: styles.spanDetailPanelAttributeKey, children: name2 }), jsxRuntimeExports.jsx("span", { className: clsx(styles.spanDetailPanelAttributeValue, styles.spanDetailPanelQuickLinkLabel), children: link2 ? jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [link2.label, link2.icon || jsxRuntimeExports.jsx(IconExternalSmall, { color: "gray-900" })] }) : jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [jsxRuntimeExports.jsx(Skeleton, { height: 18, width: 32 + name2.length * 8 }), jsxRuntimeExports.jsx(Skeleton, { height: 18, rounded: true, width: 18 })] }) })] });
|
|
45154
|
+
return jsxRuntimeExports.jsxs(Link, { as: link2 ? void 0 : "span", className: clsx(styles$1.spanDetailPanelAttribute, styles$1.spanDetailPanelQuickLink), href: (link2 == null ? void 0 : link2.href) || "", children: [jsxRuntimeExports.jsx("span", { className: styles$1.spanDetailPanelAttributeKey, children: name2 }), jsxRuntimeExports.jsx("span", { className: clsx(styles$1.spanDetailPanelAttributeValue, styles$1.spanDetailPanelQuickLinkLabel), children: link2 ? jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [link2.label, link2.icon || jsxRuntimeExports.jsx(IconExternalSmall, { color: "gray-900" })] }) : jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [jsxRuntimeExports.jsx(Skeleton, { height: 18, width: 32 + name2.length * 8 }), jsxRuntimeExports.jsx(Skeleton, { height: 18, rounded: true, width: 18 })] }) })] });
|
|
45158
45155
|
}
|
|
45159
45156
|
function useImmediateStyle(ref) {
|
|
45160
45157
|
const styleRef = reactExports.useRef({});
|
|
@@ -45313,10 +45310,10 @@ reactExports.memo(function MiniMap({ timelineRef, rows, scale }) {
|
|
|
45313
45310
|
$timeline.removeEventListener("scroll", onScroll);
|
|
45314
45311
|
};
|
|
45315
45312
|
}, [timelineRef, thumbRatio, setThumbStyle]);
|
|
45316
|
-
return jsxRuntimeExports.jsxs("div", { className: styles.mapContainer, ref: containerRef, style: {
|
|
45313
|
+
return jsxRuntimeExports.jsxs("div", { className: styles$1.mapContainer, ref: containerRef, style: {
|
|
45317
45314
|
width: thumbWidth > 0 ? mapWidth : "100%",
|
|
45318
45315
|
height: MAP_HEIGHT
|
|
45319
|
-
}, children: [jsxRuntimeExports.jsx("canvas", { className: styles.mapCanvas, height: MAP_HEIGHT * dpi, ref: canvasRef, style: { width: mapWidth, height: MAP_HEIGHT }, width: mapWidth * dpi }), jsxRuntimeExports.jsx("div", { className: styles.mapThumb, ref: thumbRef, style: {
|
|
45316
|
+
}, children: [jsxRuntimeExports.jsx("canvas", { className: styles$1.mapCanvas, height: MAP_HEIGHT * dpi, ref: canvasRef, style: { width: mapWidth, height: MAP_HEIGHT }, width: mapWidth * dpi }), jsxRuntimeExports.jsx("div", { className: styles$1.mapThumb, ref: thumbRef, style: {
|
|
45320
45317
|
transform: thumbStyle.transform,
|
|
45321
45318
|
width: thumbWidth > 0 ? thumbWidth : `calc(100% - ${TIMELINE_PADDING * 2}px)`,
|
|
45322
45319
|
top: 2,
|
|
@@ -45757,15 +45754,22 @@ function computeSleepSegmentsFromSpan(_startMs, duration2, _events) {
|
|
|
45757
45754
|
return [];
|
|
45758
45755
|
return [{ startFraction: 0, endFraction: 1, status: "sleeping" }];
|
|
45759
45756
|
}
|
|
45757
|
+
function runSegmentStatus(runStatus) {
|
|
45758
|
+
if (runStatus === "failed")
|
|
45759
|
+
return "failed";
|
|
45760
|
+
if (runStatus === "running" || runStatus === "pending")
|
|
45761
|
+
return "running";
|
|
45762
|
+
return "completed";
|
|
45763
|
+
}
|
|
45760
45764
|
function computeRunSegmentsFromSpan(startMs, duration2, activeStartMs, events, attributes) {
|
|
45761
45765
|
const segments = [];
|
|
45762
45766
|
if (duration2 <= 0)
|
|
45763
45767
|
return segments;
|
|
45764
45768
|
const sorted = [...events].map((e) => ({ name: e.name, time: getHighResInMs(e.timestamp) })).sort((a2, b2) => a2.time - b2.time);
|
|
45769
|
+
const runData = attributes == null ? void 0 : attributes.data;
|
|
45770
|
+
const runStatus = runData == null ? void 0 : runData.status;
|
|
45765
45771
|
const hasRunCreated = sorted.some((e) => e.name === "run_created");
|
|
45766
45772
|
if (!hasRunCreated) {
|
|
45767
|
-
const runData = attributes == null ? void 0 : attributes.data;
|
|
45768
|
-
const runStatus = runData == null ? void 0 : runData.status;
|
|
45769
45773
|
return computeV1RunSegments(startMs, duration2, activeStartMs, runStatus);
|
|
45770
45774
|
}
|
|
45771
45775
|
const failedEvent = sorted.find((e) => e.name === "run_failed");
|
|
@@ -45784,7 +45788,7 @@ function computeRunSegmentsFromSpan(startMs, duration2, activeStartMs, events, a
|
|
|
45784
45788
|
segments.push({
|
|
45785
45789
|
startFraction: cursor,
|
|
45786
45790
|
endFraction: 1,
|
|
45787
|
-
status: failedEvent ? "failed" :
|
|
45791
|
+
status: failedEvent ? "failed" : runSegmentStatus(runStatus)
|
|
45788
45792
|
});
|
|
45789
45793
|
return segments;
|
|
45790
45794
|
}
|
|
@@ -45805,7 +45809,7 @@ function computeV1RunSegments(startMs, duration2, activeStartMs, runStatus) {
|
|
|
45805
45809
|
segments.push({
|
|
45806
45810
|
startFraction: cursor,
|
|
45807
45811
|
endFraction: 1,
|
|
45808
|
-
status: runStatus
|
|
45812
|
+
status: runSegmentStatus(runStatus)
|
|
45809
45813
|
});
|
|
45810
45814
|
return segments;
|
|
45811
45815
|
}
|
|
@@ -45874,6 +45878,10 @@ function useRowWindow(ref, rowCount, rowHeight, overscan = 12) {
|
|
|
45874
45878
|
return range;
|
|
45875
45879
|
}
|
|
45876
45880
|
const ROW_HEIGHT_PX = 40;
|
|
45881
|
+
const runningStripes = "_runningStripes_62ud0_1";
|
|
45882
|
+
const styles = {
|
|
45883
|
+
runningStripes
|
|
45884
|
+
};
|
|
45877
45885
|
const TINY_BAR_BOX_SIZE_PX = 24;
|
|
45878
45886
|
const TINY_BAR_WIDTH_PX = 4;
|
|
45879
45887
|
const TIMELINE_PADDING_PX = 16;
|
|
@@ -45882,6 +45890,7 @@ const SEGMENT_CLASSES = {
|
|
|
45882
45890
|
retrying: "bg-gray-400 border border-gray-500",
|
|
45883
45891
|
waiting: "bg-gray-400 border border-gray-500",
|
|
45884
45892
|
running: "bg-blue-200 border border-blue-500",
|
|
45893
|
+
completed: "bg-blue-200 border border-blue-500",
|
|
45885
45894
|
failed: "bg-red-200 border border-red-500",
|
|
45886
45895
|
succeeded: "bg-green-200 border border-green-500",
|
|
45887
45896
|
sleeping: "bg-gray-400 border border-gray-500",
|
|
@@ -45891,6 +45900,13 @@ const TIMELINE_INSET_STYLE = {
|
|
|
45891
45900
|
left: TIMELINE_PADDING_PX,
|
|
45892
45901
|
right: TIMELINE_PADDING_PX
|
|
45893
45902
|
};
|
|
45903
|
+
const ACTIVE_SEGMENT_STATUSES = /* @__PURE__ */ new Set([
|
|
45904
|
+
"running",
|
|
45905
|
+
"received"
|
|
45906
|
+
]);
|
|
45907
|
+
function RunningStripes() {
|
|
45908
|
+
return jsxRuntimeExports.jsx("div", { "aria-hidden": true, className: styles.runningStripes });
|
|
45909
|
+
}
|
|
45894
45910
|
function computeBarGeometry(startMs, endMs, viewStart, viewEnd, containerWidth) {
|
|
45895
45911
|
const viewDuration = viewEnd - viewStart;
|
|
45896
45912
|
const visibleStartMs = Math.max(startMs, viewStart);
|
|
@@ -45963,21 +45979,27 @@ function BoundaryArrow({ direction }) {
|
|
|
45963
45979
|
function PlainBar({ bg, border, label }) {
|
|
45964
45980
|
return jsxRuntimeExports.jsx("div", { className: "relative h-6 w-full min-w-1 rounded-[0.25rem] border", style: { background: bg, borderColor: border }, children: label ? jsxRuntimeExports.jsx(DurationLabel, { label }) : null });
|
|
45965
45981
|
}
|
|
45982
|
+
function LeadInConnector({ leftPct, widthPct, label }) {
|
|
45983
|
+
return jsxRuntimeExports.jsxs("div", { className: "absolute top-1/2 h-6 -translate-y-1/2", style: {
|
|
45984
|
+
left: `calc(${leftPct}% + 0.5px)`,
|
|
45985
|
+
width: `calc(${widthPct}% - 1px)`
|
|
45986
|
+
}, children: [jsxRuntimeExports.jsx("div", { className: "absolute left-0 top-1/2 h-4 w-px -translate-y-1/2 bg-gray-500" }), jsxRuntimeExports.jsx("div", { className: "absolute inset-x-0 top-1/2 h-px -translate-y-1/2 bg-gray-500" }), label ? jsxRuntimeExports.jsx(DurationLabel, { label }) : null] });
|
|
45987
|
+
}
|
|
45966
45988
|
function SegmentBar({ segments }) {
|
|
45967
45989
|
return jsxRuntimeExports.jsx("div", { className: "relative h-6 w-full", children: segments.map((seg, i) => {
|
|
45968
|
-
|
|
45990
|
+
if (seg.status === "queued") {
|
|
45991
|
+
const leadInLabel = formatDurationPrecise(seg.fullDurationMs);
|
|
45992
|
+
const showLeadInLabel = seg.pixelWidth >= Math.max(40, leadInLabel.length * 6 + 12);
|
|
45993
|
+
return jsxRuntimeExports.jsx(LeadInConnector, { leftPct: seg.leftPct, widthPct: seg.widthPct, label: showLeadInLabel ? leadInLabel : null }, i);
|
|
45994
|
+
}
|
|
45995
|
+
const label = formatDurationPrecise(seg.fullDurationMs);
|
|
45969
45996
|
const showLabel = seg.pixelWidth >= Math.max(40, label.length * 6 + 12);
|
|
45970
|
-
|
|
45971
|
-
const overrideBg = isNarrowQueued ? "var(--ds-gray-400)" : void 0;
|
|
45972
|
-
const overrideBorder = isNarrowQueued ? "var(--ds-gray-500)" : void 0;
|
|
45973
|
-
return jsxRuntimeExports.jsx("div", { className: cn$4("absolute h-full rounded-[0.25rem]", SEGMENT_CLASSES[seg.status]), style: {
|
|
45997
|
+
return jsxRuntimeExports.jsxs("div", { className: cn$4("absolute h-full overflow-hidden rounded-[0.25rem]", SEGMENT_CLASSES[seg.status]), style: {
|
|
45974
45998
|
// 1px gap between adjacent segments, distributed equally.
|
|
45975
45999
|
left: `calc(${seg.leftPct}% + 0.5px)`,
|
|
45976
46000
|
width: `calc(${seg.widthPct}% - 1px)`,
|
|
45977
|
-
minWidth: 1
|
|
45978
|
-
|
|
45979
|
-
borderColor: overrideBorder
|
|
45980
|
-
}, children: showLabel ? jsxRuntimeExports.jsx(DurationLabel, { label }) : null }, i);
|
|
46001
|
+
minWidth: 1
|
|
46002
|
+
}, children: [ACTIVE_SEGMENT_STATUSES.has(seg.status) ? jsxRuntimeExports.jsx(RunningStripes, {}) : null, showLabel ? jsxRuntimeExports.jsx(DurationLabel, { label }) : null] }, i);
|
|
45981
46003
|
}) });
|
|
45982
46004
|
}
|
|
45983
46005
|
const TimelineBar = reactExports.memo(function TimelineBar2({ span, viewStart, viewDuration, containerWidth, isSelected, isDimmed, onSelect }) {
|
|
@@ -45993,7 +46015,7 @@ const TimelineBar = reactExports.memo(function TimelineBar2({ span, viewStart, v
|
|
|
45993
46015
|
const colors = getResourceColor(span.resource);
|
|
45994
46016
|
const fallbackBg = isErrored ? colors.errorBg ?? "var(--ds-red-200)" : colors.bg;
|
|
45995
46017
|
const fallbackBorder = isErrored ? colors.errorBorder ?? "var(--ds-red-500)" : colors.border;
|
|
45996
|
-
const totalLabel =
|
|
46018
|
+
const totalLabel = formatDurationPrecise(totalDurationMs);
|
|
45997
46019
|
const showTotalLabel = geometry.visiblePixelWidth >= Math.max(40, totalLabel.length * 6 + 12);
|
|
45998
46020
|
const handleClick = reactExports.useCallback(() => {
|
|
45999
46021
|
onSelect(span.spanId);
|
|
@@ -48631,58 +48653,59 @@ export {
|
|
|
48631
48653
|
hasEncryptedFields as a7,
|
|
48632
48654
|
EVENT_DATA_REF_FIELDS as a8,
|
|
48633
48655
|
useSidebarDataOptional as a9,
|
|
48634
|
-
|
|
48635
|
-
|
|
48636
|
-
|
|
48637
|
-
|
|
48638
|
-
|
|
48639
|
-
|
|
48640
|
-
|
|
48641
|
-
|
|
48642
|
-
|
|
48643
|
-
|
|
48644
|
-
|
|
48645
|
-
|
|
48646
|
-
|
|
48647
|
-
|
|
48648
|
-
|
|
48649
|
-
|
|
48650
|
-
|
|
48651
|
-
|
|
48652
|
-
|
|
48653
|
-
|
|
48654
|
-
|
|
48655
|
-
|
|
48656
|
-
|
|
48657
|
-
|
|
48658
|
-
|
|
48659
|
-
|
|
48656
|
+
fetchStreams as aA,
|
|
48657
|
+
Slot as aB,
|
|
48658
|
+
Slottable as aC,
|
|
48659
|
+
buttonVariants as aD,
|
|
48660
|
+
fetchEvent as aE,
|
|
48661
|
+
fetchEventsByCorrelationId as aF,
|
|
48662
|
+
isEncryptedData as aG,
|
|
48663
|
+
hydrateData as aH,
|
|
48664
|
+
getWebRevivers as aI,
|
|
48665
|
+
LIVE_UPDATE_INTERVAL_MS as aJ,
|
|
48666
|
+
getEncryptionKeyForRun as aK,
|
|
48667
|
+
StreamViewer as aL,
|
|
48668
|
+
composeRefs as aM,
|
|
48669
|
+
useFloating as aN,
|
|
48670
|
+
offset as aO,
|
|
48671
|
+
shift as aP,
|
|
48672
|
+
limitShift as aQ,
|
|
48673
|
+
flip as aR,
|
|
48674
|
+
size as aS,
|
|
48675
|
+
arrow as aT,
|
|
48676
|
+
hide as aU,
|
|
48677
|
+
autoUpdate as aV,
|
|
48678
|
+
cancelRun as aW,
|
|
48679
|
+
reenqueueRun as aX,
|
|
48680
|
+
wakeUpRun as aY,
|
|
48681
|
+
resumeHook as aZ,
|
|
48682
|
+
recreateRun as a_,
|
|
48660
48683
|
clsx as aa,
|
|
48661
48684
|
useRowWindow as ab,
|
|
48662
48685
|
isSpanDimmedBySearch as ac,
|
|
48663
48686
|
ROW_HEIGHT_PX as ad,
|
|
48664
48687
|
getSpanDurationMs as ae,
|
|
48665
|
-
|
|
48666
|
-
|
|
48667
|
-
|
|
48668
|
-
|
|
48669
|
-
|
|
48670
|
-
|
|
48671
|
-
|
|
48672
|
-
|
|
48673
|
-
|
|
48674
|
-
|
|
48675
|
-
|
|
48676
|
-
|
|
48677
|
-
|
|
48678
|
-
|
|
48679
|
-
|
|
48680
|
-
|
|
48681
|
-
|
|
48682
|
-
|
|
48683
|
-
|
|
48684
|
-
|
|
48685
|
-
|
|
48688
|
+
formatDurationPrecise as af,
|
|
48689
|
+
TooltipProvider as ag,
|
|
48690
|
+
ActiveSpanProvider as ah,
|
|
48691
|
+
useActiveSpan as ai,
|
|
48692
|
+
useSidebarData as aj,
|
|
48693
|
+
searchSpans as ak,
|
|
48694
|
+
computeRootBounds as al,
|
|
48695
|
+
computeTimeMarkers as am,
|
|
48696
|
+
getHighResInMs as an,
|
|
48697
|
+
TIMELINE_PADDING_PX as ao,
|
|
48698
|
+
Timeline as ap,
|
|
48699
|
+
TimelineHeader as aq,
|
|
48700
|
+
IconButton as ar,
|
|
48701
|
+
Tooltip$1 as as,
|
|
48702
|
+
TooltipTrigger$1 as at,
|
|
48703
|
+
TooltipContent$1 as au,
|
|
48704
|
+
SidebarDataProvider as av,
|
|
48705
|
+
hydrateResourceIOWithKey as aw,
|
|
48706
|
+
hydrateResourceIO as ax,
|
|
48707
|
+
fetchHook as ay,
|
|
48708
|
+
fetchStep as az,
|
|
48686
48709
|
TooltipContent as b,
|
|
48687
48710
|
createLucideIcon as c,
|
|
48688
48711
|
cn as d,
|