@datatechsolutions/ui 3.5.0 → 3.5.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 (163) hide show
  1. package/dist/astrlabe/contracts.d.mts +517 -0
  2. package/dist/astrlabe/contracts.d.ts +517 -0
  3. package/dist/astrlabe/graph-node.d.mts +28 -0
  4. package/dist/astrlabe/graph-node.d.ts +28 -0
  5. package/dist/astrlabe/index.d.mts +743 -0
  6. package/dist/astrlabe/index.d.ts +743 -0
  7. package/dist/astrlabe/index.js +108 -108
  8. package/dist/astrlabe/index.mjs +4 -4
  9. package/dist/astrlabe/utils.d.mts +60 -0
  10. package/dist/astrlabe/utils.d.ts +60 -0
  11. package/dist/astrlabe/workflow-canvas.d.mts +6 -0
  12. package/dist/astrlabe/workflow-canvas.d.ts +6 -0
  13. package/dist/astrlabe/workflow-canvas.js +4 -4
  14. package/dist/astrlabe/workflow-canvas.mjs +3 -3
  15. package/dist/astrlabe/workflow-preview-canvas.d.mts +10 -0
  16. package/dist/astrlabe/workflow-preview-canvas.d.ts +10 -0
  17. package/dist/billing-panel-DsHhhJqG.d.mts +18 -0
  18. package/dist/billing-panel-DsHhhJqG.d.ts +18 -0
  19. package/dist/brand/index.d.mts +71 -0
  20. package/dist/brand/index.d.ts +71 -0
  21. package/dist/{chunk-UHMAKUON.mjs → chunk-2TBNOQ7M.mjs} +3 -3
  22. package/dist/{chunk-UHMAKUON.mjs.map → chunk-2TBNOQ7M.mjs.map} +1 -1
  23. package/dist/{chunk-CY2MBKVG.js → chunk-2UMDWOUY.js} +4 -4
  24. package/dist/{chunk-CY2MBKVG.js.map → chunk-2UMDWOUY.js.map} +1 -1
  25. package/dist/{chunk-6V3DUBOZ.mjs → chunk-37ZLBCJF.mjs} +7 -7
  26. package/dist/{chunk-6V3DUBOZ.mjs.map → chunk-37ZLBCJF.mjs.map} +1 -1
  27. package/dist/{chunk-NCDBNGIB.js → chunk-5AVO5DJO.js} +62 -62
  28. package/dist/{chunk-NCDBNGIB.js.map → chunk-5AVO5DJO.js.map} +1 -1
  29. package/dist/{chunk-QPSHM2JQ.mjs → chunk-7OZ4MVEF.mjs} +4 -4
  30. package/dist/{chunk-QPSHM2JQ.mjs.map → chunk-7OZ4MVEF.mjs.map} +1 -1
  31. package/dist/{chunk-3OLYSMI5.mjs → chunk-CDYNTHUE.mjs} +4 -4
  32. package/dist/{chunk-3OLYSMI5.mjs.map → chunk-CDYNTHUE.mjs.map} +1 -1
  33. package/dist/{chunk-IOEQ2GET.mjs → chunk-CJGNEALB.mjs} +4 -4
  34. package/dist/{chunk-IOEQ2GET.mjs.map → chunk-CJGNEALB.mjs.map} +1 -1
  35. package/dist/{chunk-NJ5RVWLA.mjs → chunk-CP5QXRXA.mjs} +4 -4
  36. package/dist/{chunk-NJ5RVWLA.mjs.map → chunk-CP5QXRXA.mjs.map} +1 -1
  37. package/dist/{chunk-2MJAHST4.mjs → chunk-EGXB3WXT.mjs} +4 -4
  38. package/dist/{chunk-2MJAHST4.mjs.map → chunk-EGXB3WXT.mjs.map} +1 -1
  39. package/dist/{chunk-NKXQYFS7.js → chunk-EI6FIA45.js} +16 -16
  40. package/dist/{chunk-NKXQYFS7.js.map → chunk-EI6FIA45.js.map} +1 -1
  41. package/dist/{chunk-NOHHZ6FM.mjs → chunk-EUXHJMGC.mjs} +3 -3
  42. package/dist/{chunk-NOHHZ6FM.mjs.map → chunk-EUXHJMGC.mjs.map} +1 -1
  43. package/dist/{chunk-QSMPKL27.js → chunk-F5UDX6JA.js} +74 -74
  44. package/dist/{chunk-QSMPKL27.js.map → chunk-F5UDX6JA.js.map} +1 -1
  45. package/dist/{chunk-P43PX75J.js → chunk-HVDDCBQ2.js} +33 -33
  46. package/dist/{chunk-P43PX75J.js.map → chunk-HVDDCBQ2.js.map} +1 -1
  47. package/dist/{chunk-AWDH6WNA.js → chunk-K4M4B6ME.js} +3 -3
  48. package/dist/{chunk-AWDH6WNA.js.map → chunk-K4M4B6ME.js.map} +1 -1
  49. package/dist/{chunk-VMGNQFRO.js → chunk-KIBOX3UQ.js} +53 -53
  50. package/dist/{chunk-VMGNQFRO.js.map → chunk-KIBOX3UQ.js.map} +1 -1
  51. package/dist/{chunk-5I7F7KZ6.js → chunk-KRPSTXN5.js} +10 -10
  52. package/dist/{chunk-5I7F7KZ6.js.map → chunk-KRPSTXN5.js.map} +1 -1
  53. package/dist/{chunk-ZM2Q2SMC.mjs → chunk-L5O4NWQO.mjs} +3 -3
  54. package/dist/{chunk-ZM2Q2SMC.mjs.map → chunk-L5O4NWQO.mjs.map} +1 -1
  55. package/dist/{chunk-BVXATTTA.js → chunk-MT4FJRMD.js} +4 -4
  56. package/dist/{chunk-BVXATTTA.js.map → chunk-MT4FJRMD.js.map} +1 -1
  57. package/dist/{chunk-C4NRF2G2.js → chunk-OWJIKCR2.js} +13 -13
  58. package/dist/{chunk-C4NRF2G2.js.map → chunk-OWJIKCR2.js.map} +1 -1
  59. package/dist/{chunk-5BEVTOZV.mjs → chunk-PFHXKWFT.mjs} +4 -4
  60. package/dist/{chunk-5BEVTOZV.mjs.map → chunk-PFHXKWFT.mjs.map} +1 -1
  61. package/dist/{chunk-QLFSJ6HK.mjs → chunk-PI2C3S6A.mjs} +3 -3
  62. package/dist/{chunk-QLFSJ6HK.mjs.map → chunk-PI2C3S6A.mjs.map} +1 -1
  63. package/dist/{chunk-74MHWEDC.js → chunk-PYQLY2RH.js} +161 -161
  64. package/dist/{chunk-74MHWEDC.js.map → chunk-PYQLY2RH.js.map} +1 -1
  65. package/dist/{chunk-Z7VY5M4T.js → chunk-QIUVK4BI.js} +77 -77
  66. package/dist/{chunk-Z7VY5M4T.js.map → chunk-QIUVK4BI.js.map} +1 -1
  67. package/dist/{chunk-4PFU6A2B.mjs → chunk-R3Q5RXXO.mjs} +3 -3
  68. package/dist/{chunk-4PFU6A2B.mjs.map → chunk-R3Q5RXXO.mjs.map} +1 -1
  69. package/dist/{chunk-7UHV6A4C.mjs → chunk-R6O57NTJ.mjs} +6 -6
  70. package/dist/{chunk-7UHV6A4C.mjs.map → chunk-R6O57NTJ.mjs.map} +1 -1
  71. package/dist/{chunk-A7FI4K7Z.js → chunk-RQBTLFYH.js} +5 -5
  72. package/dist/{chunk-A7FI4K7Z.js.map → chunk-RQBTLFYH.js.map} +1 -1
  73. package/dist/{chunk-V5VBYOF5.js → chunk-SFFSXC5E.js} +36 -36
  74. package/dist/{chunk-V5VBYOF5.js.map → chunk-SFFSXC5E.js.map} +1 -1
  75. package/dist/{chunk-AVM53A3Y.js → chunk-U6XA2OYE.js} +28 -28
  76. package/dist/{chunk-AVM53A3Y.js.map → chunk-U6XA2OYE.js.map} +1 -1
  77. package/dist/{chunk-7CEZB3ZD.mjs → chunk-ULEPJXTN.mjs} +3 -3
  78. package/dist/{chunk-7CEZB3ZD.mjs.map → chunk-ULEPJXTN.mjs.map} +1 -1
  79. package/dist/{chunk-FK3WDELF.js → chunk-VMIAMBCP.js} +40 -40
  80. package/dist/{chunk-FK3WDELF.js.map → chunk-VMIAMBCP.js.map} +1 -1
  81. package/dist/{chunk-OASC7NYV.mjs → chunk-WKCR4KVQ.mjs} +3 -3
  82. package/dist/{chunk-OASC7NYV.mjs.map → chunk-WKCR4KVQ.mjs.map} +1 -1
  83. package/dist/{chunk-6W7VTZG6.mjs → chunk-YV2SE5LS.mjs} +3 -3
  84. package/dist/{chunk-6W7VTZG6.mjs.map → chunk-YV2SE5LS.mjs.map} +1 -1
  85. package/dist/dynamic-island-confirm-BKsZkAEP.d.mts +17 -0
  86. package/dist/dynamic-island-confirm-BKsZkAEP.d.ts +17 -0
  87. package/dist/index-BNRGVAS5.d.mts +222 -0
  88. package/dist/index-BoebbJ44.d.mts +49 -0
  89. package/dist/index-BoebbJ44.d.ts +49 -0
  90. package/dist/index-CnCY-b5V.d.ts +222 -0
  91. package/dist/index.d.mts +5310 -0
  92. package/dist/index.d.ts +5310 -0
  93. package/dist/index.js +721 -721
  94. package/dist/index.mjs +2 -2
  95. package/dist/layout-engine-YZcVr20M.d.mts +19 -0
  96. package/dist/layout-engine-YZcVr20M.d.ts +19 -0
  97. package/dist/lib/i18n-context.d.mts +36 -0
  98. package/dist/lib/i18n-context.d.ts +36 -0
  99. package/dist/lib/router-context.d.mts +35 -0
  100. package/dist/lib/router-context.d.ts +35 -0
  101. package/dist/navigation-BiWVffAN.d.mts +49 -0
  102. package/dist/navigation-BiWVffAN.d.ts +49 -0
  103. package/dist/platform/admin/index.d.mts +17 -0
  104. package/dist/platform/admin/index.d.ts +17 -0
  105. package/dist/platform/admin/index.js +11 -11
  106. package/dist/platform/admin/index.mjs +5 -5
  107. package/dist/platform/agents-workspace.d.mts +19 -0
  108. package/dist/platform/agents-workspace.d.ts +19 -0
  109. package/dist/platform/agents-workspace.js +7 -7
  110. package/dist/platform/agents-workspace.mjs +6 -6
  111. package/dist/platform/app-shell.d.mts +58 -0
  112. package/dist/platform/app-shell.d.ts +58 -0
  113. package/dist/platform/app-shell.js +4 -4
  114. package/dist/platform/app-shell.mjs +3 -3
  115. package/dist/platform/auth/index.d.mts +73 -0
  116. package/dist/platform/auth/index.d.ts +73 -0
  117. package/dist/platform/auth/index.js +28 -28
  118. package/dist/platform/auth/index.mjs +5 -5
  119. package/dist/platform/billing/index.d.mts +29 -0
  120. package/dist/platform/billing/index.d.ts +29 -0
  121. package/dist/platform/billing/index.js +4 -4
  122. package/dist/platform/billing/index.mjs +3 -3
  123. package/dist/platform/impersonation/index.d.mts +19 -0
  124. package/dist/platform/impersonation/index.d.ts +19 -0
  125. package/dist/platform/impersonation/index.js +4 -4
  126. package/dist/platform/impersonation/index.mjs +3 -3
  127. package/dist/platform/index.d.mts +188 -0
  128. package/dist/platform/index.d.ts +188 -0
  129. package/dist/platform/index.js +89 -89
  130. package/dist/platform/index.mjs +19 -19
  131. package/dist/platform/pages/index.d.mts +440 -0
  132. package/dist/platform/pages/index.d.ts +440 -0
  133. package/dist/platform/pages/index.js +206 -206
  134. package/dist/platform/pages/index.js.map +1 -1
  135. package/dist/platform/pages/index.mjs +9 -9
  136. package/dist/platform/pages/index.mjs.map +1 -1
  137. package/dist/platform/rbac.d.mts +42 -0
  138. package/dist/platform/rbac.d.ts +42 -0
  139. package/dist/platform/settings/index.d.mts +31 -0
  140. package/dist/platform/settings/index.d.ts +31 -0
  141. package/dist/platform/settings/index.js +8 -8
  142. package/dist/platform/settings/index.mjs +7 -7
  143. package/dist/platform/telemetry/index.d.mts +51 -0
  144. package/dist/platform/telemetry/index.d.ts +51 -0
  145. package/dist/platform/utils/index.d.mts +32 -0
  146. package/dist/platform/utils/index.d.ts +32 -0
  147. package/dist/platform/windsock-admin-client.d.mts +57 -0
  148. package/dist/platform/windsock-admin-client.d.ts +57 -0
  149. package/dist/platform/workflow-api-client.d.mts +6 -0
  150. package/dist/platform/workflow-api-client.d.ts +6 -0
  151. package/dist/platform/workflow-canvas-shell.d.mts +18 -0
  152. package/dist/platform/workflow-canvas-shell.d.ts +18 -0
  153. package/dist/platform/workflow-canvas-shell.js +5 -5
  154. package/dist/platform/workflow-canvas-shell.mjs +4 -4
  155. package/dist/rule-form-BYJzyork.d.mts +128 -0
  156. package/dist/rule-form-BYJzyork.d.ts +128 -0
  157. package/dist/workflow-api-client-CpFl3WcG.d.mts +468 -0
  158. package/dist/workflow-api-client-uLICOanv.d.ts +468 -0
  159. package/dist/workflow-canvas--qaYKuMm.d.ts +113 -0
  160. package/dist/workflow-canvas-B80fmD_n.d.mts +113 -0
  161. package/dist/workflow-store-o17I6L6A.d.ts +79 -0
  162. package/dist/workflow-store-ppVHdMZi.d.mts +79 -0
  163. package/package.json +1 -1
