@datatechsolutions/ui 3.7.2 → 3.7.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/astrlabe/index.js +108 -108
- package/dist/astrlabe/index.mjs +4 -4
- package/dist/astrlabe/workflow-canvas.js +4 -4
- package/dist/astrlabe/workflow-canvas.mjs +3 -3
- package/dist/{chunk-34XRH2FX.mjs → chunk-4HP7XS5I.mjs} +4 -4
- package/dist/{chunk-34XRH2FX.mjs.map → chunk-4HP7XS5I.mjs.map} +1 -1
- package/dist/{chunk-JGK2VFCX.js → chunk-7WIWDSF6.js} +36 -36
- package/dist/{chunk-JGK2VFCX.js.map → chunk-7WIWDSF6.js.map} +1 -1
- package/dist/{chunk-UDYEUTJC.js → chunk-BEUPW5WS.js} +28 -28
- package/dist/{chunk-UDYEUTJC.js.map → chunk-BEUPW5WS.js.map} +1 -1
- package/dist/{chunk-CYAAL3BY.mjs → chunk-CTCO2YI5.mjs} +3 -3
- package/dist/{chunk-CYAAL3BY.mjs.map → chunk-CTCO2YI5.mjs.map} +1 -1
- package/dist/{chunk-NVQVZ4U4.mjs → chunk-DCBRGVD3.mjs} +3 -3
- package/dist/{chunk-NVQVZ4U4.mjs.map → chunk-DCBRGVD3.mjs.map} +1 -1
- package/dist/{chunk-CVZXZK2X.js → chunk-DWIBK7GV.js} +25 -25
- package/dist/{chunk-CVZXZK2X.js.map → chunk-DWIBK7GV.js.map} +1 -1
- package/dist/{chunk-C4AJWDFB.mjs → chunk-EIZM2EQA.mjs} +4 -4
- package/dist/{chunk-C4AJWDFB.mjs.map → chunk-EIZM2EQA.mjs.map} +1 -1
- package/dist/{chunk-BBLBSDPN.js → chunk-FIB2CFJK.js} +11 -9
- package/dist/chunk-FIB2CFJK.js.map +1 -0
- package/dist/{chunk-2OPBUVTQ.mjs → chunk-GAN7AKZ2.mjs} +3 -3
- package/dist/{chunk-2OPBUVTQ.mjs.map → chunk-GAN7AKZ2.mjs.map} +1 -1
- package/dist/{chunk-R4EKPXX3.js → chunk-GD6FHRHV.js} +6 -3
- package/dist/chunk-GD6FHRHV.js.map +1 -0
- package/dist/{chunk-DXLATMGD.mjs → chunk-IKH5IRDK.mjs} +3 -3
- package/dist/{chunk-DXLATMGD.mjs.map → chunk-IKH5IRDK.mjs.map} +1 -1
- package/dist/{chunk-TJEZL72T.mjs → chunk-IKHWYYZC.mjs} +3 -3
- package/dist/{chunk-TJEZL72T.mjs.map → chunk-IKHWYYZC.mjs.map} +1 -1
- package/dist/{chunk-FUHNEP3Y.js → chunk-IYDGO7RW.js} +135 -135
- package/dist/{chunk-FUHNEP3Y.js.map → chunk-IYDGO7RW.js.map} +1 -1
- package/dist/{chunk-CBFK4W4C.mjs → chunk-JUDQX6MP.mjs} +5 -3
- package/dist/chunk-JUDQX6MP.mjs.map +1 -0
- package/dist/{chunk-3JZGRXSG.js → chunk-KI4UPW4Z.js} +4 -4
- package/dist/{chunk-3JZGRXSG.js.map → chunk-KI4UPW4Z.js.map} +1 -1
- package/dist/{chunk-JLECJI7S.js → chunk-MFAVWJWE.js} +10 -10
- package/dist/{chunk-JLECJI7S.js.map → chunk-MFAVWJWE.js.map} +1 -1
- package/dist/{chunk-4JRMXHPU.mjs → chunk-MGZTZELL.mjs} +3 -3
- package/dist/{chunk-4JRMXHPU.mjs.map → chunk-MGZTZELL.mjs.map} +1 -1
- package/dist/{chunk-37JQVQJS.mjs → chunk-MRLEINJN.mjs} +7 -7
- package/dist/{chunk-37JQVQJS.mjs.map → chunk-MRLEINJN.mjs.map} +1 -1
- package/dist/{chunk-VZIUQE7B.mjs → chunk-N5365CGD.mjs} +3 -3
- package/dist/{chunk-VZIUQE7B.mjs.map → chunk-N5365CGD.mjs.map} +1 -1
- package/dist/{chunk-NJ6HH4QP.mjs → chunk-P7GVXI7Y.mjs} +3 -3
- package/dist/{chunk-NJ6HH4QP.mjs.map → chunk-P7GVXI7Y.mjs.map} +1 -1
- package/dist/{chunk-RWYG7QHP.js → chunk-QL2JYRBN.js} +68 -68
- package/dist/{chunk-RWYG7QHP.js.map → chunk-QL2JYRBN.js.map} +1 -1
- package/dist/{chunk-7YK4WXHO.js → chunk-R2RPRRB4.js} +55 -55
- package/dist/{chunk-7YK4WXHO.js.map → chunk-R2RPRRB4.js.map} +1 -1
- package/dist/{chunk-QF6WL7XU.js → chunk-RBB5YGWH.js} +4 -4
- package/dist/{chunk-QF6WL7XU.js.map → chunk-RBB5YGWH.js.map} +1 -1
- package/dist/{chunk-VCAVH2VM.js → chunk-SUU7XPRX.js} +34 -34
- package/dist/{chunk-VCAVH2VM.js.map → chunk-SUU7XPRX.js.map} +1 -1
- package/dist/{chunk-RZ3NDH5S.js → chunk-VDO6MDQW.js} +13 -13
- package/dist/{chunk-RZ3NDH5S.js.map → chunk-VDO6MDQW.js.map} +1 -1
- package/dist/{chunk-VDLMWOQM.js → chunk-XT76DMP5.js} +35 -35
- package/dist/{chunk-VDLMWOQM.js.map → chunk-XT76DMP5.js.map} +1 -1
- package/dist/{chunk-ZYRL3WER.mjs → chunk-YNHQ36UU.mjs} +3 -3
- package/dist/{chunk-ZYRL3WER.mjs.map → chunk-YNHQ36UU.mjs.map} +1 -1
- package/dist/{chunk-5LCWQKGQ.mjs → chunk-Z3BMHKKH.mjs} +6 -3
- package/dist/chunk-Z3BMHKKH.mjs.map +1 -0
- package/dist/{chunk-JHN2OUWG.js → chunk-ZF7RJNPD.js} +45 -45
- package/dist/{chunk-JHN2OUWG.js.map → chunk-ZF7RJNPD.js.map} +1 -1
- package/dist/{chunk-YRXDETBK.mjs → chunk-ZWLMKOHZ.mjs} +6 -6
- package/dist/{chunk-YRXDETBK.mjs.map → chunk-ZWLMKOHZ.mjs.map} +1 -1
- package/dist/index.js +665 -665
- package/dist/index.mjs +2 -2
- package/dist/platform/admin/index.js +10 -10
- package/dist/platform/admin/index.mjs +4 -4
- package/dist/platform/agents-workspace.js +7 -7
- package/dist/platform/agents-workspace.mjs +6 -6
- package/dist/platform/app-shell.js +4 -4
- package/dist/platform/app-shell.mjs +3 -3
- package/dist/platform/auth/index.js +22 -22
- package/dist/platform/auth/index.mjs +4 -4
- package/dist/platform/billing/index.js +4 -4
- package/dist/platform/billing/index.mjs +3 -3
- package/dist/platform/impersonation/index.js +4 -4
- package/dist/platform/impersonation/index.mjs +3 -3
- package/dist/platform/index.js +86 -86
- package/dist/platform/index.mjs +18 -18
- package/dist/platform/pages/index.js +416 -254
- package/dist/platform/pages/index.js.map +1 -1
- package/dist/platform/pages/index.mjs +193 -31
- package/dist/platform/pages/index.mjs.map +1 -1
- package/dist/platform/settings/index.js +7 -7
- package/dist/platform/settings/index.mjs +6 -6
- package/dist/platform/workflow-canvas-shell.js +5 -5
- package/dist/platform/workflow-canvas-shell.mjs +4 -4
- package/package.json +1 -1
- package/dist/astrlabe/contracts.d.mts +0 -517
- package/dist/astrlabe/contracts.d.ts +0 -517
- package/dist/astrlabe/graph-node.d.mts +0 -28
- package/dist/astrlabe/graph-node.d.ts +0 -28
- package/dist/astrlabe/index.d.mts +0 -743
- package/dist/astrlabe/index.d.ts +0 -743
- package/dist/astrlabe/utils.d.mts +0 -60
- package/dist/astrlabe/utils.d.ts +0 -60
- package/dist/astrlabe/workflow-canvas.d.mts +0 -6
- package/dist/astrlabe/workflow-canvas.d.ts +0 -6
- package/dist/astrlabe/workflow-preview-canvas.d.mts +0 -10
- package/dist/astrlabe/workflow-preview-canvas.d.ts +0 -10
- package/dist/billing-panel-DsHhhJqG.d.mts +0 -18
- package/dist/billing-panel-DsHhhJqG.d.ts +0 -18
- package/dist/brand/index.d.mts +0 -71
- package/dist/brand/index.d.ts +0 -71
- package/dist/chunk-5LCWQKGQ.mjs.map +0 -1
- package/dist/chunk-BBLBSDPN.js.map +0 -1
- package/dist/chunk-CBFK4W4C.mjs.map +0 -1
- package/dist/chunk-R4EKPXX3.js.map +0 -1
- package/dist/dynamic-island-confirm-BKsZkAEP.d.mts +0 -17
- package/dist/dynamic-island-confirm-BKsZkAEP.d.ts +0 -17
- package/dist/index-BNRGVAS5.d.mts +0 -222
- package/dist/index-BoebbJ44.d.mts +0 -49
- package/dist/index-BoebbJ44.d.ts +0 -49
- package/dist/index-CnCY-b5V.d.ts +0 -222
- package/dist/index.d.mts +0 -5310
- package/dist/index.d.ts +0 -5310
- package/dist/layout-engine-YZcVr20M.d.mts +0 -19
- package/dist/layout-engine-YZcVr20M.d.ts +0 -19
- package/dist/lib/i18n-context.d.mts +0 -36
- package/dist/lib/i18n-context.d.ts +0 -36
- package/dist/lib/router-context.d.mts +0 -35
- package/dist/lib/router-context.d.ts +0 -35
- package/dist/navigation-BiWVffAN.d.mts +0 -49
- package/dist/navigation-BiWVffAN.d.ts +0 -49
- package/dist/platform/admin/index.d.mts +0 -17
- package/dist/platform/admin/index.d.ts +0 -17
- package/dist/platform/agents-workspace.d.mts +0 -19
- package/dist/platform/agents-workspace.d.ts +0 -19
- package/dist/platform/app-shell.d.mts +0 -58
- package/dist/platform/app-shell.d.ts +0 -58
- package/dist/platform/auth/index.d.mts +0 -73
- package/dist/platform/auth/index.d.ts +0 -73
- package/dist/platform/billing/index.d.mts +0 -29
- package/dist/platform/billing/index.d.ts +0 -29
- package/dist/platform/impersonation/index.d.mts +0 -19
- package/dist/platform/impersonation/index.d.ts +0 -19
- package/dist/platform/index.d.mts +0 -188
- package/dist/platform/index.d.ts +0 -188
- package/dist/platform/pages/index.d.mts +0 -526
- package/dist/platform/pages/index.d.ts +0 -526
- package/dist/platform/rbac.d.mts +0 -42
- package/dist/platform/rbac.d.ts +0 -42
- package/dist/platform/settings/index.d.mts +0 -31
- package/dist/platform/settings/index.d.ts +0 -31
- package/dist/platform/telemetry/index.d.mts +0 -51
- package/dist/platform/telemetry/index.d.ts +0 -51
- package/dist/platform/utils/index.d.mts +0 -32
- package/dist/platform/utils/index.d.ts +0 -32
- package/dist/platform/windsock-admin-client.d.mts +0 -57
- package/dist/platform/windsock-admin-client.d.ts +0 -57
- package/dist/platform/workflow-api-client.d.mts +0 -6
- package/dist/platform/workflow-api-client.d.ts +0 -6
- package/dist/platform/workflow-canvas-shell.d.mts +0 -18
- package/dist/platform/workflow-canvas-shell.d.ts +0 -18
- package/dist/rule-form-BYJzyork.d.mts +0 -128
- package/dist/rule-form-BYJzyork.d.ts +0 -128
- package/dist/workflow-api-client-CpFl3WcG.d.mts +0 -468
- package/dist/workflow-api-client-uLICOanv.d.ts +0 -468
- package/dist/workflow-canvas--qaYKuMm.d.ts +0 -113
- package/dist/workflow-canvas-B80fmD_n.d.mts +0 -113
- package/dist/workflow-store-o17I6L6A.d.ts +0 -79
- package/dist/workflow-store-ppVHdMZi.d.mts +0 -79
|
@@ -2,16 +2,16 @@
|
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
4
|
var chunk3T2WGL47_js = require('../../chunk-3T2WGL47.js');
|
|
5
|
-
var
|
|
6
|
-
var
|
|
7
|
-
var
|
|
5
|
+
var chunkBEUPW5WS_js = require('../../chunk-BEUPW5WS.js');
|
|
6
|
+
var chunkSUU7XPRX_js = require('../../chunk-SUU7XPRX.js');
|
|
7
|
+
var chunkIYDGO7RW_js = require('../../chunk-IYDGO7RW.js');
|
|
8
8
|
require('../../chunk-55H6WZQP.js');
|
|
9
9
|
require('../../chunk-DJDZIRM6.js');
|
|
10
|
-
require('../../chunk-
|
|
11
|
-
var
|
|
12
|
-
require('../../chunk-YXN2K77G.js');
|
|
10
|
+
require('../../chunk-QL2JYRBN.js');
|
|
11
|
+
var chunkGD6FHRHV_js = require('../../chunk-GD6FHRHV.js');
|
|
13
12
|
require('../../chunk-SY4MUT5V.js');
|
|
14
13
|
require('../../chunk-2OZZH2IO.js');
|
|
14
|
+
require('../../chunk-YXN2K77G.js');
|
|
15
15
|
require('../../chunk-EZQ2D47U.js');
|
|
16
16
|
var chunkBHOT22QL_js = require('../../chunk-BHOT22QL.js');
|
|
17
17
|
require('../../chunk-UZ3CMNUJ.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
|
+
chunkGD6FHRHV_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(chunkGD6FHRHV_js.PageLoadingState, {}) : isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(chunkGD6FHRHV_js.PageEmptyState, { title: labels.empty, message: labels.subtitle, iconName: "folder-open" }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
40
40
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
41
|
-
|
|
41
|
+
chunkGD6FHRHV_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
|
+
chunkGD6FHRHV_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(chunkGD6FHRHV_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
|
+
chunkGD6FHRHV_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
|
+
chunkGD6FHRHV_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
|
+
chunkGD6FHRHV_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
|
+
chunkGD6FHRHV_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(chunkGD6FHRHV_js.PageLoadingState, {}) : isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(chunkGD6FHRHV_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
|
+
chunkGD6FHRHV_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
|
+
chunkGD6FHRHV_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(chunkGD6FHRHV_js.FormGrid, { children: [
|
|
171
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGD6FHRHV_js.FormInput, { name: "name", label: labels.name, defaultValue: initial.name ?? "", required: true }),
|
|
172
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGD6FHRHV_js.FormSelect, { name: "modelId", label: labels.model, options: modelOptions, defaultValue: initial.modelId ?? modelOptions[0]?.value ?? "", required: true }),
|
|
173
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGD6FHRHV_js.FormInput, { name: "maxTokens", label: String(labels.maxTokens), type: "number", defaultValue: String(initial.maxTokens ?? 2048) }),
|
|
174
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGD6FHRHV_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(chunkGD6FHRHV_js.FormTextarea, { name: "systemPrompt", label: labels.systemPrompt, defaultValue: initial.systemPrompt ?? "", rows: 4 }),
|
|
176
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGD6FHRHV_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(chunkGD6FHRHV_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
|
+
chunkGD6FHRHV_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
|
+
chunkGD6FHRHV_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
|
+
chunkGD6FHRHV_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(chunkGD6FHRHV_js.PageLoadingState, {}) : isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(chunkGD6FHRHV_js.PageEmptyState, { title: labels.empty, message: labels.subtitle, iconName: "folder-open" }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
267
267
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
268
|
-
|
|
268
|
+
chunkGD6FHRHV_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
|
+
chunkGD6FHRHV_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(chunkGD6FHRHV_js.ManagementPageLayout, { hero, content, mobileAction }),
|
|
309
309
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
310
|
-
|
|
310
|
+
chunkGD6FHRHV_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(chunkGD6FHRHV_js.FormGrid, { children: [
|
|
335
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGD6FHRHV_js.FormSelect, { name: "agentId", label: labels.agent, options: agentOptions, required: true }),
|
|
336
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGD6FHRHV_js.FormSelect, { name: "locale", label: labels.locale, options: LOCALE_OPTIONS, defaultValue: "en" }),
|
|
337
337
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
338
|
-
|
|
338
|
+
chunkGD6FHRHV_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(chunkGD6FHRHV_js.FormInput, { name: "reason", label: labels.reason }),
|
|
347
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGD6FHRHV_js.FormTextarea, { name: "systemPrompt", label: labels.systemPrompt, rows: 3 }),
|
|
348
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGD6FHRHV_js.FormTextarea, { name: "userTemplate", label: labels.userTemplate, rows: 3 }),
|
|
349
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGD6FHRHV_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
|
+
chunkGD6FHRHV_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
|
+
chunkGD6FHRHV_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
|
+
chunkGD6FHRHV_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(chunkGD6FHRHV_js.PageLoadingState, {}) : isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(chunkGD6FHRHV_js.PageEmptyState, { title: labels.empty, message: labels.subtitle, iconName: "folder-open" }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
412
412
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
413
|
-
|
|
413
|
+
chunkGD6FHRHV_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
|
+
chunkGD6FHRHV_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(chunkGD6FHRHV_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
|
+
chunkGD6FHRHV_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(chunkGD6FHRHV_js.FormGrid, { children: [
|
|
521
521
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
522
|
-
|
|
522
|
+
chunkGD6FHRHV_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
|
+
chunkGD6FHRHV_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
|
+
chunkGD6FHRHV_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
|
+
chunkGD6FHRHV_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
|
+
chunkGD6FHRHV_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
|
+
chunkGD6FHRHV_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
|
+
chunkGD6FHRHV_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
|
+
chunkGD6FHRHV_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(chunkGD6FHRHV_js.FormGrid, { children: [
|
|
662
662
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
663
|
-
|
|
663
|
+
chunkGD6FHRHV_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
|
+
chunkGD6FHRHV_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
|
+
chunkGD6FHRHV_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
|
+
chunkGD6FHRHV_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
|
+
chunkGD6FHRHV_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(chunkGD6FHRHV_js.FormGrid, { children: [
|
|
722
722
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
723
|
-
|
|
723
|
+
chunkGD6FHRHV_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
|
+
chunkGD6FHRHV_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
|
+
chunkGD6FHRHV_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
|
+
chunkGD6FHRHV_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
|
+
chunkGD6FHRHV_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(chunkGD6FHRHV_js.FormGrid, { children: [
|
|
784
784
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
785
|
-
|
|
785
|
+
chunkGD6FHRHV_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
|
+
chunkGD6FHRHV_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
|
+
chunkGD6FHRHV_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
|
+
chunkGD6FHRHV_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
|
+
chunkGD6FHRHV_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
|
+
chunkGD6FHRHV_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(chunkGD6FHRHV_js.PageLoadingState, {}) : isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(chunkGD6FHRHV_js.PageEmptyState, { title: labels.empty, message: labels.subtitle, iconName: "folder-open" }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
968
968
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
969
|
-
|
|
969
|
+
chunkGD6FHRHV_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
|
+
chunkGD6FHRHV_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(chunkGD6FHRHV_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: chunkIYDGO7RW_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
|
+
chunkGD6FHRHV_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(chunkIYDGO7RW_js.RuleForm, { value, onChange: setValue })
|
|
1056
1056
|
}
|
|
1057
1057
|
);
|
|
1058
1058
|
}
|
|
1059
1059
|
function ruleToFormValue(rule) {
|
|
1060
|
-
const base =
|
|
1060
|
+
const base = chunkIYDGO7RW_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 chunkSUU7XPRX_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 = chunkSUU7XPRX_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 = chunkSUU7XPRX_js.findCategory(dialect);
|
|
1205
1205
|
return category?.icon ?? outline.CircleStackIcon;
|
|
1206
1206
|
}
|
|
1207
1207
|
var DIALECT_LOGO = {
|
|
@@ -1275,7 +1275,7 @@ function DatasourcesPageView({
|
|
|
1275
1275
|
}
|
|
1276
1276
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
1277
1277
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1278
|
-
|
|
1278
|
+
chunkGD6FHRHV_js.HeroSection,
|
|
1279
1279
|
{
|
|
1280
1280
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.CircleStackIcon, { className: "h-5 w-5" }),
|
|
1281
1281
|
label: labels.title,
|
|
@@ -1283,7 +1283,7 @@ function DatasourcesPageView({
|
|
|
1283
1283
|
subtitle: labels.subtitle,
|
|
1284
1284
|
gradient: "from-amber-500 to-orange-600",
|
|
1285
1285
|
toolbar: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1286
|
-
|
|
1286
|
+
chunkGD6FHRHV_js.CreateActionButton,
|
|
1287
1287
|
{
|
|
1288
1288
|
mode: "desktop",
|
|
1289
1289
|
label: labels.addDatasource,
|
|
@@ -1294,7 +1294,7 @@ function DatasourcesPageView({
|
|
|
1294
1294
|
}
|
|
1295
1295
|
),
|
|
1296
1296
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1297
|
-
|
|
1297
|
+
chunkGD6FHRHV_js.CreateActionButton,
|
|
1298
1298
|
{
|
|
1299
1299
|
mode: "mobile",
|
|
1300
1300
|
label: labels.addDatasource,
|
|
@@ -1303,7 +1303,7 @@ function DatasourcesPageView({
|
|
|
1303
1303
|
}
|
|
1304
1304
|
),
|
|
1305
1305
|
!isEmpty && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1306
|
-
|
|
1306
|
+
chunkGD6FHRHV_js.SearchBar,
|
|
1307
1307
|
{
|
|
1308
1308
|
searchTerm,
|
|
1309
1309
|
onSearchChange: setSearchTerm,
|
|
@@ -1311,7 +1311,7 @@ function DatasourcesPageView({
|
|
|
1311
1311
|
}
|
|
1312
1312
|
),
|
|
1313
1313
|
isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1314
|
-
|
|
1314
|
+
chunkGD6FHRHV_js.PageEmptyState,
|
|
1315
1315
|
{
|
|
1316
1316
|
title: labels.emptyTitle,
|
|
1317
1317
|
message: labels.emptyDescription,
|
|
@@ -1325,7 +1325,7 @@ function DatasourcesPageView({
|
|
|
1325
1325
|
const logoSrc = getDialectLogoSrc(ds.dialect);
|
|
1326
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" }) });
|
|
1327
1327
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1328
|
-
|
|
1328
|
+
chunkGD6FHRHV_js.EntityCard,
|
|
1329
1329
|
{
|
|
1330
1330
|
accentGradient: gradient,
|
|
1331
1331
|
icon: iconElement,
|
|
@@ -1355,7 +1355,7 @@ function DatasourcesPageView({
|
|
|
1355
1355
|
);
|
|
1356
1356
|
}) }),
|
|
1357
1357
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1358
|
-
|
|
1358
|
+
chunkSUU7XPRX_js.DatasourceModal,
|
|
1359
1359
|
{
|
|
1360
1360
|
open: modalOpen,
|
|
1361
1361
|
onClose: () => setModalOpen(false),
|
|
@@ -1370,7 +1370,7 @@ function DashboardPageView({ labels, appLogo }) {
|
|
|
1370
1370
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex justify-center mb-6", children: appLogo }),
|
|
1371
1371
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-3 text-base text-slate-600 dark:text-slate-300", children: labels.subtitle })
|
|
1372
1372
|
] });
|
|
1373
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1373
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkGD6FHRHV_js.ManagementPageLayout, { hero, content: null });
|
|
1374
1374
|
}
|
|
1375
1375
|
function AgentsIndexPageView({ labels }) {
|
|
1376
1376
|
const Link = chunkS7KHTUHA_js.useLink();
|
|
@@ -1384,7 +1384,7 @@ function AgentsIndexPageView({ labels }) {
|
|
|
1384
1384
|
const filteredTiles = searchTerm.trim() ? allTiles.filter((tile) => tile.title.toLowerCase().includes(searchTerm.trim().toLowerCase())) : allTiles;
|
|
1385
1385
|
const isEmpty = allTiles.length === 0;
|
|
1386
1386
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
1387
|
-
|
|
1387
|
+
chunkGD6FHRHV_js.HeroSection,
|
|
1388
1388
|
{
|
|
1389
1389
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.CpuChipIcon, { className: "h-5 w-5" }),
|
|
1390
1390
|
label: labels.title,
|
|
@@ -1395,7 +1395,7 @@ function AgentsIndexPageView({ labels }) {
|
|
|
1395
1395
|
);
|
|
1396
1396
|
const content = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1397
1397
|
!isEmpty && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1398
|
-
|
|
1398
|
+
chunkGD6FHRHV_js.SearchBar,
|
|
1399
1399
|
{
|
|
1400
1400
|
searchTerm,
|
|
1401
1401
|
onSearchChange: setSearchTerm,
|
|
@@ -1405,7 +1405,7 @@ function AgentsIndexPageView({ labels }) {
|
|
|
1405
1405
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-4", children: filteredTiles.map((tile) => {
|
|
1406
1406
|
const Icon = tile.icon;
|
|
1407
1407
|
return /* @__PURE__ */ jsxRuntime.jsx(Link, { href: tile.href, className: "block focus:outline-none", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1408
|
-
|
|
1408
|
+
chunkGD6FHRHV_js.EntityCard,
|
|
1409
1409
|
{
|
|
1410
1410
|
accentGradient: tile.gradient,
|
|
1411
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" }) }),
|
|
@@ -1415,13 +1415,13 @@ function AgentsIndexPageView({ labels }) {
|
|
|
1415
1415
|
) }, tile.id);
|
|
1416
1416
|
}) })
|
|
1417
1417
|
] });
|
|
1418
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1418
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkGD6FHRHV_js.ManagementPageLayout, { hero, content });
|
|
1419
1419
|
}
|
|
1420
1420
|
function WorkflowsPageView({ labels, workflows, onCreate, onUpdateMeta, onPublish }) {
|
|
1421
1421
|
const selectedWorkflow = workflows[0] ?? null;
|
|
1422
1422
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-6", children: [
|
|
1423
1423
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1424
|
-
|
|
1424
|
+
chunkGD6FHRHV_js.SectionHeader,
|
|
1425
1425
|
{
|
|
1426
1426
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.RectangleStackIcon, { className: "h-5 w-5 text-white" }),
|
|
1427
1427
|
title: labels.title,
|
|
@@ -1430,9 +1430,9 @@ function WorkflowsPageView({ labels, workflows, onCreate, onUpdateMeta, onPublis
|
|
|
1430
1430
|
}
|
|
1431
1431
|
),
|
|
1432
1432
|
/* @__PURE__ */ jsxRuntime.jsxs("section", { className: "liquid-surface rounded-2xl p-4 space-y-3", children: [
|
|
1433
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1433
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGD6FHRHV_js.Text, { className: "font-semibold text-slate-900 dark:text-slate-100", children: labels.add }),
|
|
1434
1434
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1435
|
-
|
|
1435
|
+
chunkGD6FHRHV_js.Form,
|
|
1436
1436
|
{
|
|
1437
1437
|
onSubmit: (event) => {
|
|
1438
1438
|
event.preventDefault();
|
|
@@ -1443,32 +1443,32 @@ function WorkflowsPageView({ labels, workflows, onCreate, onUpdateMeta, onPublis
|
|
|
1443
1443
|
onCreate({ name, description });
|
|
1444
1444
|
event.currentTarget.reset();
|
|
1445
1445
|
},
|
|
1446
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1447
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1448
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1449
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1446
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(chunkGD6FHRHV_js.FormGrid, { children: [
|
|
1447
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGD6FHRHV_js.FormInput, { name: "name", label: labels.workflowName, placeholder: labels.workflowNamePlaceholder, required: true }),
|
|
1448
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGD6FHRHV_js.FormTextarea, { name: "description", label: labels.description, placeholder: labels.workflowDescriptionPlaceholder, rows: 3 }),
|
|
1449
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGD6FHRHV_js.FormActionsRow, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Button, { type: "submit", children: labels.create }) })
|
|
1450
1450
|
] })
|
|
1451
1451
|
}
|
|
1452
1452
|
)
|
|
1453
1453
|
] }),
|
|
1454
1454
|
/* @__PURE__ */ jsxRuntime.jsxs("section", { className: "liquid-surface rounded-2xl p-4 space-y-3", children: [
|
|
1455
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1456
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1457
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1458
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1459
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1460
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1461
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1462
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1455
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGD6FHRHV_js.Text, { className: "font-semibold text-slate-900 dark:text-slate-100", children: labels.registry }),
|
|
1456
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkGD6FHRHV_js.Table, { children: [
|
|
1457
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGD6FHRHV_js.TableHead, { children: /* @__PURE__ */ jsxRuntime.jsxs(chunkGD6FHRHV_js.TableRow, { children: [
|
|
1458
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGD6FHRHV_js.TableHeader, { children: labels.name }),
|
|
1459
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGD6FHRHV_js.TableHeader, { children: labels.description }),
|
|
1460
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGD6FHRHV_js.TableHeader, { children: labels.version }),
|
|
1461
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGD6FHRHV_js.TableHeader, { children: labels.status }),
|
|
1462
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGD6FHRHV_js.TableHeader, { children: labels.actions })
|
|
1463
1463
|
] }) }),
|
|
1464
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1465
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1466
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1467
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1468
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1469
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1464
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGD6FHRHV_js.TableBody, { children: workflows.map((workflow) => /* @__PURE__ */ jsxRuntime.jsxs(chunkGD6FHRHV_js.TableRow, { children: [
|
|
1465
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGD6FHRHV_js.TableCell, { children: workflow.name }),
|
|
1466
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGD6FHRHV_js.TableCell, { children: workflow.description }),
|
|
1467
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGD6FHRHV_js.TableCell, { children: String(workflow.version) }),
|
|
1468
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGD6FHRHV_js.TableCell, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Badge, { children: workflow.isDraft ? labels.statusDraft : labels.statusPublished }) }),
|
|
1469
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGD6FHRHV_js.TableCell, { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-2", children: [
|
|
1470
1470
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1471
|
-
|
|
1471
|
+
chunkGD6FHRHV_js.Form,
|
|
1472
1472
|
{
|
|
1473
1473
|
onSubmit: (event) => {
|
|
1474
1474
|
event.preventDefault();
|
|
@@ -1478,7 +1478,7 @@ function WorkflowsPageView({ labels, workflows, onCreate, onUpdateMeta, onPublis
|
|
|
1478
1478
|
description: workflow.description ?? ""
|
|
1479
1479
|
});
|
|
1480
1480
|
},
|
|
1481
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1481
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(chunkGD6FHRHV_js.InlineForm, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Button, { type: "submit", outline: true, children: labels.saveMeta }) })
|
|
1482
1482
|
}
|
|
1483
1483
|
),
|
|
1484
1484
|
/* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Button, { type: "button", color: "sky", onClick: () => onPublish(workflow.id), children: labels.publish })
|
|
@@ -1487,8 +1487,8 @@ function WorkflowsPageView({ labels, workflows, onCreate, onUpdateMeta, onPublis
|
|
|
1487
1487
|
] })
|
|
1488
1488
|
] }),
|
|
1489
1489
|
/* @__PURE__ */ jsxRuntime.jsxs("section", { className: "liquid-surface rounded-2xl p-4 space-y-3", children: [
|
|
1490
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
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(
|
|
1490
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGD6FHRHV_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(chunkBEUPW5WS_js.WorkflowWorkspace, { graph: chunk3T2WGL47_js.adaptWorkflowGraphToUi(selectedWorkflow.graph) }) }) : /* @__PURE__ */ jsxRuntime.jsx(chunkGD6FHRHV_js.Text, { children: labels.empty })
|
|
1492
1492
|
] })
|
|
1493
1493
|
] });
|
|
1494
1494
|
}
|
|
@@ -1537,7 +1537,7 @@ function WorkflowRunsPageView({ labels, runs, loading, onCancel, onReplay, onVie
|
|
|
1537
1537
|
});
|
|
1538
1538
|
const isEmpty = allRuns.length === 0;
|
|
1539
1539
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
1540
|
-
|
|
1540
|
+
chunkGD6FHRHV_js.HeroSection,
|
|
1541
1541
|
{
|
|
1542
1542
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.ClockIcon, { className: "h-5 w-5" }),
|
|
1543
1543
|
label: labels.title,
|
|
@@ -1545,7 +1545,7 @@ function WorkflowRunsPageView({ labels, runs, loading, onCancel, onReplay, onVie
|
|
|
1545
1545
|
subtitle: labels.subtitle,
|
|
1546
1546
|
gradient: "from-indigo-500 to-sky-700",
|
|
1547
1547
|
toolbar: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-full sm:w-48", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1548
|
-
|
|
1548
|
+
chunkGD6FHRHV_js.FormSelect,
|
|
1549
1549
|
{
|
|
1550
1550
|
name: "statusFilter",
|
|
1551
1551
|
label: labels.filterStatus,
|
|
@@ -1556,9 +1556,9 @@ function WorkflowRunsPageView({ labels, runs, loading, onCancel, onReplay, onVie
|
|
|
1556
1556
|
) })
|
|
1557
1557
|
}
|
|
1558
1558
|
);
|
|
1559
|
-
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1559
|
+
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkGD6FHRHV_js.PageLoadingState, {}) : filteredRuns.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkGD6FHRHV_js.PageEmptyState, { title: labels.empty, message: labels.subtitle, iconName: "folder-open" }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1560
1560
|
!isEmpty && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1561
|
-
|
|
1561
|
+
chunkGD6FHRHV_js.SearchBar,
|
|
1562
1562
|
{
|
|
1563
1563
|
searchTerm,
|
|
1564
1564
|
onSearchChange: setSearchTerm,
|
|
@@ -1566,7 +1566,7 @@ function WorkflowRunsPageView({ labels, runs, loading, onCancel, onReplay, onVie
|
|
|
1566
1566
|
}
|
|
1567
1567
|
),
|
|
1568
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(
|
|
1569
|
-
|
|
1569
|
+
chunkGD6FHRHV_js.EntityCard,
|
|
1570
1570
|
{
|
|
1571
1571
|
accentGradient: "from-indigo-500 to-sky-700",
|
|
1572
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" }) }),
|
|
@@ -1592,11 +1592,11 @@ function WorkflowRunsPageView({ labels, runs, loading, onCancel, onReplay, onVie
|
|
|
1592
1592
|
run.id
|
|
1593
1593
|
)) })
|
|
1594
1594
|
] });
|
|
1595
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1595
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkGD6FHRHV_js.ManagementPageLayout, { hero, content });
|
|
1596
1596
|
}
|
|
1597
1597
|
function RunTimelinePageView({ labels, entries, loading, runId }) {
|
|
1598
1598
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
1599
|
-
|
|
1599
|
+
chunkGD6FHRHV_js.HeroSection,
|
|
1600
1600
|
{
|
|
1601
1601
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.ClockIcon, { className: "h-5 w-5" }),
|
|
1602
1602
|
label: labels.title,
|
|
@@ -1606,23 +1606,23 @@ function RunTimelinePageView({ labels, entries, loading, runId }) {
|
|
|
1606
1606
|
}
|
|
1607
1607
|
);
|
|
1608
1608
|
if (loading) {
|
|
1609
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1609
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkGD6FHRHV_js.ManagementPageLayout, { hero, content: /* @__PURE__ */ jsxRuntime.jsx(chunkGD6FHRHV_js.PageLoadingState, {}) });
|
|
1610
1610
|
}
|
|
1611
1611
|
if (entries.length === 0) {
|
|
1612
1612
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1613
|
-
|
|
1613
|
+
chunkGD6FHRHV_js.ManagementPageLayout,
|
|
1614
1614
|
{
|
|
1615
1615
|
hero,
|
|
1616
|
-
content: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1616
|
+
content: /* @__PURE__ */ jsxRuntime.jsx(chunkGD6FHRHV_js.PageEmptyState, { title: labels.empty ?? "", message: "", iconName: "folder-open" })
|
|
1617
1617
|
}
|
|
1618
1618
|
);
|
|
1619
1619
|
}
|
|
1620
1620
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1621
|
-
|
|
1621
|
+
chunkGD6FHRHV_js.ManagementPageLayout,
|
|
1622
1622
|
{
|
|
1623
1623
|
hero,
|
|
1624
1624
|
content: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1625
|
-
|
|
1625
|
+
chunkIYDGO7RW_js.ExecutionTimelinePanel,
|
|
1626
1626
|
{
|
|
1627
1627
|
entries,
|
|
1628
1628
|
labels
|
|
@@ -1708,7 +1708,7 @@ function ConnectionsPageView({
|
|
|
1708
1708
|
const filteredConnections = searchTerm.trim() ? allConnections.filter((conn) => conn.name.toLowerCase().includes(searchTerm.trim().toLowerCase())) : allConnections;
|
|
1709
1709
|
const isEmpty = allConnections.length === 0;
|
|
1710
1710
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
1711
|
-
|
|
1711
|
+
chunkGD6FHRHV_js.HeroSection,
|
|
1712
1712
|
{
|
|
1713
1713
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.LinkIcon, { className: "h-5 w-5" }),
|
|
1714
1714
|
label: labels.title,
|
|
@@ -1716,7 +1716,7 @@ function ConnectionsPageView({
|
|
|
1716
1716
|
subtitle: labels.subtitle,
|
|
1717
1717
|
gradient: "from-sky-500 to-indigo-600",
|
|
1718
1718
|
toolbar: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1719
|
-
|
|
1719
|
+
chunkGD6FHRHV_js.CreateActionButton,
|
|
1720
1720
|
{
|
|
1721
1721
|
mode: "desktop",
|
|
1722
1722
|
label: labels.add,
|
|
@@ -1727,7 +1727,7 @@ function ConnectionsPageView({
|
|
|
1727
1727
|
}
|
|
1728
1728
|
);
|
|
1729
1729
|
const mobileAction = /* @__PURE__ */ jsxRuntime.jsx(
|
|
1730
|
-
|
|
1730
|
+
chunkGD6FHRHV_js.CreateActionButton,
|
|
1731
1731
|
{
|
|
1732
1732
|
mode: "mobile",
|
|
1733
1733
|
label: labels.add,
|
|
@@ -1735,9 +1735,9 @@ function ConnectionsPageView({
|
|
|
1735
1735
|
accent: "sky"
|
|
1736
1736
|
}
|
|
1737
1737
|
);
|
|
1738
|
-
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1738
|
+
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkGD6FHRHV_js.PageLoadingState, {}) : isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(chunkGD6FHRHV_js.PageEmptyState, { title: labels.empty, message: labels.subtitle, iconName: "folder-open" }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1739
1739
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1740
|
-
|
|
1740
|
+
chunkGD6FHRHV_js.SearchBar,
|
|
1741
1741
|
{
|
|
1742
1742
|
searchTerm,
|
|
1743
1743
|
onSearchChange: setSearchTerm,
|
|
@@ -1745,7 +1745,7 @@ function ConnectionsPageView({
|
|
|
1745
1745
|
}
|
|
1746
1746
|
),
|
|
1747
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(
|
|
1748
|
-
|
|
1748
|
+
chunkGD6FHRHV_js.EntityCard,
|
|
1749
1749
|
{
|
|
1750
1750
|
accentGradient: "from-sky-500 to-indigo-600",
|
|
1751
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" }) }),
|
|
@@ -1780,7 +1780,7 @@ function ConnectionsPageView({
|
|
|
1780
1780
|
)) })
|
|
1781
1781
|
] });
|
|
1782
1782
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1783
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1783
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGD6FHRHV_js.ManagementPageLayout, { hero, content, mobileAction }),
|
|
1784
1784
|
createOpen && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1785
1785
|
ConnectionEditor,
|
|
1786
1786
|
{
|
|
@@ -1894,7 +1894,7 @@ function ConnectionEditor({
|
|
|
1894
1894
|
return preset.exampleModels?.join(", ") ?? "";
|
|
1895
1895
|
}, [preset]);
|
|
1896
1896
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1897
|
-
|
|
1897
|
+
chunkGD6FHRHV_js.GlassModal,
|
|
1898
1898
|
{
|
|
1899
1899
|
open: true,
|
|
1900
1900
|
onClose,
|
|
@@ -1907,9 +1907,9 @@ function ConnectionEditor({
|
|
|
1907
1907
|
void handleSubmit();
|
|
1908
1908
|
},
|
|
1909
1909
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
1910
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1910
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkGD6FHRHV_js.FormGrid, { children: [
|
|
1911
1911
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1912
|
-
|
|
1912
|
+
chunkGD6FHRHV_js.FormSelect,
|
|
1913
1913
|
{
|
|
1914
1914
|
label: "Provider",
|
|
1915
1915
|
value: value.providerSlug,
|
|
@@ -1920,7 +1920,7 @@ function ConnectionEditor({
|
|
|
1920
1920
|
}
|
|
1921
1921
|
),
|
|
1922
1922
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1923
|
-
|
|
1923
|
+
chunkGD6FHRHV_js.FormInput,
|
|
1924
1924
|
{
|
|
1925
1925
|
label: "Display name",
|
|
1926
1926
|
required: true,
|
|
@@ -1930,7 +1930,7 @@ function ConnectionEditor({
|
|
|
1930
1930
|
}
|
|
1931
1931
|
),
|
|
1932
1932
|
preset.needsRegion && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1933
|
-
|
|
1933
|
+
chunkGD6FHRHV_js.FormInput,
|
|
1934
1934
|
{
|
|
1935
1935
|
label: "Region",
|
|
1936
1936
|
value: value.region,
|
|
@@ -1939,7 +1939,7 @@ function ConnectionEditor({
|
|
|
1939
1939
|
}
|
|
1940
1940
|
),
|
|
1941
1941
|
preset.needsEndpoint && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1942
|
-
|
|
1942
|
+
chunkGD6FHRHV_js.FormInput,
|
|
1943
1943
|
{
|
|
1944
1944
|
label: "Endpoint URL",
|
|
1945
1945
|
value: value.endpoint,
|
|
@@ -1949,7 +1949,7 @@ function ConnectionEditor({
|
|
|
1949
1949
|
)
|
|
1950
1950
|
] }),
|
|
1951
1951
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1952
|
-
|
|
1952
|
+
chunkGD6FHRHV_js.FormInput,
|
|
1953
1953
|
{
|
|
1954
1954
|
label: value.credentialRef ? "Rotate API key (leave blank to keep current)" : "API key",
|
|
1955
1955
|
type: "password",
|
|
@@ -1960,7 +1960,7 @@ function ConnectionEditor({
|
|
|
1960
1960
|
}
|
|
1961
1961
|
),
|
|
1962
1962
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1963
|
-
|
|
1963
|
+
chunkGD6FHRHV_js.FormInput,
|
|
1964
1964
|
{
|
|
1965
1965
|
label: "Model filter (comma-separated, optional)",
|
|
1966
1966
|
value: value.modelFilter,
|
|
@@ -1972,7 +1972,7 @@ function ConnectionEditor({
|
|
|
1972
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: [
|
|
1973
1973
|
/* @__PURE__ */ jsxRuntime.jsx("summary", { className: "cursor-pointer font-medium text-slate-700 dark:text-slate-200", children: "Advanced config (JSON)" }),
|
|
1974
1974
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-3", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1975
|
-
|
|
1975
|
+
chunkGD6FHRHV_js.FormTextarea,
|
|
1976
1976
|
{
|
|
1977
1977
|
rows: 4,
|
|
1978
1978
|
value: value.configJson,
|
|
@@ -2042,7 +2042,7 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
|
|
|
2042
2042
|
{ value: "password", label: labels.typePassword }
|
|
2043
2043
|
];
|
|
2044
2044
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
2045
|
-
|
|
2045
|
+
chunkGD6FHRHV_js.HeroSection,
|
|
2046
2046
|
{
|
|
2047
2047
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.KeyIcon, { className: "h-5 w-5" }),
|
|
2048
2048
|
label: labels.title,
|
|
@@ -2050,7 +2050,7 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
|
|
|
2050
2050
|
subtitle: labels.subtitle,
|
|
2051
2051
|
gradient: "from-rose-500 to-orange-600",
|
|
2052
2052
|
toolbar: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2053
|
-
|
|
2053
|
+
chunkGD6FHRHV_js.CreateActionButton,
|
|
2054
2054
|
{
|
|
2055
2055
|
mode: "desktop",
|
|
2056
2056
|
label: labels.addCredential,
|
|
@@ -2061,7 +2061,7 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
|
|
|
2061
2061
|
}
|
|
2062
2062
|
);
|
|
2063
2063
|
const mobileAction = /* @__PURE__ */ jsxRuntime.jsx(
|
|
2064
|
-
|
|
2064
|
+
chunkGD6FHRHV_js.CreateActionButton,
|
|
2065
2065
|
{
|
|
2066
2066
|
mode: "mobile",
|
|
2067
2067
|
label: labels.addCredential,
|
|
@@ -2069,9 +2069,9 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
|
|
|
2069
2069
|
accent: "rose"
|
|
2070
2070
|
}
|
|
2071
2071
|
);
|
|
2072
|
-
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
2072
|
+
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkGD6FHRHV_js.PageLoadingState, {}) : isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(chunkGD6FHRHV_js.PageEmptyState, { title: labels.empty, message: labels.subtitle, iconName: "folder-open" }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
2073
2073
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2074
|
-
|
|
2074
|
+
chunkGD6FHRHV_js.SearchBar,
|
|
2075
2075
|
{
|
|
2076
2076
|
searchTerm,
|
|
2077
2077
|
onSearchChange: setSearchTerm,
|
|
@@ -2079,7 +2079,7 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
|
|
|
2079
2079
|
}
|
|
2080
2080
|
),
|
|
2081
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(
|
|
2082
|
-
|
|
2082
|
+
chunkGD6FHRHV_js.EntityCard,
|
|
2083
2083
|
{
|
|
2084
2084
|
accentGradient: "from-rose-500 to-orange-700",
|
|
2085
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" }) }),
|
|
@@ -2087,7 +2087,7 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
|
|
|
2087
2087
|
subtitle: secret.secretType,
|
|
2088
2088
|
status: /* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Badge, { color: secret.disabled ? "zinc" : "emerald", children: secret.disabled ? labels.disable : "Active" }),
|
|
2089
2089
|
footer: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between gap-2", children: [
|
|
2090
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2090
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGD6FHRHV_js.CopyableId, { id: secret.secretId }),
|
|
2091
2091
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
|
|
2092
2092
|
/* @__PURE__ */ jsxRuntime.jsxs(chunkBHOT22QL_js.Button, { type: "button", size: "sm", outline: true, onClick: () => setRotateFor(secret), children: [
|
|
2093
2093
|
/* @__PURE__ */ jsxRuntime.jsx(outline.ArrowPathIcon, { className: "mr-1 h-3.5 w-3.5" }),
|
|
@@ -2124,9 +2124,9 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
|
|
|
2124
2124
|
)) })
|
|
2125
2125
|
] });
|
|
2126
2126
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
2127
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2127
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGD6FHRHV_js.ManagementPageLayout, { hero, content, mobileAction }),
|
|
2128
2128
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2129
|
-
|
|
2129
|
+
chunkGD6FHRHV_js.GlassModal,
|
|
2130
2130
|
{
|
|
2131
2131
|
open: createOpen,
|
|
2132
2132
|
onClose: () => setCreateOpen(false),
|
|
@@ -2144,16 +2144,16 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
|
|
|
2144
2144
|
onCreate({ name, value, secretType, description });
|
|
2145
2145
|
setCreateOpen(false);
|
|
2146
2146
|
},
|
|
2147
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2148
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2149
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2150
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2151
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2147
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(chunkGD6FHRHV_js.FormGrid, { children: [
|
|
2148
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGD6FHRHV_js.FormInput, { name: "name", label: labels.name, placeholder: labels.namePlaceholder, required: true }),
|
|
2149
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGD6FHRHV_js.FormSelect, { name: "secretType", label: labels.type, options: typeOptions, defaultValue: "generic" }),
|
|
2150
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGD6FHRHV_js.FormInput, { name: "value", label: labels.value, placeholder: labels.valuePlaceholder, required: true, type: "password" }),
|
|
2151
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGD6FHRHV_js.FormTextarea, { name: "description", label: labels.description, placeholder: labels.descriptionPlaceholder, rows: 2 })
|
|
2152
2152
|
] })
|
|
2153
2153
|
}
|
|
2154
2154
|
),
|
|
2155
2155
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2156
|
-
|
|
2156
|
+
chunkGD6FHRHV_js.GlassModal,
|
|
2157
2157
|
{
|
|
2158
2158
|
open: rotateFor !== null,
|
|
2159
2159
|
onClose: () => setRotateFor(null),
|
|
@@ -2168,7 +2168,7 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
|
|
|
2168
2168
|
onRotate(rotateFor, value);
|
|
2169
2169
|
setRotateFor(null);
|
|
2170
2170
|
},
|
|
2171
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2171
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(chunkGD6FHRHV_js.FormGrid, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkGD6FHRHV_js.FormInput, { name: "value", label: labels.value, placeholder: labels.valuePlaceholder, required: true, type: "password" }) })
|
|
2172
2172
|
}
|
|
2173
2173
|
)
|
|
2174
2174
|
] });
|
|
@@ -2222,7 +2222,7 @@ function AgentsWorkspacePageView({
|
|
|
2222
2222
|
}, [agents, selectedId]);
|
|
2223
2223
|
const isEmpty = agents.length === 0;
|
|
2224
2224
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
2225
|
-
|
|
2225
|
+
chunkGD6FHRHV_js.HeroSection,
|
|
2226
2226
|
{
|
|
2227
2227
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.CpuChipIcon, { className: "h-5 w-5" }),
|
|
2228
2228
|
label: labels.title,
|
|
@@ -2230,7 +2230,7 @@ function AgentsWorkspacePageView({
|
|
|
2230
2230
|
subtitle: labels.subtitle,
|
|
2231
2231
|
gradient: "from-violet-500 to-indigo-700",
|
|
2232
2232
|
actions: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2233
|
-
|
|
2233
|
+
chunkGD6FHRHV_js.CreateActionButton,
|
|
2234
2234
|
{
|
|
2235
2235
|
mode: "desktop",
|
|
2236
2236
|
label: labels.addAgent,
|
|
@@ -2241,7 +2241,7 @@ function AgentsWorkspacePageView({
|
|
|
2241
2241
|
}
|
|
2242
2242
|
);
|
|
2243
2243
|
const mobileAction = /* @__PURE__ */ jsxRuntime.jsx(
|
|
2244
|
-
|
|
2244
|
+
chunkGD6FHRHV_js.CreateActionButton,
|
|
2245
2245
|
{
|
|
2246
2246
|
mode: "mobile",
|
|
2247
2247
|
label: labels.addAgent,
|
|
@@ -2249,8 +2249,8 @@ function AgentsWorkspacePageView({
|
|
|
2249
2249
|
accent: "violet"
|
|
2250
2250
|
}
|
|
2251
2251
|
);
|
|
2252
|
-
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
2253
|
-
|
|
2252
|
+
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkGD6FHRHV_js.PageLoadingState, {}) : isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
2253
|
+
chunkGD6FHRHV_js.PageEmptyState,
|
|
2254
2254
|
{
|
|
2255
2255
|
title: labels.empty,
|
|
2256
2256
|
message: labels.emptyMessage,
|
|
@@ -2258,7 +2258,7 @@ function AgentsWorkspacePageView({
|
|
|
2258
2258
|
}
|
|
2259
2259
|
) : /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
2260
2260
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2261
|
-
|
|
2261
|
+
chunkGD6FHRHV_js.SearchBar,
|
|
2262
2262
|
{
|
|
2263
2263
|
searchTerm,
|
|
2264
2264
|
onSearchChange: setSearchTerm,
|
|
@@ -2266,15 +2266,15 @@ function AgentsWorkspacePageView({
|
|
|
2266
2266
|
}
|
|
2267
2267
|
),
|
|
2268
2268
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-1 gap-4 lg:grid-cols-[20rem_minmax(0,1fr)]", children: [
|
|
2269
|
-
/* @__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(chunkGD6FHRHV_js.ListCard, { variant: "glass", children: filteredAgents.map((agent) => {
|
|
2270
2270
|
const id = String(agent.agentId ?? agent.id ?? "");
|
|
2271
2271
|
const active = id === selectedId;
|
|
2272
2272
|
const initials = deriveInitials(String(agent.name ?? id));
|
|
2273
2273
|
const modelName = models.find((m) => m.id === String(agent.modelId ?? ""))?.name ?? String(agent.modelId ?? "");
|
|
2274
2274
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2275
|
-
|
|
2275
|
+
chunkGD6FHRHV_js.ListCardItem,
|
|
2276
2276
|
{
|
|
2277
|
-
leading: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2277
|
+
leading: /* @__PURE__ */ jsxRuntime.jsx(chunkGD6FHRHV_js.Avatar, { tone: active ? "violet" : "slate", initials }),
|
|
2278
2278
|
trailing: agent.activePromptVersion > 0 ? /* @__PURE__ */ jsxRuntime.jsxs(chunkBHOT22QL_js.Badge, { color: "emerald", children: [
|
|
2279
2279
|
"v",
|
|
2280
2280
|
agent.activePromptVersion
|
|
@@ -2316,7 +2316,7 @@ function AgentsWorkspacePageView({
|
|
|
2316
2316
|
},
|
|
2317
2317
|
String(selectedAgent.agentId ?? selectedAgent.id ?? "")
|
|
2318
2318
|
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
2319
|
-
|
|
2319
|
+
chunkGD6FHRHV_js.SectionCard,
|
|
2320
2320
|
{
|
|
2321
2321
|
header: {
|
|
2322
2322
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.CpuChipIcon, { className: "h-4 w-4" }),
|
|
@@ -2324,7 +2324,7 @@ function AgentsWorkspacePageView({
|
|
|
2324
2324
|
subtitle: labels.noSelectionMessage
|
|
2325
2325
|
},
|
|
2326
2326
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2327
|
-
|
|
2327
|
+
chunkGD6FHRHV_js.PageEmptyState,
|
|
2328
2328
|
{
|
|
2329
2329
|
title: labels.noSelection,
|
|
2330
2330
|
message: labels.noSelectionMessage,
|
|
@@ -2336,7 +2336,7 @@ function AgentsWorkspacePageView({
|
|
|
2336
2336
|
] })
|
|
2337
2337
|
] });
|
|
2338
2338
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
2339
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2339
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGD6FHRHV_js.ManagementPageLayout, { hero, content, mobileAction }),
|
|
2340
2340
|
createOpen && /* @__PURE__ */ jsxRuntime.jsx(
|
|
2341
2341
|
CreateAgentDialog,
|
|
2342
2342
|
{
|
|
@@ -2369,7 +2369,7 @@ function AgentDetail({
|
|
|
2369
2369
|
}) {
|
|
2370
2370
|
const agentId = String(agent.agentId ?? agent.id ?? "");
|
|
2371
2371
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2372
|
-
|
|
2372
|
+
chunkGD6FHRHV_js.SectionCard,
|
|
2373
2373
|
{
|
|
2374
2374
|
header: {
|
|
2375
2375
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.CpuChipIcon, { className: "h-4 w-4" }),
|
|
@@ -2394,15 +2394,15 @@ function AgentDetail({
|
|
|
2394
2394
|
]
|
|
2395
2395
|
}
|
|
2396
2396
|
),
|
|
2397
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2398
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
2399
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2400
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2401
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2402
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2397
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(chunkGD6FHRHV_js.Tabs, { defaultValue: "general", className: "w-full", children: [
|
|
2398
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkGD6FHRHV_js.TabsList, { className: "bg-white/40 dark:bg-white/[0.06]", children: [
|
|
2399
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGD6FHRHV_js.TabsTrigger, { value: "general", children: labels.generalTab }),
|
|
2400
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGD6FHRHV_js.TabsTrigger, { value: "prompt", children: labels.promptTab }),
|
|
2401
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGD6FHRHV_js.TabsTrigger, { value: "tools", children: labels.toolsTab }),
|
|
2402
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGD6FHRHV_js.TabsTrigger, { value: "model", children: labels.modelTab })
|
|
2403
2403
|
] }),
|
|
2404
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2405
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2404
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGD6FHRHV_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(chunkGD6FHRHV_js.TabsContent, { value: "prompt", className: "space-y-4 pt-4", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2406
2406
|
PromptTab,
|
|
2407
2407
|
{
|
|
2408
2408
|
agent,
|
|
@@ -2412,7 +2412,7 @@ function AgentDetail({
|
|
|
2412
2412
|
onActivate: (promptId) => onActivatePrompt(agentId, promptId)
|
|
2413
2413
|
}
|
|
2414
2414
|
) }),
|
|
2415
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2415
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGD6FHRHV_js.TabsContent, { value: "tools", className: "space-y-4 pt-4", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2416
2416
|
ToolsTab,
|
|
2417
2417
|
{
|
|
2418
2418
|
agent,
|
|
@@ -2422,7 +2422,7 @@ function AgentDetail({
|
|
|
2422
2422
|
onDetach: (toolId) => onDetachTool(agentId, toolId)
|
|
2423
2423
|
}
|
|
2424
2424
|
) }),
|
|
2425
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2425
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGD6FHRHV_js.TabsContent, { value: "model", className: "space-y-4 pt-4", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2426
2426
|
ModelTab,
|
|
2427
2427
|
{
|
|
2428
2428
|
agent,
|
|
@@ -2454,7 +2454,7 @@ function GeneralTab({
|
|
|
2454
2454
|
const initialRole = String(agent.role ?? "");
|
|
2455
2455
|
const initialStatus = String(agent.status ?? "draft");
|
|
2456
2456
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2457
|
-
|
|
2457
|
+
chunkGD6FHRHV_js.SectionCard,
|
|
2458
2458
|
{
|
|
2459
2459
|
variant: "glass",
|
|
2460
2460
|
header: {
|
|
@@ -2483,10 +2483,10 @@ function GeneralTab({
|
|
|
2483
2483
|
},
|
|
2484
2484
|
className: "space-y-4",
|
|
2485
2485
|
children: [
|
|
2486
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
2487
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2486
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkGD6FHRHV_js.FormGrid, { children: [
|
|
2487
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGD6FHRHV_js.FormInput, { name: "name", label: labels.name, defaultValue: initial.name, required: true }),
|
|
2488
2488
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2489
|
-
|
|
2489
|
+
chunkGD6FHRHV_js.FormSelect,
|
|
2490
2490
|
{
|
|
2491
2491
|
name: "status",
|
|
2492
2492
|
label: labels.status,
|
|
@@ -2498,9 +2498,9 @@ function GeneralTab({
|
|
|
2498
2498
|
]
|
|
2499
2499
|
}
|
|
2500
2500
|
),
|
|
2501
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2501
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGD6FHRHV_js.FormInput, { name: "role", label: labels.role, placeholder: labels.rolePlaceholder, defaultValue: initialRole }),
|
|
2502
2502
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2503
|
-
|
|
2503
|
+
chunkGD6FHRHV_js.FormInput,
|
|
2504
2504
|
{
|
|
2505
2505
|
name: "maxTokens",
|
|
2506
2506
|
label: labels.maxTokens,
|
|
@@ -2509,7 +2509,7 @@ function GeneralTab({
|
|
|
2509
2509
|
}
|
|
2510
2510
|
),
|
|
2511
2511
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2512
|
-
|
|
2512
|
+
chunkGD6FHRHV_js.FormInput,
|
|
2513
2513
|
{
|
|
2514
2514
|
name: "temperature",
|
|
2515
2515
|
label: labels.temperature,
|
|
@@ -2521,7 +2521,7 @@ function GeneralTab({
|
|
|
2521
2521
|
}
|
|
2522
2522
|
)
|
|
2523
2523
|
] }),
|
|
2524
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2524
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGD6FHRHV_js.FormTextarea, { name: "description", label: labels.description, defaultValue: initialDescription, rows: 3 }),
|
|
2525
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 }) })
|
|
2526
2526
|
]
|
|
2527
2527
|
}
|
|
@@ -2541,7 +2541,7 @@ function PromptTab({
|
|
|
2541
2541
|
const currentSystem = String(agent.systemPrompt ?? "");
|
|
2542
2542
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
2543
2543
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2544
|
-
|
|
2544
|
+
chunkGD6FHRHV_js.SectionCard,
|
|
2545
2545
|
{
|
|
2546
2546
|
variant: "glass",
|
|
2547
2547
|
header: {
|
|
@@ -2553,7 +2553,7 @@ function PromptTab({
|
|
|
2553
2553
|
}
|
|
2554
2554
|
),
|
|
2555
2555
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2556
|
-
|
|
2556
|
+
chunkGD6FHRHV_js.SectionCard,
|
|
2557
2557
|
{
|
|
2558
2558
|
variant: "glass",
|
|
2559
2559
|
header: {
|
|
@@ -2564,10 +2564,10 @@ function PromptTab({
|
|
|
2564
2564
|
/* @__PURE__ */ jsxRuntime.jsx(outline.PlusIcon, { className: "h-4 w-4" }),
|
|
2565
2565
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-1.5", children: labels.addPrompt })
|
|
2566
2566
|
] }),
|
|
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(
|
|
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(chunkGD6FHRHV_js.ListCard, { children: prompts.map((prompt) => {
|
|
2568
2568
|
const id = `${prompt.agentId}:${prompt.locale}:${prompt.version}`;
|
|
2569
2569
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2570
|
-
|
|
2570
|
+
chunkGD6FHRHV_js.ListCardItem,
|
|
2571
2571
|
{
|
|
2572
2572
|
leading: /* @__PURE__ */ jsxRuntime.jsxs(chunkBHOT22QL_js.Badge, { color: prompt.isActive ? "emerald" : "zinc", children: [
|
|
2573
2573
|
"v",
|
|
@@ -2585,7 +2585,7 @@ function PromptTab({
|
|
|
2585
2585
|
}
|
|
2586
2586
|
),
|
|
2587
2587
|
addOpen && /* @__PURE__ */ jsxRuntime.jsx(
|
|
2588
|
-
|
|
2588
|
+
chunkGD6FHRHV_js.GlassModal,
|
|
2589
2589
|
{
|
|
2590
2590
|
open: true,
|
|
2591
2591
|
onClose: () => setAddOpen(false),
|
|
@@ -2606,10 +2606,10 @@ function PromptTab({
|
|
|
2606
2606
|
});
|
|
2607
2607
|
setAddOpen(false);
|
|
2608
2608
|
},
|
|
2609
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2610
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2609
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(chunkGD6FHRHV_js.FormGrid, { children: [
|
|
2610
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGD6FHRHV_js.FormSelect, { name: "locale", label: labels.promptLocale, options: LOCALE_OPTIONS2, defaultValue: "en" }),
|
|
2611
2611
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2612
|
-
|
|
2612
|
+
chunkGD6FHRHV_js.FormSelect,
|
|
2613
2613
|
{
|
|
2614
2614
|
name: "isActive",
|
|
2615
2615
|
label: labels.promptIsActive,
|
|
@@ -2620,10 +2620,10 @@ function PromptTab({
|
|
|
2620
2620
|
defaultValue: "true"
|
|
2621
2621
|
}
|
|
2622
2622
|
),
|
|
2623
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2624
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2625
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2626
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2623
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGD6FHRHV_js.FormInput, { name: "reason", label: labels.promptReason }),
|
|
2624
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGD6FHRHV_js.FormTextarea, { name: "systemPrompt", label: labels.promptSystemPrompt, rows: 3 }),
|
|
2625
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGD6FHRHV_js.FormTextarea, { name: "userTemplate", label: labels.promptUserTemplate, rows: 3 }),
|
|
2626
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGD6FHRHV_js.FormTextarea, { name: "prompt", label: labels.promptText, rows: 6, required: true })
|
|
2627
2627
|
] })
|
|
2628
2628
|
}
|
|
2629
2629
|
)
|
|
@@ -2646,15 +2646,15 @@ function ToolsTab({
|
|
|
2646
2646
|
const availableTools = tools.filter((tool) => !attachedSet.has(tool.agentToolId));
|
|
2647
2647
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
2648
2648
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2649
|
-
|
|
2649
|
+
chunkGD6FHRHV_js.SectionCard,
|
|
2650
2650
|
{
|
|
2651
2651
|
variant: "glass",
|
|
2652
2652
|
header: {
|
|
2653
2653
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.WrenchScrewdriverIcon, { className: "h-4 w-4" }),
|
|
2654
2654
|
title: labels.toolsAttached
|
|
2655
2655
|
},
|
|
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(
|
|
2657
|
-
|
|
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(chunkGD6FHRHV_js.ListCard, { children: attachedTools.map((tool) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2657
|
+
chunkGD6FHRHV_js.ListCardItem,
|
|
2658
2658
|
{
|
|
2659
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" }) }),
|
|
2660
2660
|
trailing: /* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Button, { type: "button", size: "sm", outline: true, onClick: () => onDetach(tool.agentToolId), children: labels.detachTool }),
|
|
@@ -2668,15 +2668,15 @@ function ToolsTab({
|
|
|
2668
2668
|
}
|
|
2669
2669
|
),
|
|
2670
2670
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2671
|
-
|
|
2671
|
+
chunkGD6FHRHV_js.SectionCard,
|
|
2672
2672
|
{
|
|
2673
2673
|
variant: "glass",
|
|
2674
2674
|
header: {
|
|
2675
2675
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.WrenchScrewdriverIcon, { className: "h-4 w-4" }),
|
|
2676
2676
|
title: labels.toolsAvailable
|
|
2677
2677
|
},
|
|
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(
|
|
2679
|
-
|
|
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(chunkGD6FHRHV_js.ListCard, { children: availableTools.map((tool) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2679
|
+
chunkGD6FHRHV_js.ListCardItem,
|
|
2680
2680
|
{
|
|
2681
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" }) }),
|
|
2682
2682
|
trailing: /* @__PURE__ */ jsxRuntime.jsxs(chunkBHOT22QL_js.Button, { type: "button", size: "sm", color: "indigo", onClick: () => onAttach(tool.agentToolId), children: [
|
|
@@ -2717,7 +2717,7 @@ function ModelTab({
|
|
|
2717
2717
|
return matches.length > 0 ? matches : connections;
|
|
2718
2718
|
}, [selectedModel, connections]);
|
|
2719
2719
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2720
|
-
|
|
2720
|
+
chunkGD6FHRHV_js.SectionCard,
|
|
2721
2721
|
{
|
|
2722
2722
|
variant: "glass",
|
|
2723
2723
|
header: {
|
|
@@ -2738,9 +2738,9 @@ function ModelTab({
|
|
|
2738
2738
|
},
|
|
2739
2739
|
className: "space-y-4",
|
|
2740
2740
|
children: [
|
|
2741
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
2741
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkGD6FHRHV_js.FormGrid, { children: [
|
|
2742
2742
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2743
|
-
|
|
2743
|
+
chunkGD6FHRHV_js.FormSelect,
|
|
2744
2744
|
{
|
|
2745
2745
|
label: labels.model,
|
|
2746
2746
|
value: modelId,
|
|
@@ -2749,7 +2749,7 @@ function ModelTab({
|
|
|
2749
2749
|
}
|
|
2750
2750
|
),
|
|
2751
2751
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2752
|
-
|
|
2752
|
+
chunkGD6FHRHV_js.FormSelect,
|
|
2753
2753
|
{
|
|
2754
2754
|
label: labels.connection,
|
|
2755
2755
|
value: connectionId,
|
|
@@ -2769,6 +2769,15 @@ function ModelTab({
|
|
|
2769
2769
|
}
|
|
2770
2770
|
);
|
|
2771
2771
|
}
|
|
2772
|
+
var AGENT_PRESETS = [
|
|
2773
|
+
{ id: "sales", emoji: "\u{1F4BC}", name: "Sales Specialist", role: "Lead qualification & CRM", systemPrompt: "You are a sales assistant. Help qualify leads, manage CRM entries, and schedule follow-ups. Always be professional and proactive.", temperature: 0.7, maxTokens: 2048, accent: "from-emerald-500 to-teal-600" },
|
|
2774
|
+
{ id: "support", emoji: "\u{1F3A7}", name: "Customer Support", role: "Ticket resolution & escalation", systemPrompt: "You are a customer support agent. Resolve tickets, answer questions, and escalate complex issues. Prioritize customer satisfaction.", temperature: 0.3, maxTokens: 2048, accent: "from-sky-500 to-indigo-600" },
|
|
2775
|
+
{ id: "finance", emoji: "\u{1F4CA}", name: "Financial Analyst", role: "Revenue, margins, reports", systemPrompt: "You are a financial analyst. Analyze revenue, calculate margins, generate performance reports, and identify trends. Use data-driven insights for recommendations.", temperature: 0.4, maxTokens: 4096, accent: "from-amber-500 to-orange-600" },
|
|
2776
|
+
{ id: "security", emoji: "\u{1F6E1}\uFE0F", name: "Security Analyst", role: "Threat monitoring & compliance", systemPrompt: "You are a security analyst. Monitor for threats, audit data access, ensure compliance with privacy regulations, and manage incident response.", temperature: 0.3, maxTokens: 2048, accent: "from-rose-500 to-red-600" },
|
|
2777
|
+
{ id: "data", emoji: "\u{1F52C}", name: "Data Analyst", role: "Pattern detection & cleaning", systemPrompt: "You are a data analyst. Process raw data inputs, identify patterns, clean datasets, and prepare structured analysis for downstream agents.", temperature: 0.5, maxTokens: 4096, accent: "from-violet-500 to-purple-600" },
|
|
2778
|
+
{ id: "custom", emoji: "\u2728", name: "", role: "", systemPrompt: "", temperature: 0.2, maxTokens: 2048, accent: "from-slate-500 to-slate-700" }
|
|
2779
|
+
];
|
|
2780
|
+
var EMOJI_PALETTE = ["\u{1F4BC}", "\u{1F3A7}", "\u{1F4CA}", "\u{1F6E1}\uFE0F", "\u{1F52C}", "\u2728", "\u{1F916}", "\u26A1", "\u{1F3AF}", "\u{1F680}", "\u{1F9E0}", "\u{1F9BE}", "\u{1F4E1}", "\u{1F52E}", "\u{1F310}", "\u{1F5C2}\uFE0F"];
|
|
2772
2781
|
function CreateAgentDialog({
|
|
2773
2782
|
labels,
|
|
2774
2783
|
models,
|
|
@@ -2776,47 +2785,200 @@ function CreateAgentDialog({
|
|
|
2776
2785
|
onSubmit
|
|
2777
2786
|
}) {
|
|
2778
2787
|
const modelOptions = models.map((m) => ({ value: m.id, label: `${m.name} (${m.provider})` }));
|
|
2788
|
+
const [presetId, setPresetId] = react.useState("custom");
|
|
2789
|
+
const [emoji, setEmoji] = react.useState("\u2728");
|
|
2790
|
+
const [name, setName] = react.useState("");
|
|
2791
|
+
const [role, setRole] = react.useState("");
|
|
2792
|
+
const [systemPrompt, setSystemPrompt] = react.useState("");
|
|
2793
|
+
const [temperature, setTemperature] = react.useState(0.2);
|
|
2794
|
+
const [maxTokens, setMaxTokens] = react.useState(2048);
|
|
2795
|
+
const [modelId, setModelId] = react.useState(modelOptions[0]?.value ?? "");
|
|
2796
|
+
const activePreset = AGENT_PRESETS.find((p) => p.id === presetId) ?? AGENT_PRESETS[AGENT_PRESETS.length - 1];
|
|
2797
|
+
function applyPreset(preset) {
|
|
2798
|
+
setPresetId(preset.id);
|
|
2799
|
+
setEmoji(preset.emoji);
|
|
2800
|
+
if (preset.id !== "custom") {
|
|
2801
|
+
setName(preset.name);
|
|
2802
|
+
setRole(preset.role);
|
|
2803
|
+
setSystemPrompt(preset.systemPrompt);
|
|
2804
|
+
setTemperature(preset.temperature);
|
|
2805
|
+
setMaxTokens(preset.maxTokens);
|
|
2806
|
+
}
|
|
2807
|
+
}
|
|
2779
2808
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2780
|
-
|
|
2809
|
+
chunkGD6FHRHV_js.GlassModal,
|
|
2781
2810
|
{
|
|
2782
2811
|
open: true,
|
|
2783
2812
|
onClose,
|
|
2784
2813
|
title: labels.createAgentTitle,
|
|
2785
|
-
|
|
2814
|
+
label: labels.createAgentEyebrow ?? "NEW AGENT",
|
|
2815
|
+
icon: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2816
|
+
"div",
|
|
2817
|
+
{
|
|
2818
|
+
className: `flex h-full w-full items-center justify-center rounded-lg bg-gradient-to-br ${activePreset.accent} text-lg shadow-sm`,
|
|
2819
|
+
"aria-hidden": "true",
|
|
2820
|
+
children: emoji
|
|
2821
|
+
}
|
|
2822
|
+
),
|
|
2823
|
+
maxWidth: "2xl",
|
|
2824
|
+
gradient: activePreset.accent,
|
|
2786
2825
|
showFormFooter: true,
|
|
2787
2826
|
submitLabel: labels.save,
|
|
2788
2827
|
onSubmit: async (event) => {
|
|
2789
|
-
|
|
2828
|
+
event.preventDefault();
|
|
2790
2829
|
await onSubmit({
|
|
2791
|
-
name:
|
|
2792
|
-
modelId
|
|
2793
|
-
systemPrompt
|
|
2794
|
-
maxTokens
|
|
2795
|
-
temperature
|
|
2830
|
+
name: name.trim() || activePreset.name || "Untitled Agent",
|
|
2831
|
+
modelId,
|
|
2832
|
+
systemPrompt,
|
|
2833
|
+
maxTokens,
|
|
2834
|
+
temperature
|
|
2796
2835
|
});
|
|
2797
2836
|
},
|
|
2798
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2799
|
-
/* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.FormInput, { name: "name", label: labels.name, required: true }),
|
|
2837
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-5", children: [
|
|
2800
2838
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2801
|
-
|
|
2839
|
+
chunkGD6FHRHV_js.SectionCard,
|
|
2802
2840
|
{
|
|
2803
|
-
|
|
2804
|
-
|
|
2805
|
-
|
|
2806
|
-
|
|
2841
|
+
variant: "glass",
|
|
2842
|
+
padded: false,
|
|
2843
|
+
header: {
|
|
2844
|
+
title: labels.presetTitle ?? "Start from a template",
|
|
2845
|
+
subtitle: labels.presetSubtitle ?? "Pick a role or build a custom agent"
|
|
2846
|
+
},
|
|
2847
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-2 gap-2 px-4 pb-4 sm:grid-cols-3", children: AGENT_PRESETS.map((preset) => {
|
|
2848
|
+
const selected = preset.id === presetId;
|
|
2849
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2850
|
+
"button",
|
|
2851
|
+
{
|
|
2852
|
+
type: "button",
|
|
2853
|
+
onClick: () => applyPreset(preset),
|
|
2854
|
+
className: [
|
|
2855
|
+
"liquid-surface group flex items-center gap-3 rounded-xl px-3 py-2.5 text-left transition-all",
|
|
2856
|
+
selected ? "ring-2 ring-indigo-500/70 ring-offset-1 ring-offset-transparent" : "hover:border-indigo-400/40 focus-visible:ring-2 focus-visible:ring-indigo-500/70 focus-visible:ring-offset-1"
|
|
2857
|
+
].join(" "),
|
|
2858
|
+
children: [
|
|
2859
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2860
|
+
"span",
|
|
2861
|
+
{
|
|
2862
|
+
"aria-hidden": "true",
|
|
2863
|
+
className: `flex h-9 w-9 shrink-0 items-center justify-center rounded-lg bg-gradient-to-br ${preset.accent} text-base shadow-sm`,
|
|
2864
|
+
children: preset.emoji
|
|
2865
|
+
}
|
|
2866
|
+
),
|
|
2867
|
+
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "min-w-0 flex-1", children: [
|
|
2868
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "block truncate text-sm font-semibold text-slate-900 dark:text-white", children: preset.id === "custom" ? labels.presetCustom ?? "Custom" : preset.name }),
|
|
2869
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "block truncate text-xs text-slate-500 dark:text-slate-400", children: preset.role || (labels.presetCustomHint ?? "Start from scratch") })
|
|
2870
|
+
] })
|
|
2871
|
+
]
|
|
2872
|
+
},
|
|
2873
|
+
preset.id
|
|
2874
|
+
);
|
|
2875
|
+
}) })
|
|
2807
2876
|
}
|
|
2808
2877
|
),
|
|
2809
|
-
/* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.FormInput, { name: "maxTokens", label: labels.maxTokens, type: "number", defaultValue: "2048" }),
|
|
2810
2878
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2811
|
-
|
|
2879
|
+
chunkGD6FHRHV_js.SectionCard,
|
|
2812
2880
|
{
|
|
2813
|
-
|
|
2814
|
-
|
|
2815
|
-
|
|
2816
|
-
|
|
2817
|
-
|
|
2818
|
-
|
|
2819
|
-
|
|
2881
|
+
variant: "glass",
|
|
2882
|
+
header: {
|
|
2883
|
+
title: labels.identitySection ?? "Identity",
|
|
2884
|
+
subtitle: labels.identitySubtitle ?? "How your agent shows up across workflows"
|
|
2885
|
+
},
|
|
2886
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
2887
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
2888
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "mb-2 block text-xs font-semibold uppercase tracking-wider text-slate-600 dark:text-slate-400", children: labels.avatarLabel ?? "Avatar" }),
|
|
2889
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-wrap gap-1.5", children: EMOJI_PALETTE.map((e) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
2890
|
+
"button",
|
|
2891
|
+
{
|
|
2892
|
+
type: "button",
|
|
2893
|
+
onClick: () => setEmoji(e),
|
|
2894
|
+
"aria-pressed": emoji === e,
|
|
2895
|
+
className: [
|
|
2896
|
+
"flex h-9 w-9 items-center justify-center rounded-lg text-base transition-all",
|
|
2897
|
+
emoji === e ? `bg-gradient-to-br ${activePreset.accent} shadow-sm ring-2 ring-indigo-500/70 ring-offset-1 ring-offset-transparent` : "liquid-surface hover:border-indigo-400/40 focus-visible:ring-2 focus-visible:ring-indigo-500/70 focus-visible:ring-offset-1"
|
|
2898
|
+
].join(" "),
|
|
2899
|
+
children: e
|
|
2900
|
+
},
|
|
2901
|
+
e
|
|
2902
|
+
)) })
|
|
2903
|
+
] }),
|
|
2904
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkGD6FHRHV_js.FormGrid, { children: [
|
|
2905
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2906
|
+
chunkGD6FHRHV_js.FormInput,
|
|
2907
|
+
{
|
|
2908
|
+
label: labels.name,
|
|
2909
|
+
value: name,
|
|
2910
|
+
onChange: (event) => setName(event.target.value),
|
|
2911
|
+
required: true,
|
|
2912
|
+
placeholder: labels.namePlaceholder ?? "Sales Specialist"
|
|
2913
|
+
}
|
|
2914
|
+
),
|
|
2915
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2916
|
+
chunkGD6FHRHV_js.FormInput,
|
|
2917
|
+
{
|
|
2918
|
+
label: labels.role,
|
|
2919
|
+
value: role,
|
|
2920
|
+
onChange: (event) => setRole(event.target.value),
|
|
2921
|
+
placeholder: labels.rolePlaceholder
|
|
2922
|
+
}
|
|
2923
|
+
)
|
|
2924
|
+
] })
|
|
2925
|
+
] })
|
|
2926
|
+
}
|
|
2927
|
+
),
|
|
2928
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2929
|
+
chunkGD6FHRHV_js.SectionCard,
|
|
2930
|
+
{
|
|
2931
|
+
variant: "glass",
|
|
2932
|
+
header: {
|
|
2933
|
+
title: labels.behaviorSection ?? "Behavior",
|
|
2934
|
+
subtitle: labels.behaviorSubtitle ?? "System prompt shapes how the agent thinks"
|
|
2935
|
+
},
|
|
2936
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
2937
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2938
|
+
chunkGD6FHRHV_js.FormTextarea,
|
|
2939
|
+
{
|
|
2940
|
+
label: labels.promptSystemPrompt ?? "System prompt",
|
|
2941
|
+
value: systemPrompt,
|
|
2942
|
+
onChange: (event) => setSystemPrompt(event.target.value),
|
|
2943
|
+
rows: 5,
|
|
2944
|
+
placeholder: labels.promptPlaceholder ?? "You are a helpful assistant\u2026"
|
|
2945
|
+
}
|
|
2946
|
+
),
|
|
2947
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkGD6FHRHV_js.FormGrid, { children: [
|
|
2948
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2949
|
+
chunkGD6FHRHV_js.FormSelect,
|
|
2950
|
+
{
|
|
2951
|
+
label: labels.model,
|
|
2952
|
+
value: modelId,
|
|
2953
|
+
onChange: (event) => setModelId(event.target.value),
|
|
2954
|
+
options: modelOptions.length > 0 ? modelOptions : [{ value: "", label: labels.modelEmpty }]
|
|
2955
|
+
}
|
|
2956
|
+
),
|
|
2957
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2958
|
+
chunkGD6FHRHV_js.FormInput,
|
|
2959
|
+
{
|
|
2960
|
+
label: labels.maxTokens,
|
|
2961
|
+
type: "number",
|
|
2962
|
+
value: String(maxTokens),
|
|
2963
|
+
onChange: (event) => setMaxTokens(Number(event.target.value) || 0),
|
|
2964
|
+
min: 1,
|
|
2965
|
+
max: 32e3
|
|
2966
|
+
}
|
|
2967
|
+
),
|
|
2968
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2969
|
+
chunkGD6FHRHV_js.FormInput,
|
|
2970
|
+
{
|
|
2971
|
+
label: `${labels.temperature} (${temperature.toFixed(2)})`,
|
|
2972
|
+
type: "number",
|
|
2973
|
+
value: String(temperature),
|
|
2974
|
+
onChange: (event) => setTemperature(Number(event.target.value) || 0),
|
|
2975
|
+
step: 0.1,
|
|
2976
|
+
min: 0,
|
|
2977
|
+
max: 2
|
|
2978
|
+
}
|
|
2979
|
+
)
|
|
2980
|
+
] })
|
|
2981
|
+
] })
|
|
2820
2982
|
}
|
|
2821
2983
|
)
|
|
2822
2984
|
] })
|
|
@@ -2833,31 +2995,31 @@ function deriveInitials(name) {
|
|
|
2833
2995
|
|
|
2834
2996
|
Object.defineProperty(exports, "RolesPageView", {
|
|
2835
2997
|
enumerable: true,
|
|
2836
|
-
get: function () { return
|
|
2998
|
+
get: function () { return chunkBEUPW5WS_js.RolesPageView; }
|
|
2837
2999
|
});
|
|
2838
3000
|
Object.defineProperty(exports, "UsersPageView", {
|
|
2839
3001
|
enumerable: true,
|
|
2840
|
-
get: function () { return
|
|
3002
|
+
get: function () { return chunkBEUPW5WS_js.UsersPageView; }
|
|
2841
3003
|
});
|
|
2842
3004
|
Object.defineProperty(exports, "DIALECT_CATEGORIES", {
|
|
2843
3005
|
enumerable: true,
|
|
2844
|
-
get: function () { return
|
|
3006
|
+
get: function () { return chunkSUU7XPRX_js.DIALECT_CATEGORIES; }
|
|
2845
3007
|
});
|
|
2846
3008
|
Object.defineProperty(exports, "DatasourceFormModal", {
|
|
2847
3009
|
enumerable: true,
|
|
2848
|
-
get: function () { return
|
|
3010
|
+
get: function () { return chunkSUU7XPRX_js.DatasourceFormModal; }
|
|
2849
3011
|
});
|
|
2850
3012
|
Object.defineProperty(exports, "DatasourceModal", {
|
|
2851
3013
|
enumerable: true,
|
|
2852
|
-
get: function () { return
|
|
3014
|
+
get: function () { return chunkSUU7XPRX_js.DatasourceModal; }
|
|
2853
3015
|
});
|
|
2854
3016
|
Object.defineProperty(exports, "findCategory", {
|
|
2855
3017
|
enumerable: true,
|
|
2856
|
-
get: function () { return
|
|
3018
|
+
get: function () { return chunkSUU7XPRX_js.findCategory; }
|
|
2857
3019
|
});
|
|
2858
3020
|
Object.defineProperty(exports, "findDialect", {
|
|
2859
3021
|
enumerable: true,
|
|
2860
|
-
get: function () { return
|
|
3022
|
+
get: function () { return chunkSUU7XPRX_js.findDialect; }
|
|
2861
3023
|
});
|
|
2862
3024
|
exports.AgentsConfigPageView = AgentsConfigPageView;
|
|
2863
3025
|
exports.AgentsIndexPageView = AgentsIndexPageView;
|