@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
@@ -8,26 +8,35 @@ import { WorkflowOpenGuard as a } from "./components/workflow/WorkflowOpenGuard.
8
8
  import { Suspense as o, lazy as s, memo as c, useEffect as l, useMemo as u, useRef as d, useState as f } from "react";
9
9
  import { Navigate as p, Route as m, Routes as h, useParams as g } from "react-router";
10
10
  import { Spinner as _ } from "@burdenoff/fe-libs/ui";
11
- import { useApolloClient as v } from "@apollo/client/react";
12
- import { jsx as y, jsxs as b } from "react/jsx-runtime";
13
- import { ExecutionDetailPage as x, ExecutionsListPage as S, HistoryPage as C, NodesPage as w, SettingsPage as T, TemplatesPage as E, WorkflowBuilderPage as D } from "@burdenoff/fluidgrids-fe-sdk";
11
+ import { useUnsavedChanges as v } from "@burdenoff/fe-libs/shared/hooks";
12
+ import { useI18n as y } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
13
+ import { useApolloClient as b } from "@apollo/client/react";
14
+ import { jsx as x, jsxs as S } from "react/jsx-runtime";
15
+ import { ExecutionDetailPage as C, ExecutionsListPage as w, HistoryPage as T, NodesPage as E, SettingsPage as D, TemplatesPage as O, WorkflowBuilderPage as k } from "@burdenoff/fluidgrids-fe-sdk";
14
16
  //#region src/bigconsole/BigConsoleRoutes.tsx
