@datatechsolutions/ui 2.11.84 → 2.11.86
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.
- package/dist/astrlabe/index.d.mts +5 -77
- package/dist/astrlabe/index.d.ts +5 -77
- package/dist/astrlabe/index.js +107 -107
- package/dist/astrlabe/index.mjs +4 -4
- package/dist/astrlabe/utils.d.mts +3 -18
- package/dist/astrlabe/utils.d.ts +3 -18
- package/dist/astrlabe/workflow-canvas.js +4 -4
- package/dist/astrlabe/workflow-canvas.mjs +3 -3
- package/dist/{chunk-JJWFMKZY.js → chunk-2URBM4LA.js} +7 -7
- package/dist/{chunk-JJWFMKZY.js.map → chunk-2URBM4LA.js.map} +1 -1
- package/dist/{chunk-WGELLCOZ.js → chunk-3YVQXDKJ.js} +4 -4
- package/dist/{chunk-WGELLCOZ.js.map → chunk-3YVQXDKJ.js.map} +1 -1
- package/dist/{chunk-BH2AU3LG.mjs → chunk-D4TESEYK.mjs} +3 -3
- package/dist/{chunk-BH2AU3LG.mjs.map → chunk-D4TESEYK.mjs.map} +1 -1
- package/dist/{chunk-EDE36MKE.mjs → chunk-G7DZU3NM.mjs} +3 -3
- package/dist/{chunk-EDE36MKE.mjs.map → chunk-G7DZU3NM.mjs.map} +1 -1
- package/dist/{chunk-63AL2RN5.mjs → chunk-HK6J6HQP.mjs} +4 -4
- package/dist/{chunk-63AL2RN5.mjs.map → chunk-HK6J6HQP.mjs.map} +1 -1
- package/dist/{chunk-MNQEZL7B.mjs → chunk-JUTOBBBI.mjs} +4 -4
- package/dist/{chunk-MNQEZL7B.mjs.map → chunk-JUTOBBBI.mjs.map} +1 -1
- package/dist/{chunk-CXIQWPBH.js → chunk-K26RY4EQ.js} +26 -26
- package/dist/{chunk-CXIQWPBH.js.map → chunk-K26RY4EQ.js.map} +1 -1
- package/dist/{chunk-GV6WJCEB.js → chunk-KNXAOJAK.js} +3 -3
- package/dist/{chunk-GV6WJCEB.js.map → chunk-KNXAOJAK.js.map} +1 -1
- package/dist/{chunk-CCRBT7TA.mjs → chunk-NAQ32ZPG.mjs} +9 -9
- package/dist/{chunk-CCRBT7TA.mjs.map → chunk-NAQ32ZPG.mjs.map} +1 -1
- package/dist/{chunk-SW6TVAIJ.js → chunk-SV4SMITM.js} +36 -36
- package/dist/{chunk-SW6TVAIJ.js.map → chunk-SV4SMITM.js.map} +1 -1
- package/dist/{chunk-HU3EAHFO.mjs → chunk-TLDVFFAK.mjs} +3 -3
- package/dist/{chunk-HU3EAHFO.mjs.map → chunk-TLDVFFAK.mjs.map} +1 -1
- package/dist/{chunk-EFREXNZB.js → chunk-TZ62G5WM.js} +64 -64
- package/dist/{chunk-EFREXNZB.js.map → chunk-TZ62G5WM.js.map} +1 -1
- package/dist/{chunk-SGJ24J2Q.js → chunk-URDQSUW6.js} +44 -39
- package/dist/{chunk-SGJ24J2Q.js.map → chunk-URDQSUW6.js.map} +1 -1
- package/dist/{chunk-CHLJUSXX.mjs → chunk-XOZMUCMF.mjs} +4 -4
- package/dist/{chunk-CHLJUSXX.mjs.map → chunk-XOZMUCMF.mjs.map} +1 -1
- package/dist/{chunk-L6FVIWAJ.js → chunk-ZHHRWC27.js} +128 -128
- package/dist/{chunk-L6FVIWAJ.js.map → chunk-ZHHRWC27.js.map} +1 -1
- package/dist/{chunk-I6WYV2AN.mjs → chunk-ZJQ5RLGK.mjs} +3 -3
- package/dist/{chunk-I6WYV2AN.mjs.map → chunk-ZJQ5RLGK.mjs.map} +1 -1
- package/dist/index.js +761 -761
- package/dist/index.mjs +2 -2
- package/dist/layout-engine-YZcVr20M.d.mts +19 -0
- package/dist/layout-engine-YZcVr20M.d.ts +19 -0
- package/dist/platform/agents-workspace.js +7 -7
- package/dist/platform/agents-workspace.mjs +6 -6
- package/dist/platform/app-shell.js +4 -4
- package/dist/platform/app-shell.mjs +3 -3
- package/dist/platform/index.d.mts +46 -3
- package/dist/platform/index.d.ts +46 -3
- package/dist/platform/index.js +57 -37
- package/dist/platform/index.mjs +11 -11
- package/dist/platform/pages/index.js +202 -197
- package/dist/platform/pages/index.js.map +1 -1
- package/dist/platform/pages/index.mjs +14 -9
- package/dist/platform/pages/index.mjs.map +1 -1
- package/dist/platform/workflow-canvas-shell.js +5 -5
- package/dist/platform/workflow-canvas-shell.mjs +4 -4
- package/dist/workflow-store-o17I6L6A.d.ts +79 -0
- package/dist/workflow-store-ppVHdMZi.d.mts +79 -0
- package/package.json +1 -1
|
@@ -2,16 +2,16 @@
|
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
4
|
var chunk3T2WGL47_js = require('../../chunk-3T2WGL47.js');
|
|
5
|
-
var
|
|
6
|
-
var
|
|
7
|
-
var
|
|
5
|
+
var chunkK26RY4EQ_js = require('../../chunk-K26RY4EQ.js');
|
|
6
|
+
var chunkSV4SMITM_js = require('../../chunk-SV4SMITM.js');
|
|
7
|
+
var chunkZHHRWC27_js = require('../../chunk-ZHHRWC27.js');
|
|
8
8
|
require('../../chunk-55H6WZQP.js');
|
|
9
9
|
require('../../chunk-5UU3RQRB.js');
|
|
10
|
-
require('../../chunk-
|
|
11
|
-
var
|
|
12
|
-
var chunkS7KHTUHA_js = require('../../chunk-S7KHTUHA.js');
|
|
10
|
+
require('../../chunk-TZ62G5WM.js');
|
|
11
|
+
var chunkKNXAOJAK_js = require('../../chunk-KNXAOJAK.js');
|
|
13
12
|
require('../../chunk-UZ3CMNUJ.js');
|
|
14
13
|
require('../../chunk-YXN2K77G.js');
|
|
14
|
+
var chunkS7KHTUHA_js = require('../../chunk-S7KHTUHA.js');
|
|
15
15
|
require('../../chunk-P4YYEM4B.js');
|
|
16
16
|
require('../../chunk-C7BI5LQ6.js');
|
|
17
17
|
var outline = require('@heroicons/react/24/outline');
|
|
@@ -20,7 +20,7 @@ var react = require('react');
|
|
|
20
20
|
|
|
21
21
|
function AgentsModelsPageView({ labels, models, loading }) {
|
|
22
22
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
23
|
-
|
|
23
|
+
chunkKNXAOJAK_js.HeroSection,
|
|
24
24
|
{
|
|
25
25
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.CubeTransparentIcon, { className: "h-5 w-5" }),
|
|
26
26
|
label: labels.title,
|
|
@@ -29,25 +29,25 @@ function AgentsModelsPageView({ labels, models, loading }) {
|
|
|
29
29
|
gradient: "from-emerald-500 to-teal-700"
|
|
30
30
|
}
|
|
31
31
|
);
|
|
32
|
-
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
33
|
-
|
|
32
|
+
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.PageLoadingState, {}) : models.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.PageEmptyState, { title: labels.empty, message: labels.subtitle, iconName: "folder-open" }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3", children: models.map((model) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
33
|
+
chunkKNXAOJAK_js.EntityCard,
|
|
34
34
|
{
|
|
35
35
|
accentGradient: "from-emerald-500 to-teal-700",
|
|
36
36
|
icon: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-11 w-11 items-center justify-center rounded-lg bg-emerald-500/10 text-emerald-600 dark:bg-emerald-500/20 dark:text-emerald-400", children: /* @__PURE__ */ jsxRuntime.jsx(outline.CubeTransparentIcon, { className: "h-6 w-6" }) }),
|
|
37
37
|
title: model.name,
|
|
38
38
|
subtitle: `${labels.provider}: ${model.provider}`,
|
|
39
|
-
status: /* @__PURE__ */ jsxRuntime.jsx(
|
|
39
|
+
status: /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.Badge, { color: model.enabled ? "emerald" : "zinc", children: model.enabled ? labels.enabled : labels.disabled })
|
|
40
40
|
},
|
|
41
41
|
model.id
|
|
42
42
|
)) });
|
|
43
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
43
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.ManagementPageLayout, { hero, content });
|
|
44
44
|
}
|
|
45
45
|
function AgentsConfigPageView({ labels, agents, models, loading, onCreate, onUpdate, onDelete }) {
|
|
46
46
|
const [editing, setEditing] = react.useState(null);
|
|
47
47
|
const [createOpen, setCreateOpen] = react.useState(false);
|
|
48
48
|
const modelOptions = models.map((model) => ({ value: model.id, label: `${model.name} (${model.provider})` }));
|
|
49
49
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
50
|
-
|
|
50
|
+
chunkKNXAOJAK_js.HeroSection,
|
|
51
51
|
{
|
|
52
52
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.CpuChipIcon, { className: "h-5 w-5" }),
|
|
53
53
|
label: labels.title,
|
|
@@ -55,7 +55,7 @@ function AgentsConfigPageView({ labels, agents, models, loading, onCreate, onUpd
|
|
|
55
55
|
subtitle: labels.subtitle,
|
|
56
56
|
gradient: "from-violet-500 to-indigo-700",
|
|
57
57
|
toolbar: /* @__PURE__ */ jsxRuntime.jsx(
|
|
58
|
-
|
|
58
|
+
chunkKNXAOJAK_js.CreateActionButton,
|
|
59
59
|
{
|
|
60
60
|
mode: "desktop",
|
|
61
61
|
label: labels.addAgent,
|
|
@@ -66,7 +66,7 @@ function AgentsConfigPageView({ labels, agents, models, loading, onCreate, onUpd
|
|
|
66
66
|
}
|
|
67
67
|
);
|
|
68
68
|
const mobileAction = /* @__PURE__ */ jsxRuntime.jsx(
|
|
69
|
-
|
|
69
|
+
chunkKNXAOJAK_js.CreateActionButton,
|
|
70
70
|
{
|
|
71
71
|
mode: "mobile",
|
|
72
72
|
label: labels.addAgent,
|
|
@@ -74,23 +74,23 @@ function AgentsConfigPageView({ labels, agents, models, loading, onCreate, onUpd
|
|
|
74
74
|
accent: "violet"
|
|
75
75
|
}
|
|
76
76
|
);
|
|
77
|
-
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
77
|
+
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.PageLoadingState, {}) : agents.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.PageEmptyState, { title: labels.empty, message: labels.subtitle, iconName: "folder-open" }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3", children: agents.map((agent) => {
|
|
78
78
|
const modelRecord = models.find((model) => model.id === String(agent.modelId ?? ""));
|
|
79
79
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
80
|
-
|
|
80
|
+
chunkKNXAOJAK_js.EntityCard,
|
|
81
81
|
{
|
|
82
82
|
accentGradient: "from-violet-500 to-indigo-700",
|
|
83
83
|
icon: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-11 w-11 items-center justify-center rounded-lg bg-violet-500/10 text-violet-600 dark:bg-violet-500/20 dark:text-violet-400", children: /* @__PURE__ */ jsxRuntime.jsx(outline.CpuChipIcon, { className: "h-6 w-6" }) }),
|
|
84
84
|
title: String(agent.name ?? ""),
|
|
85
85
|
subtitle: String(modelRecord?.name ?? agent.modelId ?? ""),
|
|
86
|
-
status: agent.activePromptVersion > 0 ? /* @__PURE__ */ jsxRuntime.jsxs(
|
|
86
|
+
status: agent.activePromptVersion > 0 ? /* @__PURE__ */ jsxRuntime.jsxs(chunkKNXAOJAK_js.Badge, { color: "emerald", children: [
|
|
87
87
|
"v",
|
|
88
88
|
agent.activePromptVersion
|
|
89
89
|
] }) : null,
|
|
90
90
|
footer: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
|
|
91
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
91
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.Button, { type: "button", size: "sm", outline: true, onClick: () => setEditing(agent), children: labels.edit }),
|
|
92
92
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
93
|
-
|
|
93
|
+
chunkKNXAOJAK_js.Button,
|
|
94
94
|
{
|
|
95
95
|
type: "button",
|
|
96
96
|
size: "sm",
|
|
@@ -114,7 +114,7 @@ function AgentsConfigPageView({ labels, agents, models, loading, onCreate, onUpd
|
|
|
114
114
|
);
|
|
115
115
|
}) });
|
|
116
116
|
const renderForm = (initial, onSubmit) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
117
|
-
|
|
117
|
+
chunkKNXAOJAK_js.GlassModal,
|
|
118
118
|
{
|
|
119
119
|
open: true,
|
|
120
120
|
onClose: () => {
|
|
@@ -137,18 +137,18 @@ function AgentsConfigPageView({ labels, agents, models, loading, onCreate, onUpd
|
|
|
137
137
|
outputSchema: String(form.get("outputSchema") ?? "").trim() || void 0
|
|
138
138
|
});
|
|
139
139
|
},
|
|
140
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
141
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
142
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
143
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
144
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
145
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
146
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
140
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(chunkKNXAOJAK_js.FormGrid, { children: [
|
|
141
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.FormInput, { name: "name", label: labels.name, defaultValue: initial.name ?? "", required: true }),
|
|
142
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.FormSelect, { name: "modelId", label: labels.model, options: modelOptions, defaultValue: initial.modelId ?? modelOptions[0]?.value ?? "", required: true }),
|
|
143
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.FormInput, { name: "maxTokens", label: String(labels.maxTokens), type: "number", defaultValue: String(initial.maxTokens ?? 2048) }),
|
|
144
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.FormInput, { name: "temperature", label: labels.temperature, type: "number", step: 0.1, min: 0, max: 2, defaultValue: String(initial.temperature ?? 0.2) }),
|
|
145
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.FormTextarea, { name: "systemPrompt", label: labels.systemPrompt, defaultValue: initial.systemPrompt ?? "", rows: 4 }),
|
|
146
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.FormTextarea, { name: "outputSchema", label: labels.outputSchema, placeholder: labels.outputSchemaPlaceholder, defaultValue: initial.outputSchema ?? "", rows: 4 })
|
|
147
147
|
] })
|
|
148
148
|
}
|
|
149
149
|
);
|
|
150
150
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
151
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
151
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.ManagementPageLayout, { hero, content, mobileAction }),
|
|
152
152
|
createOpen && renderForm({ title: labels.createTitle }, (input) => {
|
|
153
153
|
onCreate(input);
|
|
154
154
|
setCreateOpen(false);
|
|
@@ -197,7 +197,7 @@ function AgentsPromptsPageView({ labels, agents, prompts, loading, onCreate, onA
|
|
|
197
197
|
return map;
|
|
198
198
|
}, [agents]);
|
|
199
199
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
200
|
-
|
|
200
|
+
chunkKNXAOJAK_js.HeroSection,
|
|
201
201
|
{
|
|
202
202
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.ChatBubbleLeftEllipsisIcon, { className: "h-5 w-5" }),
|
|
203
203
|
label: labels.title,
|
|
@@ -205,7 +205,7 @@ function AgentsPromptsPageView({ labels, agents, prompts, loading, onCreate, onA
|
|
|
205
205
|
subtitle: labels.subtitle,
|
|
206
206
|
gradient: "from-sky-500 to-blue-700",
|
|
207
207
|
toolbar: /* @__PURE__ */ jsxRuntime.jsx(
|
|
208
|
-
|
|
208
|
+
chunkKNXAOJAK_js.CreateActionButton,
|
|
209
209
|
{
|
|
210
210
|
mode: "desktop",
|
|
211
211
|
label: labels.addPrompt,
|
|
@@ -216,7 +216,7 @@ function AgentsPromptsPageView({ labels, agents, prompts, loading, onCreate, onA
|
|
|
216
216
|
}
|
|
217
217
|
);
|
|
218
218
|
const mobileAction = /* @__PURE__ */ jsxRuntime.jsx(
|
|
219
|
-
|
|
219
|
+
chunkKNXAOJAK_js.CreateActionButton,
|
|
220
220
|
{
|
|
221
221
|
mode: "mobile",
|
|
222
222
|
label: labels.addPrompt,
|
|
@@ -224,21 +224,21 @@ function AgentsPromptsPageView({ labels, agents, prompts, loading, onCreate, onA
|
|
|
224
224
|
accent: "sky"
|
|
225
225
|
}
|
|
226
226
|
);
|
|
227
|
-
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
227
|
+
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.PageLoadingState, {}) : prompts.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.PageEmptyState, { title: labels.empty, message: labels.subtitle, iconName: "folder-open" }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3", children: prompts.map((prompt) => {
|
|
228
228
|
const agentName = agentNameById.get(prompt.agentId) ?? prompt.agentId;
|
|
229
229
|
const key = `${prompt.agentId}:${prompt.locale}:${prompt.version}`;
|
|
230
230
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
231
|
-
|
|
231
|
+
chunkKNXAOJAK_js.EntityCard,
|
|
232
232
|
{
|
|
233
233
|
accentGradient: "from-sky-500 to-blue-700",
|
|
234
234
|
icon: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-11 w-11 items-center justify-center rounded-lg bg-sky-500/10 text-sky-600 dark:bg-sky-500/20 dark:text-sky-400", children: /* @__PURE__ */ jsxRuntime.jsx(outline.ChatBubbleLeftEllipsisIcon, { className: "h-6 w-6" }) }),
|
|
235
235
|
title: agentName,
|
|
236
236
|
subtitle: `${prompt.locale} \xB7 v${prompt.version}`,
|
|
237
|
-
status: prompt.isActive ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
237
|
+
status: prompt.isActive ? /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.Badge, { color: "emerald", children: labels.isActive }) : null,
|
|
238
238
|
footer: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
|
|
239
|
-
!prompt.isActive && /* @__PURE__ */ jsxRuntime.jsx(
|
|
239
|
+
!prompt.isActive && /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.Button, { type: "button", size: "sm", outline: true, onClick: () => onActivate(prompt), children: labels.activate }),
|
|
240
240
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
241
|
-
|
|
241
|
+
chunkKNXAOJAK_js.Button,
|
|
242
242
|
{
|
|
243
243
|
type: "button",
|
|
244
244
|
size: "sm",
|
|
@@ -256,9 +256,9 @@ function AgentsPromptsPageView({ labels, agents, prompts, loading, onCreate, onA
|
|
|
256
256
|
);
|
|
257
257
|
}) });
|
|
258
258
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
259
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
259
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.ManagementPageLayout, { hero, content, mobileAction }),
|
|
260
260
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
261
|
-
|
|
261
|
+
chunkKNXAOJAK_js.GlassModal,
|
|
262
262
|
{
|
|
263
263
|
open: createOpen,
|
|
264
264
|
onClose: () => setCreateOpen(false),
|
|
@@ -282,11 +282,11 @@ function AgentsPromptsPageView({ labels, agents, prompts, loading, onCreate, onA
|
|
|
282
282
|
});
|
|
283
283
|
setCreateOpen(false);
|
|
284
284
|
},
|
|
285
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
286
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
287
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
285
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(chunkKNXAOJAK_js.FormGrid, { children: [
|
|
286
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.FormSelect, { name: "agentId", label: labels.agent, options: agentOptions, required: true }),
|
|
287
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.FormSelect, { name: "locale", label: labels.locale, options: LOCALE_OPTIONS, defaultValue: "en" }),
|
|
288
288
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
289
|
-
|
|
289
|
+
chunkKNXAOJAK_js.FormSelect,
|
|
290
290
|
{
|
|
291
291
|
name: "isActive",
|
|
292
292
|
label: labels.isActive,
|
|
@@ -294,10 +294,10 @@ function AgentsPromptsPageView({ labels, agents, prompts, loading, onCreate, onA
|
|
|
294
294
|
defaultValue: "true"
|
|
295
295
|
}
|
|
296
296
|
),
|
|
297
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
298
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
299
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
300
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
297
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.FormInput, { name: "reason", label: labels.reason }),
|
|
298
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.FormTextarea, { name: "systemPrompt", label: labels.systemPrompt, rows: 3 }),
|
|
299
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.FormTextarea, { name: "userTemplate", label: labels.userTemplate, rows: 3 }),
|
|
300
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.FormTextarea, { name: "prompt", label: labels.prompt, rows: 6, required: true })
|
|
301
301
|
] })
|
|
302
302
|
}
|
|
303
303
|
)
|
|
@@ -328,7 +328,7 @@ function AgentsToolDefinitionsPageView({ labels, tools, loading, onCreate, onUpd
|
|
|
328
328
|
const [editing, setEditing] = react.useState(null);
|
|
329
329
|
const [createOpen, setCreateOpen] = react.useState(false);
|
|
330
330
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
331
|
-
|
|
331
|
+
chunkKNXAOJAK_js.HeroSection,
|
|
332
332
|
{
|
|
333
333
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.WrenchScrewdriverIcon, { className: "h-5 w-5" }),
|
|
334
334
|
label: labels.title,
|
|
@@ -336,7 +336,7 @@ function AgentsToolDefinitionsPageView({ labels, tools, loading, onCreate, onUpd
|
|
|
336
336
|
subtitle: labels.subtitle,
|
|
337
337
|
gradient: "from-amber-500 to-orange-700",
|
|
338
338
|
toolbar: /* @__PURE__ */ jsxRuntime.jsx(
|
|
339
|
-
|
|
339
|
+
chunkKNXAOJAK_js.CreateActionButton,
|
|
340
340
|
{
|
|
341
341
|
mode: "desktop",
|
|
342
342
|
label: labels.addTool,
|
|
@@ -347,7 +347,7 @@ function AgentsToolDefinitionsPageView({ labels, tools, loading, onCreate, onUpd
|
|
|
347
347
|
}
|
|
348
348
|
);
|
|
349
349
|
const mobileAction = /* @__PURE__ */ jsxRuntime.jsx(
|
|
350
|
-
|
|
350
|
+
chunkKNXAOJAK_js.CreateActionButton,
|
|
351
351
|
{
|
|
352
352
|
mode: "mobile",
|
|
353
353
|
label: labels.addTool,
|
|
@@ -355,18 +355,18 @@ function AgentsToolDefinitionsPageView({ labels, tools, loading, onCreate, onUpd
|
|
|
355
355
|
accent: "amber"
|
|
356
356
|
}
|
|
357
357
|
);
|
|
358
|
-
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
359
|
-
|
|
358
|
+
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.PageLoadingState, {}) : tools.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.PageEmptyState, { title: labels.empty, message: labels.subtitle, iconName: "folder-open" }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3", children: tools.map((tool) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
359
|
+
chunkKNXAOJAK_js.EntityCard,
|
|
360
360
|
{
|
|
361
361
|
accentGradient: "from-amber-500 to-orange-700",
|
|
362
362
|
icon: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-11 w-11 items-center justify-center rounded-lg bg-amber-500/10 text-amber-600 dark:bg-amber-500/20 dark:text-amber-400", children: /* @__PURE__ */ jsxRuntime.jsx(outline.WrenchScrewdriverIcon, { className: "h-6 w-6" }) }),
|
|
363
363
|
title: tool.name,
|
|
364
364
|
subtitle: toolTypeLabel(tool),
|
|
365
|
-
status: /* @__PURE__ */ jsxRuntime.jsx(
|
|
365
|
+
status: /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.Badge, { color: tool.enabled ? "emerald" : "zinc", children: tool.enabled ? labels.enabled : labels.disabled }),
|
|
366
366
|
footer: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
|
|
367
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
367
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.Button, { type: "button", size: "sm", outline: true, onClick: () => setEditing(tool), children: labels.edit }),
|
|
368
368
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
369
|
-
|
|
369
|
+
chunkKNXAOJAK_js.Button,
|
|
370
370
|
{
|
|
371
371
|
type: "button",
|
|
372
372
|
size: "sm",
|
|
@@ -383,7 +383,7 @@ function AgentsToolDefinitionsPageView({ labels, tools, loading, onCreate, onUpd
|
|
|
383
383
|
tool.agentToolId
|
|
384
384
|
)) });
|
|
385
385
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
386
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
386
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.ManagementPageLayout, { hero, content, mobileAction }),
|
|
387
387
|
createOpen && /* @__PURE__ */ jsxRuntime.jsx(
|
|
388
388
|
ToolEditor,
|
|
389
389
|
{
|
|
@@ -441,7 +441,7 @@ function ToolEditor({
|
|
|
441
441
|
setValue((v) => ({ ...v, [key]: next }));
|
|
442
442
|
};
|
|
443
443
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
444
|
-
|
|
444
|
+
chunkKNXAOJAK_js.GlassModal,
|
|
445
445
|
{
|
|
446
446
|
open: true,
|
|
447
447
|
onClose,
|
|
@@ -454,9 +454,9 @@ function ToolEditor({
|
|
|
454
454
|
handleSubmit();
|
|
455
455
|
},
|
|
456
456
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-5", children: [
|
|
457
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
457
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkKNXAOJAK_js.FormGrid, { children: [
|
|
458
458
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
459
|
-
|
|
459
|
+
chunkKNXAOJAK_js.FormInput,
|
|
460
460
|
{
|
|
461
461
|
label: "Name",
|
|
462
462
|
required: true,
|
|
@@ -466,7 +466,7 @@ function ToolEditor({
|
|
|
466
466
|
}
|
|
467
467
|
),
|
|
468
468
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
469
|
-
|
|
469
|
+
chunkKNXAOJAK_js.FormSelect,
|
|
470
470
|
{
|
|
471
471
|
label: "Tool type",
|
|
472
472
|
value: value.toolType,
|
|
@@ -476,7 +476,7 @@ function ToolEditor({
|
|
|
476
476
|
}
|
|
477
477
|
),
|
|
478
478
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
479
|
-
|
|
479
|
+
chunkKNXAOJAK_js.FormSelect,
|
|
480
480
|
{
|
|
481
481
|
label: "Enabled",
|
|
482
482
|
value: value.enabled ? "true" : "false",
|
|
@@ -485,7 +485,7 @@ function ToolEditor({
|
|
|
485
485
|
}
|
|
486
486
|
),
|
|
487
487
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
488
|
-
|
|
488
|
+
chunkKNXAOJAK_js.FormInput,
|
|
489
489
|
{
|
|
490
490
|
label: "Icon (optional)",
|
|
491
491
|
value: value.icon ?? "",
|
|
@@ -495,7 +495,7 @@ function ToolEditor({
|
|
|
495
495
|
)
|
|
496
496
|
] }),
|
|
497
497
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
498
|
-
|
|
498
|
+
chunkKNXAOJAK_js.FormTextarea,
|
|
499
499
|
{
|
|
500
500
|
label: "Description",
|
|
501
501
|
rows: 2,
|
|
@@ -543,7 +543,7 @@ function ParametersEditor({
|
|
|
543
543
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2", children: [
|
|
544
544
|
parameters.map((param, index) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-[1fr_160px_1fr_110px_auto] items-end gap-2", children: [
|
|
545
545
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
546
|
-
|
|
546
|
+
chunkKNXAOJAK_js.FormInput,
|
|
547
547
|
{
|
|
548
548
|
label: "Name",
|
|
549
549
|
value: param.name,
|
|
@@ -552,7 +552,7 @@ function ParametersEditor({
|
|
|
552
552
|
}
|
|
553
553
|
),
|
|
554
554
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
555
|
-
|
|
555
|
+
chunkKNXAOJAK_js.FormSelect,
|
|
556
556
|
{
|
|
557
557
|
label: "Type",
|
|
558
558
|
value: param.type,
|
|
@@ -561,7 +561,7 @@ function ParametersEditor({
|
|
|
561
561
|
}
|
|
562
562
|
),
|
|
563
563
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
564
|
-
|
|
564
|
+
chunkKNXAOJAK_js.FormInput,
|
|
565
565
|
{
|
|
566
566
|
label: "Description",
|
|
567
567
|
value: param.description,
|
|
@@ -580,9 +580,9 @@ function ParametersEditor({
|
|
|
580
580
|
),
|
|
581
581
|
"Required"
|
|
582
582
|
] }),
|
|
583
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
583
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.Button, { type: "button", plain: true, onClick: () => remove(index), children: "Remove" })
|
|
584
584
|
] }, index)),
|
|
585
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
585
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.Button, { type: "button", outline: true, onClick: add, children: "+ Add parameter" })
|
|
586
586
|
] })
|
|
587
587
|
] });
|
|
588
588
|
}
|
|
@@ -595,9 +595,9 @@ function HandlerConfigEditor({
|
|
|
595
595
|
if (toolType === "http") {
|
|
596
596
|
return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "rounded-xl border border-slate-200 bg-slate-50/60 p-3 dark:border-slate-700 dark:bg-slate-900/40", children: [
|
|
597
597
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-2 text-sm font-semibold text-slate-700 dark:text-slate-200", children: "HTTP handler" }),
|
|
598
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
598
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkKNXAOJAK_js.FormGrid, { children: [
|
|
599
599
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
600
|
-
|
|
600
|
+
chunkKNXAOJAK_js.FormSelect,
|
|
601
601
|
{
|
|
602
602
|
label: "Method",
|
|
603
603
|
value: stringProp(config, "method", "GET"),
|
|
@@ -606,7 +606,7 @@ function HandlerConfigEditor({
|
|
|
606
606
|
}
|
|
607
607
|
),
|
|
608
608
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
609
|
-
|
|
609
|
+
chunkKNXAOJAK_js.FormInput,
|
|
610
610
|
{
|
|
611
611
|
label: "URL template",
|
|
612
612
|
value: stringProp(config, "url"),
|
|
@@ -616,7 +616,7 @@ function HandlerConfigEditor({
|
|
|
616
616
|
)
|
|
617
617
|
] }),
|
|
618
618
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
619
|
-
|
|
619
|
+
chunkKNXAOJAK_js.FormTextarea,
|
|
620
620
|
{
|
|
621
621
|
label: "Headers (JSON)",
|
|
622
622
|
rows: 3,
|
|
@@ -626,7 +626,7 @@ function HandlerConfigEditor({
|
|
|
626
626
|
}
|
|
627
627
|
),
|
|
628
628
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
629
|
-
|
|
629
|
+
chunkKNXAOJAK_js.FormTextarea,
|
|
630
630
|
{
|
|
631
631
|
label: "Body template",
|
|
632
632
|
rows: 3,
|
|
@@ -641,7 +641,7 @@ function HandlerConfigEditor({
|
|
|
641
641
|
return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "rounded-xl border border-slate-200 bg-slate-50/60 p-3 dark:border-slate-700 dark:bg-slate-900/40", children: [
|
|
642
642
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-2 text-sm font-semibold text-slate-700 dark:text-slate-200", children: "Function handler" }),
|
|
643
643
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
644
|
-
|
|
644
|
+
chunkKNXAOJAK_js.FormInput,
|
|
645
645
|
{
|
|
646
646
|
label: "Implementation key",
|
|
647
647
|
value: stringProp(config, "implementationKey"),
|
|
@@ -655,9 +655,9 @@ function HandlerConfigEditor({
|
|
|
655
655
|
if (toolType === "database_query") {
|
|
656
656
|
return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "rounded-xl border border-slate-200 bg-slate-50/60 p-3 dark:border-slate-700 dark:bg-slate-900/40", children: [
|
|
657
657
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-2 text-sm font-semibold text-slate-700 dark:text-slate-200", children: "Database query handler" }),
|
|
658
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
658
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkKNXAOJAK_js.FormGrid, { children: [
|
|
659
659
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
660
|
-
|
|
660
|
+
chunkKNXAOJAK_js.FormInput,
|
|
661
661
|
{
|
|
662
662
|
label: "Datasource ID",
|
|
663
663
|
value: stringProp(config, "datasourceId"),
|
|
@@ -666,7 +666,7 @@ function HandlerConfigEditor({
|
|
|
666
666
|
}
|
|
667
667
|
),
|
|
668
668
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
669
|
-
|
|
669
|
+
chunkKNXAOJAK_js.FormInput,
|
|
670
670
|
{
|
|
671
671
|
label: "Max rows",
|
|
672
672
|
type: "number",
|
|
@@ -676,7 +676,7 @@ function HandlerConfigEditor({
|
|
|
676
676
|
)
|
|
677
677
|
] }),
|
|
678
678
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
679
|
-
|
|
679
|
+
chunkKNXAOJAK_js.FormTextarea,
|
|
680
680
|
{
|
|
681
681
|
label: "Query template",
|
|
682
682
|
rows: 4,
|
|
@@ -692,7 +692,7 @@ function HandlerConfigEditor({
|
|
|
692
692
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-2 text-sm font-semibold text-slate-700 dark:text-slate-200", children: "Code execution handler" }),
|
|
693
693
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-2 text-xs text-amber-600 dark:text-amber-400", children: "Experimental \u2014 sandbox is not yet enforced. Only enable for trusted tools." }),
|
|
694
694
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
695
|
-
|
|
695
|
+
chunkKNXAOJAK_js.FormSelect,
|
|
696
696
|
{
|
|
697
697
|
label: "Language",
|
|
698
698
|
value: stringProp(config, "language", "javascript"),
|
|
@@ -704,7 +704,7 @@ function HandlerConfigEditor({
|
|
|
704
704
|
}
|
|
705
705
|
),
|
|
706
706
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
707
|
-
|
|
707
|
+
chunkKNXAOJAK_js.FormTextarea,
|
|
708
708
|
{
|
|
709
709
|
label: "Code",
|
|
710
710
|
rows: 6,
|
|
@@ -717,9 +717,9 @@ function HandlerConfigEditor({
|
|
|
717
717
|
}
|
|
718
718
|
return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "rounded-xl border border-slate-200 bg-slate-50/60 p-3 dark:border-slate-700 dark:bg-slate-900/40", children: [
|
|
719
719
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-2 text-sm font-semibold text-slate-700 dark:text-slate-200", children: "API call handler" }),
|
|
720
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
720
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkKNXAOJAK_js.FormGrid, { children: [
|
|
721
721
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
722
|
-
|
|
722
|
+
chunkKNXAOJAK_js.FormInput,
|
|
723
723
|
{
|
|
724
724
|
label: "URL",
|
|
725
725
|
value: stringProp(config, "url"),
|
|
@@ -727,7 +727,7 @@ function HandlerConfigEditor({
|
|
|
727
727
|
}
|
|
728
728
|
),
|
|
729
729
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
730
|
-
|
|
730
|
+
chunkKNXAOJAK_js.FormSelect,
|
|
731
731
|
{
|
|
732
732
|
label: "Auth",
|
|
733
733
|
value: stringProp(config, "authType", "bearer"),
|
|
@@ -741,7 +741,7 @@ function HandlerConfigEditor({
|
|
|
741
741
|
}
|
|
742
742
|
),
|
|
743
743
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
744
|
-
|
|
744
|
+
chunkKNXAOJAK_js.FormInput,
|
|
745
745
|
{
|
|
746
746
|
label: "Credential secret id",
|
|
747
747
|
value: stringProp(config, "credentialRef"),
|
|
@@ -870,7 +870,7 @@ function RulesPageView({ labels, rules, loading, onCreate, onUpdate, onDelete })
|
|
|
870
870
|
const [createOpen, setCreateOpen] = react.useState(false);
|
|
871
871
|
const [editing, setEditing] = react.useState(null);
|
|
872
872
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
873
|
-
|
|
873
|
+
chunkKNXAOJAK_js.HeroSection,
|
|
874
874
|
{
|
|
875
875
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.AdjustmentsHorizontalIcon, { className: "h-5 w-5" }),
|
|
876
876
|
label: labels.title,
|
|
@@ -878,7 +878,7 @@ function RulesPageView({ labels, rules, loading, onCreate, onUpdate, onDelete })
|
|
|
878
878
|
subtitle: labels.subtitle,
|
|
879
879
|
gradient: "from-fuchsia-500 to-purple-700",
|
|
880
880
|
toolbar: /* @__PURE__ */ jsxRuntime.jsx(
|
|
881
|
-
|
|
881
|
+
chunkKNXAOJAK_js.CreateActionButton,
|
|
882
882
|
{
|
|
883
883
|
mode: "desktop",
|
|
884
884
|
label: labels.addRule,
|
|
@@ -889,7 +889,7 @@ function RulesPageView({ labels, rules, loading, onCreate, onUpdate, onDelete })
|
|
|
889
889
|
}
|
|
890
890
|
);
|
|
891
891
|
const mobileAction = /* @__PURE__ */ jsxRuntime.jsx(
|
|
892
|
-
|
|
892
|
+
chunkKNXAOJAK_js.CreateActionButton,
|
|
893
893
|
{
|
|
894
894
|
mode: "mobile",
|
|
895
895
|
label: labels.addRule,
|
|
@@ -897,18 +897,18 @@ function RulesPageView({ labels, rules, loading, onCreate, onUpdate, onDelete })
|
|
|
897
897
|
accent: "fuchsia"
|
|
898
898
|
}
|
|
899
899
|
);
|
|
900
|
-
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
901
|
-
|
|
900
|
+
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.PageLoadingState, {}) : rules.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.PageEmptyState, { title: labels.empty, message: labels.subtitle, iconName: "folder-open" }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3", children: rules.map((rule) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
901
|
+
chunkKNXAOJAK_js.EntityCard,
|
|
902
902
|
{
|
|
903
903
|
accentGradient: "from-fuchsia-500 to-purple-700",
|
|
904
904
|
icon: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-11 w-11 items-center justify-center rounded-lg bg-fuchsia-500/10 text-fuchsia-600 dark:bg-fuchsia-500/20 dark:text-fuchsia-400", children: /* @__PURE__ */ jsxRuntime.jsx(outline.AdjustmentsHorizontalIcon, { className: "h-6 w-6" }) }),
|
|
905
905
|
title: rule.name,
|
|
906
906
|
subtitle: `${labels.order}: ${rule.order ?? 0}`,
|
|
907
|
-
status: /* @__PURE__ */ jsxRuntime.jsx(
|
|
907
|
+
status: /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.Badge, { color: rule.enabled ? "emerald" : "zinc", children: rule.enabled ? labels.enabled : labels.disabled }),
|
|
908
908
|
footer: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
|
|
909
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
909
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.Button, { type: "button", size: "sm", outline: true, onClick: () => setEditing(rule), children: labels.edit }),
|
|
910
910
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
911
|
-
|
|
911
|
+
chunkKNXAOJAK_js.Button,
|
|
912
912
|
{
|
|
913
913
|
type: "button",
|
|
914
914
|
size: "sm",
|
|
@@ -925,13 +925,13 @@ function RulesPageView({ labels, rules, loading, onCreate, onUpdate, onDelete })
|
|
|
925
925
|
rule.ruleId
|
|
926
926
|
)) });
|
|
927
927
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
928
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
928
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.ManagementPageLayout, { hero, content, mobileAction }),
|
|
929
929
|
createOpen && /* @__PURE__ */ jsxRuntime.jsx(
|
|
930
930
|
RuleEditor,
|
|
931
931
|
{
|
|
932
932
|
title: labels.createTitle,
|
|
933
933
|
saveLabel: labels.save,
|
|
934
|
-
initial:
|
|
934
|
+
initial: chunkZHHRWC27_js.defaultRuleForm(),
|
|
935
935
|
onClose: () => setCreateOpen(false),
|
|
936
936
|
onSubmit: (value) => {
|
|
937
937
|
onCreate(value);
|
|
@@ -963,7 +963,7 @@ function RuleEditor({
|
|
|
963
963
|
}) {
|
|
964
964
|
const [value, setValue] = react.useState(initial);
|
|
965
965
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
966
|
-
|
|
966
|
+
chunkKNXAOJAK_js.GlassModal,
|
|
967
967
|
{
|
|
968
968
|
open: true,
|
|
969
969
|
onClose,
|
|
@@ -975,12 +975,12 @@ function RuleEditor({
|
|
|
975
975
|
event.preventDefault();
|
|
976
976
|
onSubmit(value);
|
|
977
977
|
},
|
|
978
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
978
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(chunkZHHRWC27_js.RuleForm, { value, onChange: setValue })
|
|
979
979
|
}
|
|
980
980
|
);
|
|
981
981
|
}
|
|
982
982
|
function ruleToFormValue(rule) {
|
|
983
|
-
const base =
|
|
983
|
+
const base = chunkZHHRWC27_js.defaultRuleForm();
|
|
984
984
|
const rawCondition = rule.condition ?? rule.conditions;
|
|
985
985
|
const rawAction = pickAction(rule);
|
|
986
986
|
return {
|
|
@@ -1111,7 +1111,7 @@ var SAMPLE_DATASOURCES = [
|
|
|
1111
1111
|
];
|
|
1112
1112
|
function getDialectLabel(dialect) {
|
|
1113
1113
|
if (!dialect) return "Unknown";
|
|
1114
|
-
for (const category of
|
|
1114
|
+
for (const category of chunkSV4SMITM_js.DIALECT_CATEGORIES) {
|
|
1115
1115
|
const found = category.dialects.find((d) => d.value === dialect);
|
|
1116
1116
|
if (found) return found.label;
|
|
1117
1117
|
}
|
|
@@ -1119,12 +1119,12 @@ function getDialectLabel(dialect) {
|
|
|
1119
1119
|
}
|
|
1120
1120
|
function getDialectGradient(dialect) {
|
|
1121
1121
|
if (!dialect) return "from-gray-400 to-gray-500";
|
|
1122
|
-
const category =
|
|
1122
|
+
const category = chunkSV4SMITM_js.findCategory(dialect);
|
|
1123
1123
|
return category?.gradient ?? "from-gray-400 to-gray-500";
|
|
1124
1124
|
}
|
|
1125
1125
|
function getDialectIcon(dialect) {
|
|
1126
1126
|
if (!dialect) return outline.CircleStackIcon;
|
|
1127
|
-
const category =
|
|
1127
|
+
const category = chunkSV4SMITM_js.findCategory(dialect);
|
|
1128
1128
|
return category?.icon ?? outline.CircleStackIcon;
|
|
1129
1129
|
}
|
|
1130
1130
|
var DIALECT_LOGO = {
|
|
@@ -1192,7 +1192,7 @@ function DatasourcesPageView({
|
|
|
1192
1192
|
}
|
|
1193
1193
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
1194
1194
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1195
|
-
|
|
1195
|
+
chunkKNXAOJAK_js.HeroSection,
|
|
1196
1196
|
{
|
|
1197
1197
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.CircleStackIcon, { className: "h-5 w-5" }),
|
|
1198
1198
|
label: labels.title,
|
|
@@ -1200,7 +1200,7 @@ function DatasourcesPageView({
|
|
|
1200
1200
|
subtitle: labels.subtitle,
|
|
1201
1201
|
gradient: "from-amber-500 to-orange-600",
|
|
1202
1202
|
toolbar: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1203
|
-
|
|
1203
|
+
chunkKNXAOJAK_js.CreateActionButton,
|
|
1204
1204
|
{
|
|
1205
1205
|
mode: "desktop",
|
|
1206
1206
|
label: labels.addDatasource,
|
|
@@ -1211,7 +1211,7 @@ function DatasourcesPageView({
|
|
|
1211
1211
|
}
|
|
1212
1212
|
),
|
|
1213
1213
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1214
|
-
|
|
1214
|
+
chunkKNXAOJAK_js.CreateActionButton,
|
|
1215
1215
|
{
|
|
1216
1216
|
mode: "mobile",
|
|
1217
1217
|
label: labels.addDatasource,
|
|
@@ -1220,7 +1220,7 @@ function DatasourcesPageView({
|
|
|
1220
1220
|
}
|
|
1221
1221
|
),
|
|
1222
1222
|
isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1223
|
-
|
|
1223
|
+
chunkKNXAOJAK_js.PageEmptyState,
|
|
1224
1224
|
{
|
|
1225
1225
|
title: labels.emptyTitle,
|
|
1226
1226
|
message: labels.emptyDescription,
|
|
@@ -1234,13 +1234,13 @@ function DatasourcesPageView({
|
|
|
1234
1234
|
const logoSrc = getDialectLogoSrc(ds.dialect);
|
|
1235
1235
|
const iconElement = logoSrc ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-11 w-11 items-center justify-center rounded-lg bg-white shadow-sm ring-1 ring-black/5 dark:bg-white/10 dark:ring-white/10", children: /* @__PURE__ */ jsxRuntime.jsx("img", { src: logoSrc, alt: dialectLabel, className: "h-7 w-7 object-contain" }) }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: `flex h-11 w-11 items-center justify-center rounded-lg bg-gradient-to-br ${gradient} shadow-lg`, children: /* @__PURE__ */ jsxRuntime.jsx(Icon, { className: "h-6 w-6 text-white" }) });
|
|
1236
1236
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1237
|
-
|
|
1237
|
+
chunkKNXAOJAK_js.EntityCard,
|
|
1238
1238
|
{
|
|
1239
1239
|
accentGradient: gradient,
|
|
1240
1240
|
icon: iconElement,
|
|
1241
1241
|
title: ds.name ?? ds.id,
|
|
1242
1242
|
subtitle: dialectLabel,
|
|
1243
|
-
status: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1243
|
+
status: /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.Badge, { color: ds.enabled ? "emerald" : "zinc", children: ds.enabled ? labels.enabled : labels.disabled }),
|
|
1244
1244
|
footer: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2 text-xs text-gray-400 dark:text-gray-500", children: [
|
|
1245
1245
|
ds.readOnly && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "rounded-full bg-blue-100 px-2 py-0.5 text-[10px] font-semibold text-blue-700 dark:bg-blue-900/30 dark:text-blue-300", children: "Read-only" }),
|
|
1246
1246
|
ds.timeoutMs && /* @__PURE__ */ jsxRuntime.jsxs("span", { children: [
|
|
@@ -1264,7 +1264,7 @@ function DatasourcesPageView({
|
|
|
1264
1264
|
);
|
|
1265
1265
|
}) }),
|
|
1266
1266
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1267
|
-
|
|
1267
|
+
chunkSV4SMITM_js.DatasourceModal,
|
|
1268
1268
|
{
|
|
1269
1269
|
open: modalOpen,
|
|
1270
1270
|
onClose: () => setModalOpen(false),
|
|
@@ -1279,7 +1279,7 @@ function DashboardPageView({ labels, appLogo }) {
|
|
|
1279
1279
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex justify-center mb-6", children: appLogo }),
|
|
1280
1280
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-3 text-base text-gray-500 dark:text-gray-400", children: labels.subtitle })
|
|
1281
1281
|
] });
|
|
1282
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1282
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.ManagementPageLayout, { hero, content: null });
|
|
1283
1283
|
}
|
|
1284
1284
|
function AgentsIndexPageView({ labels }) {
|
|
1285
1285
|
const Link = chunkS7KHTUHA_js.useLink();
|
|
@@ -1290,7 +1290,7 @@ function AgentsIndexPageView({ labels }) {
|
|
|
1290
1290
|
{ id: "prompts", title: labels.promptsTitle, subtitle: labels.promptsSubtitle, href: "/agents/prompts", gradient: "from-sky-500 to-blue-700", icon: outline.ChatBubbleLeftEllipsisIcon }
|
|
1291
1291
|
];
|
|
1292
1292
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
1293
|
-
|
|
1293
|
+
chunkKNXAOJAK_js.HeroSection,
|
|
1294
1294
|
{
|
|
1295
1295
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.CpuChipIcon, { className: "h-5 w-5" }),
|
|
1296
1296
|
label: labels.title,
|
|
@@ -1302,7 +1302,7 @@ function AgentsIndexPageView({ labels }) {
|
|
|
1302
1302
|
const content = /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-4", children: tiles.map((tile) => {
|
|
1303
1303
|
const Icon = tile.icon;
|
|
1304
1304
|
return /* @__PURE__ */ jsxRuntime.jsx(Link, { href: tile.href, className: "block focus:outline-none", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1305
|
-
|
|
1305
|
+
chunkKNXAOJAK_js.EntityCard,
|
|
1306
1306
|
{
|
|
1307
1307
|
accentGradient: tile.gradient,
|
|
1308
1308
|
icon: /* @__PURE__ */ jsxRuntime.jsx("div", { className: `flex h-11 w-11 items-center justify-center rounded-lg bg-gradient-to-br ${tile.gradient} shadow-lg`, children: /* @__PURE__ */ jsxRuntime.jsx(Icon, { className: "h-6 w-6 text-white" }) }),
|
|
@@ -1311,13 +1311,13 @@ function AgentsIndexPageView({ labels }) {
|
|
|
1311
1311
|
}
|
|
1312
1312
|
) }, tile.id);
|
|
1313
1313
|
}) });
|
|
1314
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1314
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.ManagementPageLayout, { hero, content });
|
|
1315
1315
|
}
|
|
1316
1316
|
function WorkflowsPageView({ labels, workflows, onCreate, onUpdateMeta, onPublish }) {
|
|
1317
1317
|
const selectedWorkflow = workflows[0] ?? null;
|
|
1318
1318
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-6", children: [
|
|
1319
1319
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1320
|
-
|
|
1320
|
+
chunkKNXAOJAK_js.SectionHeader,
|
|
1321
1321
|
{
|
|
1322
1322
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.RectangleStackIcon, { className: "h-5 w-5 text-white" }),
|
|
1323
1323
|
title: labels.title,
|
|
@@ -1326,9 +1326,9 @@ function WorkflowsPageView({ labels, workflows, onCreate, onUpdateMeta, onPublis
|
|
|
1326
1326
|
}
|
|
1327
1327
|
),
|
|
1328
1328
|
/* @__PURE__ */ jsxRuntime.jsxs("section", { className: "liquid-surface rounded-2xl p-4 space-y-3", children: [
|
|
1329
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1329
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.Text, { className: "font-semibold text-slate-900 dark:text-slate-100", children: labels.add }),
|
|
1330
1330
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1331
|
-
|
|
1331
|
+
chunkKNXAOJAK_js.Form,
|
|
1332
1332
|
{
|
|
1333
1333
|
onSubmit: (event) => {
|
|
1334
1334
|
event.preventDefault();
|
|
@@ -1339,32 +1339,32 @@ function WorkflowsPageView({ labels, workflows, onCreate, onUpdateMeta, onPublis
|
|
|
1339
1339
|
onCreate({ name, description });
|
|
1340
1340
|
event.currentTarget.reset();
|
|
1341
1341
|
},
|
|
1342
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1343
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1344
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1345
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1342
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(chunkKNXAOJAK_js.FormGrid, { children: [
|
|
1343
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.FormInput, { name: "name", label: labels.workflowName, placeholder: labels.workflowNamePlaceholder, required: true }),
|
|
1344
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.FormTextarea, { name: "description", label: labels.description, placeholder: labels.workflowDescriptionPlaceholder, rows: 3 }),
|
|
1345
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.FormActionsRow, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.Button, { type: "submit", children: labels.create }) })
|
|
1346
1346
|
] })
|
|
1347
1347
|
}
|
|
1348
1348
|
)
|
|
1349
1349
|
] }),
|
|
1350
1350
|
/* @__PURE__ */ jsxRuntime.jsxs("section", { className: "liquid-surface rounded-2xl p-4 space-y-3", children: [
|
|
1351
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1352
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1353
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1354
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1355
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1356
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1357
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1358
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1351
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.Text, { className: "font-semibold text-slate-900 dark:text-slate-100", children: labels.registry }),
|
|
1352
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkKNXAOJAK_js.Table, { children: [
|
|
1353
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.TableHead, { children: /* @__PURE__ */ jsxRuntime.jsxs(chunkKNXAOJAK_js.TableRow, { children: [
|
|
1354
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.TableHeader, { children: labels.name }),
|
|
1355
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.TableHeader, { children: labels.description }),
|
|
1356
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.TableHeader, { children: labels.version }),
|
|
1357
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.TableHeader, { children: labels.status }),
|
|
1358
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.TableHeader, { children: labels.actions })
|
|
1359
1359
|
] }) }),
|
|
1360
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1361
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1362
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1363
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1364
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1365
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1360
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.TableBody, { children: workflows.map((workflow) => /* @__PURE__ */ jsxRuntime.jsxs(chunkKNXAOJAK_js.TableRow, { children: [
|
|
1361
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.TableCell, { children: workflow.name }),
|
|
1362
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.TableCell, { children: workflow.description }),
|
|
1363
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.TableCell, { children: String(workflow.version) }),
|
|
1364
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.TableCell, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.Badge, { children: workflow.isDraft ? labels.statusDraft : labels.statusPublished }) }),
|
|
1365
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.TableCell, { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-2", children: [
|
|
1366
1366
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1367
|
-
|
|
1367
|
+
chunkKNXAOJAK_js.Form,
|
|
1368
1368
|
{
|
|
1369
1369
|
onSubmit: (event) => {
|
|
1370
1370
|
event.preventDefault();
|
|
@@ -1374,17 +1374,17 @@ function WorkflowsPageView({ labels, workflows, onCreate, onUpdateMeta, onPublis
|
|
|
1374
1374
|
description: workflow.description ?? ""
|
|
1375
1375
|
});
|
|
1376
1376
|
},
|
|
1377
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1377
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.InlineForm, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.Button, { type: "submit", outline: true, children: labels.saveMeta }) })
|
|
1378
1378
|
}
|
|
1379
1379
|
),
|
|
1380
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1380
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.Button, { type: "button", color: "sky", onClick: () => onPublish(workflow.id), children: labels.publish })
|
|
1381
1381
|
] }) })
|
|
1382
1382
|
] }, workflow.id)) })
|
|
1383
1383
|
] })
|
|
1384
1384
|
] }),
|
|
1385
1385
|
/* @__PURE__ */ jsxRuntime.jsxs("section", { className: "liquid-surface rounded-2xl p-4 space-y-3", children: [
|
|
1386
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1387
|
-
selectedWorkflow ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "min-h-[680px] rounded-2xl border border-white/65 dark:border-white/12 overflow-hidden", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1386
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.Text, { className: "font-semibold text-slate-900 dark:text-slate-100", children: labels.workspace }),
|
|
1387
|
+
selectedWorkflow ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "min-h-[680px] rounded-2xl border border-white/65 dark:border-white/12 overflow-hidden", children: /* @__PURE__ */ jsxRuntime.jsx(chunkK26RY4EQ_js.WorkflowWorkspace, { graph: chunk3T2WGL47_js.adaptWorkflowGraphToUi(selectedWorkflow.graph) }) }) : /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.Text, { children: labels.empty })
|
|
1388
1388
|
] })
|
|
1389
1389
|
] });
|
|
1390
1390
|
}
|
|
@@ -1423,7 +1423,7 @@ function WorkflowRunsPageView({ labels, runs, loading, onCancel, onReplay, onVie
|
|
|
1423
1423
|
};
|
|
1424
1424
|
const filteredRuns = statusFilter === "all" ? runs : runs.filter((run) => run.status === statusFilter);
|
|
1425
1425
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
1426
|
-
|
|
1426
|
+
chunkKNXAOJAK_js.HeroSection,
|
|
1427
1427
|
{
|
|
1428
1428
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.ClockIcon, { className: "h-5 w-5" }),
|
|
1429
1429
|
label: labels.title,
|
|
@@ -1431,7 +1431,7 @@ function WorkflowRunsPageView({ labels, runs, loading, onCancel, onReplay, onVie
|
|
|
1431
1431
|
subtitle: labels.subtitle,
|
|
1432
1432
|
gradient: "from-indigo-500 to-sky-700",
|
|
1433
1433
|
toolbar: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-48", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1434
|
-
|
|
1434
|
+
chunkKNXAOJAK_js.FormSelect,
|
|
1435
1435
|
{
|
|
1436
1436
|
name: "statusFilter",
|
|
1437
1437
|
label: labels.filterStatus,
|
|
@@ -1442,19 +1442,19 @@ function WorkflowRunsPageView({ labels, runs, loading, onCancel, onReplay, onVie
|
|
|
1442
1442
|
) })
|
|
1443
1443
|
}
|
|
1444
1444
|
);
|
|
1445
|
-
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1446
|
-
|
|
1445
|
+
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.PageLoadingState, {}) : filteredRuns.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.PageEmptyState, { title: labels.empty, message: labels.subtitle, iconName: "folder-open" }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3", children: filteredRuns.map((run) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1446
|
+
chunkKNXAOJAK_js.EntityCard,
|
|
1447
1447
|
{
|
|
1448
1448
|
accentGradient: "from-indigo-500 to-sky-700",
|
|
1449
1449
|
icon: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-11 w-11 items-center justify-center rounded-lg bg-indigo-500/10 text-indigo-600 dark:bg-indigo-500/20 dark:text-indigo-400", children: /* @__PURE__ */ jsxRuntime.jsx(outline.ClockIcon, { className: "h-6 w-6" }) }),
|
|
1450
1450
|
title: run.id.slice(0, 8),
|
|
1451
1451
|
subtitle: `${labels.startedAt}: ${new Date(run.createdAt).toLocaleString()}`,
|
|
1452
|
-
status: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1452
|
+
status: /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.Badge, { color: BADGE_COLOR[run.status] ?? "zinc", children: statusLabelFor(run.status) }),
|
|
1453
1453
|
footer: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
|
|
1454
|
-
onView && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1455
|
-
onViewTimeline && labels.timeline && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1456
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1457
|
-
run.status === "running" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1454
|
+
onView && /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.Button, { type: "button", size: "sm", outline: true, onClick: () => onView(run), children: labels.view }),
|
|
1455
|
+
onViewTimeline && labels.timeline && /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.Button, { type: "button", size: "sm", outline: true, onClick: () => onViewTimeline(run), children: labels.timeline }),
|
|
1456
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.Button, { type: "button", size: "sm", outline: true, onClick: () => onReplay(run), children: labels.replay }),
|
|
1457
|
+
run.status === "running" && /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.Button, { type: "button", size: "sm", color: "rose", onClick: () => onCancel(run), children: labels.cancel })
|
|
1458
1458
|
] }),
|
|
1459
1459
|
children: [
|
|
1460
1460
|
/* @__PURE__ */ jsxRuntime.jsxs("dl", { className: "mt-1 grid grid-cols-2 gap-1 text-xs text-slate-500 dark:text-slate-400", children: [
|
|
@@ -1468,11 +1468,11 @@ function WorkflowRunsPageView({ labels, runs, loading, onCancel, onReplay, onVie
|
|
|
1468
1468
|
},
|
|
1469
1469
|
run.id
|
|
1470
1470
|
)) });
|
|
1471
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1471
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.ManagementPageLayout, { hero, content });
|
|
1472
1472
|
}
|
|
1473
1473
|
function RunTimelinePageView({ labels, entries, loading, runId }) {
|
|
1474
1474
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
1475
|
-
|
|
1475
|
+
chunkKNXAOJAK_js.HeroSection,
|
|
1476
1476
|
{
|
|
1477
1477
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.ClockIcon, { className: "h-5 w-5" }),
|
|
1478
1478
|
label: labels.title,
|
|
@@ -1482,23 +1482,23 @@ function RunTimelinePageView({ labels, entries, loading, runId }) {
|
|
|
1482
1482
|
}
|
|
1483
1483
|
);
|
|
1484
1484
|
if (loading) {
|
|
1485
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1485
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.ManagementPageLayout, { hero, content: /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.PageLoadingState, {}) });
|
|
1486
1486
|
}
|
|
1487
1487
|
if (entries.length === 0) {
|
|
1488
1488
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1489
|
-
|
|
1489
|
+
chunkKNXAOJAK_js.ManagementPageLayout,
|
|
1490
1490
|
{
|
|
1491
1491
|
hero,
|
|
1492
|
-
content: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1492
|
+
content: /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.PageEmptyState, { title: labels.empty ?? "", message: "", iconName: "folder-open" })
|
|
1493
1493
|
}
|
|
1494
1494
|
);
|
|
1495
1495
|
}
|
|
1496
1496
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1497
|
-
|
|
1497
|
+
chunkKNXAOJAK_js.ManagementPageLayout,
|
|
1498
1498
|
{
|
|
1499
1499
|
hero,
|
|
1500
1500
|
content: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1501
|
-
|
|
1501
|
+
chunkZHHRWC27_js.ExecutionTimelinePanel,
|
|
1502
1502
|
{
|
|
1503
1503
|
entries,
|
|
1504
1504
|
labels
|
|
@@ -1580,7 +1580,7 @@ function ConnectionsPageView({
|
|
|
1580
1580
|
const [createOpen, setCreateOpen] = react.useState(false);
|
|
1581
1581
|
const [editing, setEditing] = react.useState(null);
|
|
1582
1582
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
1583
|
-
|
|
1583
|
+
chunkKNXAOJAK_js.HeroSection,
|
|
1584
1584
|
{
|
|
1585
1585
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.LinkIcon, { className: "h-5 w-5" }),
|
|
1586
1586
|
label: labels.title,
|
|
@@ -1588,7 +1588,7 @@ function ConnectionsPageView({
|
|
|
1588
1588
|
subtitle: labels.subtitle,
|
|
1589
1589
|
gradient: "from-sky-500 to-indigo-600",
|
|
1590
1590
|
toolbar: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1591
|
-
|
|
1591
|
+
chunkKNXAOJAK_js.CreateActionButton,
|
|
1592
1592
|
{
|
|
1593
1593
|
mode: "desktop",
|
|
1594
1594
|
label: labels.add,
|
|
@@ -1599,7 +1599,7 @@ function ConnectionsPageView({
|
|
|
1599
1599
|
}
|
|
1600
1600
|
);
|
|
1601
1601
|
const mobileAction = /* @__PURE__ */ jsxRuntime.jsx(
|
|
1602
|
-
|
|
1602
|
+
chunkKNXAOJAK_js.CreateActionButton,
|
|
1603
1603
|
{
|
|
1604
1604
|
mode: "mobile",
|
|
1605
1605
|
label: labels.add,
|
|
@@ -1607,21 +1607,21 @@ function ConnectionsPageView({
|
|
|
1607
1607
|
accent: "sky"
|
|
1608
1608
|
}
|
|
1609
1609
|
);
|
|
1610
|
-
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1611
|
-
|
|
1610
|
+
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.PageLoadingState, {}) : connections.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.PageEmptyState, { title: labels.empty, message: labels.subtitle, iconName: "folder-open" }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3", children: connections.map((conn) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1611
|
+
chunkKNXAOJAK_js.EntityCard,
|
|
1612
1612
|
{
|
|
1613
1613
|
accentGradient: "from-sky-500 to-indigo-600",
|
|
1614
1614
|
icon: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-11 w-11 items-center justify-center rounded-lg bg-sky-500/10 text-sky-600 dark:bg-sky-500/20 dark:text-sky-400", children: /* @__PURE__ */ jsxRuntime.jsx(outline.LinkIcon, { className: "h-6 w-6" }) }),
|
|
1615
1615
|
title: conn.name,
|
|
1616
1616
|
subtitle: providerLabel(conn.providerSlug),
|
|
1617
1617
|
status: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-1", children: [
|
|
1618
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1619
|
-
conn.credentialRef ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1618
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.Badge, { color: conn.enabled ? "emerald" : "zinc", children: conn.enabled ? labels.enable : labels.disable }),
|
|
1619
|
+
conn.credentialRef ? /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.Badge, { color: "indigo", children: "Secret set" }) : /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.Badge, { color: "amber", children: "No secret" })
|
|
1620
1620
|
] }),
|
|
1621
1621
|
footer: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
|
|
1622
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1622
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.Button, { type: "button", size: "sm", outline: true, onClick: () => setEditing(conn), children: labels.edit }),
|
|
1623
1623
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1624
|
-
|
|
1624
|
+
chunkKNXAOJAK_js.Button,
|
|
1625
1625
|
{
|
|
1626
1626
|
type: "button",
|
|
1627
1627
|
size: "sm",
|
|
@@ -1642,7 +1642,7 @@ function ConnectionsPageView({
|
|
|
1642
1642
|
conn.id
|
|
1643
1643
|
)) });
|
|
1644
1644
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1645
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1645
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.ManagementPageLayout, { hero, content, mobileAction }),
|
|
1646
1646
|
createOpen && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1647
1647
|
ConnectionEditor,
|
|
1648
1648
|
{
|
|
@@ -1696,9 +1696,11 @@ function ConnectionEditor({
|
|
|
1696
1696
|
setSubmitting(true);
|
|
1697
1697
|
try {
|
|
1698
1698
|
let credentialRef = value.credentialRef;
|
|
1699
|
+
let credentialRefRotated = false;
|
|
1699
1700
|
if (value.apiKey.trim().length > 0) {
|
|
1700
1701
|
const secret = await onCreateSecret(`${secretNamePrefix}-${value.providerSlug}-${Date.now()}`, value.apiKey.trim());
|
|
1701
1702
|
credentialRef = secret.id;
|
|
1703
|
+
credentialRefRotated = true;
|
|
1702
1704
|
}
|
|
1703
1705
|
const modelFilter = parseCsv(value.modelFilter);
|
|
1704
1706
|
let config;
|
|
@@ -1730,7 +1732,10 @@ function ConnectionEditor({
|
|
|
1730
1732
|
name: value.name.trim() || void 0,
|
|
1731
1733
|
region: value.region.trim() || void 0,
|
|
1732
1734
|
endpoint: value.endpoint.trim() || void 0,
|
|
1733
|
-
|
|
1735
|
+
// Only thread `credentialRef` when the user actually rotated
|
|
1736
|
+
// the key. Omitting it tells the backend to keep the
|
|
1737
|
+
// existing pointer intact.
|
|
1738
|
+
...credentialRefRotated && credentialRef ? { credentialRef } : {},
|
|
1734
1739
|
...modelFilter.length > 0 ? { modelFilter } : {},
|
|
1735
1740
|
...config && { config }
|
|
1736
1741
|
};
|
|
@@ -1751,7 +1756,7 @@ function ConnectionEditor({
|
|
|
1751
1756
|
return preset.exampleModels?.join(", ") ?? "";
|
|
1752
1757
|
}, [preset]);
|
|
1753
1758
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1754
|
-
|
|
1759
|
+
chunkKNXAOJAK_js.GlassModal,
|
|
1755
1760
|
{
|
|
1756
1761
|
open: true,
|
|
1757
1762
|
onClose,
|
|
@@ -1764,9 +1769,9 @@ function ConnectionEditor({
|
|
|
1764
1769
|
void handleSubmit();
|
|
1765
1770
|
},
|
|
1766
1771
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
1767
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1772
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkKNXAOJAK_js.FormGrid, { children: [
|
|
1768
1773
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1769
|
-
|
|
1774
|
+
chunkKNXAOJAK_js.FormSelect,
|
|
1770
1775
|
{
|
|
1771
1776
|
label: "Provider",
|
|
1772
1777
|
value: value.providerSlug,
|
|
@@ -1777,7 +1782,7 @@ function ConnectionEditor({
|
|
|
1777
1782
|
}
|
|
1778
1783
|
),
|
|
1779
1784
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1780
|
-
|
|
1785
|
+
chunkKNXAOJAK_js.FormInput,
|
|
1781
1786
|
{
|
|
1782
1787
|
label: "Display name",
|
|
1783
1788
|
required: true,
|
|
@@ -1787,7 +1792,7 @@ function ConnectionEditor({
|
|
|
1787
1792
|
}
|
|
1788
1793
|
),
|
|
1789
1794
|
preset.needsRegion && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1790
|
-
|
|
1795
|
+
chunkKNXAOJAK_js.FormInput,
|
|
1791
1796
|
{
|
|
1792
1797
|
label: "Region",
|
|
1793
1798
|
value: value.region,
|
|
@@ -1796,7 +1801,7 @@ function ConnectionEditor({
|
|
|
1796
1801
|
}
|
|
1797
1802
|
),
|
|
1798
1803
|
preset.needsEndpoint && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1799
|
-
|
|
1804
|
+
chunkKNXAOJAK_js.FormInput,
|
|
1800
1805
|
{
|
|
1801
1806
|
label: "Endpoint URL",
|
|
1802
1807
|
value: value.endpoint,
|
|
@@ -1806,7 +1811,7 @@ function ConnectionEditor({
|
|
|
1806
1811
|
)
|
|
1807
1812
|
] }),
|
|
1808
1813
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1809
|
-
|
|
1814
|
+
chunkKNXAOJAK_js.FormInput,
|
|
1810
1815
|
{
|
|
1811
1816
|
label: value.credentialRef ? "Rotate API key (leave blank to keep current)" : "API key",
|
|
1812
1817
|
type: "password",
|
|
@@ -1817,7 +1822,7 @@ function ConnectionEditor({
|
|
|
1817
1822
|
}
|
|
1818
1823
|
),
|
|
1819
1824
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1820
|
-
|
|
1825
|
+
chunkKNXAOJAK_js.FormInput,
|
|
1821
1826
|
{
|
|
1822
1827
|
label: "Model filter (comma-separated, optional)",
|
|
1823
1828
|
value: value.modelFilter,
|
|
@@ -1829,7 +1834,7 @@ function ConnectionEditor({
|
|
|
1829
1834
|
/* @__PURE__ */ jsxRuntime.jsxs("details", { className: "rounded-xl border border-slate-200 bg-slate-50/60 p-3 text-sm dark:border-slate-700 dark:bg-slate-900/40", children: [
|
|
1830
1835
|
/* @__PURE__ */ jsxRuntime.jsx("summary", { className: "cursor-pointer font-medium text-slate-700 dark:text-slate-200", children: "Advanced config (JSON)" }),
|
|
1831
1836
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-3", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1832
|
-
|
|
1837
|
+
chunkKNXAOJAK_js.FormTextarea,
|
|
1833
1838
|
{
|
|
1834
1839
|
rows: 4,
|
|
1835
1840
|
value: value.configJson,
|
|
@@ -1895,7 +1900,7 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
|
|
|
1895
1900
|
{ value: "password", label: labels.typePassword }
|
|
1896
1901
|
];
|
|
1897
1902
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
1898
|
-
|
|
1903
|
+
chunkKNXAOJAK_js.HeroSection,
|
|
1899
1904
|
{
|
|
1900
1905
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.KeyIcon, { className: "h-5 w-5" }),
|
|
1901
1906
|
label: labels.title,
|
|
@@ -1903,7 +1908,7 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
|
|
|
1903
1908
|
subtitle: labels.subtitle,
|
|
1904
1909
|
gradient: "from-rose-500 to-orange-600",
|
|
1905
1910
|
toolbar: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1906
|
-
|
|
1911
|
+
chunkKNXAOJAK_js.CreateActionButton,
|
|
1907
1912
|
{
|
|
1908
1913
|
mode: "desktop",
|
|
1909
1914
|
label: labels.addCredential,
|
|
@@ -1914,7 +1919,7 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
|
|
|
1914
1919
|
}
|
|
1915
1920
|
);
|
|
1916
1921
|
const mobileAction = /* @__PURE__ */ jsxRuntime.jsx(
|
|
1917
|
-
|
|
1922
|
+
chunkKNXAOJAK_js.CreateActionButton,
|
|
1918
1923
|
{
|
|
1919
1924
|
mode: "mobile",
|
|
1920
1925
|
label: labels.addCredential,
|
|
@@ -1922,23 +1927,23 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
|
|
|
1922
1927
|
accent: "rose"
|
|
1923
1928
|
}
|
|
1924
1929
|
);
|
|
1925
|
-
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1926
|
-
|
|
1930
|
+
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.PageLoadingState, {}) : credentials.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.PageEmptyState, { title: labels.empty, message: labels.subtitle, iconName: "folder-open" }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3", children: credentials.map((secret) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1931
|
+
chunkKNXAOJAK_js.EntityCard,
|
|
1927
1932
|
{
|
|
1928
1933
|
accentGradient: "from-rose-500 to-orange-700",
|
|
1929
1934
|
icon: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-11 w-11 items-center justify-center rounded-lg bg-rose-500/10 text-rose-600 dark:bg-rose-500/20 dark:text-rose-400", children: /* @__PURE__ */ jsxRuntime.jsx(outline.KeyIcon, { className: "h-6 w-6" }) }),
|
|
1930
1935
|
title: secret.name,
|
|
1931
1936
|
subtitle: secret.secretType,
|
|
1932
|
-
status: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1937
|
+
status: /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.Badge, { color: secret.disabled ? "zinc" : "emerald", children: secret.disabled ? labels.disable : "Active" }),
|
|
1933
1938
|
footer: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between gap-2", children: [
|
|
1934
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1939
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.CopyableId, { id: secret.secretId }),
|
|
1935
1940
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
|
|
1936
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1941
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkKNXAOJAK_js.Button, { type: "button", size: "sm", outline: true, onClick: () => setRotateFor(secret), children: [
|
|
1937
1942
|
/* @__PURE__ */ jsxRuntime.jsx(outline.ArrowPathIcon, { className: "mr-1 h-3.5 w-3.5" }),
|
|
1938
1943
|
labels.rotate
|
|
1939
1944
|
] }),
|
|
1940
1945
|
!secret.disabled && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1941
|
-
|
|
1946
|
+
chunkKNXAOJAK_js.Button,
|
|
1942
1947
|
{
|
|
1943
1948
|
type: "button",
|
|
1944
1949
|
size: "sm",
|
|
@@ -1967,9 +1972,9 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
|
|
|
1967
1972
|
secret.secretId
|
|
1968
1973
|
)) });
|
|
1969
1974
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1970
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1975
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.ManagementPageLayout, { hero, content, mobileAction }),
|
|
1971
1976
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1972
|
-
|
|
1977
|
+
chunkKNXAOJAK_js.GlassModal,
|
|
1973
1978
|
{
|
|
1974
1979
|
open: createOpen,
|
|
1975
1980
|
onClose: () => setCreateOpen(false),
|
|
@@ -1987,16 +1992,16 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
|
|
|
1987
1992
|
onCreate({ name, value, secretType, description });
|
|
1988
1993
|
setCreateOpen(false);
|
|
1989
1994
|
},
|
|
1990
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1991
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1992
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1993
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1994
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1995
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(chunkKNXAOJAK_js.FormGrid, { children: [
|
|
1996
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.FormInput, { name: "name", label: labels.name, placeholder: labels.namePlaceholder, required: true }),
|
|
1997
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.FormSelect, { name: "secretType", label: labels.type, options: typeOptions, defaultValue: "generic" }),
|
|
1998
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.FormInput, { name: "value", label: labels.value, placeholder: labels.valuePlaceholder, required: true, type: "password" }),
|
|
1999
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.FormTextarea, { name: "description", label: labels.description, placeholder: labels.descriptionPlaceholder, rows: 2 })
|
|
1995
2000
|
] })
|
|
1996
2001
|
}
|
|
1997
2002
|
),
|
|
1998
2003
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1999
|
-
|
|
2004
|
+
chunkKNXAOJAK_js.GlassModal,
|
|
2000
2005
|
{
|
|
2001
2006
|
open: rotateFor !== null,
|
|
2002
2007
|
onClose: () => setRotateFor(null),
|
|
@@ -2011,7 +2016,7 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
|
|
|
2011
2016
|
onRotate(rotateFor, value);
|
|
2012
2017
|
setRotateFor(null);
|
|
2013
2018
|
},
|
|
2014
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2019
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.FormGrid, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.FormInput, { name: "value", label: labels.value, placeholder: labels.valuePlaceholder, required: true, type: "password" }) })
|
|
2015
2020
|
}
|
|
2016
2021
|
)
|
|
2017
2022
|
] });
|
|
@@ -2019,31 +2024,31 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
|
|
|
2019
2024
|
|
|
2020
2025
|
Object.defineProperty(exports, "RolesPageView", {
|
|
2021
2026
|
enumerable: true,
|
|
2022
|
-
get: function () { return
|
|
2027
|
+
get: function () { return chunkK26RY4EQ_js.RolesPageView; }
|
|
2023
2028
|
});
|
|
2024
2029
|
Object.defineProperty(exports, "UsersPageView", {
|
|
2025
2030
|
enumerable: true,
|
|
2026
|
-
get: function () { return
|
|
2031
|
+
get: function () { return chunkK26RY4EQ_js.UsersPageView; }
|
|
2027
2032
|
});
|
|
2028
2033
|
Object.defineProperty(exports, "DIALECT_CATEGORIES", {
|
|
2029
2034
|
enumerable: true,
|
|
2030
|
-
get: function () { return
|
|
2035
|
+
get: function () { return chunkSV4SMITM_js.DIALECT_CATEGORIES; }
|
|
2031
2036
|
});
|
|
2032
2037
|
Object.defineProperty(exports, "DatasourceFormModal", {
|
|
2033
2038
|
enumerable: true,
|
|
2034
|
-
get: function () { return
|
|
2039
|
+
get: function () { return chunkSV4SMITM_js.DatasourceFormModal; }
|
|
2035
2040
|
});
|
|
2036
2041
|
Object.defineProperty(exports, "DatasourceModal", {
|
|
2037
2042
|
enumerable: true,
|
|
2038
|
-
get: function () { return
|
|
2043
|
+
get: function () { return chunkSV4SMITM_js.DatasourceModal; }
|
|
2039
2044
|
});
|
|
2040
2045
|
Object.defineProperty(exports, "findCategory", {
|
|
2041
2046
|
enumerable: true,
|
|
2042
|
-
get: function () { return
|
|
2047
|
+
get: function () { return chunkSV4SMITM_js.findCategory; }
|
|
2043
2048
|
});
|
|
2044
2049
|
Object.defineProperty(exports, "findDialect", {
|
|
2045
2050
|
enumerable: true,
|
|
2046
|
-
get: function () { return
|
|
2051
|
+
get: function () { return chunkSV4SMITM_js.findDialect; }
|
|
2047
2052
|
});
|
|
2048
2053
|
exports.AgentsConfigPageView = AgentsConfigPageView;
|
|
2049
2054
|
exports.AgentsIndexPageView = AgentsIndexPageView;
|