@burdenoff/microfe-bigconsole 2026.624.2 → 2026.625.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.
Files changed (71) hide show
  1. package/dist/bigconsole/BigConsoleRoutes.js +93 -93
  2. package/dist/bigconsole/assistant/assistantApi.js +215 -0
  3. package/dist/bigconsole/assistant/assistantApi.js.map +1 -0
  4. package/dist/bigconsole/assistant/createSandboxAssistantTransport.js +119 -0
  5. package/dist/bigconsole/assistant/createSandboxAssistantTransport.js.map +1 -0
  6. package/dist/bigconsole/assistant/index.js +2 -0
  7. package/dist/bigconsole/assistant/pageContext.js +51 -0
  8. package/dist/bigconsole/assistant/pageContext.js.map +1 -0
  9. package/dist/bigconsole/components/dashboard/CreateDashboardDialog.js +48 -48
  10. package/dist/bigconsole/components/dashboard/DashboardToolbar.js +52 -52
  11. package/dist/bigconsole/components/dashboard/DrilldownBreadcrumb.js.map +1 -1
  12. package/dist/bigconsole/components/dashboard/ExportDashboardDialog.js +33 -33
  13. package/dist/bigconsole/components/dashboard/ImportDashboardDialog.js +179 -179
  14. package/dist/bigconsole/components/dashboard/ImportDashboardDialog.js.map +1 -1
  15. package/dist/bigconsole/components/dashboard/WidgetPalette.js +38 -38
  16. package/dist/bigconsole/components/datasink/DataSinkTableViewer.js +32 -32
  17. package/dist/bigconsole/components/datasink/ExportDataSinkDialog.js +31 -31
  18. package/dist/bigconsole/components/datasink/ImportDataSinkDialog.js +98 -98
  19. package/dist/bigconsole/components/datasink/ImportDataSinkDialog.js.map +1 -1
  20. package/dist/bigconsole/components/parser/ExportParserDialog.js +31 -31
  21. package/dist/bigconsole/components/parser/ImportParserDialog.js +162 -162
  22. package/dist/bigconsole/components/parser/ImportParserDialog.js.map +1 -1
  23. package/dist/bigconsole/components/widgets/ActionConfigDialog.js +79 -79
  24. package/dist/bigconsole/components/widgets/ActionConfigDialog.js.map +1 -1
  25. package/dist/bigconsole/components/widgets/DrilldownConfigPanel.js.map +1 -1
  26. package/dist/bigconsole/components/widgets/PropertiesPanel.js +307 -307
  27. package/dist/bigconsole/components/widgets/PropertiesPanel.js.map +1 -1
  28. package/dist/bigconsole/components/widgets/WidgetConfigDialog.js +222 -222
  29. package/dist/bigconsole/components/widgets/WidgetConfigDialog.js.map +1 -1
  30. package/dist/bigconsole/components/widgets/WidgetTypeSelector.js +23 -23
  31. package/dist/bigconsole/index.js +3 -0
  32. package/dist/bigconsole/pages/DashboardBuilderPage.js +74 -74
  33. package/dist/bigconsole/pages/DashboardBuilderPage.js.map +1 -1
  34. package/dist/bigconsole/pages/DashboardViewPage.js +168 -189
  35. package/dist/bigconsole/pages/DashboardViewPage.js.map +1 -1
  36. package/dist/bigconsole/pages/DashboardsPage.js +266 -310
  37. package/dist/bigconsole/pages/DashboardsPage.js.map +1 -1
  38. package/dist/bigconsole/pages/DataParsersPage.js +148 -194
  39. package/dist/bigconsole/pages/DataParsersPage.js.map +1 -1
  40. package/dist/bigconsole/pages/DataSinkBuilderPage.js +252 -246
  41. package/dist/bigconsole/pages/DataSinkBuilderPage.js.map +1 -1
  42. package/dist/bigconsole/pages/DataSinkViewPage.js +256 -231
  43. package/dist/bigconsole/pages/DataSinkViewPage.js.map +1 -1
  44. package/dist/bigconsole/pages/DataSinksPage.js +173 -219
  45. package/dist/bigconsole/pages/DataSinksPage.js.map +1 -1
  46. package/dist/bigconsole/pages/HomePage.js +125 -141
  47. package/dist/bigconsole/pages/HomePage.js.map +1 -1
  48. package/dist/bigconsole/pages/InsightsPage.js +159 -184
  49. package/dist/bigconsole/pages/InsightsPage.js.map +1 -1
  50. package/dist/bigconsole/pages/ParserBuilderPage.js +401 -393
  51. package/dist/bigconsole/pages/ParserBuilderPage.js.map +1 -1
  52. package/dist/bigconsole/pages/ParserViewPage.js +220 -201
  53. package/dist/bigconsole/pages/ParserViewPage.js.map +1 -1
  54. package/dist/bigconsole/pages/PipelineBuilderPage.js +212 -206
  55. package/dist/bigconsole/pages/PipelineBuilderPage.js.map +1 -1
  56. package/dist/bigconsole/pages/PipelineViewPage.js +204 -181
  57. package/dist/bigconsole/pages/PipelineViewPage.js.map +1 -1
  58. package/dist/bigconsole/pages/PipelinesPage.js +107 -150
  59. package/dist/bigconsole/pages/PipelinesPage.js.map +1 -1
  60. package/dist/bigconsole/pages/SettingsPage.js +184 -171
  61. package/dist/bigconsole/pages/SettingsPage.js.map +1 -1
  62. package/dist/bigconsole/pages/WidgetDemoPage.js +69 -81
  63. package/dist/bigconsole/pages/WidgetDemoPage.js.map +1 -1
  64. package/dist/bigconsole/pages/WorkflowViewPage.js +230 -216
  65. package/dist/bigconsole/pages/WorkflowViewPage.js.map +1 -1
  66. package/dist/bigconsole/pages/WorkflowsPage.js +106 -149
  67. package/dist/bigconsole/pages/WorkflowsPage.js.map +1 -1
  68. package/dist/generated/wspace-operations.js +87 -36
  69. package/dist/generated/wspace-operations.js.map +1 -1
  70. package/dist/index.js +3 -1
  71. package/package.json +6 -2
