@burdenoff/microfe-bigconsole 2026.1012.4 → 2026.1012.6
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/BigConsoleRoutes.js +149 -140
- package/dist/bigconsole/assistant/assistantProduct.js +4 -1
- package/dist/bigconsole/assistant/displayCopy.d.ts +32 -0
- package/dist/bigconsole/assistant/pageContext.d.ts +14 -0
- package/dist/bigconsole/assistant/pageContext.js +6 -1
- package/dist/bigconsole/assistant/pageControls.d.ts +81 -0
- package/dist/bigconsole/assistant/pageControls.js +169 -0
- package/dist/bigconsole/assistant/previewControl.d.ts +16 -0
- package/dist/bigconsole/assistant/previewControl.js +10 -0
- package/dist/bigconsole/assistant/recordAdapters.js +27 -26
- package/dist/bigconsole/assistant/usePreviewControl.d.ts +2 -0
- package/dist/bigconsole/assistant/usePreviewControl.js +20 -0
- package/dist/bigconsole/components/builder/inspector/AppearanceSection.js +9 -9
- package/dist/bigconsole/components/builder/inspector/DataBindingSection.js +31 -31
- package/dist/bigconsole/components/common/SortBySelect.d.ts +11 -0
- package/dist/bigconsole/components/common/SortBySelect.js +29 -0
- package/dist/bigconsole/components/common/index.d.ts +1 -0
- package/dist/bigconsole/components/common/index.js +1 -0
- package/dist/bigconsole/components/dashboard/CreateDashboardDialog.js +44 -44
- package/dist/bigconsole/components/dashboard/DashboardCanvas.js +36 -36
- package/dist/bigconsole/components/dashboard/DashboardToolbar.js +59 -59
- package/dist/bigconsole/components/dashboard/DrilldownBreadcrumb.js +15 -15
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterChip.js +30 -30
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterEditor.js +41 -41
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterPresetSelector.js +34 -34
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/GlobalFiltersBar.js +34 -34
- package/dist/bigconsole/components/dashboard/ImportDashboardDialog.js +153 -153
- package/dist/bigconsole/components/dashboard/PublishToStoreDialog.js +21 -21
- package/dist/bigconsole/components/dashboard/SavedViewsDropdown/SavedViewsDropdown.js +46 -46
- package/dist/bigconsole/components/dashboard/ShareDialog/EmbedTab.js +134 -134
- package/dist/bigconsole/components/dashboard/ShareDialog/ShareDialog.js +101 -101
- package/dist/bigconsole/components/dashboard/TemplateInstallOptions.js +31 -31
- package/dist/bigconsole/components/dashboard/TemplateLayoutPreview.js +15 -15
- package/dist/bigconsole/components/dashboard/TemplatePicker/TemplatePicker.js +1 -1
- package/dist/bigconsole/components/dashboard/WidgetPalette.js +46 -46
- package/dist/bigconsole/components/datasink/AlertExecutionHistory.js +37 -37
- package/dist/bigconsole/components/datasink/AlertRuleEditor.js +66 -66
- package/dist/bigconsole/components/datasink/CacheTTLSelector.js +35 -35
- package/dist/bigconsole/components/datasink/DataSinkCard.js +51 -50
- package/dist/bigconsole/components/datasink/DataSinkDeleteDialog.js +18 -18
- package/dist/bigconsole/components/datasink/DataSinkRefreshDialog.js +20 -20
- package/dist/bigconsole/components/datasink/ImportDataGuideDialog.js +47 -47
- package/dist/bigconsole/components/datasink/ImportDataSinkDialog.js +91 -91
- package/dist/bigconsole/components/datasink/RefreshTypeSelector.js +35 -35
- package/dist/bigconsole/components/parser/DataSinkSelector.js +40 -40
- package/dist/bigconsole/components/parser/ImportParserDialog.js +120 -120
- package/dist/bigconsole/components/parser/ParserSelector.js +51 -51
- package/dist/bigconsole/components/pipeline/PipelineScopePicker.js +10 -10
- package/dist/bigconsole/components/preview/AiPreviewContent.js +0 -1
- package/dist/bigconsole/components/preview/AiPreviewMiniPanel.js +77 -76
- package/dist/bigconsole/components/preview/AiPreviewPanel.js +96 -95
- package/dist/bigconsole/components/widgets/ActionConfigDialog.js +4 -4
- package/dist/bigconsole/components/widgets/DrilldownConfigPanel.js +93 -93
- package/dist/bigconsole/components/widgets/PropertiesPanel.js +507 -499
- package/dist/bigconsole/components/widgets/advanced/AdvancedWidgetConfig.js +14 -14
- package/dist/bigconsole/components/widgets/advanced/AdvancedWidgets.js +68 -67
- package/dist/bigconsole/components/widgets/advanced/boxPlotDescription.d.ts +7 -0
- package/dist/bigconsole/components/widgets/advanced/boxPlotDescription.js +12 -0
- package/dist/bigconsole/components/widgets/calendar/CalendarWidget.js +4 -4
- package/dist/bigconsole/components/widgets/chart/ChartConfig.js +48 -48
- package/dist/bigconsole/components/widgets/comments/WidgetComments.js +46 -46
- package/dist/bigconsole/components/widgets/event-logs/EventLogViewer.js +61 -61
- package/dist/bigconsole/components/widgets/form/FormWidget.js +36 -36
- package/dist/bigconsole/components/widgets/gauge/GaugeConfig.js +42 -42
- package/dist/bigconsole/components/widgets/heatmap/HeatmapConfig.js +25 -25
- package/dist/bigconsole/components/widgets/kanban/KanbanWidget.js +4 -4
- package/dist/bigconsole/components/widgets/list/ListConfig.js +30 -30
- package/dist/bigconsole/components/widgets/metric-card/MetricCardConfig.js +38 -38
- package/dist/bigconsole/components/widgets/metric-card/SparklineChart.js +9 -9
- package/dist/bigconsole/components/widgets/metric-card/TrendIndicator.js +9 -9
- package/dist/bigconsole/components/widgets/pivot-table/PivotTableWidget.js +49 -49
- package/dist/bigconsole/components/widgets/progress/ProgressConfig.js +39 -39
- package/dist/bigconsole/components/widgets/table/TableConfig.js +73 -73
- package/dist/bigconsole/components/widgets/webhook-config/WebhookConfigPanel.js +64 -64
- package/dist/bigconsole/components/workflow/WorkflowOpenGuard.js +15 -15
- package/dist/bigconsole/components/workflow/WorkflowSinkLinkForm.js +15 -15
- package/dist/bigconsole/constants/backendErrors.js +94 -0
- package/dist/bigconsole/customWidget/CustomWidgetBuilderSheet.js +10 -10
- package/dist/bigconsole/customWidget/CustomWidgetProposalPanel.js +67 -67
- package/dist/bigconsole/hooks/useDashboardLayoutBaseline.d.ts +14 -0
- package/dist/bigconsole/hooks/useDashboardLayoutBaseline.js +32 -0
- package/dist/bigconsole/hooks/useDataSinkAlerts.d.ts +23 -0
- package/dist/bigconsole/hooks/useDataSinkAlerts.js +138 -113
- package/dist/bigconsole/hooks/useDrilldown.js +3 -3
- package/dist/bigconsole/hooks/useGlobalFilters.js +3 -3
- package/dist/bigconsole/pages/AdminPage.js +130 -130
- package/dist/bigconsole/pages/DashboardBuilderPage.js +72 -60
- package/dist/bigconsole/pages/DashboardViewPage.js +244 -221
- package/dist/bigconsole/pages/DashboardsPage.js +269 -221
- package/dist/bigconsole/pages/DataParsersPage.js +180 -157
- package/dist/bigconsole/pages/DataSinkAlertsPage.js +62 -55
- package/dist/bigconsole/pages/DataSinkBuilderPage.js +252 -234
- package/dist/bigconsole/pages/DataSinkViewPage.js +1 -1
- package/dist/bigconsole/pages/DataSinksPage.js +335 -299
- package/dist/bigconsole/pages/DataSourcesPage.js +5 -5
- package/dist/bigconsole/pages/InsightsPage.js +279 -265
- package/dist/bigconsole/pages/OverviewPage.js +47 -47
- package/dist/bigconsole/pages/ParserBuilderPage.js +229 -213
- package/dist/bigconsole/pages/ParserViewPage.js +97 -97
- package/dist/bigconsole/pages/PipelineBuilderPage.js +256 -214
- package/dist/bigconsole/pages/PipelineViewPage.js +146 -146
- package/dist/bigconsole/pages/PipelinesPage.js +107 -88
- package/dist/bigconsole/pages/SettingsPage.js +179 -173
- package/dist/bigconsole/pages/WidgetDemoPage.js +42 -42
- package/dist/bigconsole/pages/WorkflowViewPage.js +1 -1
- package/dist/bigconsole/pages/WorkflowsPage.js +141 -141
- package/dist/bigconsole/providers/BigConsoleQuotaProvider.js +12 -12
- package/dist/bigconsole/renderers/adapters/AdaptiveCardRenderer.js +34 -34
- package/dist/bigconsole/renderers/adapters/BlockKitRenderer.js +69 -69
- package/dist/bigconsole/renderers/adapters/CustomRenderer.js +46 -46
- package/dist/bigconsole/store/widgetStore.d.ts +12 -0
- package/dist/bigconsole/store/widgetStore.js +3 -1
- package/dist/bigconsole/utils/backendError.d.ts +18 -0
- package/dist/bigconsole/utils/backendError.js +42 -0
- package/dist/bigconsole/utils/dashboardList.d.ts +28 -0
- package/dist/bigconsole/utils/dashboardList.js +15 -0
- package/dist/bigconsole/utils/dataSinkList.d.ts +15 -0
- package/dist/bigconsole/utils/dataSinkList.js +15 -0
- package/dist/bigconsole/utils/formDirty.d.ts +82 -0
- package/dist/bigconsole/utils/formDirty.js +21 -0
- package/dist/bigconsole/utils/insightsDraft.d.ts +29 -0
- package/dist/bigconsole/utils/insightsDraft.js +8 -0
- package/dist/bigconsole/utils/layoutBaseline.d.ts +130 -0
- package/dist/bigconsole/utils/layoutBaseline.js +96 -0
- package/dist/bigconsole/utils/listSort.d.ts +80 -0
- package/dist/bigconsole/utils/listSort.js +85 -0
- package/dist/bigconsole/utils/widgetFormDirty.d.ts +16 -0
- package/dist/bigconsole/utils/widgetFormDirty.js +13 -0
- package/dist/bigconsole/workflowOpen.js +15 -14
- package/package.json +3 -3
|
@@ -6,83 +6,85 @@ import "../components/common/index.js";
|
|
|
6
6
|
import i from "../hooks/useParserOperations.js";
|
|
7
7
|
import ee from "../hooks/usePipelineOperations.js";
|
|
8
8
|
import { BIGCONSOLE_PERMISSIONS as a } from "../../constants/permissions.js";
|
|
9
|
-
import {
|
|
10
|
-
import ne from "../components/pipeline/
|
|
11
|
-
import
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
9
|
+
import { isDirty as te } from "../utils/formDirty.js";
|
|
10
|
+
import { PipelineScopePicker as ne } from "../components/pipeline/PipelineScopePicker.js";
|
|
11
|
+
import re from "../components/pipeline/PipelineStatusBadge.js";
|
|
12
|
+
import { memo as o, useCallback as s, useEffect as ie, useId as ae, useMemo as oe, useState as c } from "react";
|
|
13
|
+
import { useParams as se, useSearchParams as ce } from "react-router";
|
|
14
|
+
import { AccessDenied as le } from "@burdenoff/fe-libs/shared/components";
|
|
15
|
+
import { usePermissions as ue } from "@burdenoff/fe-libs/shared/providers/shell";
|
|
16
|
+
import { Button as l, IllustratedEmptyState as de, PagePurpose as fe, Spinner as pe } from "@burdenoff/fe-libs/ui";
|
|
17
|
+
import { useUnsavedChanges as me } from "@burdenoff/fe-libs/shared/hooks";
|
|
18
|
+
import { useI18n as he } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
|
|
19
|
+
import { Fragment as ge, jsx as u, jsxs as d } from "react/jsx-runtime";
|
|
18
20
|
//#region src/bigconsole/pages/PipelineBuilderPage.tsx
|
|
19
|
-
var
|
|
21
|
+
var f = "min-h-[var(--size-controlHeight-md)]", p = "mb-1 block text-sm font-medium text-text-primary", m = "mt-1 text-xs text-text-secondary", h = "mb-1 text-xs font-semibold uppercase tracking-wide text-text-muted", g = `w-full min-w-0 rounded-input border border-[var(--color-border-subtle)] bg-bg-canvas px-3 py-2 text-sm text-text-primary ${t}`, _ = `${g} font-mono`, v = `inline-flex h-10 w-10 shrink-0 items-center justify-center rounded-button text-text-secondary motion-safe:transition-colors disabled:opacity-30 ${t}`, y = `${v} hover:bg-bg-surface hover:text-text-primary`, _e = `${v} hover:bg-[var(--color-status-error-bgSubtle)] hover:text-status-error-text`, ve = ({ className: e }) => /* @__PURE__ */ u("svg", {
|
|
20
22
|
className: e,
|
|
21
23
|
fill: "none",
|
|
22
24
|
stroke: "currentColor",
|
|
23
25
|
viewBox: "0 0 24 24",
|
|
24
|
-
children: /* @__PURE__ */
|
|
26
|
+
children: /* @__PURE__ */ u("path", {
|
|
25
27
|
strokeLinecap: "round",
|
|
26
28
|
strokeLinejoin: "round",
|
|
27
29
|
strokeWidth: 2,
|
|
28
30
|
d: "M10 19l-7-7m0 0l7-7m-7 7h18"
|
|
29
31
|
})
|
|
30
|
-
}), b = ({ className: e }) => /* @__PURE__ */
|
|
32
|
+
}), b = ({ className: e }) => /* @__PURE__ */ u("svg", {
|
|
31
33
|
className: e,
|
|
32
34
|
fill: "none",
|
|
33
35
|
stroke: "currentColor",
|
|
34
36
|
viewBox: "0 0 24 24",
|
|
35
|
-
children: /* @__PURE__ */
|
|
37
|
+
children: /* @__PURE__ */ u("path", {
|
|
36
38
|
strokeLinecap: "round",
|
|
37
39
|
strokeLinejoin: "round",
|
|
38
40
|
strokeWidth: 2,
|
|
39
41
|
d: "M12 4v16m8-8H4"
|
|
40
42
|
})
|
|
41
|
-
}),
|
|
43
|
+
}), ye = ({ className: e }) => /* @__PURE__ */ u("svg", {
|
|
42
44
|
className: e,
|
|
43
45
|
fill: "none",
|
|
44
46
|
stroke: "currentColor",
|
|
45
47
|
viewBox: "0 0 24 24",
|
|
46
|
-
children: /* @__PURE__ */
|
|
48
|
+
children: /* @__PURE__ */ u("path", {
|
|
47
49
|
strokeLinecap: "round",
|
|
48
50
|
strokeLinejoin: "round",
|
|
49
51
|
strokeWidth: 2,
|
|
50
52
|
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"
|
|
51
53
|
})
|
|
52
|
-
}),
|
|
54
|
+
}), be = ({ className: e }) => /* @__PURE__ */ u("svg", {
|
|
53
55
|
className: e,
|
|
54
56
|
fill: "none",
|
|
55
57
|
stroke: "currentColor",
|
|
56
58
|
viewBox: "0 0 24 24",
|
|
57
|
-
children: /* @__PURE__ */
|
|
59
|
+
children: /* @__PURE__ */ u("path", {
|
|
58
60
|
strokeLinecap: "round",
|
|
59
61
|
strokeLinejoin: "round",
|
|
60
62
|
strokeWidth: 2,
|
|
61
63
|
d: "M5 15l7-7 7 7"
|
|
62
64
|
})
|
|
63
|
-
}),
|
|
65
|
+
}), xe = ({ className: e }) => /* @__PURE__ */ u("svg", {
|
|
64
66
|
className: e,
|
|
65
67
|
fill: "none",
|
|
66
68
|
stroke: "currentColor",
|
|
67
69
|
viewBox: "0 0 24 24",
|
|
68
|
-
children: /* @__PURE__ */
|
|
70
|
+
children: /* @__PURE__ */ u("path", {
|
|
69
71
|
strokeLinecap: "round",
|
|
70
72
|
strokeLinejoin: "round",
|
|
71
73
|
strokeWidth: 2,
|
|
72
74
|
d: "M19 9l-7 7-7-7"
|
|
73
75
|
})
|
|
74
|
-
}), x = ({ className: e }) => /* @__PURE__ */
|
|
76
|
+
}), x = ({ className: e }) => /* @__PURE__ */ u("svg", {
|
|
75
77
|
className: e,
|
|
76
78
|
fill: "none",
|
|
77
79
|
stroke: "currentColor",
|
|
78
80
|
viewBox: "0 0 24 24",
|
|
79
|
-
children: /* @__PURE__ */
|
|
81
|
+
children: /* @__PURE__ */ u("path", {
|
|
80
82
|
strokeLinecap: "round",
|
|
81
83
|
strokeLinejoin: "round",
|
|
82
84
|
strokeWidth: 2,
|
|
83
85
|
d: "M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"
|
|
84
86
|
})
|
|
85
|
-
}),
|
|
87
|
+
}), Se = [
|
|
86
88
|
{
|
|
87
89
|
value: "draft",
|
|
88
90
|
label: "Draft"
|
|
@@ -111,7 +113,7 @@ var p = "min-h-[var(--size-controlHeight-md)]", m = "mb-1 block text-sm font-med
|
|
|
111
113
|
label: "Fallback",
|
|
112
114
|
description: "Use fallback value on error"
|
|
113
115
|
}
|
|
114
|
-
],
|
|
116
|
+
], Ce = {
|
|
115
117
|
parserId: "",
|
|
116
118
|
parserName: "",
|
|
117
119
|
parserType: null,
|
|
@@ -122,49 +124,77 @@ var p = "min-h-[var(--size-controlHeight-md)]", m = "mb-1 block text-sm font-med
|
|
|
122
124
|
fallbackValue: "",
|
|
123
125
|
description: ""
|
|
124
126
|
}, C = o(function() {
|
|
125
|
-
let { t: o } =
|
|
127
|
+
let { t: o } = he(), { pipelineId: v } = se(), C = e(), w = !!v && v !== "new", [T, we] = ce(), [E, Te] = c(null), D = w ? E ?? "default" : T.get("consoleId") || "default", O = ae(), { hasPermission: k, isLoading: Ee } = ue(), De = k(a.PIPELINE_READ), Oe = k(a.PIPELINE_CREATE), ke = k(a.PIPELINE_UPDATE), A = w ? ke : Oe, [j, M] = c(""), [N, P] = c(""), [F, I] = c("draft"), [L, R] = c([]), [z, Ae] = c(1), [B, V] = c(!1), [H, U] = c(null), [je, W] = c(w ? null : [
|
|
128
|
+
"",
|
|
129
|
+
"",
|
|
130
|
+
"draft",
|
|
131
|
+
[],
|
|
132
|
+
1
|
|
133
|
+
]);
|
|
134
|
+
me({
|
|
135
|
+
id: "pipeline-editor",
|
|
136
|
+
label: o("bigconsole.assistant.unsaved.pipelineEditor", "the pipeline editor"),
|
|
137
|
+
dirty: te([
|
|
138
|
+
j,
|
|
139
|
+
N,
|
|
140
|
+
F,
|
|
141
|
+
L,
|
|
142
|
+
z
|
|
143
|
+
], je)
|
|
144
|
+
});
|
|
145
|
+
let { loading: Me, error: G, fetchPipeline: K, createPipeline: q, updatePipeline: J } = ee({
|
|
126
146
|
consoleId: D,
|
|
127
147
|
skipFetch: !0
|
|
128
|
-
}), { parsers:
|
|
148
|
+
}), { parsers: Y } = i({
|
|
129
149
|
consoleId: D,
|
|
130
150
|
skipFetch: w && !E
|
|
131
151
|
});
|
|
132
|
-
|
|
133
|
-
w && v &&
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
152
|
+
ie(() => {
|
|
153
|
+
w && v && K(v).then((e) => {
|
|
154
|
+
if (e) {
|
|
155
|
+
Te(e.consoleId), M(e.name), P(e.description || ""), I(e.status), Ae(e.version);
|
|
156
|
+
let t = (e.stages || []).map((e) => ({
|
|
157
|
+
id: e.id,
|
|
158
|
+
parserId: e.parserId,
|
|
159
|
+
parserName: e.parserName || "",
|
|
160
|
+
parserType: e.parserType,
|
|
161
|
+
inputKey: e.inputKey,
|
|
162
|
+
outputKey: e.outputKey,
|
|
163
|
+
enabled: e.enabled,
|
|
164
|
+
onError: e.onError,
|
|
165
|
+
fallbackValue: e.fallbackValue ? JSON.stringify(e.fallbackValue) : "",
|
|
166
|
+
description: e.description || ""
|
|
167
|
+
}));
|
|
168
|
+
R(t), W([
|
|
169
|
+
e.name,
|
|
170
|
+
e.description || "",
|
|
171
|
+
e.status,
|
|
172
|
+
t,
|
|
173
|
+
e.version
|
|
174
|
+
]);
|
|
175
|
+
}
|
|
146
176
|
});
|
|
147
177
|
}, [
|
|
148
178
|
w,
|
|
149
179
|
v,
|
|
150
|
-
|
|
180
|
+
K
|
|
151
181
|
]);
|
|
152
|
-
let
|
|
182
|
+
let Ne = {
|
|
153
183
|
draft: o("bigconsole.pipelines.builder.status.draft", "Draft"),
|
|
154
184
|
active: o("bigconsole.pipelines.builder.status.active", "Active"),
|
|
155
185
|
inactive: o("bigconsole.pipelines.builder.status.inactive", "Inactive"),
|
|
156
186
|
error: o("bigconsole.pipelines.builder.status.error", "Error")
|
|
157
|
-
},
|
|
187
|
+
}, Pe = {
|
|
158
188
|
fail: o("bigconsole.pipelines.builder.onError.fail", "Fail"),
|
|
159
189
|
skip: o("bigconsole.pipelines.builder.onError.skip", "Skip"),
|
|
160
190
|
fallback: o("bigconsole.pipelines.builder.onError.fallback", "Fallback")
|
|
161
|
-
},
|
|
191
|
+
}, X = oe(() => !j.trim() || L.length === 0 ? !1 : L.every((e) => e.parserId && e.inputKey && e.outputKey), [j, L]), Z = oe(() => j.trim() ? L.length === 0 ? "Add at least one stage to save this pipeline." : L.every((e) => e.parserId && e.inputKey && e.outputKey) ? null : "Every stage needs a parser, an input key and an output key." : "Give the pipeline a name to save it.", [j, L]), Q = s(() => {
|
|
162
192
|
C(`/pipelines?consoleId=${encodeURIComponent(D)}`);
|
|
163
|
-
}, [C, D]),
|
|
164
|
-
R((e) => [...e, { ...
|
|
165
|
-
}, []),
|
|
193
|
+
}, [C, D]), Fe = s(() => {
|
|
194
|
+
R((e) => [...e, { ...Ce }]);
|
|
195
|
+
}, []), Ie = s((e) => {
|
|
166
196
|
R((t) => t.filter((t, n) => n !== e));
|
|
167
|
-
}, []),
|
|
197
|
+
}, []), Le = s((e, t) => {
|
|
168
198
|
R((n) => {
|
|
169
199
|
let r = [...n], i = t === "up" ? e - 1 : e + 1;
|
|
170
200
|
return i < 0 || i >= r.length ? n : ([r[e], r[i]] = [r[i], r[e]], r);
|
|
@@ -174,15 +204,15 @@ var p = "min-h-[var(--size-controlHeight-md)]", m = "mb-1 block text-sm font-med
|
|
|
174
204
|
...n,
|
|
175
205
|
...t
|
|
176
206
|
} : n));
|
|
177
|
-
}, []),
|
|
178
|
-
let n =
|
|
207
|
+
}, []), Re = s((e, t) => {
|
|
208
|
+
let n = Y.find((e) => e.id === t);
|
|
179
209
|
n && $(e, {
|
|
180
210
|
parserId: n.id,
|
|
181
211
|
parserName: n.name,
|
|
182
212
|
parserType: n.type
|
|
183
213
|
});
|
|
184
|
-
}, [
|
|
185
|
-
if (!(!
|
|
214
|
+
}, [Y, $]), ze = s(async () => {
|
|
215
|
+
if (!(!X || !D || !A)) {
|
|
186
216
|
V(!0), U(null);
|
|
187
217
|
try {
|
|
188
218
|
let e = L.map((e) => ({
|
|
@@ -196,20 +226,32 @@ var p = "min-h-[var(--size-controlHeight-md)]", m = "mb-1 block text-sm font-med
|
|
|
196
226
|
fallbackValue: e.fallbackValue ? JSON.parse(e.fallbackValue) : void 0,
|
|
197
227
|
description: e.description || void 0
|
|
198
228
|
}));
|
|
199
|
-
if (w && v) await
|
|
229
|
+
if (w && v) await J(v, {
|
|
200
230
|
name: j,
|
|
201
231
|
description: N || void 0,
|
|
202
232
|
status: F
|
|
203
|
-
}, z) &&
|
|
233
|
+
}, z) && (W([
|
|
234
|
+
j,
|
|
235
|
+
N,
|
|
236
|
+
F,
|
|
237
|
+
L,
|
|
238
|
+
z
|
|
239
|
+
]), C(`/pipelines/${v}`));
|
|
204
240
|
else {
|
|
205
|
-
let t = await
|
|
241
|
+
let t = await q({
|
|
206
242
|
consoleId: D,
|
|
207
243
|
name: j,
|
|
208
244
|
description: N || void 0,
|
|
209
245
|
status: F,
|
|
210
246
|
stages: e
|
|
211
247
|
});
|
|
212
|
-
t &&
|
|
248
|
+
t && (W([
|
|
249
|
+
j,
|
|
250
|
+
N,
|
|
251
|
+
F,
|
|
252
|
+
L,
|
|
253
|
+
z
|
|
254
|
+
]), C(`/pipelines/${t.id}`));
|
|
213
255
|
}
|
|
214
256
|
} catch (e) {
|
|
215
257
|
U(e instanceof Error ? e.message : o("bigconsole.pipelines.builder.errors.saveFailed", "Failed to save pipeline"));
|
|
@@ -218,7 +260,7 @@ var p = "min-h-[var(--size-controlHeight-md)]", m = "mb-1 block text-sm font-med
|
|
|
218
260
|
}
|
|
219
261
|
}
|
|
220
262
|
}, [
|
|
221
|
-
|
|
263
|
+
X,
|
|
222
264
|
D,
|
|
223
265
|
A,
|
|
224
266
|
w,
|
|
@@ -228,138 +270,138 @@ var p = "min-h-[var(--size-controlHeight-md)]", m = "mb-1 block text-sm font-med
|
|
|
228
270
|
F,
|
|
229
271
|
L,
|
|
230
272
|
z,
|
|
231
|
-
K,
|
|
232
273
|
q,
|
|
274
|
+
J,
|
|
233
275
|
C,
|
|
234
276
|
o
|
|
235
277
|
]);
|
|
236
|
-
return
|
|
278
|
+
return Me && w ? /* @__PURE__ */ u("div", {
|
|
237
279
|
className: "p-card-padding",
|
|
238
|
-
children: /* @__PURE__ */
|
|
280
|
+
children: /* @__PURE__ */ d("div", {
|
|
239
281
|
className: "flex flex-col items-center justify-center py-16",
|
|
240
282
|
role: "status",
|
|
241
|
-
children: [/* @__PURE__ */
|
|
283
|
+
children: [/* @__PURE__ */ u(pe, { style: {
|
|
242
284
|
height: "var(--size-icon-xl)",
|
|
243
285
|
width: "var(--size-icon-xl)"
|
|
244
|
-
} }), /* @__PURE__ */
|
|
286
|
+
} }), /* @__PURE__ */ u("p", {
|
|
245
287
|
className: "mt-form-gap text-sm text-text-secondary",
|
|
246
288
|
children: o("bigconsole.pipelines.builder.loading", "Loading Pipeline...")
|
|
247
289
|
})]
|
|
248
290
|
})
|
|
249
|
-
}) : w && !
|
|
291
|
+
}) : w && !Ee && !De ? /* @__PURE__ */ u(le, {
|
|
250
292
|
title: o("bigconsole.pipelines.builder.accessDenied.title", "Access Denied"),
|
|
251
293
|
description: o("bigconsole.pipelines.builder.accessDenied.description", "You don't have permission to view this pipeline.")
|
|
252
|
-
}) :
|
|
294
|
+
}) : G ? /* @__PURE__ */ u("div", {
|
|
253
295
|
className: "p-card-padding",
|
|
254
|
-
children: /* @__PURE__ */
|
|
296
|
+
children: /* @__PURE__ */ u(n, {
|
|
255
297
|
tone: "danger",
|
|
256
298
|
headingLevel: 2,
|
|
257
299
|
title: o("bigconsole.pipelines.builder.errors.loadFailed", "Failed to load Pipeline"),
|
|
258
|
-
description:
|
|
259
|
-
icon: /* @__PURE__ */
|
|
260
|
-
actions: /* @__PURE__ */
|
|
261
|
-
onClick:
|
|
262
|
-
className:
|
|
300
|
+
description: G.message,
|
|
301
|
+
icon: /* @__PURE__ */ u(x, { className: "h-icon-sm w-icon-sm" }),
|
|
302
|
+
actions: /* @__PURE__ */ u(l, {
|
|
303
|
+
onClick: Q,
|
|
304
|
+
className: f,
|
|
263
305
|
children: o("bigconsole.pipelines.builder.actions.backToPipelines", "Back to Pipelines")
|
|
264
306
|
}),
|
|
265
307
|
"data-testid": "pipeline-builder-error",
|
|
266
|
-
children: /* @__PURE__ */
|
|
308
|
+
children: /* @__PURE__ */ u("p", {
|
|
267
309
|
className: "text-sm text-text-secondary",
|
|
268
310
|
children: "The pipeline could not be read from the console service. Nothing was changed."
|
|
269
311
|
})
|
|
270
312
|
})
|
|
271
|
-
}) : /* @__PURE__ */
|
|
313
|
+
}) : /* @__PURE__ */ u("div", {
|
|
272
314
|
className: "p-card-padding",
|
|
273
|
-
children: /* @__PURE__ */
|
|
274
|
-
/* @__PURE__ */
|
|
315
|
+
children: /* @__PURE__ */ d(r, { children: [
|
|
316
|
+
/* @__PURE__ */ d("header", {
|
|
275
317
|
className: "flex flex-col gap-form-gap sm:flex-row sm:items-start sm:justify-between",
|
|
276
|
-
children: [/* @__PURE__ */
|
|
318
|
+
children: [/* @__PURE__ */ d("div", {
|
|
277
319
|
className: "flex min-w-0 flex-col gap-control-gap",
|
|
278
|
-
children: [/* @__PURE__ */
|
|
320
|
+
children: [/* @__PURE__ */ d(l, {
|
|
279
321
|
variant: "ghost",
|
|
280
322
|
size: "sm",
|
|
281
|
-
onClick:
|
|
323
|
+
onClick: Q,
|
|
282
324
|
className: "w-fit",
|
|
283
|
-
children: [/* @__PURE__ */
|
|
284
|
-
}), /* @__PURE__ */
|
|
325
|
+
children: [/* @__PURE__ */ u(ve, { className: "h-icon-sm w-icon-sm" }), o("bigconsole.pipelines.builder.actions.backToPipelines", "Back to Pipelines")]
|
|
326
|
+
}), /* @__PURE__ */ d("div", {
|
|
285
327
|
className: "min-w-0",
|
|
286
|
-
children: [/* @__PURE__ */
|
|
328
|
+
children: [/* @__PURE__ */ u("h1", {
|
|
287
329
|
className: "text-2xl font-bold leading-tight text-text-primary",
|
|
288
330
|
children: w ? o("bigconsole.pipelines.builder.header.editTitle", "Edit Pipeline") : o("bigconsole.pipelines.builder.header.createTitle", "Create Pipeline")
|
|
289
|
-
}), /* @__PURE__ */
|
|
331
|
+
}), /* @__PURE__ */ u("p", {
|
|
290
332
|
className: "mt-1 text-sm text-text-secondary",
|
|
291
333
|
children: w ? o("bigconsole.pipelines.builder.header.editSubtitle", "Update pipeline settings and stages") : o("bigconsole.pipelines.builder.header.createSubtitle", "Create a new data transformation pipeline")
|
|
292
334
|
})]
|
|
293
335
|
})]
|
|
294
|
-
}), /* @__PURE__ */
|
|
336
|
+
}), /* @__PURE__ */ d("div", {
|
|
295
337
|
className: "flex flex-col gap-1 sm:items-end",
|
|
296
|
-
children: [/* @__PURE__ */
|
|
338
|
+
children: [/* @__PURE__ */ d("div", {
|
|
297
339
|
className: "flex flex-wrap items-center gap-control-gap",
|
|
298
|
-
children: [/* @__PURE__ */
|
|
340
|
+
children: [/* @__PURE__ */ u(l, {
|
|
299
341
|
variant: "secondary",
|
|
300
|
-
onClick:
|
|
301
|
-
className:
|
|
342
|
+
onClick: Q,
|
|
343
|
+
className: f,
|
|
302
344
|
children: o("bigconsole.pipelines.builder.actions.cancel", "Cancel")
|
|
303
|
-
}), /* @__PURE__ */
|
|
304
|
-
onClick:
|
|
305
|
-
disabled: !
|
|
345
|
+
}), /* @__PURE__ */ u(l, {
|
|
346
|
+
onClick: ze,
|
|
347
|
+
disabled: !X || B || !A,
|
|
306
348
|
title: A ? void 0 : w ? o("bigconsole.pipelines.builder.actions.noUpdatePermission", "You don't have permission to update pipelines.") : o("bigconsole.pipelines.builder.actions.noCreatePermission", "You don't have permission to create pipelines."),
|
|
307
|
-
className:
|
|
349
|
+
className: f,
|
|
308
350
|
children: B ? o("bigconsole.pipelines.builder.actions.saving", "Saving...") : w ? o("bigconsole.pipelines.builder.actions.saveChanges", "Save Changes") : o("bigconsole.pipelines.builder.actions.createPipeline", "Create Pipeline")
|
|
309
351
|
})]
|
|
310
|
-
}),
|
|
352
|
+
}), Z && /* @__PURE__ */ u("p", {
|
|
311
353
|
className: "text-xs text-text-secondary sm:text-right",
|
|
312
354
|
"data-testid": "pipeline-save-blocked-reason",
|
|
313
|
-
children:
|
|
355
|
+
children: Z
|
|
314
356
|
})]
|
|
315
357
|
})]
|
|
316
358
|
}),
|
|
317
|
-
/* @__PURE__ */
|
|
359
|
+
/* @__PURE__ */ u(fe, {
|
|
318
360
|
className: "max-w-[75ch]",
|
|
319
361
|
children: o("bigconsole.pipelines.builder.header.purpose", "Build a pipeline by chaining parser stages — each stage reads an input key, runs a parser, and writes a structured output key that the next stage (or a data sink) can use. Name it, add your stages in order, then test it before saving so your data flows end to end.")
|
|
320
362
|
}),
|
|
321
|
-
H && /* @__PURE__ */
|
|
363
|
+
H && /* @__PURE__ */ u(n, {
|
|
322
364
|
tone: "danger",
|
|
323
365
|
headingLevel: 2,
|
|
324
366
|
title: o("bigconsole.pipelines.builder.errors.saveFailed", "Failed to save pipeline"),
|
|
325
367
|
description: H,
|
|
326
|
-
icon: /* @__PURE__ */
|
|
368
|
+
icon: /* @__PURE__ */ u(x, { className: "h-icon-sm w-icon-sm" }),
|
|
327
369
|
"data-testid": "pipeline-save-error"
|
|
328
370
|
}),
|
|
329
|
-
/* @__PURE__ */
|
|
371
|
+
/* @__PURE__ */ d("div", {
|
|
330
372
|
className: "grid grid-cols-1 gap-section-gap lg:grid-cols-3",
|
|
331
|
-
children: [/* @__PURE__ */
|
|
373
|
+
children: [/* @__PURE__ */ u("div", {
|
|
332
374
|
className: "min-w-0 lg:col-span-2",
|
|
333
|
-
children: /* @__PURE__ */
|
|
375
|
+
children: /* @__PURE__ */ d(r, { children: [/* @__PURE__ */ u(n, {
|
|
334
376
|
headingLevel: 2,
|
|
335
377
|
title: o("bigconsole.pipelines.builder.basicInfo.heading", "Basic Information"),
|
|
336
378
|
description: "How this pipeline is identified, and whether it runs.",
|
|
337
379
|
"data-testid": "pipeline-basic-info",
|
|
338
|
-
children: /* @__PURE__ */
|
|
380
|
+
children: /* @__PURE__ */ d("div", {
|
|
339
381
|
className: "flex flex-col gap-form-gap",
|
|
340
382
|
children: [
|
|
341
|
-
/* @__PURE__ */
|
|
383
|
+
/* @__PURE__ */ u(ne, {
|
|
342
384
|
value: D,
|
|
343
385
|
disabled: w,
|
|
344
386
|
onChange: (e) => {
|
|
345
387
|
let t = new URLSearchParams(T);
|
|
346
|
-
t.set("consoleId", e),
|
|
388
|
+
t.set("consoleId", e), we(t), R([]);
|
|
347
389
|
}
|
|
348
390
|
}),
|
|
349
|
-
/* @__PURE__ */
|
|
391
|
+
/* @__PURE__ */ d("div", {
|
|
350
392
|
className: "min-w-0",
|
|
351
|
-
children: [/* @__PURE__ */
|
|
393
|
+
children: [/* @__PURE__ */ d("label", {
|
|
352
394
|
htmlFor: `${O}-name`,
|
|
353
|
-
className:
|
|
395
|
+
className: p,
|
|
354
396
|
children: [
|
|
355
397
|
o("bigconsole.pipelines.builder.basicInfo.nameLabel", "Name"),
|
|
356
398
|
" ",
|
|
357
|
-
/* @__PURE__ */
|
|
399
|
+
/* @__PURE__ */ u("span", {
|
|
358
400
|
className: "text-status-error-text",
|
|
359
401
|
children: "*"
|
|
360
402
|
})
|
|
361
403
|
]
|
|
362
|
-
}), /* @__PURE__ */
|
|
404
|
+
}), /* @__PURE__ */ u("input", {
|
|
363
405
|
id: `${O}-name`,
|
|
364
406
|
type: "text",
|
|
365
407
|
value: j,
|
|
@@ -368,13 +410,13 @@ var p = "min-h-[var(--size-controlHeight-md)]", m = "mb-1 block text-sm font-med
|
|
|
368
410
|
className: g
|
|
369
411
|
})]
|
|
370
412
|
}),
|
|
371
|
-
/* @__PURE__ */
|
|
413
|
+
/* @__PURE__ */ d("div", {
|
|
372
414
|
className: "min-w-0",
|
|
373
|
-
children: [/* @__PURE__ */
|
|
415
|
+
children: [/* @__PURE__ */ u("label", {
|
|
374
416
|
htmlFor: `${O}-description`,
|
|
375
|
-
className:
|
|
417
|
+
className: p,
|
|
376
418
|
children: o("bigconsole.pipelines.builder.basicInfo.descriptionLabel", "Description")
|
|
377
|
-
}), /* @__PURE__ */
|
|
419
|
+
}), /* @__PURE__ */ u("textarea", {
|
|
378
420
|
id: `${O}-description`,
|
|
379
421
|
value: N,
|
|
380
422
|
onChange: (e) => P(e.target.value),
|
|
@@ -383,123 +425,123 @@ var p = "min-h-[var(--size-controlHeight-md)]", m = "mb-1 block text-sm font-med
|
|
|
383
425
|
className: `${g} resize-y`
|
|
384
426
|
})]
|
|
385
427
|
}),
|
|
386
|
-
/* @__PURE__ */
|
|
428
|
+
/* @__PURE__ */ d("div", {
|
|
387
429
|
className: "min-w-0 border-t border-[var(--color-border-subtle)] pt-form-gap",
|
|
388
430
|
children: [
|
|
389
|
-
/* @__PURE__ */
|
|
431
|
+
/* @__PURE__ */ u("label", {
|
|
390
432
|
htmlFor: `${O}-status`,
|
|
391
|
-
className:
|
|
433
|
+
className: p,
|
|
392
434
|
children: o("bigconsole.pipelines.builder.basicInfo.statusLabel", "Status")
|
|
393
435
|
}),
|
|
394
|
-
/* @__PURE__ */
|
|
436
|
+
/* @__PURE__ */ u("select", {
|
|
395
437
|
id: `${O}-status`,
|
|
396
438
|
value: F,
|
|
397
439
|
onChange: (e) => I(e.target.value),
|
|
398
440
|
className: g,
|
|
399
|
-
children:
|
|
441
|
+
children: Se.map((e) => /* @__PURE__ */ u("option", {
|
|
400
442
|
value: e.value,
|
|
401
|
-
children:
|
|
443
|
+
children: Ne[e.value]
|
|
402
444
|
}, e.value))
|
|
403
445
|
}),
|
|
404
|
-
/* @__PURE__ */
|
|
405
|
-
className:
|
|
446
|
+
/* @__PURE__ */ u("p", {
|
|
447
|
+
className: m,
|
|
406
448
|
children: "Only active pipelines process incoming data."
|
|
407
449
|
})
|
|
408
450
|
]
|
|
409
451
|
})
|
|
410
452
|
]
|
|
411
453
|
})
|
|
412
|
-
}), /* @__PURE__ */
|
|
454
|
+
}), /* @__PURE__ */ u(n, {
|
|
413
455
|
emphasis: "primary",
|
|
414
456
|
headingLevel: 2,
|
|
415
457
|
title: o("bigconsole.pipelines.builder.stages.heading", "Stages ({{count}})", { count: L.length }),
|
|
416
458
|
description: "Each stage reads an input key, runs a parser, and writes an output key for the next stage.",
|
|
417
|
-
actions: /* @__PURE__ */
|
|
459
|
+
actions: /* @__PURE__ */ d(l, {
|
|
418
460
|
size: "sm",
|
|
419
|
-
onClick:
|
|
420
|
-
className:
|
|
421
|
-
children: [/* @__PURE__ */
|
|
461
|
+
onClick: Fe,
|
|
462
|
+
className: f,
|
|
463
|
+
children: [/* @__PURE__ */ u(b, { className: "h-icon-sm w-icon-sm" }), o("bigconsole.pipelines.builder.stages.addStage", "Add Stage")]
|
|
422
464
|
}),
|
|
423
465
|
"data-testid": "pipeline-stages-editor",
|
|
424
|
-
children: L.length === 0 ? /* @__PURE__ */
|
|
466
|
+
children: L.length === 0 ? /* @__PURE__ */ u(de, {
|
|
425
467
|
illustration: "empty-generic",
|
|
426
468
|
title: o("bigconsole.pipelines.builder.stages.emptyTitle", "No stages yet"),
|
|
427
469
|
description: o("bigconsole.pipelines.builder.stages.emptyDescription", "Add a stage to start building your pipeline."),
|
|
428
|
-
action: /* @__PURE__ */
|
|
429
|
-
onClick:
|
|
430
|
-
className:
|
|
431
|
-
children: [/* @__PURE__ */
|
|
470
|
+
action: /* @__PURE__ */ d(l, {
|
|
471
|
+
onClick: Fe,
|
|
472
|
+
className: f,
|
|
473
|
+
children: [/* @__PURE__ */ u(b, { className: "h-icon-sm w-icon-sm" }), o("bigconsole.pipelines.builder.stages.addFirstStage", "Add First Stage")]
|
|
432
474
|
})
|
|
433
|
-
}) : /* @__PURE__ */
|
|
475
|
+
}) : /* @__PURE__ */ u("ol", {
|
|
434
476
|
className: "flex flex-col gap-form-gap",
|
|
435
|
-
children: L.map((e, r) => /* @__PURE__ */
|
|
477
|
+
children: L.map((e, r) => /* @__PURE__ */ u("li", {
|
|
436
478
|
className: "min-w-0",
|
|
437
|
-
children: /* @__PURE__ */
|
|
479
|
+
children: /* @__PURE__ */ u(n, {
|
|
438
480
|
emphasis: "muted",
|
|
439
481
|
padding: "compact",
|
|
440
482
|
headingLevel: 3,
|
|
441
|
-
title: /* @__PURE__ */
|
|
483
|
+
title: /* @__PURE__ */ d("span", {
|
|
442
484
|
className: "flex min-w-0 items-center gap-icon-gap",
|
|
443
|
-
children: [/* @__PURE__ */
|
|
485
|
+
children: [/* @__PURE__ */ u("span", {
|
|
444
486
|
"aria-hidden": "true",
|
|
445
487
|
className: "flex h-6 w-6 shrink-0 items-center justify-center rounded-pill bg-bg-surface text-xs font-semibold text-text-secondary",
|
|
446
488
|
children: r + 1
|
|
447
|
-
}), /* @__PURE__ */
|
|
489
|
+
}), /* @__PURE__ */ u("span", {
|
|
448
490
|
className: "min-w-0 truncate",
|
|
449
491
|
children: e.parserName || o("bigconsole.pipelines.builder.stages.defaultStageName", "Stage {{number}}", { number: r + 1 })
|
|
450
492
|
})]
|
|
451
493
|
}),
|
|
452
|
-
actions: /* @__PURE__ */
|
|
453
|
-
/* @__PURE__ */
|
|
494
|
+
actions: /* @__PURE__ */ d(ge, { children: [
|
|
495
|
+
/* @__PURE__ */ u("button", {
|
|
454
496
|
type: "button",
|
|
455
|
-
onClick: () =>
|
|
497
|
+
onClick: () => Le(r, "up"),
|
|
456
498
|
disabled: r === 0,
|
|
457
499
|
className: y,
|
|
458
500
|
"aria-label": `Move stage ${r + 1} up`,
|
|
459
|
-
children: /* @__PURE__ */
|
|
501
|
+
children: /* @__PURE__ */ u(be, { className: "h-icon-sm w-icon-sm" })
|
|
460
502
|
}),
|
|
461
|
-
/* @__PURE__ */
|
|
503
|
+
/* @__PURE__ */ u("button", {
|
|
462
504
|
type: "button",
|
|
463
|
-
onClick: () =>
|
|
505
|
+
onClick: () => Le(r, "down"),
|
|
464
506
|
disabled: r === L.length - 1,
|
|
465
507
|
className: y,
|
|
466
508
|
"aria-label": `Move stage ${r + 1} down`,
|
|
467
|
-
children: /* @__PURE__ */
|
|
509
|
+
children: /* @__PURE__ */ u(xe, { className: "h-icon-sm w-icon-sm" })
|
|
468
510
|
}),
|
|
469
|
-
/* @__PURE__ */
|
|
511
|
+
/* @__PURE__ */ u("button", {
|
|
470
512
|
type: "button",
|
|
471
|
-
onClick: () =>
|
|
472
|
-
className:
|
|
513
|
+
onClick: () => Ie(r),
|
|
514
|
+
className: _e,
|
|
473
515
|
"aria-label": `Remove stage ${r + 1}`,
|
|
474
|
-
children: /* @__PURE__ */
|
|
516
|
+
children: /* @__PURE__ */ u(ye, { className: "h-icon-sm w-icon-sm" })
|
|
475
517
|
})
|
|
476
518
|
] }),
|
|
477
519
|
"data-testid": "pipeline-stage-editor",
|
|
478
|
-
children: /* @__PURE__ */
|
|
520
|
+
children: /* @__PURE__ */ d("div", {
|
|
479
521
|
className: "flex flex-col gap-form-gap",
|
|
480
522
|
children: [
|
|
481
|
-
/* @__PURE__ */
|
|
523
|
+
/* @__PURE__ */ d("div", {
|
|
482
524
|
className: "min-w-0",
|
|
483
|
-
children: [/* @__PURE__ */
|
|
525
|
+
children: [/* @__PURE__ */ d("label", {
|
|
484
526
|
htmlFor: `${O}-parser-${r}`,
|
|
485
|
-
className:
|
|
527
|
+
className: p,
|
|
486
528
|
children: [
|
|
487
529
|
o("bigconsole.pipelines.builder.stages.parserLabel", "Parser"),
|
|
488
530
|
" ",
|
|
489
|
-
/* @__PURE__ */
|
|
531
|
+
/* @__PURE__ */ u("span", {
|
|
490
532
|
className: "text-status-error-text",
|
|
491
533
|
children: "*"
|
|
492
534
|
})
|
|
493
535
|
]
|
|
494
|
-
}), /* @__PURE__ */
|
|
536
|
+
}), /* @__PURE__ */ d("select", {
|
|
495
537
|
id: `${O}-parser-${r}`,
|
|
496
538
|
value: e.parserId,
|
|
497
|
-
onChange: (e) =>
|
|
539
|
+
onChange: (e) => Re(r, e.target.value),
|
|
498
540
|
className: g,
|
|
499
|
-
children: [/* @__PURE__ */
|
|
541
|
+
children: [/* @__PURE__ */ u("option", {
|
|
500
542
|
value: "",
|
|
501
543
|
children: o("bigconsole.pipelines.builder.stages.parserPlaceholder", "Select a parser...")
|
|
502
|
-
}),
|
|
544
|
+
}), Y.map((e) => /* @__PURE__ */ d("option", {
|
|
503
545
|
value: e.id,
|
|
504
546
|
children: [
|
|
505
547
|
e.name,
|
|
@@ -510,27 +552,27 @@ var p = "min-h-[var(--size-controlHeight-md)]", m = "mb-1 block text-sm font-med
|
|
|
510
552
|
}, e.id))]
|
|
511
553
|
})]
|
|
512
554
|
}),
|
|
513
|
-
/* @__PURE__ */
|
|
555
|
+
/* @__PURE__ */ d("fieldset", {
|
|
514
556
|
className: "min-w-0",
|
|
515
|
-
children: [/* @__PURE__ */
|
|
516
|
-
className:
|
|
557
|
+
children: [/* @__PURE__ */ u("legend", {
|
|
558
|
+
className: h,
|
|
517
559
|
children: "Data contract"
|
|
518
|
-
}), /* @__PURE__ */
|
|
560
|
+
}), /* @__PURE__ */ d("div", {
|
|
519
561
|
className: "grid grid-cols-1 gap-form-gap sm:grid-cols-2",
|
|
520
|
-
children: [/* @__PURE__ */
|
|
562
|
+
children: [/* @__PURE__ */ d("div", {
|
|
521
563
|
className: "min-w-0",
|
|
522
|
-
children: [/* @__PURE__ */
|
|
564
|
+
children: [/* @__PURE__ */ d("label", {
|
|
523
565
|
htmlFor: `${O}-input-${r}`,
|
|
524
|
-
className:
|
|
566
|
+
className: p,
|
|
525
567
|
children: [
|
|
526
568
|
o("bigconsole.pipelines.builder.stages.inputKeyLabel", "Input Key"),
|
|
527
569
|
" ",
|
|
528
|
-
/* @__PURE__ */
|
|
570
|
+
/* @__PURE__ */ u("span", {
|
|
529
571
|
className: "text-status-error-text",
|
|
530
572
|
children: "*"
|
|
531
573
|
})
|
|
532
574
|
]
|
|
533
|
-
}), /* @__PURE__ */
|
|
575
|
+
}), /* @__PURE__ */ u("input", {
|
|
534
576
|
id: `${O}-input-${r}`,
|
|
535
577
|
type: "text",
|
|
536
578
|
value: e.inputKey,
|
|
@@ -538,20 +580,20 @@ var p = "min-h-[var(--size-controlHeight-md)]", m = "mb-1 block text-sm font-med
|
|
|
538
580
|
placeholder: o("bigconsole.pipelines.builder.stages.inputKeyPlaceholder", "data"),
|
|
539
581
|
className: _
|
|
540
582
|
})]
|
|
541
|
-
}), /* @__PURE__ */
|
|
583
|
+
}), /* @__PURE__ */ d("div", {
|
|
542
584
|
className: "min-w-0",
|
|
543
|
-
children: [/* @__PURE__ */
|
|
585
|
+
children: [/* @__PURE__ */ d("label", {
|
|
544
586
|
htmlFor: `${O}-output-${r}`,
|
|
545
|
-
className:
|
|
587
|
+
className: p,
|
|
546
588
|
children: [
|
|
547
589
|
o("bigconsole.pipelines.builder.stages.outputKeyLabel", "Output Key"),
|
|
548
590
|
" ",
|
|
549
|
-
/* @__PURE__ */
|
|
591
|
+
/* @__PURE__ */ u("span", {
|
|
550
592
|
className: "text-status-error-text",
|
|
551
593
|
children: "*"
|
|
552
594
|
})
|
|
553
595
|
]
|
|
554
|
-
}), /* @__PURE__ */
|
|
596
|
+
}), /* @__PURE__ */ u("input", {
|
|
555
597
|
id: `${O}-output-${r}`,
|
|
556
598
|
type: "text",
|
|
557
599
|
value: e.outputKey,
|
|
@@ -562,62 +604,62 @@ var p = "min-h-[var(--size-controlHeight-md)]", m = "mb-1 block text-sm font-med
|
|
|
562
604
|
})]
|
|
563
605
|
})]
|
|
564
606
|
}),
|
|
565
|
-
/* @__PURE__ */
|
|
607
|
+
/* @__PURE__ */ d("fieldset", {
|
|
566
608
|
className: "min-w-0",
|
|
567
|
-
children: [/* @__PURE__ */
|
|
568
|
-
className:
|
|
609
|
+
children: [/* @__PURE__ */ u("legend", {
|
|
610
|
+
className: h,
|
|
569
611
|
children: "Failure policy"
|
|
570
|
-
}), /* @__PURE__ */
|
|
612
|
+
}), /* @__PURE__ */ d("div", {
|
|
571
613
|
className: "grid grid-cols-1 gap-form-gap sm:grid-cols-2",
|
|
572
614
|
children: [
|
|
573
|
-
/* @__PURE__ */
|
|
615
|
+
/* @__PURE__ */ d("div", {
|
|
574
616
|
className: "min-w-0",
|
|
575
617
|
children: [
|
|
576
|
-
/* @__PURE__ */
|
|
618
|
+
/* @__PURE__ */ u("label", {
|
|
577
619
|
htmlFor: `${O}-onerror-${r}`,
|
|
578
|
-
className:
|
|
620
|
+
className: p,
|
|
579
621
|
children: o("bigconsole.pipelines.builder.stages.onErrorLabel", "On Error")
|
|
580
622
|
}),
|
|
581
|
-
/* @__PURE__ */
|
|
623
|
+
/* @__PURE__ */ u("select", {
|
|
582
624
|
id: `${O}-onerror-${r}`,
|
|
583
625
|
value: e.onError,
|
|
584
626
|
onChange: (e) => $(r, { onError: e.target.value }),
|
|
585
627
|
className: g,
|
|
586
|
-
children: S.map((e) => /* @__PURE__ */
|
|
628
|
+
children: S.map((e) => /* @__PURE__ */ u("option", {
|
|
587
629
|
value: e.value,
|
|
588
|
-
children:
|
|
630
|
+
children: Pe[e.value]
|
|
589
631
|
}, e.value))
|
|
590
632
|
}),
|
|
591
|
-
/* @__PURE__ */
|
|
592
|
-
className:
|
|
633
|
+
/* @__PURE__ */ u("p", {
|
|
634
|
+
className: m,
|
|
593
635
|
children: S.find((t) => t.value === e.onError)?.description
|
|
594
636
|
})
|
|
595
637
|
]
|
|
596
638
|
}),
|
|
597
|
-
/* @__PURE__ */
|
|
639
|
+
/* @__PURE__ */ u("div", {
|
|
598
640
|
className: "flex min-w-0 items-start",
|
|
599
|
-
children: /* @__PURE__ */
|
|
641
|
+
children: /* @__PURE__ */ d("label", {
|
|
600
642
|
htmlFor: `${O}-enabled-${r}`,
|
|
601
|
-
className: `flex cursor-pointer items-center gap-2 ${
|
|
602
|
-
children: [/* @__PURE__ */
|
|
643
|
+
className: `flex cursor-pointer items-center gap-2 ${f}`,
|
|
644
|
+
children: [/* @__PURE__ */ u("input", {
|
|
603
645
|
id: `${O}-enabled-${r}`,
|
|
604
646
|
type: "checkbox",
|
|
605
647
|
checked: e.enabled,
|
|
606
648
|
onChange: (e) => $(r, { enabled: e.target.checked }),
|
|
607
649
|
className: `h-4 w-4 rounded border-[var(--color-border-subtle)] text-action-primary-bg ${t}`
|
|
608
|
-
}), /* @__PURE__ */
|
|
650
|
+
}), /* @__PURE__ */ u("span", {
|
|
609
651
|
className: "text-sm text-text-primary",
|
|
610
652
|
children: o("bigconsole.pipelines.builder.stages.enabledLabel", "Enabled")
|
|
611
653
|
})]
|
|
612
654
|
})
|
|
613
655
|
}),
|
|
614
|
-
e.onError === "fallback" && /* @__PURE__ */
|
|
656
|
+
e.onError === "fallback" && /* @__PURE__ */ d("div", {
|
|
615
657
|
className: "min-w-0 sm:col-span-2",
|
|
616
|
-
children: [/* @__PURE__ */
|
|
658
|
+
children: [/* @__PURE__ */ u("label", {
|
|
617
659
|
htmlFor: `${O}-fallback-${r}`,
|
|
618
|
-
className:
|
|
660
|
+
className: p,
|
|
619
661
|
children: o("bigconsole.pipelines.builder.stages.fallbackValueLabel", "Fallback Value (JSON)")
|
|
620
|
-
}), /* @__PURE__ */
|
|
662
|
+
}), /* @__PURE__ */ u("input", {
|
|
621
663
|
id: `${O}-fallback-${r}`,
|
|
622
664
|
type: "text",
|
|
623
665
|
value: e.fallbackValue,
|
|
@@ -635,68 +677,68 @@ var p = "min-h-[var(--size-controlHeight-md)]", m = "mb-1 block text-sm font-med
|
|
|
635
677
|
}, r))
|
|
636
678
|
})
|
|
637
679
|
})] })
|
|
638
|
-
}), /* @__PURE__ */
|
|
680
|
+
}), /* @__PURE__ */ u("div", {
|
|
639
681
|
className: "min-w-0",
|
|
640
|
-
children: /* @__PURE__ */
|
|
682
|
+
children: /* @__PURE__ */ d(r, { children: [/* @__PURE__ */ u(n, {
|
|
641
683
|
emphasis: "muted",
|
|
642
684
|
headingLevel: 2,
|
|
643
685
|
title: o("bigconsole.pipelines.builder.preview.heading", "Preview"),
|
|
644
686
|
description: "What will be saved.",
|
|
645
687
|
"data-testid": "pipeline-preview",
|
|
646
|
-
children: /* @__PURE__ */
|
|
688
|
+
children: /* @__PURE__ */ d("dl", {
|
|
647
689
|
className: "flex flex-col gap-3 text-sm",
|
|
648
690
|
children: [
|
|
649
|
-
/* @__PURE__ */
|
|
691
|
+
/* @__PURE__ */ d("div", {
|
|
650
692
|
className: "min-w-0",
|
|
651
|
-
children: [/* @__PURE__ */
|
|
693
|
+
children: [/* @__PURE__ */ u("dt", {
|
|
652
694
|
className: "text-xs text-text-muted",
|
|
653
695
|
children: o("bigconsole.pipelines.builder.preview.nameLabel", "Name")
|
|
654
|
-
}), /* @__PURE__ */
|
|
696
|
+
}), /* @__PURE__ */ u("dd", {
|
|
655
697
|
className: "break-words text-text-primary",
|
|
656
698
|
children: j || o("bigconsole.pipelines.builder.preview.untitled", "Untitled")
|
|
657
699
|
})]
|
|
658
700
|
}),
|
|
659
|
-
/* @__PURE__ */
|
|
701
|
+
/* @__PURE__ */ d("div", {
|
|
660
702
|
className: "min-w-0",
|
|
661
|
-
children: [/* @__PURE__ */
|
|
703
|
+
children: [/* @__PURE__ */ u("dt", {
|
|
662
704
|
className: "text-xs text-text-muted",
|
|
663
705
|
children: o("bigconsole.pipelines.builder.preview.statusLabel", "Status")
|
|
664
|
-
}), /* @__PURE__ */
|
|
706
|
+
}), /* @__PURE__ */ u("dd", {
|
|
665
707
|
className: "mt-1",
|
|
666
|
-
children: /* @__PURE__ */
|
|
708
|
+
children: /* @__PURE__ */ u(re, {
|
|
667
709
|
status: F,
|
|
668
710
|
size: "sm"
|
|
669
711
|
})
|
|
670
712
|
})]
|
|
671
713
|
}),
|
|
672
|
-
/* @__PURE__ */
|
|
714
|
+
/* @__PURE__ */ d("div", {
|
|
673
715
|
className: "min-w-0",
|
|
674
|
-
children: [/* @__PURE__ */
|
|
716
|
+
children: [/* @__PURE__ */ u("dt", {
|
|
675
717
|
className: "text-xs text-text-muted",
|
|
676
718
|
children: o("bigconsole.pipelines.builder.preview.stagesLabel", "Stages")
|
|
677
|
-
}), /* @__PURE__ */
|
|
719
|
+
}), /* @__PURE__ */ u("dd", {
|
|
678
720
|
className: "text-text-primary",
|
|
679
721
|
children: L.length
|
|
680
722
|
})]
|
|
681
723
|
}),
|
|
682
|
-
L.length > 0 && /* @__PURE__ */
|
|
724
|
+
L.length > 0 && /* @__PURE__ */ d("div", {
|
|
683
725
|
className: "min-w-0 border-t border-[var(--color-border-subtle)] pt-3",
|
|
684
|
-
children: [/* @__PURE__ */
|
|
726
|
+
children: [/* @__PURE__ */ u("dt", {
|
|
685
727
|
className: "text-xs text-text-muted",
|
|
686
728
|
children: o("bigconsole.pipelines.builder.preview.dataFlowLabel", "Data Flow")
|
|
687
|
-
}), /* @__PURE__ */
|
|
729
|
+
}), /* @__PURE__ */ d("dd", {
|
|
688
730
|
className: "mt-1 flex flex-wrap items-center gap-1 text-xs",
|
|
689
|
-
children: [L.map((e, t) => /* @__PURE__ */
|
|
731
|
+
children: [L.map((e, t) => /* @__PURE__ */ d("span", {
|
|
690
732
|
className: "flex items-center gap-1",
|
|
691
|
-
children: [/* @__PURE__ */
|
|
733
|
+
children: [/* @__PURE__ */ u("code", {
|
|
692
734
|
className: "rounded-button bg-bg-surface px-1.5 py-0.5 font-mono break-all text-text-primary",
|
|
693
735
|
children: e.inputKey
|
|
694
|
-
}), /* @__PURE__ */
|
|
736
|
+
}), /* @__PURE__ */ u("span", {
|
|
695
737
|
"aria-hidden": "true",
|
|
696
738
|
className: "text-text-muted",
|
|
697
739
|
children: "→"
|
|
698
740
|
})]
|
|
699
|
-
}, t)), /* @__PURE__ */
|
|
741
|
+
}, t)), /* @__PURE__ */ u("code", {
|
|
700
742
|
className: "rounded-button bg-bg-surface px-1.5 py-0.5 font-mono break-all text-text-primary",
|
|
701
743
|
children: L[L.length - 1].outputKey
|
|
702
744
|
})]
|
|
@@ -704,19 +746,19 @@ var p = "min-h-[var(--size-controlHeight-md)]", m = "mb-1 block text-sm font-med
|
|
|
704
746
|
})
|
|
705
747
|
]
|
|
706
748
|
})
|
|
707
|
-
}), /* @__PURE__ */
|
|
749
|
+
}), /* @__PURE__ */ u(n, {
|
|
708
750
|
emphasis: "muted",
|
|
709
751
|
padding: "compact",
|
|
710
752
|
headingLevel: 2,
|
|
711
753
|
title: o("bigconsole.pipelines.builder.tips.heading", "Tips"),
|
|
712
754
|
"data-testid": "pipeline-builder-tips",
|
|
713
|
-
children: /* @__PURE__ */
|
|
755
|
+
children: /* @__PURE__ */ d("ul", {
|
|
714
756
|
className: "list-disc space-y-1 pl-4 text-sm text-text-secondary",
|
|
715
757
|
children: [
|
|
716
|
-
/* @__PURE__ */
|
|
717
|
-
/* @__PURE__ */
|
|
718
|
-
/* @__PURE__ */
|
|
719
|
-
/* @__PURE__ */
|
|
758
|
+
/* @__PURE__ */ u("li", { children: o("bigconsole.pipelines.builder.tips.item1", "Each stage processes the output of the previous stage") }),
|
|
759
|
+
/* @__PURE__ */ u("li", { children: o("bigconsole.pipelines.builder.tips.item2", "Use consistent input/output keys to chain data") }),
|
|
760
|
+
/* @__PURE__ */ u("li", { children: o("bigconsole.pipelines.builder.tips.item3", "Set error handling per stage for robustness") }),
|
|
761
|
+
/* @__PURE__ */ u("li", { children: o("bigconsole.pipelines.builder.tips.item4", "Disable stages to skip them during execution") })
|
|
720
762
|
]
|
|
721
763
|
})
|
|
722
764
|
})] })
|