@datatechsolutions/ui 2.11.90 → 2.11.91
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.js +108 -106
- package/dist/astrlabe/index.mjs +5 -3
- package/dist/astrlabe/workflow-canvas.js +5 -3
- package/dist/astrlabe/workflow-canvas.mjs +4 -2
- package/dist/{chunk-CM5C4M4F.mjs → chunk-256TJHVO.mjs} +3 -3
- package/dist/{chunk-CM5C4M4F.mjs.map → chunk-256TJHVO.mjs.map} +1 -1
- package/dist/{chunk-T3S6KZN3.mjs → chunk-36G7GAPU.mjs} +3 -3
- package/dist/{chunk-T3S6KZN3.mjs.map → chunk-36G7GAPU.mjs.map} +1 -1
- package/dist/{chunk-TLTYLDX4.mjs → chunk-6OWD54HK.mjs} +3 -3
- package/dist/{chunk-TLTYLDX4.mjs.map → chunk-6OWD54HK.mjs.map} +1 -1
- package/dist/{chunk-RTQOGG4T.mjs → chunk-7JFAOHZ3.mjs} +4 -4
- package/dist/{chunk-RTQOGG4T.mjs.map → chunk-7JFAOHZ3.mjs.map} +1 -1
- package/dist/{chunk-MWZQF2D5.js → chunk-AP7OWR6S.js} +4 -4
- package/dist/{chunk-MWZQF2D5.js.map → chunk-AP7OWR6S.js.map} +1 -1
- package/dist/{chunk-7GDDBF6E.js → chunk-B5NZVS4A.js} +67 -67
- package/dist/{chunk-7GDDBF6E.js.map → chunk-B5NZVS4A.js.map} +1 -1
- package/dist/{chunk-FXLGNKP4.js → chunk-BVCS7RBR.js} +33 -33
- package/dist/{chunk-FXLGNKP4.js.map → chunk-BVCS7RBR.js.map} +1 -1
- package/dist/{chunk-64DLD6FB.js → chunk-C7KAF363.js} +55 -55
- package/dist/{chunk-64DLD6FB.js.map → chunk-C7KAF363.js.map} +1 -1
- package/dist/{chunk-MR3BLQAU.mjs → chunk-CBVRUJ7N.mjs} +4 -4
- package/dist/{chunk-MR3BLQAU.mjs.map → chunk-CBVRUJ7N.mjs.map} +1 -1
- package/dist/{chunk-ZV5ZRT6E.mjs → chunk-CG3P5Z5U.mjs} +3 -3
- package/dist/{chunk-ZV5ZRT6E.mjs.map → chunk-CG3P5Z5U.mjs.map} +1 -1
- package/dist/{chunk-ODEUUB2T.mjs → chunk-E2ZGFN2H.mjs} +4 -4
- package/dist/{chunk-ODEUUB2T.mjs.map → chunk-E2ZGFN2H.mjs.map} +1 -1
- package/dist/{chunk-ULWVYDDG.js → chunk-E32B2MVK.js} +15 -15
- package/dist/{chunk-ULWVYDDG.js.map → chunk-E32B2MVK.js.map} +1 -1
- package/dist/{chunk-K6FX26BG.mjs → chunk-FDSU7GPS.mjs} +3 -3
- package/dist/{chunk-K6FX26BG.mjs.map → chunk-FDSU7GPS.mjs.map} +1 -1
- package/dist/{chunk-QHTA2ISY.js → chunk-GWRJ5L36.js} +12 -12
- package/dist/{chunk-QHTA2ISY.js.map → chunk-GWRJ5L36.js.map} +1 -1
- package/dist/{chunk-FS6SU7RE.mjs → chunk-HPIKJS5B.mjs} +3 -3
- package/dist/{chunk-FS6SU7RE.mjs.map → chunk-HPIKJS5B.mjs.map} +1 -1
- package/dist/{chunk-IL5RSF2U.mjs → chunk-IEWFVP42.mjs} +6 -6
- package/dist/{chunk-IL5RSF2U.mjs.map → chunk-IEWFVP42.mjs.map} +1 -1
- package/dist/{chunk-S3JHPXOX.mjs → chunk-J4QUCX27.mjs} +561 -6
- package/dist/chunk-J4QUCX27.mjs.map +1 -0
- package/dist/{chunk-5NOWS6T3.mjs → chunk-KHAMY7MA.mjs} +3 -3
- package/dist/{chunk-5NOWS6T3.mjs.map → chunk-KHAMY7MA.mjs.map} +1 -1
- package/dist/{chunk-YXPHJ2BQ.js → chunk-L5VEY7G4.js} +13 -2
- package/dist/chunk-L5VEY7G4.js.map +1 -0
- package/dist/{chunk-M7PKDVKA.js → chunk-MLAIUJYC.js} +6 -6
- package/dist/{chunk-M7PKDVKA.js.map → chunk-MLAIUJYC.js.map} +1 -1
- package/dist/{chunk-64G2HBRQ.mjs → chunk-OE4Z4FKM.mjs} +13 -3
- package/dist/chunk-OE4Z4FKM.mjs.map +1 -0
- package/dist/{chunk-R5D6LLDF.js → chunk-OQDWU6AE.js} +67 -67
- package/dist/{chunk-R5D6LLDF.js.map → chunk-OQDWU6AE.js.map} +1 -1
- package/dist/{chunk-QYH6WLKE.mjs → chunk-Q7WGFPGK.mjs} +4 -4
- package/dist/{chunk-QYH6WLKE.mjs.map → chunk-Q7WGFPGK.mjs.map} +1 -1
- package/dist/{chunk-B3DI2QUM.js → chunk-R5KUEOPU.js} +64 -64
- package/dist/{chunk-B3DI2QUM.js.map → chunk-R5KUEOPU.js.map} +1 -1
- package/dist/{chunk-APXM5GFL.js → chunk-SIBJRWUB.js} +4 -4
- package/dist/{chunk-APXM5GFL.js.map → chunk-SIBJRWUB.js.map} +1 -1
- package/dist/{chunk-WETG7OO3.js → chunk-SOYGVHPZ.js} +53 -53
- package/dist/{chunk-WETG7OO3.js.map → chunk-SOYGVHPZ.js.map} +1 -1
- package/dist/{chunk-UZ3FGGUP.mjs → chunk-U4BTEKZT.mjs} +3 -3
- package/dist/{chunk-UZ3FGGUP.mjs.map → chunk-U4BTEKZT.mjs.map} +1 -1
- package/dist/{chunk-76XIV6VV.mjs → chunk-URMZJ3WF.mjs} +7 -7
- package/dist/{chunk-76XIV6VV.mjs.map → chunk-URMZJ3WF.mjs.map} +1 -1
- package/dist/{chunk-MJOYUX2C.mjs → chunk-VPNZDLR6.mjs} +4 -4
- package/dist/{chunk-MJOYUX2C.mjs.map → chunk-VPNZDLR6.mjs.map} +1 -1
- package/dist/{chunk-WAOCUWO3.js → chunk-WIKMIULO.js} +36 -36
- package/dist/{chunk-WAOCUWO3.js.map → chunk-WIKMIULO.js.map} +1 -1
- package/dist/{chunk-5EBDOY4M.js → chunk-WY3YDQXK.js} +26 -26
- package/dist/{chunk-5EBDOY4M.js.map → chunk-WY3YDQXK.js.map} +1 -1
- package/dist/{chunk-FDK3PUTV.js → chunk-Y4DNREFH.js} +129 -129
- package/dist/{chunk-FDK3PUTV.js.map → chunk-Y4DNREFH.js.map} +1 -1
- package/dist/{chunk-DIKLHCEM.js → chunk-YMGJ4FZZ.js} +4 -4
- package/dist/{chunk-DIKLHCEM.js.map → chunk-YMGJ4FZZ.js.map} +1 -1
- package/dist/{chunk-ZBX2QSNH.js → chunk-YN4IEDE4.js} +562 -5
- package/dist/{chunk-ZBX2QSNH.js.map → chunk-YN4IEDE4.js.map} +1 -1
- package/dist/index.d.mts +152 -2
- package/dist/index.d.ts +152 -2
- package/dist/index.js +754 -744
- package/dist/index.mjs +3 -1
- package/dist/platform/admin/index.js +12 -10
- package/dist/platform/admin/index.mjs +6 -4
- package/dist/platform/agents-workspace.js +8 -8
- package/dist/platform/agents-workspace.mjs +7 -7
- package/dist/platform/app-shell.js +5 -3
- package/dist/platform/app-shell.mjs +4 -2
- package/dist/platform/auth/index.js +29 -27
- package/dist/platform/auth/index.mjs +6 -4
- package/dist/platform/billing/index.js +5 -3
- package/dist/platform/billing/index.mjs +4 -2
- package/dist/platform/impersonation/index.js +5 -3
- package/dist/platform/impersonation/index.mjs +4 -2
- package/dist/platform/index.d.mts +1 -1
- package/dist/platform/index.d.ts +1 -1
- package/dist/platform/index.js +100 -100
- package/dist/platform/index.mjs +20 -20
- package/dist/platform/pages/index.d.mts +2 -2
- package/dist/platform/pages/index.d.ts +2 -2
- package/dist/platform/pages/index.js +197 -195
- package/dist/platform/pages/index.js.map +1 -1
- package/dist/platform/pages/index.mjs +9 -7
- package/dist/platform/pages/index.mjs.map +1 -1
- package/dist/platform/settings/index.js +9 -7
- package/dist/platform/settings/index.mjs +8 -6
- package/dist/platform/workflow-api-client.d.mts +1 -1
- package/dist/platform/workflow-api-client.d.ts +1 -1
- package/dist/platform/workflow-api-client.js +64 -60
- package/dist/platform/workflow-api-client.mjs +1 -1
- package/dist/platform/workflow-canvas-shell.js +6 -4
- package/dist/platform/workflow-canvas-shell.mjs +5 -3
- package/dist/{workflow-api-client-Dy1Ph8W-.d.ts → workflow-api-client-CXN5iaih.d.ts} +34 -2
- package/dist/{workflow-api-client-C8gPn_D1.d.mts → workflow-api-client-XU83zq0k.d.mts} +34 -2
- package/package.json +1 -1
- package/dist/chunk-64G2HBRQ.mjs.map +0 -1
- package/dist/chunk-S3JHPXOX.mjs.map +0 -1
- package/dist/chunk-YXPHJ2BQ.js.map +0 -1
|
@@ -2,16 +2,18 @@
|
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
4
|
var chunk3T2WGL47_js = require('../../chunk-3T2WGL47.js');
|
|
5
|
-
var
|
|
6
|
-
var
|
|
7
|
-
var
|
|
5
|
+
var chunkWY3YDQXK_js = require('../../chunk-WY3YDQXK.js');
|
|
6
|
+
var chunkWIKMIULO_js = require('../../chunk-WIKMIULO.js');
|
|
7
|
+
var chunkY4DNREFH_js = require('../../chunk-Y4DNREFH.js');
|
|
8
8
|
require('../../chunk-55H6WZQP.js');
|
|
9
9
|
require('../../chunk-5UU3RQRB.js');
|
|
10
|
-
require('../../chunk-
|
|
11
|
-
var
|
|
10
|
+
require('../../chunk-R5KUEOPU.js');
|
|
11
|
+
var chunkYN4IEDE4_js = require('../../chunk-YN4IEDE4.js');
|
|
12
12
|
require('../../chunk-UZ3CMNUJ.js');
|
|
13
13
|
require('../../chunk-YXN2K77G.js');
|
|
14
14
|
var chunkS7KHTUHA_js = require('../../chunk-S7KHTUHA.js');
|
|
15
|
+
require('../../chunk-L5VEY7G4.js');
|
|
16
|
+
require('../../chunk-FAGDZEKM.js');
|
|
15
17
|
require('../../chunk-P4YYEM4B.js');
|
|
16
18
|
require('../../chunk-C7BI5LQ6.js');
|
|
17
19
|
var outline = require('@heroicons/react/24/outline');
|
|
@@ -20,7 +22,7 @@ var react = require('react');
|
|
|
20
22
|
|
|
21
23
|
function AgentsModelsPageView({ labels, models, loading }) {
|
|
22
24
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
23
|
-
|
|
25
|
+
chunkYN4IEDE4_js.HeroSection,
|
|
24
26
|
{
|
|
25
27
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.CubeTransparentIcon, { className: "h-5 w-5" }),
|
|
26
28
|
label: labels.title,
|
|
@@ -29,25 +31,25 @@ function AgentsModelsPageView({ labels, models, loading }) {
|
|
|
29
31
|
gradient: "from-emerald-500 to-teal-700"
|
|
30
32
|
}
|
|
31
33
|
);
|
|
32
|
-
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
33
|
-
|
|
34
|
+
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkYN4IEDE4_js.PageLoadingState, {}) : models.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkYN4IEDE4_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(
|
|
35
|
+
chunkYN4IEDE4_js.EntityCard,
|
|
34
36
|
{
|
|
35
37
|
accentGradient: "from-emerald-500 to-teal-700",
|
|
36
38
|
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
39
|
title: model.name,
|
|
38
40
|
subtitle: `${labels.provider}: ${model.provider}`,
|
|
39
|
-
status: /* @__PURE__ */ jsxRuntime.jsx(
|
|
41
|
+
status: /* @__PURE__ */ jsxRuntime.jsx(chunkYN4IEDE4_js.Badge, { color: model.enabled ? "emerald" : "zinc", children: model.enabled ? labels.enabled : labels.disabled })
|
|
40
42
|
},
|
|
41
43
|
model.id
|
|
42
44
|
)) });
|
|
43
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
45
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkYN4IEDE4_js.ManagementPageLayout, { hero, content });
|
|
44
46
|
}
|
|
45
47
|
function AgentsConfigPageView({ labels, agents, models, loading, onCreate, onUpdate, onDelete }) {
|
|
46
48
|
const [editing, setEditing] = react.useState(null);
|
|
47
49
|
const [createOpen, setCreateOpen] = react.useState(false);
|
|
48
50
|
const modelOptions = models.map((model) => ({ value: model.id, label: `${model.name} (${model.provider})` }));
|
|
49
51
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
50
|
-
|
|
52
|
+
chunkYN4IEDE4_js.HeroSection,
|
|
51
53
|
{
|
|
52
54
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.CpuChipIcon, { className: "h-5 w-5" }),
|
|
53
55
|
label: labels.title,
|
|
@@ -55,7 +57,7 @@ function AgentsConfigPageView({ labels, agents, models, loading, onCreate, onUpd
|
|
|
55
57
|
subtitle: labels.subtitle,
|
|
56
58
|
gradient: "from-violet-500 to-indigo-700",
|
|
57
59
|
toolbar: /* @__PURE__ */ jsxRuntime.jsx(
|
|
58
|
-
|
|
60
|
+
chunkYN4IEDE4_js.CreateActionButton,
|
|
59
61
|
{
|
|
60
62
|
mode: "desktop",
|
|
61
63
|
label: labels.addAgent,
|
|
@@ -66,7 +68,7 @@ function AgentsConfigPageView({ labels, agents, models, loading, onCreate, onUpd
|
|
|
66
68
|
}
|
|
67
69
|
);
|
|
68
70
|
const mobileAction = /* @__PURE__ */ jsxRuntime.jsx(
|
|
69
|
-
|
|
71
|
+
chunkYN4IEDE4_js.CreateActionButton,
|
|
70
72
|
{
|
|
71
73
|
mode: "mobile",
|
|
72
74
|
label: labels.addAgent,
|
|
@@ -74,23 +76,23 @@ function AgentsConfigPageView({ labels, agents, models, loading, onCreate, onUpd
|
|
|
74
76
|
accent: "violet"
|
|
75
77
|
}
|
|
76
78
|
);
|
|
77
|
-
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
79
|
+
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkYN4IEDE4_js.PageLoadingState, {}) : agents.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkYN4IEDE4_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
80
|
const modelRecord = models.find((model) => model.id === String(agent.modelId ?? ""));
|
|
79
81
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
80
|
-
|
|
82
|
+
chunkYN4IEDE4_js.EntityCard,
|
|
81
83
|
{
|
|
82
84
|
accentGradient: "from-violet-500 to-indigo-700",
|
|
83
85
|
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
86
|
title: String(agent.name ?? ""),
|
|
85
87
|
subtitle: String(modelRecord?.name ?? agent.modelId ?? ""),
|
|
86
|
-
status: agent.activePromptVersion > 0 ? /* @__PURE__ */ jsxRuntime.jsxs(
|
|
88
|
+
status: agent.activePromptVersion > 0 ? /* @__PURE__ */ jsxRuntime.jsxs(chunkYN4IEDE4_js.Badge, { color: "emerald", children: [
|
|
87
89
|
"v",
|
|
88
90
|
agent.activePromptVersion
|
|
89
91
|
] }) : null,
|
|
90
92
|
footer: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
|
|
91
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
93
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkYN4IEDE4_js.Button, { type: "button", size: "sm", outline: true, onClick: () => setEditing(agent), children: labels.edit }),
|
|
92
94
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
93
|
-
|
|
95
|
+
chunkYN4IEDE4_js.Button,
|
|
94
96
|
{
|
|
95
97
|
type: "button",
|
|
96
98
|
size: "sm",
|
|
@@ -114,7 +116,7 @@ function AgentsConfigPageView({ labels, agents, models, loading, onCreate, onUpd
|
|
|
114
116
|
);
|
|
115
117
|
}) });
|
|
116
118
|
const renderForm = (initial, onSubmit) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
117
|
-
|
|
119
|
+
chunkYN4IEDE4_js.GlassModal,
|
|
118
120
|
{
|
|
119
121
|
open: true,
|
|
120
122
|
onClose: () => {
|
|
@@ -137,18 +139,18 @@ function AgentsConfigPageView({ labels, agents, models, loading, onCreate, onUpd
|
|
|
137
139
|
outputSchema: String(form.get("outputSchema") ?? "").trim() || void 0
|
|
138
140
|
});
|
|
139
141
|
},
|
|
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(
|
|
142
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(chunkYN4IEDE4_js.FormGrid, { children: [
|
|
143
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkYN4IEDE4_js.FormInput, { name: "name", label: labels.name, defaultValue: initial.name ?? "", required: true }),
|
|
144
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkYN4IEDE4_js.FormSelect, { name: "modelId", label: labels.model, options: modelOptions, defaultValue: initial.modelId ?? modelOptions[0]?.value ?? "", required: true }),
|
|
145
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkYN4IEDE4_js.FormInput, { name: "maxTokens", label: String(labels.maxTokens), type: "number", defaultValue: String(initial.maxTokens ?? 2048) }),
|
|
146
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkYN4IEDE4_js.FormInput, { name: "temperature", label: labels.temperature, type: "number", step: 0.1, min: 0, max: 2, defaultValue: String(initial.temperature ?? 0.2) }),
|
|
147
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkYN4IEDE4_js.FormTextarea, { name: "systemPrompt", label: labels.systemPrompt, defaultValue: initial.systemPrompt ?? "", rows: 4 }),
|
|
148
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkYN4IEDE4_js.FormTextarea, { name: "outputSchema", label: labels.outputSchema, placeholder: labels.outputSchemaPlaceholder, defaultValue: initial.outputSchema ?? "", rows: 4 })
|
|
147
149
|
] })
|
|
148
150
|
}
|
|
149
151
|
);
|
|
150
152
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
151
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
153
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkYN4IEDE4_js.ManagementPageLayout, { hero, content, mobileAction }),
|
|
152
154
|
createOpen && renderForm({ title: labels.createTitle }, (input) => {
|
|
153
155
|
onCreate(input);
|
|
154
156
|
setCreateOpen(false);
|
|
@@ -197,7 +199,7 @@ function AgentsPromptsPageView({ labels, agents, prompts, loading, onCreate, onA
|
|
|
197
199
|
return map;
|
|
198
200
|
}, [agents]);
|
|
199
201
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
200
|
-
|
|
202
|
+
chunkYN4IEDE4_js.HeroSection,
|
|
201
203
|
{
|
|
202
204
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.ChatBubbleLeftEllipsisIcon, { className: "h-5 w-5" }),
|
|
203
205
|
label: labels.title,
|
|
@@ -205,7 +207,7 @@ function AgentsPromptsPageView({ labels, agents, prompts, loading, onCreate, onA
|
|
|
205
207
|
subtitle: labels.subtitle,
|
|
206
208
|
gradient: "from-sky-500 to-blue-700",
|
|
207
209
|
toolbar: /* @__PURE__ */ jsxRuntime.jsx(
|
|
208
|
-
|
|
210
|
+
chunkYN4IEDE4_js.CreateActionButton,
|
|
209
211
|
{
|
|
210
212
|
mode: "desktop",
|
|
211
213
|
label: labels.addPrompt,
|
|
@@ -216,7 +218,7 @@ function AgentsPromptsPageView({ labels, agents, prompts, loading, onCreate, onA
|
|
|
216
218
|
}
|
|
217
219
|
);
|
|
218
220
|
const mobileAction = /* @__PURE__ */ jsxRuntime.jsx(
|
|
219
|
-
|
|
221
|
+
chunkYN4IEDE4_js.CreateActionButton,
|
|
220
222
|
{
|
|
221
223
|
mode: "mobile",
|
|
222
224
|
label: labels.addPrompt,
|
|
@@ -224,21 +226,21 @@ function AgentsPromptsPageView({ labels, agents, prompts, loading, onCreate, onA
|
|
|
224
226
|
accent: "sky"
|
|
225
227
|
}
|
|
226
228
|
);
|
|
227
|
-
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
229
|
+
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkYN4IEDE4_js.PageLoadingState, {}) : prompts.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkYN4IEDE4_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
230
|
const agentName = agentNameById.get(prompt.agentId) ?? prompt.agentId;
|
|
229
231
|
const key = `${prompt.agentId}:${prompt.locale}:${prompt.version}`;
|
|
230
232
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
231
|
-
|
|
233
|
+
chunkYN4IEDE4_js.EntityCard,
|
|
232
234
|
{
|
|
233
235
|
accentGradient: "from-sky-500 to-blue-700",
|
|
234
236
|
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
237
|
title: agentName,
|
|
236
238
|
subtitle: `${prompt.locale} \xB7 v${prompt.version}`,
|
|
237
|
-
status: prompt.isActive ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
239
|
+
status: prompt.isActive ? /* @__PURE__ */ jsxRuntime.jsx(chunkYN4IEDE4_js.Badge, { color: "emerald", children: labels.isActive }) : null,
|
|
238
240
|
footer: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
|
|
239
|
-
!prompt.isActive && /* @__PURE__ */ jsxRuntime.jsx(
|
|
241
|
+
!prompt.isActive && /* @__PURE__ */ jsxRuntime.jsx(chunkYN4IEDE4_js.Button, { type: "button", size: "sm", outline: true, onClick: () => onActivate(prompt), children: labels.activate }),
|
|
240
242
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
241
|
-
|
|
243
|
+
chunkYN4IEDE4_js.Button,
|
|
242
244
|
{
|
|
243
245
|
type: "button",
|
|
244
246
|
size: "sm",
|
|
@@ -256,9 +258,9 @@ function AgentsPromptsPageView({ labels, agents, prompts, loading, onCreate, onA
|
|
|
256
258
|
);
|
|
257
259
|
}) });
|
|
258
260
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
259
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
261
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkYN4IEDE4_js.ManagementPageLayout, { hero, content, mobileAction }),
|
|
260
262
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
261
|
-
|
|
263
|
+
chunkYN4IEDE4_js.GlassModal,
|
|
262
264
|
{
|
|
263
265
|
open: createOpen,
|
|
264
266
|
onClose: () => setCreateOpen(false),
|
|
@@ -282,11 +284,11 @@ function AgentsPromptsPageView({ labels, agents, prompts, loading, onCreate, onA
|
|
|
282
284
|
});
|
|
283
285
|
setCreateOpen(false);
|
|
284
286
|
},
|
|
285
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
286
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
287
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
287
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(chunkYN4IEDE4_js.FormGrid, { children: [
|
|
288
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkYN4IEDE4_js.FormSelect, { name: "agentId", label: labels.agent, options: agentOptions, required: true }),
|
|
289
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkYN4IEDE4_js.FormSelect, { name: "locale", label: labels.locale, options: LOCALE_OPTIONS, defaultValue: "en" }),
|
|
288
290
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
289
|
-
|
|
291
|
+
chunkYN4IEDE4_js.FormSelect,
|
|
290
292
|
{
|
|
291
293
|
name: "isActive",
|
|
292
294
|
label: labels.isActive,
|
|
@@ -294,10 +296,10 @@ function AgentsPromptsPageView({ labels, agents, prompts, loading, onCreate, onA
|
|
|
294
296
|
defaultValue: "true"
|
|
295
297
|
}
|
|
296
298
|
),
|
|
297
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
298
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
299
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
300
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
299
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkYN4IEDE4_js.FormInput, { name: "reason", label: labels.reason }),
|
|
300
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkYN4IEDE4_js.FormTextarea, { name: "systemPrompt", label: labels.systemPrompt, rows: 3 }),
|
|
301
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkYN4IEDE4_js.FormTextarea, { name: "userTemplate", label: labels.userTemplate, rows: 3 }),
|
|
302
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkYN4IEDE4_js.FormTextarea, { name: "prompt", label: labels.prompt, rows: 6, required: true })
|
|
301
303
|
] })
|
|
302
304
|
}
|
|
303
305
|
)
|
|
@@ -328,7 +330,7 @@ function AgentsToolDefinitionsPageView({ labels, tools, loading, onCreate, onUpd
|
|
|
328
330
|
const [editing, setEditing] = react.useState(null);
|
|
329
331
|
const [createOpen, setCreateOpen] = react.useState(false);
|
|
330
332
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
331
|
-
|
|
333
|
+
chunkYN4IEDE4_js.HeroSection,
|
|
332
334
|
{
|
|
333
335
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.WrenchScrewdriverIcon, { className: "h-5 w-5" }),
|
|
334
336
|
label: labels.title,
|
|
@@ -336,7 +338,7 @@ function AgentsToolDefinitionsPageView({ labels, tools, loading, onCreate, onUpd
|
|
|
336
338
|
subtitle: labels.subtitle,
|
|
337
339
|
gradient: "from-amber-500 to-orange-700",
|
|
338
340
|
toolbar: /* @__PURE__ */ jsxRuntime.jsx(
|
|
339
|
-
|
|
341
|
+
chunkYN4IEDE4_js.CreateActionButton,
|
|
340
342
|
{
|
|
341
343
|
mode: "desktop",
|
|
342
344
|
label: labels.addTool,
|
|
@@ -347,7 +349,7 @@ function AgentsToolDefinitionsPageView({ labels, tools, loading, onCreate, onUpd
|
|
|
347
349
|
}
|
|
348
350
|
);
|
|
349
351
|
const mobileAction = /* @__PURE__ */ jsxRuntime.jsx(
|
|
350
|
-
|
|
352
|
+
chunkYN4IEDE4_js.CreateActionButton,
|
|
351
353
|
{
|
|
352
354
|
mode: "mobile",
|
|
353
355
|
label: labels.addTool,
|
|
@@ -355,18 +357,18 @@ function AgentsToolDefinitionsPageView({ labels, tools, loading, onCreate, onUpd
|
|
|
355
357
|
accent: "amber"
|
|
356
358
|
}
|
|
357
359
|
);
|
|
358
|
-
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
359
|
-
|
|
360
|
+
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkYN4IEDE4_js.PageLoadingState, {}) : tools.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkYN4IEDE4_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(
|
|
361
|
+
chunkYN4IEDE4_js.EntityCard,
|
|
360
362
|
{
|
|
361
363
|
accentGradient: "from-amber-500 to-orange-700",
|
|
362
364
|
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
365
|
title: tool.name,
|
|
364
366
|
subtitle: toolTypeLabel(tool),
|
|
365
|
-
status: /* @__PURE__ */ jsxRuntime.jsx(
|
|
367
|
+
status: /* @__PURE__ */ jsxRuntime.jsx(chunkYN4IEDE4_js.Badge, { color: tool.enabled ? "emerald" : "zinc", children: tool.enabled ? labels.enabled : labels.disabled }),
|
|
366
368
|
footer: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
|
|
367
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
369
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkYN4IEDE4_js.Button, { type: "button", size: "sm", outline: true, onClick: () => setEditing(tool), children: labels.edit }),
|
|
368
370
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
369
|
-
|
|
371
|
+
chunkYN4IEDE4_js.Button,
|
|
370
372
|
{
|
|
371
373
|
type: "button",
|
|
372
374
|
size: "sm",
|
|
@@ -383,7 +385,7 @@ function AgentsToolDefinitionsPageView({ labels, tools, loading, onCreate, onUpd
|
|
|
383
385
|
tool.agentToolId
|
|
384
386
|
)) });
|
|
385
387
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
386
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
388
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkYN4IEDE4_js.ManagementPageLayout, { hero, content, mobileAction }),
|
|
387
389
|
createOpen && /* @__PURE__ */ jsxRuntime.jsx(
|
|
388
390
|
ToolEditor,
|
|
389
391
|
{
|
|
@@ -441,7 +443,7 @@ function ToolEditor({
|
|
|
441
443
|
setValue((v) => ({ ...v, [key]: next }));
|
|
442
444
|
};
|
|
443
445
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
444
|
-
|
|
446
|
+
chunkYN4IEDE4_js.GlassModal,
|
|
445
447
|
{
|
|
446
448
|
open: true,
|
|
447
449
|
onClose,
|
|
@@ -454,9 +456,9 @@ function ToolEditor({
|
|
|
454
456
|
handleSubmit();
|
|
455
457
|
},
|
|
456
458
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-5", children: [
|
|
457
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
459
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkYN4IEDE4_js.FormGrid, { children: [
|
|
458
460
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
459
|
-
|
|
461
|
+
chunkYN4IEDE4_js.FormInput,
|
|
460
462
|
{
|
|
461
463
|
label: "Name",
|
|
462
464
|
required: true,
|
|
@@ -466,7 +468,7 @@ function ToolEditor({
|
|
|
466
468
|
}
|
|
467
469
|
),
|
|
468
470
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
469
|
-
|
|
471
|
+
chunkYN4IEDE4_js.FormSelect,
|
|
470
472
|
{
|
|
471
473
|
label: "Tool type",
|
|
472
474
|
value: value.toolType,
|
|
@@ -476,7 +478,7 @@ function ToolEditor({
|
|
|
476
478
|
}
|
|
477
479
|
),
|
|
478
480
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
479
|
-
|
|
481
|
+
chunkYN4IEDE4_js.FormSelect,
|
|
480
482
|
{
|
|
481
483
|
label: "Enabled",
|
|
482
484
|
value: value.enabled ? "true" : "false",
|
|
@@ -485,7 +487,7 @@ function ToolEditor({
|
|
|
485
487
|
}
|
|
486
488
|
),
|
|
487
489
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
488
|
-
|
|
490
|
+
chunkYN4IEDE4_js.FormInput,
|
|
489
491
|
{
|
|
490
492
|
label: "Icon (optional)",
|
|
491
493
|
value: value.icon ?? "",
|
|
@@ -495,7 +497,7 @@ function ToolEditor({
|
|
|
495
497
|
)
|
|
496
498
|
] }),
|
|
497
499
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
498
|
-
|
|
500
|
+
chunkYN4IEDE4_js.FormTextarea,
|
|
499
501
|
{
|
|
500
502
|
label: "Description",
|
|
501
503
|
rows: 2,
|
|
@@ -543,7 +545,7 @@ function ParametersEditor({
|
|
|
543
545
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2", children: [
|
|
544
546
|
parameters.map((param, index) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-[1fr_160px_1fr_110px_auto] items-end gap-2", children: [
|
|
545
547
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
546
|
-
|
|
548
|
+
chunkYN4IEDE4_js.FormInput,
|
|
547
549
|
{
|
|
548
550
|
label: "Name",
|
|
549
551
|
value: param.name,
|
|
@@ -552,7 +554,7 @@ function ParametersEditor({
|
|
|
552
554
|
}
|
|
553
555
|
),
|
|
554
556
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
555
|
-
|
|
557
|
+
chunkYN4IEDE4_js.FormSelect,
|
|
556
558
|
{
|
|
557
559
|
label: "Type",
|
|
558
560
|
value: param.type,
|
|
@@ -561,7 +563,7 @@ function ParametersEditor({
|
|
|
561
563
|
}
|
|
562
564
|
),
|
|
563
565
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
564
|
-
|
|
566
|
+
chunkYN4IEDE4_js.FormInput,
|
|
565
567
|
{
|
|
566
568
|
label: "Description",
|
|
567
569
|
value: param.description,
|
|
@@ -580,9 +582,9 @@ function ParametersEditor({
|
|
|
580
582
|
),
|
|
581
583
|
"Required"
|
|
582
584
|
] }),
|
|
583
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
585
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkYN4IEDE4_js.Button, { type: "button", plain: true, onClick: () => remove(index), children: "Remove" })
|
|
584
586
|
] }, index)),
|
|
585
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
587
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkYN4IEDE4_js.Button, { type: "button", outline: true, onClick: add, children: "+ Add parameter" })
|
|
586
588
|
] })
|
|
587
589
|
] });
|
|
588
590
|
}
|
|
@@ -595,9 +597,9 @@ function HandlerConfigEditor({
|
|
|
595
597
|
if (toolType === "http") {
|
|
596
598
|
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
599
|
/* @__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(
|
|
600
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkYN4IEDE4_js.FormGrid, { children: [
|
|
599
601
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
600
|
-
|
|
602
|
+
chunkYN4IEDE4_js.FormSelect,
|
|
601
603
|
{
|
|
602
604
|
label: "Method",
|
|
603
605
|
value: stringProp(config, "method", "GET"),
|
|
@@ -606,7 +608,7 @@ function HandlerConfigEditor({
|
|
|
606
608
|
}
|
|
607
609
|
),
|
|
608
610
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
609
|
-
|
|
611
|
+
chunkYN4IEDE4_js.FormInput,
|
|
610
612
|
{
|
|
611
613
|
label: "URL template",
|
|
612
614
|
value: stringProp(config, "url"),
|
|
@@ -616,7 +618,7 @@ function HandlerConfigEditor({
|
|
|
616
618
|
)
|
|
617
619
|
] }),
|
|
618
620
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
619
|
-
|
|
621
|
+
chunkYN4IEDE4_js.FormTextarea,
|
|
620
622
|
{
|
|
621
623
|
label: "Headers (JSON)",
|
|
622
624
|
rows: 3,
|
|
@@ -626,7 +628,7 @@ function HandlerConfigEditor({
|
|
|
626
628
|
}
|
|
627
629
|
),
|
|
628
630
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
629
|
-
|
|
631
|
+
chunkYN4IEDE4_js.FormTextarea,
|
|
630
632
|
{
|
|
631
633
|
label: "Body template",
|
|
632
634
|
rows: 3,
|
|
@@ -641,7 +643,7 @@ function HandlerConfigEditor({
|
|
|
641
643
|
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
644
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-2 text-sm font-semibold text-slate-700 dark:text-slate-200", children: "Function handler" }),
|
|
643
645
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
644
|
-
|
|
646
|
+
chunkYN4IEDE4_js.FormInput,
|
|
645
647
|
{
|
|
646
648
|
label: "Implementation key",
|
|
647
649
|
value: stringProp(config, "implementationKey"),
|
|
@@ -655,9 +657,9 @@ function HandlerConfigEditor({
|
|
|
655
657
|
if (toolType === "database_query") {
|
|
656
658
|
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
659
|
/* @__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(
|
|
660
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkYN4IEDE4_js.FormGrid, { children: [
|
|
659
661
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
660
|
-
|
|
662
|
+
chunkYN4IEDE4_js.FormInput,
|
|
661
663
|
{
|
|
662
664
|
label: "Datasource ID",
|
|
663
665
|
value: stringProp(config, "datasourceId"),
|
|
@@ -666,7 +668,7 @@ function HandlerConfigEditor({
|
|
|
666
668
|
}
|
|
667
669
|
),
|
|
668
670
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
669
|
-
|
|
671
|
+
chunkYN4IEDE4_js.FormInput,
|
|
670
672
|
{
|
|
671
673
|
label: "Max rows",
|
|
672
674
|
type: "number",
|
|
@@ -676,7 +678,7 @@ function HandlerConfigEditor({
|
|
|
676
678
|
)
|
|
677
679
|
] }),
|
|
678
680
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
679
|
-
|
|
681
|
+
chunkYN4IEDE4_js.FormTextarea,
|
|
680
682
|
{
|
|
681
683
|
label: "Query template",
|
|
682
684
|
rows: 4,
|
|
@@ -692,7 +694,7 @@ function HandlerConfigEditor({
|
|
|
692
694
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-2 text-sm font-semibold text-slate-700 dark:text-slate-200", children: "Code execution handler" }),
|
|
693
695
|
/* @__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
696
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
695
|
-
|
|
697
|
+
chunkYN4IEDE4_js.FormSelect,
|
|
696
698
|
{
|
|
697
699
|
label: "Language",
|
|
698
700
|
value: stringProp(config, "language", "javascript"),
|
|
@@ -704,7 +706,7 @@ function HandlerConfigEditor({
|
|
|
704
706
|
}
|
|
705
707
|
),
|
|
706
708
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
707
|
-
|
|
709
|
+
chunkYN4IEDE4_js.FormTextarea,
|
|
708
710
|
{
|
|
709
711
|
label: "Code",
|
|
710
712
|
rows: 6,
|
|
@@ -717,9 +719,9 @@ function HandlerConfigEditor({
|
|
|
717
719
|
}
|
|
718
720
|
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
721
|
/* @__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(
|
|
722
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkYN4IEDE4_js.FormGrid, { children: [
|
|
721
723
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
722
|
-
|
|
724
|
+
chunkYN4IEDE4_js.FormInput,
|
|
723
725
|
{
|
|
724
726
|
label: "URL",
|
|
725
727
|
value: stringProp(config, "url"),
|
|
@@ -727,7 +729,7 @@ function HandlerConfigEditor({
|
|
|
727
729
|
}
|
|
728
730
|
),
|
|
729
731
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
730
|
-
|
|
732
|
+
chunkYN4IEDE4_js.FormSelect,
|
|
731
733
|
{
|
|
732
734
|
label: "Auth",
|
|
733
735
|
value: stringProp(config, "authType", "bearer"),
|
|
@@ -741,7 +743,7 @@ function HandlerConfigEditor({
|
|
|
741
743
|
}
|
|
742
744
|
),
|
|
743
745
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
744
|
-
|
|
746
|
+
chunkYN4IEDE4_js.FormInput,
|
|
745
747
|
{
|
|
746
748
|
label: "Credential secret id",
|
|
747
749
|
value: stringProp(config, "credentialRef"),
|
|
@@ -870,7 +872,7 @@ function RulesPageView({ labels, rules, loading, onCreate, onUpdate, onDelete })
|
|
|
870
872
|
const [createOpen, setCreateOpen] = react.useState(false);
|
|
871
873
|
const [editing, setEditing] = react.useState(null);
|
|
872
874
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
873
|
-
|
|
875
|
+
chunkYN4IEDE4_js.HeroSection,
|
|
874
876
|
{
|
|
875
877
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.AdjustmentsHorizontalIcon, { className: "h-5 w-5" }),
|
|
876
878
|
label: labels.title,
|
|
@@ -878,7 +880,7 @@ function RulesPageView({ labels, rules, loading, onCreate, onUpdate, onDelete })
|
|
|
878
880
|
subtitle: labels.subtitle,
|
|
879
881
|
gradient: "from-fuchsia-500 to-purple-700",
|
|
880
882
|
toolbar: /* @__PURE__ */ jsxRuntime.jsx(
|
|
881
|
-
|
|
883
|
+
chunkYN4IEDE4_js.CreateActionButton,
|
|
882
884
|
{
|
|
883
885
|
mode: "desktop",
|
|
884
886
|
label: labels.addRule,
|
|
@@ -889,7 +891,7 @@ function RulesPageView({ labels, rules, loading, onCreate, onUpdate, onDelete })
|
|
|
889
891
|
}
|
|
890
892
|
);
|
|
891
893
|
const mobileAction = /* @__PURE__ */ jsxRuntime.jsx(
|
|
892
|
-
|
|
894
|
+
chunkYN4IEDE4_js.CreateActionButton,
|
|
893
895
|
{
|
|
894
896
|
mode: "mobile",
|
|
895
897
|
label: labels.addRule,
|
|
@@ -897,18 +899,18 @@ function RulesPageView({ labels, rules, loading, onCreate, onUpdate, onDelete })
|
|
|
897
899
|
accent: "fuchsia"
|
|
898
900
|
}
|
|
899
901
|
);
|
|
900
|
-
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
901
|
-
|
|
902
|
+
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkYN4IEDE4_js.PageLoadingState, {}) : rules.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkYN4IEDE4_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(
|
|
903
|
+
chunkYN4IEDE4_js.EntityCard,
|
|
902
904
|
{
|
|
903
905
|
accentGradient: "from-fuchsia-500 to-purple-700",
|
|
904
906
|
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
907
|
title: rule.name,
|
|
906
908
|
subtitle: `${labels.order}: ${rule.order ?? 0}`,
|
|
907
|
-
status: /* @__PURE__ */ jsxRuntime.jsx(
|
|
909
|
+
status: /* @__PURE__ */ jsxRuntime.jsx(chunkYN4IEDE4_js.Badge, { color: rule.enabled ? "emerald" : "zinc", children: rule.enabled ? labels.enabled : labels.disabled }),
|
|
908
910
|
footer: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
|
|
909
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
911
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkYN4IEDE4_js.Button, { type: "button", size: "sm", outline: true, onClick: () => setEditing(rule), children: labels.edit }),
|
|
910
912
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
911
|
-
|
|
913
|
+
chunkYN4IEDE4_js.Button,
|
|
912
914
|
{
|
|
913
915
|
type: "button",
|
|
914
916
|
size: "sm",
|
|
@@ -925,13 +927,13 @@ function RulesPageView({ labels, rules, loading, onCreate, onUpdate, onDelete })
|
|
|
925
927
|
rule.ruleId
|
|
926
928
|
)) });
|
|
927
929
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
928
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
930
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkYN4IEDE4_js.ManagementPageLayout, { hero, content, mobileAction }),
|
|
929
931
|
createOpen && /* @__PURE__ */ jsxRuntime.jsx(
|
|
930
932
|
RuleEditor,
|
|
931
933
|
{
|
|
932
934
|
title: labels.createTitle,
|
|
933
935
|
saveLabel: labels.save,
|
|
934
|
-
initial:
|
|
936
|
+
initial: chunkY4DNREFH_js.defaultRuleForm(),
|
|
935
937
|
onClose: () => setCreateOpen(false),
|
|
936
938
|
onSubmit: (value) => {
|
|
937
939
|
onCreate(value);
|
|
@@ -963,7 +965,7 @@ function RuleEditor({
|
|
|
963
965
|
}) {
|
|
964
966
|
const [value, setValue] = react.useState(initial);
|
|
965
967
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
966
|
-
|
|
968
|
+
chunkYN4IEDE4_js.GlassModal,
|
|
967
969
|
{
|
|
968
970
|
open: true,
|
|
969
971
|
onClose,
|
|
@@ -975,12 +977,12 @@ function RuleEditor({
|
|
|
975
977
|
event.preventDefault();
|
|
976
978
|
onSubmit(value);
|
|
977
979
|
},
|
|
978
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
980
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(chunkY4DNREFH_js.RuleForm, { value, onChange: setValue })
|
|
979
981
|
}
|
|
980
982
|
);
|
|
981
983
|
}
|
|
982
984
|
function ruleToFormValue(rule) {
|
|
983
|
-
const base =
|
|
985
|
+
const base = chunkY4DNREFH_js.defaultRuleForm();
|
|
984
986
|
const rawCondition = rule.condition ?? rule.conditions;
|
|
985
987
|
const rawAction = pickAction(rule);
|
|
986
988
|
return {
|
|
@@ -1111,7 +1113,7 @@ var SAMPLE_DATASOURCES = [
|
|
|
1111
1113
|
];
|
|
1112
1114
|
function getDialectLabel(dialect) {
|
|
1113
1115
|
if (!dialect) return "Unknown";
|
|
1114
|
-
for (const category of
|
|
1116
|
+
for (const category of chunkWIKMIULO_js.DIALECT_CATEGORIES) {
|
|
1115
1117
|
const found = category.dialects.find((d) => d.value === dialect);
|
|
1116
1118
|
if (found) return found.label;
|
|
1117
1119
|
}
|
|
@@ -1119,12 +1121,12 @@ function getDialectLabel(dialect) {
|
|
|
1119
1121
|
}
|
|
1120
1122
|
function getDialectGradient(dialect) {
|
|
1121
1123
|
if (!dialect) return "from-gray-400 to-gray-500";
|
|
1122
|
-
const category =
|
|
1124
|
+
const category = chunkWIKMIULO_js.findCategory(dialect);
|
|
1123
1125
|
return category?.gradient ?? "from-gray-400 to-gray-500";
|
|
1124
1126
|
}
|
|
1125
1127
|
function getDialectIcon(dialect) {
|
|
1126
1128
|
if (!dialect) return outline.CircleStackIcon;
|
|
1127
|
-
const category =
|
|
1129
|
+
const category = chunkWIKMIULO_js.findCategory(dialect);
|
|
1128
1130
|
return category?.icon ?? outline.CircleStackIcon;
|
|
1129
1131
|
}
|
|
1130
1132
|
var DIALECT_LOGO = {
|
|
@@ -1192,7 +1194,7 @@ function DatasourcesPageView({
|
|
|
1192
1194
|
}
|
|
1193
1195
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
1194
1196
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1195
|
-
|
|
1197
|
+
chunkYN4IEDE4_js.HeroSection,
|
|
1196
1198
|
{
|
|
1197
1199
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.CircleStackIcon, { className: "h-5 w-5" }),
|
|
1198
1200
|
label: labels.title,
|
|
@@ -1200,7 +1202,7 @@ function DatasourcesPageView({
|
|
|
1200
1202
|
subtitle: labels.subtitle,
|
|
1201
1203
|
gradient: "from-amber-500 to-orange-600",
|
|
1202
1204
|
toolbar: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1203
|
-
|
|
1205
|
+
chunkYN4IEDE4_js.CreateActionButton,
|
|
1204
1206
|
{
|
|
1205
1207
|
mode: "desktop",
|
|
1206
1208
|
label: labels.addDatasource,
|
|
@@ -1211,7 +1213,7 @@ function DatasourcesPageView({
|
|
|
1211
1213
|
}
|
|
1212
1214
|
),
|
|
1213
1215
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1214
|
-
|
|
1216
|
+
chunkYN4IEDE4_js.CreateActionButton,
|
|
1215
1217
|
{
|
|
1216
1218
|
mode: "mobile",
|
|
1217
1219
|
label: labels.addDatasource,
|
|
@@ -1220,7 +1222,7 @@ function DatasourcesPageView({
|
|
|
1220
1222
|
}
|
|
1221
1223
|
),
|
|
1222
1224
|
isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1223
|
-
|
|
1225
|
+
chunkYN4IEDE4_js.PageEmptyState,
|
|
1224
1226
|
{
|
|
1225
1227
|
title: labels.emptyTitle,
|
|
1226
1228
|
message: labels.emptyDescription,
|
|
@@ -1234,13 +1236,13 @@ function DatasourcesPageView({
|
|
|
1234
1236
|
const logoSrc = getDialectLogoSrc(ds.dialect);
|
|
1235
1237
|
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
1238
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1237
|
-
|
|
1239
|
+
chunkYN4IEDE4_js.EntityCard,
|
|
1238
1240
|
{
|
|
1239
1241
|
accentGradient: gradient,
|
|
1240
1242
|
icon: iconElement,
|
|
1241
1243
|
title: ds.name ?? ds.id,
|
|
1242
1244
|
subtitle: dialectLabel,
|
|
1243
|
-
status: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1245
|
+
status: /* @__PURE__ */ jsxRuntime.jsx(chunkYN4IEDE4_js.Badge, { color: ds.enabled ? "emerald" : "zinc", children: ds.enabled ? labels.enabled : labels.disabled }),
|
|
1244
1246
|
footer: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2 text-xs text-gray-400 dark:text-gray-500", children: [
|
|
1245
1247
|
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
1248
|
ds.timeoutMs && /* @__PURE__ */ jsxRuntime.jsxs("span", { children: [
|
|
@@ -1264,7 +1266,7 @@ function DatasourcesPageView({
|
|
|
1264
1266
|
);
|
|
1265
1267
|
}) }),
|
|
1266
1268
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1267
|
-
|
|
1269
|
+
chunkWIKMIULO_js.DatasourceModal,
|
|
1268
1270
|
{
|
|
1269
1271
|
open: modalOpen,
|
|
1270
1272
|
onClose: () => setModalOpen(false),
|
|
@@ -1279,7 +1281,7 @@ function DashboardPageView({ labels, appLogo }) {
|
|
|
1279
1281
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex justify-center mb-6", children: appLogo }),
|
|
1280
1282
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-3 text-base text-gray-500 dark:text-gray-400", children: labels.subtitle })
|
|
1281
1283
|
] });
|
|
1282
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1284
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkYN4IEDE4_js.ManagementPageLayout, { hero, content: null });
|
|
1283
1285
|
}
|
|
1284
1286
|
function AgentsIndexPageView({ labels }) {
|
|
1285
1287
|
const Link = chunkS7KHTUHA_js.useLink();
|
|
@@ -1290,7 +1292,7 @@ function AgentsIndexPageView({ labels }) {
|
|
|
1290
1292
|
{ id: "prompts", title: labels.promptsTitle, subtitle: labels.promptsSubtitle, href: "/agents/prompts", gradient: "from-sky-500 to-blue-700", icon: outline.ChatBubbleLeftEllipsisIcon }
|
|
1291
1293
|
];
|
|
1292
1294
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
1293
|
-
|
|
1295
|
+
chunkYN4IEDE4_js.HeroSection,
|
|
1294
1296
|
{
|
|
1295
1297
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.CpuChipIcon, { className: "h-5 w-5" }),
|
|
1296
1298
|
label: labels.title,
|
|
@@ -1302,7 +1304,7 @@ function AgentsIndexPageView({ labels }) {
|
|
|
1302
1304
|
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
1305
|
const Icon = tile.icon;
|
|
1304
1306
|
return /* @__PURE__ */ jsxRuntime.jsx(Link, { href: tile.href, className: "block focus:outline-none", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1305
|
-
|
|
1307
|
+
chunkYN4IEDE4_js.EntityCard,
|
|
1306
1308
|
{
|
|
1307
1309
|
accentGradient: tile.gradient,
|
|
1308
1310
|
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 +1313,13 @@ function AgentsIndexPageView({ labels }) {
|
|
|
1311
1313
|
}
|
|
1312
1314
|
) }, tile.id);
|
|
1313
1315
|
}) });
|
|
1314
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1316
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkYN4IEDE4_js.ManagementPageLayout, { hero, content });
|
|
1315
1317
|
}
|
|
1316
1318
|
function WorkflowsPageView({ labels, workflows, onCreate, onUpdateMeta, onPublish }) {
|
|
1317
1319
|
const selectedWorkflow = workflows[0] ?? null;
|
|
1318
1320
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-6", children: [
|
|
1319
1321
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1320
|
-
|
|
1322
|
+
chunkYN4IEDE4_js.SectionHeader,
|
|
1321
1323
|
{
|
|
1322
1324
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.RectangleStackIcon, { className: "h-5 w-5 text-white" }),
|
|
1323
1325
|
title: labels.title,
|
|
@@ -1326,9 +1328,9 @@ function WorkflowsPageView({ labels, workflows, onCreate, onUpdateMeta, onPublis
|
|
|
1326
1328
|
}
|
|
1327
1329
|
),
|
|
1328
1330
|
/* @__PURE__ */ jsxRuntime.jsxs("section", { className: "liquid-surface rounded-2xl p-4 space-y-3", children: [
|
|
1329
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1331
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkYN4IEDE4_js.Text, { className: "font-semibold text-slate-900 dark:text-slate-100", children: labels.add }),
|
|
1330
1332
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1331
|
-
|
|
1333
|
+
chunkYN4IEDE4_js.Form,
|
|
1332
1334
|
{
|
|
1333
1335
|
onSubmit: (event) => {
|
|
1334
1336
|
event.preventDefault();
|
|
@@ -1339,32 +1341,32 @@ function WorkflowsPageView({ labels, workflows, onCreate, onUpdateMeta, onPublis
|
|
|
1339
1341
|
onCreate({ name, description });
|
|
1340
1342
|
event.currentTarget.reset();
|
|
1341
1343
|
},
|
|
1342
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1343
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1344
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1345
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1344
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(chunkYN4IEDE4_js.FormGrid, { children: [
|
|
1345
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkYN4IEDE4_js.FormInput, { name: "name", label: labels.workflowName, placeholder: labels.workflowNamePlaceholder, required: true }),
|
|
1346
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkYN4IEDE4_js.FormTextarea, { name: "description", label: labels.description, placeholder: labels.workflowDescriptionPlaceholder, rows: 3 }),
|
|
1347
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkYN4IEDE4_js.FormActionsRow, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkYN4IEDE4_js.Button, { type: "submit", children: labels.create }) })
|
|
1346
1348
|
] })
|
|
1347
1349
|
}
|
|
1348
1350
|
)
|
|
1349
1351
|
] }),
|
|
1350
1352
|
/* @__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(
|
|
1353
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkYN4IEDE4_js.Text, { className: "font-semibold text-slate-900 dark:text-slate-100", children: labels.registry }),
|
|
1354
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkYN4IEDE4_js.Table, { children: [
|
|
1355
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkYN4IEDE4_js.TableHead, { children: /* @__PURE__ */ jsxRuntime.jsxs(chunkYN4IEDE4_js.TableRow, { children: [
|
|
1356
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkYN4IEDE4_js.TableHeader, { children: labels.name }),
|
|
1357
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkYN4IEDE4_js.TableHeader, { children: labels.description }),
|
|
1358
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkYN4IEDE4_js.TableHeader, { children: labels.version }),
|
|
1359
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkYN4IEDE4_js.TableHeader, { children: labels.status }),
|
|
1360
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkYN4IEDE4_js.TableHeader, { children: labels.actions })
|
|
1359
1361
|
] }) }),
|
|
1360
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1361
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1362
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1363
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1364
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1365
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1362
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkYN4IEDE4_js.TableBody, { children: workflows.map((workflow) => /* @__PURE__ */ jsxRuntime.jsxs(chunkYN4IEDE4_js.TableRow, { children: [
|
|
1363
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkYN4IEDE4_js.TableCell, { children: workflow.name }),
|
|
1364
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkYN4IEDE4_js.TableCell, { children: workflow.description }),
|
|
1365
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkYN4IEDE4_js.TableCell, { children: String(workflow.version) }),
|
|
1366
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkYN4IEDE4_js.TableCell, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkYN4IEDE4_js.Badge, { children: workflow.isDraft ? labels.statusDraft : labels.statusPublished }) }),
|
|
1367
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkYN4IEDE4_js.TableCell, { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-2", children: [
|
|
1366
1368
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1367
|
-
|
|
1369
|
+
chunkYN4IEDE4_js.Form,
|
|
1368
1370
|
{
|
|
1369
1371
|
onSubmit: (event) => {
|
|
1370
1372
|
event.preventDefault();
|
|
@@ -1374,17 +1376,17 @@ function WorkflowsPageView({ labels, workflows, onCreate, onUpdateMeta, onPublis
|
|
|
1374
1376
|
description: workflow.description ?? ""
|
|
1375
1377
|
});
|
|
1376
1378
|
},
|
|
1377
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1379
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(chunkYN4IEDE4_js.InlineForm, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkYN4IEDE4_js.Button, { type: "submit", outline: true, children: labels.saveMeta }) })
|
|
1378
1380
|
}
|
|
1379
1381
|
),
|
|
1380
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1382
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkYN4IEDE4_js.Button, { type: "button", color: "sky", onClick: () => onPublish(workflow.id), children: labels.publish })
|
|
1381
1383
|
] }) })
|
|
1382
1384
|
] }, workflow.id)) })
|
|
1383
1385
|
] })
|
|
1384
1386
|
] }),
|
|
1385
1387
|
/* @__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(
|
|
1388
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkYN4IEDE4_js.Text, { className: "font-semibold text-slate-900 dark:text-slate-100", children: labels.workspace }),
|
|
1389
|
+
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(chunkWY3YDQXK_js.WorkflowWorkspace, { graph: chunk3T2WGL47_js.adaptWorkflowGraphToUi(selectedWorkflow.graph) }) }) : /* @__PURE__ */ jsxRuntime.jsx(chunkYN4IEDE4_js.Text, { children: labels.empty })
|
|
1388
1390
|
] })
|
|
1389
1391
|
] });
|
|
1390
1392
|
}
|
|
@@ -1423,7 +1425,7 @@ function WorkflowRunsPageView({ labels, runs, loading, onCancel, onReplay, onVie
|
|
|
1423
1425
|
};
|
|
1424
1426
|
const filteredRuns = statusFilter === "all" ? runs : runs.filter((run) => run.status === statusFilter);
|
|
1425
1427
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
1426
|
-
|
|
1428
|
+
chunkYN4IEDE4_js.HeroSection,
|
|
1427
1429
|
{
|
|
1428
1430
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.ClockIcon, { className: "h-5 w-5" }),
|
|
1429
1431
|
label: labels.title,
|
|
@@ -1431,7 +1433,7 @@ function WorkflowRunsPageView({ labels, runs, loading, onCancel, onReplay, onVie
|
|
|
1431
1433
|
subtitle: labels.subtitle,
|
|
1432
1434
|
gradient: "from-indigo-500 to-sky-700",
|
|
1433
1435
|
toolbar: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-48", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1434
|
-
|
|
1436
|
+
chunkYN4IEDE4_js.FormSelect,
|
|
1435
1437
|
{
|
|
1436
1438
|
name: "statusFilter",
|
|
1437
1439
|
label: labels.filterStatus,
|
|
@@ -1442,19 +1444,19 @@ function WorkflowRunsPageView({ labels, runs, loading, onCancel, onReplay, onVie
|
|
|
1442
1444
|
) })
|
|
1443
1445
|
}
|
|
1444
1446
|
);
|
|
1445
|
-
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1446
|
-
|
|
1447
|
+
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkYN4IEDE4_js.PageLoadingState, {}) : filteredRuns.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkYN4IEDE4_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(
|
|
1448
|
+
chunkYN4IEDE4_js.EntityCard,
|
|
1447
1449
|
{
|
|
1448
1450
|
accentGradient: "from-indigo-500 to-sky-700",
|
|
1449
1451
|
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
1452
|
title: run.id.slice(0, 8),
|
|
1451
1453
|
subtitle: `${labels.startedAt}: ${new Date(run.createdAt).toLocaleString()}`,
|
|
1452
|
-
status: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1454
|
+
status: /* @__PURE__ */ jsxRuntime.jsx(chunkYN4IEDE4_js.Badge, { color: BADGE_COLOR[run.status] ?? "zinc", children: statusLabelFor(run.status) }),
|
|
1453
1455
|
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(
|
|
1456
|
+
onView && /* @__PURE__ */ jsxRuntime.jsx(chunkYN4IEDE4_js.Button, { type: "button", size: "sm", outline: true, onClick: () => onView(run), children: labels.view }),
|
|
1457
|
+
onViewTimeline && labels.timeline && /* @__PURE__ */ jsxRuntime.jsx(chunkYN4IEDE4_js.Button, { type: "button", size: "sm", outline: true, onClick: () => onViewTimeline(run), children: labels.timeline }),
|
|
1458
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkYN4IEDE4_js.Button, { type: "button", size: "sm", outline: true, onClick: () => onReplay(run), children: labels.replay }),
|
|
1459
|
+
run.status === "running" && /* @__PURE__ */ jsxRuntime.jsx(chunkYN4IEDE4_js.Button, { type: "button", size: "sm", color: "rose", onClick: () => onCancel(run), children: labels.cancel })
|
|
1458
1460
|
] }),
|
|
1459
1461
|
children: [
|
|
1460
1462
|
/* @__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 +1470,11 @@ function WorkflowRunsPageView({ labels, runs, loading, onCancel, onReplay, onVie
|
|
|
1468
1470
|
},
|
|
1469
1471
|
run.id
|
|
1470
1472
|
)) });
|
|
1471
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1473
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkYN4IEDE4_js.ManagementPageLayout, { hero, content });
|
|
1472
1474
|
}
|
|
1473
1475
|
function RunTimelinePageView({ labels, entries, loading, runId }) {
|
|
1474
1476
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
1475
|
-
|
|
1477
|
+
chunkYN4IEDE4_js.HeroSection,
|
|
1476
1478
|
{
|
|
1477
1479
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.ClockIcon, { className: "h-5 w-5" }),
|
|
1478
1480
|
label: labels.title,
|
|
@@ -1482,23 +1484,23 @@ function RunTimelinePageView({ labels, entries, loading, runId }) {
|
|
|
1482
1484
|
}
|
|
1483
1485
|
);
|
|
1484
1486
|
if (loading) {
|
|
1485
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1487
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkYN4IEDE4_js.ManagementPageLayout, { hero, content: /* @__PURE__ */ jsxRuntime.jsx(chunkYN4IEDE4_js.PageLoadingState, {}) });
|
|
1486
1488
|
}
|
|
1487
1489
|
if (entries.length === 0) {
|
|
1488
1490
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1489
|
-
|
|
1491
|
+
chunkYN4IEDE4_js.ManagementPageLayout,
|
|
1490
1492
|
{
|
|
1491
1493
|
hero,
|
|
1492
|
-
content: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1494
|
+
content: /* @__PURE__ */ jsxRuntime.jsx(chunkYN4IEDE4_js.PageEmptyState, { title: labels.empty ?? "", message: "", iconName: "folder-open" })
|
|
1493
1495
|
}
|
|
1494
1496
|
);
|
|
1495
1497
|
}
|
|
1496
1498
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1497
|
-
|
|
1499
|
+
chunkYN4IEDE4_js.ManagementPageLayout,
|
|
1498
1500
|
{
|
|
1499
1501
|
hero,
|
|
1500
1502
|
content: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1501
|
-
|
|
1503
|
+
chunkY4DNREFH_js.ExecutionTimelinePanel,
|
|
1502
1504
|
{
|
|
1503
1505
|
entries,
|
|
1504
1506
|
labels
|
|
@@ -1580,7 +1582,7 @@ function ConnectionsPageView({
|
|
|
1580
1582
|
const [createOpen, setCreateOpen] = react.useState(false);
|
|
1581
1583
|
const [editing, setEditing] = react.useState(null);
|
|
1582
1584
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
1583
|
-
|
|
1585
|
+
chunkYN4IEDE4_js.HeroSection,
|
|
1584
1586
|
{
|
|
1585
1587
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.LinkIcon, { className: "h-5 w-5" }),
|
|
1586
1588
|
label: labels.title,
|
|
@@ -1588,7 +1590,7 @@ function ConnectionsPageView({
|
|
|
1588
1590
|
subtitle: labels.subtitle,
|
|
1589
1591
|
gradient: "from-sky-500 to-indigo-600",
|
|
1590
1592
|
toolbar: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1591
|
-
|
|
1593
|
+
chunkYN4IEDE4_js.CreateActionButton,
|
|
1592
1594
|
{
|
|
1593
1595
|
mode: "desktop",
|
|
1594
1596
|
label: labels.add,
|
|
@@ -1599,7 +1601,7 @@ function ConnectionsPageView({
|
|
|
1599
1601
|
}
|
|
1600
1602
|
);
|
|
1601
1603
|
const mobileAction = /* @__PURE__ */ jsxRuntime.jsx(
|
|
1602
|
-
|
|
1604
|
+
chunkYN4IEDE4_js.CreateActionButton,
|
|
1603
1605
|
{
|
|
1604
1606
|
mode: "mobile",
|
|
1605
1607
|
label: labels.add,
|
|
@@ -1607,21 +1609,21 @@ function ConnectionsPageView({
|
|
|
1607
1609
|
accent: "sky"
|
|
1608
1610
|
}
|
|
1609
1611
|
);
|
|
1610
|
-
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1611
|
-
|
|
1612
|
+
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkYN4IEDE4_js.PageLoadingState, {}) : connections.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkYN4IEDE4_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(
|
|
1613
|
+
chunkYN4IEDE4_js.EntityCard,
|
|
1612
1614
|
{
|
|
1613
1615
|
accentGradient: "from-sky-500 to-indigo-600",
|
|
1614
1616
|
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
1617
|
title: conn.name,
|
|
1616
1618
|
subtitle: providerLabel(conn.providerSlug),
|
|
1617
1619
|
status: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-1", children: [
|
|
1618
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1619
|
-
conn.credentialRef ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1620
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkYN4IEDE4_js.Badge, { color: conn.enabled ? "emerald" : "zinc", children: conn.enabled ? labels.enable : labels.disable }),
|
|
1621
|
+
conn.credentialRef ? /* @__PURE__ */ jsxRuntime.jsx(chunkYN4IEDE4_js.Badge, { color: "indigo", children: "Secret set" }) : /* @__PURE__ */ jsxRuntime.jsx(chunkYN4IEDE4_js.Badge, { color: "amber", children: "No secret" })
|
|
1620
1622
|
] }),
|
|
1621
1623
|
footer: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
|
|
1622
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1624
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkYN4IEDE4_js.Button, { type: "button", size: "sm", outline: true, onClick: () => setEditing(conn), children: labels.edit }),
|
|
1623
1625
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1624
|
-
|
|
1626
|
+
chunkYN4IEDE4_js.Button,
|
|
1625
1627
|
{
|
|
1626
1628
|
type: "button",
|
|
1627
1629
|
size: "sm",
|
|
@@ -1642,7 +1644,7 @@ function ConnectionsPageView({
|
|
|
1642
1644
|
conn.id
|
|
1643
1645
|
)) });
|
|
1644
1646
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1645
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1647
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkYN4IEDE4_js.ManagementPageLayout, { hero, content, mobileAction }),
|
|
1646
1648
|
createOpen && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1647
1649
|
ConnectionEditor,
|
|
1648
1650
|
{
|
|
@@ -1756,7 +1758,7 @@ function ConnectionEditor({
|
|
|
1756
1758
|
return preset.exampleModels?.join(", ") ?? "";
|
|
1757
1759
|
}, [preset]);
|
|
1758
1760
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1759
|
-
|
|
1761
|
+
chunkYN4IEDE4_js.GlassModal,
|
|
1760
1762
|
{
|
|
1761
1763
|
open: true,
|
|
1762
1764
|
onClose,
|
|
@@ -1769,9 +1771,9 @@ function ConnectionEditor({
|
|
|
1769
1771
|
void handleSubmit();
|
|
1770
1772
|
},
|
|
1771
1773
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
1772
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1774
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkYN4IEDE4_js.FormGrid, { children: [
|
|
1773
1775
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1774
|
-
|
|
1776
|
+
chunkYN4IEDE4_js.FormSelect,
|
|
1775
1777
|
{
|
|
1776
1778
|
label: "Provider",
|
|
1777
1779
|
value: value.providerSlug,
|
|
@@ -1782,7 +1784,7 @@ function ConnectionEditor({
|
|
|
1782
1784
|
}
|
|
1783
1785
|
),
|
|
1784
1786
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1785
|
-
|
|
1787
|
+
chunkYN4IEDE4_js.FormInput,
|
|
1786
1788
|
{
|
|
1787
1789
|
label: "Display name",
|
|
1788
1790
|
required: true,
|
|
@@ -1792,7 +1794,7 @@ function ConnectionEditor({
|
|
|
1792
1794
|
}
|
|
1793
1795
|
),
|
|
1794
1796
|
preset.needsRegion && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1795
|
-
|
|
1797
|
+
chunkYN4IEDE4_js.FormInput,
|
|
1796
1798
|
{
|
|
1797
1799
|
label: "Region",
|
|
1798
1800
|
value: value.region,
|
|
@@ -1801,7 +1803,7 @@ function ConnectionEditor({
|
|
|
1801
1803
|
}
|
|
1802
1804
|
),
|
|
1803
1805
|
preset.needsEndpoint && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1804
|
-
|
|
1806
|
+
chunkYN4IEDE4_js.FormInput,
|
|
1805
1807
|
{
|
|
1806
1808
|
label: "Endpoint URL",
|
|
1807
1809
|
value: value.endpoint,
|
|
@@ -1811,7 +1813,7 @@ function ConnectionEditor({
|
|
|
1811
1813
|
)
|
|
1812
1814
|
] }),
|
|
1813
1815
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1814
|
-
|
|
1816
|
+
chunkYN4IEDE4_js.FormInput,
|
|
1815
1817
|
{
|
|
1816
1818
|
label: value.credentialRef ? "Rotate API key (leave blank to keep current)" : "API key",
|
|
1817
1819
|
type: "password",
|
|
@@ -1822,7 +1824,7 @@ function ConnectionEditor({
|
|
|
1822
1824
|
}
|
|
1823
1825
|
),
|
|
1824
1826
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1825
|
-
|
|
1827
|
+
chunkYN4IEDE4_js.FormInput,
|
|
1826
1828
|
{
|
|
1827
1829
|
label: "Model filter (comma-separated, optional)",
|
|
1828
1830
|
value: value.modelFilter,
|
|
@@ -1834,7 +1836,7 @@ function ConnectionEditor({
|
|
|
1834
1836
|
/* @__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: [
|
|
1835
1837
|
/* @__PURE__ */ jsxRuntime.jsx("summary", { className: "cursor-pointer font-medium text-slate-700 dark:text-slate-200", children: "Advanced config (JSON)" }),
|
|
1836
1838
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-3", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1837
|
-
|
|
1839
|
+
chunkYN4IEDE4_js.FormTextarea,
|
|
1838
1840
|
{
|
|
1839
1841
|
rows: 4,
|
|
1840
1842
|
value: value.configJson,
|
|
@@ -1900,7 +1902,7 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
|
|
|
1900
1902
|
{ value: "password", label: labels.typePassword }
|
|
1901
1903
|
];
|
|
1902
1904
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
1903
|
-
|
|
1905
|
+
chunkYN4IEDE4_js.HeroSection,
|
|
1904
1906
|
{
|
|
1905
1907
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.KeyIcon, { className: "h-5 w-5" }),
|
|
1906
1908
|
label: labels.title,
|
|
@@ -1908,7 +1910,7 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
|
|
|
1908
1910
|
subtitle: labels.subtitle,
|
|
1909
1911
|
gradient: "from-rose-500 to-orange-600",
|
|
1910
1912
|
toolbar: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1911
|
-
|
|
1913
|
+
chunkYN4IEDE4_js.CreateActionButton,
|
|
1912
1914
|
{
|
|
1913
1915
|
mode: "desktop",
|
|
1914
1916
|
label: labels.addCredential,
|
|
@@ -1919,7 +1921,7 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
|
|
|
1919
1921
|
}
|
|
1920
1922
|
);
|
|
1921
1923
|
const mobileAction = /* @__PURE__ */ jsxRuntime.jsx(
|
|
1922
|
-
|
|
1924
|
+
chunkYN4IEDE4_js.CreateActionButton,
|
|
1923
1925
|
{
|
|
1924
1926
|
mode: "mobile",
|
|
1925
1927
|
label: labels.addCredential,
|
|
@@ -1927,23 +1929,23 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
|
|
|
1927
1929
|
accent: "rose"
|
|
1928
1930
|
}
|
|
1929
1931
|
);
|
|
1930
|
-
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1931
|
-
|
|
1932
|
+
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkYN4IEDE4_js.PageLoadingState, {}) : credentials.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkYN4IEDE4_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(
|
|
1933
|
+
chunkYN4IEDE4_js.EntityCard,
|
|
1932
1934
|
{
|
|
1933
1935
|
accentGradient: "from-rose-500 to-orange-700",
|
|
1934
1936
|
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" }) }),
|
|
1935
1937
|
title: secret.name,
|
|
1936
1938
|
subtitle: secret.secretType,
|
|
1937
|
-
status: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1939
|
+
status: /* @__PURE__ */ jsxRuntime.jsx(chunkYN4IEDE4_js.Badge, { color: secret.disabled ? "zinc" : "emerald", children: secret.disabled ? labels.disable : "Active" }),
|
|
1938
1940
|
footer: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between gap-2", children: [
|
|
1939
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1941
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkYN4IEDE4_js.CopyableId, { id: secret.secretId }),
|
|
1940
1942
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
|
|
1941
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1943
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkYN4IEDE4_js.Button, { type: "button", size: "sm", outline: true, onClick: () => setRotateFor(secret), children: [
|
|
1942
1944
|
/* @__PURE__ */ jsxRuntime.jsx(outline.ArrowPathIcon, { className: "mr-1 h-3.5 w-3.5" }),
|
|
1943
1945
|
labels.rotate
|
|
1944
1946
|
] }),
|
|
1945
1947
|
!secret.disabled && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1946
|
-
|
|
1948
|
+
chunkYN4IEDE4_js.Button,
|
|
1947
1949
|
{
|
|
1948
1950
|
type: "button",
|
|
1949
1951
|
size: "sm",
|
|
@@ -1972,9 +1974,9 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
|
|
|
1972
1974
|
secret.secretId
|
|
1973
1975
|
)) });
|
|
1974
1976
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1975
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1977
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkYN4IEDE4_js.ManagementPageLayout, { hero, content, mobileAction }),
|
|
1976
1978
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1977
|
-
|
|
1979
|
+
chunkYN4IEDE4_js.GlassModal,
|
|
1978
1980
|
{
|
|
1979
1981
|
open: createOpen,
|
|
1980
1982
|
onClose: () => setCreateOpen(false),
|
|
@@ -1992,16 +1994,16 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
|
|
|
1992
1994
|
onCreate({ name, value, secretType, description });
|
|
1993
1995
|
setCreateOpen(false);
|
|
1994
1996
|
},
|
|
1995
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1996
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1997
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1998
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1999
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1997
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(chunkYN4IEDE4_js.FormGrid, { children: [
|
|
1998
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkYN4IEDE4_js.FormInput, { name: "name", label: labels.name, placeholder: labels.namePlaceholder, required: true }),
|
|
1999
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkYN4IEDE4_js.FormSelect, { name: "secretType", label: labels.type, options: typeOptions, defaultValue: "generic" }),
|
|
2000
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkYN4IEDE4_js.FormInput, { name: "value", label: labels.value, placeholder: labels.valuePlaceholder, required: true, type: "password" }),
|
|
2001
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkYN4IEDE4_js.FormTextarea, { name: "description", label: labels.description, placeholder: labels.descriptionPlaceholder, rows: 2 })
|
|
2000
2002
|
] })
|
|
2001
2003
|
}
|
|
2002
2004
|
),
|
|
2003
2005
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2004
|
-
|
|
2006
|
+
chunkYN4IEDE4_js.GlassModal,
|
|
2005
2007
|
{
|
|
2006
2008
|
open: rotateFor !== null,
|
|
2007
2009
|
onClose: () => setRotateFor(null),
|
|
@@ -2016,7 +2018,7 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
|
|
|
2016
2018
|
onRotate(rotateFor, value);
|
|
2017
2019
|
setRotateFor(null);
|
|
2018
2020
|
},
|
|
2019
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2021
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(chunkYN4IEDE4_js.FormGrid, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkYN4IEDE4_js.FormInput, { name: "value", label: labels.value, placeholder: labels.valuePlaceholder, required: true, type: "password" }) })
|
|
2020
2022
|
}
|
|
2021
2023
|
)
|
|
2022
2024
|
] });
|
|
@@ -2024,31 +2026,31 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
|
|
|
2024
2026
|
|
|
2025
2027
|
Object.defineProperty(exports, "RolesPageView", {
|
|
2026
2028
|
enumerable: true,
|
|
2027
|
-
get: function () { return
|
|
2029
|
+
get: function () { return chunkWY3YDQXK_js.RolesPageView; }
|
|
2028
2030
|
});
|
|
2029
2031
|
Object.defineProperty(exports, "UsersPageView", {
|
|
2030
2032
|
enumerable: true,
|
|
2031
|
-
get: function () { return
|
|
2033
|
+
get: function () { return chunkWY3YDQXK_js.UsersPageView; }
|
|
2032
2034
|
});
|
|
2033
2035
|
Object.defineProperty(exports, "DIALECT_CATEGORIES", {
|
|
2034
2036
|
enumerable: true,
|
|
2035
|
-
get: function () { return
|
|
2037
|
+
get: function () { return chunkWIKMIULO_js.DIALECT_CATEGORIES; }
|
|
2036
2038
|
});
|
|
2037
2039
|
Object.defineProperty(exports, "DatasourceFormModal", {
|
|
2038
2040
|
enumerable: true,
|
|
2039
|
-
get: function () { return
|
|
2041
|
+
get: function () { return chunkWIKMIULO_js.DatasourceFormModal; }
|
|
2040
2042
|
});
|
|
2041
2043
|
Object.defineProperty(exports, "DatasourceModal", {
|
|
2042
2044
|
enumerable: true,
|
|
2043
|
-
get: function () { return
|
|
2045
|
+
get: function () { return chunkWIKMIULO_js.DatasourceModal; }
|
|
2044
2046
|
});
|
|
2045
2047
|
Object.defineProperty(exports, "findCategory", {
|
|
2046
2048
|
enumerable: true,
|
|
2047
|
-
get: function () { return
|
|
2049
|
+
get: function () { return chunkWIKMIULO_js.findCategory; }
|
|
2048
2050
|
});
|
|
2049
2051
|
Object.defineProperty(exports, "findDialect", {
|
|
2050
2052
|
enumerable: true,
|
|
2051
|
-
get: function () { return
|
|
2053
|
+
get: function () { return chunkWIKMIULO_js.findDialect; }
|
|
2052
2054
|
});
|
|
2053
2055
|
exports.AgentsConfigPageView = AgentsConfigPageView;
|
|
2054
2056
|
exports.AgentsIndexPageView = AgentsIndexPageView;
|