@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.
Files changed (130) hide show
  1. package/dist/bigconsole/BigConsoleRoutes.js +149 -140
  2. package/dist/bigconsole/assistant/assistantProduct.js +4 -1
  3. package/dist/bigconsole/assistant/displayCopy.d.ts +32 -0
  4. package/dist/bigconsole/assistant/pageContext.d.ts +14 -0
  5. package/dist/bigconsole/assistant/pageContext.js +6 -1
  6. package/dist/bigconsole/assistant/pageControls.d.ts +81 -0
  7. package/dist/bigconsole/assistant/pageControls.js +169 -0
  8. package/dist/bigconsole/assistant/previewControl.d.ts +16 -0
  9. package/dist/bigconsole/assistant/previewControl.js +10 -0
  10. package/dist/bigconsole/assistant/recordAdapters.js +27 -26
  11. package/dist/bigconsole/assistant/usePreviewControl.d.ts +2 -0
  12. package/dist/bigconsole/assistant/usePreviewControl.js +20 -0
  13. package/dist/bigconsole/components/builder/inspector/AppearanceSection.js +9 -9
  14. package/dist/bigconsole/components/builder/inspector/DataBindingSection.js +31 -31
  15. package/dist/bigconsole/components/common/SortBySelect.d.ts +11 -0
  16. package/dist/bigconsole/components/common/SortBySelect.js +29 -0
  17. package/dist/bigconsole/components/common/index.d.ts +1 -0
  18. package/dist/bigconsole/components/common/index.js +1 -0
  19. package/dist/bigconsole/components/dashboard/CreateDashboardDialog.js +44 -44
  20. package/dist/bigconsole/components/dashboard/DashboardCanvas.js +36 -36
  21. package/dist/bigconsole/components/dashboard/DashboardToolbar.js +59 -59
  22. package/dist/bigconsole/components/dashboard/DrilldownBreadcrumb.js +15 -15
  23. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterChip.js +30 -30
  24. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterEditor.js +41 -41
  25. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterPresetSelector.js +34 -34
  26. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/GlobalFiltersBar.js +34 -34
  27. package/dist/bigconsole/components/dashboard/ImportDashboardDialog.js +153 -153
  28. package/dist/bigconsole/components/dashboard/PublishToStoreDialog.js +21 -21
  29. package/dist/bigconsole/components/dashboard/SavedViewsDropdown/SavedViewsDropdown.js +46 -46
  30. package/dist/bigconsole/components/dashboard/ShareDialog/EmbedTab.js +134 -134
  31. package/dist/bigconsole/components/dashboard/ShareDialog/ShareDialog.js +101 -101
  32. package/dist/bigconsole/components/dashboard/TemplateInstallOptions.js +31 -31
  33. package/dist/bigconsole/components/dashboard/TemplateLayoutPreview.js +15 -15
  34. package/dist/bigconsole/components/dashboard/TemplatePicker/TemplatePicker.js +1 -1
  35. package/dist/bigconsole/components/dashboard/WidgetPalette.js +46 -46
  36. package/dist/bigconsole/components/datasink/AlertExecutionHistory.js +37 -37
  37. package/dist/bigconsole/components/datasink/AlertRuleEditor.js +66 -66
  38. package/dist/bigconsole/components/datasink/CacheTTLSelector.js +35 -35
  39. package/dist/bigconsole/components/datasink/DataSinkCard.js +51 -50
  40. package/dist/bigconsole/components/datasink/DataSinkDeleteDialog.js +18 -18
  41. package/dist/bigconsole/components/datasink/DataSinkRefreshDialog.js +20 -20
  42. package/dist/bigconsole/components/datasink/ImportDataGuideDialog.js +47 -47
  43. package/dist/bigconsole/components/datasink/ImportDataSinkDialog.js +91 -91
  44. package/dist/bigconsole/components/datasink/RefreshTypeSelector.js +35 -35
  45. package/dist/bigconsole/components/parser/DataSinkSelector.js +40 -40
  46. package/dist/bigconsole/components/parser/ImportParserDialog.js +120 -120
  47. package/dist/bigconsole/components/parser/ParserSelector.js +51 -51
  48. package/dist/bigconsole/components/pipeline/PipelineScopePicker.js +10 -10
  49. package/dist/bigconsole/components/preview/AiPreviewContent.js +0 -1
  50. package/dist/bigconsole/components/preview/AiPreviewMiniPanel.js +77 -76
  51. package/dist/bigconsole/components/preview/AiPreviewPanel.js +96 -95
  52. package/dist/bigconsole/components/widgets/ActionConfigDialog.js +4 -4
  53. package/dist/bigconsole/components/widgets/DrilldownConfigPanel.js +93 -93
  54. package/dist/bigconsole/components/widgets/PropertiesPanel.js +507 -499
  55. package/dist/bigconsole/components/widgets/advanced/AdvancedWidgetConfig.js +14 -14
  56. package/dist/bigconsole/components/widgets/advanced/AdvancedWidgets.js +68 -67
  57. package/dist/bigconsole/components/widgets/advanced/boxPlotDescription.d.ts +7 -0
  58. package/dist/bigconsole/components/widgets/advanced/boxPlotDescription.js +12 -0
  59. package/dist/bigconsole/components/widgets/calendar/CalendarWidget.js +4 -4
  60. package/dist/bigconsole/components/widgets/chart/ChartConfig.js +48 -48
  61. package/dist/bigconsole/components/widgets/comments/WidgetComments.js +46 -46
  62. package/dist/bigconsole/components/widgets/event-logs/EventLogViewer.js +61 -61
  63. package/dist/bigconsole/components/widgets/form/FormWidget.js +36 -36
  64. package/dist/bigconsole/components/widgets/gauge/GaugeConfig.js +42 -42
  65. package/dist/bigconsole/components/widgets/heatmap/HeatmapConfig.js +25 -25
  66. package/dist/bigconsole/components/widgets/kanban/KanbanWidget.js +4 -4
  67. package/dist/bigconsole/components/widgets/list/ListConfig.js +30 -30
  68. package/dist/bigconsole/components/widgets/metric-card/MetricCardConfig.js +38 -38
  69. package/dist/bigconsole/components/widgets/metric-card/SparklineChart.js +9 -9
  70. package/dist/bigconsole/components/widgets/metric-card/TrendIndicator.js +9 -9
  71. package/dist/bigconsole/components/widgets/pivot-table/PivotTableWidget.js +49 -49
  72. package/dist/bigconsole/components/widgets/progress/ProgressConfig.js +39 -39
  73. package/dist/bigconsole/components/widgets/table/TableConfig.js +73 -73
  74. package/dist/bigconsole/components/widgets/webhook-config/WebhookConfigPanel.js +64 -64
  75. package/dist/bigconsole/components/workflow/WorkflowOpenGuard.js +15 -15
  76. package/dist/bigconsole/components/workflow/WorkflowSinkLinkForm.js +15 -15
  77. package/dist/bigconsole/constants/backendErrors.js +94 -0
  78. package/dist/bigconsole/customWidget/CustomWidgetBuilderSheet.js +10 -10
  79. package/dist/bigconsole/customWidget/CustomWidgetProposalPanel.js +67 -67
  80. package/dist/bigconsole/hooks/useDashboardLayoutBaseline.d.ts +14 -0
  81. package/dist/bigconsole/hooks/useDashboardLayoutBaseline.js +32 -0
  82. package/dist/bigconsole/hooks/useDataSinkAlerts.d.ts +23 -0
  83. package/dist/bigconsole/hooks/useDataSinkAlerts.js +138 -113
  84. package/dist/bigconsole/hooks/useDrilldown.js +3 -3
  85. package/dist/bigconsole/hooks/useGlobalFilters.js +3 -3
  86. package/dist/bigconsole/pages/AdminPage.js +130 -130
  87. package/dist/bigconsole/pages/DashboardBuilderPage.js +72 -60
  88. package/dist/bigconsole/pages/DashboardViewPage.js +244 -221
  89. package/dist/bigconsole/pages/DashboardsPage.js +269 -221
  90. package/dist/bigconsole/pages/DataParsersPage.js +180 -157
  91. package/dist/bigconsole/pages/DataSinkAlertsPage.js +62 -55
  92. package/dist/bigconsole/pages/DataSinkBuilderPage.js +252 -234
  93. package/dist/bigconsole/pages/DataSinkViewPage.js +1 -1
  94. package/dist/bigconsole/pages/DataSinksPage.js +335 -299
  95. package/dist/bigconsole/pages/DataSourcesPage.js +5 -5
  96. package/dist/bigconsole/pages/InsightsPage.js +279 -265
  97. package/dist/bigconsole/pages/OverviewPage.js +47 -47
  98. package/dist/bigconsole/pages/ParserBuilderPage.js +229 -213
  99. package/dist/bigconsole/pages/ParserViewPage.js +97 -97
  100. package/dist/bigconsole/pages/PipelineBuilderPage.js +256 -214
  101. package/dist/bigconsole/pages/PipelineViewPage.js +146 -146
  102. package/dist/bigconsole/pages/PipelinesPage.js +107 -88
  103. package/dist/bigconsole/pages/SettingsPage.js +179 -173
  104. package/dist/bigconsole/pages/WidgetDemoPage.js +42 -42
  105. package/dist/bigconsole/pages/WorkflowViewPage.js +1 -1
  106. package/dist/bigconsole/pages/WorkflowsPage.js +141 -141
  107. package/dist/bigconsole/providers/BigConsoleQuotaProvider.js +12 -12
  108. package/dist/bigconsole/renderers/adapters/AdaptiveCardRenderer.js +34 -34
  109. package/dist/bigconsole/renderers/adapters/BlockKitRenderer.js +69 -69
  110. package/dist/bigconsole/renderers/adapters/CustomRenderer.js +46 -46
  111. package/dist/bigconsole/store/widgetStore.d.ts +12 -0
  112. package/dist/bigconsole/store/widgetStore.js +3 -1
  113. package/dist/bigconsole/utils/backendError.d.ts +18 -0
  114. package/dist/bigconsole/utils/backendError.js +42 -0
  115. package/dist/bigconsole/utils/dashboardList.d.ts +28 -0
  116. package/dist/bigconsole/utils/dashboardList.js +15 -0
  117. package/dist/bigconsole/utils/dataSinkList.d.ts +15 -0
  118. package/dist/bigconsole/utils/dataSinkList.js +15 -0
  119. package/dist/bigconsole/utils/formDirty.d.ts +82 -0
  120. package/dist/bigconsole/utils/formDirty.js +21 -0
  121. package/dist/bigconsole/utils/insightsDraft.d.ts +29 -0
  122. package/dist/bigconsole/utils/insightsDraft.js +8 -0
  123. package/dist/bigconsole/utils/layoutBaseline.d.ts +130 -0
  124. package/dist/bigconsole/utils/layoutBaseline.js +96 -0
  125. package/dist/bigconsole/utils/listSort.d.ts +80 -0
  126. package/dist/bigconsole/utils/listSort.js +85 -0
  127. package/dist/bigconsole/utils/widgetFormDirty.d.ts +16 -0
  128. package/dist/bigconsole/utils/widgetFormDirty.js +13 -0
  129. package/dist/bigconsole/workflowOpen.js +15 -14
  130. package/package.json +3 -3
