@burdenoff/microfe-bigconsole 2026.805.1 → 2026.805.3

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 (150) hide show
  1. package/dist/bigconsole/AdminRoot.js +21 -16
  2. package/dist/bigconsole/AdminRoot.js.map +1 -1
  3. package/dist/bigconsole/BigConsoleRoot.js +44 -39
  4. package/dist/bigconsole/BigConsoleRoot.js.map +1 -1
  5. package/dist/bigconsole/components/builder/inspector/DataBindingSection.js +109 -113
  6. package/dist/bigconsole/components/builder/inspector/DataBindingSection.js.map +1 -1
  7. package/dist/bigconsole/components/dashboard/CreateDashboardDialog.js +115 -113
  8. package/dist/bigconsole/components/dashboard/CreateDashboardDialog.js.map +1 -1
  9. package/dist/bigconsole/components/dashboard/DashboardCanvas.js +71 -62
  10. package/dist/bigconsole/components/dashboard/DashboardCanvas.js.map +1 -1
  11. package/dist/bigconsole/components/dashboard/DashboardToolbar.js +116 -100
  12. package/dist/bigconsole/components/dashboard/DashboardToolbar.js.map +1 -1
  13. package/dist/bigconsole/components/dashboard/DrilldownBreadcrumb.js +56 -54
  14. package/dist/bigconsole/components/dashboard/DrilldownBreadcrumb.js.map +1 -1
  15. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterChip.js +126 -125
  16. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterChip.js.map +1 -1
  17. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterEditor.js +151 -150
  18. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterEditor.js.map +1 -1
  19. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterPresetSelector.js +77 -76
  20. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterPresetSelector.js.map +1 -1
  21. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/GlobalFiltersBar.js +97 -96
  22. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/GlobalFiltersBar.js.map +1 -1
  23. package/dist/bigconsole/components/dashboard/ImportDashboardDialog.js +172 -191
  24. package/dist/bigconsole/components/dashboard/ImportDashboardDialog.js.map +1 -1
  25. package/dist/bigconsole/components/dashboard/PageTabsManager/PageTabsManager.js +100 -98
  26. package/dist/bigconsole/components/dashboard/PageTabsManager/PageTabsManager.js.map +1 -1
  27. package/dist/bigconsole/components/dashboard/PublishToStoreDialog.js +75 -83
  28. package/dist/bigconsole/components/dashboard/PublishToStoreDialog.js.map +1 -1
  29. package/dist/bigconsole/components/dashboard/SavedViewsDropdown/SavedViewsDropdown.js +151 -154
  30. package/dist/bigconsole/components/dashboard/SavedViewsDropdown/SavedViewsDropdown.js.map +1 -1
  31. package/dist/bigconsole/components/dashboard/ShareDialog/EmbedTab.js +187 -193
  32. package/dist/bigconsole/components/dashboard/ShareDialog/EmbedTab.js.map +1 -1
  33. package/dist/bigconsole/components/dashboard/TemplatePicker/TemplatePicker.js +1 -0
  34. package/dist/bigconsole/components/dashboard/WidgetPalette.js +110 -108
  35. package/dist/bigconsole/components/dashboard/WidgetPalette.js.map +1 -1
  36. package/dist/bigconsole/components/datasink/CacheTTLSelector.js +102 -103
  37. package/dist/bigconsole/components/datasink/CacheTTLSelector.js.map +1 -1
  38. package/dist/bigconsole/components/datasink/DataSinkCard.js +20 -20
  39. package/dist/bigconsole/components/datasink/DataSinkCard.js.map +1 -1
  40. package/dist/bigconsole/components/datasink/DataSinkDeleteDialog.js +36 -41
  41. package/dist/bigconsole/components/datasink/DataSinkDeleteDialog.js.map +1 -1
  42. package/dist/bigconsole/components/datasink/DataSinkRefreshDialog.js +38 -37
  43. package/dist/bigconsole/components/datasink/DataSinkRefreshDialog.js.map +1 -1
  44. package/dist/bigconsole/components/datasink/ImportDataGuideDialog.js +113 -117
  45. package/dist/bigconsole/components/datasink/ImportDataGuideDialog.js.map +1 -1
  46. package/dist/bigconsole/components/datasink/ImportDataSinkDialog.js +182 -197
  47. package/dist/bigconsole/components/datasink/ImportDataSinkDialog.js.map +1 -1
  48. package/dist/bigconsole/components/datasink/RefreshTypeSelector.js +166 -168
  49. package/dist/bigconsole/components/datasink/RefreshTypeSelector.js.map +1 -1
  50. package/dist/bigconsole/components/parser/DataSinkSelector.js +87 -86
  51. package/dist/bigconsole/components/parser/DataSinkSelector.js.map +1 -1
  52. package/dist/bigconsole/components/parser/ImportParserDialog.js +196 -211
  53. package/dist/bigconsole/components/parser/ImportParserDialog.js.map +1 -1
  54. package/dist/bigconsole/components/parser/ParserSelector.js +130 -128
  55. package/dist/bigconsole/components/parser/ParserSelector.js.map +1 -1
  56. package/dist/bigconsole/components/preview/AiPreviewMiniPanel.js +66 -63
  57. package/dist/bigconsole/components/preview/AiPreviewMiniPanel.js.map +1 -1
  58. package/dist/bigconsole/components/preview/AiPreviewPanel.js +95 -91
  59. package/dist/bigconsole/components/preview/AiPreviewPanel.js.map +1 -1
  60. package/dist/bigconsole/components/widgets/ActionConfigDialog.js +243 -230
  61. package/dist/bigconsole/components/widgets/ActionConfigDialog.js.map +1 -1
  62. package/dist/bigconsole/components/widgets/DrilldownConfigPanel.js +149 -145
  63. package/dist/bigconsole/components/widgets/DrilldownConfigPanel.js.map +1 -1
  64. package/dist/bigconsole/components/widgets/PropertiesPanel.js +504 -470
  65. package/dist/bigconsole/components/widgets/PropertiesPanel.js.map +1 -1
  66. package/dist/bigconsole/components/widgets/WidgetMenu.js +87 -76
  67. package/dist/bigconsole/components/widgets/WidgetMenu.js.map +1 -1
  68. package/dist/bigconsole/components/widgets/calendar/CalendarWidget.js +44 -47
  69. package/dist/bigconsole/components/widgets/calendar/CalendarWidget.js.map +1 -1
  70. package/dist/bigconsole/components/widgets/chart/ChartConfig.js +143 -142
  71. package/dist/bigconsole/components/widgets/chart/ChartConfig.js.map +1 -1
  72. package/dist/bigconsole/components/widgets/comments/WidgetComments.js +101 -88
  73. package/dist/bigconsole/components/widgets/comments/WidgetComments.js.map +1 -1
  74. package/dist/bigconsole/components/widgets/event-logs/EventLogViewer.js +135 -134
  75. package/dist/bigconsole/components/widgets/event-logs/EventLogViewer.js.map +1 -1
  76. package/dist/bigconsole/components/widgets/form/FormWidget.js +167 -159
  77. package/dist/bigconsole/components/widgets/form/FormWidget.js.map +1 -1
  78. package/dist/bigconsole/components/widgets/gauge/GaugeConfig.js +69 -68
  79. package/dist/bigconsole/components/widgets/gauge/GaugeConfig.js.map +1 -1
  80. package/dist/bigconsole/components/widgets/heatmap/HeatmapConfig.js +64 -72
  81. package/dist/bigconsole/components/widgets/heatmap/HeatmapConfig.js.map +1 -1
  82. package/dist/bigconsole/components/widgets/kanban/KanbanWidget.js +60 -59
  83. package/dist/bigconsole/components/widgets/kanban/KanbanWidget.js.map +1 -1
  84. package/dist/bigconsole/components/widgets/list/ListConfig.js +57 -56
  85. package/dist/bigconsole/components/widgets/list/ListConfig.js.map +1 -1
  86. package/dist/bigconsole/components/widgets/metric-card/MetricCardConfig.js +70 -69
  87. package/dist/bigconsole/components/widgets/metric-card/MetricCardConfig.js.map +1 -1
  88. package/dist/bigconsole/components/widgets/metric-card/SparklineChart.js +35 -34
  89. package/dist/bigconsole/components/widgets/metric-card/SparklineChart.js.map +1 -1
  90. package/dist/bigconsole/components/widgets/metric-card/TrendIndicator.js +20 -19
  91. package/dist/bigconsole/components/widgets/metric-card/TrendIndicator.js.map +1 -1
  92. package/dist/bigconsole/components/widgets/pivot-table/PivotTableWidget.js +178 -177
  93. package/dist/bigconsole/components/widgets/pivot-table/PivotTableWidget.js.map +1 -1
  94. package/dist/bigconsole/components/widgets/progress/ProgressConfig.js +76 -75
  95. package/dist/bigconsole/components/widgets/progress/ProgressConfig.js.map +1 -1
  96. package/dist/bigconsole/components/widgets/table/TableConfig.js +183 -168
  97. package/dist/bigconsole/components/widgets/table/TableConfig.js.map +1 -1
  98. package/dist/bigconsole/components/widgets/webhook-config/WebhookConfigPanel.js +187 -180
  99. package/dist/bigconsole/components/widgets/webhook-config/WebhookConfigPanel.js.map +1 -1
  100. package/dist/bigconsole/components/widgets/widget-actions/WidgetActions.js +120 -118
  101. package/dist/bigconsole/components/widgets/widget-actions/WidgetActions.js.map +1 -1
  102. package/dist/bigconsole/customWidget/CustomWidgetBuilderSheet.js +40 -38
  103. package/dist/bigconsole/customWidget/CustomWidgetBuilderSheet.js.map +1 -1
  104. package/dist/bigconsole/customWidget/CustomWidgetProposalPanel.js +150 -148
  105. package/dist/bigconsole/customWidget/CustomWidgetProposalPanel.js.map +1 -1
  106. package/dist/bigconsole/pages/DashboardBuilderPage.js +189 -175
  107. package/dist/bigconsole/pages/DashboardBuilderPage.js.map +1 -1
  108. package/dist/bigconsole/pages/DashboardViewPage.js +200 -187
  109. package/dist/bigconsole/pages/DashboardViewPage.js.map +1 -1
  110. package/dist/bigconsole/pages/DashboardsPage.js +379 -324
  111. package/dist/bigconsole/pages/DashboardsPage.js.map +1 -1
  112. package/dist/bigconsole/pages/DataParsersPage.js +185 -178
  113. package/dist/bigconsole/pages/DataParsersPage.js.map +1 -1
  114. package/dist/bigconsole/pages/DataSinkBuilderPage.js +195 -170
  115. package/dist/bigconsole/pages/DataSinkBuilderPage.js.map +1 -1
  116. package/dist/bigconsole/pages/DataSinkViewPage.js +224 -200
  117. package/dist/bigconsole/pages/DataSinkViewPage.js.map +1 -1
  118. package/dist/bigconsole/pages/DataSinksPage.js +281 -268
  119. package/dist/bigconsole/pages/DataSinksPage.js.map +1 -1
  120. package/dist/bigconsole/pages/DataSourcesPage.js +8 -7
  121. package/dist/bigconsole/pages/DataSourcesPage.js.map +1 -1
  122. package/dist/bigconsole/pages/InsightsPage.js +238 -208
  123. package/dist/bigconsole/pages/InsightsPage.js.map +1 -1
  124. package/dist/bigconsole/pages/ParserBuilderPage.js +480 -413
  125. package/dist/bigconsole/pages/ParserBuilderPage.js.map +1 -1
  126. package/dist/bigconsole/pages/ParserViewPage.js +192 -172
  127. package/dist/bigconsole/pages/ParserViewPage.js.map +1 -1
  128. package/dist/bigconsole/pages/PipelineBuilderPage.js +198 -163
  129. package/dist/bigconsole/pages/PipelineBuilderPage.js.map +1 -1
  130. package/dist/bigconsole/pages/PipelineViewPage.js +138 -133
  131. package/dist/bigconsole/pages/PipelineViewPage.js.map +1 -1
  132. package/dist/bigconsole/pages/PipelinesPage.js +162 -136
  133. package/dist/bigconsole/pages/PipelinesPage.js.map +1 -1
  134. package/dist/bigconsole/pages/SettingsPage.js +177 -172
  135. package/dist/bigconsole/pages/SettingsPage.js.map +1 -1
  136. package/dist/bigconsole/pages/WidgetDemoPage.js +121 -83
  137. package/dist/bigconsole/pages/WidgetDemoPage.js.map +1 -1
  138. package/dist/bigconsole/pages/WorkflowViewPage.js +269 -242
  139. package/dist/bigconsole/pages/WorkflowViewPage.js.map +1 -1
  140. package/dist/bigconsole/pages/WorkflowsPage.js +153 -138
  141. package/dist/bigconsole/pages/WorkflowsPage.js.map +1 -1
  142. package/dist/bigconsole/renderers/adapters/AdaptiveCardRenderer.js +111 -109
  143. package/dist/bigconsole/renderers/adapters/AdaptiveCardRenderer.js.map +1 -1
  144. package/dist/bigconsole/renderers/adapters/BlockKitRenderer.js +127 -126
  145. package/dist/bigconsole/renderers/adapters/BlockKitRenderer.js.map +1 -1
  146. package/dist/bigconsole/renderers/adapters/CustomRenderer.js +103 -103
  147. package/dist/bigconsole/renderers/adapters/CustomRenderer.js.map +1 -1
  148. package/dist/constants/permissions.js +83 -0
  149. package/dist/constants/permissions.js.map +1 -0
  150. package/package.json +2 -1
