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