@@ -14,93 +14,93 @@ import { useParams as re, useSearchParams as ie } from "react-router";
14
14
  import { AccessDenied as ae } from "@burdenoff/fe-libs/shared/components";
15
15
  import { usePermissions as oe } from "@burdenoff/fe-libs/shared/providers/shell";
16
16
  import { Button as p, IllustratedEmptyState as se, NextSteps as ce, PagePurpose as m, Spinner as le } from "@burdenoff/fe-libs/ui";
17
- import { jsx as h, jsxs as g } from "react/jsx-runtime";
18
- import { useI18n as _ } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
17
+ import { useI18n as h } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
18
+ import { jsx as g, jsxs as _ } from "react/jsx-runtime";
19
19
  //#region src/bigconsole/pages/PipelineViewPage.tsx
20
- var v = "min-h-[var(--size-controlHeight-md)]", ue = "rounded-pill bg-bg-sunken px-2 py-0.5 text-xs font-medium text-text-secondary", y = "rounded-button bg-bg-surface px-1.5 py-0.5 font-mono break-all text-text-primary", de = ({ className: e }) => /* @__PURE__ */ h("svg", {
20
+ var v = "min-h-[var(--size-controlHeight-md)]", ue = "rounded-pill bg-bg-sunken px-2 py-0.5 text-xs font-medium text-text-secondary", y = "rounded-button bg-bg-surface px-1.5 py-0.5 font-mono break-all text-text-primary", de = ({ className: e }) => /* @__PURE__ */ g("svg", {
21
21
  className: e,
22
22
  fill: "none",
23
23
  stroke: "currentColor",
24
24
  viewBox: "0 0 24 24",
25
- children: /* @__PURE__ */ h("path", {
25
+ children: /* @__PURE__ */ g("path", {
26
26
  strokeLinecap: "round",
27
27
  strokeLinejoin: "round",
28
28
  strokeWidth: 2,
29
29
  d: "M10 19l-7-7m0 0l7-7m-7 7h18"
30
30
  })
31
- }), b = ({ className: e }) => /* @__PURE__ */ h("svg", {
31
+ }), b = ({ className: e }) => /* @__PURE__ */ g("svg", {
32
32
  className: e,
33
33
  fill: "none",
34
34
  stroke: "currentColor",
35
35
  viewBox: "0 0 24 24",
36
- children: /* @__PURE__ */ h("path", {
36
+ children: /* @__PURE__ */ g("path", {
37
37
  strokeLinecap: "round",
38
38
  strokeLinejoin: "round",
39
39
  strokeWidth: 2,
40
40
  d: "M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z"
41
41
  })
42
- }), fe = ({ className: e }) => /* @__PURE__ */ h("svg", {
42
+ }), fe = ({ className: e }) => /* @__PURE__ */ g("svg", {
43
43
  className: e,
44
44
  fill: "none",
45
45
  stroke: "currentColor",
46
46
  viewBox: "0 0 24 24",
47
- children: /* @__PURE__ */ h("path", {
47
+ children: /* @__PURE__ */ g("path", {
48
48
  strokeLinecap: "round",
49
49
  strokeLinejoin: "round",
50
50
  strokeWidth: 2,
51
51
  d: "M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16"
52
52
  })
53
- }), x = ({ className: e }) => /* @__PURE__ */ g("svg", {
53
+ }), x = ({ className: e }) => /* @__PURE__ */ _("svg", {
54
54
  className: e,
55
55
  fill: "none",
56
56
  stroke: "currentColor",
57
57
  viewBox: "0 0 24 24",
58
- children: [/* @__PURE__ */ h("path", {
58
+ children: [/* @__PURE__ */ g("path", {
59
59
  strokeLinecap: "round",
60
60
  strokeLinejoin: "round",
61
61
  strokeWidth: 2,
62
62
  d: "M14.752 11.168l-3.197-2.132A1 1 0 0010 9.87v4.263a1 1 0 001.555.832l3.197-2.132a1 1 0 000-1.664z"
63
- }), /* @__PURE__ */ h("path", {
63
+ }), /* @__PURE__ */ g("path", {
64
64
  strokeLinecap: "round",
65
65
  strokeLinejoin: "round",
66
66
  strokeWidth: 2,
67
67
  d: "M21 12a9 9 0 11-18 0 9 9 0 0118 0z"
68
68
  })]
69
- }), S = ({ className: e }) => /* @__PURE__ */ h("svg", {
69
+ }), S = ({ className: e }) => /* @__PURE__ */ g("svg", {
70
70
  className: e,
71
71
  fill: "none",
72
72
  stroke: "currentColor",
73
73
  viewBox: "0 0 24 24",
74
- children: /* @__PURE__ */ h("path", {
74
+ children: /* @__PURE__ */ g("path", {
75
75
  strokeLinecap: "round",
76
76
  strokeLinejoin: "round",
77
77
  strokeWidth: 2,
78
78
  d: "M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"
79
79
  })
80
- }), pe = ({ className: e }) => /* @__PURE__ */ h("svg", {
80
+ }), pe = ({ className: e }) => /* @__PURE__ */ g("svg", {
81
81
  className: e,
82
82
  fill: "none",
83
83
  stroke: "currentColor",
84
84
  viewBox: "0 0 24 24",
85
- children: /* @__PURE__ */ h("path", {
85
+ children: /* @__PURE__ */ g("path", {
86
86
  strokeLinecap: "round",
87
87
  strokeLinejoin: "round",
88
88
  strokeWidth: 2,
89
89
  d: "M5 13l4 4L19 7"
90
90
  })
91
- }), C = ({ className: e }) => /* @__PURE__ */ h("svg", {
91
+ }), C = ({ className: e }) => /* @__PURE__ */ g("svg", {
92
92
  className: e,
93
93
  fill: "none",
94
94
  stroke: "currentColor",
95
95
  viewBox: "0 0 24 24",
96
- children: /* @__PURE__ */ h("path", {
96
+ children: /* @__PURE__ */ g("path", {
97
97
  strokeLinecap: "round",
98
98
  strokeLinejoin: "round",
99
99
  strokeWidth: 2,
100
100
  d: "M14 5l7 7m0 0l-7 7m7-7H3"
101
101
  })
102
102
  }), me = ({ handling: e }) => {
103
- let { t } = _(), n = {
103
+ let { t } = h(), n = {
104
104
  fail: {
105
105
  label: t("bigconsole.pipelines.view.errorHandlingFail", "Fail"),
106
106
  className: "bg-[var(--color-status-error-bgSubtle)] text-status-error-text border-[var(--color-status-error-border)]"
@@ -114,15 +114,15 @@ var v = "min-h-[var(--size-controlHeight-md)]", ue = "rounded-pill bg-bg-sunken
114
114
  className: "bg-[var(--color-status-info-bgSubtle)] text-[var(--color-status-info-text)] border-[var(--color-status-info-border)]"
115
115
  }
116
116
  }, r = n[e] || n.fail;
117
- return /* @__PURE__ */ g("span", {
117
+ return /* @__PURE__ */ _("span", {
118
118
  className: `inline-flex items-center gap-1 whitespace-nowrap rounded-pill border px-2 py-0.5 text-xs font-medium ${r.className}`,
119
- children: [/* @__PURE__ */ h("span", {
119
+ children: [/* @__PURE__ */ g("span", {
120
120
  className: "font-normal opacity-80",
121
121
  children: "On error"
122
122
  }), r.label]
123
123
  });
124
124
  }, w = l(function() {
125
- let { pipelineId: l } = re(), w = t(), { t: T } = _(), [he] = ie(), E = ne(), { hasPermission: D, isLoading: O } = oe(), k = D(a.PIPELINE_READ), A = D(a.PIPELINE_UPDATE), ge = D(a.PIPELINE_DELETE), j = D(a.PIPELINE_TEST), [M, N] = f(null), [P, _e] = f("{\n \"data\": \"sample\"\n}"), [F, ve] = f(null), [I, L] = f([]), [R, z] = f(null), [B, V] = f(he.get("test") === "true"), ye = e((e) => e.deleteDialogOpen), H = e((e) => e.openDeleteDialog), U = e((e) => e.closeDeleteDialog), { loading: W, error: G, fetchPipeline: K, deletePipeline: q, testPipeline: J, listExecutions: Y } = ee({
125
+ let { pipelineId: l } = re(), w = t(), { t: T } = h(), [he] = ie(), E = ne(), { hasPermission: D, isLoading: O } = oe(), k = D(a.PIPELINE_READ), A = D(a.PIPELINE_UPDATE), ge = D(a.PIPELINE_DELETE), j = D(a.PIPELINE_TEST), [M, N] = f(null), [P, _e] = f("{\n \"data\": \"sample\"\n}"), [F, ve] = f(null), [I, L] = f([]), [R, z] = f(null), [B, V] = f(he.get("test") === "true"), ye = e((e) => e.deleteDialogOpen), H = e((e) => e.openDeleteDialog), U = e((e) => e.closeDeleteDialog), { loading: W, error: G, fetchPipeline: K, deletePipeline: q, testPipeline: J, listExecutions: Y } = ee({
126
126
  consoleId: "default",
127
127
  skipFetch: !0
128
128
  });
@@ -174,53 +174,53 @@ var v = "min-h-[var(--size-controlHeight-md)]", ue = "rounded-pill bg-bg-sunken
174
174
  P,
175
175
  Y
176
176
  ]);
177
- if (W && !M) return /* @__PURE__ */ h("div", {
177
+ if (W && !M) return /* @__PURE__ */ g("div", {
178
178
  className: "p-card-padding",
179
- children: /* @__PURE__ */ g("div", {
179
+ children: /* @__PURE__ */ _("div", {
180
180
  className: "flex flex-col items-center justify-center py-16",
181
181
  role: "status",
182
- children: [/* @__PURE__ */ h(le, { style: {
182
+ children: [/* @__PURE__ */ g(le, { style: {
183
183
  height: "var(--size-icon-xl)",
184
184
  width: "var(--size-icon-xl)"
185
- } }), /* @__PURE__ */ h("p", {
185
+ } }), /* @__PURE__ */ g("p", {
186
186
  className: "mt-form-gap text-sm text-text-secondary",
187
187
  children: T("bigconsole.pipelines.view.loading", "Loading Pipeline...")
188
188
  })]
189
189
  })
190
190
  });
191
- if (!O && !k) return /* @__PURE__ */ h(ae, {
191
+ if (!O && !k) return /* @__PURE__ */ g(ae, {
192
192
  title: T("bigconsole.pipelines.errors.accessDeniedTitle", "Access Denied"),
193
193
  description: T("bigconsole.pipelines.errors.accessDeniedViewDescription", "You don't have permission to view this pipeline.")
194
194
  });
195
- if (G) return /* @__PURE__ */ h("div", {
195
+ if (G) return /* @__PURE__ */ g("div", {
196
196
  className: "p-card-padding",
197
- children: /* @__PURE__ */ h(r, {
197
+ children: /* @__PURE__ */ g(r, {
198
198
  tone: "danger",
199
199
  headingLevel: 2,
200
200
  title: T("bigconsole.pipelines.view.loadError", "Failed to load Pipeline"),
201
201
  description: G.message,
202
- icon: /* @__PURE__ */ h(S, { className: "h-icon-sm w-icon-sm" }),
203
- actions: /* @__PURE__ */ h(p, {
202
+ icon: /* @__PURE__ */ g(S, { className: "h-icon-sm w-icon-sm" }),
203
+ actions: /* @__PURE__ */ g(p, {
204
204
  onClick: X,
205
205
  className: v,
206
206
  children: T("bigconsole.pipelines.actions.backToPipelines", "Back to Pipelines")
207
207
  }),
208
208
  "data-testid": "pipeline-view-error",
209
- children: /* @__PURE__ */ h("p", {
209
+ children: /* @__PURE__ */ g("p", {
210
210
  className: "text-sm text-text-secondary",
211
211
  children: "The pipeline could not be read from the console service. Nothing was changed."
212
212
  })
213
213
  })
214
214
  });
215
- if (!M) return /* @__PURE__ */ h("div", {
215
+ if (!M) return /* @__PURE__ */ g("div", {
216
216
  className: "p-card-padding",
217
- children: /* @__PURE__ */ h(r, {
217
+ children: /* @__PURE__ */ g(r, {
218
218
  tone: "warning",
219
219
  headingLevel: 2,
220
220
  title: T("bigconsole.pipelines.view.notFoundTitle", "Pipeline not found"),
221
221
  description: T("bigconsole.pipelines.view.notFoundDescription", "The pipeline you're looking for doesn't exist or has been deleted."),
222
- icon: /* @__PURE__ */ h(S, { className: "h-icon-sm w-icon-sm" }),
223
- actions: /* @__PURE__ */ h(p, {
222
+ icon: /* @__PURE__ */ g(S, { className: "h-icon-sm w-icon-sm" }),
223
+ actions: /* @__PURE__ */ g(p, {
224
224
  onClick: X,
225
225
  className: v,
226
226
  children: T("bigconsole.pipelines.actions.backToPipelines", "Back to Pipelines")
@@ -228,121 +228,121 @@ var v = "min-h-[var(--size-controlHeight-md)]", ue = "rounded-pill bg-bg-sunken
228
228
  "data-testid": "pipeline-not-found"
229
229
  })
230
230
  });
231
- let Q = M.stages?.length ?? 0, $ = F?.status === "completed", we = /* @__PURE__ */ h(r, {
231
+ let Q = M.stages?.length ?? 0, $ = F?.status === "completed", we = /* @__PURE__ */ g(r, {
232
232
  emphasis: B ? "standard" : "primary",
233
233
  headingLevel: 2,
234
234
  title: T("bigconsole.pipelines.view.stagesHeading", "Pipeline Stages ({{count}})", { count: Q }),
235
235
  description: "Data flows top to bottom — each stage reads its input key and writes an output key for the next one.",
236
236
  "data-testid": "pipeline-stages",
237
- children: Q === 0 ? /* @__PURE__ */ h(se, {
237
+ children: Q === 0 ? /* @__PURE__ */ g(se, {
238
238
  illustration: "empty-generic",
239
239
  title: T("bigconsole.pipelines.view.noStagesTitle", "No stages defined"),
240
240
  description: T("bigconsole.pipelines.view.noStagesDescription", "Edit the pipeline to add parser stages."),
241
- action: /* @__PURE__ */ g(p, {
241
+ action: /* @__PURE__ */ _(p, {
242
242
  variant: "secondary",
243
243
  onClick: Z,
244
244
  disabled: !A,
245
245
  className: v,
246
- children: [/* @__PURE__ */ h(b, { className: "h-icon-sm w-icon-sm" }), T("bigconsole.pipelines.actions.edit", "Edit")]
246
+ children: [/* @__PURE__ */ g(b, { className: "h-icon-sm w-icon-sm" }), T("bigconsole.pipelines.actions.edit", "Edit")]
247
247
  })
248
- }) : /* @__PURE__ */ h("ol", {
248
+ }) : /* @__PURE__ */ g("ol", {
249
249
  className: "flex flex-col",
250
- children: (M.stages ?? []).map((e, t) => /* @__PURE__ */ g("li", {
250
+ children: (M.stages ?? []).map((e, t) => /* @__PURE__ */ _("li", {
251
251
  className: "flex min-w-0 flex-col",
252
- children: [/* @__PURE__ */ g("div", {
252
+ children: [/* @__PURE__ */ _("div", {
253
253
  "data-testid": "pipeline-stage",
254
254
  "data-enabled": e.enabled,
255
255
  className: `min-w-0 rounded-card border bg-bg-sunken p-4 ${e.enabled ? "border-[var(--color-border-subtle)]" : "border-dashed border-[var(--color-border-strong)]"}`,
256
256
  children: [
257
- /* @__PURE__ */ g("div", {
257
+ /* @__PURE__ */ _("div", {
258
258
  className: "flex flex-wrap items-center justify-between gap-control-gap",
259
- children: [/* @__PURE__ */ g("div", {
259
+ children: [/* @__PURE__ */ _("div", {
260
260
  className: "flex min-w-0 flex-wrap items-center gap-icon-gap",
261
261
  children: [
262
- /* @__PURE__ */ h("span", {
262
+ /* @__PURE__ */ g("span", {
263
263
  "aria-hidden": "true",
264
264
  className: "flex h-6 w-6 shrink-0 items-center justify-center rounded-pill bg-bg-surface text-xs font-semibold text-text-secondary",
265
265
  children: t + 1
266
266
  }),
267
- /* @__PURE__ */ h("h3", {
267
+ /* @__PURE__ */ g("h3", {
268
268
  className: "min-w-0 truncate text-sm font-semibold text-text-primary",
269
269
  children: e.parserName || T("bigconsole.pipelines.view.stageFallbackName", "Stage {{number}}", { number: t + 1 })
270
270
  }),
271
- e.parserType && /* @__PURE__ */ h("span", {
271
+ e.parserType && /* @__PURE__ */ g("span", {
272
272
  className: "rounded-pill bg-bg-surface px-2 py-0.5 text-xs font-medium text-text-secondary",
273
273
  children: e.parserType.toUpperCase()
274
274
  })
275
275
  ]
276
- }), /* @__PURE__ */ g("div", {
276
+ }), /* @__PURE__ */ _("div", {
277
277
  className: "flex flex-wrap items-center gap-icon-gap",
278
- children: [/* @__PURE__ */ h(me, { handling: e.onError }), !e.enabled && /* @__PURE__ */ h("span", {
278
+ children: [/* @__PURE__ */ g(me, { handling: e.onError }), !e.enabled && /* @__PURE__ */ g("span", {
279
279
  className: "rounded-pill border border-[var(--color-border-strong)] px-2 py-0.5 text-xs font-medium text-text-secondary",
280
280
  children: T("bigconsole.pipelines.view.stageDisabled", "Disabled")
281
281
  })]
282
282
  })]
283
283
  }),
284
- /* @__PURE__ */ g("div", {
284
+ /* @__PURE__ */ _("div", {
285
285
  className: "mt-2 flex flex-wrap items-center gap-x-2 gap-y-1 text-xs text-text-secondary",
286
286
  children: [
287
- /* @__PURE__ */ h("span", {
287
+ /* @__PURE__ */ g("span", {
288
288
  className: "text-text-muted",
289
289
  children: "Reads"
290
290
  }),
291
- /* @__PURE__ */ h("code", {
291
+ /* @__PURE__ */ g("code", {
292
292
  className: y,
293
293
  children: e.inputKey
294
294
  }),
295
- /* @__PURE__ */ h(C, { className: "h-3 w-3 shrink-0" }),
296
- /* @__PURE__ */ h("span", {
295
+ /* @__PURE__ */ g(C, { className: "h-3 w-3 shrink-0" }),
296
+ /* @__PURE__ */ g("span", {
297
297
  className: "text-text-muted",
298
298
  children: "writes"
299
299
  }),
300
- /* @__PURE__ */ h("code", {
300
+ /* @__PURE__ */ g("code", {
301
301
  className: y,
302
302
  children: e.outputKey
303
303
  })
304
304
  ]
305
305
  }),
306
- e.description && /* @__PURE__ */ h("p", {
306
+ e.description && /* @__PURE__ */ g("p", {
307
307
  className: "mt-2 text-xs text-text-secondary",
308
308
  children: e.description
309
309
  }),
310
- e.parserId && /* @__PURE__ */ h("button", {
310
+ e.parserId && /* @__PURE__ */ g("button", {
311
311
  type: "button",
312
312
  onClick: () => Se(e.parserId),
313
313
  className: "mt-2 rounded-button text-xs text-text-link hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-bg-surface",
314
314
  children: T("bigconsole.pipelines.view.viewParser", "View Parser")
315
315
  })
316
316
  ]
317
- }), t < Q - 1 && /* @__PURE__ */ h("span", {
317
+ }), t < Q - 1 && /* @__PURE__ */ g("span", {
318
318
  "aria-hidden": "true",
319
319
  className: "flex justify-center py-1",
320
- children: /* @__PURE__ */ h(C, { className: "h-icon-sm w-icon-sm rotate-90 text-text-muted" })
320
+ children: /* @__PURE__ */ g(C, { className: "h-icon-sm w-icon-sm rotate-90 text-text-muted" })
321
321
  })]
322
322
  }, e.id))
323
323
  })
324
- }), Te = B ? /* @__PURE__ */ h(r, {
324
+ }), Te = B ? /* @__PURE__ */ g(r, {
325
325
  id: "pipeline-test-panel",
326
326
  emphasis: "primary",
327
327
  headingLevel: 2,
328
328
  title: T("bigconsole.pipelines.view.testPanelHeading", "Test Pipeline"),
329
329
  description: "Run sample input through every enabled stage. Nothing is written to the connected sink.",
330
- actions: /* @__PURE__ */ g(p, {
330
+ actions: /* @__PURE__ */ _(p, {
331
331
  onClick: Ce,
332
332
  disabled: W || !j,
333
333
  className: v,
334
- children: [/* @__PURE__ */ h(x, { className: "h-icon-sm w-icon-sm" }), W ? T("bigconsole.pipelines.view.testRunning", "Running...") : T("bigconsole.pipelines.view.runTest", "Run Test")]
334
+ children: [/* @__PURE__ */ g(x, { className: "h-icon-sm w-icon-sm" }), W ? T("bigconsole.pipelines.view.testRunning", "Running...") : T("bigconsole.pipelines.view.runTest", "Run Test")]
335
335
  }),
336
336
  "data-testid": "pipeline-test-panel",
337
- children: /* @__PURE__ */ g("div", {
337
+ children: /* @__PURE__ */ _("div", {
338
338
  className: "flex flex-col gap-form-gap",
339
- children: [/* @__PURE__ */ g("div", {
339
+ children: [/* @__PURE__ */ _("div", {
340
340
  className: "min-w-0",
341
- children: [/* @__PURE__ */ h("label", {
341
+ children: [/* @__PURE__ */ g("label", {
342
342
  htmlFor: E,
343
343
  className: "mb-1 block text-sm font-medium text-text-primary",
344
344
  children: T("bigconsole.pipelines.view.inputJsonLabel", "Input JSON")
345
- }), /* @__PURE__ */ h("textarea", {
345
+ }), /* @__PURE__ */ g("textarea", {
346
346
  id: E,
347
347
  value: P,
348
348
  onChange: (e) => _e(e.target.value),
@@ -350,33 +350,33 @@ var v = "min-h-[var(--size-controlHeight-md)]", ue = "rounded-pill bg-bg-sunken
350
350
  className: `min-h-32 w-full resize-y rounded-input border border-[var(--color-border-subtle)] bg-bg-canvas px-3 py-2 font-mono text-sm text-text-primary ${n}`,
351
351
  placeholder: "{\"key\": \"value\"}"
352
352
  })]
353
- }), F && /* @__PURE__ */ h(r, {
353
+ }), F && /* @__PURE__ */ g(r, {
354
354
  tone: $ ? "success" : "danger",
355
355
  headingLevel: 3,
356
356
  title: $ ? T("bigconsole.pipelines.view.testPassed", "Test Passed") : T("bigconsole.pipelines.view.testFailed", "Test Failed"),
357
- icon: h($ ? pe : S, { className: "h-icon-sm w-icon-sm" }),
358
- meta: F.totalExecutionTimeMs ? /* @__PURE__ */ g("span", {
357
+ icon: g($ ? pe : S, { className: "h-icon-sm w-icon-sm" }),
358
+ meta: F.totalExecutionTimeMs ? /* @__PURE__ */ _("span", {
359
359
  className: ue,
360
360
  children: [F.totalExecutionTimeMs, "ms"]
361
361
  }) : null,
362
362
  "data-testid": "pipeline-test-result",
363
- children: /* @__PURE__ */ g("div", {
363
+ children: /* @__PURE__ */ _("div", {
364
364
  className: "flex flex-col gap-form-gap",
365
- children: [/* @__PURE__ */ g("div", {
365
+ children: [/* @__PURE__ */ _("div", {
366
366
  className: "min-w-0",
367
- children: [/* @__PURE__ */ h("h4", {
367
+ children: [/* @__PURE__ */ g("h4", {
368
368
  className: "mb-1 text-sm font-medium text-text-primary",
369
369
  children: T("bigconsole.pipelines.view.outputLabel", "Output")
370
- }), /* @__PURE__ */ h("pre", {
370
+ }), /* @__PURE__ */ g("pre", {
371
371
  className: "max-h-64 w-full overflow-auto rounded-input border border-[var(--color-border-subtle)] bg-bg-canvas p-3 font-mono text-xs text-text-primary",
372
372
  children: JSON.stringify(F.outputData, null, 2) || "null"
373
373
  })]
374
- }), F.error && /* @__PURE__ */ g("div", {
374
+ }), F.error && /* @__PURE__ */ _("div", {
375
375
  className: "min-w-0",
376
- children: [/* @__PURE__ */ h("h4", {
376
+ children: [/* @__PURE__ */ g("h4", {
377
377
  className: "mb-1 text-sm font-medium text-status-error-text",
378
378
  children: T("bigconsole.pipelines.view.errorLabel", "Error")
379
- }), /* @__PURE__ */ h("pre", {
379
+ }), /* @__PURE__ */ g("pre", {
380
380
  className: "max-h-64 w-full overflow-auto rounded-input border border-[var(--color-status-error-border)] bg-[var(--color-status-error-bgSubtle)] p-3 font-mono text-xs text-status-error-text",
381
381
  children: F.error
382
382
  })]
@@ -385,65 +385,65 @@ var v = "min-h-[var(--size-controlHeight-md)]", ue = "rounded-pill bg-bg-sunken
385
385
  })]
386
386
  })
387
387
  }) : null;
388
- return /* @__PURE__ */ g("div", {
388
+ return /* @__PURE__ */ _("div", {
389
389
  className: "p-card-padding",
390
- children: [/* @__PURE__ */ g(i, { children: [
391
- /* @__PURE__ */ g("header", {
390
+ children: [/* @__PURE__ */ _(i, { children: [
391
+ /* @__PURE__ */ _("header", {
392
392
  className: "flex flex-col gap-form-gap sm:flex-row sm:items-start sm:justify-between",
393
- children: [/* @__PURE__ */ g("div", {
393
+ children: [/* @__PURE__ */ _("div", {
394
394
  className: "flex min-w-0 flex-col gap-control-gap",
395
395
  children: [
396
- /* @__PURE__ */ g(p, {
396
+ /* @__PURE__ */ _(p, {
397
397
  variant: "ghost",
398
398
  size: "sm",
399
399
  onClick: X,
400
400
  className: "w-fit",
401
- children: [/* @__PURE__ */ h(de, { className: "h-icon-sm w-icon-sm" }), T("bigconsole.pipelines.actions.backToPipelines", "Back to Pipelines")]
401
+ children: [/* @__PURE__ */ g(de, { className: "h-icon-sm w-icon-sm" }), T("bigconsole.pipelines.actions.backToPipelines", "Back to Pipelines")]
402
402
  }),
403
- /* @__PURE__ */ g("div", {
403
+ /* @__PURE__ */ _("div", {
404
404
  className: "flex flex-wrap items-center gap-icon-gap",
405
- children: [/* @__PURE__ */ h("h1", {
405
+ children: [/* @__PURE__ */ g("h1", {
406
406
  className: "min-w-0 break-words text-2xl font-bold leading-tight text-text-primary",
407
407
  children: M.name
408
- }), /* @__PURE__ */ h(c, { status: M.status })]
408
+ }), /* @__PURE__ */ g(c, { status: M.status })]
409
409
  }),
410
- M.description && /* @__PURE__ */ h("p", {
410
+ M.description && /* @__PURE__ */ g("p", {
411
411
  className: "text-sm text-text-secondary",
412
412
  children: M.description
413
413
  })
414
414
  ]
415
- }), /* @__PURE__ */ g("div", {
415
+ }), /* @__PURE__ */ _("div", {
416
416
  className: "flex flex-wrap items-center gap-control-gap",
417
417
  children: [
418
- /* @__PURE__ */ g(p, {
418
+ /* @__PURE__ */ _(p, {
419
419
  onClick: () => V(!B),
420
420
  disabled: !j,
421
421
  "aria-expanded": B,
422
422
  "aria-controls": "pipeline-test-panel",
423
423
  className: v,
424
- children: [/* @__PURE__ */ h(x, { className: "h-icon-sm w-icon-sm" }), T("bigconsole.pipelines.actions.test", "Test")]
424
+ children: [/* @__PURE__ */ g(x, { className: "h-icon-sm w-icon-sm" }), T("bigconsole.pipelines.actions.test", "Test")]
425
425
  }),
426
- /* @__PURE__ */ g(p, {
426
+ /* @__PURE__ */ _(p, {
427
427
  variant: "secondary",
428
428
  onClick: Z,
429
429
  disabled: !A,
430
430
  className: v,
431
- children: [/* @__PURE__ */ h(b, { className: "h-icon-sm w-icon-sm" }), T("bigconsole.pipelines.actions.edit", "Edit")]
431
+ children: [/* @__PURE__ */ g(b, { className: "h-icon-sm w-icon-sm" }), T("bigconsole.pipelines.actions.edit", "Edit")]
432
432
  }),
433
- ge && /* @__PURE__ */ g(p, {
433
+ ge && /* @__PURE__ */ _(p, {
434
434
  variant: "destructive",
435
435
  onClick: be,
436
436
  className: v,
437
- children: [/* @__PURE__ */ h(fe, { className: "h-icon-sm w-icon-sm" }), T("bigconsole.pipelines.actions.delete", "Delete")]
437
+ children: [/* @__PURE__ */ g(fe, { className: "h-icon-sm w-icon-sm" }), T("bigconsole.pipelines.actions.delete", "Delete")]
438
438
  })
439
439
  ]
440
440
  })]
441
441
  }),
442
- /* @__PURE__ */ h(m, {
442
+ /* @__PURE__ */ g(m, {
443
443
  className: "max-w-[75ch]",
444
444
  children: T("bigconsole.pipelines.view.purpose", "A pipeline chains parsers and a data sink into a repeatable flow. Review its stages here, test it with sample input to confirm the output, then edit the stages or run it to process real data into the connected sink.")
445
445
  }),
446
- /* @__PURE__ */ h(ce, {
446
+ /* @__PURE__ */ g(ce, {
447
447
  storageKey: "bigconsole-pipeline-view",
448
448
  steps: [
449
449
  ...j ? [{
@@ -466,61 +466,61 @@ var v = "min-h-[var(--size-controlHeight-md)]", ue = "rounded-pill bg-bg-sunken
466
466
  }
467
467
  ]
468
468
  }),
469
- /* @__PURE__ */ g("div", {
469
+ /* @__PURE__ */ _("div", {
470
470
  className: "grid grid-cols-1 gap-section-gap lg:grid-cols-3",
471
- children: [/* @__PURE__ */ h("div", {
471
+ children: [/* @__PURE__ */ g("div", {
472
472
  className: "min-w-0 lg:col-span-2",
473
- children: /* @__PURE__ */ g(i, { children: [
473
+ children: /* @__PURE__ */ _(i, { children: [
474
474
  Te,
475
- R && R.pipelineId === l && /* @__PURE__ */ h(r, {
475
+ R && R.pipelineId === l && /* @__PURE__ */ g(r, {
476
476
  emphasis: "primary",
477
477
  headingLevel: 2,
478
478
  title: T("bigconsole.pipelines.execution.timelineHeading", "Stage timeline"),
479
479
  "data-testid": "pipeline-stage-timeline",
480
- children: /* @__PURE__ */ g("div", {
480
+ children: /* @__PURE__ */ _("div", {
481
481
  className: "flex flex-col gap-form-gap",
482
482
  children: [
483
- /* @__PURE__ */ g("dl", {
483
+ /* @__PURE__ */ _("dl", {
484
484
  className: "grid grid-cols-1 gap-form-gap sm:grid-cols-2",
485
485
  children: [
486
- /* @__PURE__ */ g("div", { children: [/* @__PURE__ */ h("dt", {
486
+ /* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("dt", {
487
487
  className: "text-xs text-text-muted",
488
488
  children: T("bigconsole.pipelines.execution.runStatus", "Run status")
489
- }), /* @__PURE__ */ h("dd", {
489
+ }), /* @__PURE__ */ g("dd", {
490
490
  className: "font-medium text-text-primary",
491
491
  children: R.status
492
492
  })] }),
493
- /* @__PURE__ */ g("div", { children: [/* @__PURE__ */ h("dt", {
493
+ /* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("dt", {
494
494
  className: "text-xs text-text-muted",
495
495
  children: T("bigconsole.pipelines.execution.totalDuration", "Total duration")
496
- }), /* @__PURE__ */ h("dd", {
496
+ }), /* @__PURE__ */ g("dd", {
497
497
  className: "text-text-primary",
498
498
  children: R.totalExecutionTimeMs == null ? "—" : `${R.totalExecutionTimeMs} ms`
499
499
  })] }),
500
- /* @__PURE__ */ g("div", { children: [/* @__PURE__ */ h("dt", {
500
+ /* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("dt", {
501
501
  className: "text-xs text-text-muted",
502
502
  children: T("bigconsole.pipelines.execution.started", "Started")
503
- }), /* @__PURE__ */ h("dd", {
503
+ }), /* @__PURE__ */ g("dd", {
504
504
  className: "break-words text-text-primary",
505
505
  children: new Date(R.startedAt).toLocaleString()
506
506
  })] }),
507
- /* @__PURE__ */ g("div", { children: [/* @__PURE__ */ h("dt", {
507
+ /* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("dt", {
508
508
  className: "text-xs text-text-muted",
509
509
  children: T("bigconsole.pipelines.execution.finished", "Finished")
510
- }), /* @__PURE__ */ h("dd", {
510
+ }), /* @__PURE__ */ g("dd", {
511
511
  className: "break-words text-text-primary",
512
512
  children: R.completedAt ? new Date(R.completedAt).toLocaleString() : "—"
513
513
  })] })
514
514
  ]
515
515
  }),
516
- /* @__PURE__ */ h("ol", {
516
+ /* @__PURE__ */ g("ol", {
517
517
  className: "flex flex-col gap-control-gap",
518
- children: R.stageResults.map((e, t) => /* @__PURE__ */ g("li", {
518
+ children: R.stageResults.map((e, t) => /* @__PURE__ */ _("li", {
519
519
  className: "min-w-0 rounded-card border border-[var(--color-border-subtle)] bg-bg-sunken p-3",
520
520
  children: [
521
- /* @__PURE__ */ g("div", {
521
+ /* @__PURE__ */ _("div", {
522
522
  className: "flex flex-wrap items-center justify-between gap-control-gap",
523
- children: [/* @__PURE__ */ g("h3", {
523
+ children: [/* @__PURE__ */ _("h3", {
524
524
  className: "min-w-0 break-words font-medium text-text-primary",
525
525
  children: [
526
526
  t + 1,
@@ -528,7 +528,7 @@ var v = "min-h-[var(--size-controlHeight-md)]", ue = "rounded-pill bg-bg-sunken
528
528
  " ",
529
529
  e.stageName ?? M.stages.find((t) => t.id === e.stageId)?.parserName ?? e.stageId
530
530
  ]
531
- }), /* @__PURE__ */ g("span", {
531
+ }), /* @__PURE__ */ _("span", {
532
532
  className: "text-sm text-text-secondary",
533
533
  children: [
534
534
  e.status,
@@ -538,16 +538,16 @@ var v = "min-h-[var(--size-controlHeight-md)]", ue = "rounded-pill bg-bg-sunken
538
538
  ]
539
539
  })]
540
540
  }),
541
- e.error && /* @__PURE__ */ h("p", {
541
+ e.error && /* @__PURE__ */ g("p", {
542
542
  className: "mt-2 break-words text-sm text-status-error-text",
543
543
  children: e.error
544
544
  }),
545
- e.output != null && /* @__PURE__ */ g("details", {
545
+ e.output != null && /* @__PURE__ */ _("details", {
546
546
  className: "mt-2",
547
- children: [/* @__PURE__ */ h("summary", {
547
+ children: [/* @__PURE__ */ g("summary", {
548
548
  className: "cursor-pointer text-sm text-text-secondary",
549
549
  children: T("bigconsole.pipelines.execution.stageOutput", "Stage output")
550
- }), /* @__PURE__ */ h("pre", {
550
+ }), /* @__PURE__ */ g("pre", {
551
551
  className: "mt-2 max-h-48 overflow-auto rounded-input bg-bg-canvas p-3 text-xs",
552
552
  children: JSON.stringify(e.output, null, 2)
553
553
  })]
@@ -555,7 +555,7 @@ var v = "min-h-[var(--size-controlHeight-md)]", ue = "rounded-pill bg-bg-sunken
555
555
  ]
556
556
  }, e.id))
557
557
  }),
558
- R.error && /* @__PURE__ */ h("p", {
558
+ R.error && /* @__PURE__ */ g("p", {
559
559
  role: "alert",
560
560
  className: "break-words text-sm text-status-error-text",
561
561
  children: R.error
@@ -565,32 +565,32 @@ var v = "min-h-[var(--size-controlHeight-md)]", ue = "rounded-pill bg-bg-sunken
565
565
  }),
566
566
  we
567
567
  ] })
568
- }), /* @__PURE__ */ h("div", {
568
+ }), /* @__PURE__ */ g("div", {
569
569
  className: "min-w-0",
570
- children: /* @__PURE__ */ g(i, { children: [/* @__PURE__ */ h(r, {
570
+ children: /* @__PURE__ */ _(i, { children: [/* @__PURE__ */ g(r, {
571
571
  headingLevel: 2,
572
572
  title: T("bigconsole.pipelines.execution.historyHeading", "Previous runs"),
573
573
  "data-testid": "pipeline-execution-history",
574
- children: I.filter((e) => e.pipelineId === l).length === 0 ? /* @__PURE__ */ h("p", {
574
+ children: I.filter((e) => e.pipelineId === l).length === 0 ? /* @__PURE__ */ g("p", {
575
575
  className: "text-sm text-text-secondary",
576
576
  children: T("bigconsole.pipelines.execution.noHistory", "No execution history yet. Test this pipeline with sample input to inspect its stages.")
577
- }) : /* @__PURE__ */ h("ol", {
577
+ }) : /* @__PURE__ */ g("ol", {
578
578
  className: "flex flex-col gap-control-gap",
579
- children: I.filter((e) => e.pipelineId === l).map((e) => /* @__PURE__ */ h("li", { children: /* @__PURE__ */ g("button", {
579
+ children: I.filter((e) => e.pipelineId === l).map((e) => /* @__PURE__ */ g("li", { children: /* @__PURE__ */ _("button", {
580
580
  type: "button",
581
581
  "aria-pressed": R?.id === e.id,
582
582
  onClick: () => z(e),
583
583
  className: `flex w-full min-w-0 flex-col gap-1 rounded-button border border-[var(--color-border-subtle)] p-3 text-left ${n} ${R?.id === e.id ? "bg-bg-sunken" : "bg-bg-surface"}`,
584
584
  children: [
585
- /* @__PURE__ */ g("span", {
585
+ /* @__PURE__ */ _("span", {
586
586
  className: "flex flex-wrap justify-between gap-2 text-sm font-medium text-text-primary",
587
- children: [/* @__PURE__ */ h("span", { children: e.status }), /* @__PURE__ */ h("span", { children: e.totalExecutionTimeMs == null ? "—" : `${e.totalExecutionTimeMs} ms` })]
587
+ children: [/* @__PURE__ */ g("span", { children: e.status }), /* @__PURE__ */ g("span", { children: e.totalExecutionTimeMs == null ? "—" : `${e.totalExecutionTimeMs} ms` })]
588
588
  }),
589
- /* @__PURE__ */ h("span", {
589
+ /* @__PURE__ */ g("span", {
590
590
  className: "break-words text-xs text-text-secondary",
591
591
  children: new Date(e.startedAt).toLocaleString()
592
592
  }),
593
- /* @__PURE__ */ h("span", {
593
+ /* @__PURE__ */ g("span", {
594
594
  className: "truncate font-mono text-xs text-text-muted",
595
595
  title: e.id,
596
596
  children: e.id
@@ -598,37 +598,37 @@ var v = "min-h-[var(--size-controlHeight-md)]", ue = "rounded-pill bg-bg-sunken
598
598
  ]
599
599
  }) }, e.id))
600
600
  })
601
- }), /* @__PURE__ */ h(r, {
601
+ }), /* @__PURE__ */ g(r, {
602
602
  emphasis: "muted",
603
603
  headingLevel: 2,
604
604
  title: T("bigconsole.pipelines.view.detailsHeading", "Details"),
605
605
  "data-testid": "pipeline-details",
606
- children: /* @__PURE__ */ g("dl", {
606
+ children: /* @__PURE__ */ _("dl", {
607
607
  className: "flex flex-col gap-form-gap text-sm",
608
- children: [/* @__PURE__ */ g("div", {
608
+ children: [/* @__PURE__ */ _("div", {
609
609
  className: "flex flex-col gap-3",
610
610
  children: [
611
- /* @__PURE__ */ g("div", { children: [/* @__PURE__ */ h("dt", {
611
+ /* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("dt", {
612
612
  className: "text-xs text-text-muted",
613
613
  children: T("bigconsole.pipelines.view.detailStatus", "Status")
614
- }), /* @__PURE__ */ h("dd", {
614
+ }), /* @__PURE__ */ g("dd", {
615
615
  className: "mt-1",
616
- children: /* @__PURE__ */ h(c, {
616
+ children: /* @__PURE__ */ g(c, {
617
617
  status: M.status,
618
618
  size: "sm"
619
619
  })
620
620
  })] }),
621
- /* @__PURE__ */ g("div", { children: [/* @__PURE__ */ h("dt", {
621
+ /* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("dt", {
622
622
  className: "text-xs text-text-muted",
623
623
  children: T("bigconsole.pipelines.view.detailStages", "Stages")
624
- }), /* @__PURE__ */ h("dd", {
624
+ }), /* @__PURE__ */ g("dd", {
625
625
  className: "text-text-primary",
626
626
  children: Q
627
627
  })] }),
628
- /* @__PURE__ */ g("div", { children: [/* @__PURE__ */ h("dt", {
628
+ /* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("dt", {
629
629
  className: "text-xs text-text-muted",
630
630
  children: T("bigconsole.pipelines.view.detailLastExecuted", "Last Executed")
631
- }), /* @__PURE__ */ h("dd", {
631
+ }), /* @__PURE__ */ g("dd", {
632
632
  className: "break-words text-text-primary",
633
633
  children: M.lastExecutedAt ? new Date(M.lastExecutedAt).toLocaleString(void 0, {
634
634
  dateStyle: "medium",
@@ -636,30 +636,30 @@ var v = "min-h-[var(--size-controlHeight-md)]", ue = "rounded-pill bg-bg-sunken
636
636
  }) : T("bigconsole.pipelines.view.detailNever", "Never")
637
637
  })] })
638
638
  ]
639
- }), /* @__PURE__ */ g("div", {
639
+ }), /* @__PURE__ */ _("div", {
640
640
  className: "flex flex-col gap-3 border-t border-[var(--color-border-subtle)] pt-form-gap",
641
641
  children: [
642
- /* @__PURE__ */ g("div", { children: [/* @__PURE__ */ h("dt", {
642
+ /* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("dt", {
643
643
  className: "text-xs text-text-muted",
644
644
  children: T("bigconsole.pipelines.view.detailVersion", "Version")
645
- }), /* @__PURE__ */ h("dd", {
645
+ }), /* @__PURE__ */ g("dd", {
646
646
  className: "text-text-primary",
647
647
  children: M.version
648
648
  })] }),
649
- /* @__PURE__ */ g("div", { children: [/* @__PURE__ */ h("dt", {
649
+ /* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("dt", {
650
650
  className: "text-xs text-text-muted",
651
651
  children: T("bigconsole.pipelines.view.detailCreated", "Created")
652
- }), /* @__PURE__ */ h("dd", {
652
+ }), /* @__PURE__ */ g("dd", {
653
653
  className: "break-words text-text-primary",
654
654
  children: new Date(M.createdAt).toLocaleString(void 0, {
655
655
  dateStyle: "medium",
656
656
  timeStyle: "short"
657
657
  })
658
658
  })] }),
659
- /* @__PURE__ */ g("div", { children: [/* @__PURE__ */ h("dt", {
659
+ /* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("dt", {
660
660
  className: "text-xs text-text-muted",
661
661
  children: T("bigconsole.pipelines.view.detailUpdated", "Updated")
662
- }), /* @__PURE__ */ h("dd", {
662
+ }), /* @__PURE__ */ g("dd", {
663
663
  className: "break-words text-text-primary",
664
664
  children: new Date(M.updatedAt).toLocaleString(void 0, {
665
665
  dateStyle: "medium",
@@ -672,7 +672,7 @@ var v = "min-h-[var(--size-controlHeight-md)]", ue = "rounded-pill bg-bg-sunken
672
672
  })] })
673
673
  })]
674
674
  })
675
- ] }), M && /* @__PURE__ */ h(te, {
675
+ ] }), M && /* @__PURE__ */ g(te, {
676
676
  pipeline: M,
677
677
  isOpen: ye,
678
678
  onClose: U,