@@ -7,91 +7,92 @@ import a from "../components/pipeline/PipelineStatusBadge.js";
7
7
  import o from "../components/pipeline/PipelineDeleteDialog.js";
8
8
  import { memo as s, useCallback as c, useEffect as l, useState as u } from "react";
9
9
  import { useParams as d, useSearchParams as f } from "react-router-dom";
10
- import { Fragment as p, jsx as m, jsxs as h } from "react/jsx-runtime";
10
+ import { GlassCard as p, IllustratedEmptyState as m, NextSteps as h, PagePurpose as g } from "@burdenoff/fe-libs/ui";
11
+ import { Fragment as _, jsx as v, jsxs as y } from "react/jsx-runtime";
11
12
  //#region src/bigconsole/pages/PipelineViewPage.tsx
12
- var g = ({ className: e }) => /* @__PURE__ */ m("svg", {
13
+ var b = ({ className: e }) => /* @__PURE__ */ v("svg", {
13
14
  className: e,
14
15
  fill: "none",
15
16
  stroke: "currentColor",
16
17
  viewBox: "0 0 24 24",
17
- children: /* @__PURE__ */ m("path", {
18
+ children: /* @__PURE__ */ v("path", {
18
19
  strokeLinecap: "round",
19
20
  strokeLinejoin: "round",
20
21
  strokeWidth: 2,
21
22
  d: "M10 19l-7-7m0 0l7-7m-7 7h18"
22
23
  })
23
- }), _ = ({ className: e }) => /* @__PURE__ */ m("svg", {
24
+ }), x = ({ className: e }) => /* @__PURE__ */ v("svg", {
24
25
  className: e,
25
26
  fill: "none",
26
27
  stroke: "currentColor",
27
28
  viewBox: "0 0 24 24",
28
- children: /* @__PURE__ */ m("path", {
29
+ children: /* @__PURE__ */ v("path", {
29
30
  strokeLinecap: "round",
30
31
  strokeLinejoin: "round",
31
32
  strokeWidth: 2,
32
33
  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"
33
34
  })
34
- }), v = ({ className: e }) => /* @__PURE__ */ m("svg", {
35
+ }), S = ({ className: e }) => /* @__PURE__ */ v("svg", {
35
36
  className: e,
36
37
  fill: "none",
37
38
  stroke: "currentColor",
38
39
  viewBox: "0 0 24 24",
39
- children: /* @__PURE__ */ m("path", {
40
+ children: /* @__PURE__ */ v("path", {
40
41
  strokeLinecap: "round",
41
42
  strokeLinejoin: "round",
42
43
  strokeWidth: 2,
43
44
  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"
44
45
  })
45
- }), y = ({ className: e }) => /* @__PURE__ */ h("svg", {
46
+ }), C = ({ className: e }) => /* @__PURE__ */ y("svg", {
46
47
  className: e,
47
48
  fill: "none",
48
49
  stroke: "currentColor",
49
50
  viewBox: "0 0 24 24",
50
- children: [/* @__PURE__ */ m("path", {
51
+ children: [/* @__PURE__ */ v("path", {
51
52
  strokeLinecap: "round",
52
53
  strokeLinejoin: "round",
53
54
  strokeWidth: 2,
54
55
  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"
55
- }), /* @__PURE__ */ m("path", {
56
+ }), /* @__PURE__ */ v("path", {
56
57
  strokeLinecap: "round",
57
58
  strokeLinejoin: "round",
58
59
  strokeWidth: 2,
59
60
  d: "M21 12a9 9 0 11-18 0 9 9 0 0118 0z"
60
61
  })]
61
- }), b = ({ className: e }) => /* @__PURE__ */ m("svg", {
62
+ }), w = ({ className: e }) => /* @__PURE__ */ v("svg", {
62
63
  className: e,
63
64
  fill: "none",
64
65
  stroke: "currentColor",
65
66
  viewBox: "0 0 24 24",
66
- children: /* @__PURE__ */ m("path", {
67
+ children: /* @__PURE__ */ v("path", {
67
68
  strokeLinecap: "round",
68
69
  strokeLinejoin: "round",
69
70
  strokeWidth: 2,
70
71
  d: "M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"
71
72
  })
72
- }), x = ({ className: e }) => /* @__PURE__ */ m("svg", {
73
+ }), T = ({ className: e }) => /* @__PURE__ */ v("svg", {
73
74
  className: e,
74
75
  fill: "none",
75
76
  stroke: "currentColor",
76
77
  viewBox: "0 0 24 24",
77
- children: /* @__PURE__ */ m("path", {
78
+ children: /* @__PURE__ */ v("path", {
78
79
  strokeLinecap: "round",
79
80
  strokeLinejoin: "round",
80
81
  strokeWidth: 2,
81
82
  d: "M5 13l4 4L19 7"
82
83
  })
83
- }), S = ({ className: e }) => /* @__PURE__ */ m("svg", {
84
+ }), E = ({ className: e }) => /* @__PURE__ */ v("svg", {
84
85
  className: e,
85
86
  fill: "none",
86
87
  stroke: "currentColor",
87
88
  viewBox: "0 0 24 24",
88
- children: /* @__PURE__ */ m("path", {
89
+ children: /* @__PURE__ */ v("path", {
89
90
  strokeLinecap: "round",
90
91
  strokeLinejoin: "round",
91
92
  strokeWidth: 2,
92
93
  d: "M14 5l7 7m0 0l-7 7m7-7H3"
93
94
  })
94
- }), C = ({ handling: e }) => {
95
+ }), D = ({ handling: e }) => {
95
96
  let t = {
96
97
  fail: {
97
98
  label: "Fail",
@@ -106,283 +107,313 @@ var g = ({ className: e }) => /* @__PURE__ */ m("svg", {
106
107
  className: "bg-action-primary-bg/10 text-action-primary-bg"
107
108
  }
108
109
  }, n = t[e] || t.fail;
109
- return /* @__PURE__ */ m("span", {
110
+ return /* @__PURE__ */ v("span", {
110
111
  className: `px-1.5 py-0.5 text-xs font-medium rounded ${n.className}`,
111
112
  children: n.label
112
113
  });
113
- }, w = s(function() {
114
- let { pipelineId: s } = d(), w = t(), T = "default", [E] = f(), [D, O] = u(null), [k, A] = u("{\n \"data\": \"sample\"\n}"), [j, M] = u(null), [N, P] = u(E.get("test") === "true"), F = e((e) => e.deleteDialogOpen), I = e((e) => e.openDeleteDialog), L = e((e) => e.closeDeleteDialog), { loading: R, error: z, fetchPipeline: B, deletePipeline: V, testPipeline: H } = n({
115
- consoleId: T,
114
+ }, O = s(function() {
115
+ let { pipelineId: s } = d(), O = t(), k = "default", [A] = f(), [j, M] = u(null), [N, P] = u("{\n \"data\": \"sample\"\n}"), [F, I] = u(null), [L, R] = u(A.get("test") === "true"), z = e((e) => e.deleteDialogOpen), B = e((e) => e.openDeleteDialog), V = e((e) => e.closeDeleteDialog), { loading: H, error: U, fetchPipeline: W, deletePipeline: G, testPipeline: K } = n({
116
+ consoleId: k,
116
117
  skipFetch: !0
117
118
  });
118
119
  l(() => {
119
- s && B(s).then((e) => {
120
- e && O(e);
120
+ s && W(s).then((e) => {
121
+ e && M(e);
121
122
  });
122
- }, [s, B]);
123
- let U = c(() => {
124
- w("/pipelines");
125
- }, [w]), W = c(() => {
126
- w(`/pipelines/${s}/edit`);
127
- }, [w, s]), G = c(() => {
128
- D && I(D);
129
- }, [D, I]), K = c(async () => {
130
- D && (await V(D.id) ? (r() && i("success"), L(), w("/pipelines")) : r() && i("error"));
123
+ }, [s, W]);
124
+ let q = c(() => {
125
+ O("/pipelines");
126
+ }, [O]), J = c(() => {
127
+ O(`/pipelines/${s}/edit`);
128
+ }, [O, s]), Y = c(() => {
129
+ j && B(j);
130
+ }, [j, B]), X = c(async () => {
131
+ j && (await G(j.id) ? (r() && i("success"), V(), O("/pipelines")) : r() && i("error"));
131
132
  }, [
132
- D,
133
+ j,
134
+ G,
133
135
  V,
134
- L,
135
- w
136
- ]), q = c((e) => {
137
- w(`/dashboards/${T}/parsers/${e}`);
138
- }, [w, T]), J = c(async () => {
139
- if (D) try {
140
- let e = await H({
141
- pipelineId: D.id,
142
- inputData: k
136
+ O
137
+ ]), Z = c((e) => {
138
+ O(`/dashboards/${k}/parsers/${e}`);
139
+ }, [O, k]), Q = c(async () => {
140
+ if (j) try {
141
+ let e = await K({
142
+ pipelineId: j.id,
143
+ inputData: N
143
144
  });
144
- e && M(e);
145
+ e && I(e);
145
146
  } catch {}
146
147
  }, [
147
- D,
148
- H,
149
- k
148
+ j,
149
+ K,
150
+ N
150
151
  ]);
151
- return R && !D ? /* @__PURE__ */ m("div", {
152
+ return H && !j ? /* @__PURE__ */ v("div", {
152
153
  className: "p-6",
153
- children: /* @__PURE__ */ h("div", {
154
+ children: /* @__PURE__ */ y("div", {
154
155
  className: "flex flex-col items-center justify-center py-16",
155
- children: [/* @__PURE__ */ h("svg", {
156
+ children: [/* @__PURE__ */ y("svg", {
156
157
  className: "w-8 h-8 text-action-primary-bg animate-spin mb-4",
157
158
  fill: "none",
158
159
  viewBox: "0 0 24 24",
159
- children: [/* @__PURE__ */ m("circle", {
160
+ children: [/* @__PURE__ */ v("circle", {
160
161
  className: "opacity-25",
161
162
  cx: "12",
162
163
  cy: "12",
163
164
  r: "10",
164
165
  stroke: "currentColor",
165
166
  strokeWidth: "4"
166
- }), /* @__PURE__ */ m("path", {
167
+ }), /* @__PURE__ */ v("path", {
167
168
  className: "opacity-75",
168
169
  fill: "currentColor",
169
170
  d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"
170
171
  })]
171
- }), /* @__PURE__ */ m("p", {
172
+ }), /* @__PURE__ */ v("p", {
172
173
  className: "text-sm text-text-secondary",
173
174
  children: "Loading Pipeline..."
174
175
  })]
175
176
  })
176
- }) : z ? /* @__PURE__ */ m("div", {
177
+ }) : U ? /* @__PURE__ */ v("div", {
177
178
  className: "p-6",
178
- children: /* @__PURE__ */ h("div", {
179
+ children: /* @__PURE__ */ y("div", {
179
180
  className: "flex flex-col items-center justify-center py-16 text-center",
180
181
  children: [
181
- /* @__PURE__ */ m("div", {
182
+ /* @__PURE__ */ v("div", {
182
183
  className: "p-3 rounded-full bg-state-error/10 mb-4",
183
- children: /* @__PURE__ */ m(b, { className: "w-8 h-8 text-state-error" })
184
+ children: /* @__PURE__ */ v(w, { className: "w-8 h-8 text-state-error" })
184
185
  }),
185
- /* @__PURE__ */ m("h3", {
186
+ /* @__PURE__ */ v("h3", {
186
187
  className: "text-lg font-medium text-text-primary mb-2",
187
188
  children: "Failed to load Pipeline"
188
189
  }),
189
- /* @__PURE__ */ m("p", {
190
+ /* @__PURE__ */ v("p", {
190
191
  className: "text-sm text-text-secondary mb-4",
191
- children: z.message
192
+ children: U.message
192
193
  }),
193
- /* @__PURE__ */ m("button", {
194
+ /* @__PURE__ */ v("button", {
194
195
  type: "button",
195
- onClick: U,
196
+ onClick: q,
196
197
  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",
197
198
  children: "Back to Pipelines"
198
199
  })
199
200
  ]
200
201
  })
201
- }) : D ? /* @__PURE__ */ h("div", {
202
+ }) : j ? /* @__PURE__ */ y("div", {
202
203
  className: "p-6",
203
204
  children: [
204
- /* @__PURE__ */ h("div", {
205
+ /* @__PURE__ */ y("div", {
205
206
  className: "flex items-center justify-between mb-6",
206
- children: [/* @__PURE__ */ h("div", {
207
+ children: [/* @__PURE__ */ y("div", {
207
208
  className: "flex items-center gap-4",
208
- children: [/* @__PURE__ */ m("button", {
209
+ children: [/* @__PURE__ */ v("button", {
209
210
  type: "button",
210
- onClick: U,
211
+ onClick: q,
211
212
  className: "p-2 text-text-secondary hover:text-text-primary hover:bg-bg-sunken rounded-md transition-colors",
212
- children: /* @__PURE__ */ m(g, { className: "w-5 h-5" })
213
- }), /* @__PURE__ */ h("div", { children: [/* @__PURE__ */ h("div", {
213
+ children: /* @__PURE__ */ v(b, { className: "w-5 h-5" })
214
+ }), /* @__PURE__ */ y("div", { children: [/* @__PURE__ */ y("div", {
214
215
  className: "flex items-center gap-3",
215
- children: [/* @__PURE__ */ m("h1", {
216
+ children: [/* @__PURE__ */ v("h1", {
216
217
  className: "text-2xl font-bold text-text-primary",
217
- children: D.name
218
- }), /* @__PURE__ */ m(a, { status: D.status })]
219
- }), D.description && /* @__PURE__ */ m("p", {
218
+ children: j.name
219
+ }), /* @__PURE__ */ v(a, { status: j.status })]
220
+ }), j.description && /* @__PURE__ */ v("p", {
220
221
  className: "text-sm text-text-secondary mt-1",
221
- children: D.description
222
+ children: j.description
222
223
  })] })]
223
- }), /* @__PURE__ */ h("div", {
224
+ }), /* @__PURE__ */ y("div", {
224
225
  className: "flex items-center gap-2",
225
226
  children: [
226
- /* @__PURE__ */ h("button", {
227
+ /* @__PURE__ */ y("button", {
227
228
  type: "button",
228
- onClick: () => P(!N),
229
+ onClick: () => R(!L),
229
230
  className: "inline-flex items-center gap-2 px-3 py-2 text-sm font-medium text-state-success bg-state-success/10 hover:bg-state-success/20 rounded-md transition-colors",
230
- children: [/* @__PURE__ */ m(y, { className: "w-4 h-4" }), "Test"]
231
+ children: [/* @__PURE__ */ v(C, { className: "w-4 h-4" }), "Test"]
231
232
  }),
232
- /* @__PURE__ */ h("button", {
233
+ /* @__PURE__ */ y("button", {
233
234
  type: "button",
234
- onClick: W,
235
+ onClick: J,
235
236
  className: "inline-flex items-center gap-2 px-3 py-2 text-sm font-medium text-text-primary bg-bg-sunken hover:bg-border-default rounded-md transition-colors",
236
- children: [/* @__PURE__ */ m(_, { className: "w-4 h-4" }), "Edit"]
237
+ children: [/* @__PURE__ */ v(x, { className: "w-4 h-4" }), "Edit"]
237
238
  }),
238
- /* @__PURE__ */ h("button", {
239
+ /* @__PURE__ */ y("button", {
239
240
  type: "button",
240
- onClick: G,
241
+ onClick: Y,
241
242
  className: "inline-flex items-center gap-2 px-3 py-2 text-sm font-medium text-state-error bg-state-error/10 hover:bg-state-error/20 rounded-md transition-colors",
242
- children: [/* @__PURE__ */ m(v, { className: "w-4 h-4" }), "Delete"]
243
+ children: [/* @__PURE__ */ v(S, { className: "w-4 h-4" }), "Delete"]
243
244
  })
244
245
  ]
245
246
  })]
246
247
  }),
247
- /* @__PURE__ */ h("div", {
248
+ /* @__PURE__ */ v(g, {
249
+ className: "mb-6",
250
+ children: "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."
251
+ }),
252
+ /* @__PURE__ */ v(h, {
253
+ storageKey: "bigconsole-pipeline-view",
254
+ steps: [
255
+ {
256
+ id: "test",
257
+ label: "Test with sample input",
258
+ description: "Run the pipeline against a sample to verify each stage.",
259
+ onClick: () => R(!0)
260
+ },
261
+ {
262
+ id: "edit",
263
+ label: "Edit the stages",
264
+ description: "Add, reorder, or configure the parsers in this pipeline.",
265
+ onClick: J
266
+ },
267
+ {
268
+ id: "sinks",
269
+ label: "Review the target data sink",
270
+ description: "See where the processed data lands.",
271
+ onClick: () => O("/datasinks")
272
+ }
273
+ ]
274
+ }),
275
+ /* @__PURE__ */ y("div", {
248
276
  className: "grid grid-cols-1 lg:grid-cols-3 gap-6",
249
- children: [/* @__PURE__ */ h("div", {
277
+ children: [/* @__PURE__ */ y("div", {
250
278
  className: "lg:col-span-2 space-y-6",
251
- children: [/* @__PURE__ */ h("div", {
252
- className: "bg-bg-surface border border-border-default rounded-lg p-6",
253
- children: [/* @__PURE__ */ h("h2", {
279
+ children: [/* @__PURE__ */ y(p, {
280
+ treatment: "glass",
281
+ glow: !0,
282
+ className: "p-6",
283
+ children: [/* @__PURE__ */ y("h2", {
254
284
  className: "text-lg font-semibold text-text-primary mb-4",
255
285
  children: [
256
286
  "Pipeline Stages (",
257
- D.stages?.length || 0,
287
+ j.stages?.length || 0,
258
288
  ")"
259
289
  ]
260
- }), !D.stages || D.stages.length === 0 ? /* @__PURE__ */ m("p", {
261
- className: "text-sm text-text-secondary py-8 text-center",
262
- children: "No stages defined. Edit the pipeline to add stages."
263
- }) : /* @__PURE__ */ m("div", {
290
+ }), !j.stages || j.stages.length === 0 ? /* @__PURE__ */ v(m, {
291
+ illustration: "empty-generic",
292
+ title: "No stages defined",
293
+ description: "Edit the pipeline to add parser stages."
294
+ }) : /* @__PURE__ */ v("div", {
264
295
  className: "space-y-3",
265
- children: D.stages.map((e, t) => /* @__PURE__ */ h("div", {
296
+ children: j.stages.map((e, t) => /* @__PURE__ */ y("div", {
266
297
  className: "flex items-center gap-3",
267
- children: [/* @__PURE__ */ h("div", {
298
+ children: [/* @__PURE__ */ y("div", {
268
299
  className: `
269
300
  flex-1 p-4 rounded-lg border
270
301
  ${e.enabled ? "bg-bg-surface border-border-default" : "bg-bg-sunken border-border-default opacity-60"}
271
302
  `,
272
303
  children: [
273
- /* @__PURE__ */ h("div", {
304
+ /* @__PURE__ */ y("div", {
274
305
  className: "flex items-center justify-between mb-2",
275
- children: [/* @__PURE__ */ h("div", {
306
+ children: [/* @__PURE__ */ y("div", {
276
307
  className: "flex items-center gap-2",
277
308
  children: [
278
- /* @__PURE__ */ m("span", {
309
+ /* @__PURE__ */ v("span", {
279
310
  className: "w-6 h-6 flex items-center justify-center text-xs font-medium bg-action-primary-bg/10 text-action-primary-bg rounded-full",
280
311
  children: t + 1
281
312
  }),
282
- /* @__PURE__ */ m("span", {
313
+ /* @__PURE__ */ v("span", {
283
314
  className: "font-medium text-text-primary",
284
315
  children: e.parserName || `Stage ${t + 1}`
285
316
  }),
286
- e.parserType && /* @__PURE__ */ m("span", {
317
+ e.parserType && /* @__PURE__ */ v("span", {
287
318
  className: "px-1.5 py-0.5 text-xs font-medium bg-bg-sunken text-text-secondary rounded",
288
319
  children: e.parserType.toUpperCase()
289
320
  })
290
321
  ]
291
- }), /* @__PURE__ */ h("div", {
322
+ }), /* @__PURE__ */ y("div", {
292
323
  className: "flex items-center gap-2",
293
- children: [/* @__PURE__ */ m(C, { handling: e.onError }), !e.enabled && /* @__PURE__ */ m("span", {
324
+ children: [/* @__PURE__ */ v(D, { handling: e.onError }), !e.enabled && /* @__PURE__ */ v("span", {
294
325
  className: "px-1.5 py-0.5 text-xs font-medium bg-bg-sunken text-text-secondary rounded",
295
326
  children: "Disabled"
296
327
  })]
297
328
  })]
298
329
  }),
299
- /* @__PURE__ */ h("div", {
330
+ /* @__PURE__ */ y("div", {
300
331
  className: "flex items-center gap-2 text-xs text-text-secondary",
301
332
  children: [
302
- /* @__PURE__ */ m("span", {
333
+ /* @__PURE__ */ v("span", {
303
334
  className: "font-mono bg-bg-sunken px-1.5 py-0.5 rounded",
304
335
  children: e.inputKey
305
336
  }),
306
- /* @__PURE__ */ m(S, { className: "w-3 h-3" }),
307
- /* @__PURE__ */ m("span", {
337
+ /* @__PURE__ */ v(E, { className: "w-3 h-3" }),
338
+ /* @__PURE__ */ v("span", {
308
339
  className: "font-mono bg-bg-sunken px-1.5 py-0.5 rounded",
309
340
  children: e.outputKey
310
341
  })
311
342
  ]
312
343
  }),
313
- e.description && /* @__PURE__ */ m("p", {
344
+ e.description && /* @__PURE__ */ v("p", {
314
345
  className: "text-xs text-text-secondary mt-2",
315
346
  children: e.description
316
347
  }),
317
- e.parserId && /* @__PURE__ */ m("button", {
348
+ e.parserId && /* @__PURE__ */ v("button", {
318
349
  type: "button",
319
- onClick: () => q(e.parserId),
350
+ onClick: () => Z(e.parserId),
320
351
  className: "mt-2 text-xs text-action-primary-bg hover:underline",
321
352
  children: "View Parser"
322
353
  })
323
354
  ]
324
- }), t < (D.stages?.length || 0) - 1 && /* @__PURE__ */ m(S, { className: "w-5 h-5 text-text-secondary flex-shrink-0 hidden md:block" })]
355
+ }), t < (j.stages?.length || 0) - 1 && /* @__PURE__ */ v(E, { className: "w-5 h-5 text-text-secondary flex-shrink-0 hidden md:block" })]
325
356
  }, e.id))
326
357
  })]
327
- }), N && /* @__PURE__ */ h("div", {
358
+ }), L && /* @__PURE__ */ y("div", {
328
359
  className: "bg-bg-surface border border-border-default rounded-lg p-6",
329
- children: [/* @__PURE__ */ m("h2", {
360
+ children: [/* @__PURE__ */ v("h2", {
330
361
  className: "text-lg font-semibold text-text-primary mb-4",
331
362
  children: "Test Pipeline"
332
- }), /* @__PURE__ */ h("div", {
363
+ }), /* @__PURE__ */ y("div", {
333
364
  className: "space-y-4",
334
365
  children: [
335
- /* @__PURE__ */ h("div", { children: [/* @__PURE__ */ m("label", {
366
+ /* @__PURE__ */ y("div", { children: [/* @__PURE__ */ v("label", {
336
367
  className: "block text-sm font-medium text-text-primary mb-2",
337
368
  children: "Input JSON"
338
- }), /* @__PURE__ */ m("textarea", {
339
- value: k,
340
- onChange: (e) => A(e.target.value),
369
+ }), /* @__PURE__ */ v("textarea", {
370
+ value: N,
371
+ onChange: (e) => P(e.target.value),
341
372
  className: "w-full h-32 px-3 py-2 text-sm font-mono text-text-primary bg-bg-sunken border border-border-default rounded-md focus:outline-none focus:ring-2 focus:ring-action-primary-bg resize-none",
342
373
  placeholder: "{\"key\": \"value\"}"
343
374
  })] }),
344
- /* @__PURE__ */ h("button", {
375
+ /* @__PURE__ */ y("button", {
345
376
  type: "button",
346
- onClick: J,
347
- disabled: R,
377
+ onClick: Q,
378
+ disabled: H,
348
379
  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 disabled:opacity-50",
349
- children: [/* @__PURE__ */ m(y, { className: "w-4 h-4" }), R ? "Running..." : "Run Test"]
380
+ children: [/* @__PURE__ */ v(C, { className: "w-4 h-4" }), H ? "Running..." : "Run Test"]
350
381
  }),
351
- j && /* @__PURE__ */ h("div", {
382
+ F && /* @__PURE__ */ y("div", {
352
383
  className: "mt-4",
353
384
  children: [
354
- /* @__PURE__ */ h("div", {
385
+ /* @__PURE__ */ y("div", {
355
386
  className: "flex items-center gap-2 mb-2",
356
- children: [j.status === "completed" ? /* @__PURE__ */ h(p, { children: [/* @__PURE__ */ m(x, { className: "w-4 h-4 text-state-success" }), /* @__PURE__ */ m("span", {
387
+ children: [F.status === "completed" ? /* @__PURE__ */ y(_, { children: [/* @__PURE__ */ v(T, { className: "w-4 h-4 text-state-success" }), /* @__PURE__ */ v("span", {
357
388
  className: "text-sm font-medium text-state-success",
358
389
  children: "Test Passed"
359
- })] }) : /* @__PURE__ */ h(p, { children: [/* @__PURE__ */ m(b, { className: "w-4 h-4 text-state-error" }), /* @__PURE__ */ m("span", {
390
+ })] }) : /* @__PURE__ */ y(_, { children: [/* @__PURE__ */ v(w, { className: "w-4 h-4 text-state-error" }), /* @__PURE__ */ v("span", {
360
391
  className: "text-sm font-medium text-state-error",
361
392
  children: "Test Failed"
362
- })] }), j.totalExecutionTimeMs && /* @__PURE__ */ h("span", {
393
+ })] }), F.totalExecutionTimeMs && /* @__PURE__ */ y("span", {
363
394
  className: "text-xs text-text-secondary",
364
395
  children: [
365
396
  "(",
366
- j.totalExecutionTimeMs,
397
+ F.totalExecutionTimeMs,
367
398
  "ms)"
368
399
  ]
369
400
  })]
370
401
  }),
371
- /* @__PURE__ */ h("div", { children: [/* @__PURE__ */ m("label", {
402
+ /* @__PURE__ */ y("div", { children: [/* @__PURE__ */ v("label", {
372
403
  className: "block text-sm font-medium text-text-primary mb-2",
373
404
  children: "Output"
374
- }), /* @__PURE__ */ m("pre", {
405
+ }), /* @__PURE__ */ v("pre", {
375
406
  className: "w-full p-3 text-xs font-mono text-text-primary bg-bg-sunken border border-border-default rounded-md overflow-auto max-h-48",
376
- children: JSON.stringify(j.outputData, null, 2) || "null"
407
+ children: JSON.stringify(F.outputData, null, 2) || "null"
377
408
  })] }),
378
- j.error && /* @__PURE__ */ h("div", {
409
+ F.error && /* @__PURE__ */ y("div", {
379
410
  className: "mt-2",
380
- children: [/* @__PURE__ */ m("label", {
411
+ children: [/* @__PURE__ */ v("label", {
381
412
  className: "block text-sm font-medium text-state-error mb-2",
382
413
  children: "Error"
383
- }), /* @__PURE__ */ m("pre", {
414
+ }), /* @__PURE__ */ v("pre", {
384
415
  className: "w-full p-3 text-xs font-mono text-state-error bg-state-error/10 border border-state-error/20 rounded-md overflow-auto",
385
- children: j.error
416
+ children: F.error
386
417
  })]
387
418
  })
388
419
  ]
@@ -390,94 +421,86 @@ var g = ({ className: e }) => /* @__PURE__ */ m("svg", {
390
421
  ]
391
422
  })]
392
423
  })]
393
- }), /* @__PURE__ */ m("div", {
424
+ }), /* @__PURE__ */ v("div", {
394
425
  className: "space-y-6",
395
- children: /* @__PURE__ */ h("div", {
426
+ children: /* @__PURE__ */ y("div", {
396
427
  className: "bg-bg-surface border border-border-default rounded-lg p-6",
397
- children: [/* @__PURE__ */ m("h2", {
428
+ children: [/* @__PURE__ */ v("h2", {
398
429
  className: "text-lg font-semibold text-text-primary mb-4",
399
430
  children: "Details"
400
- }), /* @__PURE__ */ h("dl", {
431
+ }), /* @__PURE__ */ y("dl", {
401
432
  className: "space-y-3",
402
433
  children: [
403
- /* @__PURE__ */ h("div", { children: [/* @__PURE__ */ m("dt", {
434
+ /* @__PURE__ */ y("div", { children: [/* @__PURE__ */ v("dt", {
404
435
  className: "text-xs text-text-secondary",
405
436
  children: "Status"
406
- }), /* @__PURE__ */ m("dd", {
437
+ }), /* @__PURE__ */ v("dd", {
407
438
  className: "mt-1",
408
- children: /* @__PURE__ */ m(a, { status: D.status })
439
+ children: /* @__PURE__ */ v(a, { status: j.status })
409
440
  })] }),
410
- /* @__PURE__ */ h("div", { children: [/* @__PURE__ */ m("dt", {
441
+ /* @__PURE__ */ y("div", { children: [/* @__PURE__ */ v("dt", {
411
442
  className: "text-xs text-text-secondary",
412
443
  children: "Stages"
413
- }), /* @__PURE__ */ m("dd", {
444
+ }), /* @__PURE__ */ v("dd", {
414
445
  className: "text-sm text-text-primary",
415
- children: D.stages?.length || 0
446
+ children: j.stages?.length || 0
416
447
  })] }),
417
- /* @__PURE__ */ h("div", { children: [/* @__PURE__ */ m("dt", {
448
+ /* @__PURE__ */ y("div", { children: [/* @__PURE__ */ v("dt", {
418
449
  className: "text-xs text-text-secondary",
419
450
  children: "Last Executed"
420
- }), /* @__PURE__ */ m("dd", {
451
+ }), /* @__PURE__ */ v("dd", {
421
452
  className: "text-sm text-text-primary",
422
- children: D.lastExecutedAt ? new Date(D.lastExecutedAt).toLocaleString() : "Never"
453
+ children: j.lastExecutedAt ? new Date(j.lastExecutedAt).toLocaleString() : "Never"
423
454
  })] }),
424
- /* @__PURE__ */ h("div", { children: [/* @__PURE__ */ m("dt", {
455
+ /* @__PURE__ */ y("div", { children: [/* @__PURE__ */ v("dt", {
425
456
  className: "text-xs text-text-secondary",
426
457
  children: "Version"
427
- }), /* @__PURE__ */ m("dd", {
458
+ }), /* @__PURE__ */ v("dd", {
428
459
  className: "text-sm text-text-primary",
429
- children: D.version
460
+ children: j.version
430
461
  })] }),
431
- /* @__PURE__ */ h("div", { children: [/* @__PURE__ */ m("dt", {
462
+ /* @__PURE__ */ y("div", { children: [/* @__PURE__ */ v("dt", {
432
463
  className: "text-xs text-text-secondary",
433
464
  children: "Created"
434
- }), /* @__PURE__ */ m("dd", {
465
+ }), /* @__PURE__ */ v("dd", {
435
466
  className: "text-sm text-text-primary",
436
- children: new Date(D.createdAt).toLocaleString()
467
+ children: new Date(j.createdAt).toLocaleString()
437
468
  })] }),
438
- /* @__PURE__ */ h("div", { children: [/* @__PURE__ */ m("dt", {
469
+ /* @__PURE__ */ y("div", { children: [/* @__PURE__ */ v("dt", {
439
470
  className: "text-xs text-text-secondary",
440
471
  children: "Updated"
441
- }), /* @__PURE__ */ m("dd", {
472
+ }), /* @__PURE__ */ v("dd", {
442
473
  className: "text-sm text-text-primary",
443
- children: new Date(D.updatedAt).toLocaleString()
474
+ children: new Date(j.updatedAt).toLocaleString()
444
475
  })] })
445
476
  ]
446
477
  })]
447
478
  })
448
479
  })]
449
480
  }),
450
- D && /* @__PURE__ */ m(o, {
451
- pipeline: D,
452
- isOpen: F,
453
- onClose: L,
454
- onConfirm: K
481
+ j && /* @__PURE__ */ v(o, {
482
+ pipeline: j,
483
+ isOpen: z,
484
+ onClose: V,
485
+ onConfirm: X
455
486
  })
456
487
  ]
457
- }) : /* @__PURE__ */ m("div", {
488
+ }) : /* @__PURE__ */ v("div", {
458
489
  className: "p-6",
459
- children: /* @__PURE__ */ h("div", {
460
- className: "flex flex-col items-center justify-center py-16 text-center",
461
- children: [
462
- /* @__PURE__ */ m("h3", {
463
- className: "text-lg font-medium text-text-primary mb-2",
464
- children: "Pipeline not found"
465
- }),
466
- /* @__PURE__ */ m("p", {
467
- className: "text-sm text-text-secondary mb-4",
468
- children: "The pipeline you're looking for doesn't exist or has been deleted."
469
- }),
470
- /* @__PURE__ */ m("button", {
471
- type: "button",
472
- onClick: U,
473
- 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",
474
- children: "Back to Pipelines"
475
- })
476
- ]
490
+ children: /* @__PURE__ */ v(m, {
491
+ illustration: "empty-data",
492
+ title: "Pipeline not found",
493
+ description: "The pipeline you're looking for doesn't exist or has been deleted.",
494
+ action: /* @__PURE__ */ v("button", {
495
+ type: "button",
496
+ onClick: q,
497
+ 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",
498
+ children: "Back to Pipelines"
499
+ })
477
500
  })
478
501
  });
479
502
  });
480
503
  //#endregion
481
- export { w as PipelineViewPage, w as default };
504
+ export { O as PipelineViewPage, O as default };
482
505
 
483
506
  //# sourceMappingURL=PipelineViewPage.js.map