@@ -0,0 +1,440 @@
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.mjs';
4
+ import { A as AgentWithPrompts } from '../../index-BNRGVAS5.mjs';
5
+ import { AgentPrompt } from '@datatechsolutions/shared-domain/ports/workflow';
6
+ import { R as RuleFormValue, E as ExecutionTimelineLabels } from '../../rule-form-BYJzyork.mjs';
7
+ import { D as DatasourceFormData, A as AnalyticsSummary, R as RunTimelineEntry, M as ModelProviderConnection } from '../../workflow-api-client-CpFl3WcG.mjs';
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-CpFl3WcG.mjs';
9
+ import { ReactNode } from 'react';
10
+ import { PlatformRoleDefinition } from '../rbac.mjs';
11
+ import { SecretSummary } from '../windsock-admin-client.mjs';
12
+ import '../../index-BoebbJ44.mjs';
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
+ searchPlaceholder?: string;
25
+ };
26
+ type Props$9 = {
27
+ labels: AgentsModelsLabels;
28
+ models: AgentModel[];
29
+ loading: boolean;
30
+ };
31
+ declare function AgentsModelsPageView({ labels, models, loading }: Props$9): react_jsx_runtime.JSX.Element;
32
+
33
+ type AgentConfigFormInput = {
34
+ agentId?: string;
35
+ name: string;
36
+ modelId: string;
37
+ systemPrompt: string;
38
+ maxTokens: number;
39
+ temperature: number;
40
+ outputSchema?: string;
41
+ };
42
+ type AgentsConfigLabels = {
43
+ title: string;
44
+ subtitle: string;
45
+ addAgent: string;
46
+ createTitle: string;
47
+ editTitle: string;
48
+ name: string;
49
+ model: string;
50
+ systemPrompt: string;
51
+ maxTokens: number | string;
52
+ temperature: string;
53
+ outputSchema: string;
54
+ outputSchemaPlaceholder: string;
55
+ save: string;
56
+ delete: string;
57
+ edit: string;
58
+ deleteConfirm: string;
59
+ activeVersion: string;
60
+ empty: string;
61
+ };
62
+ type Props$8 = {
63
+ labels: AgentsConfigLabels;
64
+ agents: AgentWithPrompts[];
65
+ models: AgentModel[];
66
+ loading: boolean;
67
+ onCreate: (input: AgentConfigFormInput) => void;
68
+ onUpdate: (agentId: string, input: AgentConfigFormInput) => void;
69
+ onDelete: (agent: AgentWithPrompts) => void;
70
+ };
71
+ declare function AgentsConfigPageView({ labels, agents, models, loading, onCreate, onUpdate, onDelete }: Props$8): react_jsx_runtime.JSX.Element;
72
+
73
+ type PromptFormInput = {
74
+ agentId: string;
75
+ locale: string;
76
+ prompt: string;
77
+ systemPrompt?: string;
78
+ userTemplate?: string;
79
+ isActive: boolean;
80
+ reason?: string;
81
+ };
82
+ type AgentsPromptsLabels = {
83
+ title: string;
84
+ subtitle: string;
85
+ addPrompt: string;
86
+ createTitle: string;
87
+ editTitle: string;
88
+ agent: string;
89
+ locale: string;
90
+ version: string;
91
+ isActive: string;
92
+ prompt: string;
93
+ systemPrompt: string;
94
+ userTemplate: string;
95
+ reason: string;
96
+ save: string;
97
+ delete: string;
98
+ activate: string;
99
+ deleteConfirm: string;
100
+ empty: string;
101
+ searchPlaceholder?: string;
102
+ };
103
+ type Props$7 = {
104
+ labels: AgentsPromptsLabels;
105
+ agents: AgentWithPrompts[];
106
+ prompts: AgentPrompt[];
107
+ loading: boolean;
108
+ onCreate: (input: PromptFormInput) => void;
109
+ onActivate: (prompt: AgentPrompt) => void;
110
+ onDelete: (prompt: AgentPrompt) => void;
111
+ };
112
+ declare function AgentsPromptsPageView({ labels, agents, prompts, loading, onCreate, onActivate, onDelete }: Props$7): react_jsx_runtime.JSX.Element;
113
+
114
+ declare const TOOL_TYPES: readonly ["http", "function", "database_query", "code_execution", "api_call"];
115
+ type ToolType = (typeof TOOL_TYPES)[number];
116
+ type ToolParameter = {
117
+ name: string;
118
+ type: 'string' | 'number' | 'boolean' | 'array' | 'object';
119
+ description: string;
120
+ required: boolean;
121
+ };
122
+ /**
123
+ * Canonical form payload the page emits. The page wrapper turns this
124
+ * into the backend POST/PATCH bodies — parameters go through
125
+ * `parametersToJsonSchema` to produce `inputSchema`, and `handlerConfig`
126
+ * stays as-is.
127
+ */
128
+ type ToolDefinitionFormInput = {
129
+ agentToolId?: string;
130
+ name: string;
131
+ description?: string;
132
+ toolType: ToolType;
133
+ parameters: ToolParameter[];
134
+ handlerConfig: Record<string, unknown>;
135
+ enabled: boolean;
136
+ icon?: string;
137
+ };
138
+ type AgentsToolDefinitionsLabels = {
139
+ title: string;
140
+ subtitle: string;
141
+ addTool: string;
142
+ createTitle: string;
143
+ editTitle: string;
144
+ name: string;
145
+ description: string;
146
+ category: string;
147
+ enabled: string;
148
+ disabled: string;
149
+ icon: string;
150
+ save: string;
151
+ delete: string;
152
+ edit: string;
153
+ deleteConfirm: string;
154
+ empty: string;
155
+ searchPlaceholder?: string;
156
+ };
157
+ type Props$6 = {
158
+ labels: AgentsToolDefinitionsLabels;
159
+ tools: AgentTool[];
160
+ loading: boolean;
161
+ onCreate: (input: ToolDefinitionFormInput) => void;
162
+ onUpdate: (toolId: string, input: ToolDefinitionFormInput) => void;
163
+ onDelete: (tool: AgentTool) => void;
164
+ };
165
+ declare function AgentsToolDefinitionsPageView({ labels, tools, loading, onCreate, onUpdate, onDelete }: Props$6): react_jsx_runtime.JSX.Element;
166
+ /**
167
+ * Build a JSON Schema object from the parameter list. Mirrors the
168
+ * format the backend validator (`validate_input_schema`) expects —
169
+ * `{ type: 'object', properties, required }`.
170
+ */
171
+ declare function parametersToJsonSchema(params: ToolParameter[]): Record<string, unknown>;
172
+ /**
173
+ * Inverse of `parametersToJsonSchema` — hydrate the editor UI from an
174
+ * existing schema so the Edit flow shows what was stored.
175
+ */
176
+ declare function jsonSchemaToParameters(schema: unknown): ToolParameter[];
177
+
178
+ type RulesLabels = {
179
+ title: string;
180
+ subtitle: string;
181
+ addRule: string;
182
+ createTitle: string;
183
+ editTitle: string;
184
+ save: string;
185
+ delete: string;
186
+ edit: string;
187
+ deleteConfirm: string;
188
+ empty: string;
189
+ enabled: string;
190
+ disabled: string;
191
+ order: string;
192
+ searchPlaceholder?: string;
193
+ };
194
+ type Props$5 = {
195
+ labels: RulesLabels;
196
+ rules: AgentRule[];
197
+ loading: boolean;
198
+ onCreate: (input: RuleFormValue) => void;
199
+ onUpdate: (ruleId: string, input: RuleFormValue) => void;
200
+ onDelete: (rule: AgentRule) => void;
201
+ };
202
+ declare function RulesPageView({ labels, rules, loading, onCreate, onUpdate, onDelete }: Props$5): react_jsx_runtime.JSX.Element;
203
+
204
+ type Labels = Record<string, string>;
205
+ type DatasourcesPageViewProps = {
206
+ labels: Labels;
207
+ datasources?: DataSource[];
208
+ useSampleData?: boolean;
209
+ onCreate?: (data: DatasourceFormData) => void;
210
+ };
211
+ declare function DatasourcesPageView({ labels, datasources: externalDatasources, useSampleData, onCreate, }: DatasourcesPageViewProps): react_jsx_runtime.JSX.Element;
212
+
213
+ type DashboardLabels = {
214
+ title: string;
215
+ subtitle: string;
216
+ totalRuns: string;
217
+ successRate: string;
218
+ avgDuration: string;
219
+ runsByStatus: string;
220
+ perWorkflow: string;
221
+ noData: string;
222
+ runs: string;
223
+ };
224
+ type Props$4 = {
225
+ labels: DashboardLabels;
226
+ summary: AnalyticsSummary | null;
227
+ loading: boolean;
228
+ /**
229
+ * App-branded logo node rendered in the dashboard hero. Each app passes
230
+ * its own logo (typically a pair of light/dark <img> tags toggled via
231
+ * Tailwind `dark:` classes) so this view stays brand-agnostic.
232
+ */
233
+ appLogo: ReactNode;
234
+ };
235
+ /**
236
+ * Platform dashboard — a centered hero with the app's logo + subtitle.
237
+ * Metrics and workflow tables live on dedicated pages (Analytics /
238
+ * Workflow Runs); this view intentionally renders only the landing chrome.
239
+ *
240
+ * `summary` and `loading` are kept on the prop type so the page that
241
+ * mounts this view doesn't have to change, but we intentionally don't
242
+ * render them here.
243
+ */
244
+ declare function DashboardPageView({ labels, appLogo }: Props$4): react_jsx_runtime.JSX.Element;
245
+
246
+ type AgentsIndexLabels = {
247
+ title: string;
248
+ subtitle: string;
249
+ configTitle: string;
250
+ configSubtitle: string;
251
+ toolDefinitionsTitle: string;
252
+ toolDefinitionsSubtitle: string;
253
+ modelsTitle: string;
254
+ modelsSubtitle: string;
255
+ promptsTitle: string;
256
+ promptsSubtitle: string;
257
+ searchPlaceholder?: string;
258
+ };
259
+ declare function AgentsIndexPageView({ labels }: {
260
+ labels: AgentsIndexLabels;
261
+ }): react_jsx_runtime.JSX.Element;
262
+
263
+ type RolesPageViewExtraProps = {
264
+ /**
265
+ * App-defined role definitions, e.g. `{ admin: { id, label, description }, ... }`.
266
+ * Each app passes the output of its own `createPlatformRbac()` call.
267
+ */
268
+ roleDefinitions: Record<string, PlatformRoleDefinition<string>>;
269
+ /**
270
+ * Display options surfaced in the role-assignment modal select. Each
271
+ * entry is `{ value: roleId, label: localizedLabel }`.
272
+ */
273
+ roleOptions: Array<{
274
+ value: string;
275
+ label: string;
276
+ }>;
277
+ };
278
+ declare function RolesPageView({ labels, users, onAssignRole, roleDefinitions, roleOptions, }: RolesPageViewProps & RolesPageViewExtraProps): react_jsx_runtime.JSX.Element;
279
+
280
+ declare function WorkflowsPageView({ labels, workflows, onCreate, onUpdateMeta, onPublish }: WorkflowsPageViewProps): react_jsx_runtime.JSX.Element;
281
+
282
+ type WorkflowRunsLabels = {
283
+ title: string;
284
+ subtitle: string;
285
+ status: string;
286
+ duration: string;
287
+ triggeredBy: string;
288
+ startedAt: string;
289
+ cancel: string;
290
+ replay: string;
291
+ view: string;
292
+ statusPending: string;
293
+ statusRunning: string;
294
+ statusCompleted: string;
295
+ statusFailed: string;
296
+ statusCancelled: string;
297
+ filterAll: string;
298
+ filterStatus: string;
299
+ empty: string;
300
+ timeline?: string;
301
+ searchPlaceholder?: string;
302
+ };
303
+ type Props$3 = {
304
+ labels: WorkflowRunsLabels;
305
+ runs: WorkflowRun[];
306
+ loading: boolean;
307
+ onCancel: (run: WorkflowRun) => void;
308
+ onReplay: (run: WorkflowRun) => void;
309
+ onView?: (run: WorkflowRun) => void;
310
+ onViewTimeline?: (run: WorkflowRun) => void;
311
+ };
312
+ declare function WorkflowRunsPageView({ labels, runs, loading, onCancel, onReplay, onView, onViewTimeline }: Props$3): react_jsx_runtime.JSX.Element;
313
+
314
+ type RunTimelineLabels = ExecutionTimelineLabels & {
315
+ title: string;
316
+ subtitle: string;
317
+ };
318
+ type Props$2 = {
319
+ labels: RunTimelineLabels;
320
+ entries: RunTimelineEntry[];
321
+ loading: boolean;
322
+ runId: string;
323
+ };
324
+ /**
325
+ * Astrlabe-shaped wrapper around the shared `ExecutionTimelinePanel`
326
+ * (#68). Adds the page chrome (HeroSection + ManagementPageLayout) so
327
+ * the runs page renders consistently with the rest of the platform.
328
+ * Other apps (kori-erp) can drop `ExecutionTimelinePanel` directly
329
+ * inside their own card layouts without taking on this page wrapper.
330
+ */
331
+ declare function RunTimelinePageView({ labels, entries, loading, runId }: Props$2): react_jsx_runtime.JSX.Element;
332
+
333
+ type CreateConnectionInput = {
334
+ providerSlug: string;
335
+ name: string;
336
+ region?: string;
337
+ endpoint?: string;
338
+ credentialRef?: string;
339
+ apiKeyRef?: string;
340
+ modelFilter?: string[];
341
+ config?: Record<string, unknown>;
342
+ };
343
+ type UpdateConnectionInput = Partial<Omit<CreateConnectionInput, 'providerSlug'>> & {
344
+ enabled?: boolean;
345
+ };
346
+ type ConnectionFormValue = {
347
+ providerSlug: ModelProviderType;
348
+ name: string;
349
+ region: string;
350
+ endpoint: string;
351
+ /** Plaintext — only present when the user is entering a NEW key. On
352
+ * save we push this to `/organizations/{id}/secrets` and replace
353
+ * with the returned UUID before calling the connections API. */
354
+ apiKey: string;
355
+ /** Vault secret UUID — displayed as "••• (set)" in the UI. */
356
+ credentialRef: string;
357
+ modelFilter: string;
358
+ configJson: string;
359
+ };
360
+ type ConnectionsLabels = {
361
+ title: string;
362
+ subtitle: string;
363
+ add: string;
364
+ createTitle: string;
365
+ editTitle: string;
366
+ save: string;
367
+ delete: string;
368
+ edit: string;
369
+ enable: string;
370
+ disable: string;
371
+ deleteConfirm: string;
372
+ empty: string;
373
+ searchPlaceholder?: string;
374
+ };
375
+ type CreateSecret = (name: string, value: string) => Promise<{
376
+ id: string;
377
+ }>;
378
+ type Props$1 = {
379
+ labels: ConnectionsLabels;
380
+ connections: ModelProviderConnection[];
381
+ loading: boolean;
382
+ onCreate: (input: CreateConnectionInput) => Promise<void>;
383
+ onUpdate: (id: string, input: UpdateConnectionInput) => Promise<void>;
384
+ onDelete: (connection: ModelProviderConnection) => Promise<void>;
385
+ /** Takes a secret name + plaintext value, stores it in the vault and
386
+ * returns the UUID the connections API should reference. */
387
+ onCreateSecret: CreateSecret;
388
+ /**
389
+ * Prefix for auto-generated secret names when the user enters a new
390
+ * API key. Final shape is `${prefix}-${providerSlug}-${timestamp}`.
391
+ * Defaults to `'platform'` so consumers that don't override land on a
392
+ * sensible namespace.
393
+ */
394
+ secretNamePrefix?: string;
395
+ };
396
+ declare function ConnectionsPageView({ labels, connections, loading, onCreate, onUpdate, onDelete, onCreateSecret, secretNamePrefix, }: Props$1): react_jsx_runtime.JSX.Element;
397
+
398
+ type CredentialFormInput = {
399
+ name: string;
400
+ value: string;
401
+ secretType: string;
402
+ description?: string;
403
+ };
404
+ type CredentialsPageViewLabels = {
405
+ title: string;
406
+ subtitle: string;
407
+ addCredential: string;
408
+ createTitle: string;
409
+ name: string;
410
+ namePlaceholder: string;
411
+ value: string;
412
+ valuePlaceholder: string;
413
+ type: string;
414
+ typeGeneric: string;
415
+ typeApiKey: string;
416
+ typeOAuth: string;
417
+ typePassword: string;
418
+ description: string;
419
+ descriptionPlaceholder: string;
420
+ save: string;
421
+ rotate: string;
422
+ disable: string;
423
+ disableConfirm: string;
424
+ expiresAt: string;
425
+ createdAt: string;
426
+ neverExpires: string;
427
+ empty: string;
428
+ searchPlaceholder?: string;
429
+ };
430
+ type Props = {
431
+ labels: CredentialsPageViewLabels;
432
+ credentials: SecretSummary[];
433
+ loading: boolean;
434
+ onCreate: (input: CredentialFormInput) => void;
435
+ onRotate: (secret: SecretSummary, newValue: string) => void;
436
+ onDisable: (secret: SecretSummary) => void;
437
+ };
438
+ declare function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate, onDisable }: Props): react_jsx_runtime.JSX.Element;
439
+
440
+ 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 };