@datatechsolutions/ui 3.7.4 → 3.8.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 (159) 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-GAN7AKZ2.mjs → chunk-32DHEVOH.mjs} +3 -3
  22. package/dist/{chunk-GAN7AKZ2.mjs.map → chunk-32DHEVOH.mjs.map} +1 -1
  23. package/dist/{chunk-IYDGO7RW.js → chunk-3H5CFLVK.js} +135 -135
  24. package/dist/{chunk-IYDGO7RW.js.map → chunk-3H5CFLVK.js.map} +1 -1
  25. package/dist/{chunk-QL2JYRBN.js → chunk-3X3IYDG6.js} +68 -68
  26. package/dist/{chunk-QL2JYRBN.js.map → chunk-3X3IYDG6.js.map} +1 -1
  27. package/dist/{chunk-N5365CGD.mjs → chunk-57E4TCB2.mjs} +3 -3
  28. package/dist/{chunk-N5365CGD.mjs.map → chunk-57E4TCB2.mjs.map} +1 -1
  29. package/dist/{chunk-4HP7XS5I.mjs → chunk-5W6LMDXV.mjs} +4 -4
  30. package/dist/{chunk-4HP7XS5I.mjs.map → chunk-5W6LMDXV.mjs.map} +1 -1
  31. package/dist/{chunk-EIZM2EQA.mjs → chunk-5YVOLHSW.mjs} +4 -4
  32. package/dist/{chunk-EIZM2EQA.mjs.map → chunk-5YVOLHSW.mjs.map} +1 -1
  33. package/dist/{chunk-ZWLMKOHZ.mjs → chunk-74BU2EBZ.mjs} +6 -6
  34. package/dist/{chunk-ZWLMKOHZ.mjs.map → chunk-74BU2EBZ.mjs.map} +1 -1
  35. package/dist/{chunk-7WIWDSF6.js → chunk-7JZFNKJD.js} +36 -36
  36. package/dist/{chunk-7WIWDSF6.js.map → chunk-7JZFNKJD.js.map} +1 -1
  37. package/dist/{chunk-DCBRGVD3.mjs → chunk-A4A3SQTV.mjs} +3 -3
  38. package/dist/{chunk-DCBRGVD3.mjs.map → chunk-A4A3SQTV.mjs.map} +1 -1
  39. package/dist/{chunk-JUDQX6MP.mjs → chunk-CZZOCKEA.mjs} +3 -3
  40. package/dist/{chunk-JUDQX6MP.mjs.map → chunk-CZZOCKEA.mjs.map} +1 -1
  41. package/dist/{chunk-DWIBK7GV.js → chunk-E57RZXOR.js} +25 -25
  42. package/dist/{chunk-DWIBK7GV.js.map → chunk-E57RZXOR.js.map} +1 -1
  43. package/dist/{chunk-Z3BMHKKH.mjs → chunk-E6C7MFHJ.mjs} +3 -3
  44. package/dist/{chunk-Z3BMHKKH.mjs.map → chunk-E6C7MFHJ.mjs.map} +1 -1
  45. package/dist/{chunk-P7GVXI7Y.mjs → chunk-EWYAM4WJ.mjs} +3 -3
  46. package/dist/{chunk-P7GVXI7Y.mjs.map → chunk-EWYAM4WJ.mjs.map} +1 -1
  47. package/dist/{chunk-VDO6MDQW.js → chunk-F35GFICG.js} +13 -13
  48. package/dist/{chunk-VDO6MDQW.js.map → chunk-F35GFICG.js.map} +1 -1
  49. package/dist/{chunk-BEUPW5WS.js → chunk-FKUIVS6I.js} +28 -28
  50. package/dist/{chunk-BEUPW5WS.js.map → chunk-FKUIVS6I.js.map} +1 -1
  51. package/dist/{chunk-GD6FHRHV.js → chunk-FNA66TT4.js} +3 -3
  52. package/dist/{chunk-GD6FHRHV.js.map → chunk-FNA66TT4.js.map} +1 -1
  53. package/dist/{chunk-RBB5YGWH.js → chunk-H37VDL7Y.js} +4 -4
  54. package/dist/{chunk-RBB5YGWH.js.map → chunk-H37VDL7Y.js.map} +1 -1
  55. package/dist/{chunk-KI4UPW4Z.js → chunk-HBOORO52.js} +4 -4
  56. package/dist/{chunk-KI4UPW4Z.js.map → chunk-HBOORO52.js.map} +1 -1
  57. package/dist/{chunk-MGZTZELL.mjs → chunk-KKXI7CPF.mjs} +3 -3
  58. package/dist/{chunk-MGZTZELL.mjs.map → chunk-KKXI7CPF.mjs.map} +1 -1
  59. package/dist/{chunk-IKH5IRDK.mjs → chunk-PCUINUIC.mjs} +3 -3
  60. package/dist/{chunk-IKH5IRDK.mjs.map → chunk-PCUINUIC.mjs.map} +1 -1
  61. package/dist/{chunk-CTCO2YI5.mjs → chunk-PYNXIDG3.mjs} +3 -3
  62. package/dist/{chunk-CTCO2YI5.mjs.map → chunk-PYNXIDG3.mjs.map} +1 -1
  63. package/dist/{chunk-MFAVWJWE.js → chunk-Q4QORAMH.js} +10 -10
  64. package/dist/{chunk-MFAVWJWE.js.map → chunk-Q4QORAMH.js.map} +1 -1
  65. package/dist/{chunk-ZF7RJNPD.js → chunk-Q7HRCCFT.js} +45 -45
  66. package/dist/{chunk-ZF7RJNPD.js.map → chunk-Q7HRCCFT.js.map} +1 -1
  67. package/dist/{chunk-R2RPRRB4.js → chunk-RCHTRG7R.js} +55 -55
  68. package/dist/{chunk-R2RPRRB4.js.map → chunk-RCHTRG7R.js.map} +1 -1
  69. package/dist/{chunk-FIB2CFJK.js → chunk-TCP45Q4B.js} +9 -9
  70. package/dist/{chunk-FIB2CFJK.js.map → chunk-TCP45Q4B.js.map} +1 -1
  71. package/dist/{chunk-SUU7XPRX.js → chunk-TJPPZU77.js} +34 -34
  72. package/dist/{chunk-SUU7XPRX.js.map → chunk-TJPPZU77.js.map} +1 -1
  73. package/dist/{chunk-XT76DMP5.js → chunk-VPFVW7ZF.js} +35 -35
  74. package/dist/{chunk-XT76DMP5.js.map → chunk-VPFVW7ZF.js.map} +1 -1
  75. package/dist/{chunk-IKHWYYZC.mjs → chunk-VS6PTRQ7.mjs} +3 -3
  76. package/dist/{chunk-IKHWYYZC.mjs.map → chunk-VS6PTRQ7.mjs.map} +1 -1
  77. package/dist/{chunk-YNHQ36UU.mjs → chunk-WDBVIU7W.mjs} +3 -3
  78. package/dist/{chunk-YNHQ36UU.mjs.map → chunk-WDBVIU7W.mjs.map} +1 -1
  79. package/dist/{chunk-MRLEINJN.mjs → chunk-ZP37M2QK.mjs} +7 -7
  80. package/dist/{chunk-MRLEINJN.mjs.map → chunk-ZP37M2QK.mjs.map} +1 -1
  81. package/dist/dynamic-island-confirm-BKsZkAEP.d.mts +17 -0
  82. package/dist/dynamic-island-confirm-BKsZkAEP.d.ts +17 -0
  83. package/dist/index-BNRGVAS5.d.mts +222 -0
  84. package/dist/index-BoebbJ44.d.mts +49 -0
  85. package/dist/index-BoebbJ44.d.ts +49 -0
  86. package/dist/index-CnCY-b5V.d.ts +222 -0
  87. package/dist/index.d.mts +5316 -0
  88. package/dist/index.d.ts +5316 -0
  89. package/dist/index.js +665 -665
  90. package/dist/index.mjs +2 -2
  91. package/dist/layout-engine-YZcVr20M.d.mts +19 -0
  92. package/dist/layout-engine-YZcVr20M.d.ts +19 -0
  93. package/dist/lib/i18n-context.d.mts +36 -0
  94. package/dist/lib/i18n-context.d.ts +36 -0
  95. package/dist/lib/router-context.d.mts +35 -0
  96. package/dist/lib/router-context.d.ts +35 -0
  97. package/dist/navigation-BiWVffAN.d.mts +49 -0
  98. package/dist/navigation-BiWVffAN.d.ts +49 -0
  99. package/dist/platform/admin/index.d.mts +17 -0
  100. package/dist/platform/admin/index.d.ts +17 -0
  101. package/dist/platform/admin/index.js +10 -10
  102. package/dist/platform/admin/index.mjs +4 -4
  103. package/dist/platform/agents-workspace.d.mts +19 -0
  104. package/dist/platform/agents-workspace.d.ts +19 -0
  105. package/dist/platform/agents-workspace.js +7 -7
  106. package/dist/platform/agents-workspace.mjs +6 -6
  107. package/dist/platform/app-shell.d.mts +64 -0
  108. package/dist/platform/app-shell.d.ts +64 -0
  109. package/dist/platform/app-shell.js +4 -4
  110. package/dist/platform/app-shell.mjs +3 -3
  111. package/dist/platform/auth/index.d.mts +73 -0
  112. package/dist/platform/auth/index.d.ts +73 -0
  113. package/dist/platform/auth/index.js +22 -22
  114. package/dist/platform/auth/index.mjs +4 -4
  115. package/dist/platform/billing/index.d.mts +29 -0
  116. package/dist/platform/billing/index.d.ts +29 -0
  117. package/dist/platform/billing/index.js +4 -4
  118. package/dist/platform/billing/index.mjs +3 -3
  119. package/dist/platform/impersonation/index.d.mts +19 -0
  120. package/dist/platform/impersonation/index.d.ts +19 -0
  121. package/dist/platform/impersonation/index.js +4 -4
  122. package/dist/platform/impersonation/index.mjs +3 -3
  123. package/dist/platform/index.d.mts +188 -0
  124. package/dist/platform/index.d.ts +188 -0
  125. package/dist/platform/index.js +86 -86
  126. package/dist/platform/index.mjs +18 -18
  127. package/dist/platform/pages/index.d.mts +574 -0
  128. package/dist/platform/pages/index.d.ts +574 -0
  129. package/dist/platform/pages/index.js +461 -264
  130. package/dist/platform/pages/index.js.map +1 -1
  131. package/dist/platform/pages/index.mjs +228 -31
  132. package/dist/platform/pages/index.mjs.map +1 -1
  133. package/dist/platform/rbac.d.mts +42 -0
  134. package/dist/platform/rbac.d.ts +42 -0
  135. package/dist/platform/settings/index.d.mts +31 -0
  136. package/dist/platform/settings/index.d.ts +31 -0
  137. package/dist/platform/settings/index.js +7 -7
  138. package/dist/platform/settings/index.mjs +6 -6
  139. package/dist/platform/telemetry/index.d.mts +51 -0
  140. package/dist/platform/telemetry/index.d.ts +51 -0
  141. package/dist/platform/utils/index.d.mts +32 -0
  142. package/dist/platform/utils/index.d.ts +32 -0
  143. package/dist/platform/windsock-admin-client.d.mts +57 -0
  144. package/dist/platform/windsock-admin-client.d.ts +57 -0
  145. package/dist/platform/workflow-api-client.d.mts +6 -0
  146. package/dist/platform/workflow-api-client.d.ts +6 -0
  147. package/dist/platform/workflow-canvas-shell.d.mts +18 -0
  148. package/dist/platform/workflow-canvas-shell.d.ts +18 -0
  149. package/dist/platform/workflow-canvas-shell.js +5 -5
  150. package/dist/platform/workflow-canvas-shell.mjs +4 -4
  151. package/dist/rule-form-BYJzyork.d.mts +128 -0
  152. package/dist/rule-form-BYJzyork.d.ts +128 -0
  153. package/dist/workflow-api-client-CpFl3WcG.d.mts +468 -0
  154. package/dist/workflow-api-client-uLICOanv.d.ts +468 -0
  155. package/dist/workflow-canvas--qaYKuMm.d.ts +113 -0
  156. package/dist/workflow-canvas-B80fmD_n.d.mts +113 -0
  157. package/dist/workflow-store-o17I6L6A.d.ts +79 -0
  158. package/dist/workflow-store-ppVHdMZi.d.mts +79 -0
  159. package/package.json +1 -1
