@burdenoff/microfe-bigconsole 2026.1101.1 → 2026.1102.1
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/dist/bigconsole/components/pipeline/PipelineRunHistory.d.ts +15 -0
- package/dist/bigconsole/components/pipeline/PipelineRunHistory.js +270 -0
- package/dist/bigconsole/hooks/usePipelineOperations.d.ts +2 -1
- package/dist/bigconsole/pages/PipelineBuilderPage.js +307 -306
- package/dist/bigconsole/pages/PipelineViewPage.js +201 -310
- package/dist/bigconsole/utils/pipelineExecutionTimeline.d.ts +47 -0
- package/dist/bigconsole/utils/pipelineExecutionTimeline.js +87 -0
- package/dist/bigconsole/utils/pipelineStages.d.ts +41 -0
- package/dist/bigconsole/utils/pipelineStages.js +49 -0
- package/package.json +1 -1
|
@@ -1,106 +1,109 @@
|
|
|
1
1
|
import { usePipelineStore as e } from "../store/pipelineStore.js";
|
|
2
2
|
import { useAppNavigate as t } from "../contexts/NavigationContext.js";
|
|
3
3
|
import "../contexts/index.js";
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
4
|
+
import { useOptionalBigConsole as n } from "../context/BigConsoleContext.js";
|
|
5
|
+
import { SECTION_FOCUS_RING as r } from "../components/common/sectionStyles.js";
|
|
6
|
+
import { Section as i, SectionStack as a } from "../components/common/Section.js";
|
|
6
7
|
import "../components/common/index.js";
|
|
7
8
|
import ee from "../hooks/usePipelineOperations.js";
|
|
8
|
-
import { BIGCONSOLE_PERMISSIONS as
|
|
9
|
-
import { isNative as
|
|
10
|
-
import { PipelineStatusBadge as
|
|
9
|
+
import { BIGCONSOLE_PERMISSIONS as o } from "../../constants/permissions.js";
|
|
10
|
+
import { isNative as s, nativeNotify as c } from "../../utils/nativeBridge.js";
|
|
11
|
+
import { PipelineStatusBadge as l } from "../components/pipeline/PipelineStatusBadge.js";
|
|
11
12
|
import { PipelineDeleteDialog as te } from "../components/pipeline/PipelineDeleteDialog.js";
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
18
|
-
import {
|
|
13
|
+
import { orderExecutionsForPipeline as u, pickSelectedExecution as ne } from "../utils/pipelineExecutionTimeline.js";
|
|
14
|
+
import { PipelineRunHistoryList as re, PipelineStageTimeline as ie } from "../components/pipeline/PipelineRunHistory.js";
|
|
15
|
+
import { memo as d, useCallback as f, useEffect as p, useId as ae, useMemo as oe, useState as m } from "react";
|
|
16
|
+
import { useParams as se, useSearchParams as ce } from "react-router";
|
|
17
|
+
import { AccessDenied as le } from "@burdenoff/fe-libs/shared/components";
|
|
18
|
+
import { usePermissions as ue } from "@burdenoff/fe-libs/shared/providers/shell";
|
|
19
|
+
import { Button as h, IllustratedEmptyState as de, NextSteps as fe, PagePurpose as pe, Spinner as me } from "@burdenoff/fe-libs/ui";
|
|
20
|
+
import { useI18n as g } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
|
|
21
|
+
import { jsx as _, jsxs as v } from "react/jsx-runtime";
|
|
19
22
|
//#region src/bigconsole/pages/PipelineViewPage.tsx
|
|
20
|
-
var
|
|
23
|
+
var y = "min-h-[var(--size-controlHeight-md)]", he = "rounded-pill bg-bg-sunken px-2 py-0.5 text-xs font-medium text-text-secondary", ge = "rounded-button bg-bg-surface px-1.5 py-0.5 font-mono break-all text-text-primary", _e = ({ className: e }) => /* @__PURE__ */ _("svg", {
|
|
21
24
|
className: e,
|
|
22
25
|
fill: "none",
|
|
23
26
|
stroke: "currentColor",
|
|
24
27
|
viewBox: "0 0 24 24",
|
|
25
|
-
children: /* @__PURE__ */
|
|
28
|
+
children: /* @__PURE__ */ _("path", {
|
|
26
29
|
strokeLinecap: "round",
|
|
27
30
|
strokeLinejoin: "round",
|
|
28
31
|
strokeWidth: 2,
|
|
29
32
|
d: "M10 19l-7-7m0 0l7-7m-7 7h18"
|
|
30
33
|
})
|
|
31
|
-
}), b = ({ className: e }) => /* @__PURE__ */
|
|
34
|
+
}), b = ({ className: e }) => /* @__PURE__ */ _("svg", {
|
|
32
35
|
className: e,
|
|
33
36
|
fill: "none",
|
|
34
37
|
stroke: "currentColor",
|
|
35
38
|
viewBox: "0 0 24 24",
|
|
36
|
-
children: /* @__PURE__ */
|
|
39
|
+
children: /* @__PURE__ */ _("path", {
|
|
37
40
|
strokeLinecap: "round",
|
|
38
41
|
strokeLinejoin: "round",
|
|
39
42
|
strokeWidth: 2,
|
|
40
43
|
d: "M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z"
|
|
41
44
|
})
|
|
42
|
-
}),
|
|
45
|
+
}), ve = ({ className: e }) => /* @__PURE__ */ _("svg", {
|
|
43
46
|
className: e,
|
|
44
47
|
fill: "none",
|
|
45
48
|
stroke: "currentColor",
|
|
46
49
|
viewBox: "0 0 24 24",
|
|
47
|
-
children: /* @__PURE__ */
|
|
50
|
+
children: /* @__PURE__ */ _("path", {
|
|
48
51
|
strokeLinecap: "round",
|
|
49
52
|
strokeLinejoin: "round",
|
|
50
53
|
strokeWidth: 2,
|
|
51
54
|
d: "M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16"
|
|
52
55
|
})
|
|
53
|
-
}), x = ({ className: e }) => /* @__PURE__ */
|
|
56
|
+
}), x = ({ className: e }) => /* @__PURE__ */ v("svg", {
|
|
54
57
|
className: e,
|
|
55
58
|
fill: "none",
|
|
56
59
|
stroke: "currentColor",
|
|
57
60
|
viewBox: "0 0 24 24",
|
|
58
|
-
children: [/* @__PURE__ */
|
|
61
|
+
children: [/* @__PURE__ */ _("path", {
|
|
59
62
|
strokeLinecap: "round",
|
|
60
63
|
strokeLinejoin: "round",
|
|
61
64
|
strokeWidth: 2,
|
|
62
65
|
d: "M14.752 11.168l-3.197-2.132A1 1 0 0010 9.87v4.263a1 1 0 001.555.832l3.197-2.132a1 1 0 000-1.664z"
|
|
63
|
-
}), /* @__PURE__ */
|
|
66
|
+
}), /* @__PURE__ */ _("path", {
|
|
64
67
|
strokeLinecap: "round",
|
|
65
68
|
strokeLinejoin: "round",
|
|
66
69
|
strokeWidth: 2,
|
|
67
70
|
d: "M21 12a9 9 0 11-18 0 9 9 0 0118 0z"
|
|
68
71
|
})]
|
|
69
|
-
}), S = ({ className: e }) => /* @__PURE__ */
|
|
72
|
+
}), S = ({ className: e }) => /* @__PURE__ */ _("svg", {
|
|
70
73
|
className: e,
|
|
71
74
|
fill: "none",
|
|
72
75
|
stroke: "currentColor",
|
|
73
76
|
viewBox: "0 0 24 24",
|
|
74
|
-
children: /* @__PURE__ */
|
|
77
|
+
children: /* @__PURE__ */ _("path", {
|
|
75
78
|
strokeLinecap: "round",
|
|
76
79
|
strokeLinejoin: "round",
|
|
77
80
|
strokeWidth: 2,
|
|
78
81
|
d: "M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"
|
|
79
82
|
})
|
|
80
|
-
}),
|
|
83
|
+
}), ye = ({ className: e }) => /* @__PURE__ */ _("svg", {
|
|
81
84
|
className: e,
|
|
82
85
|
fill: "none",
|
|
83
86
|
stroke: "currentColor",
|
|
84
87
|
viewBox: "0 0 24 24",
|
|
85
|
-
children: /* @__PURE__ */
|
|
88
|
+
children: /* @__PURE__ */ _("path", {
|
|
86
89
|
strokeLinecap: "round",
|
|
87
90
|
strokeLinejoin: "round",
|
|
88
91
|
strokeWidth: 2,
|
|
89
92
|
d: "M5 13l4 4L19 7"
|
|
90
93
|
})
|
|
91
|
-
}), C = ({ className: e }) => /* @__PURE__ */
|
|
94
|
+
}), C = ({ className: e }) => /* @__PURE__ */ _("svg", {
|
|
92
95
|
className: e,
|
|
93
96
|
fill: "none",
|
|
94
97
|
stroke: "currentColor",
|
|
95
98
|
viewBox: "0 0 24 24",
|
|
96
|
-
children: /* @__PURE__ */
|
|
99
|
+
children: /* @__PURE__ */ _("path", {
|
|
97
100
|
strokeLinecap: "round",
|
|
98
101
|
strokeLinejoin: "round",
|
|
99
102
|
strokeWidth: 2,
|
|
100
103
|
d: "M14 5l7 7m0 0l-7 7m7-7H3"
|
|
101
104
|
})
|
|
102
|
-
}),
|
|
103
|
-
let { t } =
|
|
105
|
+
}), be = ({ handling: e }) => {
|
|
106
|
+
let { t } = g(), n = {
|
|
104
107
|
fail: {
|
|
105
108
|
label: t("bigconsole.pipelines.view.errorHandlingFail", "Fail"),
|
|
106
109
|
className: "bg-[var(--color-status-error-bgSubtle)] text-status-error-text border-[var(--color-status-error-border)]"
|
|
@@ -114,273 +117,273 @@ var v = "min-h-[var(--size-controlHeight-md)]", ue = "rounded-pill bg-bg-sunken
|
|
|
114
117
|
className: "bg-[var(--color-status-info-bgSubtle)] text-[var(--color-status-info-text)] border-[var(--color-status-info-border)]"
|
|
115
118
|
}
|
|
116
119
|
}, r = n[e] || n.fail;
|
|
117
|
-
return /* @__PURE__ */
|
|
120
|
+
return /* @__PURE__ */ v("span", {
|
|
118
121
|
className: `inline-flex items-center gap-1 whitespace-nowrap rounded-pill border px-2 py-0.5 text-xs font-medium ${r.className}`,
|
|
119
|
-
children: [/* @__PURE__ */
|
|
122
|
+
children: [/* @__PURE__ */ _("span", {
|
|
120
123
|
className: "font-normal opacity-80",
|
|
121
124
|
children: "On error"
|
|
122
125
|
}), r.label]
|
|
123
126
|
});
|
|
124
|
-
}, w =
|
|
125
|
-
let { pipelineId:
|
|
127
|
+
}, w = d(function() {
|
|
128
|
+
let { pipelineId: d } = se(), w = t(), { t: T } = g(), [xe] = ce(), E = ae(), D = n()?.currentUser?.id ?? null, { hasPermission: O, isLoading: k } = ue(), A = O(o.PIPELINE_READ), j = O(o.PIPELINE_UPDATE), Se = O(o.PIPELINE_DELETE), M = O(o.PIPELINE_TEST), [N, Ce] = m(null), [P, we] = m("{\n \"data\": \"sample\"\n}"), [F, Te] = m(null), [I, L] = m([]), [R, z] = m(null), [B, V] = m(xe.get("test") === "true"), Ee = e((e) => e.deleteDialogOpen), H = e((e) => e.openDeleteDialog), U = e((e) => e.closeDeleteDialog), { loading: W, error: G, fetchPipeline: K, deletePipeline: q, testPipeline: J, listExecutions: Y } = ee({
|
|
126
129
|
consoleId: "default",
|
|
127
130
|
skipFetch: !0
|
|
128
131
|
});
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
e &&
|
|
132
|
+
p(() => {
|
|
133
|
+
d && K(d).then((e) => {
|
|
134
|
+
e && Ce(e);
|
|
132
135
|
});
|
|
133
|
-
}, [
|
|
136
|
+
}, [d, K]), p(() => {
|
|
134
137
|
let e = !0;
|
|
135
|
-
if (!(!
|
|
138
|
+
if (!(!d || k || !A)) return Y(d).then((t) => {
|
|
136
139
|
if (!e) return;
|
|
137
|
-
let n =
|
|
138
|
-
L(n), z(n
|
|
140
|
+
let n = u(t, d);
|
|
141
|
+
L(n), z(ne(n, null));
|
|
139
142
|
}), () => {
|
|
140
143
|
e = !1;
|
|
141
144
|
};
|
|
142
145
|
}, [
|
|
143
|
-
|
|
144
|
-
O,
|
|
146
|
+
d,
|
|
145
147
|
k,
|
|
148
|
+
A,
|
|
146
149
|
Y
|
|
147
150
|
]);
|
|
148
|
-
let X =
|
|
149
|
-
w(`/pipelines?consoleId=${encodeURIComponent(
|
|
150
|
-
}, [w,
|
|
151
|
-
w(`/pipelines/${
|
|
152
|
-
}, [w,
|
|
153
|
-
|
|
154
|
-
}, [
|
|
155
|
-
|
|
151
|
+
let X = f(() => {
|
|
152
|
+
w(`/pipelines?consoleId=${encodeURIComponent(N?.consoleId ?? "default")}`);
|
|
153
|
+
}, [w, N?.consoleId]), Z = f(() => {
|
|
154
|
+
w(`/pipelines/${d}/edit`);
|
|
155
|
+
}, [w, d]), De = f(() => {
|
|
156
|
+
N && H(N);
|
|
157
|
+
}, [N, H]), Oe = f(async () => {
|
|
158
|
+
N && (await q(N.id) ? (s() && c("success"), U(), w(`/pipelines?consoleId=${encodeURIComponent(N?.consoleId ?? "default")}`)) : s() && c("error"));
|
|
156
159
|
}, [
|
|
157
|
-
|
|
160
|
+
N,
|
|
158
161
|
q,
|
|
159
162
|
U,
|
|
160
163
|
w
|
|
161
|
-
]),
|
|
164
|
+
]), ke = f((e) => {
|
|
162
165
|
w(`/parsers/${e}`);
|
|
163
|
-
}, [w]),
|
|
164
|
-
if (
|
|
166
|
+
}, [w]), Ae = f(async () => {
|
|
167
|
+
if (N) try {
|
|
165
168
|
let e = await J({
|
|
166
|
-
pipelineId:
|
|
169
|
+
pipelineId: N.id,
|
|
167
170
|
inputData: P
|
|
168
171
|
});
|
|
169
172
|
if (e) {
|
|
170
|
-
|
|
171
|
-
let t = await Y(
|
|
172
|
-
L(t);
|
|
173
|
+
Te(e), z(e);
|
|
174
|
+
let t = u(await Y(N.id), N.id);
|
|
175
|
+
L(t.some((t) => t.id === e.id) ? t : [e, ...t]);
|
|
173
176
|
}
|
|
174
177
|
} catch {}
|
|
175
178
|
}, [
|
|
176
|
-
|
|
179
|
+
N,
|
|
177
180
|
J,
|
|
178
181
|
P,
|
|
179
182
|
Y
|
|
180
|
-
]);
|
|
181
|
-
if (W && !
|
|
183
|
+
]), je = oe(() => u(I, d), [I, d]);
|
|
184
|
+
if (W && !N) return /* @__PURE__ */ _("div", {
|
|
182
185
|
className: "p-card-padding",
|
|
183
|
-
children: /* @__PURE__ */
|
|
186
|
+
children: /* @__PURE__ */ v("div", {
|
|
184
187
|
className: "flex flex-col items-center justify-center py-16",
|
|
185
188
|
role: "status",
|
|
186
|
-
children: [/* @__PURE__ */
|
|
189
|
+
children: [/* @__PURE__ */ _(me, { style: {
|
|
187
190
|
height: "var(--size-icon-xl)",
|
|
188
191
|
width: "var(--size-icon-xl)"
|
|
189
|
-
} }), /* @__PURE__ */
|
|
192
|
+
} }), /* @__PURE__ */ _("p", {
|
|
190
193
|
className: "mt-form-gap text-sm text-text-secondary",
|
|
191
194
|
children: T("bigconsole.pipelines.view.loading", "Loading Pipeline...")
|
|
192
195
|
})]
|
|
193
196
|
})
|
|
194
197
|
});
|
|
195
|
-
if (!
|
|
198
|
+
if (!k && !A) return /* @__PURE__ */ _(le, {
|
|
196
199
|
title: T("bigconsole.pipelines.errors.accessDeniedTitle", "Access Denied"),
|
|
197
200
|
description: T("bigconsole.pipelines.errors.accessDeniedViewDescription", "You don't have permission to view this pipeline.")
|
|
198
201
|
});
|
|
199
|
-
if (G) return /* @__PURE__ */
|
|
202
|
+
if (G) return /* @__PURE__ */ _("div", {
|
|
200
203
|
className: "p-card-padding",
|
|
201
|
-
children: /* @__PURE__ */
|
|
204
|
+
children: /* @__PURE__ */ _(i, {
|
|
202
205
|
tone: "danger",
|
|
203
206
|
headingLevel: 2,
|
|
204
207
|
title: T("bigconsole.pipelines.view.loadError", "Failed to load Pipeline"),
|
|
205
208
|
description: G.message,
|
|
206
|
-
icon: /* @__PURE__ */
|
|
207
|
-
actions: /* @__PURE__ */
|
|
209
|
+
icon: /* @__PURE__ */ _(S, { className: "h-icon-sm w-icon-sm" }),
|
|
210
|
+
actions: /* @__PURE__ */ _(h, {
|
|
208
211
|
onClick: X,
|
|
209
|
-
className:
|
|
212
|
+
className: y,
|
|
210
213
|
children: T("bigconsole.pipelines.actions.backToPipelines", "Back to Pipelines")
|
|
211
214
|
}),
|
|
212
215
|
"data-testid": "pipeline-view-error",
|
|
213
|
-
children: /* @__PURE__ */
|
|
216
|
+
children: /* @__PURE__ */ _("p", {
|
|
214
217
|
className: "text-sm text-text-secondary",
|
|
215
218
|
children: "The pipeline could not be read from the console service. Nothing was changed."
|
|
216
219
|
})
|
|
217
220
|
})
|
|
218
221
|
});
|
|
219
|
-
if (!
|
|
222
|
+
if (!N) return /* @__PURE__ */ _("div", {
|
|
220
223
|
className: "p-card-padding",
|
|
221
|
-
children: /* @__PURE__ */
|
|
224
|
+
children: /* @__PURE__ */ _(i, {
|
|
222
225
|
tone: "warning",
|
|
223
226
|
headingLevel: 2,
|
|
224
227
|
title: T("bigconsole.pipelines.view.notFoundTitle", "Pipeline not found"),
|
|
225
228
|
description: T("bigconsole.pipelines.view.notFoundDescription", "The pipeline you're looking for doesn't exist or has been deleted."),
|
|
226
|
-
icon: /* @__PURE__ */
|
|
227
|
-
actions: /* @__PURE__ */
|
|
229
|
+
icon: /* @__PURE__ */ _(S, { className: "h-icon-sm w-icon-sm" }),
|
|
230
|
+
actions: /* @__PURE__ */ _(h, {
|
|
228
231
|
onClick: X,
|
|
229
|
-
className:
|
|
232
|
+
className: y,
|
|
230
233
|
children: T("bigconsole.pipelines.actions.backToPipelines", "Back to Pipelines")
|
|
231
234
|
}),
|
|
232
235
|
"data-testid": "pipeline-not-found"
|
|
233
236
|
})
|
|
234
237
|
});
|
|
235
|
-
let Q =
|
|
238
|
+
let Q = N.stages?.length ?? 0, $ = F?.status === "completed", Me = /* @__PURE__ */ _(i, {
|
|
236
239
|
emphasis: B ? "standard" : "primary",
|
|
237
240
|
headingLevel: 2,
|
|
238
241
|
title: T("bigconsole.pipelines.view.stagesHeading", "Pipeline Stages ({{count}})", { count: Q }),
|
|
239
242
|
description: "Data flows top to bottom — each stage reads its input key and writes an output key for the next one.",
|
|
240
243
|
"data-testid": "pipeline-stages",
|
|
241
|
-
children: Q === 0 ? /* @__PURE__ */
|
|
244
|
+
children: Q === 0 ? /* @__PURE__ */ _(de, {
|
|
242
245
|
illustration: "empty-generic",
|
|
243
246
|
title: T("bigconsole.pipelines.view.noStagesTitle", "No stages defined"),
|
|
244
247
|
description: T("bigconsole.pipelines.view.noStagesDescription", "Edit the pipeline to add parser stages."),
|
|
245
|
-
action: /* @__PURE__ */
|
|
248
|
+
action: /* @__PURE__ */ v(h, {
|
|
246
249
|
variant: "secondary",
|
|
247
250
|
onClick: Z,
|
|
248
|
-
disabled: !
|
|
249
|
-
className:
|
|
250
|
-
children: [/* @__PURE__ */
|
|
251
|
+
disabled: !j,
|
|
252
|
+
className: y,
|
|
253
|
+
children: [/* @__PURE__ */ _(b, { className: "h-icon-sm w-icon-sm" }), T("bigconsole.pipelines.actions.edit", "Edit")]
|
|
251
254
|
})
|
|
252
|
-
}) : /* @__PURE__ */
|
|
255
|
+
}) : /* @__PURE__ */ _("ol", {
|
|
253
256
|
className: "flex flex-col",
|
|
254
|
-
children: (
|
|
257
|
+
children: (N.stages ?? []).map((e, t) => /* @__PURE__ */ v("li", {
|
|
255
258
|
className: "flex min-w-0 flex-col",
|
|
256
|
-
children: [/* @__PURE__ */
|
|
259
|
+
children: [/* @__PURE__ */ v("div", {
|
|
257
260
|
"data-testid": "pipeline-stage",
|
|
258
261
|
"data-enabled": e.enabled,
|
|
259
262
|
className: `min-w-0 rounded-card border bg-bg-sunken p-4 ${e.enabled ? "border-[var(--color-border-subtle)]" : "border-dashed border-[var(--color-border-strong)]"}`,
|
|
260
263
|
children: [
|
|
261
|
-
/* @__PURE__ */
|
|
264
|
+
/* @__PURE__ */ v("div", {
|
|
262
265
|
className: "flex flex-wrap items-center justify-between gap-control-gap",
|
|
263
|
-
children: [/* @__PURE__ */
|
|
266
|
+
children: [/* @__PURE__ */ v("div", {
|
|
264
267
|
className: "flex min-w-0 flex-wrap items-center gap-icon-gap",
|
|
265
268
|
children: [
|
|
266
|
-
/* @__PURE__ */
|
|
269
|
+
/* @__PURE__ */ _("span", {
|
|
267
270
|
"aria-hidden": "true",
|
|
268
271
|
className: "flex h-6 w-6 shrink-0 items-center justify-center rounded-pill bg-bg-surface text-xs font-semibold text-text-secondary",
|
|
269
272
|
children: t + 1
|
|
270
273
|
}),
|
|
271
|
-
/* @__PURE__ */
|
|
274
|
+
/* @__PURE__ */ _("h3", {
|
|
272
275
|
className: "min-w-0 truncate text-sm font-semibold text-text-primary",
|
|
273
276
|
children: e.parserName || T("bigconsole.pipelines.view.stageFallbackName", "Stage {{number}}", { number: t + 1 })
|
|
274
277
|
}),
|
|
275
|
-
e.parserType && /* @__PURE__ */
|
|
278
|
+
e.parserType && /* @__PURE__ */ _("span", {
|
|
276
279
|
className: "rounded-pill bg-bg-surface px-2 py-0.5 text-xs font-medium text-text-secondary",
|
|
277
280
|
children: e.parserType.toUpperCase()
|
|
278
281
|
})
|
|
279
282
|
]
|
|
280
|
-
}), /* @__PURE__ */
|
|
283
|
+
}), /* @__PURE__ */ v("div", {
|
|
281
284
|
className: "flex flex-wrap items-center gap-icon-gap",
|
|
282
|
-
children: [/* @__PURE__ */
|
|
285
|
+
children: [/* @__PURE__ */ _(be, { handling: e.onError }), !e.enabled && /* @__PURE__ */ _("span", {
|
|
283
286
|
className: "rounded-pill border border-[var(--color-border-strong)] px-2 py-0.5 text-xs font-medium text-text-secondary",
|
|
284
287
|
children: T("bigconsole.pipelines.view.stageDisabled", "Disabled")
|
|
285
288
|
})]
|
|
286
289
|
})]
|
|
287
290
|
}),
|
|
288
|
-
/* @__PURE__ */
|
|
291
|
+
/* @__PURE__ */ v("div", {
|
|
289
292
|
className: "mt-2 flex flex-wrap items-center gap-x-2 gap-y-1 text-xs text-text-secondary",
|
|
290
293
|
children: [
|
|
291
|
-
/* @__PURE__ */
|
|
294
|
+
/* @__PURE__ */ _("span", {
|
|
292
295
|
className: "text-text-muted",
|
|
293
296
|
children: "Reads"
|
|
294
297
|
}),
|
|
295
|
-
/* @__PURE__ */
|
|
296
|
-
className:
|
|
298
|
+
/* @__PURE__ */ _("code", {
|
|
299
|
+
className: ge,
|
|
297
300
|
children: e.inputKey
|
|
298
301
|
}),
|
|
299
|
-
/* @__PURE__ */
|
|
300
|
-
/* @__PURE__ */
|
|
302
|
+
/* @__PURE__ */ _(C, { className: "h-3 w-3 shrink-0" }),
|
|
303
|
+
/* @__PURE__ */ _("span", {
|
|
301
304
|
className: "text-text-muted",
|
|
302
305
|
children: "writes"
|
|
303
306
|
}),
|
|
304
|
-
/* @__PURE__ */
|
|
305
|
-
className:
|
|
307
|
+
/* @__PURE__ */ _("code", {
|
|
308
|
+
className: ge,
|
|
306
309
|
children: e.outputKey
|
|
307
310
|
})
|
|
308
311
|
]
|
|
309
312
|
}),
|
|
310
|
-
e.description && /* @__PURE__ */
|
|
313
|
+
e.description && /* @__PURE__ */ _("p", {
|
|
311
314
|
className: "mt-2 text-xs text-text-secondary",
|
|
312
315
|
children: e.description
|
|
313
316
|
}),
|
|
314
|
-
e.parserId && /* @__PURE__ */
|
|
317
|
+
e.parserId && /* @__PURE__ */ _("button", {
|
|
315
318
|
type: "button",
|
|
316
|
-
onClick: () =>
|
|
319
|
+
onClick: () => ke(e.parserId),
|
|
317
320
|
className: "mt-2 rounded-button text-xs text-text-link hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-bg-surface",
|
|
318
321
|
children: T("bigconsole.pipelines.view.viewParser", "View Parser")
|
|
319
322
|
})
|
|
320
323
|
]
|
|
321
|
-
}), t < Q - 1 && /* @__PURE__ */
|
|
324
|
+
}), t < Q - 1 && /* @__PURE__ */ _("span", {
|
|
322
325
|
"aria-hidden": "true",
|
|
323
326
|
className: "flex justify-center py-1",
|
|
324
|
-
children: /* @__PURE__ */
|
|
327
|
+
children: /* @__PURE__ */ _(C, { className: "h-icon-sm w-icon-sm rotate-90 text-text-muted" })
|
|
325
328
|
})]
|
|
326
329
|
}, e.id))
|
|
327
330
|
})
|
|
328
|
-
}),
|
|
331
|
+
}), Ne = B ? /* @__PURE__ */ _(i, {
|
|
329
332
|
id: "pipeline-test-panel",
|
|
330
333
|
emphasis: "primary",
|
|
331
334
|
headingLevel: 2,
|
|
332
335
|
title: T("bigconsole.pipelines.view.testPanelHeading", "Test Pipeline"),
|
|
333
336
|
description: "Run sample input through every enabled stage. Nothing is written to the connected sink.",
|
|
334
|
-
actions: /* @__PURE__ */
|
|
335
|
-
onClick:
|
|
336
|
-
disabled: W || !
|
|
337
|
-
className:
|
|
338
|
-
children: [/* @__PURE__ */
|
|
337
|
+
actions: /* @__PURE__ */ v(h, {
|
|
338
|
+
onClick: Ae,
|
|
339
|
+
disabled: W || !M,
|
|
340
|
+
className: y,
|
|
341
|
+
children: [/* @__PURE__ */ _(x, { className: "h-icon-sm w-icon-sm" }), W ? T("bigconsole.pipelines.view.testRunning", "Running...") : T("bigconsole.pipelines.view.runTest", "Run Test")]
|
|
339
342
|
}),
|
|
340
343
|
"data-testid": "pipeline-test-panel",
|
|
341
|
-
children: /* @__PURE__ */
|
|
344
|
+
children: /* @__PURE__ */ v("div", {
|
|
342
345
|
className: "flex flex-col gap-form-gap",
|
|
343
|
-
children: [/* @__PURE__ */
|
|
346
|
+
children: [/* @__PURE__ */ v("div", {
|
|
344
347
|
className: "min-w-0",
|
|
345
|
-
children: [/* @__PURE__ */
|
|
348
|
+
children: [/* @__PURE__ */ _("label", {
|
|
346
349
|
htmlFor: E,
|
|
347
350
|
className: "mb-1 block text-sm font-medium text-text-primary",
|
|
348
351
|
children: T("bigconsole.pipelines.view.inputJsonLabel", "Input JSON")
|
|
349
|
-
}), /* @__PURE__ */
|
|
352
|
+
}), /* @__PURE__ */ _("textarea", {
|
|
350
353
|
id: E,
|
|
351
354
|
value: P,
|
|
352
|
-
onChange: (e) =>
|
|
355
|
+
onChange: (e) => we(e.target.value),
|
|
353
356
|
spellCheck: !1,
|
|
354
|
-
className: `min-h-32 w-full resize-y rounded-input border border-[var(--color-border-subtle)] bg-bg-canvas px-3 py-2 font-mono text-sm text-text-primary ${
|
|
357
|
+
className: `min-h-32 w-full resize-y rounded-input border border-[var(--color-border-subtle)] bg-bg-canvas px-3 py-2 font-mono text-sm text-text-primary ${r}`,
|
|
355
358
|
placeholder: "{\"key\": \"value\"}"
|
|
356
359
|
})]
|
|
357
|
-
}), F && /* @__PURE__ */
|
|
360
|
+
}), F && /* @__PURE__ */ _(i, {
|
|
358
361
|
tone: $ ? "success" : "danger",
|
|
359
362
|
headingLevel: 3,
|
|
360
363
|
title: $ ? T("bigconsole.pipelines.view.testPassed", "Test Passed") : T("bigconsole.pipelines.view.testFailed", "Test Failed"),
|
|
361
|
-
icon:
|
|
362
|
-
meta: F.totalExecutionTimeMs ? /* @__PURE__ */
|
|
363
|
-
className:
|
|
364
|
+
icon: _($ ? ye : S, { className: "h-icon-sm w-icon-sm" }),
|
|
365
|
+
meta: F.totalExecutionTimeMs ? /* @__PURE__ */ v("span", {
|
|
366
|
+
className: he,
|
|
364
367
|
children: [F.totalExecutionTimeMs, "ms"]
|
|
365
368
|
}) : null,
|
|
366
369
|
"data-testid": "pipeline-test-result",
|
|
367
|
-
children: /* @__PURE__ */
|
|
370
|
+
children: /* @__PURE__ */ v("div", {
|
|
368
371
|
className: "flex flex-col gap-form-gap",
|
|
369
|
-
children: [/* @__PURE__ */
|
|
372
|
+
children: [/* @__PURE__ */ v("div", {
|
|
370
373
|
className: "min-w-0",
|
|
371
|
-
children: [/* @__PURE__ */
|
|
374
|
+
children: [/* @__PURE__ */ _("h4", {
|
|
372
375
|
className: "mb-1 text-sm font-medium text-text-primary",
|
|
373
376
|
children: T("bigconsole.pipelines.view.outputLabel", "Output")
|
|
374
|
-
}), /* @__PURE__ */
|
|
377
|
+
}), /* @__PURE__ */ _("pre", {
|
|
375
378
|
className: "max-h-64 w-full overflow-auto rounded-input border border-[var(--color-border-subtle)] bg-bg-canvas p-3 font-mono text-xs text-text-primary",
|
|
376
379
|
children: JSON.stringify(F.outputData, null, 2) || "null"
|
|
377
380
|
})]
|
|
378
|
-
}), F.error && /* @__PURE__ */
|
|
381
|
+
}), F.error && /* @__PURE__ */ v("div", {
|
|
379
382
|
className: "min-w-0",
|
|
380
|
-
children: [/* @__PURE__ */
|
|
383
|
+
children: [/* @__PURE__ */ _("h4", {
|
|
381
384
|
className: "mb-1 text-sm font-medium text-status-error-text",
|
|
382
385
|
children: T("bigconsole.pipelines.view.errorLabel", "Error")
|
|
383
|
-
}), /* @__PURE__ */
|
|
386
|
+
}), /* @__PURE__ */ _("pre", {
|
|
384
387
|
className: "max-h-64 w-full overflow-auto rounded-input border border-[var(--color-status-error-border)] bg-[var(--color-status-error-bgSubtle)] p-3 font-mono text-xs text-status-error-text",
|
|
385
388
|
children: F.error
|
|
386
389
|
})]
|
|
@@ -389,74 +392,74 @@ var v = "min-h-[var(--size-controlHeight-md)]", ue = "rounded-pill bg-bg-sunken
|
|
|
389
392
|
})]
|
|
390
393
|
})
|
|
391
394
|
}) : null;
|
|
392
|
-
return /* @__PURE__ */
|
|
395
|
+
return /* @__PURE__ */ v("div", {
|
|
393
396
|
className: "p-card-padding",
|
|
394
|
-
children: [/* @__PURE__ */
|
|
395
|
-
/* @__PURE__ */
|
|
397
|
+
children: [/* @__PURE__ */ v(a, { children: [
|
|
398
|
+
/* @__PURE__ */ v("header", {
|
|
396
399
|
className: "flex flex-col gap-form-gap sm:flex-row sm:items-start sm:justify-between",
|
|
397
|
-
children: [/* @__PURE__ */
|
|
400
|
+
children: [/* @__PURE__ */ v("div", {
|
|
398
401
|
className: "flex min-w-0 flex-col gap-control-gap",
|
|
399
402
|
children: [
|
|
400
|
-
/* @__PURE__ */
|
|
403
|
+
/* @__PURE__ */ v(h, {
|
|
401
404
|
variant: "ghost",
|
|
402
405
|
size: "sm",
|
|
403
406
|
onClick: X,
|
|
404
407
|
className: "w-fit",
|
|
405
|
-
children: [/* @__PURE__ */
|
|
408
|
+
children: [/* @__PURE__ */ _(_e, { className: "h-icon-sm w-icon-sm" }), T("bigconsole.pipelines.actions.backToPipelines", "Back to Pipelines")]
|
|
406
409
|
}),
|
|
407
|
-
/* @__PURE__ */
|
|
410
|
+
/* @__PURE__ */ v("div", {
|
|
408
411
|
className: "flex flex-wrap items-center gap-icon-gap",
|
|
409
|
-
children: [/* @__PURE__ */
|
|
412
|
+
children: [/* @__PURE__ */ _("h1", {
|
|
410
413
|
className: "min-w-0 break-words text-2xl font-bold leading-tight text-text-primary",
|
|
411
|
-
children:
|
|
412
|
-
}), /* @__PURE__ */
|
|
414
|
+
children: N.name
|
|
415
|
+
}), /* @__PURE__ */ _(l, { status: N.status })]
|
|
413
416
|
}),
|
|
414
|
-
|
|
417
|
+
N.description && /* @__PURE__ */ _("p", {
|
|
415
418
|
className: "text-sm text-text-secondary",
|
|
416
|
-
children:
|
|
419
|
+
children: N.description
|
|
417
420
|
})
|
|
418
421
|
]
|
|
419
|
-
}), /* @__PURE__ */
|
|
422
|
+
}), /* @__PURE__ */ v("div", {
|
|
420
423
|
className: "flex flex-wrap items-center gap-control-gap",
|
|
421
424
|
children: [
|
|
422
|
-
/* @__PURE__ */
|
|
425
|
+
/* @__PURE__ */ v(h, {
|
|
423
426
|
onClick: () => V(!B),
|
|
424
|
-
disabled: !
|
|
427
|
+
disabled: !M,
|
|
425
428
|
"aria-expanded": B,
|
|
426
429
|
"aria-controls": "pipeline-test-panel",
|
|
427
|
-
className:
|
|
428
|
-
children: [/* @__PURE__ */
|
|
430
|
+
className: y,
|
|
431
|
+
children: [/* @__PURE__ */ _(x, { className: "h-icon-sm w-icon-sm" }), T("bigconsole.pipelines.actions.test", "Test")]
|
|
429
432
|
}),
|
|
430
|
-
/* @__PURE__ */
|
|
433
|
+
/* @__PURE__ */ v(h, {
|
|
431
434
|
variant: "secondary",
|
|
432
435
|
onClick: Z,
|
|
433
|
-
disabled: !
|
|
434
|
-
className:
|
|
435
|
-
children: [/* @__PURE__ */
|
|
436
|
+
disabled: !j,
|
|
437
|
+
className: y,
|
|
438
|
+
children: [/* @__PURE__ */ _(b, { className: "h-icon-sm w-icon-sm" }), T("bigconsole.pipelines.actions.edit", "Edit")]
|
|
436
439
|
}),
|
|
437
|
-
|
|
440
|
+
Se && /* @__PURE__ */ v(h, {
|
|
438
441
|
variant: "destructive",
|
|
439
|
-
onClick:
|
|
440
|
-
className:
|
|
441
|
-
children: [/* @__PURE__ */
|
|
442
|
+
onClick: De,
|
|
443
|
+
className: y,
|
|
444
|
+
children: [/* @__PURE__ */ _(ve, { className: "h-icon-sm w-icon-sm" }), T("bigconsole.pipelines.actions.delete", "Delete")]
|
|
442
445
|
})
|
|
443
446
|
]
|
|
444
447
|
})]
|
|
445
448
|
}),
|
|
446
|
-
/* @__PURE__ */
|
|
449
|
+
/* @__PURE__ */ _(pe, {
|
|
447
450
|
className: "max-w-[75ch]",
|
|
448
451
|
children: T("bigconsole.pipelines.view.purpose", "A pipeline chains parsers and a data sink into a repeatable flow. Review its stages here, test it with sample input to confirm the output, then edit the stages or run it to process real data into the connected sink.")
|
|
449
452
|
}),
|
|
450
|
-
/* @__PURE__ */
|
|
453
|
+
/* @__PURE__ */ _(fe, {
|
|
451
454
|
storageKey: "bigconsole-pipeline-view",
|
|
452
455
|
steps: [
|
|
453
|
-
...
|
|
456
|
+
...M ? [{
|
|
454
457
|
id: "test",
|
|
455
458
|
label: T("bigconsole.pipelines.view.nextStepTestLabel", "Test with sample input"),
|
|
456
459
|
description: T("bigconsole.pipelines.view.nextStepTestDescription", "Run the pipeline against a sample to verify each stage."),
|
|
457
460
|
onClick: () => V(!0)
|
|
458
461
|
}] : [],
|
|
459
|
-
...
|
|
462
|
+
...j ? [{
|
|
460
463
|
id: "edit",
|
|
461
464
|
label: T("bigconsole.pipelines.view.nextStepEditLabel", "Edit the stages"),
|
|
462
465
|
description: T("bigconsole.pipelines.view.nextStepEditDescription", "Add, reorder, or configure the parsers in this pipeline."),
|
|
@@ -470,202 +473,90 @@ var v = "min-h-[var(--size-controlHeight-md)]", ue = "rounded-pill bg-bg-sunken
|
|
|
470
473
|
}
|
|
471
474
|
]
|
|
472
475
|
}),
|
|
473
|
-
/* @__PURE__ */
|
|
476
|
+
/* @__PURE__ */ v("div", {
|
|
474
477
|
className: "grid grid-cols-1 gap-section-gap lg:grid-cols-3",
|
|
475
|
-
children: [/* @__PURE__ */
|
|
478
|
+
children: [/* @__PURE__ */ _("div", {
|
|
476
479
|
className: "min-w-0 lg:col-span-2",
|
|
477
|
-
children: /* @__PURE__ */
|
|
478
|
-
|
|
479
|
-
R && R.pipelineId ===
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
"data-testid": "pipeline-stage-timeline",
|
|
484
|
-
children: /* @__PURE__ */ _("div", {
|
|
485
|
-
className: "flex flex-col gap-form-gap",
|
|
486
|
-
children: [
|
|
487
|
-
/* @__PURE__ */ _("dl", {
|
|
488
|
-
className: "grid grid-cols-1 gap-form-gap sm:grid-cols-2",
|
|
489
|
-
children: [
|
|
490
|
-
/* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("dt", {
|
|
491
|
-
className: "text-xs text-text-muted",
|
|
492
|
-
children: T("bigconsole.pipelines.execution.runStatus", "Run status")
|
|
493
|
-
}), /* @__PURE__ */ g("dd", {
|
|
494
|
-
className: "font-medium text-text-primary",
|
|
495
|
-
children: R.status
|
|
496
|
-
})] }),
|
|
497
|
-
/* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("dt", {
|
|
498
|
-
className: "text-xs text-text-muted",
|
|
499
|
-
children: T("bigconsole.pipelines.execution.totalDuration", "Total duration")
|
|
500
|
-
}), /* @__PURE__ */ g("dd", {
|
|
501
|
-
className: "text-text-primary",
|
|
502
|
-
children: R.totalExecutionTimeMs == null ? "—" : `${R.totalExecutionTimeMs} ms`
|
|
503
|
-
})] }),
|
|
504
|
-
/* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("dt", {
|
|
505
|
-
className: "text-xs text-text-muted",
|
|
506
|
-
children: T("bigconsole.pipelines.execution.started", "Started")
|
|
507
|
-
}), /* @__PURE__ */ g("dd", {
|
|
508
|
-
className: "break-words text-text-primary",
|
|
509
|
-
children: new Date(R.startedAt).toLocaleString()
|
|
510
|
-
})] }),
|
|
511
|
-
/* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("dt", {
|
|
512
|
-
className: "text-xs text-text-muted",
|
|
513
|
-
children: T("bigconsole.pipelines.execution.finished", "Finished")
|
|
514
|
-
}), /* @__PURE__ */ g("dd", {
|
|
515
|
-
className: "break-words text-text-primary",
|
|
516
|
-
children: R.completedAt ? new Date(R.completedAt).toLocaleString() : "—"
|
|
517
|
-
})] })
|
|
518
|
-
]
|
|
519
|
-
}),
|
|
520
|
-
/* @__PURE__ */ g("ol", {
|
|
521
|
-
className: "flex flex-col gap-control-gap",
|
|
522
|
-
children: R.stageResults.map((e, t) => /* @__PURE__ */ _("li", {
|
|
523
|
-
className: "min-w-0 rounded-card border border-[var(--color-border-subtle)] bg-bg-sunken p-3",
|
|
524
|
-
children: [
|
|
525
|
-
/* @__PURE__ */ _("div", {
|
|
526
|
-
className: "flex flex-wrap items-center justify-between gap-control-gap",
|
|
527
|
-
children: [/* @__PURE__ */ _("h3", {
|
|
528
|
-
className: "min-w-0 break-words font-medium text-text-primary",
|
|
529
|
-
children: [
|
|
530
|
-
t + 1,
|
|
531
|
-
".",
|
|
532
|
-
" ",
|
|
533
|
-
e.stageName ?? M.stages.find((t) => t.id === e.stageId)?.parserName ?? e.stageId
|
|
534
|
-
]
|
|
535
|
-
}), /* @__PURE__ */ _("span", {
|
|
536
|
-
className: "text-sm text-text-secondary",
|
|
537
|
-
children: [
|
|
538
|
-
e.status,
|
|
539
|
-
" · ",
|
|
540
|
-
e.executionTimeMs,
|
|
541
|
-
" ms"
|
|
542
|
-
]
|
|
543
|
-
})]
|
|
544
|
-
}),
|
|
545
|
-
e.error && /* @__PURE__ */ g("p", {
|
|
546
|
-
className: "mt-2 break-words text-sm text-status-error-text",
|
|
547
|
-
children: e.error
|
|
548
|
-
}),
|
|
549
|
-
e.output != null && /* @__PURE__ */ _("details", {
|
|
550
|
-
className: "mt-2",
|
|
551
|
-
children: [/* @__PURE__ */ g("summary", {
|
|
552
|
-
className: "cursor-pointer text-sm text-text-secondary",
|
|
553
|
-
children: T("bigconsole.pipelines.execution.stageOutput", "Stage output")
|
|
554
|
-
}), /* @__PURE__ */ g("pre", {
|
|
555
|
-
className: "mt-2 max-h-48 overflow-auto rounded-input bg-bg-canvas p-3 text-xs",
|
|
556
|
-
children: JSON.stringify(e.output, null, 2)
|
|
557
|
-
})]
|
|
558
|
-
})
|
|
559
|
-
]
|
|
560
|
-
}, e.id))
|
|
561
|
-
}),
|
|
562
|
-
R.error && /* @__PURE__ */ g("p", {
|
|
563
|
-
role: "alert",
|
|
564
|
-
className: "break-words text-sm text-status-error-text",
|
|
565
|
-
children: R.error
|
|
566
|
-
})
|
|
567
|
-
]
|
|
568
|
-
})
|
|
480
|
+
children: /* @__PURE__ */ v(a, { children: [
|
|
481
|
+
Ne,
|
|
482
|
+
R && R.pipelineId === d && /* @__PURE__ */ _(ie, {
|
|
483
|
+
execution: R,
|
|
484
|
+
stages: N.stages,
|
|
485
|
+
currentActorId: D
|
|
569
486
|
}),
|
|
570
|
-
|
|
487
|
+
Me
|
|
571
488
|
] })
|
|
572
|
-
}), /* @__PURE__ */
|
|
489
|
+
}), /* @__PURE__ */ _("div", {
|
|
573
490
|
className: "min-w-0",
|
|
574
|
-
children: /* @__PURE__ */
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
children: T("bigconsole.pipelines.execution.noHistory", "No execution history yet. Test this pipeline with sample input to inspect its stages.")
|
|
581
|
-
}) : /* @__PURE__ */ g("ol", {
|
|
582
|
-
className: "flex flex-col gap-control-gap",
|
|
583
|
-
children: I.filter((e) => e.pipelineId === l).map((e) => /* @__PURE__ */ g("li", { children: /* @__PURE__ */ _("button", {
|
|
584
|
-
type: "button",
|
|
585
|
-
"aria-pressed": R?.id === e.id,
|
|
586
|
-
onClick: () => z(e),
|
|
587
|
-
className: `flex w-full min-w-0 flex-col gap-1 rounded-button border border-[var(--color-border-subtle)] p-3 text-left ${n} ${R?.id === e.id ? "bg-bg-sunken" : "bg-bg-surface"}`,
|
|
588
|
-
children: [
|
|
589
|
-
/* @__PURE__ */ _("span", {
|
|
590
|
-
className: "flex flex-wrap justify-between gap-2 text-sm font-medium text-text-primary",
|
|
591
|
-
children: [/* @__PURE__ */ g("span", { children: e.status }), /* @__PURE__ */ g("span", { children: e.totalExecutionTimeMs == null ? "—" : `${e.totalExecutionTimeMs} ms` })]
|
|
592
|
-
}),
|
|
593
|
-
/* @__PURE__ */ g("span", {
|
|
594
|
-
className: "break-words text-xs text-text-secondary",
|
|
595
|
-
children: new Date(e.startedAt).toLocaleString()
|
|
596
|
-
}),
|
|
597
|
-
/* @__PURE__ */ g("span", {
|
|
598
|
-
className: "truncate font-mono text-xs text-text-muted",
|
|
599
|
-
title: e.id,
|
|
600
|
-
children: e.id
|
|
601
|
-
})
|
|
602
|
-
]
|
|
603
|
-
}) }, e.id))
|
|
604
|
-
})
|
|
605
|
-
}), /* @__PURE__ */ g(r, {
|
|
491
|
+
children: /* @__PURE__ */ v(a, { children: [/* @__PURE__ */ _(re, {
|
|
492
|
+
executions: je,
|
|
493
|
+
selectedId: R?.id ?? null,
|
|
494
|
+
onSelect: z,
|
|
495
|
+
currentActorId: D
|
|
496
|
+
}), /* @__PURE__ */ _(i, {
|
|
606
497
|
emphasis: "muted",
|
|
607
498
|
headingLevel: 2,
|
|
608
499
|
title: T("bigconsole.pipelines.view.detailsHeading", "Details"),
|
|
609
500
|
"data-testid": "pipeline-details",
|
|
610
|
-
children: /* @__PURE__ */
|
|
501
|
+
children: /* @__PURE__ */ v("dl", {
|
|
611
502
|
className: "flex flex-col gap-form-gap text-sm",
|
|
612
|
-
children: [/* @__PURE__ */
|
|
503
|
+
children: [/* @__PURE__ */ v("div", {
|
|
613
504
|
className: "flex flex-col gap-3",
|
|
614
505
|
children: [
|
|
615
|
-
/* @__PURE__ */
|
|
506
|
+
/* @__PURE__ */ v("div", { children: [/* @__PURE__ */ _("dt", {
|
|
616
507
|
className: "text-xs text-text-muted",
|
|
617
508
|
children: T("bigconsole.pipelines.view.detailStatus", "Status")
|
|
618
|
-
}), /* @__PURE__ */
|
|
509
|
+
}), /* @__PURE__ */ _("dd", {
|
|
619
510
|
className: "mt-1",
|
|
620
|
-
children: /* @__PURE__ */
|
|
621
|
-
status:
|
|
511
|
+
children: /* @__PURE__ */ _(l, {
|
|
512
|
+
status: N.status,
|
|
622
513
|
size: "sm"
|
|
623
514
|
})
|
|
624
515
|
})] }),
|
|
625
|
-
/* @__PURE__ */
|
|
516
|
+
/* @__PURE__ */ v("div", { children: [/* @__PURE__ */ _("dt", {
|
|
626
517
|
className: "text-xs text-text-muted",
|
|
627
518
|
children: T("bigconsole.pipelines.view.detailStages", "Stages")
|
|
628
|
-
}), /* @__PURE__ */
|
|
519
|
+
}), /* @__PURE__ */ _("dd", {
|
|
629
520
|
className: "text-text-primary",
|
|
630
521
|
children: Q
|
|
631
522
|
})] }),
|
|
632
|
-
/* @__PURE__ */
|
|
523
|
+
/* @__PURE__ */ v("div", { children: [/* @__PURE__ */ _("dt", {
|
|
633
524
|
className: "text-xs text-text-muted",
|
|
634
525
|
children: T("bigconsole.pipelines.view.detailLastExecuted", "Last Executed")
|
|
635
|
-
}), /* @__PURE__ */
|
|
526
|
+
}), /* @__PURE__ */ _("dd", {
|
|
636
527
|
className: "break-words text-text-primary",
|
|
637
|
-
children:
|
|
528
|
+
children: N.lastExecutedAt ? new Date(N.lastExecutedAt).toLocaleString(void 0, {
|
|
638
529
|
dateStyle: "medium",
|
|
639
530
|
timeStyle: "short"
|
|
640
531
|
}) : T("bigconsole.pipelines.view.detailNever", "Never")
|
|
641
532
|
})] })
|
|
642
533
|
]
|
|
643
|
-
}), /* @__PURE__ */
|
|
534
|
+
}), /* @__PURE__ */ v("div", {
|
|
644
535
|
className: "flex flex-col gap-3 border-t border-[var(--color-border-subtle)] pt-form-gap",
|
|
645
536
|
children: [
|
|
646
|
-
/* @__PURE__ */
|
|
537
|
+
/* @__PURE__ */ v("div", { children: [/* @__PURE__ */ _("dt", {
|
|
647
538
|
className: "text-xs text-text-muted",
|
|
648
539
|
children: T("bigconsole.pipelines.view.detailVersion", "Version")
|
|
649
|
-
}), /* @__PURE__ */
|
|
540
|
+
}), /* @__PURE__ */ _("dd", {
|
|
650
541
|
className: "text-text-primary",
|
|
651
|
-
children:
|
|
542
|
+
children: N.version
|
|
652
543
|
})] }),
|
|
653
|
-
/* @__PURE__ */
|
|
544
|
+
/* @__PURE__ */ v("div", { children: [/* @__PURE__ */ _("dt", {
|
|
654
545
|
className: "text-xs text-text-muted",
|
|
655
546
|
children: T("bigconsole.pipelines.view.detailCreated", "Created")
|
|
656
|
-
}), /* @__PURE__ */
|
|
547
|
+
}), /* @__PURE__ */ _("dd", {
|
|
657
548
|
className: "break-words text-text-primary",
|
|
658
|
-
children: new Date(
|
|
549
|
+
children: new Date(N.createdAt).toLocaleString(void 0, {
|
|
659
550
|
dateStyle: "medium",
|
|
660
551
|
timeStyle: "short"
|
|
661
552
|
})
|
|
662
553
|
})] }),
|
|
663
|
-
/* @__PURE__ */
|
|
554
|
+
/* @__PURE__ */ v("div", { children: [/* @__PURE__ */ _("dt", {
|
|
664
555
|
className: "text-xs text-text-muted",
|
|
665
556
|
children: T("bigconsole.pipelines.view.detailUpdated", "Updated")
|
|
666
|
-
}), /* @__PURE__ */
|
|
557
|
+
}), /* @__PURE__ */ _("dd", {
|
|
667
558
|
className: "break-words text-text-primary",
|
|
668
|
-
children: new Date(
|
|
559
|
+
children: new Date(N.updatedAt).toLocaleString(void 0, {
|
|
669
560
|
dateStyle: "medium",
|
|
670
561
|
timeStyle: "short"
|
|
671
562
|
})
|
|
@@ -676,11 +567,11 @@ var v = "min-h-[var(--size-controlHeight-md)]", ue = "rounded-pill bg-bg-sunken
|
|
|
676
567
|
})] })
|
|
677
568
|
})]
|
|
678
569
|
})
|
|
679
|
-
] }),
|
|
680
|
-
pipeline:
|
|
681
|
-
isOpen:
|
|
570
|
+
] }), N && /* @__PURE__ */ _(te, {
|
|
571
|
+
pipeline: N,
|
|
572
|
+
isOpen: Ee,
|
|
682
573
|
onClose: U,
|
|
683
|
-
onConfirm:
|
|
574
|
+
onConfirm: Oe
|
|
684
575
|
})]
|
|
685
576
|
});
|
|
686
577
|
});
|