@datatechsolutions/ui 3.5.1 → 3.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/astrlabe/index.js +107 -107
- package/dist/astrlabe/index.mjs +3 -3
- package/dist/astrlabe/workflow-canvas.js +3 -3
- package/dist/astrlabe/workflow-canvas.mjs +2 -2
- package/dist/{chunk-U6XA2OYE.js → chunk-3WXMBAGN.js} +46 -44
- package/dist/chunk-3WXMBAGN.js.map +1 -0
- package/dist/{chunk-EUXHJMGC.mjs → chunk-4OFG6POC.mjs} +9 -5
- package/dist/chunk-4OFG6POC.mjs.map +1 -0
- package/dist/{chunk-PI2C3S6A.mjs → chunk-7LILNZMR.mjs} +3 -3
- package/dist/{chunk-PI2C3S6A.mjs.map → chunk-7LILNZMR.mjs.map} +1 -1
- package/dist/{chunk-EI6FIA45.js → chunk-AMYQSPQC.js} +16 -16
- package/dist/{chunk-EI6FIA45.js.map → chunk-AMYQSPQC.js.map} +1 -1
- package/dist/{chunk-EGXB3WXT.mjs → chunk-DYWSG42B.mjs} +4 -4
- package/dist/{chunk-EGXB3WXT.mjs.map → chunk-DYWSG42B.mjs.map} +1 -1
- package/dist/{chunk-CP5QXRXA.mjs → chunk-ESLKQJQS.mjs} +4 -4
- package/dist/{chunk-CP5QXRXA.mjs.map → chunk-ESLKQJQS.mjs.map} +1 -1
- package/dist/{chunk-K4M4B6ME.js → chunk-GCYYGSHU.js} +9 -5
- package/dist/chunk-GCYYGSHU.js.map +1 -0
- package/dist/{chunk-2TBNOQ7M.mjs → chunk-HGWVJ3VB.mjs} +21 -21
- package/dist/{chunk-2TBNOQ7M.mjs.map → chunk-HGWVJ3VB.mjs.map} +1 -1
- package/dist/{chunk-R3Q5RXXO.mjs → chunk-I63NFWIA.mjs} +3 -3
- package/dist/{chunk-R3Q5RXXO.mjs.map → chunk-I63NFWIA.mjs.map} +1 -1
- package/dist/{chunk-7OZ4MVEF.mjs → chunk-IHHGT3LP.mjs} +19 -19
- package/dist/{chunk-7OZ4MVEF.mjs.map → chunk-IHHGT3LP.mjs.map} +1 -1
- package/dist/{chunk-YV2SE5LS.mjs → chunk-JQYDJ75Q.mjs} +3 -3
- package/dist/{chunk-YV2SE5LS.mjs.map → chunk-JQYDJ75Q.mjs.map} +1 -1
- package/dist/{chunk-SFFSXC5E.js → chunk-LVK7VXW7.js} +54 -54
- package/dist/{chunk-SFFSXC5E.js.map → chunk-LVK7VXW7.js.map} +1 -1
- package/dist/{chunk-ULEPJXTN.mjs → chunk-MRRFDIUQ.mjs} +3 -3
- package/dist/{chunk-ULEPJXTN.mjs.map → chunk-MRRFDIUQ.mjs.map} +1 -1
- package/dist/{chunk-RQBTLFYH.js → chunk-NJZIE4EH.js} +5 -5
- package/dist/{chunk-RQBTLFYH.js.map → chunk-NJZIE4EH.js.map} +1 -1
- package/dist/{chunk-HVDDCBQ2.js → chunk-P5F257N3.js} +33 -33
- package/dist/{chunk-HVDDCBQ2.js.map → chunk-P5F257N3.js.map} +1 -1
- package/dist/{chunk-MT4FJRMD.js → chunk-QHP2MR2F.js} +4 -4
- package/dist/{chunk-MT4FJRMD.js.map → chunk-QHP2MR2F.js.map} +1 -1
- package/dist/{chunk-2UMDWOUY.js → chunk-QRNFTG6A.js} +4 -4
- package/dist/{chunk-2UMDWOUY.js.map → chunk-QRNFTG6A.js.map} +1 -1
- package/dist/{chunk-WKCR4KVQ.mjs → chunk-QTA5I6FC.mjs} +3 -3
- package/dist/{chunk-WKCR4KVQ.mjs.map → chunk-QTA5I6FC.mjs.map} +1 -1
- package/dist/{chunk-F5UDX6JA.js → chunk-S7AV6XEY.js} +74 -74
- package/dist/{chunk-F5UDX6JA.js.map → chunk-S7AV6XEY.js.map} +1 -1
- package/dist/{chunk-KIBOX3UQ.js → chunk-UGJZ3M4Q.js} +53 -53
- package/dist/{chunk-KIBOX3UQ.js.map → chunk-UGJZ3M4Q.js.map} +1 -1
- package/dist/{chunk-PFHXKWFT.mjs → chunk-UOABOFKO.mjs} +3 -3
- package/dist/{chunk-PFHXKWFT.mjs.map → chunk-UOABOFKO.mjs.map} +1 -1
- package/dist/{chunk-PYQLY2RH.js → chunk-UWSMHKOF.js} +161 -161
- package/dist/{chunk-PYQLY2RH.js.map → chunk-UWSMHKOF.js.map} +1 -1
- package/dist/{chunk-L5O4NWQO.mjs → chunk-VDLAZR7S.mjs} +3 -3
- package/dist/{chunk-L5O4NWQO.mjs.map → chunk-VDLAZR7S.mjs.map} +1 -1
- package/dist/{chunk-VMIAMBCP.js → chunk-VPOIX2DY.js} +39 -39
- package/dist/{chunk-VMIAMBCP.js.map → chunk-VPOIX2DY.js.map} +1 -1
- package/dist/{chunk-CJGNEALB.mjs → chunk-VUAGVZJM.mjs} +4 -4
- package/dist/{chunk-CJGNEALB.mjs.map → chunk-VUAGVZJM.mjs.map} +1 -1
- package/dist/{chunk-QIUVK4BI.js → chunk-W5YCZOXO.js} +77 -77
- package/dist/{chunk-QIUVK4BI.js.map → chunk-W5YCZOXO.js.map} +1 -1
- package/dist/{chunk-OWJIKCR2.js → chunk-WBEZATIB.js} +13 -13
- package/dist/{chunk-OWJIKCR2.js.map → chunk-WBEZATIB.js.map} +1 -1
- package/dist/{chunk-37ZLBCJF.mjs → chunk-WEZ722BS.mjs} +6 -6
- package/dist/{chunk-37ZLBCJF.mjs.map → chunk-WEZ722BS.mjs.map} +1 -1
- package/dist/{chunk-CDYNTHUE.mjs → chunk-XTXLRQ3H.mjs} +24 -22
- package/dist/chunk-XTXLRQ3H.mjs.map +1 -0
- package/dist/{chunk-KRPSTXN5.js → chunk-YOJIPZ72.js} +9 -9
- package/dist/{chunk-KRPSTXN5.js.map → chunk-YOJIPZ72.js.map} +1 -1
- package/dist/{chunk-5AVO5DJO.js → chunk-YTE6WCBX.js} +76 -76
- package/dist/{chunk-5AVO5DJO.js.map → chunk-YTE6WCBX.js.map} +1 -1
- package/dist/{chunk-R6O57NTJ.mjs → chunk-ZYVDDSAC.mjs} +6 -6
- package/dist/{chunk-R6O57NTJ.mjs.map → chunk-ZYVDDSAC.mjs.map} +1 -1
- package/dist/index.js +704 -704
- package/dist/index.mjs +1 -1
- package/dist/platform/admin/index.js +10 -10
- package/dist/platform/admin/index.mjs +4 -4
- package/dist/platform/agents-workspace.js +6 -6
- package/dist/platform/agents-workspace.mjs +5 -5
- package/dist/platform/app-shell.js +3 -3
- package/dist/platform/app-shell.mjs +2 -2
- package/dist/platform/auth/index.js +27 -27
- package/dist/platform/auth/index.mjs +4 -4
- package/dist/platform/billing/index.js +3 -3
- package/dist/platform/billing/index.mjs +2 -2
- package/dist/platform/impersonation/index.js +3 -3
- package/dist/platform/impersonation/index.mjs +2 -2
- package/dist/platform/index.js +82 -82
- package/dist/platform/index.mjs +18 -18
- package/dist/platform/pages/index.d.mts +1 -0
- package/dist/platform/pages/index.d.ts +1 -0
- package/dist/platform/pages/index.js +324 -300
- package/dist/platform/pages/index.js.map +1 -1
- package/dist/platform/pages/index.mjs +146 -122
- 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 +4 -4
- package/dist/platform/workflow-canvas-shell.mjs +3 -3
- package/package.json +1 -1
- package/dist/chunk-CDYNTHUE.mjs.map +0 -1
- package/dist/chunk-EUXHJMGC.mjs.map +0 -1
- package/dist/chunk-K4M4B6ME.js.map +0 -1
- package/dist/chunk-U6XA2OYE.js.map +0 -1
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
4
|
var chunk3T2WGL47_js = require('../../chunk-3T2WGL47.js');
|
|
5
|
-
var
|
|
6
|
-
var
|
|
7
|
-
var
|
|
5
|
+
var chunk3WXMBAGN_js = require('../../chunk-3WXMBAGN.js');
|
|
6
|
+
var chunkLVK7VXW7_js = require('../../chunk-LVK7VXW7.js');
|
|
7
|
+
var chunkUWSMHKOF_js = require('../../chunk-UWSMHKOF.js');
|
|
8
8
|
require('../../chunk-55H6WZQP.js');
|
|
9
9
|
require('../../chunk-DJDZIRM6.js');
|
|
10
|
-
require('../../chunk-
|
|
11
|
-
var
|
|
10
|
+
require('../../chunk-S7AV6XEY.js');
|
|
11
|
+
var chunkGCYYGSHU_js = require('../../chunk-GCYYGSHU.js');
|
|
12
12
|
require('../../chunk-UZ3CMNUJ.js');
|
|
13
13
|
require('../../chunk-YXN2K77G.js');
|
|
14
14
|
var chunkS7KHTUHA_js = require('../../chunk-S7KHTUHA.js');
|
|
@@ -26,50 +26,64 @@ function AgentsModelsPageView({ labels, models, loading }) {
|
|
|
26
26
|
const filteredModels = searchTerm.trim() ? allModels.filter((model) => model.name.toLowerCase().includes(searchTerm.trim().toLowerCase())) : allModels;
|
|
27
27
|
const isEmpty = allModels.length === 0;
|
|
28
28
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
29
|
-
|
|
29
|
+
chunkGCYYGSHU_js.HeroSection,
|
|
30
30
|
{
|
|
31
31
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.CubeTransparentIcon, { className: "h-5 w-5" }),
|
|
32
32
|
label: labels.title,
|
|
33
33
|
title: labels.title,
|
|
34
34
|
subtitle: labels.subtitle,
|
|
35
|
-
gradient: "from-emerald-500 to-teal-700"
|
|
35
|
+
gradient: "from-emerald-500 to-teal-700",
|
|
36
|
+
toolbar: !isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
37
|
+
chunkGCYYGSHU_js.SearchBar,
|
|
38
|
+
{
|
|
39
|
+
searchTerm,
|
|
40
|
+
onSearchChange: setSearchTerm,
|
|
41
|
+
placeholder: labels.searchPlaceholder ?? labels.title,
|
|
42
|
+
noBorder: true
|
|
43
|
+
}
|
|
44
|
+
) : void 0
|
|
36
45
|
}
|
|
37
46
|
);
|
|
38
|
-
const
|
|
39
|
-
|
|
40
|
-
{
|
|
41
|
-
searchTerm,
|
|
42
|
-
onSearchChange: setSearchTerm,
|
|
43
|
-
placeholder: labels.searchPlaceholder ?? labels.title
|
|
44
|
-
}
|
|
45
|
-
) : void 0;
|
|
46
|
-
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkK4M4B6ME_js.PageLoadingState, {}) : isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(chunkK4M4B6ME_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: filteredModels.map((model) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
47
|
-
chunkK4M4B6ME_js.EntityCard,
|
|
47
|
+
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.PageLoadingState, {}) : isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_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: filteredModels.map((model) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
48
|
+
chunkGCYYGSHU_js.EntityCard,
|
|
48
49
|
{
|
|
49
50
|
accentGradient: "from-emerald-500 to-teal-700",
|
|
50
51
|
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" }) }),
|
|
51
52
|
title: model.name,
|
|
52
53
|
subtitle: `${labels.provider}: ${model.provider}`,
|
|
53
|
-
status: /* @__PURE__ */ jsxRuntime.jsx(
|
|
54
|
+
status: /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.Badge, { color: model.enabled ? "emerald" : "zinc", children: model.enabled ? labels.enabled : labels.disabled })
|
|
54
55
|
},
|
|
55
56
|
model.id
|
|
56
57
|
)) });
|
|
57
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
58
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.ManagementPageLayout, { hero, content });
|
|
58
59
|
}
|
|
59
60
|
function AgentsConfigPageView({ labels, agents, models, loading, onCreate, onUpdate, onDelete }) {
|
|
60
61
|
const [editing, setEditing] = react.useState(null);
|
|
61
62
|
const [createOpen, setCreateOpen] = react.useState(false);
|
|
63
|
+
const [searchTerm, setSearchTerm] = react.useState("");
|
|
62
64
|
const modelOptions = models.map((model) => ({ value: model.id, label: `${model.name} (${model.provider})` }));
|
|
65
|
+
const allAgents = agents;
|
|
66
|
+
const filteredAgents = searchTerm.trim() ? allAgents.filter((agent) => String(agent.name ?? "").toLowerCase().includes(searchTerm.trim().toLowerCase())) : allAgents;
|
|
67
|
+
const isEmpty = allAgents.length === 0;
|
|
63
68
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
64
|
-
|
|
69
|
+
chunkGCYYGSHU_js.HeroSection,
|
|
65
70
|
{
|
|
66
71
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.CpuChipIcon, { className: "h-5 w-5" }),
|
|
67
72
|
label: labels.title,
|
|
68
73
|
title: labels.title,
|
|
69
74
|
subtitle: labels.subtitle,
|
|
70
75
|
gradient: "from-violet-500 to-indigo-700",
|
|
71
|
-
toolbar: /* @__PURE__ */ jsxRuntime.jsx(
|
|
72
|
-
|
|
76
|
+
toolbar: !isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
77
|
+
chunkGCYYGSHU_js.SearchBar,
|
|
78
|
+
{
|
|
79
|
+
searchTerm,
|
|
80
|
+
onSearchChange: setSearchTerm,
|
|
81
|
+
placeholder: labels.searchPlaceholder ?? labels.title,
|
|
82
|
+
noBorder: true
|
|
83
|
+
}
|
|
84
|
+
) : void 0,
|
|
85
|
+
actions: /* @__PURE__ */ jsxRuntime.jsx(
|
|
86
|
+
chunkGCYYGSHU_js.CreateActionButton,
|
|
73
87
|
{
|
|
74
88
|
mode: "desktop",
|
|
75
89
|
label: labels.addAgent,
|
|
@@ -80,7 +94,7 @@ function AgentsConfigPageView({ labels, agents, models, loading, onCreate, onUpd
|
|
|
80
94
|
}
|
|
81
95
|
);
|
|
82
96
|
const mobileAction = /* @__PURE__ */ jsxRuntime.jsx(
|
|
83
|
-
|
|
97
|
+
chunkGCYYGSHU_js.CreateActionButton,
|
|
84
98
|
{
|
|
85
99
|
mode: "mobile",
|
|
86
100
|
label: labels.addAgent,
|
|
@@ -88,23 +102,23 @@ function AgentsConfigPageView({ labels, agents, models, loading, onCreate, onUpd
|
|
|
88
102
|
accent: "violet"
|
|
89
103
|
}
|
|
90
104
|
);
|
|
91
|
-
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
105
|
+
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.PageLoadingState, {}) : isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_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) => {
|
|
92
106
|
const modelRecord = models.find((model) => model.id === String(agent.modelId ?? ""));
|
|
93
107
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
94
|
-
|
|
108
|
+
chunkGCYYGSHU_js.EntityCard,
|
|
95
109
|
{
|
|
96
110
|
accentGradient: "from-violet-500 to-indigo-700",
|
|
97
111
|
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" }) }),
|
|
98
112
|
title: String(agent.name ?? ""),
|
|
99
113
|
subtitle: String(modelRecord?.name ?? agent.modelId ?? ""),
|
|
100
|
-
status: agent.activePromptVersion > 0 ? /* @__PURE__ */ jsxRuntime.jsxs(
|
|
114
|
+
status: agent.activePromptVersion > 0 ? /* @__PURE__ */ jsxRuntime.jsxs(chunkGCYYGSHU_js.Badge, { color: "emerald", children: [
|
|
101
115
|
"v",
|
|
102
116
|
agent.activePromptVersion
|
|
103
117
|
] }) : null,
|
|
104
118
|
footer: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
|
|
105
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
119
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.Button, { type: "button", size: "sm", outline: true, onClick: () => setEditing(agent), children: labels.edit }),
|
|
106
120
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
107
|
-
|
|
121
|
+
chunkGCYYGSHU_js.Button,
|
|
108
122
|
{
|
|
109
123
|
type: "button",
|
|
110
124
|
size: "sm",
|
|
@@ -128,7 +142,7 @@ function AgentsConfigPageView({ labels, agents, models, loading, onCreate, onUpd
|
|
|
128
142
|
);
|
|
129
143
|
}) });
|
|
130
144
|
const renderForm = (initial, onSubmit) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
131
|
-
|
|
145
|
+
chunkGCYYGSHU_js.GlassModal,
|
|
132
146
|
{
|
|
133
147
|
open: true,
|
|
134
148
|
onClose: () => {
|
|
@@ -151,18 +165,18 @@ function AgentsConfigPageView({ labels, agents, models, loading, onCreate, onUpd
|
|
|
151
165
|
outputSchema: String(form.get("outputSchema") ?? "").trim() || void 0
|
|
152
166
|
});
|
|
153
167
|
},
|
|
154
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
155
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
156
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
157
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
158
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
159
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
160
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
168
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(chunkGCYYGSHU_js.FormGrid, { children: [
|
|
169
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.FormInput, { name: "name", label: labels.name, defaultValue: initial.name ?? "", required: true }),
|
|
170
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.FormSelect, { name: "modelId", label: labels.model, options: modelOptions, defaultValue: initial.modelId ?? modelOptions[0]?.value ?? "", required: true }),
|
|
171
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.FormInput, { name: "maxTokens", label: String(labels.maxTokens), type: "number", defaultValue: String(initial.maxTokens ?? 2048) }),
|
|
172
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.FormInput, { name: "temperature", label: labels.temperature, type: "number", step: 0.1, min: 0, max: 2, defaultValue: String(initial.temperature ?? 0.2) }),
|
|
173
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.FormTextarea, { name: "systemPrompt", label: labels.systemPrompt, defaultValue: initial.systemPrompt ?? "", rows: 4 }),
|
|
174
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.FormTextarea, { name: "outputSchema", label: labels.outputSchema, placeholder: labels.outputSchemaPlaceholder, defaultValue: initial.outputSchema ?? "", rows: 4 })
|
|
161
175
|
] })
|
|
162
176
|
}
|
|
163
177
|
);
|
|
164
178
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
165
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
179
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.ManagementPageLayout, { hero, content, mobileAction }),
|
|
166
180
|
createOpen && renderForm({ title: labels.createTitle }, (input) => {
|
|
167
181
|
onCreate(input);
|
|
168
182
|
setCreateOpen(false);
|
|
@@ -211,16 +225,33 @@ function AgentsPromptsPageView({ labels, agents, prompts, loading, onCreate, onA
|
|
|
211
225
|
}
|
|
212
226
|
return map;
|
|
213
227
|
}, [agents]);
|
|
228
|
+
const allPrompts = prompts;
|
|
229
|
+
const filteredPrompts = searchTerm.trim() ? allPrompts.filter((prompt) => {
|
|
230
|
+
const term = searchTerm.trim().toLowerCase();
|
|
231
|
+
const agentName = agentNameById.get(prompt.agentId) ?? prompt.agentId;
|
|
232
|
+
const promptText = prompt.prompt ?? "";
|
|
233
|
+
return agentName.toLowerCase().includes(term) || promptText.toLowerCase().includes(term);
|
|
234
|
+
}) : allPrompts;
|
|
235
|
+
const isEmpty = allPrompts.length === 0;
|
|
214
236
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
215
|
-
|
|
237
|
+
chunkGCYYGSHU_js.HeroSection,
|
|
216
238
|
{
|
|
217
239
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.ChatBubbleLeftEllipsisIcon, { className: "h-5 w-5" }),
|
|
218
240
|
label: labels.title,
|
|
219
241
|
title: labels.title,
|
|
220
242
|
subtitle: labels.subtitle,
|
|
221
243
|
gradient: "from-sky-500 to-blue-700",
|
|
222
|
-
toolbar: /* @__PURE__ */ jsxRuntime.jsx(
|
|
223
|
-
|
|
244
|
+
toolbar: !isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
245
|
+
chunkGCYYGSHU_js.SearchBar,
|
|
246
|
+
{
|
|
247
|
+
searchTerm,
|
|
248
|
+
onSearchChange: setSearchTerm,
|
|
249
|
+
placeholder: labels.searchPlaceholder ?? labels.title,
|
|
250
|
+
noBorder: true
|
|
251
|
+
}
|
|
252
|
+
) : void 0,
|
|
253
|
+
actions: /* @__PURE__ */ jsxRuntime.jsx(
|
|
254
|
+
chunkGCYYGSHU_js.CreateActionButton,
|
|
224
255
|
{
|
|
225
256
|
mode: "desktop",
|
|
226
257
|
label: labels.addPrompt,
|
|
@@ -231,7 +262,7 @@ function AgentsPromptsPageView({ labels, agents, prompts, loading, onCreate, onA
|
|
|
231
262
|
}
|
|
232
263
|
);
|
|
233
264
|
const mobileAction = /* @__PURE__ */ jsxRuntime.jsx(
|
|
234
|
-
|
|
265
|
+
chunkGCYYGSHU_js.CreateActionButton,
|
|
235
266
|
{
|
|
236
267
|
mode: "mobile",
|
|
237
268
|
label: labels.addPrompt,
|
|
@@ -239,37 +270,21 @@ function AgentsPromptsPageView({ labels, agents, prompts, loading, onCreate, onA
|
|
|
239
270
|
accent: "sky"
|
|
240
271
|
}
|
|
241
272
|
);
|
|
242
|
-
const
|
|
243
|
-
const filteredPrompts = searchTerm.trim() ? allPrompts.filter((prompt) => {
|
|
244
|
-
const term = searchTerm.trim().toLowerCase();
|
|
245
|
-
const agentName = agentNameById.get(prompt.agentId) ?? prompt.agentId;
|
|
246
|
-
const promptText = prompt.prompt ?? "";
|
|
247
|
-
return agentName.toLowerCase().includes(term) || promptText.toLowerCase().includes(term);
|
|
248
|
-
}) : allPrompts;
|
|
249
|
-
const isEmpty = allPrompts.length === 0;
|
|
250
|
-
const summary = !isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
251
|
-
chunkK4M4B6ME_js.SearchBar,
|
|
252
|
-
{
|
|
253
|
-
searchTerm,
|
|
254
|
-
onSearchChange: setSearchTerm,
|
|
255
|
-
placeholder: labels.searchPlaceholder ?? labels.title
|
|
256
|
-
}
|
|
257
|
-
) : void 0;
|
|
258
|
-
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkK4M4B6ME_js.PageLoadingState, {}) : isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(chunkK4M4B6ME_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: filteredPrompts.map((prompt) => {
|
|
273
|
+
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.PageLoadingState, {}) : isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_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: filteredPrompts.map((prompt) => {
|
|
259
274
|
const agentName = agentNameById.get(prompt.agentId) ?? prompt.agentId;
|
|
260
275
|
const key = `${prompt.agentId}:${prompt.locale}:${prompt.version}`;
|
|
261
276
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
262
|
-
|
|
277
|
+
chunkGCYYGSHU_js.EntityCard,
|
|
263
278
|
{
|
|
264
279
|
accentGradient: "from-sky-500 to-blue-700",
|
|
265
280
|
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" }) }),
|
|
266
281
|
title: agentName,
|
|
267
282
|
subtitle: `${prompt.locale} \xB7 v${prompt.version}`,
|
|
268
|
-
status: prompt.isActive ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
283
|
+
status: prompt.isActive ? /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.Badge, { color: "emerald", children: labels.isActive }) : null,
|
|
269
284
|
footer: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
|
|
270
|
-
!prompt.isActive && /* @__PURE__ */ jsxRuntime.jsx(
|
|
285
|
+
!prompt.isActive && /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.Button, { type: "button", size: "sm", outline: true, onClick: () => onActivate(prompt), children: labels.activate }),
|
|
271
286
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
272
|
-
|
|
287
|
+
chunkGCYYGSHU_js.Button,
|
|
273
288
|
{
|
|
274
289
|
type: "button",
|
|
275
290
|
size: "sm",
|
|
@@ -287,9 +302,9 @@ function AgentsPromptsPageView({ labels, agents, prompts, loading, onCreate, onA
|
|
|
287
302
|
);
|
|
288
303
|
}) });
|
|
289
304
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
290
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
305
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.ManagementPageLayout, { hero, content, mobileAction }),
|
|
291
306
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
292
|
-
|
|
307
|
+
chunkGCYYGSHU_js.GlassModal,
|
|
293
308
|
{
|
|
294
309
|
open: createOpen,
|
|
295
310
|
onClose: () => setCreateOpen(false),
|
|
@@ -313,11 +328,11 @@ function AgentsPromptsPageView({ labels, agents, prompts, loading, onCreate, onA
|
|
|
313
328
|
});
|
|
314
329
|
setCreateOpen(false);
|
|
315
330
|
},
|
|
316
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
317
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
318
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
331
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(chunkGCYYGSHU_js.FormGrid, { children: [
|
|
332
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.FormSelect, { name: "agentId", label: labels.agent, options: agentOptions, required: true }),
|
|
333
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.FormSelect, { name: "locale", label: labels.locale, options: LOCALE_OPTIONS, defaultValue: "en" }),
|
|
319
334
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
320
|
-
|
|
335
|
+
chunkGCYYGSHU_js.FormSelect,
|
|
321
336
|
{
|
|
322
337
|
name: "isActive",
|
|
323
338
|
label: labels.isActive,
|
|
@@ -325,10 +340,10 @@ function AgentsPromptsPageView({ labels, agents, prompts, loading, onCreate, onA
|
|
|
325
340
|
defaultValue: "true"
|
|
326
341
|
}
|
|
327
342
|
),
|
|
328
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
329
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
330
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
331
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
343
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.FormInput, { name: "reason", label: labels.reason }),
|
|
344
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.FormTextarea, { name: "systemPrompt", label: labels.systemPrompt, rows: 3 }),
|
|
345
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.FormTextarea, { name: "userTemplate", label: labels.userTemplate, rows: 3 }),
|
|
346
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.FormTextarea, { name: "prompt", label: labels.prompt, rows: 6, required: true })
|
|
332
347
|
] })
|
|
333
348
|
}
|
|
334
349
|
)
|
|
@@ -362,24 +377,25 @@ function AgentsToolDefinitionsPageView({ labels, tools, loading, onCreate, onUpd
|
|
|
362
377
|
const allTools = tools;
|
|
363
378
|
const filteredTools = searchTerm.trim() ? allTools.filter((tool) => tool.name.toLowerCase().includes(searchTerm.trim().toLowerCase())) : allTools;
|
|
364
379
|
const isEmpty = allTools.length === 0;
|
|
365
|
-
const summary = !isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
366
|
-
chunkK4M4B6ME_js.SearchBar,
|
|
367
|
-
{
|
|
368
|
-
searchTerm,
|
|
369
|
-
onSearchChange: setSearchTerm,
|
|
370
|
-
placeholder: labels.searchPlaceholder ?? labels.title
|
|
371
|
-
}
|
|
372
|
-
) : void 0;
|
|
373
380
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
374
|
-
|
|
381
|
+
chunkGCYYGSHU_js.HeroSection,
|
|
375
382
|
{
|
|
376
383
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.WrenchScrewdriverIcon, { className: "h-5 w-5" }),
|
|
377
384
|
label: labels.title,
|
|
378
385
|
title: labels.title,
|
|
379
386
|
subtitle: labels.subtitle,
|
|
380
387
|
gradient: "from-amber-500 to-orange-700",
|
|
381
|
-
toolbar: /* @__PURE__ */ jsxRuntime.jsx(
|
|
382
|
-
|
|
388
|
+
toolbar: !isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
389
|
+
chunkGCYYGSHU_js.SearchBar,
|
|
390
|
+
{
|
|
391
|
+
searchTerm,
|
|
392
|
+
onSearchChange: setSearchTerm,
|
|
393
|
+
placeholder: labels.searchPlaceholder ?? labels.title,
|
|
394
|
+
noBorder: true
|
|
395
|
+
}
|
|
396
|
+
) : void 0,
|
|
397
|
+
actions: /* @__PURE__ */ jsxRuntime.jsx(
|
|
398
|
+
chunkGCYYGSHU_js.CreateActionButton,
|
|
383
399
|
{
|
|
384
400
|
mode: "desktop",
|
|
385
401
|
label: labels.addTool,
|
|
@@ -390,7 +406,7 @@ function AgentsToolDefinitionsPageView({ labels, tools, loading, onCreate, onUpd
|
|
|
390
406
|
}
|
|
391
407
|
);
|
|
392
408
|
const mobileAction = /* @__PURE__ */ jsxRuntime.jsx(
|
|
393
|
-
|
|
409
|
+
chunkGCYYGSHU_js.CreateActionButton,
|
|
394
410
|
{
|
|
395
411
|
mode: "mobile",
|
|
396
412
|
label: labels.addTool,
|
|
@@ -398,18 +414,18 @@ function AgentsToolDefinitionsPageView({ labels, tools, loading, onCreate, onUpd
|
|
|
398
414
|
accent: "amber"
|
|
399
415
|
}
|
|
400
416
|
);
|
|
401
|
-
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
402
|
-
|
|
417
|
+
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.PageLoadingState, {}) : isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_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: filteredTools.map((tool) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
418
|
+
chunkGCYYGSHU_js.EntityCard,
|
|
403
419
|
{
|
|
404
420
|
accentGradient: "from-amber-500 to-orange-700",
|
|
405
421
|
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" }) }),
|
|
406
422
|
title: tool.name,
|
|
407
423
|
subtitle: toolTypeLabel(tool),
|
|
408
|
-
status: /* @__PURE__ */ jsxRuntime.jsx(
|
|
424
|
+
status: /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.Badge, { color: tool.enabled ? "emerald" : "zinc", children: tool.enabled ? labels.enabled : labels.disabled }),
|
|
409
425
|
footer: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
|
|
410
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
426
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.Button, { type: "button", size: "sm", outline: true, onClick: () => setEditing(tool), children: labels.edit }),
|
|
411
427
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
412
|
-
|
|
428
|
+
chunkGCYYGSHU_js.Button,
|
|
413
429
|
{
|
|
414
430
|
type: "button",
|
|
415
431
|
size: "sm",
|
|
@@ -426,7 +442,7 @@ function AgentsToolDefinitionsPageView({ labels, tools, loading, onCreate, onUpd
|
|
|
426
442
|
tool.agentToolId
|
|
427
443
|
)) });
|
|
428
444
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
429
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
445
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.ManagementPageLayout, { hero, content, mobileAction }),
|
|
430
446
|
createOpen && /* @__PURE__ */ jsxRuntime.jsx(
|
|
431
447
|
ToolEditor,
|
|
432
448
|
{
|
|
@@ -484,7 +500,7 @@ function ToolEditor({
|
|
|
484
500
|
setValue((v) => ({ ...v, [key]: next }));
|
|
485
501
|
};
|
|
486
502
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
487
|
-
|
|
503
|
+
chunkGCYYGSHU_js.GlassModal,
|
|
488
504
|
{
|
|
489
505
|
open: true,
|
|
490
506
|
onClose,
|
|
@@ -497,9 +513,9 @@ function ToolEditor({
|
|
|
497
513
|
handleSubmit();
|
|
498
514
|
},
|
|
499
515
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-5", children: [
|
|
500
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
516
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkGCYYGSHU_js.FormGrid, { children: [
|
|
501
517
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
502
|
-
|
|
518
|
+
chunkGCYYGSHU_js.FormInput,
|
|
503
519
|
{
|
|
504
520
|
label: "Name",
|
|
505
521
|
required: true,
|
|
@@ -509,7 +525,7 @@ function ToolEditor({
|
|
|
509
525
|
}
|
|
510
526
|
),
|
|
511
527
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
512
|
-
|
|
528
|
+
chunkGCYYGSHU_js.FormSelect,
|
|
513
529
|
{
|
|
514
530
|
label: "Tool type",
|
|
515
531
|
value: value.toolType,
|
|
@@ -519,7 +535,7 @@ function ToolEditor({
|
|
|
519
535
|
}
|
|
520
536
|
),
|
|
521
537
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
522
|
-
|
|
538
|
+
chunkGCYYGSHU_js.FormSelect,
|
|
523
539
|
{
|
|
524
540
|
label: "Enabled",
|
|
525
541
|
value: value.enabled ? "true" : "false",
|
|
@@ -528,7 +544,7 @@ function ToolEditor({
|
|
|
528
544
|
}
|
|
529
545
|
),
|
|
530
546
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
531
|
-
|
|
547
|
+
chunkGCYYGSHU_js.FormInput,
|
|
532
548
|
{
|
|
533
549
|
label: "Icon (optional)",
|
|
534
550
|
value: value.icon ?? "",
|
|
@@ -538,7 +554,7 @@ function ToolEditor({
|
|
|
538
554
|
)
|
|
539
555
|
] }),
|
|
540
556
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
541
|
-
|
|
557
|
+
chunkGCYYGSHU_js.FormTextarea,
|
|
542
558
|
{
|
|
543
559
|
label: "Description",
|
|
544
560
|
rows: 2,
|
|
@@ -586,7 +602,7 @@ function ParametersEditor({
|
|
|
586
602
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2", children: [
|
|
587
603
|
parameters.map((param, index) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-[1fr_160px_1fr_110px_auto] items-end gap-2", children: [
|
|
588
604
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
589
|
-
|
|
605
|
+
chunkGCYYGSHU_js.FormInput,
|
|
590
606
|
{
|
|
591
607
|
label: "Name",
|
|
592
608
|
value: param.name,
|
|
@@ -595,7 +611,7 @@ function ParametersEditor({
|
|
|
595
611
|
}
|
|
596
612
|
),
|
|
597
613
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
598
|
-
|
|
614
|
+
chunkGCYYGSHU_js.FormSelect,
|
|
599
615
|
{
|
|
600
616
|
label: "Type",
|
|
601
617
|
value: param.type,
|
|
@@ -604,28 +620,28 @@ function ParametersEditor({
|
|
|
604
620
|
}
|
|
605
621
|
),
|
|
606
622
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
607
|
-
|
|
623
|
+
chunkGCYYGSHU_js.FormInput,
|
|
608
624
|
{
|
|
609
625
|
label: "Description",
|
|
610
626
|
value: param.description,
|
|
611
627
|
onValueChange: (description) => update(index, { description })
|
|
612
628
|
}
|
|
613
629
|
),
|
|
614
|
-
/* @__PURE__ */ jsxRuntime.jsxs("label", { className: "flex items-center gap-2 pb-2 text-xs text-
|
|
630
|
+
/* @__PURE__ */ jsxRuntime.jsxs("label", { className: "flex items-center gap-2 pb-2 text-xs text-slate-700 dark:text-slate-300", children: [
|
|
615
631
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
616
632
|
"input",
|
|
617
633
|
{
|
|
618
634
|
type: "checkbox",
|
|
619
635
|
checked: param.required,
|
|
620
636
|
onChange: (event) => update(index, { required: event.target.checked }),
|
|
621
|
-
className: "h-4 w-4 rounded border-
|
|
637
|
+
className: "h-4 w-4 rounded border-slate-300 text-indigo-600 focus:ring-2 focus:ring-indigo-500/70 focus:ring-offset-1 dark:border-white/15 dark:bg-white/[0.08]"
|
|
622
638
|
}
|
|
623
639
|
),
|
|
624
640
|
"Required"
|
|
625
641
|
] }),
|
|
626
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
642
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.Button, { type: "button", plain: true, onClick: () => remove(index), children: "Remove" })
|
|
627
643
|
] }, index)),
|
|
628
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
644
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.Button, { type: "button", outline: true, onClick: add, children: "+ Add parameter" })
|
|
629
645
|
] })
|
|
630
646
|
] });
|
|
631
647
|
}
|
|
@@ -638,9 +654,9 @@ function HandlerConfigEditor({
|
|
|
638
654
|
if (toolType === "http") {
|
|
639
655
|
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: [
|
|
640
656
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-2 text-sm font-semibold text-slate-700 dark:text-slate-200", children: "HTTP handler" }),
|
|
641
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
657
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkGCYYGSHU_js.FormGrid, { children: [
|
|
642
658
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
643
|
-
|
|
659
|
+
chunkGCYYGSHU_js.FormSelect,
|
|
644
660
|
{
|
|
645
661
|
label: "Method",
|
|
646
662
|
value: stringProp(config, "method", "GET"),
|
|
@@ -649,7 +665,7 @@ function HandlerConfigEditor({
|
|
|
649
665
|
}
|
|
650
666
|
),
|
|
651
667
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
652
|
-
|
|
668
|
+
chunkGCYYGSHU_js.FormInput,
|
|
653
669
|
{
|
|
654
670
|
label: "URL template",
|
|
655
671
|
value: stringProp(config, "url"),
|
|
@@ -659,7 +675,7 @@ function HandlerConfigEditor({
|
|
|
659
675
|
)
|
|
660
676
|
] }),
|
|
661
677
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
662
|
-
|
|
678
|
+
chunkGCYYGSHU_js.FormTextarea,
|
|
663
679
|
{
|
|
664
680
|
label: "Headers (JSON)",
|
|
665
681
|
rows: 3,
|
|
@@ -669,7 +685,7 @@ function HandlerConfigEditor({
|
|
|
669
685
|
}
|
|
670
686
|
),
|
|
671
687
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
672
|
-
|
|
688
|
+
chunkGCYYGSHU_js.FormTextarea,
|
|
673
689
|
{
|
|
674
690
|
label: "Body template",
|
|
675
691
|
rows: 3,
|
|
@@ -684,7 +700,7 @@ function HandlerConfigEditor({
|
|
|
684
700
|
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: [
|
|
685
701
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-2 text-sm font-semibold text-slate-700 dark:text-slate-200", children: "Function handler" }),
|
|
686
702
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
687
|
-
|
|
703
|
+
chunkGCYYGSHU_js.FormInput,
|
|
688
704
|
{
|
|
689
705
|
label: "Implementation key",
|
|
690
706
|
value: stringProp(config, "implementationKey"),
|
|
@@ -698,9 +714,9 @@ function HandlerConfigEditor({
|
|
|
698
714
|
if (toolType === "database_query") {
|
|
699
715
|
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: [
|
|
700
716
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-2 text-sm font-semibold text-slate-700 dark:text-slate-200", children: "Database query handler" }),
|
|
701
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
717
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkGCYYGSHU_js.FormGrid, { children: [
|
|
702
718
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
703
|
-
|
|
719
|
+
chunkGCYYGSHU_js.FormInput,
|
|
704
720
|
{
|
|
705
721
|
label: "Datasource ID",
|
|
706
722
|
value: stringProp(config, "datasourceId"),
|
|
@@ -709,7 +725,7 @@ function HandlerConfigEditor({
|
|
|
709
725
|
}
|
|
710
726
|
),
|
|
711
727
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
712
|
-
|
|
728
|
+
chunkGCYYGSHU_js.FormInput,
|
|
713
729
|
{
|
|
714
730
|
label: "Max rows",
|
|
715
731
|
type: "number",
|
|
@@ -719,7 +735,7 @@ function HandlerConfigEditor({
|
|
|
719
735
|
)
|
|
720
736
|
] }),
|
|
721
737
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
722
|
-
|
|
738
|
+
chunkGCYYGSHU_js.FormTextarea,
|
|
723
739
|
{
|
|
724
740
|
label: "Query template",
|
|
725
741
|
rows: 4,
|
|
@@ -735,7 +751,7 @@ function HandlerConfigEditor({
|
|
|
735
751
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-2 text-sm font-semibold text-slate-700 dark:text-slate-200", children: "Code execution handler" }),
|
|
736
752
|
/* @__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." }),
|
|
737
753
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
738
|
-
|
|
754
|
+
chunkGCYYGSHU_js.FormSelect,
|
|
739
755
|
{
|
|
740
756
|
label: "Language",
|
|
741
757
|
value: stringProp(config, "language", "javascript"),
|
|
@@ -747,7 +763,7 @@ function HandlerConfigEditor({
|
|
|
747
763
|
}
|
|
748
764
|
),
|
|
749
765
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
750
|
-
|
|
766
|
+
chunkGCYYGSHU_js.FormTextarea,
|
|
751
767
|
{
|
|
752
768
|
label: "Code",
|
|
753
769
|
rows: 6,
|
|
@@ -760,9 +776,9 @@ function HandlerConfigEditor({
|
|
|
760
776
|
}
|
|
761
777
|
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: [
|
|
762
778
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-2 text-sm font-semibold text-slate-700 dark:text-slate-200", children: "API call handler" }),
|
|
763
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
779
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkGCYYGSHU_js.FormGrid, { children: [
|
|
764
780
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
765
|
-
|
|
781
|
+
chunkGCYYGSHU_js.FormInput,
|
|
766
782
|
{
|
|
767
783
|
label: "URL",
|
|
768
784
|
value: stringProp(config, "url"),
|
|
@@ -770,7 +786,7 @@ function HandlerConfigEditor({
|
|
|
770
786
|
}
|
|
771
787
|
),
|
|
772
788
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
773
|
-
|
|
789
|
+
chunkGCYYGSHU_js.FormSelect,
|
|
774
790
|
{
|
|
775
791
|
label: "Auth",
|
|
776
792
|
value: stringProp(config, "authType", "bearer"),
|
|
@@ -784,7 +800,7 @@ function HandlerConfigEditor({
|
|
|
784
800
|
}
|
|
785
801
|
),
|
|
786
802
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
787
|
-
|
|
803
|
+
chunkGCYYGSHU_js.FormInput,
|
|
788
804
|
{
|
|
789
805
|
label: "Credential secret id",
|
|
790
806
|
value: stringProp(config, "credentialRef"),
|
|
@@ -916,24 +932,25 @@ function RulesPageView({ labels, rules, loading, onCreate, onUpdate, onDelete })
|
|
|
916
932
|
const allRules = rules;
|
|
917
933
|
const filteredRules = searchTerm.trim() ? allRules.filter((rule) => (rule.name ?? "").toLowerCase().includes(searchTerm.trim().toLowerCase())) : allRules;
|
|
918
934
|
const isEmpty = allRules.length === 0;
|
|
919
|
-
const summary = !isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
920
|
-
chunkK4M4B6ME_js.SearchBar,
|
|
921
|
-
{
|
|
922
|
-
searchTerm,
|
|
923
|
-
onSearchChange: setSearchTerm,
|
|
924
|
-
placeholder: labels.searchPlaceholder ?? labels.title
|
|
925
|
-
}
|
|
926
|
-
) : void 0;
|
|
927
935
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
928
|
-
|
|
936
|
+
chunkGCYYGSHU_js.HeroSection,
|
|
929
937
|
{
|
|
930
938
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.AdjustmentsHorizontalIcon, { className: "h-5 w-5" }),
|
|
931
939
|
label: labels.title,
|
|
932
940
|
title: labels.title,
|
|
933
941
|
subtitle: labels.subtitle,
|
|
934
942
|
gradient: "from-fuchsia-500 to-purple-700",
|
|
935
|
-
toolbar: /* @__PURE__ */ jsxRuntime.jsx(
|
|
936
|
-
|
|
943
|
+
toolbar: !isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
944
|
+
chunkGCYYGSHU_js.SearchBar,
|
|
945
|
+
{
|
|
946
|
+
searchTerm,
|
|
947
|
+
onSearchChange: setSearchTerm,
|
|
948
|
+
placeholder: labels.searchPlaceholder ?? labels.title,
|
|
949
|
+
noBorder: true
|
|
950
|
+
}
|
|
951
|
+
) : void 0,
|
|
952
|
+
actions: /* @__PURE__ */ jsxRuntime.jsx(
|
|
953
|
+
chunkGCYYGSHU_js.CreateActionButton,
|
|
937
954
|
{
|
|
938
955
|
mode: "desktop",
|
|
939
956
|
label: labels.addRule,
|
|
@@ -944,7 +961,7 @@ function RulesPageView({ labels, rules, loading, onCreate, onUpdate, onDelete })
|
|
|
944
961
|
}
|
|
945
962
|
);
|
|
946
963
|
const mobileAction = /* @__PURE__ */ jsxRuntime.jsx(
|
|
947
|
-
|
|
964
|
+
chunkGCYYGSHU_js.CreateActionButton,
|
|
948
965
|
{
|
|
949
966
|
mode: "mobile",
|
|
950
967
|
label: labels.addRule,
|
|
@@ -952,18 +969,18 @@ function RulesPageView({ labels, rules, loading, onCreate, onUpdate, onDelete })
|
|
|
952
969
|
accent: "fuchsia"
|
|
953
970
|
}
|
|
954
971
|
);
|
|
955
|
-
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
956
|
-
|
|
972
|
+
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.PageLoadingState, {}) : isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_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: filteredRules.map((rule) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
973
|
+
chunkGCYYGSHU_js.EntityCard,
|
|
957
974
|
{
|
|
958
975
|
accentGradient: "from-fuchsia-500 to-purple-700",
|
|
959
976
|
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" }) }),
|
|
960
977
|
title: rule.name,
|
|
961
978
|
subtitle: `${labels.order}: ${rule.order ?? 0}`,
|
|
962
|
-
status: /* @__PURE__ */ jsxRuntime.jsx(
|
|
979
|
+
status: /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.Badge, { color: rule.enabled ? "emerald" : "zinc", children: rule.enabled ? labels.enabled : labels.disabled }),
|
|
963
980
|
footer: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
|
|
964
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
981
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.Button, { type: "button", size: "sm", outline: true, onClick: () => setEditing(rule), children: labels.edit }),
|
|
965
982
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
966
|
-
|
|
983
|
+
chunkGCYYGSHU_js.Button,
|
|
967
984
|
{
|
|
968
985
|
type: "button",
|
|
969
986
|
size: "sm",
|
|
@@ -980,13 +997,13 @@ function RulesPageView({ labels, rules, loading, onCreate, onUpdate, onDelete })
|
|
|
980
997
|
rule.ruleId
|
|
981
998
|
)) });
|
|
982
999
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
983
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1000
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.ManagementPageLayout, { hero, content, mobileAction }),
|
|
984
1001
|
createOpen && /* @__PURE__ */ jsxRuntime.jsx(
|
|
985
1002
|
RuleEditor,
|
|
986
1003
|
{
|
|
987
1004
|
title: labels.createTitle,
|
|
988
1005
|
saveLabel: labels.save,
|
|
989
|
-
initial:
|
|
1006
|
+
initial: chunkUWSMHKOF_js.defaultRuleForm(),
|
|
990
1007
|
onClose: () => setCreateOpen(false),
|
|
991
1008
|
onSubmit: (value) => {
|
|
992
1009
|
onCreate(value);
|
|
@@ -1018,7 +1035,7 @@ function RuleEditor({
|
|
|
1018
1035
|
}) {
|
|
1019
1036
|
const [value, setValue] = react.useState(initial);
|
|
1020
1037
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1021
|
-
|
|
1038
|
+
chunkGCYYGSHU_js.GlassModal,
|
|
1022
1039
|
{
|
|
1023
1040
|
open: true,
|
|
1024
1041
|
onClose,
|
|
@@ -1030,12 +1047,12 @@ function RuleEditor({
|
|
|
1030
1047
|
event.preventDefault();
|
|
1031
1048
|
onSubmit(value);
|
|
1032
1049
|
},
|
|
1033
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1050
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(chunkUWSMHKOF_js.RuleForm, { value, onChange: setValue })
|
|
1034
1051
|
}
|
|
1035
1052
|
);
|
|
1036
1053
|
}
|
|
1037
1054
|
function ruleToFormValue(rule) {
|
|
1038
|
-
const base =
|
|
1055
|
+
const base = chunkUWSMHKOF_js.defaultRuleForm();
|
|
1039
1056
|
const rawCondition = rule.condition ?? rule.conditions;
|
|
1040
1057
|
const rawAction = pickAction(rule);
|
|
1041
1058
|
return {
|
|
@@ -1166,7 +1183,7 @@ var SAMPLE_DATASOURCES = [
|
|
|
1166
1183
|
];
|
|
1167
1184
|
function getDialectLabel(dialect) {
|
|
1168
1185
|
if (!dialect) return "Unknown";
|
|
1169
|
-
for (const category of
|
|
1186
|
+
for (const category of chunkLVK7VXW7_js.DIALECT_CATEGORIES) {
|
|
1170
1187
|
const found = category.dialects.find((d) => d.value === dialect);
|
|
1171
1188
|
if (found) return found.label;
|
|
1172
1189
|
}
|
|
@@ -1174,12 +1191,12 @@ function getDialectLabel(dialect) {
|
|
|
1174
1191
|
}
|
|
1175
1192
|
function getDialectGradient(dialect) {
|
|
1176
1193
|
if (!dialect) return "from-gray-400 to-gray-500";
|
|
1177
|
-
const category =
|
|
1194
|
+
const category = chunkLVK7VXW7_js.findCategory(dialect);
|
|
1178
1195
|
return category?.gradient ?? "from-gray-400 to-gray-500";
|
|
1179
1196
|
}
|
|
1180
1197
|
function getDialectIcon(dialect) {
|
|
1181
1198
|
if (!dialect) return outline.CircleStackIcon;
|
|
1182
|
-
const category =
|
|
1199
|
+
const category = chunkLVK7VXW7_js.findCategory(dialect);
|
|
1183
1200
|
return category?.icon ?? outline.CircleStackIcon;
|
|
1184
1201
|
}
|
|
1185
1202
|
var DIALECT_LOGO = {
|
|
@@ -1249,15 +1266,24 @@ function DatasourcesPageView({
|
|
|
1249
1266
|
}
|
|
1250
1267
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
1251
1268
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1252
|
-
|
|
1269
|
+
chunkGCYYGSHU_js.HeroSection,
|
|
1253
1270
|
{
|
|
1254
1271
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.CircleStackIcon, { className: "h-5 w-5" }),
|
|
1255
1272
|
label: labels.title,
|
|
1256
1273
|
title: labels.title,
|
|
1257
1274
|
subtitle: labels.subtitle,
|
|
1258
1275
|
gradient: "from-amber-500 to-orange-600",
|
|
1259
|
-
toolbar: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1260
|
-
|
|
1276
|
+
toolbar: !isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1277
|
+
chunkGCYYGSHU_js.SearchBar,
|
|
1278
|
+
{
|
|
1279
|
+
searchTerm,
|
|
1280
|
+
onSearchChange: setSearchTerm,
|
|
1281
|
+
placeholder: labels.searchPlaceholder ?? labels.title,
|
|
1282
|
+
noBorder: true
|
|
1283
|
+
}
|
|
1284
|
+
) : void 0,
|
|
1285
|
+
actions: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1286
|
+
chunkGCYYGSHU_js.CreateActionButton,
|
|
1261
1287
|
{
|
|
1262
1288
|
mode: "desktop",
|
|
1263
1289
|
label: labels.addDatasource,
|
|
@@ -1268,7 +1294,7 @@ function DatasourcesPageView({
|
|
|
1268
1294
|
}
|
|
1269
1295
|
),
|
|
1270
1296
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1271
|
-
|
|
1297
|
+
chunkGCYYGSHU_js.CreateActionButton,
|
|
1272
1298
|
{
|
|
1273
1299
|
mode: "mobile",
|
|
1274
1300
|
label: labels.addDatasource,
|
|
@@ -1276,16 +1302,8 @@ function DatasourcesPageView({
|
|
|
1276
1302
|
accent: "amber"
|
|
1277
1303
|
}
|
|
1278
1304
|
),
|
|
1279
|
-
!isEmpty && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1280
|
-
chunkK4M4B6ME_js.SearchBar,
|
|
1281
|
-
{
|
|
1282
|
-
searchTerm,
|
|
1283
|
-
onSearchChange: setSearchTerm,
|
|
1284
|
-
placeholder: labels.searchPlaceholder ?? labels.title
|
|
1285
|
-
}
|
|
1286
|
-
),
|
|
1287
1305
|
isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1288
|
-
|
|
1306
|
+
chunkGCYYGSHU_js.PageEmptyState,
|
|
1289
1307
|
{
|
|
1290
1308
|
title: labels.emptyTitle,
|
|
1291
1309
|
message: labels.emptyDescription,
|
|
@@ -1297,29 +1315,29 @@ function DatasourcesPageView({
|
|
|
1297
1315
|
const gradient = getDialectGradient(ds.dialect);
|
|
1298
1316
|
const dialectLabel = getDialectLabel(ds.dialect);
|
|
1299
1317
|
const logoSrc = getDialectLogoSrc(ds.dialect);
|
|
1300
|
-
const iconElement = logoSrc ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-11 w-11 items-center justify-center rounded-lg
|
|
1318
|
+
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" }) });
|
|
1301
1319
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1302
|
-
|
|
1320
|
+
chunkGCYYGSHU_js.EntityCard,
|
|
1303
1321
|
{
|
|
1304
1322
|
accentGradient: gradient,
|
|
1305
1323
|
icon: iconElement,
|
|
1306
1324
|
title: ds.name ?? ds.id,
|
|
1307
1325
|
subtitle: dialectLabel,
|
|
1308
|
-
status: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1309
|
-
footer: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2 text-xs text-
|
|
1326
|
+
status: /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.Badge, { color: ds.enabled ? "emerald" : "zinc", children: ds.enabled ? labels.enabled : labels.disabled }),
|
|
1327
|
+
footer: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2 text-xs text-slate-500 dark:text-slate-400", children: [
|
|
1310
1328
|
ds.readOnly && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "rounded-full bg-blue-100 px-2 py-0.5 text-[10px] font-semibold text-blue-700 dark:bg-blue-900/30 dark:text-blue-300", children: "Read-only" }),
|
|
1311
1329
|
ds.timeoutMs && /* @__PURE__ */ jsxRuntime.jsxs("span", { children: [
|
|
1312
1330
|
ds.timeoutMs / 1e3,
|
|
1313
1331
|
"s timeout"
|
|
1314
1332
|
] })
|
|
1315
1333
|
] }),
|
|
1316
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-2 text-xs text-
|
|
1334
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-2 text-xs text-slate-500 dark:text-slate-400", children: [
|
|
1317
1335
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
1318
1336
|
labels.dialect,
|
|
1319
1337
|
": ",
|
|
1320
1338
|
dialectLabel
|
|
1321
1339
|
] }),
|
|
1322
|
-
ds.slug && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "truncate text-
|
|
1340
|
+
ds.slug && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "truncate text-slate-400 dark:text-slate-500", children: [
|
|
1323
1341
|
"/",
|
|
1324
1342
|
ds.slug
|
|
1325
1343
|
] })
|
|
@@ -1329,7 +1347,7 @@ function DatasourcesPageView({
|
|
|
1329
1347
|
);
|
|
1330
1348
|
}) }),
|
|
1331
1349
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1332
|
-
|
|
1350
|
+
chunkLVK7VXW7_js.DatasourceModal,
|
|
1333
1351
|
{
|
|
1334
1352
|
open: modalOpen,
|
|
1335
1353
|
onClose: () => setModalOpen(false),
|
|
@@ -1342,9 +1360,9 @@ function DatasourcesPageView({
|
|
|
1342
1360
|
function DashboardPageView({ labels, appLogo }) {
|
|
1343
1361
|
const hero = /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "w-full text-center", children: [
|
|
1344
1362
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex justify-center mb-6", children: appLogo }),
|
|
1345
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-3 text-base text-
|
|
1363
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-3 text-base text-slate-600 dark:text-slate-300", children: labels.subtitle })
|
|
1346
1364
|
] });
|
|
1347
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1365
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.ManagementPageLayout, { hero, content: null });
|
|
1348
1366
|
}
|
|
1349
1367
|
function AgentsIndexPageView({ labels }) {
|
|
1350
1368
|
const Link = chunkS7KHTUHA_js.useLink();
|
|
@@ -1358,27 +1376,28 @@ function AgentsIndexPageView({ labels }) {
|
|
|
1358
1376
|
const filteredTiles = searchTerm.trim() ? allTiles.filter((tile) => tile.title.toLowerCase().includes(searchTerm.trim().toLowerCase())) : allTiles;
|
|
1359
1377
|
const isEmpty = allTiles.length === 0;
|
|
1360
1378
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
1361
|
-
|
|
1379
|
+
chunkGCYYGSHU_js.HeroSection,
|
|
1362
1380
|
{
|
|
1363
1381
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.CpuChipIcon, { className: "h-5 w-5" }),
|
|
1364
1382
|
label: labels.title,
|
|
1365
1383
|
title: labels.title,
|
|
1366
1384
|
subtitle: labels.subtitle,
|
|
1367
|
-
gradient: "from-violet-500 to-indigo-700"
|
|
1385
|
+
gradient: "from-violet-500 to-indigo-700",
|
|
1386
|
+
toolbar: !isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1387
|
+
chunkGCYYGSHU_js.SearchBar,
|
|
1388
|
+
{
|
|
1389
|
+
searchTerm,
|
|
1390
|
+
onSearchChange: setSearchTerm,
|
|
1391
|
+
placeholder: labels.searchPlaceholder ?? labels.title,
|
|
1392
|
+
noBorder: true
|
|
1393
|
+
}
|
|
1394
|
+
) : void 0
|
|
1368
1395
|
}
|
|
1369
1396
|
);
|
|
1370
|
-
const summary = !isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1371
|
-
chunkK4M4B6ME_js.SearchBar,
|
|
1372
|
-
{
|
|
1373
|
-
searchTerm,
|
|
1374
|
-
onSearchChange: setSearchTerm,
|
|
1375
|
-
placeholder: labels.searchPlaceholder ?? labels.title
|
|
1376
|
-
}
|
|
1377
|
-
) : void 0;
|
|
1378
1397
|
const content = /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-4", children: filteredTiles.map((tile) => {
|
|
1379
1398
|
const Icon = tile.icon;
|
|
1380
1399
|
return /* @__PURE__ */ jsxRuntime.jsx(Link, { href: tile.href, className: "block focus:outline-none", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1381
|
-
|
|
1400
|
+
chunkGCYYGSHU_js.EntityCard,
|
|
1382
1401
|
{
|
|
1383
1402
|
accentGradient: tile.gradient,
|
|
1384
1403
|
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" }) }),
|
|
@@ -1387,13 +1406,13 @@ function AgentsIndexPageView({ labels }) {
|
|
|
1387
1406
|
}
|
|
1388
1407
|
) }, tile.id);
|
|
1389
1408
|
}) });
|
|
1390
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1409
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.ManagementPageLayout, { hero, content });
|
|
1391
1410
|
}
|
|
1392
1411
|
function WorkflowsPageView({ labels, workflows, onCreate, onUpdateMeta, onPublish }) {
|
|
1393
1412
|
const selectedWorkflow = workflows[0] ?? null;
|
|
1394
1413
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-6", children: [
|
|
1395
1414
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1396
|
-
|
|
1415
|
+
chunkGCYYGSHU_js.SectionHeader,
|
|
1397
1416
|
{
|
|
1398
1417
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.RectangleStackIcon, { className: "h-5 w-5 text-white" }),
|
|
1399
1418
|
title: labels.title,
|
|
@@ -1402,9 +1421,9 @@ function WorkflowsPageView({ labels, workflows, onCreate, onUpdateMeta, onPublis
|
|
|
1402
1421
|
}
|
|
1403
1422
|
),
|
|
1404
1423
|
/* @__PURE__ */ jsxRuntime.jsxs("section", { className: "liquid-surface rounded-2xl p-4 space-y-3", children: [
|
|
1405
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1424
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.Text, { className: "font-semibold text-slate-900 dark:text-slate-100", children: labels.add }),
|
|
1406
1425
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1407
|
-
|
|
1426
|
+
chunkGCYYGSHU_js.Form,
|
|
1408
1427
|
{
|
|
1409
1428
|
onSubmit: (event) => {
|
|
1410
1429
|
event.preventDefault();
|
|
@@ -1415,32 +1434,32 @@ function WorkflowsPageView({ labels, workflows, onCreate, onUpdateMeta, onPublis
|
|
|
1415
1434
|
onCreate({ name, description });
|
|
1416
1435
|
event.currentTarget.reset();
|
|
1417
1436
|
},
|
|
1418
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1419
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1420
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1421
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1437
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(chunkGCYYGSHU_js.FormGrid, { children: [
|
|
1438
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.FormInput, { name: "name", label: labels.workflowName, placeholder: labels.workflowNamePlaceholder, required: true }),
|
|
1439
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.FormTextarea, { name: "description", label: labels.description, placeholder: labels.workflowDescriptionPlaceholder, rows: 3 }),
|
|
1440
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.FormActionsRow, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.Button, { type: "submit", children: labels.create }) })
|
|
1422
1441
|
] })
|
|
1423
1442
|
}
|
|
1424
1443
|
)
|
|
1425
1444
|
] }),
|
|
1426
1445
|
/* @__PURE__ */ jsxRuntime.jsxs("section", { className: "liquid-surface rounded-2xl p-4 space-y-3", children: [
|
|
1427
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1428
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1429
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1430
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1431
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1432
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1433
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1434
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1446
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.Text, { className: "font-semibold text-slate-900 dark:text-slate-100", children: labels.registry }),
|
|
1447
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkGCYYGSHU_js.Table, { children: [
|
|
1448
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.TableHead, { children: /* @__PURE__ */ jsxRuntime.jsxs(chunkGCYYGSHU_js.TableRow, { children: [
|
|
1449
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.TableHeader, { children: labels.name }),
|
|
1450
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.TableHeader, { children: labels.description }),
|
|
1451
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.TableHeader, { children: labels.version }),
|
|
1452
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.TableHeader, { children: labels.status }),
|
|
1453
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.TableHeader, { children: labels.actions })
|
|
1435
1454
|
] }) }),
|
|
1436
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1437
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1438
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1439
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1440
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1441
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1455
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.TableBody, { children: workflows.map((workflow) => /* @__PURE__ */ jsxRuntime.jsxs(chunkGCYYGSHU_js.TableRow, { children: [
|
|
1456
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.TableCell, { children: workflow.name }),
|
|
1457
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.TableCell, { children: workflow.description }),
|
|
1458
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.TableCell, { children: String(workflow.version) }),
|
|
1459
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.TableCell, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.Badge, { children: workflow.isDraft ? labels.statusDraft : labels.statusPublished }) }),
|
|
1460
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.TableCell, { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-2", children: [
|
|
1442
1461
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1443
|
-
|
|
1462
|
+
chunkGCYYGSHU_js.Form,
|
|
1444
1463
|
{
|
|
1445
1464
|
onSubmit: (event) => {
|
|
1446
1465
|
event.preventDefault();
|
|
@@ -1450,17 +1469,17 @@ function WorkflowsPageView({ labels, workflows, onCreate, onUpdateMeta, onPublis
|
|
|
1450
1469
|
description: workflow.description ?? ""
|
|
1451
1470
|
});
|
|
1452
1471
|
},
|
|
1453
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1472
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.InlineForm, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.Button, { type: "submit", outline: true, children: labels.saveMeta }) })
|
|
1454
1473
|
}
|
|
1455
1474
|
),
|
|
1456
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1475
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.Button, { type: "button", color: "sky", onClick: () => onPublish(workflow.id), children: labels.publish })
|
|
1457
1476
|
] }) })
|
|
1458
1477
|
] }, workflow.id)) })
|
|
1459
1478
|
] })
|
|
1460
1479
|
] }),
|
|
1461
1480
|
/* @__PURE__ */ jsxRuntime.jsxs("section", { className: "liquid-surface rounded-2xl p-4 space-y-3", children: [
|
|
1462
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1463
|
-
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(
|
|
1481
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.Text, { className: "font-semibold text-slate-900 dark:text-slate-100", children: labels.workspace }),
|
|
1482
|
+
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(chunk3WXMBAGN_js.WorkflowWorkspace, { graph: chunk3T2WGL47_js.adaptWorkflowGraphToUi(selectedWorkflow.graph) }) }) : /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.Text, { children: labels.empty })
|
|
1464
1483
|
] })
|
|
1465
1484
|
] });
|
|
1466
1485
|
}
|
|
@@ -1509,46 +1528,49 @@ function WorkflowRunsPageView({ labels, runs, loading, onCancel, onReplay, onVie
|
|
|
1509
1528
|
});
|
|
1510
1529
|
const isEmpty = allRuns.length === 0;
|
|
1511
1530
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
1512
|
-
|
|
1531
|
+
chunkGCYYGSHU_js.HeroSection,
|
|
1513
1532
|
{
|
|
1514
1533
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.ClockIcon, { className: "h-5 w-5" }),
|
|
1515
1534
|
label: labels.title,
|
|
1516
1535
|
title: labels.title,
|
|
1517
1536
|
subtitle: labels.subtitle,
|
|
1518
1537
|
gradient: "from-indigo-500 to-sky-700",
|
|
1519
|
-
toolbar: /* @__PURE__ */ jsxRuntime.
|
|
1520
|
-
|
|
1521
|
-
|
|
1522
|
-
|
|
1523
|
-
|
|
1524
|
-
|
|
1525
|
-
|
|
1526
|
-
|
|
1527
|
-
|
|
1528
|
-
|
|
1538
|
+
toolbar: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-2 sm:flex-row sm:items-end", children: [
|
|
1539
|
+
!isEmpty && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-1", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1540
|
+
chunkGCYYGSHU_js.SearchBar,
|
|
1541
|
+
{
|
|
1542
|
+
searchTerm,
|
|
1543
|
+
onSearchChange: setSearchTerm,
|
|
1544
|
+
placeholder: labels.searchPlaceholder ?? labels.title,
|
|
1545
|
+
noBorder: true
|
|
1546
|
+
}
|
|
1547
|
+
) }),
|
|
1548
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-full sm:w-48", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1549
|
+
chunkGCYYGSHU_js.FormSelect,
|
|
1550
|
+
{
|
|
1551
|
+
name: "statusFilter",
|
|
1552
|
+
label: labels.filterStatus,
|
|
1553
|
+
options: statusOptions,
|
|
1554
|
+
value: statusFilter,
|
|
1555
|
+
onValueChange: setStatusFilter
|
|
1556
|
+
}
|
|
1557
|
+
) })
|
|
1558
|
+
] })
|
|
1529
1559
|
}
|
|
1530
1560
|
);
|
|
1531
|
-
const
|
|
1532
|
-
|
|
1533
|
-
{
|
|
1534
|
-
searchTerm,
|
|
1535
|
-
onSearchChange: setSearchTerm,
|
|
1536
|
-
placeholder: labels.searchPlaceholder ?? labels.title
|
|
1537
|
-
}
|
|
1538
|
-
) : void 0;
|
|
1539
|
-
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkK4M4B6ME_js.PageLoadingState, {}) : filteredRuns.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkK4M4B6ME_js.PageEmptyState, { title: labels.empty, message: labels.subtitle, iconName: "folder-open" }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3", children: filteredRuns.map((run) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1540
|
-
chunkK4M4B6ME_js.EntityCard,
|
|
1561
|
+
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.PageLoadingState, {}) : filteredRuns.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.PageEmptyState, { title: labels.empty, message: labels.subtitle, iconName: "folder-open" }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3", children: filteredRuns.map((run) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1562
|
+
chunkGCYYGSHU_js.EntityCard,
|
|
1541
1563
|
{
|
|
1542
1564
|
accentGradient: "from-indigo-500 to-sky-700",
|
|
1543
1565
|
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" }) }),
|
|
1544
1566
|
title: run.id.slice(0, 8),
|
|
1545
1567
|
subtitle: `${labels.startedAt}: ${new Date(run.createdAt).toLocaleString()}`,
|
|
1546
|
-
status: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1568
|
+
status: /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.Badge, { color: BADGE_COLOR[run.status] ?? "zinc", children: statusLabelFor(run.status) }),
|
|
1547
1569
|
footer: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
|
|
1548
|
-
onView && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1549
|
-
onViewTimeline && labels.timeline && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1550
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1551
|
-
run.status === "running" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1570
|
+
onView && /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.Button, { type: "button", size: "sm", outline: true, onClick: () => onView(run), children: labels.view }),
|
|
1571
|
+
onViewTimeline && labels.timeline && /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.Button, { type: "button", size: "sm", outline: true, onClick: () => onViewTimeline(run), children: labels.timeline }),
|
|
1572
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.Button, { type: "button", size: "sm", outline: true, onClick: () => onReplay(run), children: labels.replay }),
|
|
1573
|
+
run.status === "running" && /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.Button, { type: "button", size: "sm", color: "rose", onClick: () => onCancel(run), children: labels.cancel })
|
|
1552
1574
|
] }),
|
|
1553
1575
|
children: [
|
|
1554
1576
|
/* @__PURE__ */ jsxRuntime.jsxs("dl", { className: "mt-1 grid grid-cols-2 gap-1 text-xs text-slate-500 dark:text-slate-400", children: [
|
|
@@ -1562,11 +1584,11 @@ function WorkflowRunsPageView({ labels, runs, loading, onCancel, onReplay, onVie
|
|
|
1562
1584
|
},
|
|
1563
1585
|
run.id
|
|
1564
1586
|
)) });
|
|
1565
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1587
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.ManagementPageLayout, { hero, content });
|
|
1566
1588
|
}
|
|
1567
1589
|
function RunTimelinePageView({ labels, entries, loading, runId }) {
|
|
1568
1590
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
1569
|
-
|
|
1591
|
+
chunkGCYYGSHU_js.HeroSection,
|
|
1570
1592
|
{
|
|
1571
1593
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.ClockIcon, { className: "h-5 w-5" }),
|
|
1572
1594
|
label: labels.title,
|
|
@@ -1576,23 +1598,23 @@ function RunTimelinePageView({ labels, entries, loading, runId }) {
|
|
|
1576
1598
|
}
|
|
1577
1599
|
);
|
|
1578
1600
|
if (loading) {
|
|
1579
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1601
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.ManagementPageLayout, { hero, content: /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.PageLoadingState, {}) });
|
|
1580
1602
|
}
|
|
1581
1603
|
if (entries.length === 0) {
|
|
1582
1604
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1583
|
-
|
|
1605
|
+
chunkGCYYGSHU_js.ManagementPageLayout,
|
|
1584
1606
|
{
|
|
1585
1607
|
hero,
|
|
1586
|
-
content: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1608
|
+
content: /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.PageEmptyState, { title: labels.empty ?? "", message: "", iconName: "folder-open" })
|
|
1587
1609
|
}
|
|
1588
1610
|
);
|
|
1589
1611
|
}
|
|
1590
1612
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1591
|
-
|
|
1613
|
+
chunkGCYYGSHU_js.ManagementPageLayout,
|
|
1592
1614
|
{
|
|
1593
1615
|
hero,
|
|
1594
1616
|
content: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1595
|
-
|
|
1617
|
+
chunkUWSMHKOF_js.ExecutionTimelinePanel,
|
|
1596
1618
|
{
|
|
1597
1619
|
entries,
|
|
1598
1620
|
labels
|
|
@@ -1677,24 +1699,25 @@ function ConnectionsPageView({
|
|
|
1677
1699
|
const allConnections = connections;
|
|
1678
1700
|
const filteredConnections = searchTerm.trim() ? allConnections.filter((conn) => conn.name.toLowerCase().includes(searchTerm.trim().toLowerCase())) : allConnections;
|
|
1679
1701
|
const isEmpty = allConnections.length === 0;
|
|
1680
|
-
const summary = !isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1681
|
-
chunkK4M4B6ME_js.SearchBar,
|
|
1682
|
-
{
|
|
1683
|
-
searchTerm,
|
|
1684
|
-
onSearchChange: setSearchTerm,
|
|
1685
|
-
placeholder: labels.searchPlaceholder ?? labels.title
|
|
1686
|
-
}
|
|
1687
|
-
) : void 0;
|
|
1688
1702
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
1689
|
-
|
|
1703
|
+
chunkGCYYGSHU_js.HeroSection,
|
|
1690
1704
|
{
|
|
1691
1705
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.LinkIcon, { className: "h-5 w-5" }),
|
|
1692
1706
|
label: labels.title,
|
|
1693
1707
|
title: labels.title,
|
|
1694
1708
|
subtitle: labels.subtitle,
|
|
1695
1709
|
gradient: "from-sky-500 to-indigo-600",
|
|
1696
|
-
toolbar: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1697
|
-
|
|
1710
|
+
toolbar: !isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1711
|
+
chunkGCYYGSHU_js.SearchBar,
|
|
1712
|
+
{
|
|
1713
|
+
searchTerm,
|
|
1714
|
+
onSearchChange: setSearchTerm,
|
|
1715
|
+
placeholder: labels.searchPlaceholder ?? labels.title,
|
|
1716
|
+
noBorder: true
|
|
1717
|
+
}
|
|
1718
|
+
) : void 0,
|
|
1719
|
+
actions: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1720
|
+
chunkGCYYGSHU_js.CreateActionButton,
|
|
1698
1721
|
{
|
|
1699
1722
|
mode: "desktop",
|
|
1700
1723
|
label: labels.add,
|
|
@@ -1705,7 +1728,7 @@ function ConnectionsPageView({
|
|
|
1705
1728
|
}
|
|
1706
1729
|
);
|
|
1707
1730
|
const mobileAction = /* @__PURE__ */ jsxRuntime.jsx(
|
|
1708
|
-
|
|
1731
|
+
chunkGCYYGSHU_js.CreateActionButton,
|
|
1709
1732
|
{
|
|
1710
1733
|
mode: "mobile",
|
|
1711
1734
|
label: labels.add,
|
|
@@ -1713,21 +1736,21 @@ function ConnectionsPageView({
|
|
|
1713
1736
|
accent: "sky"
|
|
1714
1737
|
}
|
|
1715
1738
|
);
|
|
1716
|
-
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1717
|
-
|
|
1739
|
+
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.PageLoadingState, {}) : isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_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: filteredConnections.map((conn) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1740
|
+
chunkGCYYGSHU_js.EntityCard,
|
|
1718
1741
|
{
|
|
1719
1742
|
accentGradient: "from-sky-500 to-indigo-600",
|
|
1720
1743
|
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" }) }),
|
|
1721
1744
|
title: conn.name,
|
|
1722
1745
|
subtitle: providerLabel(conn.providerSlug),
|
|
1723
1746
|
status: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-1", children: [
|
|
1724
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1725
|
-
conn.credentialRef ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1747
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.Badge, { color: conn.enabled ? "emerald" : "zinc", children: conn.enabled ? labels.enable : labels.disable }),
|
|
1748
|
+
conn.credentialRef ? /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.Badge, { color: "indigo", children: "Secret set" }) : /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.Badge, { color: "amber", children: "No secret" })
|
|
1726
1749
|
] }),
|
|
1727
1750
|
footer: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
|
|
1728
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1751
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.Button, { type: "button", size: "sm", outline: true, onClick: () => setEditing(conn), children: labels.edit }),
|
|
1729
1752
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1730
|
-
|
|
1753
|
+
chunkGCYYGSHU_js.Button,
|
|
1731
1754
|
{
|
|
1732
1755
|
type: "button",
|
|
1733
1756
|
size: "sm",
|
|
@@ -1748,7 +1771,7 @@ function ConnectionsPageView({
|
|
|
1748
1771
|
conn.id
|
|
1749
1772
|
)) });
|
|
1750
1773
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1751
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1774
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.ManagementPageLayout, { hero, content, mobileAction }),
|
|
1752
1775
|
createOpen && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1753
1776
|
ConnectionEditor,
|
|
1754
1777
|
{
|
|
@@ -1862,7 +1885,7 @@ function ConnectionEditor({
|
|
|
1862
1885
|
return preset.exampleModels?.join(", ") ?? "";
|
|
1863
1886
|
}, [preset]);
|
|
1864
1887
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1865
|
-
|
|
1888
|
+
chunkGCYYGSHU_js.GlassModal,
|
|
1866
1889
|
{
|
|
1867
1890
|
open: true,
|
|
1868
1891
|
onClose,
|
|
@@ -1875,9 +1898,9 @@ function ConnectionEditor({
|
|
|
1875
1898
|
void handleSubmit();
|
|
1876
1899
|
},
|
|
1877
1900
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
1878
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1901
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkGCYYGSHU_js.FormGrid, { children: [
|
|
1879
1902
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1880
|
-
|
|
1903
|
+
chunkGCYYGSHU_js.FormSelect,
|
|
1881
1904
|
{
|
|
1882
1905
|
label: "Provider",
|
|
1883
1906
|
value: value.providerSlug,
|
|
@@ -1888,7 +1911,7 @@ function ConnectionEditor({
|
|
|
1888
1911
|
}
|
|
1889
1912
|
),
|
|
1890
1913
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1891
|
-
|
|
1914
|
+
chunkGCYYGSHU_js.FormInput,
|
|
1892
1915
|
{
|
|
1893
1916
|
label: "Display name",
|
|
1894
1917
|
required: true,
|
|
@@ -1898,7 +1921,7 @@ function ConnectionEditor({
|
|
|
1898
1921
|
}
|
|
1899
1922
|
),
|
|
1900
1923
|
preset.needsRegion && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1901
|
-
|
|
1924
|
+
chunkGCYYGSHU_js.FormInput,
|
|
1902
1925
|
{
|
|
1903
1926
|
label: "Region",
|
|
1904
1927
|
value: value.region,
|
|
@@ -1907,7 +1930,7 @@ function ConnectionEditor({
|
|
|
1907
1930
|
}
|
|
1908
1931
|
),
|
|
1909
1932
|
preset.needsEndpoint && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1910
|
-
|
|
1933
|
+
chunkGCYYGSHU_js.FormInput,
|
|
1911
1934
|
{
|
|
1912
1935
|
label: "Endpoint URL",
|
|
1913
1936
|
value: value.endpoint,
|
|
@@ -1917,7 +1940,7 @@ function ConnectionEditor({
|
|
|
1917
1940
|
)
|
|
1918
1941
|
] }),
|
|
1919
1942
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1920
|
-
|
|
1943
|
+
chunkGCYYGSHU_js.FormInput,
|
|
1921
1944
|
{
|
|
1922
1945
|
label: value.credentialRef ? "Rotate API key (leave blank to keep current)" : "API key",
|
|
1923
1946
|
type: "password",
|
|
@@ -1928,7 +1951,7 @@ function ConnectionEditor({
|
|
|
1928
1951
|
}
|
|
1929
1952
|
),
|
|
1930
1953
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1931
|
-
|
|
1954
|
+
chunkGCYYGSHU_js.FormInput,
|
|
1932
1955
|
{
|
|
1933
1956
|
label: "Model filter (comma-separated, optional)",
|
|
1934
1957
|
value: value.modelFilter,
|
|
@@ -1940,7 +1963,7 @@ function ConnectionEditor({
|
|
|
1940
1963
|
/* @__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: [
|
|
1941
1964
|
/* @__PURE__ */ jsxRuntime.jsx("summary", { className: "cursor-pointer font-medium text-slate-700 dark:text-slate-200", children: "Advanced config (JSON)" }),
|
|
1942
1965
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-3", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1943
|
-
|
|
1966
|
+
chunkGCYYGSHU_js.FormTextarea,
|
|
1944
1967
|
{
|
|
1945
1968
|
rows: 4,
|
|
1946
1969
|
value: value.configJson,
|
|
@@ -2003,14 +2026,6 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
|
|
|
2003
2026
|
const allCredentials = credentials;
|
|
2004
2027
|
const filteredCredentials = searchTerm.trim() ? allCredentials.filter((secret) => secret.name.toLowerCase().includes(searchTerm.trim().toLowerCase())) : allCredentials;
|
|
2005
2028
|
const isEmpty = allCredentials.length === 0;
|
|
2006
|
-
const summary = !isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
2007
|
-
chunkK4M4B6ME_js.SearchBar,
|
|
2008
|
-
{
|
|
2009
|
-
searchTerm,
|
|
2010
|
-
onSearchChange: setSearchTerm,
|
|
2011
|
-
placeholder: labels.searchPlaceholder ?? labels.title
|
|
2012
|
-
}
|
|
2013
|
-
) : void 0;
|
|
2014
2029
|
const typeOptions = [
|
|
2015
2030
|
{ value: "generic", label: labels.typeGeneric },
|
|
2016
2031
|
{ value: "api_key", label: labels.typeApiKey },
|
|
@@ -2018,15 +2033,24 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
|
|
|
2018
2033
|
{ value: "password", label: labels.typePassword }
|
|
2019
2034
|
];
|
|
2020
2035
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
2021
|
-
|
|
2036
|
+
chunkGCYYGSHU_js.HeroSection,
|
|
2022
2037
|
{
|
|
2023
2038
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.KeyIcon, { className: "h-5 w-5" }),
|
|
2024
2039
|
label: labels.title,
|
|
2025
2040
|
title: labels.title,
|
|
2026
2041
|
subtitle: labels.subtitle,
|
|
2027
2042
|
gradient: "from-rose-500 to-orange-600",
|
|
2028
|
-
toolbar: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2029
|
-
|
|
2043
|
+
toolbar: !isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
2044
|
+
chunkGCYYGSHU_js.SearchBar,
|
|
2045
|
+
{
|
|
2046
|
+
searchTerm,
|
|
2047
|
+
onSearchChange: setSearchTerm,
|
|
2048
|
+
placeholder: labels.searchPlaceholder ?? labels.title,
|
|
2049
|
+
noBorder: true
|
|
2050
|
+
}
|
|
2051
|
+
) : void 0,
|
|
2052
|
+
actions: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2053
|
+
chunkGCYYGSHU_js.CreateActionButton,
|
|
2030
2054
|
{
|
|
2031
2055
|
mode: "desktop",
|
|
2032
2056
|
label: labels.addCredential,
|
|
@@ -2037,7 +2061,7 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
|
|
|
2037
2061
|
}
|
|
2038
2062
|
);
|
|
2039
2063
|
const mobileAction = /* @__PURE__ */ jsxRuntime.jsx(
|
|
2040
|
-
|
|
2064
|
+
chunkGCYYGSHU_js.CreateActionButton,
|
|
2041
2065
|
{
|
|
2042
2066
|
mode: "mobile",
|
|
2043
2067
|
label: labels.addCredential,
|
|
@@ -2045,23 +2069,23 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
|
|
|
2045
2069
|
accent: "rose"
|
|
2046
2070
|
}
|
|
2047
2071
|
);
|
|
2048
|
-
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
2049
|
-
|
|
2072
|
+
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.PageLoadingState, {}) : isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_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: filteredCredentials.map((secret) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2073
|
+
chunkGCYYGSHU_js.EntityCard,
|
|
2050
2074
|
{
|
|
2051
2075
|
accentGradient: "from-rose-500 to-orange-700",
|
|
2052
2076
|
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" }) }),
|
|
2053
2077
|
title: secret.name,
|
|
2054
2078
|
subtitle: secret.secretType,
|
|
2055
|
-
status: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2079
|
+
status: /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.Badge, { color: secret.disabled ? "zinc" : "emerald", children: secret.disabled ? labels.disable : "Active" }),
|
|
2056
2080
|
footer: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between gap-2", children: [
|
|
2057
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2081
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.CopyableId, { id: secret.secretId }),
|
|
2058
2082
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
|
|
2059
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
2083
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkGCYYGSHU_js.Button, { type: "button", size: "sm", outline: true, onClick: () => setRotateFor(secret), children: [
|
|
2060
2084
|
/* @__PURE__ */ jsxRuntime.jsx(outline.ArrowPathIcon, { className: "mr-1 h-3.5 w-3.5" }),
|
|
2061
2085
|
labels.rotate
|
|
2062
2086
|
] }),
|
|
2063
2087
|
!secret.disabled && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2064
|
-
|
|
2088
|
+
chunkGCYYGSHU_js.Button,
|
|
2065
2089
|
{
|
|
2066
2090
|
type: "button",
|
|
2067
2091
|
size: "sm",
|
|
@@ -2090,9 +2114,9 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
|
|
|
2090
2114
|
secret.secretId
|
|
2091
2115
|
)) });
|
|
2092
2116
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
2093
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2117
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.ManagementPageLayout, { hero, content, mobileAction }),
|
|
2094
2118
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2095
|
-
|
|
2119
|
+
chunkGCYYGSHU_js.GlassModal,
|
|
2096
2120
|
{
|
|
2097
2121
|
open: createOpen,
|
|
2098
2122
|
onClose: () => setCreateOpen(false),
|
|
@@ -2110,16 +2134,16 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
|
|
|
2110
2134
|
onCreate({ name, value, secretType, description });
|
|
2111
2135
|
setCreateOpen(false);
|
|
2112
2136
|
},
|
|
2113
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2114
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2115
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2116
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2117
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2137
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(chunkGCYYGSHU_js.FormGrid, { children: [
|
|
2138
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.FormInput, { name: "name", label: labels.name, placeholder: labels.namePlaceholder, required: true }),
|
|
2139
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.FormSelect, { name: "secretType", label: labels.type, options: typeOptions, defaultValue: "generic" }),
|
|
2140
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.FormInput, { name: "value", label: labels.value, placeholder: labels.valuePlaceholder, required: true, type: "password" }),
|
|
2141
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.FormTextarea, { name: "description", label: labels.description, placeholder: labels.descriptionPlaceholder, rows: 2 })
|
|
2118
2142
|
] })
|
|
2119
2143
|
}
|
|
2120
2144
|
),
|
|
2121
2145
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2122
|
-
|
|
2146
|
+
chunkGCYYGSHU_js.GlassModal,
|
|
2123
2147
|
{
|
|
2124
2148
|
open: rotateFor !== null,
|
|
2125
2149
|
onClose: () => setRotateFor(null),
|
|
@@ -2134,7 +2158,7 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
|
|
|
2134
2158
|
onRotate(rotateFor, value);
|
|
2135
2159
|
setRotateFor(null);
|
|
2136
2160
|
},
|
|
2137
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2161
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.FormGrid, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.FormInput, { name: "value", label: labels.value, placeholder: labels.valuePlaceholder, required: true, type: "password" }) })
|
|
2138
2162
|
}
|
|
2139
2163
|
)
|
|
2140
2164
|
] });
|
|
@@ -2142,31 +2166,31 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
|
|
|
2142
2166
|
|
|
2143
2167
|
Object.defineProperty(exports, "RolesPageView", {
|
|
2144
2168
|
enumerable: true,
|
|
2145
|
-
get: function () { return
|
|
2169
|
+
get: function () { return chunk3WXMBAGN_js.RolesPageView; }
|
|
2146
2170
|
});
|
|
2147
2171
|
Object.defineProperty(exports, "UsersPageView", {
|
|
2148
2172
|
enumerable: true,
|
|
2149
|
-
get: function () { return
|
|
2173
|
+
get: function () { return chunk3WXMBAGN_js.UsersPageView; }
|
|
2150
2174
|
});
|
|
2151
2175
|
Object.defineProperty(exports, "DIALECT_CATEGORIES", {
|
|
2152
2176
|
enumerable: true,
|
|
2153
|
-
get: function () { return
|
|
2177
|
+
get: function () { return chunkLVK7VXW7_js.DIALECT_CATEGORIES; }
|
|
2154
2178
|
});
|
|
2155
2179
|
Object.defineProperty(exports, "DatasourceFormModal", {
|
|
2156
2180
|
enumerable: true,
|
|
2157
|
-
get: function () { return
|
|
2181
|
+
get: function () { return chunkLVK7VXW7_js.DatasourceFormModal; }
|
|
2158
2182
|
});
|
|
2159
2183
|
Object.defineProperty(exports, "DatasourceModal", {
|
|
2160
2184
|
enumerable: true,
|
|
2161
|
-
get: function () { return
|
|
2185
|
+
get: function () { return chunkLVK7VXW7_js.DatasourceModal; }
|
|
2162
2186
|
});
|
|
2163
2187
|
Object.defineProperty(exports, "findCategory", {
|
|
2164
2188
|
enumerable: true,
|
|
2165
|
-
get: function () { return
|
|
2189
|
+
get: function () { return chunkLVK7VXW7_js.findCategory; }
|
|
2166
2190
|
});
|
|
2167
2191
|
Object.defineProperty(exports, "findDialect", {
|
|
2168
2192
|
enumerable: true,
|
|
2169
|
-
get: function () { return
|
|
2193
|
+
get: function () { return chunkLVK7VXW7_js.findDialect; }
|
|
2170
2194
|
});
|
|
2171
2195
|
exports.AgentsConfigPageView = AgentsConfigPageView;
|
|
2172
2196
|
exports.AgentsIndexPageView = AgentsIndexPageView;
|