@@ -2,10 +2,14 @@ import { useAppNavigate as e } from "../contexts/NavigationContext.js";
2
2
  import "../contexts/index.js";
3
3
  import t from "../hooks/useParserOperations.js";
4
4
  import n from "../hooks/usePipelineOperations.js";
5
- import r from "../components/pipeline/PipelineStatusBadge.js";
6
- import { memo as i, useCallback as a, useEffect as o, useMemo as s, useState as c } from "react";
7
- import { useParams as l } from "react-router";
8
- import { GlassCard as u, IllustratedEmptyState as d, PagePurpose as f } from "@burdenoff/fe-libs/ui";
5
+ import { BIGCONSOLE_PERMISSIONS as r } from "../../constants/permissions.js";
6
+ import i from "../components/pipeline/PipelineStatusBadge.js";
7
+ import { memo as a, useCallback as o, useEffect as s, useMemo as ee, useState as c } from "react";
8
+ import { useParams as te } from "react-router";
9
+ import { AccessDenied as ne } from "@burdenoff/fe-libs/shared/components";
10
+ import { usePermissions as l } from "@burdenoff/fe-libs/shared/providers/shell";
11
+ import { useI18n as u } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
12
+ import { GlassCard as d, IllustratedEmptyState as f, PagePurpose as re } from "@burdenoff/fe-libs/ui";
9
13
  import { jsx as p, jsxs as m } from "react/jsx-runtime";
