@datatechsolutions/ui 3.3.0 → 3.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/astrlabe/index.d.mts +22 -30
- package/dist/astrlabe/index.d.ts +22 -30
- package/dist/astrlabe/index.js +112 -112
- package/dist/astrlabe/index.mjs +5 -5
- package/dist/astrlabe/workflow-canvas.d.mts +6 -69
- package/dist/astrlabe/workflow-canvas.d.ts +6 -69
- package/dist/astrlabe/workflow-canvas.js +5 -5
- package/dist/astrlabe/workflow-canvas.mjs +4 -4
- package/dist/brand/index.d.mts +1 -15
- package/dist/brand/index.d.ts +1 -15
- package/dist/brand/index.js +0 -14
- package/dist/brand/index.js.map +1 -1
- package/dist/brand/index.mjs +0 -14
- package/dist/brand/index.mjs.map +1 -1
- package/dist/{chunk-FAGDZEKM.js → chunk-2OZZH2IO.js} +2 -2
- package/dist/chunk-2OZZH2IO.js.map +1 -0
- package/dist/{chunk-SYNVNTLJ.mjs → chunk-3AY5HIQ6.mjs} +2 -2
- package/dist/chunk-3AY5HIQ6.mjs.map +1 -0
- package/dist/{chunk-JSNRCYSO.js → chunk-45QAUEYT.js} +4 -4
- package/dist/{chunk-JSNRCYSO.js.map → chunk-45QAUEYT.js.map} +1 -1
- package/dist/{chunk-B67DP7MI.mjs → chunk-4GDWGWHY.mjs} +4 -4
- package/dist/{chunk-B67DP7MI.mjs.map → chunk-4GDWGWHY.mjs.map} +1 -1
- package/dist/{chunk-KR2X2WHJ.js → chunk-4ICEQJH4.js} +53 -53
- package/dist/{chunk-KR2X2WHJ.js.map → chunk-4ICEQJH4.js.map} +1 -1
- package/dist/{chunk-RXZNACMI.js → chunk-6MBWKOPF.js} +33 -33
- package/dist/{chunk-RXZNACMI.js.map → chunk-6MBWKOPF.js.map} +1 -1
- package/dist/{chunk-JN6IL6OH.mjs → chunk-AGGOHPMZ.mjs} +1054 -5229
- package/dist/chunk-AGGOHPMZ.mjs.map +1 -0
- package/dist/{chunk-5GDKCFM5.mjs → chunk-AL73YAV4.mjs} +3 -3
- package/dist/{chunk-5GDKCFM5.mjs.map → chunk-AL73YAV4.mjs.map} +1 -1
- package/dist/{chunk-ZJPNP2YW.mjs → chunk-BUDZNAKL.mjs} +2 -2
- package/dist/chunk-BUDZNAKL.mjs.map +1 -0
- package/dist/{chunk-OL73LBX5.mjs → chunk-BW67WFHT.mjs} +3 -4
- package/dist/chunk-BW67WFHT.mjs.map +1 -0
- package/dist/{chunk-W5OEBO6E.js → chunk-CF7GOUBQ.js} +13 -14
- package/dist/chunk-CF7GOUBQ.js.map +1 -0
- package/dist/{chunk-IRPS5UCS.mjs → chunk-CUWPLPVY.mjs} +3 -3
- package/dist/{chunk-IRPS5UCS.mjs.map → chunk-CUWPLPVY.mjs.map} +1 -1
- package/dist/{chunk-IJAKZHXX.js → chunk-ERCDMBRT.js} +683 -645
- package/dist/chunk-ERCDMBRT.js.map +1 -0
- package/dist/{chunk-I2NZGVBG.js → chunk-FSBR4RCK.js} +1101 -5313
- package/dist/chunk-FSBR4RCK.js.map +1 -0
- package/dist/{chunk-5RM6NGZ6.mjs → chunk-IDEM3DYF.mjs} +3 -3
- package/dist/{chunk-5RM6NGZ6.mjs.map → chunk-IDEM3DYF.mjs.map} +1 -1
- package/dist/{chunk-NJFRJ6YD.js → chunk-M7KSEUZR.js} +225 -384
- package/dist/chunk-M7KSEUZR.js.map +1 -0
- package/dist/{chunk-AOUUZ52N.js → chunk-MO5FBVV3.js} +85 -86
- package/dist/chunk-MO5FBVV3.js.map +1 -0
- package/dist/{chunk-BR2GAZKG.mjs → chunk-NAFWHJCM.mjs} +7 -7
- package/dist/{chunk-BR2GAZKG.mjs.map → chunk-NAFWHJCM.mjs.map} +1 -1
- package/dist/{chunk-3JJWPOK6.js → chunk-NCLZKVJK.js} +9 -10
- package/dist/chunk-NCLZKVJK.js.map +1 -0
- package/dist/{chunk-R4TQWXNG.mjs → chunk-NVQWHJQH.mjs} +6 -5
- package/dist/chunk-NVQWHJQH.mjs.map +1 -0
- package/dist/{chunk-ZL6C2ZAF.js → chunk-PGVZKMOA.js} +67 -67
- package/dist/{chunk-ZL6C2ZAF.js.map → chunk-PGVZKMOA.js.map} +1 -1
- package/dist/{chunk-UDDZTTLO.mjs → chunk-QBFE7ABE.mjs} +6 -7
- package/dist/chunk-QBFE7ABE.mjs.map +1 -0
- package/dist/{chunk-3ZUMJTDT.mjs → chunk-RFRXS4PC.mjs} +3 -4
- package/dist/{chunk-3JJWPOK6.js.map → chunk-RFRXS4PC.mjs.map} +1 -1
- package/dist/{chunk-ZV5EZXXO.mjs → chunk-RHRJXK5R.mjs} +3 -3
- package/dist/{chunk-ZV5EZXXO.mjs.map → chunk-RHRJXK5R.mjs.map} +1 -1
- package/dist/{chunk-MWPTSBAI.js → chunk-RLLP7VQJ.js} +26 -26
- package/dist/{chunk-MWPTSBAI.js.map → chunk-RLLP7VQJ.js.map} +1 -1
- package/dist/{chunk-GIQXB3BG.mjs → chunk-RLVOG5OQ.mjs} +3 -3
- package/dist/{chunk-GIQXB3BG.mjs.map → chunk-RLVOG5OQ.mjs.map} +1 -1
- package/dist/{chunk-2WXRRQM3.mjs → chunk-SEYUYGER.mjs} +553 -516
- package/dist/chunk-SEYUYGER.mjs.map +1 -0
- package/dist/{chunk-O6M3KDGT.mjs → chunk-SQ4KGLBZ.mjs} +4 -4
- package/dist/{chunk-O6M3KDGT.mjs.map → chunk-SQ4KGLBZ.mjs.map} +1 -1
- package/dist/{chunk-F54Q2YJY.js → chunk-SY4MUT5V.js} +7 -7
- package/dist/{chunk-F54Q2YJY.js.map → chunk-SY4MUT5V.js.map} +1 -1
- package/dist/{chunk-ZM5MVWIT.js → chunk-TUQLZ4QD.js} +5 -6
- package/dist/chunk-TUQLZ4QD.js.map +1 -0
- package/dist/{chunk-TVMLV675.js → chunk-UE2RDQIK.js} +98 -95
- package/dist/chunk-UE2RDQIK.js.map +1 -0
- package/dist/{chunk-HDCUWUNH.js → chunk-UJVDI66K.js} +28 -27
- package/dist/chunk-UJVDI66K.js.map +1 -0
- package/dist/{chunk-PCYL4MII.mjs → chunk-VV6SYMPM.mjs} +156 -314
- package/dist/chunk-VV6SYMPM.mjs.map +1 -0
- package/dist/{chunk-HZ4LOVHM.js → chunk-VY52Y5GC.js} +2 -2
- package/dist/chunk-VY52Y5GC.js.map +1 -0
- package/dist/{chunk-LEKZUS6N.mjs → chunk-X3GW7UPN.mjs} +4 -5
- package/dist/chunk-X3GW7UPN.mjs.map +1 -0
- package/dist/{chunk-OCELRSLO.js → chunk-Y2AYFG4E.js} +4 -4
- package/dist/{chunk-OCELRSLO.js.map → chunk-Y2AYFG4E.js.map} +1 -1
- package/dist/{chunk-TIJJHW2Z.js → chunk-YV7F7IXG.js} +36 -36
- package/dist/{chunk-TIJJHW2Z.js.map → chunk-YV7F7IXG.js.map} +1 -1
- package/dist/{chunk-MVBIAXVN.mjs → chunk-ZKSDDFHG.mjs} +14 -11
- package/dist/chunk-ZKSDDFHG.mjs.map +1 -0
- package/dist/{index-VI9gyJXl.d.mts → index-BNRGVAS5.d.mts} +9 -2
- package/dist/index-BoebbJ44.d.mts +49 -0
- package/dist/index-BoebbJ44.d.ts +49 -0
- package/dist/{index-CoB18TbG.d.ts → index-CnCY-b5V.d.ts} +9 -2
- package/dist/index.d.mts +399 -548
- package/dist/index.d.ts +399 -548
- package/dist/index.js +727 -887
- package/dist/index.mjs +3 -3
- package/dist/platform/admin/index.js +12 -12
- package/dist/platform/admin/index.mjs +6 -6
- package/dist/platform/agents-workspace.js +8 -8
- package/dist/platform/agents-workspace.mjs +7 -7
- package/dist/platform/app-shell.js +5 -5
- package/dist/platform/app-shell.mjs +4 -4
- package/dist/platform/auth/index.js +29 -29
- package/dist/platform/auth/index.mjs +6 -6
- package/dist/platform/billing/index.js +5 -5
- package/dist/platform/billing/index.mjs +4 -4
- package/dist/platform/impersonation/index.js +5 -5
- package/dist/platform/impersonation/index.mjs +4 -4
- package/dist/platform/index.d.mts +3 -39
- package/dist/platform/index.d.ts +3 -39
- package/dist/platform/index.js +95 -4805
- package/dist/platform/index.js.map +1 -1
- package/dist/platform/index.mjs +23 -4728
- package/dist/platform/index.mjs.map +1 -1
- package/dist/platform/pages/index.d.mts +4 -4
- package/dist/platform/pages/index.d.ts +4 -4
- package/dist/platform/pages/index.js +197 -197
- package/dist/platform/pages/index.mjs +9 -9
- package/dist/platform/rbac.d.mts +2 -1
- package/dist/platform/rbac.d.ts +2 -1
- package/dist/platform/rbac.js +2 -2
- package/dist/platform/rbac.mjs +1 -1
- package/dist/platform/settings/index.js +9 -9
- package/dist/platform/settings/index.mjs +8 -8
- package/dist/platform/utils/index.js +3 -3
- package/dist/platform/utils/index.js.map +1 -1
- package/dist/platform/utils/index.mjs +1 -1
- package/dist/platform/utils/index.mjs.map +1 -1
- package/dist/platform/workflow-api-client.d.mts +2 -2
- package/dist/platform/workflow-api-client.d.ts +2 -2
- package/dist/platform/workflow-api-client.js +62 -62
- package/dist/platform/workflow-api-client.mjs +2 -2
- package/dist/platform/workflow-canvas-shell.js +6 -6
- package/dist/platform/workflow-canvas-shell.mjs +5 -5
- package/dist/{workflow-api-client-DoYj7nHz.d.mts → workflow-api-client-CpFl3WcG.d.mts} +1 -1
- package/dist/{workflow-api-client-BKD8OfP_.d.ts → workflow-api-client-uLICOanv.d.ts} +1 -1
- package/dist/workflow-canvas--qaYKuMm.d.ts +113 -0
- package/dist/workflow-canvas-B80fmD_n.d.mts +113 -0
- package/package.json +15 -5
- package/src/styles/liquid-glass.css +283 -2
- package/dist/chunk-2WXRRQM3.mjs.map +0 -1
- package/dist/chunk-3ZUMJTDT.mjs.map +0 -1
- package/dist/chunk-AOUUZ52N.js.map +0 -1
- package/dist/chunk-FAGDZEKM.js.map +0 -1
- package/dist/chunk-HDCUWUNH.js.map +0 -1
- package/dist/chunk-HZ4LOVHM.js.map +0 -1
- package/dist/chunk-I2NZGVBG.js.map +0 -1
- package/dist/chunk-IJAKZHXX.js.map +0 -1
- package/dist/chunk-JN6IL6OH.mjs.map +0 -1
- package/dist/chunk-LEKZUS6N.mjs.map +0 -1
- package/dist/chunk-MVBIAXVN.mjs.map +0 -1
- package/dist/chunk-NJFRJ6YD.js.map +0 -1
- package/dist/chunk-OL73LBX5.mjs.map +0 -1
- package/dist/chunk-PCYL4MII.mjs.map +0 -1
- package/dist/chunk-R4TQWXNG.mjs.map +0 -1
- package/dist/chunk-SYNVNTLJ.mjs.map +0 -1
- package/dist/chunk-TVMLV675.js.map +0 -1
- package/dist/chunk-UDDZTTLO.mjs.map +0 -1
- package/dist/chunk-W5OEBO6E.js.map +0 -1
- package/dist/chunk-ZJPNP2YW.mjs.map +0 -1
- package/dist/chunk-ZM5MVWIT.js.map +0 -1
- package/src/brand/logos/kori-icon.svg +0 -45
- package/src/brand/logos/kori-logo-dark.svg +0 -40
- package/src/brand/logos/kori-logo.svg +0 -43
|
@@ -2,18 +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 chunkRLLP7VQJ_js = require('../../chunk-RLLP7VQJ.js');
|
|
6
|
+
var chunkYV7F7IXG_js = require('../../chunk-YV7F7IXG.js');
|
|
7
|
+
var chunkERCDMBRT_js = require('../../chunk-ERCDMBRT.js');
|
|
8
8
|
require('../../chunk-55H6WZQP.js');
|
|
9
9
|
require('../../chunk-DJDZIRM6.js');
|
|
10
|
-
require('../../chunk-
|
|
11
|
-
var
|
|
10
|
+
require('../../chunk-M7KSEUZR.js');
|
|
11
|
+
var chunkFSBR4RCK_js = require('../../chunk-FSBR4RCK.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-
|
|
16
|
-
require('../../chunk-
|
|
15
|
+
require('../../chunk-SY4MUT5V.js');
|
|
16
|
+
require('../../chunk-2OZZH2IO.js');
|
|
17
17
|
require('../../chunk-P4YYEM4B.js');
|
|
18
18
|
require('../../chunk-72SWXOD5.js');
|
|
19
19
|
var outline = require('@heroicons/react/24/outline');
|
|
@@ -22,7 +22,7 @@ var react = require('react');
|
|
|
22
22
|
|
|
23
23
|
function AgentsModelsPageView({ labels, models, loading }) {
|
|
24
24
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
25
|
-
|
|
25
|
+
chunkFSBR4RCK_js.HeroSection,
|
|
26
26
|
{
|
|
27
27
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.CubeTransparentIcon, { className: "h-5 w-5" }),
|
|
28
28
|
label: labels.title,
|
|
@@ -31,25 +31,25 @@ function AgentsModelsPageView({ labels, models, loading }) {
|
|
|
31
31
|
gradient: "from-emerald-500 to-teal-700"
|
|
32
32
|
}
|
|
33
33
|
);
|
|
34
|
-
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
35
|
-
|
|
34
|
+
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.PageLoadingState, {}) : models.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_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
|
+
chunkFSBR4RCK_js.EntityCard,
|
|
36
36
|
{
|
|
37
37
|
accentGradient: "from-emerald-500 to-teal-700",
|
|
38
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" }) }),
|
|
39
39
|
title: model.name,
|
|
40
40
|
subtitle: `${labels.provider}: ${model.provider}`,
|
|
41
|
-
status: /* @__PURE__ */ jsxRuntime.jsx(
|
|
41
|
+
status: /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.Badge, { color: model.enabled ? "emerald" : "zinc", children: model.enabled ? labels.enabled : labels.disabled })
|
|
42
42
|
},
|
|
43
43
|
model.id
|
|
44
44
|
)) });
|
|
45
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
45
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.ManagementPageLayout, { hero, content });
|
|
46
46
|
}
|
|
47
47
|
function AgentsConfigPageView({ labels, agents, models, loading, onCreate, onUpdate, onDelete }) {
|
|
48
48
|
const [editing, setEditing] = react.useState(null);
|
|
49
49
|
const [createOpen, setCreateOpen] = react.useState(false);
|
|
50
50
|
const modelOptions = models.map((model) => ({ value: model.id, label: `${model.name} (${model.provider})` }));
|
|
51
51
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
52
|
-
|
|
52
|
+
chunkFSBR4RCK_js.HeroSection,
|
|
53
53
|
{
|
|
54
54
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.CpuChipIcon, { className: "h-5 w-5" }),
|
|
55
55
|
label: labels.title,
|
|
@@ -57,7 +57,7 @@ function AgentsConfigPageView({ labels, agents, models, loading, onCreate, onUpd
|
|
|
57
57
|
subtitle: labels.subtitle,
|
|
58
58
|
gradient: "from-violet-500 to-indigo-700",
|
|
59
59
|
toolbar: /* @__PURE__ */ jsxRuntime.jsx(
|
|
60
|
-
|
|
60
|
+
chunkFSBR4RCK_js.CreateActionButton,
|
|
61
61
|
{
|
|
62
62
|
mode: "desktop",
|
|
63
63
|
label: labels.addAgent,
|
|
@@ -68,7 +68,7 @@ function AgentsConfigPageView({ labels, agents, models, loading, onCreate, onUpd
|
|
|
68
68
|
}
|
|
69
69
|
);
|
|
70
70
|
const mobileAction = /* @__PURE__ */ jsxRuntime.jsx(
|
|
71
|
-
|
|
71
|
+
chunkFSBR4RCK_js.CreateActionButton,
|
|
72
72
|
{
|
|
73
73
|
mode: "mobile",
|
|
74
74
|
label: labels.addAgent,
|
|
@@ -76,23 +76,23 @@ function AgentsConfigPageView({ labels, agents, models, loading, onCreate, onUpd
|
|
|
76
76
|
accent: "violet"
|
|
77
77
|
}
|
|
78
78
|
);
|
|
79
|
-
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
79
|
+
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.PageLoadingState, {}) : agents.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_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) => {
|
|
80
80
|
const modelRecord = models.find((model) => model.id === String(agent.modelId ?? ""));
|
|
81
81
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
82
|
-
|
|
82
|
+
chunkFSBR4RCK_js.EntityCard,
|
|
83
83
|
{
|
|
84
84
|
accentGradient: "from-violet-500 to-indigo-700",
|
|
85
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" }) }),
|
|
86
86
|
title: String(agent.name ?? ""),
|
|
87
87
|
subtitle: String(modelRecord?.name ?? agent.modelId ?? ""),
|
|
88
|
-
status: agent.activePromptVersion > 0 ? /* @__PURE__ */ jsxRuntime.jsxs(
|
|
88
|
+
status: agent.activePromptVersion > 0 ? /* @__PURE__ */ jsxRuntime.jsxs(chunkFSBR4RCK_js.Badge, { color: "emerald", children: [
|
|
89
89
|
"v",
|
|
90
90
|
agent.activePromptVersion
|
|
91
91
|
] }) : null,
|
|
92
92
|
footer: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
|
|
93
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
93
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.Button, { type: "button", size: "sm", outline: true, onClick: () => setEditing(agent), children: labels.edit }),
|
|
94
94
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
95
|
-
|
|
95
|
+
chunkFSBR4RCK_js.Button,
|
|
96
96
|
{
|
|
97
97
|
type: "button",
|
|
98
98
|
size: "sm",
|
|
@@ -116,7 +116,7 @@ function AgentsConfigPageView({ labels, agents, models, loading, onCreate, onUpd
|
|
|
116
116
|
);
|
|
117
117
|
}) });
|
|
118
118
|
const renderForm = (initial, onSubmit) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
119
|
-
|
|
119
|
+
chunkFSBR4RCK_js.GlassModal,
|
|
120
120
|
{
|
|
121
121
|
open: true,
|
|
122
122
|
onClose: () => {
|
|
@@ -139,18 +139,18 @@ function AgentsConfigPageView({ labels, agents, models, loading, onCreate, onUpd
|
|
|
139
139
|
outputSchema: String(form.get("outputSchema") ?? "").trim() || void 0
|
|
140
140
|
});
|
|
141
141
|
},
|
|
142
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
143
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
144
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
145
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
146
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
147
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
148
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
142
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(chunkFSBR4RCK_js.FormGrid, { children: [
|
|
143
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.FormInput, { name: "name", label: labels.name, defaultValue: initial.name ?? "", required: true }),
|
|
144
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.FormSelect, { name: "modelId", label: labels.model, options: modelOptions, defaultValue: initial.modelId ?? modelOptions[0]?.value ?? "", required: true }),
|
|
145
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.FormInput, { name: "maxTokens", label: String(labels.maxTokens), type: "number", defaultValue: String(initial.maxTokens ?? 2048) }),
|
|
146
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_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(chunkFSBR4RCK_js.FormTextarea, { name: "systemPrompt", label: labels.systemPrompt, defaultValue: initial.systemPrompt ?? "", rows: 4 }),
|
|
148
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.FormTextarea, { name: "outputSchema", label: labels.outputSchema, placeholder: labels.outputSchemaPlaceholder, defaultValue: initial.outputSchema ?? "", rows: 4 })
|
|
149
149
|
] })
|
|
150
150
|
}
|
|
151
151
|
);
|
|
152
152
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
153
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
153
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.ManagementPageLayout, { hero, content, mobileAction }),
|
|
154
154
|
createOpen && renderForm({ title: labels.createTitle }, (input) => {
|
|
155
155
|
onCreate(input);
|
|
156
156
|
setCreateOpen(false);
|
|
@@ -199,7 +199,7 @@ function AgentsPromptsPageView({ labels, agents, prompts, loading, onCreate, onA
|
|
|
199
199
|
return map;
|
|
200
200
|
}, [agents]);
|
|
201
201
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
202
|
-
|
|
202
|
+
chunkFSBR4RCK_js.HeroSection,
|
|
203
203
|
{
|
|
204
204
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.ChatBubbleLeftEllipsisIcon, { className: "h-5 w-5" }),
|
|
205
205
|
label: labels.title,
|
|
@@ -207,7 +207,7 @@ function AgentsPromptsPageView({ labels, agents, prompts, loading, onCreate, onA
|
|
|
207
207
|
subtitle: labels.subtitle,
|
|
208
208
|
gradient: "from-sky-500 to-blue-700",
|
|
209
209
|
toolbar: /* @__PURE__ */ jsxRuntime.jsx(
|
|
210
|
-
|
|
210
|
+
chunkFSBR4RCK_js.CreateActionButton,
|
|
211
211
|
{
|
|
212
212
|
mode: "desktop",
|
|
213
213
|
label: labels.addPrompt,
|
|
@@ -218,7 +218,7 @@ function AgentsPromptsPageView({ labels, agents, prompts, loading, onCreate, onA
|
|
|
218
218
|
}
|
|
219
219
|
);
|
|
220
220
|
const mobileAction = /* @__PURE__ */ jsxRuntime.jsx(
|
|
221
|
-
|
|
221
|
+
chunkFSBR4RCK_js.CreateActionButton,
|
|
222
222
|
{
|
|
223
223
|
mode: "mobile",
|
|
224
224
|
label: labels.addPrompt,
|
|
@@ -226,21 +226,21 @@ function AgentsPromptsPageView({ labels, agents, prompts, loading, onCreate, onA
|
|
|
226
226
|
accent: "sky"
|
|
227
227
|
}
|
|
228
228
|
);
|
|
229
|
-
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
229
|
+
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.PageLoadingState, {}) : prompts.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_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) => {
|
|
230
230
|
const agentName = agentNameById.get(prompt.agentId) ?? prompt.agentId;
|
|
231
231
|
const key = `${prompt.agentId}:${prompt.locale}:${prompt.version}`;
|
|
232
232
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
233
|
-
|
|
233
|
+
chunkFSBR4RCK_js.EntityCard,
|
|
234
234
|
{
|
|
235
235
|
accentGradient: "from-sky-500 to-blue-700",
|
|
236
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" }) }),
|
|
237
237
|
title: agentName,
|
|
238
238
|
subtitle: `${prompt.locale} \xB7 v${prompt.version}`,
|
|
239
|
-
status: prompt.isActive ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
239
|
+
status: prompt.isActive ? /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.Badge, { color: "emerald", children: labels.isActive }) : null,
|
|
240
240
|
footer: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
|
|
241
|
-
!prompt.isActive && /* @__PURE__ */ jsxRuntime.jsx(
|
|
241
|
+
!prompt.isActive && /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.Button, { type: "button", size: "sm", outline: true, onClick: () => onActivate(prompt), children: labels.activate }),
|
|
242
242
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
243
|
-
|
|
243
|
+
chunkFSBR4RCK_js.Button,
|
|
244
244
|
{
|
|
245
245
|
type: "button",
|
|
246
246
|
size: "sm",
|
|
@@ -258,9 +258,9 @@ function AgentsPromptsPageView({ labels, agents, prompts, loading, onCreate, onA
|
|
|
258
258
|
);
|
|
259
259
|
}) });
|
|
260
260
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
261
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
261
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.ManagementPageLayout, { hero, content, mobileAction }),
|
|
262
262
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
263
|
-
|
|
263
|
+
chunkFSBR4RCK_js.GlassModal,
|
|
264
264
|
{
|
|
265
265
|
open: createOpen,
|
|
266
266
|
onClose: () => setCreateOpen(false),
|
|
@@ -284,11 +284,11 @@ function AgentsPromptsPageView({ labels, agents, prompts, loading, onCreate, onA
|
|
|
284
284
|
});
|
|
285
285
|
setCreateOpen(false);
|
|
286
286
|
},
|
|
287
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
288
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
289
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
287
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(chunkFSBR4RCK_js.FormGrid, { children: [
|
|
288
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.FormSelect, { name: "agentId", label: labels.agent, options: agentOptions, required: true }),
|
|
289
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.FormSelect, { name: "locale", label: labels.locale, options: LOCALE_OPTIONS, defaultValue: "en" }),
|
|
290
290
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
291
|
-
|
|
291
|
+
chunkFSBR4RCK_js.FormSelect,
|
|
292
292
|
{
|
|
293
293
|
name: "isActive",
|
|
294
294
|
label: labels.isActive,
|
|
@@ -296,10 +296,10 @@ function AgentsPromptsPageView({ labels, agents, prompts, loading, onCreate, onA
|
|
|
296
296
|
defaultValue: "true"
|
|
297
297
|
}
|
|
298
298
|
),
|
|
299
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
300
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
301
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
302
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
299
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.FormInput, { name: "reason", label: labels.reason }),
|
|
300
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.FormTextarea, { name: "systemPrompt", label: labels.systemPrompt, rows: 3 }),
|
|
301
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.FormTextarea, { name: "userTemplate", label: labels.userTemplate, rows: 3 }),
|
|
302
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.FormTextarea, { name: "prompt", label: labels.prompt, rows: 6, required: true })
|
|
303
303
|
] })
|
|
304
304
|
}
|
|
305
305
|
)
|
|
@@ -330,7 +330,7 @@ function AgentsToolDefinitionsPageView({ labels, tools, loading, onCreate, onUpd
|
|
|
330
330
|
const [editing, setEditing] = react.useState(null);
|
|
331
331
|
const [createOpen, setCreateOpen] = react.useState(false);
|
|
332
332
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
333
|
-
|
|
333
|
+
chunkFSBR4RCK_js.HeroSection,
|
|
334
334
|
{
|
|
335
335
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.WrenchScrewdriverIcon, { className: "h-5 w-5" }),
|
|
336
336
|
label: labels.title,
|
|
@@ -338,7 +338,7 @@ function AgentsToolDefinitionsPageView({ labels, tools, loading, onCreate, onUpd
|
|
|
338
338
|
subtitle: labels.subtitle,
|
|
339
339
|
gradient: "from-amber-500 to-orange-700",
|
|
340
340
|
toolbar: /* @__PURE__ */ jsxRuntime.jsx(
|
|
341
|
-
|
|
341
|
+
chunkFSBR4RCK_js.CreateActionButton,
|
|
342
342
|
{
|
|
343
343
|
mode: "desktop",
|
|
344
344
|
label: labels.addTool,
|
|
@@ -349,7 +349,7 @@ function AgentsToolDefinitionsPageView({ labels, tools, loading, onCreate, onUpd
|
|
|
349
349
|
}
|
|
350
350
|
);
|
|
351
351
|
const mobileAction = /* @__PURE__ */ jsxRuntime.jsx(
|
|
352
|
-
|
|
352
|
+
chunkFSBR4RCK_js.CreateActionButton,
|
|
353
353
|
{
|
|
354
354
|
mode: "mobile",
|
|
355
355
|
label: labels.addTool,
|
|
@@ -357,18 +357,18 @@ function AgentsToolDefinitionsPageView({ labels, tools, loading, onCreate, onUpd
|
|
|
357
357
|
accent: "amber"
|
|
358
358
|
}
|
|
359
359
|
);
|
|
360
|
-
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
361
|
-
|
|
360
|
+
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.PageLoadingState, {}) : tools.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_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
|
+
chunkFSBR4RCK_js.EntityCard,
|
|
362
362
|
{
|
|
363
363
|
accentGradient: "from-amber-500 to-orange-700",
|
|
364
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" }) }),
|
|
365
365
|
title: tool.name,
|
|
366
366
|
subtitle: toolTypeLabel(tool),
|
|
367
|
-
status: /* @__PURE__ */ jsxRuntime.jsx(
|
|
367
|
+
status: /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.Badge, { color: tool.enabled ? "emerald" : "zinc", children: tool.enabled ? labels.enabled : labels.disabled }),
|
|
368
368
|
footer: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
|
|
369
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
369
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.Button, { type: "button", size: "sm", outline: true, onClick: () => setEditing(tool), children: labels.edit }),
|
|
370
370
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
371
|
-
|
|
371
|
+
chunkFSBR4RCK_js.Button,
|
|
372
372
|
{
|
|
373
373
|
type: "button",
|
|
374
374
|
size: "sm",
|
|
@@ -385,7 +385,7 @@ function AgentsToolDefinitionsPageView({ labels, tools, loading, onCreate, onUpd
|
|
|
385
385
|
tool.agentToolId
|
|
386
386
|
)) });
|
|
387
387
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
388
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
388
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.ManagementPageLayout, { hero, content, mobileAction }),
|
|
389
389
|
createOpen && /* @__PURE__ */ jsxRuntime.jsx(
|
|
390
390
|
ToolEditor,
|
|
391
391
|
{
|
|
@@ -443,7 +443,7 @@ function ToolEditor({
|
|
|
443
443
|
setValue((v) => ({ ...v, [key]: next }));
|
|
444
444
|
};
|
|
445
445
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
446
|
-
|
|
446
|
+
chunkFSBR4RCK_js.GlassModal,
|
|
447
447
|
{
|
|
448
448
|
open: true,
|
|
449
449
|
onClose,
|
|
@@ -456,9 +456,9 @@ function ToolEditor({
|
|
|
456
456
|
handleSubmit();
|
|
457
457
|
},
|
|
458
458
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-5", children: [
|
|
459
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
459
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkFSBR4RCK_js.FormGrid, { children: [
|
|
460
460
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
461
|
-
|
|
461
|
+
chunkFSBR4RCK_js.FormInput,
|
|
462
462
|
{
|
|
463
463
|
label: "Name",
|
|
464
464
|
required: true,
|
|
@@ -468,7 +468,7 @@ function ToolEditor({
|
|
|
468
468
|
}
|
|
469
469
|
),
|
|
470
470
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
471
|
-
|
|
471
|
+
chunkFSBR4RCK_js.FormSelect,
|
|
472
472
|
{
|
|
473
473
|
label: "Tool type",
|
|
474
474
|
value: value.toolType,
|
|
@@ -478,7 +478,7 @@ function ToolEditor({
|
|
|
478
478
|
}
|
|
479
479
|
),
|
|
480
480
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
481
|
-
|
|
481
|
+
chunkFSBR4RCK_js.FormSelect,
|
|
482
482
|
{
|
|
483
483
|
label: "Enabled",
|
|
484
484
|
value: value.enabled ? "true" : "false",
|
|
@@ -487,7 +487,7 @@ function ToolEditor({
|
|
|
487
487
|
}
|
|
488
488
|
),
|
|
489
489
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
490
|
-
|
|
490
|
+
chunkFSBR4RCK_js.FormInput,
|
|
491
491
|
{
|
|
492
492
|
label: "Icon (optional)",
|
|
493
493
|
value: value.icon ?? "",
|
|
@@ -497,7 +497,7 @@ function ToolEditor({
|
|
|
497
497
|
)
|
|
498
498
|
] }),
|
|
499
499
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
500
|
-
|
|
500
|
+
chunkFSBR4RCK_js.FormTextarea,
|
|
501
501
|
{
|
|
502
502
|
label: "Description",
|
|
503
503
|
rows: 2,
|
|
@@ -545,7 +545,7 @@ function ParametersEditor({
|
|
|
545
545
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2", children: [
|
|
546
546
|
parameters.map((param, index) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-[1fr_160px_1fr_110px_auto] items-end gap-2", children: [
|
|
547
547
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
548
|
-
|
|
548
|
+
chunkFSBR4RCK_js.FormInput,
|
|
549
549
|
{
|
|
550
550
|
label: "Name",
|
|
551
551
|
value: param.name,
|
|
@@ -554,7 +554,7 @@ function ParametersEditor({
|
|
|
554
554
|
}
|
|
555
555
|
),
|
|
556
556
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
557
|
-
|
|
557
|
+
chunkFSBR4RCK_js.FormSelect,
|
|
558
558
|
{
|
|
559
559
|
label: "Type",
|
|
560
560
|
value: param.type,
|
|
@@ -563,7 +563,7 @@ function ParametersEditor({
|
|
|
563
563
|
}
|
|
564
564
|
),
|
|
565
565
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
566
|
-
|
|
566
|
+
chunkFSBR4RCK_js.FormInput,
|
|
567
567
|
{
|
|
568
568
|
label: "Description",
|
|
569
569
|
value: param.description,
|
|
@@ -582,9 +582,9 @@ function ParametersEditor({
|
|
|
582
582
|
),
|
|
583
583
|
"Required"
|
|
584
584
|
] }),
|
|
585
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
585
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.Button, { type: "button", plain: true, onClick: () => remove(index), children: "Remove" })
|
|
586
586
|
] }, index)),
|
|
587
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
587
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.Button, { type: "button", outline: true, onClick: add, children: "+ Add parameter" })
|
|
588
588
|
] })
|
|
589
589
|
] });
|
|
590
590
|
}
|
|
@@ -597,9 +597,9 @@ function HandlerConfigEditor({
|
|
|
597
597
|
if (toolType === "http") {
|
|
598
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: [
|
|
599
599
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-2 text-sm font-semibold text-slate-700 dark:text-slate-200", children: "HTTP handler" }),
|
|
600
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
600
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkFSBR4RCK_js.FormGrid, { children: [
|
|
601
601
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
602
|
-
|
|
602
|
+
chunkFSBR4RCK_js.FormSelect,
|
|
603
603
|
{
|
|
604
604
|
label: "Method",
|
|
605
605
|
value: stringProp(config, "method", "GET"),
|
|
@@ -608,7 +608,7 @@ function HandlerConfigEditor({
|
|
|
608
608
|
}
|
|
609
609
|
),
|
|
610
610
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
611
|
-
|
|
611
|
+
chunkFSBR4RCK_js.FormInput,
|
|
612
612
|
{
|
|
613
613
|
label: "URL template",
|
|
614
614
|
value: stringProp(config, "url"),
|
|
@@ -618,7 +618,7 @@ function HandlerConfigEditor({
|
|
|
618
618
|
)
|
|
619
619
|
] }),
|
|
620
620
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
621
|
-
|
|
621
|
+
chunkFSBR4RCK_js.FormTextarea,
|
|
622
622
|
{
|
|
623
623
|
label: "Headers (JSON)",
|
|
624
624
|
rows: 3,
|
|
@@ -628,7 +628,7 @@ function HandlerConfigEditor({
|
|
|
628
628
|
}
|
|
629
629
|
),
|
|
630
630
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
631
|
-
|
|
631
|
+
chunkFSBR4RCK_js.FormTextarea,
|
|
632
632
|
{
|
|
633
633
|
label: "Body template",
|
|
634
634
|
rows: 3,
|
|
@@ -643,7 +643,7 @@ function HandlerConfigEditor({
|
|
|
643
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: [
|
|
644
644
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-2 text-sm font-semibold text-slate-700 dark:text-slate-200", children: "Function handler" }),
|
|
645
645
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
646
|
-
|
|
646
|
+
chunkFSBR4RCK_js.FormInput,
|
|
647
647
|
{
|
|
648
648
|
label: "Implementation key",
|
|
649
649
|
value: stringProp(config, "implementationKey"),
|
|
@@ -657,9 +657,9 @@ function HandlerConfigEditor({
|
|
|
657
657
|
if (toolType === "database_query") {
|
|
658
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: [
|
|
659
659
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-2 text-sm font-semibold text-slate-700 dark:text-slate-200", children: "Database query handler" }),
|
|
660
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
660
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkFSBR4RCK_js.FormGrid, { children: [
|
|
661
661
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
662
|
-
|
|
662
|
+
chunkFSBR4RCK_js.FormInput,
|
|
663
663
|
{
|
|
664
664
|
label: "Datasource ID",
|
|
665
665
|
value: stringProp(config, "datasourceId"),
|
|
@@ -668,7 +668,7 @@ function HandlerConfigEditor({
|
|
|
668
668
|
}
|
|
669
669
|
),
|
|
670
670
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
671
|
-
|
|
671
|
+
chunkFSBR4RCK_js.FormInput,
|
|
672
672
|
{
|
|
673
673
|
label: "Max rows",
|
|
674
674
|
type: "number",
|
|
@@ -678,7 +678,7 @@ function HandlerConfigEditor({
|
|
|
678
678
|
)
|
|
679
679
|
] }),
|
|
680
680
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
681
|
-
|
|
681
|
+
chunkFSBR4RCK_js.FormTextarea,
|
|
682
682
|
{
|
|
683
683
|
label: "Query template",
|
|
684
684
|
rows: 4,
|
|
@@ -694,7 +694,7 @@ function HandlerConfigEditor({
|
|
|
694
694
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-2 text-sm font-semibold text-slate-700 dark:text-slate-200", children: "Code execution handler" }),
|
|
695
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." }),
|
|
696
696
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
697
|
-
|
|
697
|
+
chunkFSBR4RCK_js.FormSelect,
|
|
698
698
|
{
|
|
699
699
|
label: "Language",
|
|
700
700
|
value: stringProp(config, "language", "javascript"),
|
|
@@ -706,7 +706,7 @@ function HandlerConfigEditor({
|
|
|
706
706
|
}
|
|
707
707
|
),
|
|
708
708
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
709
|
-
|
|
709
|
+
chunkFSBR4RCK_js.FormTextarea,
|
|
710
710
|
{
|
|
711
711
|
label: "Code",
|
|
712
712
|
rows: 6,
|
|
@@ -719,9 +719,9 @@ function HandlerConfigEditor({
|
|
|
719
719
|
}
|
|
720
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: [
|
|
721
721
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-2 text-sm font-semibold text-slate-700 dark:text-slate-200", children: "API call handler" }),
|
|
722
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
722
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkFSBR4RCK_js.FormGrid, { children: [
|
|
723
723
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
724
|
-
|
|
724
|
+
chunkFSBR4RCK_js.FormInput,
|
|
725
725
|
{
|
|
726
726
|
label: "URL",
|
|
727
727
|
value: stringProp(config, "url"),
|
|
@@ -729,7 +729,7 @@ function HandlerConfigEditor({
|
|
|
729
729
|
}
|
|
730
730
|
),
|
|
731
731
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
732
|
-
|
|
732
|
+
chunkFSBR4RCK_js.FormSelect,
|
|
733
733
|
{
|
|
734
734
|
label: "Auth",
|
|
735
735
|
value: stringProp(config, "authType", "bearer"),
|
|
@@ -743,7 +743,7 @@ function HandlerConfigEditor({
|
|
|
743
743
|
}
|
|
744
744
|
),
|
|
745
745
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
746
|
-
|
|
746
|
+
chunkFSBR4RCK_js.FormInput,
|
|
747
747
|
{
|
|
748
748
|
label: "Credential secret id",
|
|
749
749
|
value: stringProp(config, "credentialRef"),
|
|
@@ -872,7 +872,7 @@ function RulesPageView({ labels, rules, loading, onCreate, onUpdate, onDelete })
|
|
|
872
872
|
const [createOpen, setCreateOpen] = react.useState(false);
|
|
873
873
|
const [editing, setEditing] = react.useState(null);
|
|
874
874
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
875
|
-
|
|
875
|
+
chunkFSBR4RCK_js.HeroSection,
|
|
876
876
|
{
|
|
877
877
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.AdjustmentsHorizontalIcon, { className: "h-5 w-5" }),
|
|
878
878
|
label: labels.title,
|
|
@@ -880,7 +880,7 @@ function RulesPageView({ labels, rules, loading, onCreate, onUpdate, onDelete })
|
|
|
880
880
|
subtitle: labels.subtitle,
|
|
881
881
|
gradient: "from-fuchsia-500 to-purple-700",
|
|
882
882
|
toolbar: /* @__PURE__ */ jsxRuntime.jsx(
|
|
883
|
-
|
|
883
|
+
chunkFSBR4RCK_js.CreateActionButton,
|
|
884
884
|
{
|
|
885
885
|
mode: "desktop",
|
|
886
886
|
label: labels.addRule,
|
|
@@ -891,7 +891,7 @@ function RulesPageView({ labels, rules, loading, onCreate, onUpdate, onDelete })
|
|
|
891
891
|
}
|
|
892
892
|
);
|
|
893
893
|
const mobileAction = /* @__PURE__ */ jsxRuntime.jsx(
|
|
894
|
-
|
|
894
|
+
chunkFSBR4RCK_js.CreateActionButton,
|
|
895
895
|
{
|
|
896
896
|
mode: "mobile",
|
|
897
897
|
label: labels.addRule,
|
|
@@ -899,18 +899,18 @@ function RulesPageView({ labels, rules, loading, onCreate, onUpdate, onDelete })
|
|
|
899
899
|
accent: "fuchsia"
|
|
900
900
|
}
|
|
901
901
|
);
|
|
902
|
-
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
903
|
-
|
|
902
|
+
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.PageLoadingState, {}) : rules.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_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
|
+
chunkFSBR4RCK_js.EntityCard,
|
|
904
904
|
{
|
|
905
905
|
accentGradient: "from-fuchsia-500 to-purple-700",
|
|
906
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" }) }),
|
|
907
907
|
title: rule.name,
|
|
908
908
|
subtitle: `${labels.order}: ${rule.order ?? 0}`,
|
|
909
|
-
status: /* @__PURE__ */ jsxRuntime.jsx(
|
|
909
|
+
status: /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.Badge, { color: rule.enabled ? "emerald" : "zinc", children: rule.enabled ? labels.enabled : labels.disabled }),
|
|
910
910
|
footer: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
|
|
911
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
911
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.Button, { type: "button", size: "sm", outline: true, onClick: () => setEditing(rule), children: labels.edit }),
|
|
912
912
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
913
|
-
|
|
913
|
+
chunkFSBR4RCK_js.Button,
|
|
914
914
|
{
|
|
915
915
|
type: "button",
|
|
916
916
|
size: "sm",
|
|
@@ -927,13 +927,13 @@ function RulesPageView({ labels, rules, loading, onCreate, onUpdate, onDelete })
|
|
|
927
927
|
rule.ruleId
|
|
928
928
|
)) });
|
|
929
929
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
930
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
930
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.ManagementPageLayout, { hero, content, mobileAction }),
|
|
931
931
|
createOpen && /* @__PURE__ */ jsxRuntime.jsx(
|
|
932
932
|
RuleEditor,
|
|
933
933
|
{
|
|
934
934
|
title: labels.createTitle,
|
|
935
935
|
saveLabel: labels.save,
|
|
936
|
-
initial:
|
|
936
|
+
initial: chunkERCDMBRT_js.defaultRuleForm(),
|
|
937
937
|
onClose: () => setCreateOpen(false),
|
|
938
938
|
onSubmit: (value) => {
|
|
939
939
|
onCreate(value);
|
|
@@ -965,7 +965,7 @@ function RuleEditor({
|
|
|
965
965
|
}) {
|
|
966
966
|
const [value, setValue] = react.useState(initial);
|
|
967
967
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
968
|
-
|
|
968
|
+
chunkFSBR4RCK_js.GlassModal,
|
|
969
969
|
{
|
|
970
970
|
open: true,
|
|
971
971
|
onClose,
|
|
@@ -977,12 +977,12 @@ function RuleEditor({
|
|
|
977
977
|
event.preventDefault();
|
|
978
978
|
onSubmit(value);
|
|
979
979
|
},
|
|
980
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
980
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(chunkERCDMBRT_js.RuleForm, { value, onChange: setValue })
|
|
981
981
|
}
|
|
982
982
|
);
|
|
983
983
|
}
|
|
984
984
|
function ruleToFormValue(rule) {
|
|
985
|
-
const base =
|
|
985
|
+
const base = chunkERCDMBRT_js.defaultRuleForm();
|
|
986
986
|
const rawCondition = rule.condition ?? rule.conditions;
|
|
987
987
|
const rawAction = pickAction(rule);
|
|
988
988
|
return {
|
|
@@ -1113,7 +1113,7 @@ var SAMPLE_DATASOURCES = [
|
|
|
1113
1113
|
];
|
|
1114
1114
|
function getDialectLabel(dialect) {
|
|
1115
1115
|
if (!dialect) return "Unknown";
|
|
1116
|
-
for (const category of
|
|
1116
|
+
for (const category of chunkYV7F7IXG_js.DIALECT_CATEGORIES) {
|
|
1117
1117
|
const found = category.dialects.find((d) => d.value === dialect);
|
|
1118
1118
|
if (found) return found.label;
|
|
1119
1119
|
}
|
|
@@ -1121,12 +1121,12 @@ function getDialectLabel(dialect) {
|
|
|
1121
1121
|
}
|
|
1122
1122
|
function getDialectGradient(dialect) {
|
|
1123
1123
|
if (!dialect) return "from-gray-400 to-gray-500";
|
|
1124
|
-
const category =
|
|
1124
|
+
const category = chunkYV7F7IXG_js.findCategory(dialect);
|
|
1125
1125
|
return category?.gradient ?? "from-gray-400 to-gray-500";
|
|
1126
1126
|
}
|
|
1127
1127
|
function getDialectIcon(dialect) {
|
|
1128
1128
|
if (!dialect) return outline.CircleStackIcon;
|
|
1129
|
-
const category =
|
|
1129
|
+
const category = chunkYV7F7IXG_js.findCategory(dialect);
|
|
1130
1130
|
return category?.icon ?? outline.CircleStackIcon;
|
|
1131
1131
|
}
|
|
1132
1132
|
var DIALECT_LOGO = {
|
|
@@ -1194,7 +1194,7 @@ function DatasourcesPageView({
|
|
|
1194
1194
|
}
|
|
1195
1195
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
1196
1196
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1197
|
-
|
|
1197
|
+
chunkFSBR4RCK_js.HeroSection,
|
|
1198
1198
|
{
|
|
1199
1199
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.CircleStackIcon, { className: "h-5 w-5" }),
|
|
1200
1200
|
label: labels.title,
|
|
@@ -1202,7 +1202,7 @@ function DatasourcesPageView({
|
|
|
1202
1202
|
subtitle: labels.subtitle,
|
|
1203
1203
|
gradient: "from-amber-500 to-orange-600",
|
|
1204
1204
|
toolbar: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1205
|
-
|
|
1205
|
+
chunkFSBR4RCK_js.CreateActionButton,
|
|
1206
1206
|
{
|
|
1207
1207
|
mode: "desktop",
|
|
1208
1208
|
label: labels.addDatasource,
|
|
@@ -1213,7 +1213,7 @@ function DatasourcesPageView({
|
|
|
1213
1213
|
}
|
|
1214
1214
|
),
|
|
1215
1215
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1216
|
-
|
|
1216
|
+
chunkFSBR4RCK_js.CreateActionButton,
|
|
1217
1217
|
{
|
|
1218
1218
|
mode: "mobile",
|
|
1219
1219
|
label: labels.addDatasource,
|
|
@@ -1222,7 +1222,7 @@ function DatasourcesPageView({
|
|
|
1222
1222
|
}
|
|
1223
1223
|
),
|
|
1224
1224
|
isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1225
|
-
|
|
1225
|
+
chunkFSBR4RCK_js.PageEmptyState,
|
|
1226
1226
|
{
|
|
1227
1227
|
title: labels.emptyTitle,
|
|
1228
1228
|
message: labels.emptyDescription,
|
|
@@ -1236,13 +1236,13 @@ function DatasourcesPageView({
|
|
|
1236
1236
|
const logoSrc = getDialectLogoSrc(ds.dialect);
|
|
1237
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" }) });
|
|
1238
1238
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1239
|
-
|
|
1239
|
+
chunkFSBR4RCK_js.EntityCard,
|
|
1240
1240
|
{
|
|
1241
1241
|
accentGradient: gradient,
|
|
1242
1242
|
icon: iconElement,
|
|
1243
1243
|
title: ds.name ?? ds.id,
|
|
1244
1244
|
subtitle: dialectLabel,
|
|
1245
|
-
status: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1245
|
+
status: /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.Badge, { color: ds.enabled ? "emerald" : "zinc", children: ds.enabled ? labels.enabled : labels.disabled }),
|
|
1246
1246
|
footer: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2 text-xs text-gray-400 dark:text-gray-500", children: [
|
|
1247
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" }),
|
|
1248
1248
|
ds.timeoutMs && /* @__PURE__ */ jsxRuntime.jsxs("span", { children: [
|
|
@@ -1266,7 +1266,7 @@ function DatasourcesPageView({
|
|
|
1266
1266
|
);
|
|
1267
1267
|
}) }),
|
|
1268
1268
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1269
|
-
|
|
1269
|
+
chunkYV7F7IXG_js.DatasourceModal,
|
|
1270
1270
|
{
|
|
1271
1271
|
open: modalOpen,
|
|
1272
1272
|
onClose: () => setModalOpen(false),
|
|
@@ -1281,7 +1281,7 @@ function DashboardPageView({ labels, appLogo }) {
|
|
|
1281
1281
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex justify-center mb-6", children: appLogo }),
|
|
1282
1282
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-3 text-base text-gray-500 dark:text-gray-400", children: labels.subtitle })
|
|
1283
1283
|
] });
|
|
1284
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1284
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.ManagementPageLayout, { hero, content: null });
|
|
1285
1285
|
}
|
|
1286
1286
|
function AgentsIndexPageView({ labels }) {
|
|
1287
1287
|
const Link = chunkS7KHTUHA_js.useLink();
|
|
@@ -1292,7 +1292,7 @@ function AgentsIndexPageView({ labels }) {
|
|
|
1292
1292
|
{ id: "prompts", title: labels.promptsTitle, subtitle: labels.promptsSubtitle, href: "/agents/prompts", gradient: "from-sky-500 to-blue-700", icon: outline.ChatBubbleLeftEllipsisIcon }
|
|
1293
1293
|
];
|
|
1294
1294
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
1295
|
-
|
|
1295
|
+
chunkFSBR4RCK_js.HeroSection,
|
|
1296
1296
|
{
|
|
1297
1297
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.CpuChipIcon, { className: "h-5 w-5" }),
|
|
1298
1298
|
label: labels.title,
|
|
@@ -1304,7 +1304,7 @@ function AgentsIndexPageView({ labels }) {
|
|
|
1304
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) => {
|
|
1305
1305
|
const Icon = tile.icon;
|
|
1306
1306
|
return /* @__PURE__ */ jsxRuntime.jsx(Link, { href: tile.href, className: "block focus:outline-none", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1307
|
-
|
|
1307
|
+
chunkFSBR4RCK_js.EntityCard,
|
|
1308
1308
|
{
|
|
1309
1309
|
accentGradient: tile.gradient,
|
|
1310
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" }) }),
|
|
@@ -1313,13 +1313,13 @@ function AgentsIndexPageView({ labels }) {
|
|
|
1313
1313
|
}
|
|
1314
1314
|
) }, tile.id);
|
|
1315
1315
|
}) });
|
|
1316
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1316
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.ManagementPageLayout, { hero, content });
|
|
1317
1317
|
}
|
|
1318
1318
|
function WorkflowsPageView({ labels, workflows, onCreate, onUpdateMeta, onPublish }) {
|
|
1319
1319
|
const selectedWorkflow = workflows[0] ?? null;
|
|
1320
1320
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-6", children: [
|
|
1321
1321
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1322
|
-
|
|
1322
|
+
chunkFSBR4RCK_js.SectionHeader,
|
|
1323
1323
|
{
|
|
1324
1324
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.RectangleStackIcon, { className: "h-5 w-5 text-white" }),
|
|
1325
1325
|
title: labels.title,
|
|
@@ -1328,9 +1328,9 @@ function WorkflowsPageView({ labels, workflows, onCreate, onUpdateMeta, onPublis
|
|
|
1328
1328
|
}
|
|
1329
1329
|
),
|
|
1330
1330
|
/* @__PURE__ */ jsxRuntime.jsxs("section", { className: "liquid-surface rounded-2xl p-4 space-y-3", children: [
|
|
1331
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1331
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.Text, { className: "font-semibold text-slate-900 dark:text-slate-100", children: labels.add }),
|
|
1332
1332
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1333
|
-
|
|
1333
|
+
chunkFSBR4RCK_js.Form,
|
|
1334
1334
|
{
|
|
1335
1335
|
onSubmit: (event) => {
|
|
1336
1336
|
event.preventDefault();
|
|
@@ -1341,32 +1341,32 @@ function WorkflowsPageView({ labels, workflows, onCreate, onUpdateMeta, onPublis
|
|
|
1341
1341
|
onCreate({ name, description });
|
|
1342
1342
|
event.currentTarget.reset();
|
|
1343
1343
|
},
|
|
1344
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1345
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1346
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1347
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1344
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(chunkFSBR4RCK_js.FormGrid, { children: [
|
|
1345
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.FormInput, { name: "name", label: labels.workflowName, placeholder: labels.workflowNamePlaceholder, required: true }),
|
|
1346
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.FormTextarea, { name: "description", label: labels.description, placeholder: labels.workflowDescriptionPlaceholder, rows: 3 }),
|
|
1347
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.FormActionsRow, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.Button, { type: "submit", children: labels.create }) })
|
|
1348
1348
|
] })
|
|
1349
1349
|
}
|
|
1350
1350
|
)
|
|
1351
1351
|
] }),
|
|
1352
1352
|
/* @__PURE__ */ jsxRuntime.jsxs("section", { className: "liquid-surface rounded-2xl p-4 space-y-3", children: [
|
|
1353
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1354
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1355
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1356
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1357
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1358
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1359
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1360
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1353
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.Text, { className: "font-semibold text-slate-900 dark:text-slate-100", children: labels.registry }),
|
|
1354
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkFSBR4RCK_js.Table, { children: [
|
|
1355
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.TableHead, { children: /* @__PURE__ */ jsxRuntime.jsxs(chunkFSBR4RCK_js.TableRow, { children: [
|
|
1356
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.TableHeader, { children: labels.name }),
|
|
1357
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.TableHeader, { children: labels.description }),
|
|
1358
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.TableHeader, { children: labels.version }),
|
|
1359
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.TableHeader, { children: labels.status }),
|
|
1360
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.TableHeader, { children: labels.actions })
|
|
1361
1361
|
] }) }),
|
|
1362
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1363
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1364
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1365
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1366
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1367
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1362
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.TableBody, { children: workflows.map((workflow) => /* @__PURE__ */ jsxRuntime.jsxs(chunkFSBR4RCK_js.TableRow, { children: [
|
|
1363
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.TableCell, { children: workflow.name }),
|
|
1364
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.TableCell, { children: workflow.description }),
|
|
1365
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.TableCell, { children: String(workflow.version) }),
|
|
1366
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.TableCell, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.Badge, { children: workflow.isDraft ? labels.statusDraft : labels.statusPublished }) }),
|
|
1367
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.TableCell, { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-2", children: [
|
|
1368
1368
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1369
|
-
|
|
1369
|
+
chunkFSBR4RCK_js.Form,
|
|
1370
1370
|
{
|
|
1371
1371
|
onSubmit: (event) => {
|
|
1372
1372
|
event.preventDefault();
|
|
@@ -1376,17 +1376,17 @@ function WorkflowsPageView({ labels, workflows, onCreate, onUpdateMeta, onPublis
|
|
|
1376
1376
|
description: workflow.description ?? ""
|
|
1377
1377
|
});
|
|
1378
1378
|
},
|
|
1379
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1379
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.InlineForm, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.Button, { type: "submit", outline: true, children: labels.saveMeta }) })
|
|
1380
1380
|
}
|
|
1381
1381
|
),
|
|
1382
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1382
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.Button, { type: "button", color: "sky", onClick: () => onPublish(workflow.id), children: labels.publish })
|
|
1383
1383
|
] }) })
|
|
1384
1384
|
] }, workflow.id)) })
|
|
1385
1385
|
] })
|
|
1386
1386
|
] }),
|
|
1387
1387
|
/* @__PURE__ */ jsxRuntime.jsxs("section", { className: "liquid-surface rounded-2xl p-4 space-y-3", children: [
|
|
1388
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
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(
|
|
1388
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_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(chunkRLLP7VQJ_js.WorkflowWorkspace, { graph: chunk3T2WGL47_js.adaptWorkflowGraphToUi(selectedWorkflow.graph) }) }) : /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.Text, { children: labels.empty })
|
|
1390
1390
|
] })
|
|
1391
1391
|
] });
|
|
1392
1392
|
}
|
|
@@ -1425,7 +1425,7 @@ function WorkflowRunsPageView({ labels, runs, loading, onCancel, onReplay, onVie
|
|
|
1425
1425
|
};
|
|
1426
1426
|
const filteredRuns = statusFilter === "all" ? runs : runs.filter((run) => run.status === statusFilter);
|
|
1427
1427
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
1428
|
-
|
|
1428
|
+
chunkFSBR4RCK_js.HeroSection,
|
|
1429
1429
|
{
|
|
1430
1430
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.ClockIcon, { className: "h-5 w-5" }),
|
|
1431
1431
|
label: labels.title,
|
|
@@ -1433,7 +1433,7 @@ function WorkflowRunsPageView({ labels, runs, loading, onCancel, onReplay, onVie
|
|
|
1433
1433
|
subtitle: labels.subtitle,
|
|
1434
1434
|
gradient: "from-indigo-500 to-sky-700",
|
|
1435
1435
|
toolbar: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-48", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1436
|
-
|
|
1436
|
+
chunkFSBR4RCK_js.FormSelect,
|
|
1437
1437
|
{
|
|
1438
1438
|
name: "statusFilter",
|
|
1439
1439
|
label: labels.filterStatus,
|
|
@@ -1444,19 +1444,19 @@ function WorkflowRunsPageView({ labels, runs, loading, onCancel, onReplay, onVie
|
|
|
1444
1444
|
) })
|
|
1445
1445
|
}
|
|
1446
1446
|
);
|
|
1447
|
-
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1448
|
-
|
|
1447
|
+
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.PageLoadingState, {}) : filteredRuns.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_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
|
+
chunkFSBR4RCK_js.EntityCard,
|
|
1449
1449
|
{
|
|
1450
1450
|
accentGradient: "from-indigo-500 to-sky-700",
|
|
1451
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" }) }),
|
|
1452
1452
|
title: run.id.slice(0, 8),
|
|
1453
1453
|
subtitle: `${labels.startedAt}: ${new Date(run.createdAt).toLocaleString()}`,
|
|
1454
|
-
status: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1454
|
+
status: /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.Badge, { color: BADGE_COLOR[run.status] ?? "zinc", children: statusLabelFor(run.status) }),
|
|
1455
1455
|
footer: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
|
|
1456
|
-
onView && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1457
|
-
onViewTimeline && labels.timeline && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1458
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1459
|
-
run.status === "running" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1456
|
+
onView && /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.Button, { type: "button", size: "sm", outline: true, onClick: () => onView(run), children: labels.view }),
|
|
1457
|
+
onViewTimeline && labels.timeline && /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.Button, { type: "button", size: "sm", outline: true, onClick: () => onViewTimeline(run), children: labels.timeline }),
|
|
1458
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.Button, { type: "button", size: "sm", outline: true, onClick: () => onReplay(run), children: labels.replay }),
|
|
1459
|
+
run.status === "running" && /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.Button, { type: "button", size: "sm", color: "rose", onClick: () => onCancel(run), children: labels.cancel })
|
|
1460
1460
|
] }),
|
|
1461
1461
|
children: [
|
|
1462
1462
|
/* @__PURE__ */ jsxRuntime.jsxs("dl", { className: "mt-1 grid grid-cols-2 gap-1 text-xs text-slate-500 dark:text-slate-400", children: [
|
|
@@ -1470,11 +1470,11 @@ function WorkflowRunsPageView({ labels, runs, loading, onCancel, onReplay, onVie
|
|
|
1470
1470
|
},
|
|
1471
1471
|
run.id
|
|
1472
1472
|
)) });
|
|
1473
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1473
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.ManagementPageLayout, { hero, content });
|
|
1474
1474
|
}
|
|
1475
1475
|
function RunTimelinePageView({ labels, entries, loading, runId }) {
|
|
1476
1476
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
1477
|
-
|
|
1477
|
+
chunkFSBR4RCK_js.HeroSection,
|
|
1478
1478
|
{
|
|
1479
1479
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.ClockIcon, { className: "h-5 w-5" }),
|
|
1480
1480
|
label: labels.title,
|
|
@@ -1484,23 +1484,23 @@ function RunTimelinePageView({ labels, entries, loading, runId }) {
|
|
|
1484
1484
|
}
|
|
1485
1485
|
);
|
|
1486
1486
|
if (loading) {
|
|
1487
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1487
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.ManagementPageLayout, { hero, content: /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.PageLoadingState, {}) });
|
|
1488
1488
|
}
|
|
1489
1489
|
if (entries.length === 0) {
|
|
1490
1490
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1491
|
-
|
|
1491
|
+
chunkFSBR4RCK_js.ManagementPageLayout,
|
|
1492
1492
|
{
|
|
1493
1493
|
hero,
|
|
1494
|
-
content: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1494
|
+
content: /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.PageEmptyState, { title: labels.empty ?? "", message: "", iconName: "folder-open" })
|
|
1495
1495
|
}
|
|
1496
1496
|
);
|
|
1497
1497
|
}
|
|
1498
1498
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1499
|
-
|
|
1499
|
+
chunkFSBR4RCK_js.ManagementPageLayout,
|
|
1500
1500
|
{
|
|
1501
1501
|
hero,
|
|
1502
1502
|
content: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1503
|
-
|
|
1503
|
+
chunkERCDMBRT_js.ExecutionTimelinePanel,
|
|
1504
1504
|
{
|
|
1505
1505
|
entries,
|
|
1506
1506
|
labels
|
|
@@ -1582,7 +1582,7 @@ function ConnectionsPageView({
|
|
|
1582
1582
|
const [createOpen, setCreateOpen] = react.useState(false);
|
|
1583
1583
|
const [editing, setEditing] = react.useState(null);
|
|
1584
1584
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
1585
|
-
|
|
1585
|
+
chunkFSBR4RCK_js.HeroSection,
|
|
1586
1586
|
{
|
|
1587
1587
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.LinkIcon, { className: "h-5 w-5" }),
|
|
1588
1588
|
label: labels.title,
|
|
@@ -1590,7 +1590,7 @@ function ConnectionsPageView({
|
|
|
1590
1590
|
subtitle: labels.subtitle,
|
|
1591
1591
|
gradient: "from-sky-500 to-indigo-600",
|
|
1592
1592
|
toolbar: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1593
|
-
|
|
1593
|
+
chunkFSBR4RCK_js.CreateActionButton,
|
|
1594
1594
|
{
|
|
1595
1595
|
mode: "desktop",
|
|
1596
1596
|
label: labels.add,
|
|
@@ -1601,7 +1601,7 @@ function ConnectionsPageView({
|
|
|
1601
1601
|
}
|
|
1602
1602
|
);
|
|
1603
1603
|
const mobileAction = /* @__PURE__ */ jsxRuntime.jsx(
|
|
1604
|
-
|
|
1604
|
+
chunkFSBR4RCK_js.CreateActionButton,
|
|
1605
1605
|
{
|
|
1606
1606
|
mode: "mobile",
|
|
1607
1607
|
label: labels.add,
|
|
@@ -1609,21 +1609,21 @@ function ConnectionsPageView({
|
|
|
1609
1609
|
accent: "sky"
|
|
1610
1610
|
}
|
|
1611
1611
|
);
|
|
1612
|
-
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1613
|
-
|
|
1612
|
+
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.PageLoadingState, {}) : connections.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_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
|
+
chunkFSBR4RCK_js.EntityCard,
|
|
1614
1614
|
{
|
|
1615
1615
|
accentGradient: "from-sky-500 to-indigo-600",
|
|
1616
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" }) }),
|
|
1617
1617
|
title: conn.name,
|
|
1618
1618
|
subtitle: providerLabel(conn.providerSlug),
|
|
1619
1619
|
status: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-1", children: [
|
|
1620
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1621
|
-
conn.credentialRef ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1620
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.Badge, { color: conn.enabled ? "emerald" : "zinc", children: conn.enabled ? labels.enable : labels.disable }),
|
|
1621
|
+
conn.credentialRef ? /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.Badge, { color: "indigo", children: "Secret set" }) : /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.Badge, { color: "amber", children: "No secret" })
|
|
1622
1622
|
] }),
|
|
1623
1623
|
footer: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
|
|
1624
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1624
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.Button, { type: "button", size: "sm", outline: true, onClick: () => setEditing(conn), children: labels.edit }),
|
|
1625
1625
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1626
|
-
|
|
1626
|
+
chunkFSBR4RCK_js.Button,
|
|
1627
1627
|
{
|
|
1628
1628
|
type: "button",
|
|
1629
1629
|
size: "sm",
|
|
@@ -1644,7 +1644,7 @@ function ConnectionsPageView({
|
|
|
1644
1644
|
conn.id
|
|
1645
1645
|
)) });
|
|
1646
1646
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1647
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1647
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.ManagementPageLayout, { hero, content, mobileAction }),
|
|
1648
1648
|
createOpen && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1649
1649
|
ConnectionEditor,
|
|
1650
1650
|
{
|
|
@@ -1758,7 +1758,7 @@ function ConnectionEditor({
|
|
|
1758
1758
|
return preset.exampleModels?.join(", ") ?? "";
|
|
1759
1759
|
}, [preset]);
|
|
1760
1760
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1761
|
-
|
|
1761
|
+
chunkFSBR4RCK_js.GlassModal,
|
|
1762
1762
|
{
|
|
1763
1763
|
open: true,
|
|
1764
1764
|
onClose,
|
|
@@ -1771,9 +1771,9 @@ function ConnectionEditor({
|
|
|
1771
1771
|
void handleSubmit();
|
|
1772
1772
|
},
|
|
1773
1773
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
1774
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1774
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkFSBR4RCK_js.FormGrid, { children: [
|
|
1775
1775
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1776
|
-
|
|
1776
|
+
chunkFSBR4RCK_js.FormSelect,
|
|
1777
1777
|
{
|
|
1778
1778
|
label: "Provider",
|
|
1779
1779
|
value: value.providerSlug,
|
|
@@ -1784,7 +1784,7 @@ function ConnectionEditor({
|
|
|
1784
1784
|
}
|
|
1785
1785
|
),
|
|
1786
1786
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1787
|
-
|
|
1787
|
+
chunkFSBR4RCK_js.FormInput,
|
|
1788
1788
|
{
|
|
1789
1789
|
label: "Display name",
|
|
1790
1790
|
required: true,
|
|
@@ -1794,7 +1794,7 @@ function ConnectionEditor({
|
|
|
1794
1794
|
}
|
|
1795
1795
|
),
|
|
1796
1796
|
preset.needsRegion && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1797
|
-
|
|
1797
|
+
chunkFSBR4RCK_js.FormInput,
|
|
1798
1798
|
{
|
|
1799
1799
|
label: "Region",
|
|
1800
1800
|
value: value.region,
|
|
@@ -1803,7 +1803,7 @@ function ConnectionEditor({
|
|
|
1803
1803
|
}
|
|
1804
1804
|
),
|
|
1805
1805
|
preset.needsEndpoint && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1806
|
-
|
|
1806
|
+
chunkFSBR4RCK_js.FormInput,
|
|
1807
1807
|
{
|
|
1808
1808
|
label: "Endpoint URL",
|
|
1809
1809
|
value: value.endpoint,
|
|
@@ -1813,7 +1813,7 @@ function ConnectionEditor({
|
|
|
1813
1813
|
)
|
|
1814
1814
|
] }),
|
|
1815
1815
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1816
|
-
|
|
1816
|
+
chunkFSBR4RCK_js.FormInput,
|
|
1817
1817
|
{
|
|
1818
1818
|
label: value.credentialRef ? "Rotate API key (leave blank to keep current)" : "API key",
|
|
1819
1819
|
type: "password",
|
|
@@ -1824,7 +1824,7 @@ function ConnectionEditor({
|
|
|
1824
1824
|
}
|
|
1825
1825
|
),
|
|
1826
1826
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1827
|
-
|
|
1827
|
+
chunkFSBR4RCK_js.FormInput,
|
|
1828
1828
|
{
|
|
1829
1829
|
label: "Model filter (comma-separated, optional)",
|
|
1830
1830
|
value: value.modelFilter,
|
|
@@ -1836,7 +1836,7 @@ function ConnectionEditor({
|
|
|
1836
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: [
|
|
1837
1837
|
/* @__PURE__ */ jsxRuntime.jsx("summary", { className: "cursor-pointer font-medium text-slate-700 dark:text-slate-200", children: "Advanced config (JSON)" }),
|
|
1838
1838
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-3", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1839
|
-
|
|
1839
|
+
chunkFSBR4RCK_js.FormTextarea,
|
|
1840
1840
|
{
|
|
1841
1841
|
rows: 4,
|
|
1842
1842
|
value: value.configJson,
|
|
@@ -1902,7 +1902,7 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
|
|
|
1902
1902
|
{ value: "password", label: labels.typePassword }
|
|
1903
1903
|
];
|
|
1904
1904
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
1905
|
-
|
|
1905
|
+
chunkFSBR4RCK_js.HeroSection,
|
|
1906
1906
|
{
|
|
1907
1907
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.KeyIcon, { className: "h-5 w-5" }),
|
|
1908
1908
|
label: labels.title,
|
|
@@ -1910,7 +1910,7 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
|
|
|
1910
1910
|
subtitle: labels.subtitle,
|
|
1911
1911
|
gradient: "from-rose-500 to-orange-600",
|
|
1912
1912
|
toolbar: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1913
|
-
|
|
1913
|
+
chunkFSBR4RCK_js.CreateActionButton,
|
|
1914
1914
|
{
|
|
1915
1915
|
mode: "desktop",
|
|
1916
1916
|
label: labels.addCredential,
|
|
@@ -1921,7 +1921,7 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
|
|
|
1921
1921
|
}
|
|
1922
1922
|
);
|
|
1923
1923
|
const mobileAction = /* @__PURE__ */ jsxRuntime.jsx(
|
|
1924
|
-
|
|
1924
|
+
chunkFSBR4RCK_js.CreateActionButton,
|
|
1925
1925
|
{
|
|
1926
1926
|
mode: "mobile",
|
|
1927
1927
|
label: labels.addCredential,
|
|
@@ -1929,23 +1929,23 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
|
|
|
1929
1929
|
accent: "rose"
|
|
1930
1930
|
}
|
|
1931
1931
|
);
|
|
1932
|
-
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1933
|
-
|
|
1932
|
+
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.PageLoadingState, {}) : credentials.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_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
|
+
chunkFSBR4RCK_js.EntityCard,
|
|
1934
1934
|
{
|
|
1935
1935
|
accentGradient: "from-rose-500 to-orange-700",
|
|
1936
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" }) }),
|
|
1937
1937
|
title: secret.name,
|
|
1938
1938
|
subtitle: secret.secretType,
|
|
1939
|
-
status: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1939
|
+
status: /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.Badge, { color: secret.disabled ? "zinc" : "emerald", children: secret.disabled ? labels.disable : "Active" }),
|
|
1940
1940
|
footer: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between gap-2", children: [
|
|
1941
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1941
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.CopyableId, { id: secret.secretId }),
|
|
1942
1942
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
|
|
1943
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1943
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkFSBR4RCK_js.Button, { type: "button", size: "sm", outline: true, onClick: () => setRotateFor(secret), children: [
|
|
1944
1944
|
/* @__PURE__ */ jsxRuntime.jsx(outline.ArrowPathIcon, { className: "mr-1 h-3.5 w-3.5" }),
|
|
1945
1945
|
labels.rotate
|
|
1946
1946
|
] }),
|
|
1947
1947
|
!secret.disabled && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1948
|
-
|
|
1948
|
+
chunkFSBR4RCK_js.Button,
|
|
1949
1949
|
{
|
|
1950
1950
|
type: "button",
|
|
1951
1951
|
size: "sm",
|
|
@@ -1974,9 +1974,9 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
|
|
|
1974
1974
|
secret.secretId
|
|
1975
1975
|
)) });
|
|
1976
1976
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1977
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1977
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.ManagementPageLayout, { hero, content, mobileAction }),
|
|
1978
1978
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1979
|
-
|
|
1979
|
+
chunkFSBR4RCK_js.GlassModal,
|
|
1980
1980
|
{
|
|
1981
1981
|
open: createOpen,
|
|
1982
1982
|
onClose: () => setCreateOpen(false),
|
|
@@ -1994,16 +1994,16 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
|
|
|
1994
1994
|
onCreate({ name, value, secretType, description });
|
|
1995
1995
|
setCreateOpen(false);
|
|
1996
1996
|
},
|
|
1997
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1998
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1999
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2000
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2001
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1997
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(chunkFSBR4RCK_js.FormGrid, { children: [
|
|
1998
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.FormInput, { name: "name", label: labels.name, placeholder: labels.namePlaceholder, required: true }),
|
|
1999
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.FormSelect, { name: "secretType", label: labels.type, options: typeOptions, defaultValue: "generic" }),
|
|
2000
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.FormInput, { name: "value", label: labels.value, placeholder: labels.valuePlaceholder, required: true, type: "password" }),
|
|
2001
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.FormTextarea, { name: "description", label: labels.description, placeholder: labels.descriptionPlaceholder, rows: 2 })
|
|
2002
2002
|
] })
|
|
2003
2003
|
}
|
|
2004
2004
|
),
|
|
2005
2005
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2006
|
-
|
|
2006
|
+
chunkFSBR4RCK_js.GlassModal,
|
|
2007
2007
|
{
|
|
2008
2008
|
open: rotateFor !== null,
|
|
2009
2009
|
onClose: () => setRotateFor(null),
|
|
@@ -2018,7 +2018,7 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
|
|
|
2018
2018
|
onRotate(rotateFor, value);
|
|
2019
2019
|
setRotateFor(null);
|
|
2020
2020
|
},
|
|
2021
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2021
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.FormGrid, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.FormInput, { name: "value", label: labels.value, placeholder: labels.valuePlaceholder, required: true, type: "password" }) })
|
|
2022
2022
|
}
|
|
2023
2023
|
)
|
|
2024
2024
|
] });
|
|
@@ -2026,31 +2026,31 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
|
|
|
2026
2026
|
|
|
2027
2027
|
Object.defineProperty(exports, "RolesPageView", {
|
|
2028
2028
|
enumerable: true,
|
|
2029
|
-
get: function () { return
|
|
2029
|
+
get: function () { return chunkRLLP7VQJ_js.RolesPageView; }
|
|
2030
2030
|
});
|
|
2031
2031
|
Object.defineProperty(exports, "UsersPageView", {
|
|
2032
2032
|
enumerable: true,
|
|
2033
|
-
get: function () { return
|
|
2033
|
+
get: function () { return chunkRLLP7VQJ_js.UsersPageView; }
|
|
2034
2034
|
});
|
|
2035
2035
|
Object.defineProperty(exports, "DIALECT_CATEGORIES", {
|
|
2036
2036
|
enumerable: true,
|
|
2037
|
-
get: function () { return
|
|
2037
|
+
get: function () { return chunkYV7F7IXG_js.DIALECT_CATEGORIES; }
|
|
2038
2038
|
});
|
|
2039
2039
|
Object.defineProperty(exports, "DatasourceFormModal", {
|
|
2040
2040
|
enumerable: true,
|
|
2041
|
-
get: function () { return
|
|
2041
|
+
get: function () { return chunkYV7F7IXG_js.DatasourceFormModal; }
|
|
2042
2042
|
});
|
|
2043
2043
|
Object.defineProperty(exports, "DatasourceModal", {
|
|
2044
2044
|
enumerable: true,
|
|
2045
|
-
get: function () { return
|
|
2045
|
+
get: function () { return chunkYV7F7IXG_js.DatasourceModal; }
|
|
2046
2046
|
});
|
|
2047
2047
|
Object.defineProperty(exports, "findCategory", {
|
|
2048
2048
|
enumerable: true,
|
|
2049
|
-
get: function () { return
|
|
2049
|
+
get: function () { return chunkYV7F7IXG_js.findCategory; }
|
|
2050
2050
|
});
|
|
2051
2051
|
Object.defineProperty(exports, "findDialect", {
|
|
2052
2052
|
enumerable: true,
|
|
2053
|
-
get: function () { return
|
|
2053
|
+
get: function () { return chunkYV7F7IXG_js.findDialect; }
|
|
2054
2054
|
});
|
|
2055
2055
|
exports.AgentsConfigPageView = AgentsConfigPageView;
|
|
2056
2056
|
exports.AgentsIndexPageView = AgentsIndexPageView;
|