@datatechsolutions/ui 3.7.1 → 3.7.3
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 +107 -107
- package/dist/astrlabe/index.mjs +3 -3
- package/dist/astrlabe/workflow-canvas.js +3 -3
- package/dist/astrlabe/workflow-canvas.mjs +2 -2
- package/dist/{chunk-2OPBUVTQ.mjs → chunk-32DHEVOH.mjs} +3 -3
- package/dist/{chunk-2OPBUVTQ.mjs.map → chunk-32DHEVOH.mjs.map} +1 -1
- package/dist/{chunk-FUHNEP3Y.js → chunk-3H5CFLVK.js} +135 -135
- package/dist/{chunk-FUHNEP3Y.js.map → chunk-3H5CFLVK.js.map} +1 -1
- package/dist/{chunk-RWYG7QHP.js → chunk-3X3IYDG6.js} +68 -68
- package/dist/{chunk-RWYG7QHP.js.map → chunk-3X3IYDG6.js.map} +1 -1
- package/dist/{chunk-VZIUQE7B.mjs → chunk-57E4TCB2.mjs} +3 -3
- package/dist/{chunk-VZIUQE7B.mjs.map → chunk-57E4TCB2.mjs.map} +1 -1
- package/dist/{chunk-34XRH2FX.mjs → chunk-5W6LMDXV.mjs} +4 -4
- package/dist/{chunk-34XRH2FX.mjs.map → chunk-5W6LMDXV.mjs.map} +1 -1
- package/dist/{chunk-C4AJWDFB.mjs → chunk-5YVOLHSW.mjs} +4 -4
- package/dist/{chunk-C4AJWDFB.mjs.map → chunk-5YVOLHSW.mjs.map} +1 -1
- package/dist/{chunk-YRXDETBK.mjs → chunk-74BU2EBZ.mjs} +6 -6
- package/dist/{chunk-YRXDETBK.mjs.map → chunk-74BU2EBZ.mjs.map} +1 -1
- package/dist/{chunk-QML5AWDK.js → chunk-7JZFNKJD.js} +35 -35
- package/dist/{chunk-QML5AWDK.js.map → chunk-7JZFNKJD.js.map} +1 -1
- package/dist/{chunk-E5YV5ZCB.mjs → chunk-A4A3SQTV.mjs} +8 -4
- package/dist/chunk-A4A3SQTV.mjs.map +1 -0
- package/dist/{chunk-CBFK4W4C.mjs → chunk-CZZOCKEA.mjs} +5 -3
- package/dist/chunk-CZZOCKEA.mjs.map +1 -0
- package/dist/{chunk-CVZXZK2X.js → chunk-E57RZXOR.js} +25 -25
- package/dist/{chunk-CVZXZK2X.js.map → chunk-E57RZXOR.js.map} +1 -1
- package/dist/{chunk-5LCWQKGQ.mjs → chunk-E6C7MFHJ.mjs} +5 -2
- package/dist/chunk-E6C7MFHJ.mjs.map +1 -0
- package/dist/{chunk-NJ6HH4QP.mjs → chunk-EWYAM4WJ.mjs} +3 -3
- package/dist/{chunk-NJ6HH4QP.mjs.map → chunk-EWYAM4WJ.mjs.map} +1 -1
- package/dist/{chunk-RZ3NDH5S.js → chunk-F35GFICG.js} +13 -13
- package/dist/{chunk-RZ3NDH5S.js.map → chunk-F35GFICG.js.map} +1 -1
- package/dist/{chunk-UDYEUTJC.js → chunk-FKUIVS6I.js} +28 -28
- package/dist/{chunk-UDYEUTJC.js.map → chunk-FKUIVS6I.js.map} +1 -1
- package/dist/{chunk-R4EKPXX3.js → chunk-FNA66TT4.js} +5 -2
- package/dist/chunk-FNA66TT4.js.map +1 -0
- package/dist/{chunk-QF6WL7XU.js → chunk-H37VDL7Y.js} +4 -4
- package/dist/{chunk-QF6WL7XU.js.map → chunk-H37VDL7Y.js.map} +1 -1
- package/dist/{chunk-3JZGRXSG.js → chunk-HBOORO52.js} +4 -4
- package/dist/{chunk-3JZGRXSG.js.map → chunk-HBOORO52.js.map} +1 -1
- package/dist/{chunk-4JRMXHPU.mjs → chunk-KKXI7CPF.mjs} +3 -3
- package/dist/{chunk-4JRMXHPU.mjs.map → chunk-KKXI7CPF.mjs.map} +1 -1
- package/dist/{chunk-DXLATMGD.mjs → chunk-PCUINUIC.mjs} +3 -3
- package/dist/{chunk-DXLATMGD.mjs.map → chunk-PCUINUIC.mjs.map} +1 -1
- package/dist/{chunk-CYAAL3BY.mjs → chunk-PYNXIDG3.mjs} +3 -3
- package/dist/{chunk-CYAAL3BY.mjs.map → chunk-PYNXIDG3.mjs.map} +1 -1
- package/dist/{chunk-JLECJI7S.js → chunk-Q4QORAMH.js} +10 -10
- package/dist/{chunk-JLECJI7S.js.map → chunk-Q4QORAMH.js.map} +1 -1
- package/dist/{chunk-JHN2OUWG.js → chunk-Q7HRCCFT.js} +45 -45
- package/dist/{chunk-JHN2OUWG.js.map → chunk-Q7HRCCFT.js.map} +1 -1
- package/dist/{chunk-7YK4WXHO.js → chunk-RCHTRG7R.js} +55 -55
- package/dist/{chunk-7YK4WXHO.js.map → chunk-RCHTRG7R.js.map} +1 -1
- package/dist/{chunk-BBLBSDPN.js → chunk-TCP45Q4B.js} +11 -9
- package/dist/chunk-TCP45Q4B.js.map +1 -0
- package/dist/{chunk-5ZLQTVSV.js → chunk-TJPPZU77.js} +39 -35
- package/dist/chunk-TJPPZU77.js.map +1 -0
- package/dist/{chunk-VDLMWOQM.js → chunk-VPFVW7ZF.js} +35 -35
- package/dist/{chunk-VDLMWOQM.js.map → chunk-VPFVW7ZF.js.map} +1 -1
- package/dist/{chunk-TJEZL72T.mjs → chunk-VS6PTRQ7.mjs} +3 -3
- package/dist/{chunk-TJEZL72T.mjs.map → chunk-VS6PTRQ7.mjs.map} +1 -1
- package/dist/{chunk-ZYRL3WER.mjs → chunk-WDBVIU7W.mjs} +3 -3
- package/dist/{chunk-ZYRL3WER.mjs.map → chunk-WDBVIU7W.mjs.map} +1 -1
- package/dist/{chunk-MWRSMYUN.mjs → chunk-ZP37M2QK.mjs} +6 -6
- package/dist/{chunk-MWRSMYUN.mjs.map → chunk-ZP37M2QK.mjs.map} +1 -1
- package/dist/index.d.mts +7 -1
- package/dist/index.d.ts +7 -1
- package/dist/index.js +664 -664
- package/dist/index.mjs +1 -1
- package/dist/platform/admin/index.js +9 -9
- package/dist/platform/admin/index.mjs +3 -3
- package/dist/platform/agents-workspace.js +6 -6
- package/dist/platform/agents-workspace.mjs +5 -5
- package/dist/platform/app-shell.d.mts +7 -1
- package/dist/platform/app-shell.d.ts +7 -1
- package/dist/platform/app-shell.js +3 -3
- package/dist/platform/app-shell.mjs +2 -2
- package/dist/platform/auth/index.js +21 -21
- package/dist/platform/auth/index.mjs +3 -3
- package/dist/platform/billing/index.js +3 -3
- package/dist/platform/billing/index.mjs +2 -2
- package/dist/platform/impersonation/index.js +3 -3
- package/dist/platform/impersonation/index.mjs +2 -2
- package/dist/platform/index.d.mts +1 -1
- package/dist/platform/index.d.ts +1 -1
- package/dist/platform/index.js +74 -74
- package/dist/platform/index.mjs +17 -17
- package/dist/platform/pages/index.js +240 -236
- package/dist/platform/pages/index.js.map +1 -1
- package/dist/platform/pages/index.mjs +12 -8
- package/dist/platform/pages/index.mjs.map +1 -1
- package/dist/platform/settings/index.js +6 -6
- package/dist/platform/settings/index.mjs +5 -5
- package/dist/platform/workflow-canvas-shell.js +4 -4
- package/dist/platform/workflow-canvas-shell.mjs +3 -3
- package/package.json +1 -1
- package/dist/chunk-5LCWQKGQ.mjs.map +0 -1
- package/dist/chunk-5ZLQTVSV.js.map +0 -1
- package/dist/chunk-BBLBSDPN.js.map +0 -1
- package/dist/chunk-CBFK4W4C.mjs.map +0 -1
- package/dist/chunk-E5YV5ZCB.mjs.map +0 -1
- package/dist/chunk-R4EKPXX3.js.map +0 -1
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
4
|
var chunk3T2WGL47_js = require('../../chunk-3T2WGL47.js');
|
|
5
|
-
var
|
|
6
|
-
var
|
|
7
|
-
var
|
|
5
|
+
var chunkFKUIVS6I_js = require('../../chunk-FKUIVS6I.js');
|
|
6
|
+
var chunkTJPPZU77_js = require('../../chunk-TJPPZU77.js');
|
|
7
|
+
var chunk3H5CFLVK_js = require('../../chunk-3H5CFLVK.js');
|
|
8
8
|
require('../../chunk-55H6WZQP.js');
|
|
9
9
|
require('../../chunk-DJDZIRM6.js');
|
|
10
|
-
require('../../chunk-
|
|
11
|
-
var
|
|
10
|
+
require('../../chunk-3X3IYDG6.js');
|
|
11
|
+
var chunkFNA66TT4_js = require('../../chunk-FNA66TT4.js');
|
|
12
12
|
require('../../chunk-YXN2K77G.js');
|
|
13
13
|
require('../../chunk-SY4MUT5V.js');
|
|
14
14
|
require('../../chunk-2OZZH2IO.js');
|
|
@@ -27,7 +27,7 @@ function AgentsModelsPageView({ labels, models, loading }) {
|
|
|
27
27
|
const filteredModels = searchTerm.trim() ? allModels.filter((model) => model.name.toLowerCase().includes(searchTerm.trim().toLowerCase())) : allModels;
|
|
28
28
|
const isEmpty = allModels.length === 0;
|
|
29
29
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
30
|
-
|
|
30
|
+
chunkFNA66TT4_js.HeroSection,
|
|
31
31
|
{
|
|
32
32
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.CubeTransparentIcon, { className: "h-5 w-5" }),
|
|
33
33
|
label: labels.title,
|
|
@@ -36,9 +36,9 @@ function AgentsModelsPageView({ labels, models, loading }) {
|
|
|
36
36
|
gradient: "from-emerald-500 to-teal-700"
|
|
37
37
|
}
|
|
38
38
|
);
|
|
39
|
-
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
39
|
+
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.PageLoadingState, {}) : isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.PageEmptyState, { title: labels.empty, message: labels.subtitle, iconName: "folder-open" }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
40
40
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
41
|
-
|
|
41
|
+
chunkFNA66TT4_js.SearchBar,
|
|
42
42
|
{
|
|
43
43
|
searchTerm,
|
|
44
44
|
onSearchChange: setSearchTerm,
|
|
@@ -46,7 +46,7 @@ function AgentsModelsPageView({ labels, models, loading }) {
|
|
|
46
46
|
}
|
|
47
47
|
),
|
|
48
48
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3", children: filteredModels.map((model) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
49
|
-
|
|
49
|
+
chunkFNA66TT4_js.EntityCard,
|
|
50
50
|
{
|
|
51
51
|
accentGradient: "from-emerald-500 to-teal-700",
|
|
52
52
|
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" }) }),
|
|
@@ -57,7 +57,7 @@ function AgentsModelsPageView({ labels, models, loading }) {
|
|
|
57
57
|
model.id
|
|
58
58
|
)) })
|
|
59
59
|
] });
|
|
60
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
60
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.ManagementPageLayout, { hero, content });
|
|
61
61
|
}
|
|
62
62
|
function AgentsConfigPageView({ labels, agents, models, loading, onCreate, onUpdate, onDelete }) {
|
|
63
63
|
const [editing, setEditing] = react.useState(null);
|
|
@@ -68,7 +68,7 @@ function AgentsConfigPageView({ labels, agents, models, loading, onCreate, onUpd
|
|
|
68
68
|
const filteredAgents = searchTerm.trim() ? allAgents.filter((agent) => String(agent.name ?? "").toLowerCase().includes(searchTerm.trim().toLowerCase())) : allAgents;
|
|
69
69
|
const isEmpty = allAgents.length === 0;
|
|
70
70
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
71
|
-
|
|
71
|
+
chunkFNA66TT4_js.HeroSection,
|
|
72
72
|
{
|
|
73
73
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.CpuChipIcon, { className: "h-5 w-5" }),
|
|
74
74
|
label: labels.title,
|
|
@@ -76,7 +76,7 @@ function AgentsConfigPageView({ labels, agents, models, loading, onCreate, onUpd
|
|
|
76
76
|
subtitle: labels.subtitle,
|
|
77
77
|
gradient: "from-violet-500 to-indigo-700",
|
|
78
78
|
toolbar: !isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
79
|
-
|
|
79
|
+
chunkFNA66TT4_js.SearchBar,
|
|
80
80
|
{
|
|
81
81
|
searchTerm,
|
|
82
82
|
onSearchChange: setSearchTerm,
|
|
@@ -85,7 +85,7 @@ function AgentsConfigPageView({ labels, agents, models, loading, onCreate, onUpd
|
|
|
85
85
|
}
|
|
86
86
|
) : void 0,
|
|
87
87
|
actions: /* @__PURE__ */ jsxRuntime.jsx(
|
|
88
|
-
|
|
88
|
+
chunkFNA66TT4_js.CreateActionButton,
|
|
89
89
|
{
|
|
90
90
|
mode: "desktop",
|
|
91
91
|
label: labels.addAgent,
|
|
@@ -96,7 +96,7 @@ function AgentsConfigPageView({ labels, agents, models, loading, onCreate, onUpd
|
|
|
96
96
|
}
|
|
97
97
|
);
|
|
98
98
|
const mobileAction = /* @__PURE__ */ jsxRuntime.jsx(
|
|
99
|
-
|
|
99
|
+
chunkFNA66TT4_js.CreateActionButton,
|
|
100
100
|
{
|
|
101
101
|
mode: "mobile",
|
|
102
102
|
label: labels.addAgent,
|
|
@@ -104,10 +104,10 @@ function AgentsConfigPageView({ labels, agents, models, loading, onCreate, onUpd
|
|
|
104
104
|
accent: "violet"
|
|
105
105
|
}
|
|
106
106
|
);
|
|
107
|
-
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
107
|
+
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.PageLoadingState, {}) : isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_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: filteredAgents.map((agent) => {
|
|
108
108
|
const modelRecord = models.find((model) => model.id === String(agent.modelId ?? ""));
|
|
109
109
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
110
|
-
|
|
110
|
+
chunkFNA66TT4_js.EntityCard,
|
|
111
111
|
{
|
|
112
112
|
accentGradient: "from-violet-500 to-indigo-700",
|
|
113
113
|
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" }) }),
|
|
@@ -144,7 +144,7 @@ function AgentsConfigPageView({ labels, agents, models, loading, onCreate, onUpd
|
|
|
144
144
|
);
|
|
145
145
|
}) });
|
|
146
146
|
const renderForm = (initial, onSubmit) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
147
|
-
|
|
147
|
+
chunkFNA66TT4_js.GlassModal,
|
|
148
148
|
{
|
|
149
149
|
open: true,
|
|
150
150
|
onClose: () => {
|
|
@@ -167,18 +167,18 @@ function AgentsConfigPageView({ labels, agents, models, loading, onCreate, onUpd
|
|
|
167
167
|
outputSchema: String(form.get("outputSchema") ?? "").trim() || void 0
|
|
168
168
|
});
|
|
169
169
|
},
|
|
170
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
171
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
172
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
173
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
174
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
175
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
176
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
170
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(chunkFNA66TT4_js.FormGrid, { children: [
|
|
171
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.FormInput, { name: "name", label: labels.name, defaultValue: initial.name ?? "", required: true }),
|
|
172
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.FormSelect, { name: "modelId", label: labels.model, options: modelOptions, defaultValue: initial.modelId ?? modelOptions[0]?.value ?? "", required: true }),
|
|
173
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.FormInput, { name: "maxTokens", label: String(labels.maxTokens), type: "number", defaultValue: String(initial.maxTokens ?? 2048) }),
|
|
174
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.FormInput, { name: "temperature", label: labels.temperature, type: "number", step: 0.1, min: 0, max: 2, defaultValue: String(initial.temperature ?? 0.2) }),
|
|
175
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.FormTextarea, { name: "systemPrompt", label: labels.systemPrompt, defaultValue: initial.systemPrompt ?? "", rows: 4 }),
|
|
176
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.FormTextarea, { name: "outputSchema", label: labels.outputSchema, placeholder: labels.outputSchemaPlaceholder, defaultValue: initial.outputSchema ?? "", rows: 4 })
|
|
177
177
|
] })
|
|
178
178
|
}
|
|
179
179
|
);
|
|
180
180
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
181
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
181
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.ManagementPageLayout, { hero, content, mobileAction }),
|
|
182
182
|
createOpen && renderForm({ title: labels.createTitle }, (input) => {
|
|
183
183
|
onCreate(input);
|
|
184
184
|
setCreateOpen(false);
|
|
@@ -236,7 +236,7 @@ function AgentsPromptsPageView({ labels, agents, prompts, loading, onCreate, onA
|
|
|
236
236
|
}) : allPrompts;
|
|
237
237
|
const isEmpty = allPrompts.length === 0;
|
|
238
238
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
239
|
-
|
|
239
|
+
chunkFNA66TT4_js.HeroSection,
|
|
240
240
|
{
|
|
241
241
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.ChatBubbleLeftEllipsisIcon, { className: "h-5 w-5" }),
|
|
242
242
|
label: labels.title,
|
|
@@ -244,7 +244,7 @@ function AgentsPromptsPageView({ labels, agents, prompts, loading, onCreate, onA
|
|
|
244
244
|
subtitle: labels.subtitle,
|
|
245
245
|
gradient: "from-sky-500 to-blue-700",
|
|
246
246
|
toolbar: /* @__PURE__ */ jsxRuntime.jsx(
|
|
247
|
-
|
|
247
|
+
chunkFNA66TT4_js.CreateActionButton,
|
|
248
248
|
{
|
|
249
249
|
mode: "desktop",
|
|
250
250
|
label: labels.addPrompt,
|
|
@@ -255,7 +255,7 @@ function AgentsPromptsPageView({ labels, agents, prompts, loading, onCreate, onA
|
|
|
255
255
|
}
|
|
256
256
|
);
|
|
257
257
|
const mobileAction = /* @__PURE__ */ jsxRuntime.jsx(
|
|
258
|
-
|
|
258
|
+
chunkFNA66TT4_js.CreateActionButton,
|
|
259
259
|
{
|
|
260
260
|
mode: "mobile",
|
|
261
261
|
label: labels.addPrompt,
|
|
@@ -263,9 +263,9 @@ function AgentsPromptsPageView({ labels, agents, prompts, loading, onCreate, onA
|
|
|
263
263
|
accent: "sky"
|
|
264
264
|
}
|
|
265
265
|
);
|
|
266
|
-
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
266
|
+
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.PageLoadingState, {}) : isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.PageEmptyState, { title: labels.empty, message: labels.subtitle, iconName: "folder-open" }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
267
267
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
268
|
-
|
|
268
|
+
chunkFNA66TT4_js.SearchBar,
|
|
269
269
|
{
|
|
270
270
|
searchTerm,
|
|
271
271
|
onSearchChange: setSearchTerm,
|
|
@@ -276,7 +276,7 @@ function AgentsPromptsPageView({ labels, agents, prompts, loading, onCreate, onA
|
|
|
276
276
|
const agentName = agentNameById.get(prompt.agentId) ?? prompt.agentId;
|
|
277
277
|
const key = `${prompt.agentId}:${prompt.locale}:${prompt.version}`;
|
|
278
278
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
279
|
-
|
|
279
|
+
chunkFNA66TT4_js.EntityCard,
|
|
280
280
|
{
|
|
281
281
|
accentGradient: "from-sky-500 to-blue-700",
|
|
282
282
|
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" }) }),
|
|
@@ -305,9 +305,9 @@ function AgentsPromptsPageView({ labels, agents, prompts, loading, onCreate, onA
|
|
|
305
305
|
}) })
|
|
306
306
|
] });
|
|
307
307
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
308
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
308
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.ManagementPageLayout, { hero, content, mobileAction }),
|
|
309
309
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
310
|
-
|
|
310
|
+
chunkFNA66TT4_js.GlassModal,
|
|
311
311
|
{
|
|
312
312
|
open: createOpen,
|
|
313
313
|
onClose: () => setCreateOpen(false),
|
|
@@ -331,11 +331,11 @@ function AgentsPromptsPageView({ labels, agents, prompts, loading, onCreate, onA
|
|
|
331
331
|
});
|
|
332
332
|
setCreateOpen(false);
|
|
333
333
|
},
|
|
334
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
335
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
336
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
334
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(chunkFNA66TT4_js.FormGrid, { children: [
|
|
335
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.FormSelect, { name: "agentId", label: labels.agent, options: agentOptions, required: true }),
|
|
336
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.FormSelect, { name: "locale", label: labels.locale, options: LOCALE_OPTIONS, defaultValue: "en" }),
|
|
337
337
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
338
|
-
|
|
338
|
+
chunkFNA66TT4_js.FormSelect,
|
|
339
339
|
{
|
|
340
340
|
name: "isActive",
|
|
341
341
|
label: labels.isActive,
|
|
@@ -343,10 +343,10 @@ function AgentsPromptsPageView({ labels, agents, prompts, loading, onCreate, onA
|
|
|
343
343
|
defaultValue: "true"
|
|
344
344
|
}
|
|
345
345
|
),
|
|
346
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
347
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
348
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
349
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
346
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.FormInput, { name: "reason", label: labels.reason }),
|
|
347
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.FormTextarea, { name: "systemPrompt", label: labels.systemPrompt, rows: 3 }),
|
|
348
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.FormTextarea, { name: "userTemplate", label: labels.userTemplate, rows: 3 }),
|
|
349
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.FormTextarea, { name: "prompt", label: labels.prompt, rows: 6, required: true })
|
|
350
350
|
] })
|
|
351
351
|
}
|
|
352
352
|
)
|
|
@@ -381,7 +381,7 @@ function AgentsToolDefinitionsPageView({ labels, tools, loading, onCreate, onUpd
|
|
|
381
381
|
const filteredTools = searchTerm.trim() ? allTools.filter((tool) => tool.name.toLowerCase().includes(searchTerm.trim().toLowerCase())) : allTools;
|
|
382
382
|
const isEmpty = allTools.length === 0;
|
|
383
383
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
384
|
-
|
|
384
|
+
chunkFNA66TT4_js.HeroSection,
|
|
385
385
|
{
|
|
386
386
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.WrenchScrewdriverIcon, { className: "h-5 w-5" }),
|
|
387
387
|
label: labels.title,
|
|
@@ -389,7 +389,7 @@ function AgentsToolDefinitionsPageView({ labels, tools, loading, onCreate, onUpd
|
|
|
389
389
|
subtitle: labels.subtitle,
|
|
390
390
|
gradient: "from-amber-500 to-orange-700",
|
|
391
391
|
toolbar: /* @__PURE__ */ jsxRuntime.jsx(
|
|
392
|
-
|
|
392
|
+
chunkFNA66TT4_js.CreateActionButton,
|
|
393
393
|
{
|
|
394
394
|
mode: "desktop",
|
|
395
395
|
label: labels.addTool,
|
|
@@ -400,7 +400,7 @@ function AgentsToolDefinitionsPageView({ labels, tools, loading, onCreate, onUpd
|
|
|
400
400
|
}
|
|
401
401
|
);
|
|
402
402
|
const mobileAction = /* @__PURE__ */ jsxRuntime.jsx(
|
|
403
|
-
|
|
403
|
+
chunkFNA66TT4_js.CreateActionButton,
|
|
404
404
|
{
|
|
405
405
|
mode: "mobile",
|
|
406
406
|
label: labels.addTool,
|
|
@@ -408,9 +408,9 @@ function AgentsToolDefinitionsPageView({ labels, tools, loading, onCreate, onUpd
|
|
|
408
408
|
accent: "amber"
|
|
409
409
|
}
|
|
410
410
|
);
|
|
411
|
-
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
411
|
+
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.PageLoadingState, {}) : isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.PageEmptyState, { title: labels.empty, message: labels.subtitle, iconName: "folder-open" }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
412
412
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
413
|
-
|
|
413
|
+
chunkFNA66TT4_js.SearchBar,
|
|
414
414
|
{
|
|
415
415
|
searchTerm,
|
|
416
416
|
onSearchChange: setSearchTerm,
|
|
@@ -418,7 +418,7 @@ function AgentsToolDefinitionsPageView({ labels, tools, loading, onCreate, onUpd
|
|
|
418
418
|
}
|
|
419
419
|
),
|
|
420
420
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3", children: filteredTools.map((tool) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
421
|
-
|
|
421
|
+
chunkFNA66TT4_js.EntityCard,
|
|
422
422
|
{
|
|
423
423
|
accentGradient: "from-amber-500 to-orange-700",
|
|
424
424
|
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" }) }),
|
|
@@ -446,7 +446,7 @@ function AgentsToolDefinitionsPageView({ labels, tools, loading, onCreate, onUpd
|
|
|
446
446
|
)) })
|
|
447
447
|
] });
|
|
448
448
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
449
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
449
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.ManagementPageLayout, { hero, content, mobileAction }),
|
|
450
450
|
createOpen && /* @__PURE__ */ jsxRuntime.jsx(
|
|
451
451
|
ToolEditor,
|
|
452
452
|
{
|
|
@@ -504,7 +504,7 @@ function ToolEditor({
|
|
|
504
504
|
setValue((v) => ({ ...v, [key]: next }));
|
|
505
505
|
};
|
|
506
506
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
507
|
-
|
|
507
|
+
chunkFNA66TT4_js.GlassModal,
|
|
508
508
|
{
|
|
509
509
|
open: true,
|
|
510
510
|
onClose,
|
|
@@ -517,9 +517,9 @@ function ToolEditor({
|
|
|
517
517
|
handleSubmit();
|
|
518
518
|
},
|
|
519
519
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-5", children: [
|
|
520
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
520
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkFNA66TT4_js.FormGrid, { children: [
|
|
521
521
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
522
|
-
|
|
522
|
+
chunkFNA66TT4_js.FormInput,
|
|
523
523
|
{
|
|
524
524
|
label: "Name",
|
|
525
525
|
required: true,
|
|
@@ -529,7 +529,7 @@ function ToolEditor({
|
|
|
529
529
|
}
|
|
530
530
|
),
|
|
531
531
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
532
|
-
|
|
532
|
+
chunkFNA66TT4_js.FormSelect,
|
|
533
533
|
{
|
|
534
534
|
label: "Tool type",
|
|
535
535
|
value: value.toolType,
|
|
@@ -539,7 +539,7 @@ function ToolEditor({
|
|
|
539
539
|
}
|
|
540
540
|
),
|
|
541
541
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
542
|
-
|
|
542
|
+
chunkFNA66TT4_js.FormSelect,
|
|
543
543
|
{
|
|
544
544
|
label: "Enabled",
|
|
545
545
|
value: value.enabled ? "true" : "false",
|
|
@@ -548,7 +548,7 @@ function ToolEditor({
|
|
|
548
548
|
}
|
|
549
549
|
),
|
|
550
550
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
551
|
-
|
|
551
|
+
chunkFNA66TT4_js.FormInput,
|
|
552
552
|
{
|
|
553
553
|
label: "Icon (optional)",
|
|
554
554
|
value: value.icon ?? "",
|
|
@@ -558,7 +558,7 @@ function ToolEditor({
|
|
|
558
558
|
)
|
|
559
559
|
] }),
|
|
560
560
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
561
|
-
|
|
561
|
+
chunkFNA66TT4_js.FormTextarea,
|
|
562
562
|
{
|
|
563
563
|
label: "Description",
|
|
564
564
|
rows: 2,
|
|
@@ -606,7 +606,7 @@ function ParametersEditor({
|
|
|
606
606
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2", children: [
|
|
607
607
|
parameters.map((param, index) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-[1fr_160px_1fr_110px_auto] items-end gap-2", children: [
|
|
608
608
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
609
|
-
|
|
609
|
+
chunkFNA66TT4_js.FormInput,
|
|
610
610
|
{
|
|
611
611
|
label: "Name",
|
|
612
612
|
value: param.name,
|
|
@@ -615,7 +615,7 @@ function ParametersEditor({
|
|
|
615
615
|
}
|
|
616
616
|
),
|
|
617
617
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
618
|
-
|
|
618
|
+
chunkFNA66TT4_js.FormSelect,
|
|
619
619
|
{
|
|
620
620
|
label: "Type",
|
|
621
621
|
value: param.type,
|
|
@@ -624,7 +624,7 @@ function ParametersEditor({
|
|
|
624
624
|
}
|
|
625
625
|
),
|
|
626
626
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
627
|
-
|
|
627
|
+
chunkFNA66TT4_js.FormInput,
|
|
628
628
|
{
|
|
629
629
|
label: "Description",
|
|
630
630
|
value: param.description,
|
|
@@ -658,9 +658,9 @@ function HandlerConfigEditor({
|
|
|
658
658
|
if (toolType === "http") {
|
|
659
659
|
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: [
|
|
660
660
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-2 text-sm font-semibold text-slate-700 dark:text-slate-200", children: "HTTP handler" }),
|
|
661
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
661
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkFNA66TT4_js.FormGrid, { children: [
|
|
662
662
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
663
|
-
|
|
663
|
+
chunkFNA66TT4_js.FormSelect,
|
|
664
664
|
{
|
|
665
665
|
label: "Method",
|
|
666
666
|
value: stringProp(config, "method", "GET"),
|
|
@@ -669,7 +669,7 @@ function HandlerConfigEditor({
|
|
|
669
669
|
}
|
|
670
670
|
),
|
|
671
671
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
672
|
-
|
|
672
|
+
chunkFNA66TT4_js.FormInput,
|
|
673
673
|
{
|
|
674
674
|
label: "URL template",
|
|
675
675
|
value: stringProp(config, "url"),
|
|
@@ -679,7 +679,7 @@ function HandlerConfigEditor({
|
|
|
679
679
|
)
|
|
680
680
|
] }),
|
|
681
681
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
682
|
-
|
|
682
|
+
chunkFNA66TT4_js.FormTextarea,
|
|
683
683
|
{
|
|
684
684
|
label: "Headers (JSON)",
|
|
685
685
|
rows: 3,
|
|
@@ -689,7 +689,7 @@ function HandlerConfigEditor({
|
|
|
689
689
|
}
|
|
690
690
|
),
|
|
691
691
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
692
|
-
|
|
692
|
+
chunkFNA66TT4_js.FormTextarea,
|
|
693
693
|
{
|
|
694
694
|
label: "Body template",
|
|
695
695
|
rows: 3,
|
|
@@ -704,7 +704,7 @@ function HandlerConfigEditor({
|
|
|
704
704
|
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: [
|
|
705
705
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-2 text-sm font-semibold text-slate-700 dark:text-slate-200", children: "Function handler" }),
|
|
706
706
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
707
|
-
|
|
707
|
+
chunkFNA66TT4_js.FormInput,
|
|
708
708
|
{
|
|
709
709
|
label: "Implementation key",
|
|
710
710
|
value: stringProp(config, "implementationKey"),
|
|
@@ -718,9 +718,9 @@ function HandlerConfigEditor({
|
|
|
718
718
|
if (toolType === "database_query") {
|
|
719
719
|
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: [
|
|
720
720
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-2 text-sm font-semibold text-slate-700 dark:text-slate-200", children: "Database query handler" }),
|
|
721
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
721
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkFNA66TT4_js.FormGrid, { children: [
|
|
722
722
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
723
|
-
|
|
723
|
+
chunkFNA66TT4_js.FormInput,
|
|
724
724
|
{
|
|
725
725
|
label: "Datasource ID",
|
|
726
726
|
value: stringProp(config, "datasourceId"),
|
|
@@ -729,7 +729,7 @@ function HandlerConfigEditor({
|
|
|
729
729
|
}
|
|
730
730
|
),
|
|
731
731
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
732
|
-
|
|
732
|
+
chunkFNA66TT4_js.FormInput,
|
|
733
733
|
{
|
|
734
734
|
label: "Max rows",
|
|
735
735
|
type: "number",
|
|
@@ -739,7 +739,7 @@ function HandlerConfigEditor({
|
|
|
739
739
|
)
|
|
740
740
|
] }),
|
|
741
741
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
742
|
-
|
|
742
|
+
chunkFNA66TT4_js.FormTextarea,
|
|
743
743
|
{
|
|
744
744
|
label: "Query template",
|
|
745
745
|
rows: 4,
|
|
@@ -755,7 +755,7 @@ function HandlerConfigEditor({
|
|
|
755
755
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-2 text-sm font-semibold text-slate-700 dark:text-slate-200", children: "Code execution handler" }),
|
|
756
756
|
/* @__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." }),
|
|
757
757
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
758
|
-
|
|
758
|
+
chunkFNA66TT4_js.FormSelect,
|
|
759
759
|
{
|
|
760
760
|
label: "Language",
|
|
761
761
|
value: stringProp(config, "language", "javascript"),
|
|
@@ -767,7 +767,7 @@ function HandlerConfigEditor({
|
|
|
767
767
|
}
|
|
768
768
|
),
|
|
769
769
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
770
|
-
|
|
770
|
+
chunkFNA66TT4_js.FormTextarea,
|
|
771
771
|
{
|
|
772
772
|
label: "Code",
|
|
773
773
|
rows: 6,
|
|
@@ -780,9 +780,9 @@ function HandlerConfigEditor({
|
|
|
780
780
|
}
|
|
781
781
|
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: [
|
|
782
782
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-2 text-sm font-semibold text-slate-700 dark:text-slate-200", children: "API call handler" }),
|
|
783
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
783
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkFNA66TT4_js.FormGrid, { children: [
|
|
784
784
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
785
|
-
|
|
785
|
+
chunkFNA66TT4_js.FormInput,
|
|
786
786
|
{
|
|
787
787
|
label: "URL",
|
|
788
788
|
value: stringProp(config, "url"),
|
|
@@ -790,7 +790,7 @@ function HandlerConfigEditor({
|
|
|
790
790
|
}
|
|
791
791
|
),
|
|
792
792
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
793
|
-
|
|
793
|
+
chunkFNA66TT4_js.FormSelect,
|
|
794
794
|
{
|
|
795
795
|
label: "Auth",
|
|
796
796
|
value: stringProp(config, "authType", "bearer"),
|
|
@@ -804,7 +804,7 @@ function HandlerConfigEditor({
|
|
|
804
804
|
}
|
|
805
805
|
),
|
|
806
806
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
807
|
-
|
|
807
|
+
chunkFNA66TT4_js.FormInput,
|
|
808
808
|
{
|
|
809
809
|
label: "Credential secret id",
|
|
810
810
|
value: stringProp(config, "credentialRef"),
|
|
@@ -937,7 +937,7 @@ function RulesPageView({ labels, rules, loading, onCreate, onUpdate, onDelete })
|
|
|
937
937
|
const filteredRules = searchTerm.trim() ? allRules.filter((rule) => (rule.name ?? "").toLowerCase().includes(searchTerm.trim().toLowerCase())) : allRules;
|
|
938
938
|
const isEmpty = allRules.length === 0;
|
|
939
939
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
940
|
-
|
|
940
|
+
chunkFNA66TT4_js.HeroSection,
|
|
941
941
|
{
|
|
942
942
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.AdjustmentsHorizontalIcon, { className: "h-5 w-5" }),
|
|
943
943
|
label: labels.title,
|
|
@@ -945,7 +945,7 @@ function RulesPageView({ labels, rules, loading, onCreate, onUpdate, onDelete })
|
|
|
945
945
|
subtitle: labels.subtitle,
|
|
946
946
|
gradient: "from-fuchsia-500 to-purple-700",
|
|
947
947
|
toolbar: /* @__PURE__ */ jsxRuntime.jsx(
|
|
948
|
-
|
|
948
|
+
chunkFNA66TT4_js.CreateActionButton,
|
|
949
949
|
{
|
|
950
950
|
mode: "desktop",
|
|
951
951
|
label: labels.addRule,
|
|
@@ -956,7 +956,7 @@ function RulesPageView({ labels, rules, loading, onCreate, onUpdate, onDelete })
|
|
|
956
956
|
}
|
|
957
957
|
);
|
|
958
958
|
const mobileAction = /* @__PURE__ */ jsxRuntime.jsx(
|
|
959
|
-
|
|
959
|
+
chunkFNA66TT4_js.CreateActionButton,
|
|
960
960
|
{
|
|
961
961
|
mode: "mobile",
|
|
962
962
|
label: labels.addRule,
|
|
@@ -964,9 +964,9 @@ function RulesPageView({ labels, rules, loading, onCreate, onUpdate, onDelete })
|
|
|
964
964
|
accent: "fuchsia"
|
|
965
965
|
}
|
|
966
966
|
);
|
|
967
|
-
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
967
|
+
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.PageLoadingState, {}) : isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.PageEmptyState, { title: labels.empty, message: labels.subtitle, iconName: "folder-open" }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
968
968
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
969
|
-
|
|
969
|
+
chunkFNA66TT4_js.SearchBar,
|
|
970
970
|
{
|
|
971
971
|
searchTerm,
|
|
972
972
|
onSearchChange: setSearchTerm,
|
|
@@ -974,7 +974,7 @@ function RulesPageView({ labels, rules, loading, onCreate, onUpdate, onDelete })
|
|
|
974
974
|
}
|
|
975
975
|
),
|
|
976
976
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3", children: filteredRules.map((rule) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
977
|
-
|
|
977
|
+
chunkFNA66TT4_js.EntityCard,
|
|
978
978
|
{
|
|
979
979
|
accentGradient: "from-fuchsia-500 to-purple-700",
|
|
980
980
|
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" }) }),
|
|
@@ -1002,13 +1002,13 @@ function RulesPageView({ labels, rules, loading, onCreate, onUpdate, onDelete })
|
|
|
1002
1002
|
)) })
|
|
1003
1003
|
] });
|
|
1004
1004
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1005
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1005
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.ManagementPageLayout, { hero, content, mobileAction }),
|
|
1006
1006
|
createOpen && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1007
1007
|
RuleEditor,
|
|
1008
1008
|
{
|
|
1009
1009
|
title: labels.createTitle,
|
|
1010
1010
|
saveLabel: labels.save,
|
|
1011
|
-
initial:
|
|
1011
|
+
initial: chunk3H5CFLVK_js.defaultRuleForm(),
|
|
1012
1012
|
onClose: () => setCreateOpen(false),
|
|
1013
1013
|
onSubmit: (value) => {
|
|
1014
1014
|
onCreate(value);
|
|
@@ -1040,7 +1040,7 @@ function RuleEditor({
|
|
|
1040
1040
|
}) {
|
|
1041
1041
|
const [value, setValue] = react.useState(initial);
|
|
1042
1042
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1043
|
-
|
|
1043
|
+
chunkFNA66TT4_js.GlassModal,
|
|
1044
1044
|
{
|
|
1045
1045
|
open: true,
|
|
1046
1046
|
onClose,
|
|
@@ -1052,12 +1052,12 @@ function RuleEditor({
|
|
|
1052
1052
|
event.preventDefault();
|
|
1053
1053
|
onSubmit(value);
|
|
1054
1054
|
},
|
|
1055
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1055
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(chunk3H5CFLVK_js.RuleForm, { value, onChange: setValue })
|
|
1056
1056
|
}
|
|
1057
1057
|
);
|
|
1058
1058
|
}
|
|
1059
1059
|
function ruleToFormValue(rule) {
|
|
1060
|
-
const base =
|
|
1060
|
+
const base = chunk3H5CFLVK_js.defaultRuleForm();
|
|
1061
1061
|
const rawCondition = rule.condition ?? rule.conditions;
|
|
1062
1062
|
const rawAction = pickAction(rule);
|
|
1063
1063
|
return {
|
|
@@ -1188,7 +1188,7 @@ var SAMPLE_DATASOURCES = [
|
|
|
1188
1188
|
];
|
|
1189
1189
|
function getDialectLabel(dialect) {
|
|
1190
1190
|
if (!dialect) return "Unknown";
|
|
1191
|
-
for (const category of
|
|
1191
|
+
for (const category of chunkTJPPZU77_js.DIALECT_CATEGORIES) {
|
|
1192
1192
|
const found = category.dialects.find((d) => d.value === dialect);
|
|
1193
1193
|
if (found) return found.label;
|
|
1194
1194
|
}
|
|
@@ -1196,12 +1196,12 @@ function getDialectLabel(dialect) {
|
|
|
1196
1196
|
}
|
|
1197
1197
|
function getDialectGradient(dialect) {
|
|
1198
1198
|
if (!dialect) return "from-gray-400 to-gray-500";
|
|
1199
|
-
const category =
|
|
1199
|
+
const category = chunkTJPPZU77_js.findCategory(dialect);
|
|
1200
1200
|
return category?.gradient ?? "from-gray-400 to-gray-500";
|
|
1201
1201
|
}
|
|
1202
1202
|
function getDialectIcon(dialect) {
|
|
1203
1203
|
if (!dialect) return outline.CircleStackIcon;
|
|
1204
|
-
const category =
|
|
1204
|
+
const category = chunkTJPPZU77_js.findCategory(dialect);
|
|
1205
1205
|
return category?.icon ?? outline.CircleStackIcon;
|
|
1206
1206
|
}
|
|
1207
1207
|
var DIALECT_LOGO = {
|
|
@@ -1226,7 +1226,11 @@ var DIALECT_LOGO = {
|
|
|
1226
1226
|
cockroachdb: "/logos/datasources/cockroachdb.svg",
|
|
1227
1227
|
supabase: "/logos/datasources/supabase.svg",
|
|
1228
1228
|
firebase: "/logos/datasources/firebase.svg",
|
|
1229
|
-
neo4j: "/logos/datasources/neo4j.svg"
|
|
1229
|
+
neo4j: "/logos/datasources/neo4j.svg",
|
|
1230
|
+
// AWS managed services (icepanel.io / official AWS Architecture Icons)
|
|
1231
|
+
neptune: "/logos/datasources/neptune.svg",
|
|
1232
|
+
timestream: "/logos/datasources/timestream.svg",
|
|
1233
|
+
opensearch: "/logos/datasources/opensearch.svg"
|
|
1230
1234
|
};
|
|
1231
1235
|
function getDialectLogoSrc(dialect) {
|
|
1232
1236
|
if (!dialect) return null;
|
|
@@ -1271,7 +1275,7 @@ function DatasourcesPageView({
|
|
|
1271
1275
|
}
|
|
1272
1276
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
1273
1277
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1274
|
-
|
|
1278
|
+
chunkFNA66TT4_js.HeroSection,
|
|
1275
1279
|
{
|
|
1276
1280
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.CircleStackIcon, { className: "h-5 w-5" }),
|
|
1277
1281
|
label: labels.title,
|
|
@@ -1279,7 +1283,7 @@ function DatasourcesPageView({
|
|
|
1279
1283
|
subtitle: labels.subtitle,
|
|
1280
1284
|
gradient: "from-amber-500 to-orange-600",
|
|
1281
1285
|
toolbar: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1282
|
-
|
|
1286
|
+
chunkFNA66TT4_js.CreateActionButton,
|
|
1283
1287
|
{
|
|
1284
1288
|
mode: "desktop",
|
|
1285
1289
|
label: labels.addDatasource,
|
|
@@ -1290,7 +1294,7 @@ function DatasourcesPageView({
|
|
|
1290
1294
|
}
|
|
1291
1295
|
),
|
|
1292
1296
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1293
|
-
|
|
1297
|
+
chunkFNA66TT4_js.CreateActionButton,
|
|
1294
1298
|
{
|
|
1295
1299
|
mode: "mobile",
|
|
1296
1300
|
label: labels.addDatasource,
|
|
@@ -1299,7 +1303,7 @@ function DatasourcesPageView({
|
|
|
1299
1303
|
}
|
|
1300
1304
|
),
|
|
1301
1305
|
!isEmpty && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1302
|
-
|
|
1306
|
+
chunkFNA66TT4_js.SearchBar,
|
|
1303
1307
|
{
|
|
1304
1308
|
searchTerm,
|
|
1305
1309
|
onSearchChange: setSearchTerm,
|
|
@@ -1307,7 +1311,7 @@ function DatasourcesPageView({
|
|
|
1307
1311
|
}
|
|
1308
1312
|
),
|
|
1309
1313
|
isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1310
|
-
|
|
1314
|
+
chunkFNA66TT4_js.PageEmptyState,
|
|
1311
1315
|
{
|
|
1312
1316
|
title: labels.emptyTitle,
|
|
1313
1317
|
message: labels.emptyDescription,
|
|
@@ -1321,7 +1325,7 @@ function DatasourcesPageView({
|
|
|
1321
1325
|
const logoSrc = getDialectLogoSrc(ds.dialect);
|
|
1322
1326
|
const iconElement = logoSrc ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "liquid-surface flex h-11 w-11 items-center justify-center rounded-lg", 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" }) });
|
|
1323
1327
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1324
|
-
|
|
1328
|
+
chunkFNA66TT4_js.EntityCard,
|
|
1325
1329
|
{
|
|
1326
1330
|
accentGradient: gradient,
|
|
1327
1331
|
icon: iconElement,
|
|
@@ -1351,7 +1355,7 @@ function DatasourcesPageView({
|
|
|
1351
1355
|
);
|
|
1352
1356
|
}) }),
|
|
1353
1357
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1354
|
-
|
|
1358
|
+
chunkTJPPZU77_js.DatasourceModal,
|
|
1355
1359
|
{
|
|
1356
1360
|
open: modalOpen,
|
|
1357
1361
|
onClose: () => setModalOpen(false),
|
|
@@ -1366,7 +1370,7 @@ function DashboardPageView({ labels, appLogo }) {
|
|
|
1366
1370
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex justify-center mb-6", children: appLogo }),
|
|
1367
1371
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-3 text-base text-slate-600 dark:text-slate-300", children: labels.subtitle })
|
|
1368
1372
|
] });
|
|
1369
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1373
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.ManagementPageLayout, { hero, content: null });
|
|
1370
1374
|
}
|
|
1371
1375
|
function AgentsIndexPageView({ labels }) {
|
|
1372
1376
|
const Link = chunkS7KHTUHA_js.useLink();
|
|
@@ -1380,7 +1384,7 @@ function AgentsIndexPageView({ labels }) {
|
|
|
1380
1384
|
const filteredTiles = searchTerm.trim() ? allTiles.filter((tile) => tile.title.toLowerCase().includes(searchTerm.trim().toLowerCase())) : allTiles;
|
|
1381
1385
|
const isEmpty = allTiles.length === 0;
|
|
1382
1386
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
1383
|
-
|
|
1387
|
+
chunkFNA66TT4_js.HeroSection,
|
|
1384
1388
|
{
|
|
1385
1389
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.CpuChipIcon, { className: "h-5 w-5" }),
|
|
1386
1390
|
label: labels.title,
|
|
@@ -1391,7 +1395,7 @@ function AgentsIndexPageView({ labels }) {
|
|
|
1391
1395
|
);
|
|
1392
1396
|
const content = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1393
1397
|
!isEmpty && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1394
|
-
|
|
1398
|
+
chunkFNA66TT4_js.SearchBar,
|
|
1395
1399
|
{
|
|
1396
1400
|
searchTerm,
|
|
1397
1401
|
onSearchChange: setSearchTerm,
|
|
@@ -1401,7 +1405,7 @@ function AgentsIndexPageView({ labels }) {
|
|
|
1401
1405
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-4", children: filteredTiles.map((tile) => {
|
|
1402
1406
|
const Icon = tile.icon;
|
|
1403
1407
|
return /* @__PURE__ */ jsxRuntime.jsx(Link, { href: tile.href, className: "block focus:outline-none", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1404
|
-
|
|
1408
|
+
chunkFNA66TT4_js.EntityCard,
|
|
1405
1409
|
{
|
|
1406
1410
|
accentGradient: tile.gradient,
|
|
1407
1411
|
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" }) }),
|
|
@@ -1411,13 +1415,13 @@ function AgentsIndexPageView({ labels }) {
|
|
|
1411
1415
|
) }, tile.id);
|
|
1412
1416
|
}) })
|
|
1413
1417
|
] });
|
|
1414
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1418
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.ManagementPageLayout, { hero, content });
|
|
1415
1419
|
}
|
|
1416
1420
|
function WorkflowsPageView({ labels, workflows, onCreate, onUpdateMeta, onPublish }) {
|
|
1417
1421
|
const selectedWorkflow = workflows[0] ?? null;
|
|
1418
1422
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-6", children: [
|
|
1419
1423
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1420
|
-
|
|
1424
|
+
chunkFNA66TT4_js.SectionHeader,
|
|
1421
1425
|
{
|
|
1422
1426
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.RectangleStackIcon, { className: "h-5 w-5 text-white" }),
|
|
1423
1427
|
title: labels.title,
|
|
@@ -1426,9 +1430,9 @@ function WorkflowsPageView({ labels, workflows, onCreate, onUpdateMeta, onPublis
|
|
|
1426
1430
|
}
|
|
1427
1431
|
),
|
|
1428
1432
|
/* @__PURE__ */ jsxRuntime.jsxs("section", { className: "liquid-surface rounded-2xl p-4 space-y-3", children: [
|
|
1429
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1433
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.Text, { className: "font-semibold text-slate-900 dark:text-slate-100", children: labels.add }),
|
|
1430
1434
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1431
|
-
|
|
1435
|
+
chunkFNA66TT4_js.Form,
|
|
1432
1436
|
{
|
|
1433
1437
|
onSubmit: (event) => {
|
|
1434
1438
|
event.preventDefault();
|
|
@@ -1439,32 +1443,32 @@ function WorkflowsPageView({ labels, workflows, onCreate, onUpdateMeta, onPublis
|
|
|
1439
1443
|
onCreate({ name, description });
|
|
1440
1444
|
event.currentTarget.reset();
|
|
1441
1445
|
},
|
|
1442
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1443
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1444
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1445
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1446
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(chunkFNA66TT4_js.FormGrid, { children: [
|
|
1447
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.FormInput, { name: "name", label: labels.workflowName, placeholder: labels.workflowNamePlaceholder, required: true }),
|
|
1448
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.FormTextarea, { name: "description", label: labels.description, placeholder: labels.workflowDescriptionPlaceholder, rows: 3 }),
|
|
1449
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.FormActionsRow, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Button, { type: "submit", children: labels.create }) })
|
|
1446
1450
|
] })
|
|
1447
1451
|
}
|
|
1448
1452
|
)
|
|
1449
1453
|
] }),
|
|
1450
1454
|
/* @__PURE__ */ jsxRuntime.jsxs("section", { className: "liquid-surface rounded-2xl p-4 space-y-3", children: [
|
|
1451
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1452
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1453
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1454
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1455
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1456
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1457
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1458
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1455
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.Text, { className: "font-semibold text-slate-900 dark:text-slate-100", children: labels.registry }),
|
|
1456
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkFNA66TT4_js.Table, { children: [
|
|
1457
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.TableHead, { children: /* @__PURE__ */ jsxRuntime.jsxs(chunkFNA66TT4_js.TableRow, { children: [
|
|
1458
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.TableHeader, { children: labels.name }),
|
|
1459
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.TableHeader, { children: labels.description }),
|
|
1460
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.TableHeader, { children: labels.version }),
|
|
1461
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.TableHeader, { children: labels.status }),
|
|
1462
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.TableHeader, { children: labels.actions })
|
|
1459
1463
|
] }) }),
|
|
1460
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1461
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1462
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1463
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1464
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1465
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1464
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.TableBody, { children: workflows.map((workflow) => /* @__PURE__ */ jsxRuntime.jsxs(chunkFNA66TT4_js.TableRow, { children: [
|
|
1465
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.TableCell, { children: workflow.name }),
|
|
1466
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.TableCell, { children: workflow.description }),
|
|
1467
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.TableCell, { children: String(workflow.version) }),
|
|
1468
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.TableCell, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Badge, { children: workflow.isDraft ? labels.statusDraft : labels.statusPublished }) }),
|
|
1469
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.TableCell, { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-2", children: [
|
|
1466
1470
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1467
|
-
|
|
1471
|
+
chunkFNA66TT4_js.Form,
|
|
1468
1472
|
{
|
|
1469
1473
|
onSubmit: (event) => {
|
|
1470
1474
|
event.preventDefault();
|
|
@@ -1474,7 +1478,7 @@ function WorkflowsPageView({ labels, workflows, onCreate, onUpdateMeta, onPublis
|
|
|
1474
1478
|
description: workflow.description ?? ""
|
|
1475
1479
|
});
|
|
1476
1480
|
},
|
|
1477
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1481
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.InlineForm, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Button, { type: "submit", outline: true, children: labels.saveMeta }) })
|
|
1478
1482
|
}
|
|
1479
1483
|
),
|
|
1480
1484
|
/* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Button, { type: "button", color: "sky", onClick: () => onPublish(workflow.id), children: labels.publish })
|
|
@@ -1483,8 +1487,8 @@ function WorkflowsPageView({ labels, workflows, onCreate, onUpdateMeta, onPublis
|
|
|
1483
1487
|
] })
|
|
1484
1488
|
] }),
|
|
1485
1489
|
/* @__PURE__ */ jsxRuntime.jsxs("section", { className: "liquid-surface rounded-2xl p-4 space-y-3", children: [
|
|
1486
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1487
|
-
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(
|
|
1490
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.Text, { className: "font-semibold text-slate-900 dark:text-slate-100", children: labels.workspace }),
|
|
1491
|
+
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(chunkFKUIVS6I_js.WorkflowWorkspace, { graph: chunk3T2WGL47_js.adaptWorkflowGraphToUi(selectedWorkflow.graph) }) }) : /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.Text, { children: labels.empty })
|
|
1488
1492
|
] })
|
|
1489
1493
|
] });
|
|
1490
1494
|
}
|
|
@@ -1533,7 +1537,7 @@ function WorkflowRunsPageView({ labels, runs, loading, onCancel, onReplay, onVie
|
|
|
1533
1537
|
});
|
|
1534
1538
|
const isEmpty = allRuns.length === 0;
|
|
1535
1539
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
1536
|
-
|
|
1540
|
+
chunkFNA66TT4_js.HeroSection,
|
|
1537
1541
|
{
|
|
1538
1542
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.ClockIcon, { className: "h-5 w-5" }),
|
|
1539
1543
|
label: labels.title,
|
|
@@ -1541,7 +1545,7 @@ function WorkflowRunsPageView({ labels, runs, loading, onCancel, onReplay, onVie
|
|
|
1541
1545
|
subtitle: labels.subtitle,
|
|
1542
1546
|
gradient: "from-indigo-500 to-sky-700",
|
|
1543
1547
|
toolbar: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-full sm:w-48", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1544
|
-
|
|
1548
|
+
chunkFNA66TT4_js.FormSelect,
|
|
1545
1549
|
{
|
|
1546
1550
|
name: "statusFilter",
|
|
1547
1551
|
label: labels.filterStatus,
|
|
@@ -1552,9 +1556,9 @@ function WorkflowRunsPageView({ labels, runs, loading, onCancel, onReplay, onVie
|
|
|
1552
1556
|
) })
|
|
1553
1557
|
}
|
|
1554
1558
|
);
|
|
1555
|
-
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1559
|
+
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.PageLoadingState, {}) : filteredRuns.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.PageEmptyState, { title: labels.empty, message: labels.subtitle, iconName: "folder-open" }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1556
1560
|
!isEmpty && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1557
|
-
|
|
1561
|
+
chunkFNA66TT4_js.SearchBar,
|
|
1558
1562
|
{
|
|
1559
1563
|
searchTerm,
|
|
1560
1564
|
onSearchChange: setSearchTerm,
|
|
@@ -1562,7 +1566,7 @@ function WorkflowRunsPageView({ labels, runs, loading, onCancel, onReplay, onVie
|
|
|
1562
1566
|
}
|
|
1563
1567
|
),
|
|
1564
1568
|
/* @__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(
|
|
1565
|
-
|
|
1569
|
+
chunkFNA66TT4_js.EntityCard,
|
|
1566
1570
|
{
|
|
1567
1571
|
accentGradient: "from-indigo-500 to-sky-700",
|
|
1568
1572
|
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" }) }),
|
|
@@ -1588,11 +1592,11 @@ function WorkflowRunsPageView({ labels, runs, loading, onCancel, onReplay, onVie
|
|
|
1588
1592
|
run.id
|
|
1589
1593
|
)) })
|
|
1590
1594
|
] });
|
|
1591
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1595
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.ManagementPageLayout, { hero, content });
|
|
1592
1596
|
}
|
|
1593
1597
|
function RunTimelinePageView({ labels, entries, loading, runId }) {
|
|
1594
1598
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
1595
|
-
|
|
1599
|
+
chunkFNA66TT4_js.HeroSection,
|
|
1596
1600
|
{
|
|
1597
1601
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.ClockIcon, { className: "h-5 w-5" }),
|
|
1598
1602
|
label: labels.title,
|
|
@@ -1602,23 +1606,23 @@ function RunTimelinePageView({ labels, entries, loading, runId }) {
|
|
|
1602
1606
|
}
|
|
1603
1607
|
);
|
|
1604
1608
|
if (loading) {
|
|
1605
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1609
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.ManagementPageLayout, { hero, content: /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.PageLoadingState, {}) });
|
|
1606
1610
|
}
|
|
1607
1611
|
if (entries.length === 0) {
|
|
1608
1612
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1609
|
-
|
|
1613
|
+
chunkFNA66TT4_js.ManagementPageLayout,
|
|
1610
1614
|
{
|
|
1611
1615
|
hero,
|
|
1612
|
-
content: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1616
|
+
content: /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.PageEmptyState, { title: labels.empty ?? "", message: "", iconName: "folder-open" })
|
|
1613
1617
|
}
|
|
1614
1618
|
);
|
|
1615
1619
|
}
|
|
1616
1620
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1617
|
-
|
|
1621
|
+
chunkFNA66TT4_js.ManagementPageLayout,
|
|
1618
1622
|
{
|
|
1619
1623
|
hero,
|
|
1620
1624
|
content: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1621
|
-
|
|
1625
|
+
chunk3H5CFLVK_js.ExecutionTimelinePanel,
|
|
1622
1626
|
{
|
|
1623
1627
|
entries,
|
|
1624
1628
|
labels
|
|
@@ -1704,7 +1708,7 @@ function ConnectionsPageView({
|
|
|
1704
1708
|
const filteredConnections = searchTerm.trim() ? allConnections.filter((conn) => conn.name.toLowerCase().includes(searchTerm.trim().toLowerCase())) : allConnections;
|
|
1705
1709
|
const isEmpty = allConnections.length === 0;
|
|
1706
1710
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
1707
|
-
|
|
1711
|
+
chunkFNA66TT4_js.HeroSection,
|
|
1708
1712
|
{
|
|
1709
1713
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.LinkIcon, { className: "h-5 w-5" }),
|
|
1710
1714
|
label: labels.title,
|
|
@@ -1712,7 +1716,7 @@ function ConnectionsPageView({
|
|
|
1712
1716
|
subtitle: labels.subtitle,
|
|
1713
1717
|
gradient: "from-sky-500 to-indigo-600",
|
|
1714
1718
|
toolbar: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1715
|
-
|
|
1719
|
+
chunkFNA66TT4_js.CreateActionButton,
|
|
1716
1720
|
{
|
|
1717
1721
|
mode: "desktop",
|
|
1718
1722
|
label: labels.add,
|
|
@@ -1723,7 +1727,7 @@ function ConnectionsPageView({
|
|
|
1723
1727
|
}
|
|
1724
1728
|
);
|
|
1725
1729
|
const mobileAction = /* @__PURE__ */ jsxRuntime.jsx(
|
|
1726
|
-
|
|
1730
|
+
chunkFNA66TT4_js.CreateActionButton,
|
|
1727
1731
|
{
|
|
1728
1732
|
mode: "mobile",
|
|
1729
1733
|
label: labels.add,
|
|
@@ -1731,9 +1735,9 @@ function ConnectionsPageView({
|
|
|
1731
1735
|
accent: "sky"
|
|
1732
1736
|
}
|
|
1733
1737
|
);
|
|
1734
|
-
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1738
|
+
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.PageLoadingState, {}) : isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.PageEmptyState, { title: labels.empty, message: labels.subtitle, iconName: "folder-open" }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1735
1739
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1736
|
-
|
|
1740
|
+
chunkFNA66TT4_js.SearchBar,
|
|
1737
1741
|
{
|
|
1738
1742
|
searchTerm,
|
|
1739
1743
|
onSearchChange: setSearchTerm,
|
|
@@ -1741,7 +1745,7 @@ function ConnectionsPageView({
|
|
|
1741
1745
|
}
|
|
1742
1746
|
),
|
|
1743
1747
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3", children: filteredConnections.map((conn) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1744
|
-
|
|
1748
|
+
chunkFNA66TT4_js.EntityCard,
|
|
1745
1749
|
{
|
|
1746
1750
|
accentGradient: "from-sky-500 to-indigo-600",
|
|
1747
1751
|
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" }) }),
|
|
@@ -1776,7 +1780,7 @@ function ConnectionsPageView({
|
|
|
1776
1780
|
)) })
|
|
1777
1781
|
] });
|
|
1778
1782
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1779
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1783
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.ManagementPageLayout, { hero, content, mobileAction }),
|
|
1780
1784
|
createOpen && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1781
1785
|
ConnectionEditor,
|
|
1782
1786
|
{
|
|
@@ -1890,7 +1894,7 @@ function ConnectionEditor({
|
|
|
1890
1894
|
return preset.exampleModels?.join(", ") ?? "";
|
|
1891
1895
|
}, [preset]);
|
|
1892
1896
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1893
|
-
|
|
1897
|
+
chunkFNA66TT4_js.GlassModal,
|
|
1894
1898
|
{
|
|
1895
1899
|
open: true,
|
|
1896
1900
|
onClose,
|
|
@@ -1903,9 +1907,9 @@ function ConnectionEditor({
|
|
|
1903
1907
|
void handleSubmit();
|
|
1904
1908
|
},
|
|
1905
1909
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
1906
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1910
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkFNA66TT4_js.FormGrid, { children: [
|
|
1907
1911
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1908
|
-
|
|
1912
|
+
chunkFNA66TT4_js.FormSelect,
|
|
1909
1913
|
{
|
|
1910
1914
|
label: "Provider",
|
|
1911
1915
|
value: value.providerSlug,
|
|
@@ -1916,7 +1920,7 @@ function ConnectionEditor({
|
|
|
1916
1920
|
}
|
|
1917
1921
|
),
|
|
1918
1922
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1919
|
-
|
|
1923
|
+
chunkFNA66TT4_js.FormInput,
|
|
1920
1924
|
{
|
|
1921
1925
|
label: "Display name",
|
|
1922
1926
|
required: true,
|
|
@@ -1926,7 +1930,7 @@ function ConnectionEditor({
|
|
|
1926
1930
|
}
|
|
1927
1931
|
),
|
|
1928
1932
|
preset.needsRegion && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1929
|
-
|
|
1933
|
+
chunkFNA66TT4_js.FormInput,
|
|
1930
1934
|
{
|
|
1931
1935
|
label: "Region",
|
|
1932
1936
|
value: value.region,
|
|
@@ -1935,7 +1939,7 @@ function ConnectionEditor({
|
|
|
1935
1939
|
}
|
|
1936
1940
|
),
|
|
1937
1941
|
preset.needsEndpoint && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1938
|
-
|
|
1942
|
+
chunkFNA66TT4_js.FormInput,
|
|
1939
1943
|
{
|
|
1940
1944
|
label: "Endpoint URL",
|
|
1941
1945
|
value: value.endpoint,
|
|
@@ -1945,7 +1949,7 @@ function ConnectionEditor({
|
|
|
1945
1949
|
)
|
|
1946
1950
|
] }),
|
|
1947
1951
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1948
|
-
|
|
1952
|
+
chunkFNA66TT4_js.FormInput,
|
|
1949
1953
|
{
|
|
1950
1954
|
label: value.credentialRef ? "Rotate API key (leave blank to keep current)" : "API key",
|
|
1951
1955
|
type: "password",
|
|
@@ -1956,7 +1960,7 @@ function ConnectionEditor({
|
|
|
1956
1960
|
}
|
|
1957
1961
|
),
|
|
1958
1962
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1959
|
-
|
|
1963
|
+
chunkFNA66TT4_js.FormInput,
|
|
1960
1964
|
{
|
|
1961
1965
|
label: "Model filter (comma-separated, optional)",
|
|
1962
1966
|
value: value.modelFilter,
|
|
@@ -1968,7 +1972,7 @@ function ConnectionEditor({
|
|
|
1968
1972
|
/* @__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: [
|
|
1969
1973
|
/* @__PURE__ */ jsxRuntime.jsx("summary", { className: "cursor-pointer font-medium text-slate-700 dark:text-slate-200", children: "Advanced config (JSON)" }),
|
|
1970
1974
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-3", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1971
|
-
|
|
1975
|
+
chunkFNA66TT4_js.FormTextarea,
|
|
1972
1976
|
{
|
|
1973
1977
|
rows: 4,
|
|
1974
1978
|
value: value.configJson,
|
|
@@ -2038,7 +2042,7 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
|
|
|
2038
2042
|
{ value: "password", label: labels.typePassword }
|
|
2039
2043
|
];
|
|
2040
2044
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
2041
|
-
|
|
2045
|
+
chunkFNA66TT4_js.HeroSection,
|
|
2042
2046
|
{
|
|
2043
2047
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.KeyIcon, { className: "h-5 w-5" }),
|
|
2044
2048
|
label: labels.title,
|
|
@@ -2046,7 +2050,7 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
|
|
|
2046
2050
|
subtitle: labels.subtitle,
|
|
2047
2051
|
gradient: "from-rose-500 to-orange-600",
|
|
2048
2052
|
toolbar: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2049
|
-
|
|
2053
|
+
chunkFNA66TT4_js.CreateActionButton,
|
|
2050
2054
|
{
|
|
2051
2055
|
mode: "desktop",
|
|
2052
2056
|
label: labels.addCredential,
|
|
@@ -2057,7 +2061,7 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
|
|
|
2057
2061
|
}
|
|
2058
2062
|
);
|
|
2059
2063
|
const mobileAction = /* @__PURE__ */ jsxRuntime.jsx(
|
|
2060
|
-
|
|
2064
|
+
chunkFNA66TT4_js.CreateActionButton,
|
|
2061
2065
|
{
|
|
2062
2066
|
mode: "mobile",
|
|
2063
2067
|
label: labels.addCredential,
|
|
@@ -2065,9 +2069,9 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
|
|
|
2065
2069
|
accent: "rose"
|
|
2066
2070
|
}
|
|
2067
2071
|
);
|
|
2068
|
-
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
2072
|
+
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.PageLoadingState, {}) : isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.PageEmptyState, { title: labels.empty, message: labels.subtitle, iconName: "folder-open" }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
2069
2073
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2070
|
-
|
|
2074
|
+
chunkFNA66TT4_js.SearchBar,
|
|
2071
2075
|
{
|
|
2072
2076
|
searchTerm,
|
|
2073
2077
|
onSearchChange: setSearchTerm,
|
|
@@ -2075,7 +2079,7 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
|
|
|
2075
2079
|
}
|
|
2076
2080
|
),
|
|
2077
2081
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3", children: filteredCredentials.map((secret) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2078
|
-
|
|
2082
|
+
chunkFNA66TT4_js.EntityCard,
|
|
2079
2083
|
{
|
|
2080
2084
|
accentGradient: "from-rose-500 to-orange-700",
|
|
2081
2085
|
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" }) }),
|
|
@@ -2083,7 +2087,7 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
|
|
|
2083
2087
|
subtitle: secret.secretType,
|
|
2084
2088
|
status: /* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Badge, { color: secret.disabled ? "zinc" : "emerald", children: secret.disabled ? labels.disable : "Active" }),
|
|
2085
2089
|
footer: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between gap-2", children: [
|
|
2086
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2090
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.CopyableId, { id: secret.secretId }),
|
|
2087
2091
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
|
|
2088
2092
|
/* @__PURE__ */ jsxRuntime.jsxs(chunkBHOT22QL_js.Button, { type: "button", size: "sm", outline: true, onClick: () => setRotateFor(secret), children: [
|
|
2089
2093
|
/* @__PURE__ */ jsxRuntime.jsx(outline.ArrowPathIcon, { className: "mr-1 h-3.5 w-3.5" }),
|
|
@@ -2120,9 +2124,9 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
|
|
|
2120
2124
|
)) })
|
|
2121
2125
|
] });
|
|
2122
2126
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
2123
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2127
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.ManagementPageLayout, { hero, content, mobileAction }),
|
|
2124
2128
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2125
|
-
|
|
2129
|
+
chunkFNA66TT4_js.GlassModal,
|
|
2126
2130
|
{
|
|
2127
2131
|
open: createOpen,
|
|
2128
2132
|
onClose: () => setCreateOpen(false),
|
|
@@ -2140,16 +2144,16 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
|
|
|
2140
2144
|
onCreate({ name, value, secretType, description });
|
|
2141
2145
|
setCreateOpen(false);
|
|
2142
2146
|
},
|
|
2143
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2144
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2145
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2146
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2147
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2147
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(chunkFNA66TT4_js.FormGrid, { children: [
|
|
2148
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.FormInput, { name: "name", label: labels.name, placeholder: labels.namePlaceholder, required: true }),
|
|
2149
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.FormSelect, { name: "secretType", label: labels.type, options: typeOptions, defaultValue: "generic" }),
|
|
2150
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.FormInput, { name: "value", label: labels.value, placeholder: labels.valuePlaceholder, required: true, type: "password" }),
|
|
2151
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.FormTextarea, { name: "description", label: labels.description, placeholder: labels.descriptionPlaceholder, rows: 2 })
|
|
2148
2152
|
] })
|
|
2149
2153
|
}
|
|
2150
2154
|
),
|
|
2151
2155
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2152
|
-
|
|
2156
|
+
chunkFNA66TT4_js.GlassModal,
|
|
2153
2157
|
{
|
|
2154
2158
|
open: rotateFor !== null,
|
|
2155
2159
|
onClose: () => setRotateFor(null),
|
|
@@ -2164,7 +2168,7 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
|
|
|
2164
2168
|
onRotate(rotateFor, value);
|
|
2165
2169
|
setRotateFor(null);
|
|
2166
2170
|
},
|
|
2167
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2171
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.FormGrid, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.FormInput, { name: "value", label: labels.value, placeholder: labels.valuePlaceholder, required: true, type: "password" }) })
|
|
2168
2172
|
}
|
|
2169
2173
|
)
|
|
2170
2174
|
] });
|
|
@@ -2218,7 +2222,7 @@ function AgentsWorkspacePageView({
|
|
|
2218
2222
|
}, [agents, selectedId]);
|
|
2219
2223
|
const isEmpty = agents.length === 0;
|
|
2220
2224
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
2221
|
-
|
|
2225
|
+
chunkFNA66TT4_js.HeroSection,
|
|
2222
2226
|
{
|
|
2223
2227
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.CpuChipIcon, { className: "h-5 w-5" }),
|
|
2224
2228
|
label: labels.title,
|
|
@@ -2226,7 +2230,7 @@ function AgentsWorkspacePageView({
|
|
|
2226
2230
|
subtitle: labels.subtitle,
|
|
2227
2231
|
gradient: "from-violet-500 to-indigo-700",
|
|
2228
2232
|
actions: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2229
|
-
|
|
2233
|
+
chunkFNA66TT4_js.CreateActionButton,
|
|
2230
2234
|
{
|
|
2231
2235
|
mode: "desktop",
|
|
2232
2236
|
label: labels.addAgent,
|
|
@@ -2237,7 +2241,7 @@ function AgentsWorkspacePageView({
|
|
|
2237
2241
|
}
|
|
2238
2242
|
);
|
|
2239
2243
|
const mobileAction = /* @__PURE__ */ jsxRuntime.jsx(
|
|
2240
|
-
|
|
2244
|
+
chunkFNA66TT4_js.CreateActionButton,
|
|
2241
2245
|
{
|
|
2242
2246
|
mode: "mobile",
|
|
2243
2247
|
label: labels.addAgent,
|
|
@@ -2245,8 +2249,8 @@ function AgentsWorkspacePageView({
|
|
|
2245
2249
|
accent: "violet"
|
|
2246
2250
|
}
|
|
2247
2251
|
);
|
|
2248
|
-
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
2249
|
-
|
|
2252
|
+
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.PageLoadingState, {}) : isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
2253
|
+
chunkFNA66TT4_js.PageEmptyState,
|
|
2250
2254
|
{
|
|
2251
2255
|
title: labels.empty,
|
|
2252
2256
|
message: labels.emptyMessage,
|
|
@@ -2254,7 +2258,7 @@ function AgentsWorkspacePageView({
|
|
|
2254
2258
|
}
|
|
2255
2259
|
) : /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
2256
2260
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2257
|
-
|
|
2261
|
+
chunkFNA66TT4_js.SearchBar,
|
|
2258
2262
|
{
|
|
2259
2263
|
searchTerm,
|
|
2260
2264
|
onSearchChange: setSearchTerm,
|
|
@@ -2262,15 +2266,15 @@ function AgentsWorkspacePageView({
|
|
|
2262
2266
|
}
|
|
2263
2267
|
),
|
|
2264
2268
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-1 gap-4 lg:grid-cols-[20rem_minmax(0,1fr)]", children: [
|
|
2265
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "lg:sticky lg:top-4", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2269
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "lg:sticky lg:top-4", children: /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.ListCard, { variant: "glass", children: filteredAgents.map((agent) => {
|
|
2266
2270
|
const id = String(agent.agentId ?? agent.id ?? "");
|
|
2267
2271
|
const active = id === selectedId;
|
|
2268
2272
|
const initials = deriveInitials(String(agent.name ?? id));
|
|
2269
2273
|
const modelName = models.find((m) => m.id === String(agent.modelId ?? ""))?.name ?? String(agent.modelId ?? "");
|
|
2270
2274
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2271
|
-
|
|
2275
|
+
chunkFNA66TT4_js.ListCardItem,
|
|
2272
2276
|
{
|
|
2273
|
-
leading: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2277
|
+
leading: /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.Avatar, { tone: active ? "violet" : "slate", initials }),
|
|
2274
2278
|
trailing: agent.activePromptVersion > 0 ? /* @__PURE__ */ jsxRuntime.jsxs(chunkBHOT22QL_js.Badge, { color: "emerald", children: [
|
|
2275
2279
|
"v",
|
|
2276
2280
|
agent.activePromptVersion
|
|
@@ -2312,7 +2316,7 @@ function AgentsWorkspacePageView({
|
|
|
2312
2316
|
},
|
|
2313
2317
|
String(selectedAgent.agentId ?? selectedAgent.id ?? "")
|
|
2314
2318
|
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
2315
|
-
|
|
2319
|
+
chunkFNA66TT4_js.SectionCard,
|
|
2316
2320
|
{
|
|
2317
2321
|
header: {
|
|
2318
2322
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.CpuChipIcon, { className: "h-4 w-4" }),
|
|
@@ -2320,7 +2324,7 @@ function AgentsWorkspacePageView({
|
|
|
2320
2324
|
subtitle: labels.noSelectionMessage
|
|
2321
2325
|
},
|
|
2322
2326
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2323
|
-
|
|
2327
|
+
chunkFNA66TT4_js.PageEmptyState,
|
|
2324
2328
|
{
|
|
2325
2329
|
title: labels.noSelection,
|
|
2326
2330
|
message: labels.noSelectionMessage,
|
|
@@ -2332,7 +2336,7 @@ function AgentsWorkspacePageView({
|
|
|
2332
2336
|
] })
|
|
2333
2337
|
] });
|
|
2334
2338
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
2335
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2339
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.ManagementPageLayout, { hero, content, mobileAction }),
|
|
2336
2340
|
createOpen && /* @__PURE__ */ jsxRuntime.jsx(
|
|
2337
2341
|
CreateAgentDialog,
|
|
2338
2342
|
{
|
|
@@ -2365,7 +2369,7 @@ function AgentDetail({
|
|
|
2365
2369
|
}) {
|
|
2366
2370
|
const agentId = String(agent.agentId ?? agent.id ?? "");
|
|
2367
2371
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2368
|
-
|
|
2372
|
+
chunkFNA66TT4_js.SectionCard,
|
|
2369
2373
|
{
|
|
2370
2374
|
header: {
|
|
2371
2375
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.CpuChipIcon, { className: "h-4 w-4" }),
|
|
@@ -2390,15 +2394,15 @@ function AgentDetail({
|
|
|
2390
2394
|
]
|
|
2391
2395
|
}
|
|
2392
2396
|
),
|
|
2393
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2394
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
2395
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2396
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2397
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2398
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2397
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(chunkFNA66TT4_js.Tabs, { defaultValue: "general", className: "w-full", children: [
|
|
2398
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkFNA66TT4_js.TabsList, { className: "bg-white/40 dark:bg-white/[0.06]", children: [
|
|
2399
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.TabsTrigger, { value: "general", children: labels.generalTab }),
|
|
2400
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.TabsTrigger, { value: "prompt", children: labels.promptTab }),
|
|
2401
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.TabsTrigger, { value: "tools", children: labels.toolsTab }),
|
|
2402
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.TabsTrigger, { value: "model", children: labels.modelTab })
|
|
2399
2403
|
] }),
|
|
2400
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2401
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2404
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.TabsContent, { value: "general", className: "space-y-4 pt-4", children: /* @__PURE__ */ jsxRuntime.jsx(GeneralTab, { agent, labels, onSubmit: (input) => onUpdateAgent(agentId, input) }) }),
|
|
2405
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.TabsContent, { value: "prompt", className: "space-y-4 pt-4", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2402
2406
|
PromptTab,
|
|
2403
2407
|
{
|
|
2404
2408
|
agent,
|
|
@@ -2408,7 +2412,7 @@ function AgentDetail({
|
|
|
2408
2412
|
onActivate: (promptId) => onActivatePrompt(agentId, promptId)
|
|
2409
2413
|
}
|
|
2410
2414
|
) }),
|
|
2411
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2415
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.TabsContent, { value: "tools", className: "space-y-4 pt-4", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2412
2416
|
ToolsTab,
|
|
2413
2417
|
{
|
|
2414
2418
|
agent,
|
|
@@ -2418,7 +2422,7 @@ function AgentDetail({
|
|
|
2418
2422
|
onDetach: (toolId) => onDetachTool(agentId, toolId)
|
|
2419
2423
|
}
|
|
2420
2424
|
) }),
|
|
2421
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2425
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.TabsContent, { value: "model", className: "space-y-4 pt-4", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2422
2426
|
ModelTab,
|
|
2423
2427
|
{
|
|
2424
2428
|
agent,
|
|
@@ -2450,7 +2454,7 @@ function GeneralTab({
|
|
|
2450
2454
|
const initialRole = String(agent.role ?? "");
|
|
2451
2455
|
const initialStatus = String(agent.status ?? "draft");
|
|
2452
2456
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2453
|
-
|
|
2457
|
+
chunkFNA66TT4_js.SectionCard,
|
|
2454
2458
|
{
|
|
2455
2459
|
variant: "glass",
|
|
2456
2460
|
header: {
|
|
@@ -2479,10 +2483,10 @@ function GeneralTab({
|
|
|
2479
2483
|
},
|
|
2480
2484
|
className: "space-y-4",
|
|
2481
2485
|
children: [
|
|
2482
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
2483
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2486
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkFNA66TT4_js.FormGrid, { children: [
|
|
2487
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.FormInput, { name: "name", label: labels.name, defaultValue: initial.name, required: true }),
|
|
2484
2488
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2485
|
-
|
|
2489
|
+
chunkFNA66TT4_js.FormSelect,
|
|
2486
2490
|
{
|
|
2487
2491
|
name: "status",
|
|
2488
2492
|
label: labels.status,
|
|
@@ -2494,9 +2498,9 @@ function GeneralTab({
|
|
|
2494
2498
|
]
|
|
2495
2499
|
}
|
|
2496
2500
|
),
|
|
2497
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2501
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.FormInput, { name: "role", label: labels.role, placeholder: labels.rolePlaceholder, defaultValue: initialRole }),
|
|
2498
2502
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2499
|
-
|
|
2503
|
+
chunkFNA66TT4_js.FormInput,
|
|
2500
2504
|
{
|
|
2501
2505
|
name: "maxTokens",
|
|
2502
2506
|
label: labels.maxTokens,
|
|
@@ -2505,7 +2509,7 @@ function GeneralTab({
|
|
|
2505
2509
|
}
|
|
2506
2510
|
),
|
|
2507
2511
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2508
|
-
|
|
2512
|
+
chunkFNA66TT4_js.FormInput,
|
|
2509
2513
|
{
|
|
2510
2514
|
name: "temperature",
|
|
2511
2515
|
label: labels.temperature,
|
|
@@ -2517,7 +2521,7 @@ function GeneralTab({
|
|
|
2517
2521
|
}
|
|
2518
2522
|
)
|
|
2519
2523
|
] }),
|
|
2520
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2524
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.FormTextarea, { name: "description", label: labels.description, defaultValue: initialDescription, rows: 3 }),
|
|
2521
2525
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex justify-end", children: /* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Button, { type: "submit", color: "indigo", disabled: submitting, children: submitting ? labels.saving : labels.save }) })
|
|
2522
2526
|
]
|
|
2523
2527
|
}
|
|
@@ -2537,7 +2541,7 @@ function PromptTab({
|
|
|
2537
2541
|
const currentSystem = String(agent.systemPrompt ?? "");
|
|
2538
2542
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
2539
2543
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2540
|
-
|
|
2544
|
+
chunkFNA66TT4_js.SectionCard,
|
|
2541
2545
|
{
|
|
2542
2546
|
variant: "glass",
|
|
2543
2547
|
header: {
|
|
@@ -2549,7 +2553,7 @@ function PromptTab({
|
|
|
2549
2553
|
}
|
|
2550
2554
|
),
|
|
2551
2555
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2552
|
-
|
|
2556
|
+
chunkFNA66TT4_js.SectionCard,
|
|
2553
2557
|
{
|
|
2554
2558
|
variant: "glass",
|
|
2555
2559
|
header: {
|
|
@@ -2560,10 +2564,10 @@ function PromptTab({
|
|
|
2560
2564
|
/* @__PURE__ */ jsxRuntime.jsx(outline.PlusIcon, { className: "h-4 w-4" }),
|
|
2561
2565
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-1.5", children: labels.addPrompt })
|
|
2562
2566
|
] }),
|
|
2563
|
-
children: prompts.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-slate-500 dark:text-slate-400", children: labels.promptVersionsEmpty }) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
2567
|
+
children: prompts.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-slate-500 dark:text-slate-400", children: labels.promptVersionsEmpty }) : /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.ListCard, { children: prompts.map((prompt) => {
|
|
2564
2568
|
const id = `${prompt.agentId}:${prompt.locale}:${prompt.version}`;
|
|
2565
2569
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2566
|
-
|
|
2570
|
+
chunkFNA66TT4_js.ListCardItem,
|
|
2567
2571
|
{
|
|
2568
2572
|
leading: /* @__PURE__ */ jsxRuntime.jsxs(chunkBHOT22QL_js.Badge, { color: prompt.isActive ? "emerald" : "zinc", children: [
|
|
2569
2573
|
"v",
|
|
@@ -2581,7 +2585,7 @@ function PromptTab({
|
|
|
2581
2585
|
}
|
|
2582
2586
|
),
|
|
2583
2587
|
addOpen && /* @__PURE__ */ jsxRuntime.jsx(
|
|
2584
|
-
|
|
2588
|
+
chunkFNA66TT4_js.GlassModal,
|
|
2585
2589
|
{
|
|
2586
2590
|
open: true,
|
|
2587
2591
|
onClose: () => setAddOpen(false),
|
|
@@ -2602,10 +2606,10 @@ function PromptTab({
|
|
|
2602
2606
|
});
|
|
2603
2607
|
setAddOpen(false);
|
|
2604
2608
|
},
|
|
2605
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2606
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2609
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(chunkFNA66TT4_js.FormGrid, { children: [
|
|
2610
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.FormSelect, { name: "locale", label: labels.promptLocale, options: LOCALE_OPTIONS2, defaultValue: "en" }),
|
|
2607
2611
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2608
|
-
|
|
2612
|
+
chunkFNA66TT4_js.FormSelect,
|
|
2609
2613
|
{
|
|
2610
2614
|
name: "isActive",
|
|
2611
2615
|
label: labels.promptIsActive,
|
|
@@ -2616,10 +2620,10 @@ function PromptTab({
|
|
|
2616
2620
|
defaultValue: "true"
|
|
2617
2621
|
}
|
|
2618
2622
|
),
|
|
2619
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2620
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2621
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2622
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2623
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.FormInput, { name: "reason", label: labels.promptReason }),
|
|
2624
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.FormTextarea, { name: "systemPrompt", label: labels.promptSystemPrompt, rows: 3 }),
|
|
2625
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.FormTextarea, { name: "userTemplate", label: labels.promptUserTemplate, rows: 3 }),
|
|
2626
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.FormTextarea, { name: "prompt", label: labels.promptText, rows: 6, required: true })
|
|
2623
2627
|
] })
|
|
2624
2628
|
}
|
|
2625
2629
|
)
|
|
@@ -2642,15 +2646,15 @@ function ToolsTab({
|
|
|
2642
2646
|
const availableTools = tools.filter((tool) => !attachedSet.has(tool.agentToolId));
|
|
2643
2647
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
2644
2648
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2645
|
-
|
|
2649
|
+
chunkFNA66TT4_js.SectionCard,
|
|
2646
2650
|
{
|
|
2647
2651
|
variant: "glass",
|
|
2648
2652
|
header: {
|
|
2649
2653
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.WrenchScrewdriverIcon, { className: "h-4 w-4" }),
|
|
2650
2654
|
title: labels.toolsAttached
|
|
2651
2655
|
},
|
|
2652
|
-
children: attachedTools.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-slate-500 dark:text-slate-400", children: labels.toolsEmpty }) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
2653
|
-
|
|
2656
|
+
children: attachedTools.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-slate-500 dark:text-slate-400", children: labels.toolsEmpty }) : /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.ListCard, { children: attachedTools.map((tool) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2657
|
+
chunkFNA66TT4_js.ListCardItem,
|
|
2654
2658
|
{
|
|
2655
2659
|
leading: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-9 w-9 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-5 w-5" }) }),
|
|
2656
2660
|
trailing: /* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Button, { type: "button", size: "sm", outline: true, onClick: () => onDetach(tool.agentToolId), children: labels.detachTool }),
|
|
@@ -2664,15 +2668,15 @@ function ToolsTab({
|
|
|
2664
2668
|
}
|
|
2665
2669
|
),
|
|
2666
2670
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2667
|
-
|
|
2671
|
+
chunkFNA66TT4_js.SectionCard,
|
|
2668
2672
|
{
|
|
2669
2673
|
variant: "glass",
|
|
2670
2674
|
header: {
|
|
2671
2675
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.WrenchScrewdriverIcon, { className: "h-4 w-4" }),
|
|
2672
2676
|
title: labels.toolsAvailable
|
|
2673
2677
|
},
|
|
2674
|
-
children: availableTools.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-slate-500 dark:text-slate-400", children: labels.toolsEmpty }) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
2675
|
-
|
|
2678
|
+
children: availableTools.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-slate-500 dark:text-slate-400", children: labels.toolsEmpty }) : /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.ListCard, { children: availableTools.map((tool) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2679
|
+
chunkFNA66TT4_js.ListCardItem,
|
|
2676
2680
|
{
|
|
2677
2681
|
leading: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-9 w-9 items-center justify-center rounded-lg bg-slate-500/10 text-slate-600 dark:bg-slate-500/20 dark:text-slate-300", children: /* @__PURE__ */ jsxRuntime.jsx(outline.WrenchScrewdriverIcon, { className: "h-5 w-5" }) }),
|
|
2678
2682
|
trailing: /* @__PURE__ */ jsxRuntime.jsxs(chunkBHOT22QL_js.Button, { type: "button", size: "sm", color: "indigo", onClick: () => onAttach(tool.agentToolId), children: [
|
|
@@ -2713,7 +2717,7 @@ function ModelTab({
|
|
|
2713
2717
|
return matches.length > 0 ? matches : connections;
|
|
2714
2718
|
}, [selectedModel, connections]);
|
|
2715
2719
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2716
|
-
|
|
2720
|
+
chunkFNA66TT4_js.SectionCard,
|
|
2717
2721
|
{
|
|
2718
2722
|
variant: "glass",
|
|
2719
2723
|
header: {
|
|
@@ -2734,9 +2738,9 @@ function ModelTab({
|
|
|
2734
2738
|
},
|
|
2735
2739
|
className: "space-y-4",
|
|
2736
2740
|
children: [
|
|
2737
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
2741
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkFNA66TT4_js.FormGrid, { children: [
|
|
2738
2742
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2739
|
-
|
|
2743
|
+
chunkFNA66TT4_js.FormSelect,
|
|
2740
2744
|
{
|
|
2741
2745
|
label: labels.model,
|
|
2742
2746
|
value: modelId,
|
|
@@ -2745,7 +2749,7 @@ function ModelTab({
|
|
|
2745
2749
|
}
|
|
2746
2750
|
),
|
|
2747
2751
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2748
|
-
|
|
2752
|
+
chunkFNA66TT4_js.FormSelect,
|
|
2749
2753
|
{
|
|
2750
2754
|
label: labels.connection,
|
|
2751
2755
|
value: connectionId,
|
|
@@ -2773,7 +2777,7 @@ function CreateAgentDialog({
|
|
|
2773
2777
|
}) {
|
|
2774
2778
|
const modelOptions = models.map((m) => ({ value: m.id, label: `${m.name} (${m.provider})` }));
|
|
2775
2779
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2776
|
-
|
|
2780
|
+
chunkFNA66TT4_js.GlassModal,
|
|
2777
2781
|
{
|
|
2778
2782
|
open: true,
|
|
2779
2783
|
onClose,
|
|
@@ -2791,10 +2795,10 @@ function CreateAgentDialog({
|
|
|
2791
2795
|
temperature: Number(form.get("temperature") ?? 0.2)
|
|
2792
2796
|
});
|
|
2793
2797
|
},
|
|
2794
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2795
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2798
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(chunkFNA66TT4_js.FormGrid, { children: [
|
|
2799
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.FormInput, { name: "name", label: labels.name, required: true }),
|
|
2796
2800
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2797
|
-
|
|
2801
|
+
chunkFNA66TT4_js.FormSelect,
|
|
2798
2802
|
{
|
|
2799
2803
|
name: "modelId",
|
|
2800
2804
|
label: labels.model,
|
|
@@ -2802,9 +2806,9 @@ function CreateAgentDialog({
|
|
|
2802
2806
|
defaultValue: modelOptions[0]?.value ?? ""
|
|
2803
2807
|
}
|
|
2804
2808
|
),
|
|
2805
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2809
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.FormInput, { name: "maxTokens", label: labels.maxTokens, type: "number", defaultValue: "2048" }),
|
|
2806
2810
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2807
|
-
|
|
2811
|
+
chunkFNA66TT4_js.FormInput,
|
|
2808
2812
|
{
|
|
2809
2813
|
name: "temperature",
|
|
2810
2814
|
label: labels.temperature,
|
|
@@ -2829,31 +2833,31 @@ function deriveInitials(name) {
|
|
|
2829
2833
|
|
|
2830
2834
|
Object.defineProperty(exports, "RolesPageView", {
|
|
2831
2835
|
enumerable: true,
|
|
2832
|
-
get: function () { return
|
|
2836
|
+
get: function () { return chunkFKUIVS6I_js.RolesPageView; }
|
|
2833
2837
|
});
|
|
2834
2838
|
Object.defineProperty(exports, "UsersPageView", {
|
|
2835
2839
|
enumerable: true,
|
|
2836
|
-
get: function () { return
|
|
2840
|
+
get: function () { return chunkFKUIVS6I_js.UsersPageView; }
|
|
2837
2841
|
});
|
|
2838
2842
|
Object.defineProperty(exports, "DIALECT_CATEGORIES", {
|
|
2839
2843
|
enumerable: true,
|
|
2840
|
-
get: function () { return
|
|
2844
|
+
get: function () { return chunkTJPPZU77_js.DIALECT_CATEGORIES; }
|
|
2841
2845
|
});
|
|
2842
2846
|
Object.defineProperty(exports, "DatasourceFormModal", {
|
|
2843
2847
|
enumerable: true,
|
|
2844
|
-
get: function () { return
|
|
2848
|
+
get: function () { return chunkTJPPZU77_js.DatasourceFormModal; }
|
|
2845
2849
|
});
|
|
2846
2850
|
Object.defineProperty(exports, "DatasourceModal", {
|
|
2847
2851
|
enumerable: true,
|
|
2848
|
-
get: function () { return
|
|
2852
|
+
get: function () { return chunkTJPPZU77_js.DatasourceModal; }
|
|
2849
2853
|
});
|
|
2850
2854
|
Object.defineProperty(exports, "findCategory", {
|
|
2851
2855
|
enumerable: true,
|
|
2852
|
-
get: function () { return
|
|
2856
|
+
get: function () { return chunkTJPPZU77_js.findCategory; }
|
|
2853
2857
|
});
|
|
2854
2858
|
Object.defineProperty(exports, "findDialect", {
|
|
2855
2859
|
enumerable: true,
|
|
2856
|
-
get: function () { return
|
|
2860
|
+
get: function () { return chunkTJPPZU77_js.findDialect; }
|
|
2857
2861
|
});
|
|
2858
2862
|
exports.AgentsConfigPageView = AgentsConfigPageView;
|
|
2859
2863
|
exports.AgentsIndexPageView = AgentsIndexPageView;
|