15
- var O = s(() => import("./pages/OverviewPage.js")), k = s(() => import("./pages/DashboardsPage.js")), A = s(() => import("./pages/DashboardViewPage.js")), j = s(() => import("./pages/DashboardBuilderPage.js")), M = s(() => import("./pages/DataSourcesPage.js")), N = s(() => import("./pages/InsightsPage.js")), P = s(() => import("./pages/SettingsPage.js")), F = s(() => import("./pages/WidgetDemoPage.js")), I = s(() => import("./pages/WorkflowsPage.js").then((e) => ({ default: e.WorkflowsPage }))), L = s(() => import("./pages/WorkflowViewPage.js").then((e) => ({ default: e.WorkflowViewPage }))), R = s(() => import("./pages/DataSinksPage.js")), z = s(() => import("./pages/DataSinkViewPage.js")), B = s(() => import("./pages/DataSinkAlertsPage.js")), V = s(() => import("./pages/DataSinkBuilderPage.js")), H = s(() => import("./pages/DataParsersPage.js")), U = s(() => import("./pages/ParserViewPage.js")), W = s(() => import("./pages/ParserBuilderPage.js")), G = s(() => import("./pages/PipelinesPage.js")), K = s(() => import("./pages/PipelineViewPage.js")), q = s(() => import("./pages/PipelineBuilderPage.js"));
16
- function J() {
17
- return /* @__PURE__ */ y("div", {
17
+ var A = c(function() {
18
+ let { t: e } = y();
19
+ return v({
20
+ id: "workflow-editor",
21
+ label: e("bigconsole.assistant.unsaved.workflowEditor", "the workflow editor"),
22
+ dirty: !0
23
+ }), /* @__PURE__ */ x(k, {});
24
+ }), j = s(() => import("./pages/OverviewPage.js")), M = s(() => import("./pages/DashboardsPage.js")), N = s(() => import("./pages/DashboardViewPage.js")), P = s(() => import("./pages/DashboardBuilderPage.js")), F = s(() => import("./pages/DataSourcesPage.js")), I = s(() => import("./pages/InsightsPage.js")), ee = s(() => import("./pages/SettingsPage.js")), L = s(() => import("./pages/WidgetDemoPage.js")), R = s(() => import("./pages/WorkflowsPage.js").then((e) => ({ default: e.WorkflowsPage }))), z = s(() => import("./pages/WorkflowViewPage.js").then((e) => ({ default: e.WorkflowViewPage }))), B = s(() => import("./pages/DataSinksPage.js")), V = s(() => import("./pages/DataSinkViewPage.js")), H = s(() => import("./pages/DataSinkAlertsPage.js")), U = s(() => import("./pages/DataSinkBuilderPage.js")), W = s(() => import("./pages/DataParsersPage.js")), G = s(() => import("./pages/ParserViewPage.js")), K = s(() => import("./pages/ParserBuilderPage.js")), q = s(() => import("./pages/PipelinesPage.js")), J = s(() => import("./pages/PipelineViewPage.js")), Y = s(() => import("./pages/PipelineBuilderPage.js"));
25
+ function X() {
26
+ return /* @__PURE__ */ x("div", {
18
27
  className: "flex items-center justify-center min-h-[400px]",
19
- children: /* @__PURE__ */ y(_, { className: "h-8 w-8" })
28
+ children: /* @__PURE__ */ x(_, { className: "h-8 w-8" })
20
29
  });
21
30
  }
22
- var Y = () => `/workflows/workflow/${crypto.randomUUID()}/v1`;
23
- function X() {
24
- return /* @__PURE__ */ y(p, {
25
- to: u(() => Y(), []),
31
+ var Z = () => `/workflows/workflow/${crypto.randomUUID()}/v1`;
32
+ function Q() {
33
+ return /* @__PURE__ */ x(p, {
34
+ to: u(() => Z(), []),
26
35
  replace: !0,
27
36
  state: i
28
37
  });
29
38
  }
30
- var Z = c(function() {
39
+ var te = c(function() {
31
40
  let { workflowId: t } = g(), i = e(), { fetchWorkflow: a } = n({ skipFetch: !0 }), [o, s] = f(null), c = d(0);
32
41
  return l(() => {
33
42
  if (!t) {
@@ -51,23 +60,23 @@ var Z = c(function() {
51
60
  t,
52
61
  a,
53
62
  i
54
- ]), o ? /* @__PURE__ */ b("div", {
63
+ ]), o ? /* @__PURE__ */ S("div", {
55
64
  className: "p-6 flex flex-col items-center justify-center min-h-[400px] text-center gap-4",
56
- children: [/* @__PURE__ */ y("p", {
65
+ children: [/* @__PURE__ */ x("p", {
57
66
  className: "text-sm text-text-secondary",
58
67
  children: o
59
- }), /* @__PURE__ */ y("button", {
68
+ }), /* @__PURE__ */ x("button", {
60
69
  type: "button",
61
70
  onClick: () => i("/workflows"),
62
71
  className: "px-4 py-2 text-sm font-medium text-text-primary bg-bg-sunken hover:bg-border-default rounded-md transition-colors",
63
72
  children: "Back to Workflows"
64
73
  })]
65
- }) : /* @__PURE__ */ y("div", {
74
+ }) : /* @__PURE__ */ x("div", {
66
75
  className: "flex items-center justify-center min-h-[400px]",
67
- children: /* @__PURE__ */ y(_, { className: "h-8 w-8" })
76
+ children: /* @__PURE__ */ x(_, { className: "h-8 w-8" })
68
77
  });
69
- }), Q = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i, $ = c(function() {
70
- let { id: n, version: i } = g(), o = e(), s = v(), c = !!n && Q.test(n), [u, p] = f(null), [m, h] = f(null), [x, S] = f(0), C = d(0);
78
+ }), ne = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i, $ = c(function() {
79
+ let { id: n, version: i } = g(), o = e(), s = b(), c = !!n && ne.test(n), [u, p] = f(null), [m, h] = f(null), [v, y] = f(0), C = d(0);
71
80
  return l(() => {
72
81
  if (!n || !c) return;
73
82
  C.current = 0;
@@ -95,72 +104,72 @@ var Z = c(function() {
95
104
  i,
96
105
  s,
97
106
  o,
98
- x
99
- ]), !c || u === n ? /* @__PURE__ */ y(a, {
107
+ v
108
+ ]), !c || u === n ? /* @__PURE__ */ x(a, {
100
109
  workflowKey: n ?? "",
101
- children: /* @__PURE__ */ y(D, {})
102
- }) : m === n ? /* @__PURE__ */ b("div", {
110
+ children: /* @__PURE__ */ x(A, {})
111
+ }) : m === n ? /* @__PURE__ */ S("div", {
103
112
  className: "p-6 flex flex-col items-center justify-center min-h-[400px] text-center gap-4",
104
- children: [/* @__PURE__ */ y("p", {
113
+ children: [/* @__PURE__ */ x("p", {
105
114
  className: "text-sm text-text-secondary",
106
115
  children: "Couldn't load this workflow. Please try again."
107
- }), /* @__PURE__ */ b("div", {
116
+ }), /* @__PURE__ */ S("div", {
108
117
  className: "flex items-center gap-2",
109
- children: [/* @__PURE__ */ y("button", {
118
+ children: [/* @__PURE__ */ x("button", {
110
119
  type: "button",
111
120
  onClick: () => {
112
- h(null), S((e) => e + 1);
121
+ h(null), y((e) => e + 1);
113
122
  },
114
123
  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",
115
124
  children: "Try again"
116
- }), /* @__PURE__ */ y("button", {
125
+ }), /* @__PURE__ */ x("button", {
117
126
  type: "button",
118
127
  onClick: () => o("/workflows"),
119
128
  className: "px-4 py-2 text-sm font-medium text-text-primary bg-bg-sunken hover:bg-border-default rounded-md transition-colors",
120
129
  children: "Back to Workflows"
121
130
  })]
122
131
  })]
123
- }) : /* @__PURE__ */ y("div", {
132
+ }) : /* @__PURE__ */ x("div", {
124
133
  className: "flex items-center justify-center min-h-[400px]",
125
- children: /* @__PURE__ */ y(_, { className: "h-8 w-8" })
134
+ children: /* @__PURE__ */ x(_, { className: "h-8 w-8" })
126
135
  });
127
136
  });
128
- function ee(e) {
129
- if (e.routePage === "workflow-feeds") return /* @__PURE__ */ y(o, {
130
- fallback: /* @__PURE__ */ y(J, {}),
131
- children: /* @__PURE__ */ y(I, {})
137
+ function re(e) {
138
+ if (e.routePage === "workflow-feeds") return /* @__PURE__ */ x(o, {
139
+ fallback: /* @__PURE__ */ x(X, {}),
140
+ children: /* @__PURE__ */ x(R, {})
132
141
  });
133
- if (e.routePage === "workflow-detail") return /* @__PURE__ */ y(o, {
134
- fallback: /* @__PURE__ */ y(J, {}),
135
- children: /* @__PURE__ */ y(L, {})
142
+ if (e.routePage === "workflow-detail") return /* @__PURE__ */ x(o, {
143
+ fallback: /* @__PURE__ */ x(X, {}),
144
+ children: /* @__PURE__ */ x(z, {})
136
145
  });
137
146
  if (e.dashboardOnly) {
138
147
  let t = `${(e.basePath ?? "/bigconsole").replace(/\/$/, "")}/dashboards`;
139
- return /* @__PURE__ */ y(o, {
140
- fallback: /* @__PURE__ */ y(J, {}),
141
- children: /* @__PURE__ */ b(h, { children: [
142
- /* @__PURE__ */ y(m, {
148
+ return /* @__PURE__ */ x(o, {
149
+ fallback: /* @__PURE__ */ x(X, {}),
150
+ children: /* @__PURE__ */ S(h, { children: [
151
+ /* @__PURE__ */ x(m, {
143
152
  path: "/",
144
- element: /* @__PURE__ */ y(p, {
153
+ element: /* @__PURE__ */ x(p, {
145
154
  to: t,
146
155
  replace: !0
147
156
  })
148
157
  }),
149
- /* @__PURE__ */ y(m, {
158
+ /* @__PURE__ */ x(m, {
150
159
  path: "/dashboards",
151
- element: /* @__PURE__ */ y(k, {})
160
+ element: /* @__PURE__ */ x(M, {})
152
161
  }),
153
- /* @__PURE__ */ y(m, {
162
+ /* @__PURE__ */ x(m, {
154
163
  path: "/dashboards/:dashboardId",
155
- element: /* @__PURE__ */ y(A, {})
164
+ element: /* @__PURE__ */ x(N, {})
156
165
  }),
157
- /* @__PURE__ */ y(m, {
166
+ /* @__PURE__ */ x(m, {
158
167
  path: "/dashboards/:dashboardId/builder",
159
- element: /* @__PURE__ */ y(j, {})
168
+ element: /* @__PURE__ */ x(P, {})
160
169
  }),
161
- /* @__PURE__ */ y(m, {
170
+ /* @__PURE__ */ x(m, {
162
171
  path: "*",
163
- element: /* @__PURE__ */ y(p, {
172
+ element: /* @__PURE__ */ x(p, {
164
173
  to: t,
165
174
  replace: !0
166
175
  })
@@ -168,186 +177,186 @@ function ee(e) {
168
177
  ] })
169
178
  });
170
179
  }
171
- return /* @__PURE__ */ y(o, {
172
- fallback: /* @__PURE__ */ y(J, {}),
173
- children: /* @__PURE__ */ b(h, { children: [
174
- /* @__PURE__ */ y(m, {
180
+ return /* @__PURE__ */ x(o, {
181
+ fallback: /* @__PURE__ */ x(X, {}),
182
+ children: /* @__PURE__ */ S(h, { children: [
183
+ /* @__PURE__ */ x(m, {
175
184
  path: "/",
176
- element: /* @__PURE__ */ y(O, {})
185
+ element: /* @__PURE__ */ x(j, {})
177
186
  }),
178
- /* @__PURE__ */ y(m, {
187
+ /* @__PURE__ */ x(m, {
179
188
  path: "/dashboards",
180
- element: /* @__PURE__ */ y(k, {})
189
+ element: /* @__PURE__ */ x(M, {})
181
190
  }),
182
- /* @__PURE__ */ y(m, {
191
+ /* @__PURE__ */ x(m, {
183
192
  path: "/dashboards/:dashboardId",
184
- element: /* @__PURE__ */ y(A, {})
193
+ element: /* @__PURE__ */ x(N, {})
185
194
  }),
186
- /* @__PURE__ */ y(m, {
195
+ /* @__PURE__ */ x(m, {
187
196
  path: "/dashboards/:dashboardId/builder",
188
- element: /* @__PURE__ */ y(j, {})
197
+ element: /* @__PURE__ */ x(P, {})
189
198
  }),
190
- /* @__PURE__ */ y(m, {
199
+ /* @__PURE__ */ x(m, {
191
200
  path: "/datasources",
192
- element: /* @__PURE__ */ y(M, {})
201
+ element: /* @__PURE__ */ x(F, {})
193
202
  }),
194
- /* @__PURE__ */ y(m, {
203
+ /* @__PURE__ */ x(m, {
195
204
  path: "/insights",
196
- element: /* @__PURE__ */ y(N, {})
205
+ element: /* @__PURE__ */ x(I, {})
197
206
  }),
198
- /* @__PURE__ */ y(m, {
207
+ /* @__PURE__ */ x(m, {
199
208
  path: "/settings",
200
- element: /* @__PURE__ */ y(P, {})
209
+ element: /* @__PURE__ */ x(ee, {})
201
210
  }),
202
- /* @__PURE__ */ y(m, {
211
+ /* @__PURE__ */ x(m, {
203
212
  path: "/widgets/demo",
204
- element: /* @__PURE__ */ y(F, {})
213
+ element: /* @__PURE__ */ x(L, {})
205
214
  }),
206
- /* @__PURE__ */ y(m, {
215
+ /* @__PURE__ */ x(m, {
207
216
  path: "/datasinks",
208
- element: /* @__PURE__ */ y(R, {})
217
+ element: /* @__PURE__ */ x(B, {})
209
218
  }),
210
- /* @__PURE__ */ y(m, {
219
+ /* @__PURE__ */ x(m, {
211
220
  path: "/datasinks/new",
212
- element: /* @__PURE__ */ y(V, {})
221
+ element: /* @__PURE__ */ x(U, {})
213
222
  }),
214
- /* @__PURE__ */ y(m, {
223
+ /* @__PURE__ */ x(m, {
215
224
  path: "/datasinks/:dataSinkId",
216
- element: /* @__PURE__ */ y(z, {})
225
+ element: /* @__PURE__ */ x(V, {})
217
226
  }),
218
- /* @__PURE__ */ y(m, {
227
+ /* @__PURE__ */ x(m, {
219
228
  path: "/datasinks/:dataSinkId/edit",
220
- element: /* @__PURE__ */ y(V, {})
229
+ element: /* @__PURE__ */ x(U, {})
221
230
  }),
222
- /* @__PURE__ */ y(m, {
231
+ /* @__PURE__ */ x(m, {
223
232
  path: "/datasinks/:dataSinkId/alerts",
224
- element: /* @__PURE__ */ y(B, {})
233
+ element: /* @__PURE__ */ x(H, {})
225
234
  }),
226
- /* @__PURE__ */ y(m, {
235
+ /* @__PURE__ */ x(m, {
227
236
  path: "/parsers",
228
- element: /* @__PURE__ */ y(H, {})
237
+ element: /* @__PURE__ */ x(W, {})
229
238
  }),
230
- /* @__PURE__ */ y(m, {
239
+ /* @__PURE__ */ x(m, {
231
240
  path: "/parsers/new",
232
- element: /* @__PURE__ */ y(W, {})
241
+ element: /* @__PURE__ */ x(K, {})
233
242
  }),
234
- /* @__PURE__ */ y(m, {
243
+ /* @__PURE__ */ x(m, {
235
244
  path: "/parsers/:parserId",
236
- element: /* @__PURE__ */ y(U, {})
245
+ element: /* @__PURE__ */ x(G, {})
237
246
  }),
238
- /* @__PURE__ */ y(m, {
247
+ /* @__PURE__ */ x(m, {
239
248
  path: "/parsers/:parserId/edit",
240
- element: /* @__PURE__ */ y(W, {})
249
+ element: /* @__PURE__ */ x(K, {})
241
250
  }),
242
- /* @__PURE__ */ y(m, {
251
+ /* @__PURE__ */ x(m, {
243
252
  path: "/dashboards/:consoleId/parsers",
244
- element: /* @__PURE__ */ y(H, {})
253
+ element: /* @__PURE__ */ x(W, {})
245
254
  }),
246
- /* @__PURE__ */ y(m, {
255
+ /* @__PURE__ */ x(m, {
247
256
  path: "/dashboards/:consoleId/parsers/new",
248
- element: /* @__PURE__ */ y(W, {})
257
+ element: /* @__PURE__ */ x(K, {})
249
258
  }),
250
- /* @__PURE__ */ y(m, {
259
+ /* @__PURE__ */ x(m, {
251
260
  path: "/dashboards/:consoleId/parsers/:parserId",
252
- element: /* @__PURE__ */ y(U, {})
261
+ element: /* @__PURE__ */ x(G, {})
253
262
  }),
254
- /* @__PURE__ */ y(m, {
263
+ /* @__PURE__ */ x(m, {
255
264
  path: "/dashboards/:consoleId/parsers/:parserId/edit",
256
- element: /* @__PURE__ */ y(W, {})
265
+ element: /* @__PURE__ */ x(K, {})
257
266
  }),
258
- /* @__PURE__ */ y(m, {
267
+ /* @__PURE__ */ x(m, {
259
268
  path: "/workflows",
260
- element: /* @__PURE__ */ y(I, {})
269
+ element: /* @__PURE__ */ x(R, {})
261
270
  }),
262
- /* @__PURE__ */ y(m, {
271
+ /* @__PURE__ */ x(m, {
263
272
  path: "/workflows/feeds",
264
- element: /* @__PURE__ */ y(I, {})
273
+ element: /* @__PURE__ */ x(R, {})
265
274
  }),
266
- /* @__PURE__ */ y(m, {
275
+ /* @__PURE__ */ x(m, {
267
276
  path: "/workflows/details/:workflowId",
268
- element: /* @__PURE__ */ y(L, {})
277
+ element: /* @__PURE__ */ x(z, {})
269
278
  }),
270
- /* @__PURE__ */ y(m, {
279
+ /* @__PURE__ */ x(m, {
271
280
  path: "/workflows/list",
272
- element: /* @__PURE__ */ y(I, {})
281
+ element: /* @__PURE__ */ x(R, {})
273
282
  }),
274
- /* @__PURE__ */ y(m, {
283
+ /* @__PURE__ */ x(m, {
275
284
  path: "/workflows/new",
276
- element: /* @__PURE__ */ y(X, {})
285
+ element: /* @__PURE__ */ x(Q, {})
277
286
  }),
278
- /* @__PURE__ */ y(m, {
287
+ /* @__PURE__ */ x(m, {
279
288
  path: "/workflows/builder",
280
- element: /* @__PURE__ */ y(D, {})
289
+ element: /* @__PURE__ */ x(A, {})
281
290
  }),
282
- /* @__PURE__ */ y(m, {
291
+ /* @__PURE__ */ x(m, {
283
292
  path: "/workflows/builder/:id/:version",
284
- element: /* @__PURE__ */ y($, {})
293
+ element: /* @__PURE__ */ x($, {})
285
294
  }),
286
- /* @__PURE__ */ y(m, {
295
+ /* @__PURE__ */ x(m, {
287
296
  path: "/workflows/workflow/:id/:version",
288
- element: /* @__PURE__ */ y($, {})
297
+ element: /* @__PURE__ */ x($, {})
289
298
  }),
290
- /* @__PURE__ */ y(m, {
299
+ /* @__PURE__ */ x(m, {
291
300
  path: "/workflows/runs",
292
- element: /* @__PURE__ */ y(S, {})
301
+ element: /* @__PURE__ */ x(w, {})
293
302
  }),
294
- /* @__PURE__ */ y(m, {
303
+ /* @__PURE__ */ x(m, {
295
304
  path: "/workflows/runs/:runId",
296
- element: /* @__PURE__ */ y(x, {})
305
+ element: /* @__PURE__ */ x(C, {})
297
306
  }),
298
- /* @__PURE__ */ y(m, {
307
+ /* @__PURE__ */ x(m, {
299
308
  path: "/workflows/history",
300
- element: /* @__PURE__ */ y(C, {})
309
+ element: /* @__PURE__ */ x(T, {})
301
310
  }),
302
- /* @__PURE__ */ y(m, {
311
+ /* @__PURE__ */ x(m, {
303
312
  path: "/workflows/templates",
304
- element: /* @__PURE__ */ y(E, {})
313
+ element: /* @__PURE__ */ x(O, {})
305
314
  }),
306
- /* @__PURE__ */ y(m, {
315
+ /* @__PURE__ */ x(m, {
307
316
  path: "/workflows/nodes",
308
- element: /* @__PURE__ */ y(w, {})
317
+ element: /* @__PURE__ */ x(E, {})
309
318
  }),
310
- /* @__PURE__ */ y(m, {
319
+ /* @__PURE__ */ x(m, {
311
320
  path: "/workflows/settings",
312
- element: /* @__PURE__ */ y(T, {})
321
+ element: /* @__PURE__ */ x(D, {})
313
322
  }),
314
- /* @__PURE__ */ y(m, {
323
+ /* @__PURE__ */ x(m, {
315
324
  path: "/workflows/:workflowId",
316
- element: /* @__PURE__ */ y(L, {})
325
+ element: /* @__PURE__ */ x(z, {})
317
326
  }),
318
- /* @__PURE__ */ y(m, {
327
+ /* @__PURE__ */ x(m, {
319
328
  path: "/workflows/:workflowId/edit",
320
- element: /* @__PURE__ */ y(Z, {})
329
+ element: /* @__PURE__ */ x(te, {})
321
330
  }),
322
- /* @__PURE__ */ y(m, {
331
+ /* @__PURE__ */ x(m, {
323
332
  path: "/workflow/:id/:version",
324
- element: /* @__PURE__ */ y($, {})
333
+ element: /* @__PURE__ */ x($, {})
325
334
  }),
326
- /* @__PURE__ */ y(m, {
335
+ /* @__PURE__ */ x(m, {
327
336
  path: "/list",
328
- element: /* @__PURE__ */ y(p, {
337
+ element: /* @__PURE__ */ x(p, {
329
338
  to: "/bigconsole/workflows/list",
330
339
  replace: !0
331
340
  })
332
341
  }),
333
- /* @__PURE__ */ y(m, {
342
+ /* @__PURE__ */ x(m, {
334
343
  path: "/pipelines",
335
- element: /* @__PURE__ */ y(G, {})
344
+ element: /* @__PURE__ */ x(q, {})
336
345
  }),
337
- /* @__PURE__ */ y(m, {
346
+ /* @__PURE__ */ x(m, {
338
347
  path: "/pipelines/new",
339
- element: /* @__PURE__ */ y(q, {})
348
+ element: /* @__PURE__ */ x(Y, {})
340
349
  }),
341
- /* @__PURE__ */ y(m, {
350
+ /* @__PURE__ */ x(m, {
342
351
  path: "/pipelines/:pipelineId",
343
- element: /* @__PURE__ */ y(K, {})
352
+ element: /* @__PURE__ */ x(J, {})
344
353
  }),
345
- /* @__PURE__ */ y(m, {
354
+ /* @__PURE__ */ x(m, {
346
355
  path: "/pipelines/:pipelineId/edit",
347
- element: /* @__PURE__ */ y(q, {})
356
+ element: /* @__PURE__ */ x(Y, {})
348
357
  })
349
358
  ] })
350
359
  });
351
360
  }
352
361
  //#endregion
353
- export { ee as BigConsoleRoutes, Y as newWorkflowPath };
362
+ export { re as BigConsoleRoutes, Z as newWorkflowPath };
@@ -77,7 +77,10 @@ var o = {
77
77
  }
78
78
  }
79
79
  ],
80
- records: i
80
+ records: i,
81
+ uiCatalogue: !0,
82
+ uiOffers: !0,
83
+ leaveGuard: !0
81
84
  },
82
85
  reportTurnTimings: !0,
83
86
  writeApproval: "proposal-v1"
@@ -0,0 +1,32 @@
1
+ import { AssistantModeConfig } from '@burdenoff/fe-libs/shared/assistant/conversation';
2
+
3
+ /** Keys longer than this get a hash suffix instead of the full slug (as fe-libs). */
4
+ export declare const MAX_COPY_SLUG_LENGTH = 64;
5
+ /**
6
+ * lower-camel ASCII of an English string, accents folded and every
7
+ * non-alphanumeric run a word break: `"What can I do on this screen?"` →
8
+ * `whatCanIDoOnThisScreen`. A slug over {@link MAX_COPY_SLUG_LENGTH} keeps a
9
+ * readable prefix plus a hash of the whole English.
10
+ *
11
+ * ★ The same function as fe-libs' `assistantCopySlug` (PR-I18N,
12
+ * `shared/assistant/productCopy.ts`), which derives the keys it looks up at
13
+ * display time. Replace this copy with the fe-libs import once that ships.
14
+ *
15
+ * @throws when nothing ASCII-alphanumeric is left — fe-libs shows such copy as
16
+ * passed, so a key for it could never be asked for.
17
+ */
18
+ export declare function assistantCopySlug(english: string): string;
19
+ /** The part of a mode whose copy this module keys. */
20
+ export type AssistantModeDisplaySource = Pick<AssistantModeConfig, 'id' | 'description' | 'suggestions'>;
21
+ /**
22
+ * Relative key → English for each mode's description and suggestion chips, and
23
+ * for each page label.
24
+ *
25
+ * @throws when two different English strings would share a key.
26
+ */
27
+ export declare function assistantDisplayCopy(args: {
28
+ modes: readonly AssistantModeDisplaySource[];
29
+ pageLabels: readonly string[];
30
+ }): Record<string, string>;
31
+ /** BigConsole's display copy as FULL keys (`bigconsole.assistant.…`), for the seed bundle. */
32
+ export declare function bigconsoleAssistantDisplaySeedCopy(): Record<string, string>;
@@ -39,6 +39,20 @@ export type PageContext = {
39
39
  timestamp: string;
40
40
  };
41
41
  export declare function gatherPageContext(): PageContext;
42
+ /**
43
+ * Route segment → human label.
44
+ *
45
+ * ★ Every top-level segment BigConsole routes to (`BigConsoleRoutes.tsx`),
46
+ * except `/list`, which only redirects. Anything missing falls through to a
47
+ * title-cased segment, which is right far more often than a wrong
48
+ * label would be — and a wrong answer here is worse than none, because the panel
49
+ * states it as fact.
50
+ *
51
+ * Each label is also seeded as `bigconsole.assistant.page.<slug>`
52
+ * (`displayCopy.ts`) so the panel can SHOW it translated; the English here is
53
+ * what the model is told.
54
+ */
55
+ export declare const BIGCONSOLE_PAGE_LABELS: Readonly<Record<string, string>>;
42
56
  /**
43
57
  * A human label for where the user is right now, for the shared panel.
44
58
  *
@@ -18,9 +18,14 @@ var n = "Home", r = {
18
18
  home: n,
19
19
  dashboards: "Dashboards",
20
20
  datasinks: "Data sinks",
21
+ datasources: "Data sources",
22
+ insights: "Insights",
21
23
  parsers: "Parsers",
22
24
  pipelines: "Pipelines",
23
- workflows: "Workflows"
25
+ settings: "Settings",
26
+ widgets: "Widgets",
27
+ workflows: "Workflows",
28
+ workflow: "Workflows"
24
29
  };
25
30
  function i() {
26
31
  let { currentPage: e } = t(), i = e.split("/").filter(Boolean), a = (i[0] === "bigconsole" ? i[1] : i[0]) ?? "";
@@ -0,0 +1,81 @@
1
+ import { PageControlsAdapter } from '@burdenoff/fe-libs/shared/assistant/appControls/types';
2
+ import { ListSortValue, SortTr } from '../utils/listSort';
3
+
4
+ export type Tr = SortTr;
5
+ export interface Opt<V extends string> {
6
+ value: V;
7
+ label: string;
8
+ }
9
+ /**
10
+ * The page's sort menu as an adapter `sort`: Name and Last updated, each both
11
+ * ways. `value` `default` (a page's untouched order) reports no current sort.
12
+ */
13
+ export declare function listSortOf(input: {
14
+ tr: Tr;
15
+ value: ListSortValue;
16
+ set: (value: ListSortValue) => void;
17
+ }): NonNullable<PageControlsAdapter['sort']>;
18
+ export interface DashboardsListInput {
19
+ tr: Tr;
20
+ /** The categories present in the data (the user's own words). */
21
+ categories: readonly string[];
22
+ /** The statuses present in the data, labelled as the page labels them. */
23
+ statuses: readonly Opt<string>[];
24
+ category: string;
25
+ status: string;
26
+ setCategory: (value: string) => void;
27
+ setStatus: (value: string) => void;
28
+ setSearch: (query: string) => void;
29
+ sort: ListSortValue;
30
+ setSort: (value: ListSortValue) => void;
31
+ }
32
+ export declare function dashboardsListControls(i: DashboardsListInput): PageControlsAdapter;
33
+ export type SetupStateValue = 'all' | 'in_progress' | 'completed';
34
+ export type DataSinkStatusValue = 'ready' | 'error' | 'stale' | 'refreshing';
35
+ export interface DataSinksListInput {
36
+ tr: Tr;
37
+ setupStateOptions: readonly Opt<SetupStateValue>[];
38
+ setupState: SetupStateValue;
39
+ setSetupState: (value: SetupStateValue) => void;
40
+ status: DataSinkStatusValue | null;
41
+ setStatus: (value: DataSinkStatusValue | null) => void;
42
+ active: boolean | null;
43
+ setActive: (value: boolean | null) => void;
44
+ setSearch: (query: string) => void;
45
+ sort: ListSortValue;
46
+ setSort: (value: ListSortValue) => void;
47
+ }
48
+ export declare function dataSinksListControls(i: DataSinksListInput): PageControlsAdapter;
49
+ export interface ParsersListInput {
50
+ tr: Tr;
51
+ typeOptions: readonly Opt<string>[];
52
+ statusOptions: readonly Opt<string>[];
53
+ type: string;
54
+ status: string;
55
+ setType: (value: string) => void;
56
+ setStatus: (value: string) => void;
57
+ setSearch: (query: string) => void;
58
+ }
59
+ export declare function parsersListControls(i: ParsersListInput): PageControlsAdapter;
60
+ export interface PipelinesListInput {
61
+ tr: Tr;
62
+ statusOptions: readonly Opt<string>[];
63
+ status: string;
64
+ setStatus: (value: string) => void;
65
+ setSearch: (query: string) => void;
66
+ }
67
+ export declare function pipelinesListControls(i: PipelinesListInput): PageControlsAdapter;
68
+ export interface DashboardPageTabsInput {
69
+ /** The dashboard's own name (user data), said back as the page. */
70
+ dashboardName: string;
71
+ tabs: readonly {
72
+ id: string;
73
+ label: string;
74
+ }[];
75
+ /** The page now shown. */
76
+ current: string | null;
77
+ /** The toolbar's own handler (pushes `?page=`). */
78
+ select: (id: string) => void;
79
+ }
80
+ /** Null when the dashboard has no pages to switch between. */
81
+ export declare function dashboardPageTabs(i: DashboardPageTabsInput): PageControlsAdapter | null;