@datatechsolutions/ui 3.4.0 → 3.5.0

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 (169) hide show
  1. package/dist/astrlabe/index.js +108 -108
  2. package/dist/astrlabe/index.mjs +4 -4
  3. package/dist/astrlabe/workflow-canvas.js +4 -4
  4. package/dist/astrlabe/workflow-canvas.mjs +3 -3
  5. package/dist/{chunk-SEYUYGER.mjs → chunk-2MJAHST4.mjs} +12 -11
  6. package/dist/chunk-2MJAHST4.mjs.map +1 -0
  7. package/dist/{chunk-SQ4KGLBZ.mjs → chunk-3OLYSMI5.mjs} +41 -7
  8. package/dist/chunk-3OLYSMI5.mjs.map +1 -0
  9. package/dist/{chunk-RLVOG5OQ.mjs → chunk-4PFU6A2B.mjs} +3 -3
  10. package/dist/{chunk-RLVOG5OQ.mjs.map → chunk-4PFU6A2B.mjs.map} +1 -1
  11. package/dist/{chunk-RFRXS4PC.mjs → chunk-5BEVTOZV.mjs} +4 -4
  12. package/dist/{chunk-RFRXS4PC.mjs.map → chunk-5BEVTOZV.mjs.map} +1 -1
  13. package/dist/{chunk-NCLZKVJK.js → chunk-5I7F7KZ6.js} +10 -10
  14. package/dist/{chunk-NCLZKVJK.js.map → chunk-5I7F7KZ6.js.map} +1 -1
  15. package/dist/{chunk-NAFWHJCM.mjs → chunk-6V3DUBOZ.mjs} +7 -7
  16. package/dist/{chunk-NAFWHJCM.mjs.map → chunk-6V3DUBOZ.mjs.map} +1 -1
  17. package/dist/{chunk-AL73YAV4.mjs → chunk-6W7VTZG6.mjs} +3 -3
  18. package/dist/{chunk-AL73YAV4.mjs.map → chunk-6W7VTZG6.mjs.map} +1 -1
  19. package/dist/{chunk-ERCDMBRT.js → chunk-74MHWEDC.js} +168 -167
  20. package/dist/chunk-74MHWEDC.js.map +1 -0
  21. package/dist/{chunk-CUWPLPVY.mjs → chunk-7CEZB3ZD.mjs} +3 -3
  22. package/dist/{chunk-CUWPLPVY.mjs.map → chunk-7CEZB3ZD.mjs.map} +1 -1
  23. package/dist/{chunk-QBFE7ABE.mjs → chunk-7UHV6A4C.mjs} +6 -6
  24. package/dist/{chunk-QBFE7ABE.mjs.map → chunk-7UHV6A4C.mjs.map} +1 -1
  25. package/dist/{chunk-TUQLZ4QD.js → chunk-A7FI4K7Z.js} +5 -5
  26. package/dist/{chunk-TUQLZ4QD.js.map → chunk-A7FI4K7Z.js.map} +1 -1
  27. package/dist/{chunk-RLLP7VQJ.js → chunk-AVM53A3Y.js} +63 -29
  28. package/dist/chunk-AVM53A3Y.js.map +1 -0
  29. package/dist/{chunk-FSBR4RCK.js → chunk-AWDH6WNA.js} +139 -109
  30. package/dist/chunk-AWDH6WNA.js.map +1 -0
  31. package/dist/{chunk-Y2AYFG4E.js → chunk-BVXATTTA.js} +4 -4
  32. package/dist/{chunk-Y2AYFG4E.js.map → chunk-BVXATTTA.js.map} +1 -1
  33. package/dist/{chunk-CF7GOUBQ.js → chunk-C4NRF2G2.js} +13 -13
  34. package/dist/{chunk-CF7GOUBQ.js.map → chunk-C4NRF2G2.js.map} +1 -1
  35. package/dist/{chunk-45QAUEYT.js → chunk-CY2MBKVG.js} +4 -4
  36. package/dist/{chunk-45QAUEYT.js.map → chunk-CY2MBKVG.js.map} +1 -1
  37. package/dist/{chunk-PGVZKMOA.js → chunk-FK3WDELF.js} +40 -40
  38. package/dist/{chunk-PGVZKMOA.js.map → chunk-FK3WDELF.js.map} +1 -1
  39. package/dist/{chunk-ZKSDDFHG.mjs → chunk-IOEQ2GET.mjs} +4 -4
  40. package/dist/{chunk-ZKSDDFHG.mjs.map → chunk-IOEQ2GET.mjs.map} +1 -1
  41. package/dist/{chunk-MO5FBVV3.js → chunk-NCDBNGIB.js} +62 -62
  42. package/dist/{chunk-MO5FBVV3.js.map → chunk-NCDBNGIB.js.map} +1 -1
  43. package/dist/{chunk-4GDWGWHY.mjs → chunk-NJ5RVWLA.mjs} +4 -4
  44. package/dist/{chunk-4GDWGWHY.mjs.map → chunk-NJ5RVWLA.mjs.map} +1 -1
  45. package/dist/{chunk-UJVDI66K.js → chunk-NKXQYFS7.js} +16 -16
  46. package/dist/{chunk-UJVDI66K.js.map → chunk-NKXQYFS7.js.map} +1 -1
  47. package/dist/{chunk-AGGOHPMZ.mjs → chunk-NOHHZ6FM.mjs} +139 -109
  48. package/dist/chunk-NOHHZ6FM.mjs.map +1 -0
  49. package/dist/{chunk-VV6SYMPM.mjs → chunk-OASC7NYV.mjs} +3 -3
  50. package/dist/{chunk-VV6SYMPM.mjs.map → chunk-OASC7NYV.mjs.map} +1 -1
  51. package/dist/{chunk-6MBWKOPF.js → chunk-P43PX75J.js} +33 -33
  52. package/dist/{chunk-6MBWKOPF.js.map → chunk-P43PX75J.js.map} +1 -1
  53. package/dist/{chunk-BW67WFHT.mjs → chunk-QLFSJ6HK.mjs} +3 -3
  54. package/dist/{chunk-BW67WFHT.mjs.map → chunk-QLFSJ6HK.mjs.map} +1 -1
  55. package/dist/{chunk-X3GW7UPN.mjs → chunk-QPSHM2JQ.mjs} +4 -4
  56. package/dist/{chunk-X3GW7UPN.mjs.map → chunk-QPSHM2JQ.mjs.map} +1 -1
  57. package/dist/{chunk-M7KSEUZR.js → chunk-QSMPKL27.js} +74 -74
  58. package/dist/{chunk-M7KSEUZR.js.map → chunk-QSMPKL27.js.map} +1 -1
  59. package/dist/{chunk-IDEM3DYF.mjs → chunk-UHMAKUON.mjs} +3 -3
  60. package/dist/{chunk-IDEM3DYF.mjs.map → chunk-UHMAKUON.mjs.map} +1 -1
  61. package/dist/{chunk-YV7F7IXG.js → chunk-V5VBYOF5.js} +36 -36
  62. package/dist/{chunk-YV7F7IXG.js.map → chunk-V5VBYOF5.js.map} +1 -1
  63. package/dist/{chunk-4ICEQJH4.js → chunk-VMGNQFRO.js} +53 -53
  64. package/dist/{chunk-4ICEQJH4.js.map → chunk-VMGNQFRO.js.map} +1 -1
  65. package/dist/{chunk-UE2RDQIK.js → chunk-Z7VY5M4T.js} +77 -77
  66. package/dist/{chunk-UE2RDQIK.js.map → chunk-Z7VY5M4T.js.map} +1 -1
  67. package/dist/{chunk-NVQWHJQH.mjs → chunk-ZM2Q2SMC.mjs} +3 -3
  68. package/dist/{chunk-NVQWHJQH.mjs.map → chunk-ZM2Q2SMC.mjs.map} +1 -1
  69. package/dist/index.js +721 -721
  70. package/dist/index.mjs +2 -2
  71. package/dist/platform/admin/index.js +11 -11
  72. package/dist/platform/admin/index.mjs +5 -5
  73. package/dist/platform/agents-workspace.js +7 -7
  74. package/dist/platform/agents-workspace.mjs +6 -6
  75. package/dist/platform/app-shell.js +4 -4
  76. package/dist/platform/app-shell.mjs +3 -3
  77. package/dist/platform/auth/index.js +28 -28
  78. package/dist/platform/auth/index.mjs +5 -5
  79. package/dist/platform/billing/index.js +4 -4
  80. package/dist/platform/billing/index.mjs +3 -3
  81. package/dist/platform/impersonation/index.js +4 -4
  82. package/dist/platform/impersonation/index.mjs +3 -3
  83. package/dist/platform/index.js +89 -89
  84. package/dist/platform/index.mjs +19 -19
  85. package/dist/platform/pages/index.js +318 -202
  86. package/dist/platform/pages/index.js.map +1 -1
  87. package/dist/platform/pages/index.mjs +144 -28
  88. package/dist/platform/pages/index.mjs.map +1 -1
  89. package/dist/platform/settings/index.js +8 -8
  90. package/dist/platform/settings/index.mjs +7 -7
  91. package/dist/platform/workflow-canvas-shell.js +5 -5
  92. package/dist/platform/workflow-canvas-shell.mjs +4 -4
  93. package/package.json +1 -1
  94. package/dist/astrlabe/contracts.d.mts +0 -517
  95. package/dist/astrlabe/contracts.d.ts +0 -517
  96. package/dist/astrlabe/graph-node.d.mts +0 -28
  97. package/dist/astrlabe/graph-node.d.ts +0 -28
  98. package/dist/astrlabe/index.d.mts +0 -743
  99. package/dist/astrlabe/index.d.ts +0 -743
  100. package/dist/astrlabe/utils.d.mts +0 -60
  101. package/dist/astrlabe/utils.d.ts +0 -60
  102. package/dist/astrlabe/workflow-canvas.d.mts +0 -6
  103. package/dist/astrlabe/workflow-canvas.d.ts +0 -6
  104. package/dist/astrlabe/workflow-preview-canvas.d.mts +0 -10
  105. package/dist/astrlabe/workflow-preview-canvas.d.ts +0 -10
  106. package/dist/billing-panel-DsHhhJqG.d.mts +0 -18
  107. package/dist/billing-panel-DsHhhJqG.d.ts +0 -18
  108. package/dist/brand/index.d.mts +0 -71
  109. package/dist/brand/index.d.ts +0 -71
  110. package/dist/chunk-AGGOHPMZ.mjs.map +0 -1
  111. package/dist/chunk-ERCDMBRT.js.map +0 -1
  112. package/dist/chunk-FSBR4RCK.js.map +0 -1
  113. package/dist/chunk-RLLP7VQJ.js.map +0 -1
  114. package/dist/chunk-SEYUYGER.mjs.map +0 -1
  115. package/dist/chunk-SQ4KGLBZ.mjs.map +0 -1
  116. package/dist/dynamic-island-confirm-BKsZkAEP.d.mts +0 -17
  117. package/dist/dynamic-island-confirm-BKsZkAEP.d.ts +0 -17
  118. package/dist/index-BNRGVAS5.d.mts +0 -222
  119. package/dist/index-BoebbJ44.d.mts +0 -49
  120. package/dist/index-BoebbJ44.d.ts +0 -49
  121. package/dist/index-CnCY-b5V.d.ts +0 -222
  122. package/dist/index.d.mts +0 -5263
  123. package/dist/index.d.ts +0 -5263
  124. package/dist/layout-engine-YZcVr20M.d.mts +0 -19
  125. package/dist/layout-engine-YZcVr20M.d.ts +0 -19
  126. package/dist/lib/i18n-context.d.mts +0 -36
  127. package/dist/lib/i18n-context.d.ts +0 -36
  128. package/dist/lib/router-context.d.mts +0 -35
  129. package/dist/lib/router-context.d.ts +0 -35
  130. package/dist/navigation-BiWVffAN.d.mts +0 -49
  131. package/dist/navigation-BiWVffAN.d.ts +0 -49
  132. package/dist/platform/admin/index.d.mts +0 -17
  133. package/dist/platform/admin/index.d.ts +0 -17
  134. package/dist/platform/agents-workspace.d.mts +0 -19
  135. package/dist/platform/agents-workspace.d.ts +0 -19
  136. package/dist/platform/app-shell.d.mts +0 -58
  137. package/dist/platform/app-shell.d.ts +0 -58
  138. package/dist/platform/auth/index.d.mts +0 -73
  139. package/dist/platform/auth/index.d.ts +0 -73
  140. package/dist/platform/billing/index.d.mts +0 -29
  141. package/dist/platform/billing/index.d.ts +0 -29
  142. package/dist/platform/impersonation/index.d.mts +0 -19
  143. package/dist/platform/impersonation/index.d.ts +0 -19
  144. package/dist/platform/index.d.mts +0 -188
  145. package/dist/platform/index.d.ts +0 -188
  146. package/dist/platform/pages/index.d.mts +0 -432
  147. package/dist/platform/pages/index.d.ts +0 -432
  148. package/dist/platform/rbac.d.mts +0 -42
  149. package/dist/platform/rbac.d.ts +0 -42
  150. package/dist/platform/settings/index.d.mts +0 -31
  151. package/dist/platform/settings/index.d.ts +0 -31
  152. package/dist/platform/telemetry/index.d.mts +0 -51
  153. package/dist/platform/telemetry/index.d.ts +0 -51
  154. package/dist/platform/utils/index.d.mts +0 -32
  155. package/dist/platform/utils/index.d.ts +0 -32
  156. package/dist/platform/windsock-admin-client.d.mts +0 -57
  157. package/dist/platform/windsock-admin-client.d.ts +0 -57
  158. package/dist/platform/workflow-api-client.d.mts +0 -6
  159. package/dist/platform/workflow-api-client.d.ts +0 -6
  160. package/dist/platform/workflow-canvas-shell.d.mts +0 -18
  161. package/dist/platform/workflow-canvas-shell.d.ts +0 -18
  162. package/dist/rule-form-BYJzyork.d.mts +0 -128
  163. package/dist/rule-form-BYJzyork.d.ts +0 -128
  164. package/dist/workflow-api-client-CpFl3WcG.d.mts +0 -468
  165. package/dist/workflow-api-client-uLICOanv.d.ts +0 -468
  166. package/dist/workflow-canvas--qaYKuMm.d.ts +0 -113
  167. package/dist/workflow-canvas-B80fmD_n.d.mts +0 -113
  168. package/dist/workflow-store-o17I6L6A.d.ts +0 -79
  169. package/dist/workflow-store-ppVHdMZi.d.mts +0 -79