10
14
  //#region src/bigconsole/pages/PipelineBuilderPage.tsx
11
15
  var h = ({ className: e }) => /* @__PURE__ */ p("svg", {
@@ -30,7 +34,7 @@ var h = ({ className: e }) => /* @__PURE__ */ p("svg", {
30
34
  strokeWidth: 2,
31
35
  d: "M12 4v16m8-8H4"
32
36
  })
33
- }), _ = ({ className: e }) => /* @__PURE__ */ p("svg", {
37
+ }), ie = ({ className: e }) => /* @__PURE__ */ p("svg", {
34
38
  className: e,
35
39
  fill: "none",
36
40
  stroke: "currentColor",
@@ -41,7 +45,7 @@ var h = ({ className: e }) => /* @__PURE__ */ p("svg", {
41
45
  strokeWidth: 2,
42
46
  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"
43
47
  })
44
- }), v = ({ className: e }) => /* @__PURE__ */ p("svg", {
48
+ }), ae = ({ className: e }) => /* @__PURE__ */ p("svg", {
45
49
  className: e,
46
50
  fill: "none",
47
51
  stroke: "currentColor",
@@ -52,7 +56,7 @@ var h = ({ className: e }) => /* @__PURE__ */ p("svg", {
52
56
  strokeWidth: 2,
53
57
  d: "M5 15l7-7 7 7"
54
58
  })
55
- }), y = ({ className: e }) => /* @__PURE__ */ p("svg", {
59
+ }), oe = ({ className: e }) => /* @__PURE__ */ p("svg", {
56
60
  className: e,
57
61
  fill: "none",
58
62
  stroke: "currentColor",
@@ -63,7 +67,7 @@ var h = ({ className: e }) => /* @__PURE__ */ p("svg", {
63
67
  strokeWidth: 2,
64
68
  d: "M19 9l-7 7-7-7"
65
69
  })
66
- }), b = ({ className: e }) => /* @__PURE__ */ p("svg", {
70
+ }), _ = ({ className: e }) => /* @__PURE__ */ p("svg", {
67
71
  className: e,
68
72
  fill: "none",
69
73
  stroke: "currentColor",
@@ -74,7 +78,7 @@ var h = ({ className: e }) => /* @__PURE__ */ p("svg", {
74
78
  strokeWidth: 2,
75
79
  d: "M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"
76
80
  })
77
- }), x = [
81
+ }), se = [
78
82
  {
79
83
  value: "draft",
80
84
  label: "Draft"
@@ -87,7 +91,7 @@ var h = ({ className: e }) => /* @__PURE__ */ p("svg", {
87
91
  value: "inactive",
88
92
  label: "Inactive"
89
93
  }
90
- ], S = [
94
+ ], ce = [
91
95
  {
92
96
  value: "fail",
93
97
  label: "Fail",
@@ -103,7 +107,7 @@ var h = ({ className: e }) => /* @__PURE__ */ p("svg", {
103
107
  label: "Fallback",
104
108
  description: "Use fallback value on error"
105
109
  }
106
- ], C = {
110
+ ], v = {
107
111
  parserId: "",
108
112
  parserName: "",
109
113
  parserType: null,
@@ -113,14 +117,14 @@ var h = ({ className: e }) => /* @__PURE__ */ p("svg", {
113
117
  onError: "fail",
114
118
  fallbackValue: "",
115
119
  description: ""
116
- }, w = i(function() {
117
- let { pipelineId: i } = l(), w = e(), T = !!i && i !== "new", E = "default", [D, O] = c(""), [k, A] = c(""), [j, M] = c("draft"), [N, P] = c([]), [F, I] = c(1), [L, R] = c(!1), [z, B] = c(null), { loading: V, error: H, fetchPipeline: U, createPipeline: W, updatePipeline: G } = n({
118
- consoleId: E,
120
+ }, y = a(function() {
121
+ let { t: a } = u(), { pipelineId: y } = te(), b = e(), x = !!y && y !== "new", S = "default", { hasPermission: C, isLoading: w } = l(), T = C(r.PIPELINE_READ), E = C(r.PIPELINE_CREATE), D = C(r.PIPELINE_UPDATE), O = x ? D : E, [k, A] = c(""), [j, M] = c(""), [N, P] = c("draft"), [F, I] = c([]), [L, R] = c(1), [z, B] = c(!1), [V, H] = c(null), { loading: U, error: W, fetchPipeline: G, createPipeline: K, updatePipeline: q } = n({
122
+ consoleId: S,
119
123
  skipFetch: !0
120
- }), { parsers: K } = t({ consoleId: E });
121
- o(() => {
122
- T && i && U(i).then((e) => {
123
- e && (O(e.name), A(e.description || ""), M(e.status), I(e.version), P((e.stages || []).map((e) => ({
124
+ }), { parsers: J } = t({ consoleId: S });
125
+ s(() => {
126
+ x && y && G(y).then((e) => {
127
+ e && (A(e.name), M(e.description || ""), P(e.status), R(e.version), I((e.stages || []).map((e) => ({
124
128
  id: e.id,
125
129
  parserId: e.parserId,
126
130
  parserName: e.parserName || "",
@@ -134,38 +138,47 @@ var h = ({ className: e }) => /* @__PURE__ */ p("svg", {
134
138
  }))));
135
139
  });
136
140
  }, [
137
- T,
138
- i,
139
- U
141
+ x,
142
+ y,
143
+ G
140
144
  ]);
141
- let q = s(() => !D.trim() || N.length === 0 ? !1 : N.every((e) => e.parserId && e.inputKey && e.outputKey), [D, N]), J = a(() => {
142
- w("/pipelines");
143
- }, [w]), Y = a(() => {
144
- P((e) => [...e, { ...C }]);
145
- }, []), X = a((e) => {
146
- P((t) => t.filter((t, n) => n !== e));
147
- }, []), Z = a((e, t) => {
148
- P((n) => {
145
+ let le = {
146
+ draft: a("bigconsole.pipelines.builder.status.draft", "Draft"),
147
+ active: a("bigconsole.pipelines.builder.status.active", "Active"),
148
+ inactive: a("bigconsole.pipelines.builder.status.inactive", "Inactive"),
149
+ error: a("bigconsole.pipelines.builder.status.error", "Error")
150
+ }, ue = {
151
+ fail: a("bigconsole.pipelines.builder.onError.fail", "Fail"),
152
+ skip: a("bigconsole.pipelines.builder.onError.skip", "Skip"),
153
+ fallback: a("bigconsole.pipelines.builder.onError.fallback", "Fallback")
154
+ }, Y = ee(() => !k.trim() || F.length === 0 ? !1 : F.every((e) => e.parserId && e.inputKey && e.outputKey), [k, F]), X = o(() => {
155
+ b("/pipelines");
156
+ }, [b]), Z = o(() => {
157
+ I((e) => [...e, { ...v }]);
158
+ }, []), de = o((e) => {
159
+ I((t) => t.filter((t, n) => n !== e));
160
+ }, []), Q = o((e, t) => {
161
+ I((n) => {
149
162
  let r = [...n], i = t === "up" ? e - 1 : e + 1;
150
163
  return i < 0 || i >= r.length ? n : ([r[e], r[i]] = [r[i], r[e]], r);
151
164
  });
152
- }, []), Q = a((e, t) => {
153
- P((n) => n.map((n, r) => r === e ? {
165
+ }, []), $ = o((e, t) => {
166
+ I((n) => n.map((n, r) => r === e ? {
154
167
  ...n,
155
168
  ...t
156
169
  } : n));
157
- }, []), $ = a((e, t) => {
158
- let n = K.find((e) => e.id === t);
159
- n && Q(e, {
170
+ }, []), fe = o((e, t) => {
171
+ let n = J.find((e) => e.id === t);
172
+ n && $(e, {
160
173
  parserId: n.id,
161
174
  parserName: n.name,
162
175
  parserType: n.type
163
176
  });
164
- }, [K, Q]), ee = a(async () => {
165
- if (q) {
166
- R(!0), B(null);
177
+ }, [J, $]), pe = o(async () => {
178
+ if (!(!Y || !O)) {
179
+ B(!0), H(null);
167
180
  try {
168
- let e = N.map((e) => ({
181
+ let e = F.map((e) => ({
169
182
  parserId: e.parserId,
170
183
  parserName: e.parserName,
171
184
  parserType: e.parserType || void 0,
@@ -176,42 +189,44 @@ var h = ({ className: e }) => /* @__PURE__ */ p("svg", {
176
189
  fallbackValue: e.fallbackValue ? JSON.parse(e.fallbackValue) : void 0,
177
190
  description: e.description || void 0
178
191
  }));
179
- if (T && i) await G(i, {
180
- name: D,
181
- description: k || void 0,
182
- status: j
183
- }, F) && w(`/pipelines/${i}`);
192
+ if (x && y) await q(y, {
193
+ name: k,
194
+ description: j || void 0,
195
+ status: N
196
+ }, L) && b(`/pipelines/${y}`);
184
197
  else {
185
- let t = await W({
186
- consoleId: E,
187
- name: D,
188
- description: k || void 0,
189
- status: j,
198
+ let t = await K({
199
+ consoleId: S,
200
+ name: k,
201
+ description: j || void 0,
202
+ status: N,
190
203
  stages: e
191
204
  });
192
- t && w(`/pipelines/${t.id}`);
205
+ t && b(`/pipelines/${t.id}`);
193
206
  }
194
207
  } catch (e) {
195
- B(e instanceof Error ? e.message : "Failed to save pipeline");
208
+ H(e instanceof Error ? e.message : a("bigconsole.pipelines.builder.errors.saveFailed", "Failed to save pipeline"));
196
209
  } finally {
197
- R(!1);
210
+ B(!1);
198
211
  }
199
212
  }
200
213
  }, [
201
- q,
202
- E,
203
- T,
204
- i,
205
- D,
214
+ Y,
215
+ S,
216
+ O,
217
+ x,
218
+ y,
206
219
  k,
207
220
  j,
208
221
  N,
209
222
  F,
210
- W,
211
- G,
212
- w
223
+ L,
224
+ K,
225
+ q,
226
+ b,
227
+ a
213
228
  ]);
214
- return V && T ? /* @__PURE__ */ p("div", {
229
+ return U && x ? /* @__PURE__ */ p("div", {
215
230
  className: "p-6",
216
231
  children: /* @__PURE__ */ m("div", {
217
232
  className: "flex flex-col items-center justify-center py-16",
@@ -233,31 +248,34 @@ var h = ({ className: e }) => /* @__PURE__ */ p("svg", {
233
248
  })]
234
249
  }), /* @__PURE__ */ p("p", {
235
250
  className: "text-sm text-text-secondary",
236
- children: "Loading Pipeline..."
251
+ children: a("bigconsole.pipelines.builder.loading", "Loading Pipeline...")
237
252
  })]
238
253
  })
239
- }) : H ? /* @__PURE__ */ p("div", {
254
+ }) : x && !w && !T ? /* @__PURE__ */ p(ne, {
255
+ title: a("bigconsole.pipelines.builder.accessDenied.title", "Access Denied"),
256
+ description: a("bigconsole.pipelines.builder.accessDenied.description", "You don't have permission to view this pipeline.")
257
+ }) : W ? /* @__PURE__ */ p("div", {
240
258
  className: "p-6",
241
259
  children: /* @__PURE__ */ m("div", {
242
260
  className: "flex flex-col items-center justify-center py-16 text-center",
243
261
  children: [
244
262
  /* @__PURE__ */ p("div", {
245
263
  className: "p-3 rounded-full bg-status-error-bg/10 mb-4",
246
- children: /* @__PURE__ */ p(b, { className: "w-8 h-8 text-status-error-text" })
264
+ children: /* @__PURE__ */ p(_, { className: "w-8 h-8 text-status-error-text" })
247
265
  }),
248
266
  /* @__PURE__ */ p("h3", {
249
267
  className: "text-lg font-medium text-text-primary mb-2",
250
- children: "Failed to load Pipeline"
268
+ children: a("bigconsole.pipelines.builder.errors.loadFailed", "Failed to load Pipeline")
251
269
  }),
252
270
  /* @__PURE__ */ p("p", {
253
271
  className: "text-sm text-text-secondary mb-4",
254
- children: H.message
272
+ children: W.message
255
273
  }),
256
274
  /* @__PURE__ */ p("button", {
257
275
  type: "button",
258
- onClick: J,
276
+ onClick: X,
259
277
  className: "px-4 py-2 text-sm font-medium text-action-primary-fg bg-action-primary-bg hover:bg-action-primary-bgHover rounded-md transition-colors",
260
- children: "Back to Pipelines"
278
+ children: a("bigconsole.pipelines.builder.actions.backToPipelines", "Back to Pipelines")
261
279
  })
262
280
  ]
263
281
  })
@@ -270,41 +288,42 @@ var h = ({ className: e }) => /* @__PURE__ */ p("svg", {
270
288
  className: "flex items-center gap-4",
271
289
  children: [/* @__PURE__ */ p("button", {
272
290
  type: "button",
273
- onClick: J,
291
+ onClick: X,
274
292
  className: "p-2 text-text-secondary hover:text-text-primary hover:bg-bg-sunken rounded-md transition-colors",
275
293
  children: /* @__PURE__ */ p(h, { className: "w-5 h-5" })
276
294
  }), /* @__PURE__ */ m("div", { children: [/* @__PURE__ */ p("h1", {
277
295
  className: "text-2xl font-bold text-text-primary",
278
- children: T ? "Edit Pipeline" : "Create Pipeline"
296
+ children: x ? a("bigconsole.pipelines.builder.header.editTitle", "Edit Pipeline") : a("bigconsole.pipelines.builder.header.createTitle", "Create Pipeline")
279
297
  }), /* @__PURE__ */ p("p", {
280
298
  className: "text-sm text-text-secondary mt-1",
281
- children: T ? "Update pipeline settings and stages" : "Create a new data transformation pipeline"
299
+ children: x ? a("bigconsole.pipelines.builder.header.editSubtitle", "Update pipeline settings and stages") : a("bigconsole.pipelines.builder.header.createSubtitle", "Create a new data transformation pipeline")
282
300
  })] })]
283
301
  }), /* @__PURE__ */ m("div", {
284
302
  className: "flex items-center gap-2",
285
303
  children: [/* @__PURE__ */ p("button", {
286
304
  type: "button",
287
- onClick: J,
305
+ onClick: X,
288
306
  className: "px-4 py-2 text-sm font-medium text-text-primary bg-bg-sunken hover:bg-border-default rounded-md transition-colors",
289
- children: "Cancel"
307
+ children: a("bigconsole.pipelines.builder.actions.cancel", "Cancel")
290
308
  }), /* @__PURE__ */ p("button", {
291
309
  type: "button",
292
- onClick: ee,
293
- disabled: !q || L,
294
- className: "px-4 py-2 text-sm font-medium text-action-primary-fg bg-action-primary-bg hover:bg-action-primary-bgHover rounded-md transition-colors disabled:opacity-50",
295
- children: L ? "Saving..." : T ? "Save Changes" : "Create Pipeline"
310
+ onClick: pe,
311
+ disabled: !Y || z || !O,
312
+ title: O ? void 0 : x ? a("bigconsole.pipelines.builder.actions.noUpdatePermission", "You don't have permission to update pipelines.") : a("bigconsole.pipelines.builder.actions.noCreatePermission", "You don't have permission to create pipelines."),
313
+ className: "px-4 py-2 text-sm font-medium text-action-primary-fg bg-action-primary-bg hover:bg-action-primary-bgHover rounded-md transition-colors disabled:opacity-50 disabled:cursor-not-allowed",
314
+ children: z ? a("bigconsole.pipelines.builder.actions.saving", "Saving...") : x ? a("bigconsole.pipelines.builder.actions.saveChanges", "Save Changes") : a("bigconsole.pipelines.builder.actions.createPipeline", "Create Pipeline")
296
315
  })]
297
316
  })]
298
317
  }),
299
- /* @__PURE__ */ p(f, {
318
+ /* @__PURE__ */ p(re, {
300
319
  className: "mb-6",
301
- children: "Build a pipeline by chaining parser stages — each stage reads an input key, runs a parser, and writes a structured output key that the next stage (or a data sink) can use. Name it, add your stages in order, then test it before saving so your data flows end to end."
320
+ children: a("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.")
302
321
  }),
303
- z && /* @__PURE__ */ p("div", {
322
+ V && /* @__PURE__ */ p("div", {
304
323
  className: "mb-6 p-4 bg-status-error-bg/10 border border-status-error-border/20 rounded-md",
305
324
  children: /* @__PURE__ */ p("p", {
306
325
  className: "text-sm text-status-error-text",
307
- children: z
326
+ children: V
308
327
  })
309
328
  }),
310
329
  /* @__PURE__ */ m("div", {
@@ -315,79 +334,79 @@ var h = ({ className: e }) => /* @__PURE__ */ p("svg", {
315
334
  className: "bg-bg-surface border border-border-default rounded-lg p-6",
316
335
  children: [/* @__PURE__ */ p("h2", {
317
336
  className: "text-lg font-semibold text-text-primary mb-4",
318
- children: "Basic Information"
337
+ children: a("bigconsole.pipelines.builder.basicInfo.heading", "Basic Information")
319
338
  }), /* @__PURE__ */ m("div", {
320
339
  className: "space-y-4",
321
340
  children: [
322
341
  /* @__PURE__ */ m("div", { children: [/* @__PURE__ */ m("label", {
323
342
  className: "block text-sm font-medium text-text-primary mb-2",
324
- children: ["Name ", /* @__PURE__ */ p("span", {
325
- className: "text-status-error-text",
326
- children: "*"
327
- })]
343
+ children: [
344
+ a("bigconsole.pipelines.builder.basicInfo.nameLabel", "Name"),
345
+ " ",
346
+ /* @__PURE__ */ p("span", {
347
+ className: "text-status-error-text",
348
+ children: "*"
349
+ })
350
+ ]
328
351
  }), /* @__PURE__ */ p("input", {
329
352
  type: "text",
330
- value: D,
331
- onChange: (e) => O(e.target.value),
332
- placeholder: "My Pipeline",
353
+ value: k,
354
+ onChange: (e) => A(e.target.value),
355
+ placeholder: a("bigconsole.pipelines.builder.basicInfo.namePlaceholder", "My Pipeline"),
333
356
  className: "w-full px-3 py-2 text-sm text-text-primary bg-bg-surface border border-border-default rounded-md focus:outline-none focus:ring-2 focus:ring-action-primary-bg"
334
357
  })] }),
335
358
  /* @__PURE__ */ m("div", { children: [/* @__PURE__ */ p("label", {
336
359
  className: "block text-sm font-medium text-text-primary mb-2",
337
- children: "Description"
360
+ children: a("bigconsole.pipelines.builder.basicInfo.descriptionLabel", "Description")
338
361
  }), /* @__PURE__ */ p("textarea", {
339
- value: k,
340
- onChange: (e) => A(e.target.value),
341
- placeholder: "What does this pipeline do?",
362
+ value: j,
363
+ onChange: (e) => M(e.target.value),
364
+ placeholder: a("bigconsole.pipelines.builder.basicInfo.descriptionPlaceholder", "What does this pipeline do?"),
342
365
  rows: 3,
343
366
  className: "w-full px-3 py-2 text-sm text-text-primary bg-bg-surface border border-border-default rounded-md focus:outline-none focus:ring-2 focus:ring-action-primary-bg resize-none"
344
367
  })] }),
345
368
  /* @__PURE__ */ m("div", { children: [/* @__PURE__ */ p("label", {
346
369
  className: "block text-sm font-medium text-text-primary mb-2",
347
- children: "Status"
370
+ children: a("bigconsole.pipelines.builder.basicInfo.statusLabel", "Status")
348
371
  }), /* @__PURE__ */ p("select", {
349
- value: j,
350
- onChange: (e) => M(e.target.value),
372
+ value: N,
373
+ onChange: (e) => P(e.target.value),
351
374
  className: "w-full px-3 py-2 text-sm text-text-primary bg-bg-surface border border-border-default rounded-md focus:outline-none focus:ring-2 focus:ring-action-primary-bg",
352
- children: x.map((e) => /* @__PURE__ */ p("option", {
375
+ children: se.map((e) => /* @__PURE__ */ p("option", {
353
376
  value: e.value,
354
- children: e.label
377
+ children: le[e.value]
355
378
  }, e.value))
356
379
  })] })
357
380
  ]
358
381
  })]
359
- }), /* @__PURE__ */ m(u, {
382
+ }), /* @__PURE__ */ m(d, {
360
383
  treatment: "glass",
361
384
  glow: !0,
362
385
  className: "p-6",
363
386
  children: [/* @__PURE__ */ m("div", {
364
387
  className: "flex items-center justify-between mb-4",
365
- children: [/* @__PURE__ */ m("h2", {
388
+ children: [/* @__PURE__ */ p("h2", {
366
389
  className: "text-lg font-semibold text-text-primary",
367
- children: [
368
- "Stages (",
369
- N.length,
370
- ")"
371
- ]
390
+ children: a("bigconsole.pipelines.builder.stages.heading", "Stages ({{count}})", { count: F.length })
372
391
  }), /* @__PURE__ */ m("button", {
373
392
  type: "button",
374
- onClick: Y,
393
+ onClick: Z,
375
394
  className: "inline-flex items-center gap-2 px-3 py-1.5 text-sm font-medium text-action-primary-fg bg-action-primary-bg hover:bg-action-primary-bgHover rounded-md transition-colors",
376
- children: [/* @__PURE__ */ p(g, { className: "w-4 h-4" }), "Add Stage"]
395
+ children: [/* @__PURE__ */ p(g, { className: "w-4 h-4" }), a("bigconsole.pipelines.builder.stages.addStage", "Add Stage")]
377
396
  })]
378
- }), N.length === 0 ? /* @__PURE__ */ p(d, {
397
+ }), F.length === 0 ? /* @__PURE__ */ p(f, {
379
398
  illustration: "empty-generic",
380
- title: "No stages yet",
381
- description: "Add a stage to start building your pipeline.",
399
+ title: a("bigconsole.pipelines.builder.stages.emptyTitle", "No stages yet"),
400
+ description: a("bigconsole.pipelines.builder.stages.emptyDescription", "Add a stage to start building your pipeline."),
382
401
  action: /* @__PURE__ */ m("button", {
383
402
  type: "button",
384
- onClick: Y,
403
+ onClick: Z,
385
404
  className: "inline-flex items-center gap-2 px-4 py-2 text-sm font-medium text-action-primary-fg bg-action-primary-bg hover:bg-action-primary-bgHover rounded-md transition-colors",
386
- children: [/* @__PURE__ */ p(g, { className: "w-4 h-4" }), "Add First Stage"]
405
+ children: [/* @__PURE__ */ p(g, { className: "w-4 h-4" }), a("bigconsole.pipelines.builder.stages.addFirstStage", "Add First Stage")]
387
406
  })
388
407
  }) : /* @__PURE__ */ p("div", {
389
408
  className: "space-y-4",
390
- children: N.map((e, t) => /* @__PURE__ */ m("div", {
409
+ children: F.map((e, t) => /* @__PURE__ */ m("div", {
391
410
  className: "p-4 bg-bg-sunken border border-border-default rounded-lg",
392
411
  children: [/* @__PURE__ */ m("div", {
393
412
  className: "flex items-center justify-between mb-4",
@@ -398,30 +417,30 @@ var h = ({ className: e }) => /* @__PURE__ */ p("svg", {
398
417
  children: t + 1
399
418
  }), /* @__PURE__ */ p("span", {
400
419
  className: "font-medium text-text-primary",
401
- children: e.parserName || `Stage ${t + 1}`
420
+ children: e.parserName || a("bigconsole.pipelines.builder.stages.defaultStageName", "Stage {{number}}", { number: t + 1 })
402
421
  })]
403
422
  }), /* @__PURE__ */ m("div", {
404
423
  className: "flex items-center gap-1",
405
424
  children: [
406
425
  /* @__PURE__ */ p("button", {
407
426
  type: "button",
408
- onClick: () => Z(t, "up"),
427
+ onClick: () => Q(t, "up"),
409
428
  disabled: t === 0,
410
429
  className: "p-1 text-text-secondary hover:text-text-primary hover:bg-bg-surface rounded disabled:opacity-30",
411
- children: /* @__PURE__ */ p(v, { className: "w-4 h-4" })
430
+ children: /* @__PURE__ */ p(ae, { className: "w-4 h-4" })
412
431
  }),
413
432
  /* @__PURE__ */ p("button", {
414
433
  type: "button",
415
- onClick: () => Z(t, "down"),
416
- disabled: t === N.length - 1,
434
+ onClick: () => Q(t, "down"),
435
+ disabled: t === F.length - 1,
417
436
  className: "p-1 text-text-secondary hover:text-text-primary hover:bg-bg-surface rounded disabled:opacity-30",
418
- children: /* @__PURE__ */ p(y, { className: "w-4 h-4" })
437
+ children: /* @__PURE__ */ p(oe, { className: "w-4 h-4" })
419
438
  }),
420
439
  /* @__PURE__ */ p("button", {
421
440
  type: "button",
422
- onClick: () => X(t),
441
+ onClick: () => de(t),
423
442
  className: "p-1 text-text-secondary hover:text-status-error-text hover:bg-status-error-bg/10 rounded",
424
- children: /* @__PURE__ */ p(_, { className: "w-4 h-4" })
443
+ children: /* @__PURE__ */ p(ie, { className: "w-4 h-4" })
425
444
  })
426
445
  ]
427
446
  })]
@@ -432,18 +451,22 @@ var h = ({ className: e }) => /* @__PURE__ */ p("svg", {
432
451
  className: "col-span-2",
433
452
  children: [/* @__PURE__ */ m("label", {
434
453
  className: "block text-xs font-medium text-text-secondary mb-1",
435
- children: ["Parser ", /* @__PURE__ */ p("span", {
436
- className: "text-status-error-text",
437
- children: "*"
438
- })]
454
+ children: [
455
+ a("bigconsole.pipelines.builder.stages.parserLabel", "Parser"),
456
+ " ",
457
+ /* @__PURE__ */ p("span", {
458
+ className: "text-status-error-text",
459
+ children: "*"
460
+ })
461
+ ]
439
462
  }), /* @__PURE__ */ m("select", {
440
463
  value: e.parserId,
441
- onChange: (e) => $(t, e.target.value),
464
+ onChange: (e) => fe(t, e.target.value),
442
465
  className: "w-full px-3 py-2 text-sm text-text-primary bg-bg-surface border border-border-default rounded-md focus:outline-none focus:ring-2 focus:ring-action-primary-bg",
443
466
  children: [/* @__PURE__ */ p("option", {
444
467
  value: "",
445
- children: "Select a parser..."
446
- }), K.map((e) => /* @__PURE__ */ m("option", {
468
+ children: a("bigconsole.pipelines.builder.stages.parserPlaceholder", "Select a parser...")
469
+ }), J.map((e) => /* @__PURE__ */ m("option", {
447
470
  value: e.id,
448
471
  children: [
449
472
  e.name,
@@ -456,40 +479,48 @@ var h = ({ className: e }) => /* @__PURE__ */ p("svg", {
456
479
  }),
457
480
  /* @__PURE__ */ m("div", { children: [/* @__PURE__ */ m("label", {
458
481
  className: "block text-xs font-medium text-text-secondary mb-1",
459
- children: ["Input Key ", /* @__PURE__ */ p("span", {
460
- className: "text-status-error-text",
461
- children: "*"
462
- })]
482
+ children: [
483
+ a("bigconsole.pipelines.builder.stages.inputKeyLabel", "Input Key"),
484
+ " ",
485
+ /* @__PURE__ */ p("span", {
486
+ className: "text-status-error-text",
487
+ children: "*"
488
+ })
489
+ ]
463
490
  }), /* @__PURE__ */ p("input", {
464
491
  type: "text",
465
492
  value: e.inputKey,
466
- onChange: (e) => Q(t, { inputKey: e.target.value }),
467
- placeholder: "data",
493
+ onChange: (e) => $(t, { inputKey: e.target.value }),
494
+ placeholder: a("bigconsole.pipelines.builder.stages.inputKeyPlaceholder", "data"),
468
495
  className: "w-full px-3 py-2 text-sm font-mono text-text-primary bg-bg-surface border border-border-default rounded-md focus:outline-none focus:ring-2 focus:ring-action-primary-bg"
469
496
  })] }),
470
497
  /* @__PURE__ */ m("div", { children: [/* @__PURE__ */ m("label", {
471
498
  className: "block text-xs font-medium text-text-secondary mb-1",
472
- children: ["Output Key ", /* @__PURE__ */ p("span", {
473
- className: "text-status-error-text",
474
- children: "*"
475
- })]
499
+ children: [
500
+ a("bigconsole.pipelines.builder.stages.outputKeyLabel", "Output Key"),
501
+ " ",
502
+ /* @__PURE__ */ p("span", {
503
+ className: "text-status-error-text",
504
+ children: "*"
505
+ })
506
+ ]
476
507
  }), /* @__PURE__ */ p("input", {
477
508
  type: "text",
478
509
  value: e.outputKey,
479
- onChange: (e) => Q(t, { outputKey: e.target.value }),
480
- placeholder: "result",
510
+ onChange: (e) => $(t, { outputKey: e.target.value }),
511
+ placeholder: a("bigconsole.pipelines.builder.stages.outputKeyPlaceholder", "result"),
481
512
  className: "w-full px-3 py-2 text-sm font-mono text-text-primary bg-bg-surface border border-border-default rounded-md focus:outline-none focus:ring-2 focus:ring-action-primary-bg"
482
513
  })] }),
483
514
  /* @__PURE__ */ m("div", { children: [/* @__PURE__ */ p("label", {
484
515
  className: "block text-xs font-medium text-text-secondary mb-1",
485
- children: "On Error"
516
+ children: a("bigconsole.pipelines.builder.stages.onErrorLabel", "On Error")
486
517
  }), /* @__PURE__ */ p("select", {
487
518
  value: e.onError,
488
- onChange: (e) => Q(t, { onError: e.target.value }),
519
+ onChange: (e) => $(t, { onError: e.target.value }),
489
520
  className: "w-full px-3 py-2 text-sm text-text-primary bg-bg-surface border border-border-default rounded-md focus:outline-none focus:ring-2 focus:ring-action-primary-bg",
490
- children: S.map((e) => /* @__PURE__ */ p("option", {
521
+ children: ce.map((e) => /* @__PURE__ */ p("option", {
491
522
  value: e.value,
492
- children: e.label
523
+ children: ue[e.value]
493
524
  }, e.value))
494
525
  })] }),
495
526
  /* @__PURE__ */ p("div", {
@@ -499,11 +530,11 @@ var h = ({ className: e }) => /* @__PURE__ */ p("svg", {
499
530
  children: [/* @__PURE__ */ p("input", {
500
531
  type: "checkbox",
501
532
  checked: e.enabled,
502
- onChange: (e) => Q(t, { enabled: e.target.checked }),
533
+ onChange: (e) => $(t, { enabled: e.target.checked }),
503
534
  className: "w-4 h-4 rounded border-border-default text-action-primary-bg focus:ring-action-primary-bg"
504
535
  }), /* @__PURE__ */ p("span", {
505
536
  className: "text-sm text-text-primary",
506
- children: "Enabled"
537
+ children: a("bigconsole.pipelines.builder.stages.enabledLabel", "Enabled")
507
538
  })]
508
539
  })
509
540
  }),
@@ -511,11 +542,11 @@ var h = ({ className: e }) => /* @__PURE__ */ p("svg", {
511
542
  className: "col-span-2",
512
543
  children: [/* @__PURE__ */ p("label", {
513
544
  className: "block text-xs font-medium text-text-secondary mb-1",
514
- children: "Fallback Value (JSON)"
545
+ children: a("bigconsole.pipelines.builder.stages.fallbackValueLabel", "Fallback Value (JSON)")
515
546
  }), /* @__PURE__ */ p("input", {
516
547
  type: "text",
517
548
  value: e.fallbackValue,
518
- onChange: (e) => Q(t, { fallbackValue: e.target.value }),
549
+ onChange: (e) => $(t, { fallbackValue: e.target.value }),
519
550
  placeholder: "{\"default\": true}",
520
551
  className: "w-full px-3 py-2 text-sm font-mono text-text-primary bg-bg-surface border border-border-default rounded-md focus:outline-none focus:ring-2 focus:ring-action-primary-bg"
521
552
  })]
@@ -531,37 +562,37 @@ var h = ({ className: e }) => /* @__PURE__ */ p("svg", {
531
562
  className: "bg-bg-surface border border-border-default rounded-lg p-6",
532
563
  children: [/* @__PURE__ */ p("h2", {
533
564
  className: "text-lg font-semibold text-text-primary mb-4",
534
- children: "Preview"
565
+ children: a("bigconsole.pipelines.builder.preview.heading", "Preview")
535
566
  }), /* @__PURE__ */ m("div", {
536
567
  className: "space-y-3",
537
568
  children: [
538
569
  /* @__PURE__ */ m("div", { children: [/* @__PURE__ */ p("span", {
539
570
  className: "text-xs text-text-secondary",
540
- children: "Name"
571
+ children: a("bigconsole.pipelines.builder.preview.nameLabel", "Name")
541
572
  }), /* @__PURE__ */ p("p", {
542
573
  className: "text-sm text-text-primary",
543
- children: D || "Untitled"
574
+ children: k || a("bigconsole.pipelines.builder.preview.untitled", "Untitled")
544
575
  })] }),
545
576
  /* @__PURE__ */ m("div", { children: [/* @__PURE__ */ p("span", {
546
577
  className: "text-xs text-text-secondary",
547
- children: "Status"
578
+ children: a("bigconsole.pipelines.builder.preview.statusLabel", "Status")
548
579
  }), /* @__PURE__ */ p("div", {
549
580
  className: "mt-1",
550
- children: /* @__PURE__ */ p(r, { status: j })
581
+ children: /* @__PURE__ */ p(i, { status: N })
551
582
  })] }),
552
583
  /* @__PURE__ */ m("div", { children: [/* @__PURE__ */ p("span", {
553
584
  className: "text-xs text-text-secondary",
554
- children: "Stages"
585
+ children: a("bigconsole.pipelines.builder.preview.stagesLabel", "Stages")
555
586
  }), /* @__PURE__ */ p("p", {
556
587
  className: "text-sm text-text-primary",
557
- children: N.length
588
+ children: F.length
558
589
  })] }),
559
- N.length > 0 && /* @__PURE__ */ m("div", { children: [/* @__PURE__ */ p("span", {
590
+ F.length > 0 && /* @__PURE__ */ m("div", { children: [/* @__PURE__ */ p("span", {
560
591
  className: "text-xs text-text-secondary",
561
- children: "Data Flow"
592
+ children: a("bigconsole.pipelines.builder.preview.dataFlowLabel", "Data Flow")
562
593
  }), /* @__PURE__ */ m("div", {
563
594
  className: "mt-1 text-xs font-mono text-text-secondary",
564
- children: [N.map((e, t) => /* @__PURE__ */ m("span", { children: [e.inputKey, t < N.length - 1 && " → "] }, t)), N.length > 0 && ` → ${N[N.length - 1].outputKey}`]
595
+ children: [F.map((e, t) => /* @__PURE__ */ m("span", { children: [e.inputKey, t < F.length - 1 && " → "] }, t)), F.length > 0 && ` → ${F[F.length - 1].outputKey}`]
565
596
  })] })
566
597
  ]
567
598
  })]
@@ -569,14 +600,18 @@ var h = ({ className: e }) => /* @__PURE__ */ p("svg", {
569
600
  className: "bg-bg-sunken border border-border-default rounded-lg p-6",
570
601
  children: [/* @__PURE__ */ p("h3", {
571
602
  className: "text-sm font-semibold text-text-primary mb-2",
572
- children: "Tips"
603
+ children: a("bigconsole.pipelines.builder.tips.heading", "Tips")
573
604
  }), /* @__PURE__ */ m("ul", {
574
605
  className: "text-xs text-text-secondary space-y-2",
575
606
  children: [
576
- /* @__PURE__ */ p("li", { children: "• Each stage processes the output of the previous stage" }),
577
- /* @__PURE__ */ p("li", { children: " Use consistent input/output keys to chain data" }),
578
- /* @__PURE__ */ p("li", { children: "• Set error handling per stage for robustness" }),
579
- /* @__PURE__ */ p("li", { children: "• Disable stages to skip them during execution" })
607
+ /* @__PURE__ */ m("li", { children: [
608
+ "•",
609
+ " ",
610
+ a("bigconsole.pipelines.builder.tips.item1", "Each stage processes the output of the previous stage")
611
+ ] }),
612
+ /* @__PURE__ */ m("li", { children: ["• ", a("bigconsole.pipelines.builder.tips.item2", "Use consistent input/output keys to chain data")] }),
613
+ /* @__PURE__ */ m("li", { children: ["• ", a("bigconsole.pipelines.builder.tips.item3", "Set error handling per stage for robustness")] }),
614
+ /* @__PURE__ */ m("li", { children: ["• ", a("bigconsole.pipelines.builder.tips.item4", "Disable stages to skip them during execution")] })
580
615
  ]
581
616
  })]
582
617
  })]
@@ -586,6 +621,6 @@ var h = ({ className: e }) => /* @__PURE__ */ p("svg", {
586
621
  });
587
622
  });
588
623
  //#endregion
589
- export { w as PipelineBuilderPage, w as default };
624
+ export { y as PipelineBuilderPage, y as default };
590
625
 
591
626
  //# sourceMappingURL=PipelineBuilderPage.js.map