@@ -0,0 +1,574 @@
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
+ 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
+ role?: string;
37
+ description?: string;
38
+ avatar?: string;
39
+ modelId: string;
40
+ connectionId?: string;
41
+ framework?: string;
42
+ systemPrompt: string;
43
+ userPrompt?: string;
44
+ maxTokens: number;
45
+ temperature: number;
46
+ topP?: number;
47
+ topK?: number;
48
+ difficulty?: string;
49
+ tags?: string[];
50
+ outputSchema?: string;
51
+ };
52
+ type AgentsConfigLabels = {
53
+ title: string;
54
+ subtitle: string;
55
+ addAgent: string;
56
+ createTitle: string;
57
+ editTitle: string;
58
+ name: string;
59
+ model: string;
60
+ systemPrompt: string;
61
+ maxTokens: number | string;
62
+ temperature: string;
63
+ outputSchema: string;
64
+ outputSchemaPlaceholder: string;
65
+ save: string;
66
+ delete: string;
67
+ edit: string;
68
+ deleteConfirm: string;
69
+ activeVersion: string;
70
+ empty: string;
71
+ searchPlaceholder?: string;
72
+ };
73
+ type Props$8 = {
74
+ labels: AgentsConfigLabels;
75
+ agents: AgentWithPrompts[];
76
+ models: AgentModel[];
77
+ loading: boolean;
78
+ onCreate: (input: AgentConfigFormInput) => void;
79
+ onUpdate: (agentId: string, input: AgentConfigFormInput) => void;
80
+ onDelete: (agent: AgentWithPrompts) => void;
81
+ };
82
+ declare function AgentsConfigPageView({ labels, agents, models, loading, onCreate, onUpdate, onDelete }: Props$8): react_jsx_runtime.JSX.Element;
83
+
84
+ type PromptFormInput = {
85
+ agentId: string;
86
+ locale: string;
87
+ prompt: string;
88
+ systemPrompt?: string;
89
+ userTemplate?: string;
90
+ isActive: boolean;
91
+ reason?: string;
92
+ };
93
+ type AgentsPromptsLabels = {
94
+ title: string;
95
+ subtitle: string;
96
+ addPrompt: string;
97
+ createTitle: string;
98
+ editTitle: string;
99
+ agent: string;
100
+ locale: string;
101
+ version: string;
102
+ isActive: string;
103
+ prompt: string;
104
+ systemPrompt: string;
105
+ userTemplate: string;
106
+ reason: string;
107
+ save: string;
108
+ delete: string;
109
+ activate: string;
110
+ deleteConfirm: string;
111
+ empty: string;
112
+ searchPlaceholder?: string;
113
+ };
114
+ type Props$7 = {
115
+ labels: AgentsPromptsLabels;
116
+ agents: AgentWithPrompts[];
117
+ prompts: AgentPrompt[];
118
+ loading: boolean;
119
+ onCreate: (input: PromptFormInput) => void;
120
+ onActivate: (prompt: AgentPrompt) => void;
121
+ onDelete: (prompt: AgentPrompt) => void;
122
+ };
123
+ declare function AgentsPromptsPageView({ labels, agents, prompts, loading, onCreate, onActivate, onDelete }: Props$7): react_jsx_runtime.JSX.Element;
124
+
125
+ declare const TOOL_TYPES: readonly ["http", "function", "database_query", "code_execution", "api_call"];
126
+ type ToolType = (typeof TOOL_TYPES)[number];
127
+ type ToolParameter = {
128
+ name: string;
129
+ type: 'string' | 'number' | 'boolean' | 'array' | 'object';
130
+ description: string;
131
+ required: boolean;
132
+ };
133
+ /**
134
+ * Canonical form payload the page emits. The page wrapper turns this
135
+ * into the backend POST/PATCH bodies — parameters go through
136
+ * `parametersToJsonSchema` to produce `inputSchema`, and `handlerConfig`
137
+ * stays as-is.
138
+ */
139
+ type ToolDefinitionFormInput = {
140
+ agentToolId?: string;
141
+ name: string;
142
+ description?: string;
143
+ toolType: ToolType;
144
+ parameters: ToolParameter[];
145
+ handlerConfig: Record<string, unknown>;
146
+ enabled: boolean;
147
+ icon?: string;
148
+ };
149
+ type AgentsToolDefinitionsLabels = {
150
+ title: string;
151
+ subtitle: string;
152
+ addTool: string;
153
+ createTitle: string;
154
+ editTitle: string;
155
+ name: string;
156
+ description: string;
157
+ category: string;
158
+ enabled: string;
159
+ disabled: string;
160
+ icon: string;
161
+ save: string;
162
+ delete: string;
163
+ edit: string;
164
+ deleteConfirm: string;
165
+ empty: string;
166
+ searchPlaceholder?: string;
167
+ };
168
+ type Props$6 = {
169
+ labels: AgentsToolDefinitionsLabels;
170
+ tools: AgentTool[];
171
+ loading: boolean;
172
+ onCreate: (input: ToolDefinitionFormInput) => void;
173
+ onUpdate: (toolId: string, input: ToolDefinitionFormInput) => void;
174
+ onDelete: (tool: AgentTool) => void;
175
+ };
176
+ declare function AgentsToolDefinitionsPageView({ labels, tools, loading, onCreate, onUpdate, onDelete }: Props$6): react_jsx_runtime.JSX.Element;
177
+ /**
178
+ * Build a JSON Schema object from the parameter list. Mirrors the
179
+ * format the backend validator (`validate_input_schema`) expects —
180
+ * `{ type: 'object', properties, required }`.
181
+ */
182
+ declare function parametersToJsonSchema(params: ToolParameter[]): Record<string, unknown>;
183
+ /**
184
+ * Inverse of `parametersToJsonSchema` — hydrate the editor UI from an
185
+ * existing schema so the Edit flow shows what was stored.
186
+ */
187
+ declare function jsonSchemaToParameters(schema: unknown): ToolParameter[];
188
+
189
+ type RulesLabels = {
190
+ title: string;
191
+ subtitle: string;
192
+ addRule: string;
193
+ createTitle: string;
194
+ editTitle: string;
195
+ save: string;
196
+ delete: string;
197
+ edit: string;
198
+ deleteConfirm: string;
199
+ empty: string;
200
+ enabled: string;
201
+ disabled: string;
202
+ order: string;
203
+ searchPlaceholder?: string;
204
+ };
205
+ type Props$5 = {
206
+ labels: RulesLabels;
207
+ rules: AgentRule[];
208
+ loading: boolean;
209
+ onCreate: (input: RuleFormValue) => void;
210
+ onUpdate: (ruleId: string, input: RuleFormValue) => void;
211
+ onDelete: (rule: AgentRule) => void;
212
+ };
213
+ declare function RulesPageView({ labels, rules, loading, onCreate, onUpdate, onDelete }: Props$5): react_jsx_runtime.JSX.Element;
214
+
215
+ type Labels = Record<string, string>;
216
+ type DatasourcesPageViewProps = {
217
+ labels: Labels;
218
+ datasources?: DataSource[];
219
+ useSampleData?: boolean;
220
+ onCreate?: (data: DatasourceFormData) => void;
221
+ };
222
+ declare function DatasourcesPageView({ labels, datasources: externalDatasources, useSampleData, onCreate, }: DatasourcesPageViewProps): react_jsx_runtime.JSX.Element;
223
+
224
+ type DashboardLabels = {
225
+ title: string;
226
+ subtitle: string;
227
+ totalRuns: string;
228
+ successRate: string;
229
+ avgDuration: string;
230
+ runsByStatus: string;
231
+ perWorkflow: string;
232
+ noData: string;
233
+ runs: string;
234
+ };
235
+ type Props$4 = {
236
+ labels: DashboardLabels;
237
+ summary: AnalyticsSummary | null;
238
+ loading: boolean;
239
+ /**
240
+ * App-branded logo node rendered in the dashboard hero. Each app passes
241
+ * its own logo (typically a pair of light/dark <img> tags toggled via
242
+ * Tailwind `dark:` classes) so this view stays brand-agnostic.
243
+ */
244
+ appLogo: ReactNode;
245
+ };
246
+ /**
247
+ * Platform dashboard — a centered hero with the app's logo + subtitle.
248
+ * Metrics and workflow tables live on dedicated pages (Analytics /
249
+ * Workflow Runs); this view intentionally renders only the landing chrome.
250
+ *
251
+ * `summary` and `loading` are kept on the prop type so the page that
252
+ * mounts this view doesn't have to change, but we intentionally don't
253
+ * render them here.
254
+ */
255
+ declare function DashboardPageView({ labels, appLogo }: Props$4): react_jsx_runtime.JSX.Element;
256
+
257
+ type AgentsIndexLabels = {
258
+ title: string;
259
+ subtitle: string;
260
+ configTitle: string;
261
+ configSubtitle: string;
262
+ toolDefinitionsTitle: string;
263
+ toolDefinitionsSubtitle: string;
264
+ modelsTitle: string;
265
+ modelsSubtitle: string;
266
+ promptsTitle: string;
267
+ promptsSubtitle: string;
268
+ searchPlaceholder?: string;
269
+ };
270
+ declare function AgentsIndexPageView({ labels }: {
271
+ labels: AgentsIndexLabels;
272
+ }): react_jsx_runtime.JSX.Element;
273
+
274
+ type RolesPageViewExtraProps = {
275
+ /**
276
+ * App-defined role definitions, e.g. `{ admin: { id, label, description }, ... }`.
277
+ * Each app passes the output of its own `createPlatformRbac()` call.
278
+ */
279
+ roleDefinitions: Record<string, PlatformRoleDefinition<string>>;
280
+ /**
281
+ * Display options surfaced in the role-assignment modal select. Each
282
+ * entry is `{ value: roleId, label: localizedLabel }`.
283
+ */
284
+ roleOptions: Array<{
285
+ value: string;
286
+ label: string;
287
+ }>;
288
+ };
289
+ declare function RolesPageView({ labels, users, onAssignRole, roleDefinitions, roleOptions, }: RolesPageViewProps & RolesPageViewExtraProps): react_jsx_runtime.JSX.Element;
290
+
291
+ declare function WorkflowsPageView({ labels, workflows, onCreate, onUpdateMeta, onPublish }: WorkflowsPageViewProps): react_jsx_runtime.JSX.Element;
292
+
293
+ type WorkflowRunsLabels = {
294
+ title: string;
295
+ subtitle: string;
296
+ status: string;
297
+ duration: string;
298
+ triggeredBy: string;
299
+ startedAt: string;
300
+ cancel: string;
301
+ replay: string;
302
+ view: string;
303
+ statusPending: string;
304
+ statusRunning: string;
305
+ statusCompleted: string;
306
+ statusFailed: string;
307
+ statusCancelled: string;
308
+ filterAll: string;
309
+ filterStatus: string;
310
+ empty: string;
311
+ timeline?: string;
312
+ searchPlaceholder?: string;
313
+ };
314
+ type Props$3 = {
315
+ labels: WorkflowRunsLabels;
316
+ runs: WorkflowRun[];
317
+ loading: boolean;
318
+ onCancel: (run: WorkflowRun) => void;
319
+ onReplay: (run: WorkflowRun) => void;
320
+ onView?: (run: WorkflowRun) => void;
321
+ onViewTimeline?: (run: WorkflowRun) => void;
322
+ };
323
+ declare function WorkflowRunsPageView({ labels, runs, loading, onCancel, onReplay, onView, onViewTimeline }: Props$3): react_jsx_runtime.JSX.Element;
324
+
325
+ type RunTimelineLabels = ExecutionTimelineLabels & {
326
+ title: string;
327
+ subtitle: string;
328
+ };
329
+ type Props$2 = {
330
+ labels: RunTimelineLabels;
331
+ entries: RunTimelineEntry[];
332
+ loading: boolean;
333
+ runId: string;
334
+ };
335
+ /**
336
+ * Astrlabe-shaped wrapper around the shared `ExecutionTimelinePanel`
337
+ * (#68). Adds the page chrome (HeroSection + ManagementPageLayout) so
338
+ * the runs page renders consistently with the rest of the platform.
339
+ * Other apps (kori-erp) can drop `ExecutionTimelinePanel` directly
340
+ * inside their own card layouts without taking on this page wrapper.
341
+ */
342
+ declare function RunTimelinePageView({ labels, entries, loading, runId }: Props$2): react_jsx_runtime.JSX.Element;
343
+
344
+ type CreateConnectionInput = {
345
+ providerSlug: string;
346
+ name: string;
347
+ region?: string;
348
+ endpoint?: string;
349
+ credentialRef?: string;
350
+ apiKeyRef?: string;
351
+ modelFilter?: string[];
352
+ config?: Record<string, unknown>;
353
+ };
354
+ type UpdateConnectionInput = Partial<Omit<CreateConnectionInput, 'providerSlug'>> & {
355
+ enabled?: boolean;
356
+ };
357
+ type ConnectionFormValue = {
358
+ providerSlug: ModelProviderType;
359
+ name: string;
360
+ region: string;
361
+ endpoint: string;
362
+ /** Plaintext — only present when the user is entering a NEW key. On
363
+ * save we push this to `/organizations/{id}/secrets` and replace
364
+ * with the returned UUID before calling the connections API. */
365
+ apiKey: string;
366
+ /** Vault secret UUID — displayed as "••• (set)" in the UI. */
367
+ credentialRef: string;
368
+ modelFilter: string;
369
+ configJson: string;
370
+ };
371
+ type ConnectionsLabels = {
372
+ title: string;
373
+ subtitle: string;
374
+ add: string;
375
+ createTitle: string;
376
+ editTitle: string;
377
+ save: string;
378
+ delete: string;
379
+ edit: string;
380
+ enable: string;
381
+ disable: string;
382
+ deleteConfirm: string;
383
+ empty: string;
384
+ searchPlaceholder?: string;
385
+ };
386
+ type CreateSecret = (name: string, value: string) => Promise<{
387
+ id: string;
388
+ }>;
389
+ type Props$1 = {
390
+ labels: ConnectionsLabels;
391
+ connections: ModelProviderConnection[];
392
+ loading: boolean;
393
+ onCreate: (input: CreateConnectionInput) => Promise<void>;
394
+ onUpdate: (id: string, input: UpdateConnectionInput) => Promise<void>;
395
+ onDelete: (connection: ModelProviderConnection) => Promise<void>;
396
+ /** Takes a secret name + plaintext value, stores it in the vault and
397
+ * returns the UUID the connections API should reference. */
398
+ onCreateSecret: CreateSecret;
399
+ /**
400
+ * Prefix for auto-generated secret names when the user enters a new
401
+ * API key. Final shape is `${prefix}-${providerSlug}-${timestamp}`.
402
+ * Defaults to `'platform'` so consumers that don't override land on a
403
+ * sensible namespace.
404
+ */
405
+ secretNamePrefix?: string;
406
+ };
407
+ declare function ConnectionsPageView({ labels, connections, loading, onCreate, onUpdate, onDelete, onCreateSecret, secretNamePrefix, }: Props$1): react_jsx_runtime.JSX.Element;
408
+
409
+ type CredentialFormInput = {
410
+ name: string;
411
+ value: string;
412
+ secretType: string;
413
+ description?: string;
414
+ };
415
+ type CredentialsPageViewLabels = {
416
+ title: string;
417
+ subtitle: string;
418
+ addCredential: string;
419
+ createTitle: string;
420
+ name: string;
421
+ namePlaceholder: string;
422
+ value: string;
423
+ valuePlaceholder: string;
424
+ type: string;
425
+ typeGeneric: string;
426
+ typeApiKey: string;
427
+ typeOAuth: string;
428
+ typePassword: string;
429
+ description: string;
430
+ descriptionPlaceholder: string;
431
+ save: string;
432
+ rotate: string;
433
+ disable: string;
434
+ disableConfirm: string;
435
+ expiresAt: string;
436
+ createdAt: string;
437
+ neverExpires: string;
438
+ empty: string;
439
+ searchPlaceholder?: string;
440
+ };
441
+ type Props = {
442
+ labels: CredentialsPageViewLabels;
443
+ credentials: SecretSummary[];
444
+ loading: boolean;
445
+ onCreate: (input: CredentialFormInput) => void;
446
+ onRotate: (secret: SecretSummary, newValue: string) => void;
447
+ onDisable: (secret: SecretSummary) => void;
448
+ };
449
+ declare function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate, onDisable }: Props): react_jsx_runtime.JSX.Element;
450
+
451
+ /**
452
+ * All copy the workspace renders. Caller-supplied so the consuming app
453
+ * stays in control of its i18n catalog. Every key must be supplied — no
454
+ * silent fallbacks — so we catch missing translations at type-check time.
455
+ */
456
+ type AgentsWorkspaceLabels = {
457
+ title: string;
458
+ subtitle: string;
459
+ addAgent: string;
460
+ searchPlaceholder: string;
461
+ empty: string;
462
+ emptyMessage: string;
463
+ noSelection: string;
464
+ noSelectionMessage: string;
465
+ generalTab: string;
466
+ promptTab: string;
467
+ toolsTab: string;
468
+ modelTab: string;
469
+ generalSection: string;
470
+ name: string;
471
+ description: string;
472
+ role: string;
473
+ rolePlaceholder: string;
474
+ status: string;
475
+ statusDraft: string;
476
+ statusActive: string;
477
+ statusArchived: string;
478
+ maxTokens: string;
479
+ temperature: string;
480
+ save: string;
481
+ saving: string;
482
+ deleteAgent: string;
483
+ deleteConfirm: string;
484
+ promptSection: string;
485
+ promptCurrent: string;
486
+ promptVersions: string;
487
+ promptVersionsEmpty: string;
488
+ addPrompt: string;
489
+ activate: string;
490
+ activated: string;
491
+ promptLocale: string;
492
+ promptIsActive: string;
493
+ promptText: string;
494
+ promptReason: string;
495
+ promptSystemPrompt: string;
496
+ promptUserTemplate: string;
497
+ toolsSection: string;
498
+ toolsAttached: string;
499
+ toolsAvailable: string;
500
+ toolsEmpty: string;
501
+ attachTool: string;
502
+ detachTool: string;
503
+ modelSection: string;
504
+ model: string;
505
+ connection: string;
506
+ connectionEmpty: string;
507
+ modelEmpty: string;
508
+ createAgentTitle: string;
509
+ createAgentEyebrow?: string;
510
+ presetTitle?: string;
511
+ presetSubtitle?: string;
512
+ presetCustom?: string;
513
+ presetCustomHint?: string;
514
+ identitySection?: string;
515
+ identitySubtitle?: string;
516
+ avatarLabel?: string;
517
+ namePlaceholder?: string;
518
+ behaviorSection?: string;
519
+ behaviorSubtitle?: string;
520
+ promptPlaceholder?: string;
521
+ connectionLabel?: string;
522
+ connectionPickPrompt?: string;
523
+ connectionInline?: string;
524
+ frameworkLabel?: string;
525
+ frameworkAnthropic?: string;
526
+ frameworkLangChain?: string;
527
+ frameworkCrewAI?: string;
528
+ frameworkGoogleADK?: string;
529
+ frameworkOpenAI?: string;
530
+ userPromptLabel?: string;
531
+ userPromptPlaceholder?: string;
532
+ topPLabel?: string;
533
+ topKLabel?: string;
534
+ metadataSection?: string;
535
+ metadataSubtitle?: string;
536
+ difficultyLabel?: string;
537
+ difficultyBeginner?: string;
538
+ difficultyIntermediate?: string;
539
+ difficultyAdvanced?: string;
540
+ difficultyExpert?: string;
541
+ tagsLabel?: string;
542
+ tagsPlaceholder?: string;
543
+ outputSchemaLabel?: string;
544
+ outputSchemaPlaceholder?: string;
545
+ descriptionLabel?: string;
546
+ descriptionPlaceholder?: string;
547
+ };
548
+ type AgentsWorkspacePageViewProps = {
549
+ labels: AgentsWorkspaceLabels;
550
+ agents: AgentWithPrompts[];
551
+ models: AgentModel[];
552
+ tools: AgentTool[];
553
+ connections: ModelProviderConnection[];
554
+ loading?: boolean;
555
+ /**
556
+ * Per-agent prompt rows (system-prompt history). The page itself does
557
+ * not own loading them — the caller resolves them per agent and feeds
558
+ * the slice corresponding to the currently selected agent via this
559
+ * map keyed by agentId. The view falls back to `[]` for unknown ids.
560
+ */
561
+ promptsByAgent?: Record<string, AgentPrompt[]>;
562
+ onSelectAgent?: (agentId: string | null) => void;
563
+ onCreateAgent: (input: AgentConfigFormInput) => Promise<void>;
564
+ onUpdateAgent: (id: string, input: AgentConfigFormInput) => Promise<void>;
565
+ onDeleteAgent: (id: string) => Promise<void>;
566
+ onCreatePrompt: (agentId: string, input: PromptFormInput) => Promise<void>;
567
+ onActivatePrompt: (agentId: string, promptId: string) => Promise<void>;
568
+ onAttachTool: (agentId: string, toolId: string) => Promise<void>;
569
+ onDetachTool: (agentId: string, toolId: string) => Promise<void>;
570
+ onUpdateModel: (agentId: string, modelId: string, connectionId: string) => Promise<void>;
571
+ };
572
+ declare function AgentsWorkspacePageView({ labels, agents, models, tools, connections, loading, promptsByAgent, onSelectAgent, onCreateAgent, onUpdateAgent, onDeleteAgent, onCreatePrompt, onActivatePrompt, onAttachTool, onDetachTool, onUpdateModel, }: AgentsWorkspacePageViewProps): react_jsx_runtime.JSX.Element;
573
+
574
+ export { type AgentConfigFormInput, type AgentsConfigLabels, AgentsConfigPageView, type AgentsIndexLabels, AgentsIndexPageView, type AgentsModelsLabels, AgentsModelsPageView, type AgentsPromptsLabels, AgentsPromptsPageView, type AgentsToolDefinitionsLabels, AgentsToolDefinitionsPageView, type AgentsWorkspaceLabels, AgentsWorkspacePageView, type AgentsWorkspacePageViewProps, 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 };