@@ -1,432 +0,0 @@
1
- import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { UsersPageViewProps, DataSource, RolesPageViewProps, WorkflowsPageViewProps } from '@datatechsolutions/shared-domain/common';
3
- import { AgentModel, AgentTool, AgentRule, WorkflowRun, ModelProviderType } from '../../astrlabe/contracts.js';
4
- import { A as AgentWithPrompts } from '../../index-CnCY-b5V.js';
5
- import { AgentPrompt } from '@datatechsolutions/shared-domain/ports/workflow';
6
- import { R as RuleFormValue, E as ExecutionTimelineLabels } from '../../rule-form-BYJzyork.js';
7
- import { D as DatasourceFormData, A as AnalyticsSummary, R as RunTimelineEntry, M as ModelProviderConnection } from '../../workflow-api-client-uLICOanv.js';
8
- export { a as DIALECT_CATEGORIES, b as DatasourceFormModal, c as DatasourceFormModalProps, d as DatasourceModal, e as DatasourceModalProps, f as findCategory, g as findDialect } from '../../workflow-api-client-uLICOanv.js';
9
- import { ReactNode } from 'react';
10
- import { PlatformRoleDefinition } from '../rbac.js';
11
- import { SecretSummary } from '../windsock-admin-client.js';
12
- import '../../index-BoebbJ44.js';
13
- import '@datatechsolutions/shared-domain';
14
-
15
- declare function UsersPageView({ labels, users, onCreateUser, onUpdateRole }: UsersPageViewProps): react_jsx_runtime.JSX.Element;
16
-
17
- type AgentsModelsLabels = {
18
- title: string;
19
- subtitle: string;
20
- provider: string;
21
- enabled: string;
22
- disabled: string;
23
- empty: string;
24
- };
25
- type Props$9 = {
26
- labels: AgentsModelsLabels;
27
- models: AgentModel[];
28
- loading: boolean;
29
- };
30
- declare function AgentsModelsPageView({ labels, models, loading }: Props$9): react_jsx_runtime.JSX.Element;
31
-
32
- type AgentConfigFormInput = {
33
- agentId?: string;
34
- name: string;
35
- modelId: string;
36
- systemPrompt: string;
37
- maxTokens: number;
38
- temperature: number;
39
- outputSchema?: string;
40
- };
41
- type AgentsConfigLabels = {
42
- title: string;
43
- subtitle: string;
44
- addAgent: string;
45
- createTitle: string;
46
- editTitle: string;
47
- name: string;
48
- model: string;
49
- systemPrompt: string;
50
- maxTokens: number | string;
51
- temperature: string;
52
- outputSchema: string;
53
- outputSchemaPlaceholder: string;
54
- save: string;
55
- delete: string;
56
- edit: string;
57
- deleteConfirm: string;
58
- activeVersion: string;
59
- empty: string;
60
- };
61
- type Props$8 = {
62
- labels: AgentsConfigLabels;
63
- agents: AgentWithPrompts[];
64
- models: AgentModel[];
65
- loading: boolean;
66
- onCreate: (input: AgentConfigFormInput) => void;
67
- onUpdate: (agentId: string, input: AgentConfigFormInput) => void;
68
- onDelete: (agent: AgentWithPrompts) => void;
69
- };
70
- declare function AgentsConfigPageView({ labels, agents, models, loading, onCreate, onUpdate, onDelete }: Props$8): react_jsx_runtime.JSX.Element;
71
-
72
- type PromptFormInput = {
73
- agentId: string;
74
- locale: string;
75
- prompt: string;
76
- systemPrompt?: string;
77
- userTemplate?: string;
78
- isActive: boolean;
79
- reason?: string;
80
- };
81
- type AgentsPromptsLabels = {
82
- title: string;
83
- subtitle: string;
84
- addPrompt: string;
85
- createTitle: string;
86
- editTitle: string;
87
- agent: string;
88
- locale: string;
89
- version: string;
90
- isActive: string;
91
- prompt: string;
92
- systemPrompt: string;
93
- userTemplate: string;
94
- reason: string;
95
- save: string;
96
- delete: string;
97
- activate: string;
98
- deleteConfirm: string;
99
- empty: string;
100
- };
101
- type Props$7 = {
102
- labels: AgentsPromptsLabels;
103
- agents: AgentWithPrompts[];
104
- prompts: AgentPrompt[];
105
- loading: boolean;
106
- onCreate: (input: PromptFormInput) => void;
107
- onActivate: (prompt: AgentPrompt) => void;
108
- onDelete: (prompt: AgentPrompt) => void;
109
- };
110
- declare function AgentsPromptsPageView({ labels, agents, prompts, loading, onCreate, onActivate, onDelete }: Props$7): react_jsx_runtime.JSX.Element;
111
-
112
- declare const TOOL_TYPES: readonly ["http", "function", "database_query", "code_execution", "api_call"];
113
- type ToolType = (typeof TOOL_TYPES)[number];
114
- type ToolParameter = {
115
- name: string;
116
- type: 'string' | 'number' | 'boolean' | 'array' | 'object';
117
- description: string;
118
- required: boolean;
119
- };
120
- /**
121
- * Canonical form payload the page emits. The page wrapper turns this
122
- * into the backend POST/PATCH bodies — parameters go through
123
- * `parametersToJsonSchema` to produce `inputSchema`, and `handlerConfig`
124
- * stays as-is.
125
- */
126
- type ToolDefinitionFormInput = {
127
- agentToolId?: string;
128
- name: string;
129
- description?: string;
130
- toolType: ToolType;
131
- parameters: ToolParameter[];
132
- handlerConfig: Record<string, unknown>;
133
- enabled: boolean;
134
- icon?: string;
135
- };
136
- type AgentsToolDefinitionsLabels = {
137
- title: string;
138
- subtitle: string;
139
- addTool: string;
140
- createTitle: string;
141
- editTitle: string;
142
- name: string;
143
- description: string;
144
- category: string;
145
- enabled: string;
146
- disabled: string;
147
- icon: string;
148
- save: string;
149
- delete: string;
150
- edit: string;
151
- deleteConfirm: string;
152
- empty: string;
153
- };
154
- type Props$6 = {
155
- labels: AgentsToolDefinitionsLabels;
156
- tools: AgentTool[];
157
- loading: boolean;
158
- onCreate: (input: ToolDefinitionFormInput) => void;
159
- onUpdate: (toolId: string, input: ToolDefinitionFormInput) => void;
160
- onDelete: (tool: AgentTool) => void;
161
- };
162
- declare function AgentsToolDefinitionsPageView({ labels, tools, loading, onCreate, onUpdate, onDelete }: Props$6): react_jsx_runtime.JSX.Element;
163
- /**
164
- * Build a JSON Schema object from the parameter list. Mirrors the
165
- * format the backend validator (`validate_input_schema`) expects —
166
- * `{ type: 'object', properties, required }`.
167
- */
168
- declare function parametersToJsonSchema(params: ToolParameter[]): Record<string, unknown>;
169
- /**
170
- * Inverse of `parametersToJsonSchema` — hydrate the editor UI from an
171
- * existing schema so the Edit flow shows what was stored.
172
- */
173
- declare function jsonSchemaToParameters(schema: unknown): ToolParameter[];
174
-
175
- type RulesLabels = {
176
- title: string;
177
- subtitle: string;
178
- addRule: string;
179
- createTitle: string;
180
- editTitle: string;
181
- save: string;
182
- delete: string;
183
- edit: string;
184
- deleteConfirm: string;
185
- empty: string;
186
- enabled: string;
187
- disabled: string;
188
- order: string;
189
- };
190
- type Props$5 = {
191
- labels: RulesLabels;
192
- rules: AgentRule[];
193
- loading: boolean;
194
- onCreate: (input: RuleFormValue) => void;
195
- onUpdate: (ruleId: string, input: RuleFormValue) => void;
196
- onDelete: (rule: AgentRule) => void;
197
- };
198
- declare function RulesPageView({ labels, rules, loading, onCreate, onUpdate, onDelete }: Props$5): react_jsx_runtime.JSX.Element;
199
-
200
- type Labels = Record<string, string>;
201
- type DatasourcesPageViewProps = {
202
- labels: Labels;
203
- datasources?: DataSource[];
204
- useSampleData?: boolean;
205
- onCreate?: (data: DatasourceFormData) => void;
206
- };
207
- declare function DatasourcesPageView({ labels, datasources: externalDatasources, useSampleData, onCreate, }: DatasourcesPageViewProps): react_jsx_runtime.JSX.Element;
208
-
209
- type DashboardLabels = {
210
- title: string;
211
- subtitle: string;
212
- totalRuns: string;
213
- successRate: string;
214
- avgDuration: string;
215
- runsByStatus: string;
216
- perWorkflow: string;
217
- noData: string;
218
- runs: string;
219
- };
220
- type Props$4 = {
221
- labels: DashboardLabels;
222
- summary: AnalyticsSummary | null;
223
- loading: boolean;
224
- /**
225
- * App-branded logo node rendered in the dashboard hero. Each app passes
226
- * its own logo (typically a pair of light/dark <img> tags toggled via
227
- * Tailwind `dark:` classes) so this view stays brand-agnostic.
228
- */
229
- appLogo: ReactNode;
230
- };
231
- /**
232
- * Platform dashboard — a centered hero with the app's logo + subtitle.
233
- * Metrics and workflow tables live on dedicated pages (Analytics /
234
- * Workflow Runs); this view intentionally renders only the landing chrome.
235
- *
236
- * `summary` and `loading` are kept on the prop type so the page that
237
- * mounts this view doesn't have to change, but we intentionally don't
238
- * render them here.
239
- */
240
- declare function DashboardPageView({ labels, appLogo }: Props$4): react_jsx_runtime.JSX.Element;
241
-
242
- type AgentsIndexLabels = {
243
- title: string;
244
- subtitle: string;
245
- configTitle: string;
246
- configSubtitle: string;
247
- toolDefinitionsTitle: string;
248
- toolDefinitionsSubtitle: string;
249
- modelsTitle: string;
250
- modelsSubtitle: string;
251
- promptsTitle: string;
252
- promptsSubtitle: string;
253
- };
254
- declare function AgentsIndexPageView({ labels }: {
255
- labels: AgentsIndexLabels;
256
- }): react_jsx_runtime.JSX.Element;
257
-
258
- type RolesPageViewExtraProps = {
259
- /**
260
- * App-defined role definitions, e.g. `{ admin: { id, label, description }, ... }`.
261
- * Each app passes the output of its own `createPlatformRbac()` call.
262
- */
263
- roleDefinitions: Record<string, PlatformRoleDefinition<string>>;
264
- /**
265
- * Display options surfaced in the role-assignment modal select. Each
266
- * entry is `{ value: roleId, label: localizedLabel }`.
267
- */
268
- roleOptions: Array<{
269
- value: string;
270
- label: string;
271
- }>;
272
- };
273
- declare function RolesPageView({ labels, users, onAssignRole, roleDefinitions, roleOptions, }: RolesPageViewProps & RolesPageViewExtraProps): react_jsx_runtime.JSX.Element;
274
-
275
- declare function WorkflowsPageView({ labels, workflows, onCreate, onUpdateMeta, onPublish }: WorkflowsPageViewProps): react_jsx_runtime.JSX.Element;
276
-
277
- type WorkflowRunsLabels = {
278
- title: string;
279
- subtitle: string;
280
- status: string;
281
- duration: string;
282
- triggeredBy: string;
283
- startedAt: string;
284
- cancel: string;
285
- replay: string;
286
- view: string;
287
- statusPending: string;
288
- statusRunning: string;
289
- statusCompleted: string;
290
- statusFailed: string;
291
- statusCancelled: string;
292
- filterAll: string;
293
- filterStatus: string;
294
- empty: string;
295
- timeline?: string;
296
- };
297
- type Props$3 = {
298
- labels: WorkflowRunsLabels;
299
- runs: WorkflowRun[];
300
- loading: boolean;
301
- onCancel: (run: WorkflowRun) => void;
302
- onReplay: (run: WorkflowRun) => void;
303
- onView?: (run: WorkflowRun) => void;
304
- onViewTimeline?: (run: WorkflowRun) => void;
305
- };
306
- declare function WorkflowRunsPageView({ labels, runs, loading, onCancel, onReplay, onView, onViewTimeline }: Props$3): react_jsx_runtime.JSX.Element;
307
-
308
- type RunTimelineLabels = ExecutionTimelineLabels & {
309
- title: string;
310
- subtitle: string;
311
- };
312
- type Props$2 = {
313
- labels: RunTimelineLabels;
314
- entries: RunTimelineEntry[];
315
- loading: boolean;
316
- runId: string;
317
- };
318
- /**
319
- * Astrlabe-shaped wrapper around the shared `ExecutionTimelinePanel`
320
- * (#68). Adds the page chrome (HeroSection + ManagementPageLayout) so
321
- * the runs page renders consistently with the rest of the platform.
322
- * Other apps (kori-erp) can drop `ExecutionTimelinePanel` directly
323
- * inside their own card layouts without taking on this page wrapper.
324
- */
325
- declare function RunTimelinePageView({ labels, entries, loading, runId }: Props$2): react_jsx_runtime.JSX.Element;
326
-
327
- type CreateConnectionInput = {
328
- providerSlug: string;
329
- name: string;
330
- region?: string;
331
- endpoint?: string;
332
- credentialRef?: string;
333
- apiKeyRef?: string;
334
- modelFilter?: string[];
335
- config?: Record<string, unknown>;
336
- };
337
- type UpdateConnectionInput = Partial<Omit<CreateConnectionInput, 'providerSlug'>> & {
338
- enabled?: boolean;
339
- };
340
- type ConnectionFormValue = {
341
- providerSlug: ModelProviderType;
342
- name: string;
343
- region: string;
344
- endpoint: string;
345
- /** Plaintext — only present when the user is entering a NEW key. On
346
- * save we push this to `/organizations/{id}/secrets` and replace
347
- * with the returned UUID before calling the connections API. */
348
- apiKey: string;
349
- /** Vault secret UUID — displayed as "••• (set)" in the UI. */
350
- credentialRef: string;
351
- modelFilter: string;
352
- configJson: string;
353
- };
354
- type ConnectionsLabels = {
355
- title: string;
356
- subtitle: string;
357
- add: string;
358
- createTitle: string;
359
- editTitle: string;
360
- save: string;
361
- delete: string;
362
- edit: string;
363
- enable: string;
364
- disable: string;
365
- deleteConfirm: string;
366
- empty: string;
367
- };
368
- type CreateSecret = (name: string, value: string) => Promise<{
369
- id: string;
370
- }>;
371
- type Props$1 = {
372
- labels: ConnectionsLabels;
373
- connections: ModelProviderConnection[];
374
- loading: boolean;
375
- onCreate: (input: CreateConnectionInput) => Promise<void>;
376
- onUpdate: (id: string, input: UpdateConnectionInput) => Promise<void>;
377
- onDelete: (connection: ModelProviderConnection) => Promise<void>;
378
- /** Takes a secret name + plaintext value, stores it in the vault and
379
- * returns the UUID the connections API should reference. */
380
- onCreateSecret: CreateSecret;
381
- /**
382
- * Prefix for auto-generated secret names when the user enters a new
383
- * API key. Final shape is `${prefix}-${providerSlug}-${timestamp}`.
384
- * Defaults to `'platform'` so consumers that don't override land on a
385
- * sensible namespace.
386
- */
387
- secretNamePrefix?: string;
388
- };
389
- declare function ConnectionsPageView({ labels, connections, loading, onCreate, onUpdate, onDelete, onCreateSecret, secretNamePrefix, }: Props$1): react_jsx_runtime.JSX.Element;
390
-
391
- type CredentialFormInput = {
392
- name: string;
393
- value: string;
394
- secretType: string;
395
- description?: string;
396
- };
397
- type CredentialsPageViewLabels = {
398
- title: string;
399
- subtitle: string;
400
- addCredential: string;
401
- createTitle: string;
402
- name: string;
403
- namePlaceholder: string;
404
- value: string;
405
- valuePlaceholder: string;
406
- type: string;
407
- typeGeneric: string;
408
- typeApiKey: string;
409
- typeOAuth: string;
410
- typePassword: string;
411
- description: string;
412
- descriptionPlaceholder: string;
413
- save: string;
414
- rotate: string;
415
- disable: string;
416
- disableConfirm: string;
417
- expiresAt: string;
418
- createdAt: string;
419
- neverExpires: string;
420
- empty: string;
421
- };
422
- type Props = {
423
- labels: CredentialsPageViewLabels;
424
- credentials: SecretSummary[];
425
- loading: boolean;
426
- onCreate: (input: CredentialFormInput) => void;
427
- onRotate: (secret: SecretSummary, newValue: string) => void;
428
- onDisable: (secret: SecretSummary) => void;
429
- };
430
- declare function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate, onDisable }: Props): react_jsx_runtime.JSX.Element;
431
-
432
- export { type AgentConfigFormInput, type AgentsConfigLabels, AgentsConfigPageView, type AgentsIndexLabels, AgentsIndexPageView, type AgentsModelsLabels, AgentsModelsPageView, type AgentsPromptsLabels, AgentsPromptsPageView, type AgentsToolDefinitionsLabels, AgentsToolDefinitionsPageView, type ConnectionFormValue, type ConnectionsLabels, ConnectionsPageView, type CreateConnectionInput, type CredentialFormInput, CredentialsPageView, type CredentialsPageViewLabels, type DashboardLabels, DashboardPageView, DatasourceFormData, DatasourcesPageView, type DatasourcesPageViewProps, type PromptFormInput, RolesPageView, type RolesPageViewExtraProps, RuleFormValue, type RulesLabels, RulesPageView, type RunTimelineLabels, RunTimelinePageView, TOOL_TYPES, type ToolDefinitionFormInput, type ToolParameter, type ToolType, type UpdateConnectionInput, UsersPageView, type WorkflowRunsLabels, WorkflowRunsPageView, WorkflowsPageView, jsonSchemaToParameters, parametersToJsonSchema };
@@ -1,42 +0,0 @@
1
- import { A as AuthUser } from '../index-BoebbJ44.mjs';
2
- import 'react';
3
-
4
- /**
5
- * Generic role-based access factory shared across platform apps (astrlabe,
6
- * kori-erp, etc). Each app instantiates this with its own role + permission
7
- * unions and seed-claim mapping. The factory closes over the config and
8
- * exports `ROLE_DEFINITIONS`, `MODULE_PERMISSIONS`, `normalizePlatformRole`,
9
- * and `can()` — the same surface the per-app file used to expose.
10
- *
11
- * The factory deliberately does not hardcode any specific role enum here —
12
- * astrlabe, kori-erp, and future apps each pick their own union (admin,
13
- * manager, analyst, viewer, …) and pass the role definitions in.
14
- */
15
- type PlatformRoleDefinition<TRole extends string> = {
16
- id: TRole;
17
- label: string;
18
- description: string;
19
- };
20
- type CreatePlatformRbacOptions<TRole extends string, TPermission extends string> = {
21
- /** Definitions for every role the app supports (id/label/description). */
22
- roles: Record<TRole, PlatformRoleDefinition<TRole>>;
23
- /**
24
- * Maps each app-level permission to one or more JWT permission claim
25
- * strings. `can()` returns true when ANY of the listed claims (using
26
- * wildcard matching) is present in the user's JWT permissions.
27
- */
28
- permissionClaimsMap: Record<TPermission, readonly string[]>;
29
- /** Optional map from navigation/module IDs to required permissions. */
30
- modulePermissions?: Record<string, TPermission>;
31
- /** Role to fall back to when an unknown role string comes in. */
32
- defaultRole?: TRole;
33
- };
34
- type PlatformRbac<TRole extends string, TPermission extends string> = {
35
- ROLE_DEFINITIONS: Record<TRole, PlatformRoleDefinition<TRole>>;
36
- MODULE_PERMISSIONS: Record<string, TPermission>;
37
- normalizePlatformRole: (input: unknown) => TRole;
38
- can: (user: AuthUser | null, permission: TPermission) => boolean;
39
- };
40
- declare function createPlatformRbac<TRole extends string, TPermission extends string>(opts: CreatePlatformRbacOptions<TRole, TPermission>): PlatformRbac<TRole, TPermission>;
41
-
42
- export { type CreatePlatformRbacOptions, type PlatformRbac, type PlatformRoleDefinition, createPlatformRbac };
@@ -1,42 +0,0 @@
1
- import { A as AuthUser } from '../index-BoebbJ44.js';
2
- import 'react';
3
-
4
- /**
5
- * Generic role-based access factory shared across platform apps (astrlabe,
6
- * kori-erp, etc). Each app instantiates this with its own role + permission
7
- * unions and seed-claim mapping. The factory closes over the config and
8
- * exports `ROLE_DEFINITIONS`, `MODULE_PERMISSIONS`, `normalizePlatformRole`,
9
- * and `can()` — the same surface the per-app file used to expose.
10
- *
11
- * The factory deliberately does not hardcode any specific role enum here —
12
- * astrlabe, kori-erp, and future apps each pick their own union (admin,
13
- * manager, analyst, viewer, …) and pass the role definitions in.
14
- */
15
- type PlatformRoleDefinition<TRole extends string> = {
16
- id: TRole;
17
- label: string;
18
- description: string;
19
- };
20
- type CreatePlatformRbacOptions<TRole extends string, TPermission extends string> = {
21
- /** Definitions for every role the app supports (id/label/description). */
22
- roles: Record<TRole, PlatformRoleDefinition<TRole>>;
23
- /**
24
- * Maps each app-level permission to one or more JWT permission claim
25
- * strings. `can()` returns true when ANY of the listed claims (using
26
- * wildcard matching) is present in the user's JWT permissions.
27
- */
28
- permissionClaimsMap: Record<TPermission, readonly string[]>;
29
- /** Optional map from navigation/module IDs to required permissions. */
30
- modulePermissions?: Record<string, TPermission>;
31
- /** Role to fall back to when an unknown role string comes in. */
32
- defaultRole?: TRole;
33
- };
34
- type PlatformRbac<TRole extends string, TPermission extends string> = {
35
- ROLE_DEFINITIONS: Record<TRole, PlatformRoleDefinition<TRole>>;
36
- MODULE_PERMISSIONS: Record<string, TPermission>;
37
- normalizePlatformRole: (input: unknown) => TRole;
38
- can: (user: AuthUser | null, permission: TPermission) => boolean;
39
- };
40
- declare function createPlatformRbac<TRole extends string, TPermission extends string>(opts: CreatePlatformRbacOptions<TRole, TPermission>): PlatformRbac<TRole, TPermission>;
41
-
42
- export { type CreatePlatformRbacOptions, type PlatformRbac, type PlatformRoleDefinition, createPlatformRbac };
@@ -1,31 +0,0 @@
1
- import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { AdminClient } from '@datatechsolutions/shared-domain';
3
- import { a as BillingPanelProps } from '../../billing-panel-DsHhhJqG.mjs';
4
-
5
- type PlatformSettingsSection = 'account' | 'organization' | 'billing';
6
- interface PlatformSettingsProps {
7
- /**
8
- * Sections to surface to the current user. The host app is responsible for
9
- * picking the right set based on RBAC — e.g. hide `organization` for users
10
- * without `org:manage` and hide `billing` for users without `billing:read`.
11
- * Defaults to all three.
12
- */
13
- sections?: PlatformSettingsSection[];
14
- /** Starting section. Defaults to the first item in `sections`. */
15
- defaultSection?: PlatformSettingsSection;
16
- /**
17
- * Windsock admin API client. Required when `organization` is in `sections`.
18
- * Create it once with `createAdminClient({ issuer, authClient })` and reuse.
19
- */
20
- adminClient?: AdminClient;
21
- /**
22
- * Current organization id (usually `ctx.organizationId` from the JWT).
23
- * Required when `organization` is in `sections`.
24
- */
25
- organizationId?: string;
26
- /** Forwarded to `<BillingPanel>` — e.g. redirect handler, billing interval. */
27
- billing?: BillingPanelProps;
28
- }
29
- declare function PlatformSettings({ sections, defaultSection, adminClient, organizationId, billing, }: PlatformSettingsProps): react_jsx_runtime.JSX.Element | null;
30
-
31
- export { PlatformSettings, type PlatformSettingsProps, type PlatformSettingsSection };
@@ -1,31 +0,0 @@
1
- import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { AdminClient } from '@datatechsolutions/shared-domain';
3
- import { a as BillingPanelProps } from '../../billing-panel-DsHhhJqG.js';
4
-
5
- type PlatformSettingsSection = 'account' | 'organization' | 'billing';
6
- interface PlatformSettingsProps {
7
- /**
8
- * Sections to surface to the current user. The host app is responsible for
9
- * picking the right set based on RBAC — e.g. hide `organization` for users
10
- * without `org:manage` and hide `billing` for users without `billing:read`.
11
- * Defaults to all three.
12
- */
13
- sections?: PlatformSettingsSection[];
14
- /** Starting section. Defaults to the first item in `sections`. */
15
- defaultSection?: PlatformSettingsSection;
16
- /**
17
- * Windsock admin API client. Required when `organization` is in `sections`.
18
- * Create it once with `createAdminClient({ issuer, authClient })` and reuse.
19
- */
20
- adminClient?: AdminClient;
21
- /**
22
- * Current organization id (usually `ctx.organizationId` from the JWT).
23
- * Required when `organization` is in `sections`.
24
- */
25
- organizationId?: string;
26
- /** Forwarded to `<BillingPanel>` — e.g. redirect handler, billing interval. */
27
- billing?: BillingPanelProps;
28
- }
29
- declare function PlatformSettings({ sections, defaultSection, adminClient, organizationId, billing, }: PlatformSettingsProps): react_jsx_runtime.JSX.Element | null;
30
-
31
- export { PlatformSettings, type PlatformSettingsProps, type PlatformSettingsSection };
@@ -1,51 +0,0 @@
1
- import * as posthog_js from 'posthog-js';
2
- import * as react_jsx_runtime from 'react/jsx-runtime';
3
- import { ReactNode } from 'react';
4
-
5
- type TelemetryUser = {
6
- /** Stable user id — typically the windsock JWT `sub`. */
7
- id: string;
8
- email?: string;
9
- name?: string;
10
- role?: string;
11
- /** Tenant id — from `https://datatechsolutions.com.br/organization_id` claim. */
12
- organizationId?: string;
13
- };
14
- type TelemetryProviderProps = {
15
- /** App slug — e.g. `astrlabe`, `sextant`, `data-br`. Tags every event. */
16
- app: string;
17
- /**
18
- * PostHog project token (write-only key, safe in browser bundles).
19
- * If unset, the provider falls back to `window.__APP_CONFIG__.posthog.key`
20
- * (set by the CDK-managed `runtime-config.js`) and then to
21
- * `import.meta.env.VITE_POSTHOG_KEY`. Pass explicitly only for tests
22
- * or sub-app embeds.
23
- */
24
- projectKey?: string;
25
- /**
26
- * PostHog ingestion host. Falls back through the same chain as
27
- * `projectKey`; defaults to US Cloud if nothing else resolves.
28
- */
29
- apiHost?: string;
30
- /** Whether to record session replays. Defaults to true. */
31
- recordSessions?: boolean;
32
- /** Current authenticated user, if any. The provider re-identifies on change. */
33
- user?: TelemetryUser | null;
34
- children: ReactNode;
35
- };
36
- /**
37
- * Wrap every SPA in this provider. Pass the windsock-resolved user so
38
- * PostHog associates events with the right tenant; pass `null` after
39
- * sign-out so the next session is anonymous.
40
- */
41
- declare function TelemetryProvider({ app, projectKey: propProjectKey, apiHost: propApiHost, recordSessions, user, children, }: TelemetryProviderProps): react_jsx_runtime.JSX.Element;
42
- /**
43
- * Re-export the posthog-js/react hook so consumer SPAs can capture
44
- * custom events without importing posthog-js directly:
45
- *
46
- * const ph = useTelemetry()
47
- * ph?.capture('workflow_run_started', { workflowId })
48
- */
49
- declare const useTelemetry: () => posthog_js.PostHog;
50
-
51
- export { TelemetryProvider, type TelemetryProviderProps, type TelemetryUser, useTelemetry };
@@ -1,51 +0,0 @@
1
- import * as posthog_js from 'posthog-js';
2
- import * as react_jsx_runtime from 'react/jsx-runtime';
3
- import { ReactNode } from 'react';
4
-
5
- type TelemetryUser = {
6
- /** Stable user id — typically the windsock JWT `sub`. */
7
- id: string;
8
- email?: string;
9
- name?: string;
10
- role?: string;
11
- /** Tenant id — from `https://datatechsolutions.com.br/organization_id` claim. */
12
- organizationId?: string;
13
- };
14
- type TelemetryProviderProps = {
15
- /** App slug — e.g. `astrlabe`, `sextant`, `data-br`. Tags every event. */
16
- app: string;
17
- /**
18
- * PostHog project token (write-only key, safe in browser bundles).
19
- * If unset, the provider falls back to `window.__APP_CONFIG__.posthog.key`
20
- * (set by the CDK-managed `runtime-config.js`) and then to
21
- * `import.meta.env.VITE_POSTHOG_KEY`. Pass explicitly only for tests
22
- * or sub-app embeds.
23
- */
24
- projectKey?: string;
25
- /**
26
- * PostHog ingestion host. Falls back through the same chain as
27
- * `projectKey`; defaults to US Cloud if nothing else resolves.
28
- */
29
- apiHost?: string;
30
- /** Whether to record session replays. Defaults to true. */
31
- recordSessions?: boolean;
32
- /** Current authenticated user, if any. The provider re-identifies on change. */
33
- user?: TelemetryUser | null;
34
- children: ReactNode;
35
- };
36
- /**
37
- * Wrap every SPA in this provider. Pass the windsock-resolved user so
38
- * PostHog associates events with the right tenant; pass `null` after
39
- * sign-out so the next session is anonymous.
40
- */
41
- declare function TelemetryProvider({ app, projectKey: propProjectKey, apiHost: propApiHost, recordSessions, user, children, }: TelemetryProviderProps): react_jsx_runtime.JSX.Element;
42
- /**
43
- * Re-export the posthog-js/react hook so consumer SPAs can capture
44
- * custom events without importing posthog-js directly:
45
- *
46
- * const ph = useTelemetry()
47
- * ph?.capture('workflow_run_started', { workflowId })
48
- */
49
- declare const useTelemetry: () => posthog_js.PostHog;
50
-
51
- export { TelemetryProvider, type TelemetryProviderProps, type TelemetryUser, useTelemetry };