@datatechsolutions/ui 3.10.0 → 3.11.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/contracts.d.mts +18 -2
- package/dist/astrlabe/contracts.d.ts +18 -2
- package/dist/astrlabe/index.d.mts +2 -2
- package/dist/astrlabe/index.d.ts +2 -2
- package/dist/astrlabe/index.js +109 -109
- package/dist/astrlabe/index.mjs +5 -5
- package/dist/astrlabe/workflow-canvas.js +5 -5
- package/dist/astrlabe/workflow-canvas.mjs +4 -4
- package/dist/{chunk-NM37GLCL.mjs → chunk-2AJ73ULK.mjs} +3 -3
- package/dist/{chunk-NM37GLCL.mjs.map → chunk-2AJ73ULK.mjs.map} +1 -1
- package/dist/{chunk-MSMEECO6.js → chunk-35O2X7WY.js} +9 -9
- package/dist/{chunk-MSMEECO6.js.map → chunk-35O2X7WY.js.map} +1 -1
- package/dist/{chunk-5KI7FB3E.mjs → chunk-35P352JX.mjs} +225 -234
- package/dist/chunk-35P352JX.mjs.map +1 -0
- package/dist/{chunk-FD376DZ6.mjs → chunk-37FWIPYO.mjs} +3 -3
- package/dist/{chunk-FD376DZ6.mjs.map → chunk-37FWIPYO.mjs.map} +1 -1
- package/dist/{chunk-DA3H7ERQ.mjs → chunk-3US2QXEF.mjs} +3 -3
- package/dist/{chunk-DA3H7ERQ.mjs.map → chunk-3US2QXEF.mjs.map} +1 -1
- package/dist/{chunk-FIJMOTP4.js → chunk-62BD4WLW.js} +34 -34
- package/dist/{chunk-FIJMOTP4.js.map → chunk-62BD4WLW.js.map} +1 -1
- package/dist/{chunk-O4HH77A4.js → chunk-6TKCMQ75.js} +68 -68
- package/dist/{chunk-O4HH77A4.js.map → chunk-6TKCMQ75.js.map} +1 -1
- package/dist/{chunk-BU4WMSK3.mjs → chunk-7D52TFVL.mjs} +3 -3
- package/dist/{chunk-BU4WMSK3.mjs.map → chunk-7D52TFVL.mjs.map} +1 -1
- package/dist/{chunk-6UX2SRA2.mjs → chunk-7KPMLHPR.mjs} +3 -3
- package/dist/{chunk-6UX2SRA2.mjs.map → chunk-7KPMLHPR.mjs.map} +1 -1
- package/dist/{chunk-AMESLEIO.js → chunk-7MPIYSRH.js} +63 -63
- package/dist/{chunk-AMESLEIO.js.map → chunk-7MPIYSRH.js.map} +1 -1
- package/dist/{chunk-6ZYATZS3.mjs → chunk-7V7WEXHS.mjs} +3 -3
- package/dist/{chunk-6ZYATZS3.mjs.map → chunk-7V7WEXHS.mjs.map} +1 -1
- package/dist/{chunk-5AKTDJFR.js → chunk-BCJATFZE.js} +25 -25
- package/dist/{chunk-5AKTDJFR.js.map → chunk-BCJATFZE.js.map} +1 -1
- package/dist/{chunk-2A45ZEK4.js → chunk-BO3RXG6M.js} +45 -45
- package/dist/{chunk-2A45ZEK4.js.map → chunk-BO3RXG6M.js.map} +1 -1
- package/dist/{chunk-L3R425GB.js → chunk-G52HXPSB.js} +13 -13
- package/dist/{chunk-L3R425GB.js.map → chunk-G52HXPSB.js.map} +1 -1
- package/dist/{chunk-MAOZWOA6.js → chunk-GKI74CPB.js} +55 -55
- package/dist/{chunk-MAOZWOA6.js.map → chunk-GKI74CPB.js.map} +1 -1
- package/dist/{chunk-TSNKICPP.js → chunk-GTJGX7IZ.js} +10 -10
- package/dist/{chunk-TSNKICPP.js.map → chunk-GTJGX7IZ.js.map} +1 -1
- package/dist/{chunk-EC34PGUO.js → chunk-H475T2N7.js} +136 -136
- package/dist/chunk-H475T2N7.js.map +1 -0
- package/dist/{chunk-FENA4YGN.mjs → chunk-HUAWGBYL.mjs} +3 -3
- package/dist/{chunk-FENA4YGN.mjs.map → chunk-HUAWGBYL.mjs.map} +1 -1
- package/dist/{chunk-RHRJXK5R.mjs → chunk-IGOMJHC6.mjs} +11 -3
- package/dist/chunk-IGOMJHC6.mjs.map +1 -0
- package/dist/{chunk-B76RTA7D.js → chunk-JTD3BBVI.js} +35 -35
- package/dist/{chunk-B76RTA7D.js.map → chunk-JTD3BBVI.js.map} +1 -1
- package/dist/{chunk-JB3U6ORY.mjs → chunk-K4AJL4BH.mjs} +3 -3
- package/dist/{chunk-JB3U6ORY.mjs.map → chunk-K4AJL4BH.mjs.map} +1 -1
- package/dist/{chunk-HEXTU6W3.mjs → chunk-KTEEXEAX.mjs} +6 -6
- package/dist/{chunk-HEXTU6W3.mjs.map → chunk-KTEEXEAX.mjs.map} +1 -1
- package/dist/{chunk-C4D3EI5L.mjs → chunk-NM3YTQ26.mjs} +3 -3
- package/dist/{chunk-C4D3EI5L.mjs.map → chunk-NM3YTQ26.mjs.map} +1 -1
- package/dist/{chunk-H7X3SXMB.mjs → chunk-NRVV4PHB.mjs} +7 -7
- package/dist/{chunk-H7X3SXMB.mjs.map → chunk-NRVV4PHB.mjs.map} +1 -1
- package/dist/{chunk-KHUWFL6W.js → chunk-O2CUOJ74.js} +4 -4
- package/dist/{chunk-KHUWFL6W.js.map → chunk-O2CUOJ74.js.map} +1 -1
- package/dist/{chunk-NSZN54HW.js → chunk-PHBZ3TXE.js} +4 -4
- package/dist/{chunk-NSZN54HW.js.map → chunk-PHBZ3TXE.js.map} +1 -1
- package/dist/{chunk-W6MBDTKF.mjs → chunk-R3CGJK7D.mjs} +3 -3
- package/dist/{chunk-W6MBDTKF.mjs.map → chunk-R3CGJK7D.mjs.map} +1 -1
- package/dist/{chunk-5U43K6G3.mjs → chunk-TCIK6WHT.mjs} +24 -22
- package/dist/chunk-TCIK6WHT.mjs.map +1 -0
- package/dist/{chunk-YSYEV2Z6.js → chunk-Z6FZQOTW.js} +46 -44
- package/dist/chunk-Z6FZQOTW.js.map +1 -0
- package/dist/{chunk-LVR4SR65.js → chunk-ZGVN23J4.js} +223 -234
- package/dist/chunk-ZGVN23J4.js.map +1 -0
- package/dist/{chunk-A256OE5E.mjs → chunk-ZJMYLUZ2.mjs} +5 -5
- package/dist/chunk-ZJMYLUZ2.mjs.map +1 -0
- package/dist/{chunk-SY4MUT5V.js → chunk-ZUU7G3PC.js} +11 -2
- package/dist/chunk-ZUU7G3PC.js.map +1 -0
- package/dist/index.d.mts +26 -40
- package/dist/index.d.ts +26 -40
- package/dist/index.js +664 -672
- package/dist/index.mjs +3 -3
- package/dist/platform/admin/index.js +11 -11
- package/dist/platform/admin/index.mjs +5 -5
- package/dist/platform/agents-workspace.js +8 -8
- package/dist/platform/agents-workspace.mjs +7 -7
- package/dist/platform/app-shell.js +5 -5
- package/dist/platform/app-shell.mjs +4 -4
- package/dist/platform/auth/index.js +23 -23
- package/dist/platform/auth/index.mjs +5 -5
- package/dist/platform/billing/index.js +5 -5
- package/dist/platform/billing/index.mjs +4 -4
- package/dist/platform/impersonation/index.js +5 -5
- package/dist/platform/impersonation/index.mjs +4 -4
- package/dist/platform/index.js +86 -86
- package/dist/platform/index.mjs +19 -19
- package/dist/platform/pages/index.d.mts +3 -3
- package/dist/platform/pages/index.d.ts +3 -3
- package/dist/platform/pages/index.js +583 -548
- package/dist/platform/pages/index.js.map +1 -1
- package/dist/platform/pages/index.mjs +288 -253
- package/dist/platform/pages/index.mjs.map +1 -1
- package/dist/platform/settings/index.js +8 -8
- package/dist/platform/settings/index.mjs +7 -7
- package/dist/platform/workflow-api-client.d.mts +1 -1
- package/dist/platform/workflow-api-client.d.ts +1 -1
- package/dist/platform/workflow-api-client.js +65 -61
- package/dist/platform/workflow-api-client.mjs +1 -1
- package/dist/platform/workflow-canvas-shell.js +6 -6
- package/dist/platform/workflow-canvas-shell.mjs +5 -5
- package/dist/{rule-form-BYJzyork.d.mts → rule-form-BkKCY8Tc.d.mts} +8 -2
- package/dist/{rule-form-BYJzyork.d.ts → rule-form-CBD8wlrw.d.ts} +8 -2
- package/dist/{workflow-api-client-CpFl3WcG.d.mts → workflow-api-client-D9_0Spdz.d.mts} +16 -1
- package/dist/{workflow-api-client-uLICOanv.d.ts → workflow-api-client-E1QFRgeP.d.ts} +16 -1
- package/package.json +1 -1
- package/dist/chunk-5KI7FB3E.mjs.map +0 -1
- package/dist/chunk-5U43K6G3.mjs.map +0 -1
- package/dist/chunk-A256OE5E.mjs.map +0 -1
- package/dist/chunk-EC34PGUO.js.map +0 -1
- package/dist/chunk-LVR4SR65.js.map +0 -1
- package/dist/chunk-RHRJXK5R.mjs.map +0 -1
- package/dist/chunk-SY4MUT5V.js.map +0 -1
- package/dist/chunk-YSYEV2Z6.js.map +0 -1
|
@@ -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 chunkZ6FZQOTW_js = require('../../chunk-Z6FZQOTW.js');
|
|
6
|
+
var chunk62BD4WLW_js = require('../../chunk-62BD4WLW.js');
|
|
7
|
+
var chunkH475T2N7_js = require('../../chunk-H475T2N7.js');
|
|
8
8
|
require('../../chunk-55H6WZQP.js');
|
|
9
9
|
require('../../chunk-DJDZIRM6.js');
|
|
10
|
-
require('../../chunk-
|
|
11
|
-
var
|
|
12
|
-
require('../../chunk-
|
|
13
|
-
require('../../chunk-SY4MUT5V.js');
|
|
10
|
+
require('../../chunk-6TKCMQ75.js');
|
|
11
|
+
var chunkZGVN23J4_js = require('../../chunk-ZGVN23J4.js');
|
|
12
|
+
require('../../chunk-ZUU7G3PC.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,36 +27,35 @@ 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
|
+
chunkZGVN23J4_js.HeroSection,
|
|
31
31
|
{
|
|
32
32
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.CubeTransparentIcon, { className: "h-5 w-5" }),
|
|
33
33
|
label: labels.title,
|
|
34
34
|
title: labels.title,
|
|
35
35
|
subtitle: labels.subtitle,
|
|
36
|
-
gradient: "from-emerald-500 to-teal-700"
|
|
36
|
+
gradient: "from-emerald-500 to-teal-700",
|
|
37
|
+
toolbar: !isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
38
|
+
chunkZGVN23J4_js.SearchBar,
|
|
39
|
+
{
|
|
40
|
+
searchTerm,
|
|
41
|
+
onSearchChange: setSearchTerm,
|
|
42
|
+
placeholder: labels.searchPlaceholder ?? labels.title,
|
|
43
|
+
noBorder: true
|
|
44
|
+
}
|
|
45
|
+
) : void 0
|
|
37
46
|
}
|
|
38
47
|
);
|
|
39
|
-
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
{
|
|
51
|
-
accentGradient: "from-emerald-500 to-teal-700",
|
|
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" }) }),
|
|
53
|
-
title: model.name,
|
|
54
|
-
subtitle: `${labels.provider}: ${model.provider}`,
|
|
55
|
-
status: /* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Badge, { color: model.enabled ? "emerald" : "zinc", children: model.enabled ? labels.enabled : labels.disabled })
|
|
56
|
-
},
|
|
57
|
-
model.id
|
|
58
|
-
)) })
|
|
59
|
-
] });
|
|
48
|
+
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkZGVN23J4_js.PageLoadingState, {}) : isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(chunkZGVN23J4_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(
|
|
49
|
+
chunkZGVN23J4_js.EntityCard,
|
|
50
|
+
{
|
|
51
|
+
accentGradient: "from-emerald-500 to-teal-700",
|
|
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" }) }),
|
|
53
|
+
title: model.name,
|
|
54
|
+
subtitle: `${labels.provider}: ${model.provider}`,
|
|
55
|
+
status: /* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Badge, { color: model.enabled ? "emerald" : "zinc", children: model.enabled ? labels.enabled : labels.disabled })
|
|
56
|
+
},
|
|
57
|
+
model.id
|
|
58
|
+
)) });
|
|
60
59
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
61
60
|
hero,
|
|
62
61
|
content
|
|
@@ -71,7 +70,7 @@ function AgentsConfigPageView({ labels, agents, models, loading, onCreate, onUpd
|
|
|
71
70
|
const filteredAgents = searchTerm.trim() ? allAgents.filter((agent) => String(agent.name ?? "").toLowerCase().includes(searchTerm.trim().toLowerCase())) : allAgents;
|
|
72
71
|
const isEmpty = allAgents.length === 0;
|
|
73
72
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
74
|
-
|
|
73
|
+
chunkZGVN23J4_js.HeroSection,
|
|
75
74
|
{
|
|
76
75
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.CpuChipIcon, { className: "h-5 w-5" }),
|
|
77
76
|
label: labels.title,
|
|
@@ -79,7 +78,7 @@ function AgentsConfigPageView({ labels, agents, models, loading, onCreate, onUpd
|
|
|
79
78
|
subtitle: labels.subtitle,
|
|
80
79
|
gradient: "from-violet-500 to-indigo-700",
|
|
81
80
|
toolbar: !isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
82
|
-
|
|
81
|
+
chunkZGVN23J4_js.SearchBar,
|
|
83
82
|
{
|
|
84
83
|
searchTerm,
|
|
85
84
|
onSearchChange: setSearchTerm,
|
|
@@ -88,7 +87,7 @@ function AgentsConfigPageView({ labels, agents, models, loading, onCreate, onUpd
|
|
|
88
87
|
}
|
|
89
88
|
) : void 0,
|
|
90
89
|
actions: /* @__PURE__ */ jsxRuntime.jsx(
|
|
91
|
-
|
|
90
|
+
chunkZGVN23J4_js.CreateActionButton,
|
|
92
91
|
{
|
|
93
92
|
mode: "desktop",
|
|
94
93
|
label: labels.addAgent,
|
|
@@ -99,7 +98,7 @@ function AgentsConfigPageView({ labels, agents, models, loading, onCreate, onUpd
|
|
|
99
98
|
}
|
|
100
99
|
);
|
|
101
100
|
const mobileAction = /* @__PURE__ */ jsxRuntime.jsx(
|
|
102
|
-
|
|
101
|
+
chunkZGVN23J4_js.CreateActionButton,
|
|
103
102
|
{
|
|
104
103
|
mode: "mobile",
|
|
105
104
|
label: labels.addAgent,
|
|
@@ -107,10 +106,10 @@ function AgentsConfigPageView({ labels, agents, models, loading, onCreate, onUpd
|
|
|
107
106
|
accent: "violet"
|
|
108
107
|
}
|
|
109
108
|
);
|
|
110
|
-
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
109
|
+
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkZGVN23J4_js.PageLoadingState, {}) : isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(chunkZGVN23J4_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) => {
|
|
111
110
|
const modelRecord = models.find((model) => model.id === String(agent.modelId ?? ""));
|
|
112
111
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
113
|
-
|
|
112
|
+
chunkZGVN23J4_js.EntityCard,
|
|
114
113
|
{
|
|
115
114
|
accentGradient: "from-violet-500 to-indigo-700",
|
|
116
115
|
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" }) }),
|
|
@@ -147,7 +146,7 @@ function AgentsConfigPageView({ labels, agents, models, loading, onCreate, onUpd
|
|
|
147
146
|
);
|
|
148
147
|
}) });
|
|
149
148
|
const renderForm = (initial, onSubmit) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
150
|
-
|
|
149
|
+
chunkZGVN23J4_js.GlassModal,
|
|
151
150
|
{
|
|
152
151
|
open: true,
|
|
153
152
|
onClose: () => {
|
|
@@ -170,13 +169,13 @@ function AgentsConfigPageView({ labels, agents, models, loading, onCreate, onUpd
|
|
|
170
169
|
outputSchema: String(form.get("outputSchema") ?? "").trim() || void 0
|
|
171
170
|
});
|
|
172
171
|
},
|
|
173
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
174
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
175
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
176
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
177
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
178
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
179
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
172
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(chunkZGVN23J4_js.FormGrid, { children: [
|
|
173
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkZGVN23J4_js.FormInput, { name: "name", label: labels.name, defaultValue: initial.name ?? "", required: true }),
|
|
174
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkZGVN23J4_js.FormSelect, { name: "modelId", label: labels.model, options: modelOptions, defaultValue: initial.modelId ?? modelOptions[0]?.value ?? "", required: true }),
|
|
175
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkZGVN23J4_js.FormInput, { name: "maxTokens", label: String(labels.maxTokens), type: "number", defaultValue: String(initial.maxTokens ?? 2048) }),
|
|
176
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkZGVN23J4_js.FormInput, { name: "temperature", label: labels.temperature, type: "number", step: 0.1, min: 0, max: 2, defaultValue: String(initial.temperature ?? 0.2) }),
|
|
177
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkZGVN23J4_js.FormTextarea, { name: "systemPrompt", label: labels.systemPrompt, defaultValue: initial.systemPrompt ?? "", rows: 4 }),
|
|
178
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkZGVN23J4_js.FormTextarea, { name: "outputSchema", label: labels.outputSchema, placeholder: labels.outputSchemaPlaceholder, defaultValue: initial.outputSchema ?? "", rows: 4 })
|
|
180
179
|
] })
|
|
181
180
|
}
|
|
182
181
|
);
|
|
@@ -243,7 +242,7 @@ function AgentsPromptsPageView({ labels, agents, prompts, loading, onCreate, onA
|
|
|
243
242
|
}) : allPrompts;
|
|
244
243
|
const isEmpty = allPrompts.length === 0;
|
|
245
244
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
246
|
-
|
|
245
|
+
chunkZGVN23J4_js.HeroSection,
|
|
247
246
|
{
|
|
248
247
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.ChatBubbleLeftEllipsisIcon, { className: "h-5 w-5" }),
|
|
249
248
|
label: labels.title,
|
|
@@ -251,7 +250,7 @@ function AgentsPromptsPageView({ labels, agents, prompts, loading, onCreate, onA
|
|
|
251
250
|
subtitle: labels.subtitle,
|
|
252
251
|
gradient: "from-sky-500 to-blue-700",
|
|
253
252
|
toolbar: /* @__PURE__ */ jsxRuntime.jsx(
|
|
254
|
-
|
|
253
|
+
chunkZGVN23J4_js.CreateActionButton,
|
|
255
254
|
{
|
|
256
255
|
mode: "desktop",
|
|
257
256
|
label: labels.addPrompt,
|
|
@@ -262,7 +261,7 @@ function AgentsPromptsPageView({ labels, agents, prompts, loading, onCreate, onA
|
|
|
262
261
|
}
|
|
263
262
|
);
|
|
264
263
|
const mobileAction = /* @__PURE__ */ jsxRuntime.jsx(
|
|
265
|
-
|
|
264
|
+
chunkZGVN23J4_js.CreateActionButton,
|
|
266
265
|
{
|
|
267
266
|
mode: "mobile",
|
|
268
267
|
label: labels.addPrompt,
|
|
@@ -270,9 +269,9 @@ function AgentsPromptsPageView({ labels, agents, prompts, loading, onCreate, onA
|
|
|
270
269
|
accent: "sky"
|
|
271
270
|
}
|
|
272
271
|
);
|
|
273
|
-
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
272
|
+
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkZGVN23J4_js.PageLoadingState, {}) : isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(chunkZGVN23J4_js.PageEmptyState, { title: labels.empty, message: labels.subtitle, iconName: "folder-open" }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
274
273
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
275
|
-
|
|
274
|
+
chunkZGVN23J4_js.SearchBar,
|
|
276
275
|
{
|
|
277
276
|
searchTerm,
|
|
278
277
|
onSearchChange: setSearchTerm,
|
|
@@ -283,7 +282,7 @@ function AgentsPromptsPageView({ labels, agents, prompts, loading, onCreate, onA
|
|
|
283
282
|
const agentName = agentNameById.get(prompt.agentId) ?? prompt.agentId;
|
|
284
283
|
const key = `${prompt.agentId}:${prompt.locale}:${prompt.version}`;
|
|
285
284
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
286
|
-
|
|
285
|
+
chunkZGVN23J4_js.EntityCard,
|
|
287
286
|
{
|
|
288
287
|
accentGradient: "from-sky-500 to-blue-700",
|
|
289
288
|
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" }) }),
|
|
@@ -318,7 +317,7 @@ function AgentsPromptsPageView({ labels, agents, prompts, loading, onCreate, onA
|
|
|
318
317
|
mobileAction
|
|
319
318
|
] }),
|
|
320
319
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
321
|
-
|
|
320
|
+
chunkZGVN23J4_js.GlassModal,
|
|
322
321
|
{
|
|
323
322
|
open: createOpen,
|
|
324
323
|
onClose: () => setCreateOpen(false),
|
|
@@ -342,11 +341,11 @@ function AgentsPromptsPageView({ labels, agents, prompts, loading, onCreate, onA
|
|
|
342
341
|
});
|
|
343
342
|
setCreateOpen(false);
|
|
344
343
|
},
|
|
345
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
346
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
347
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
344
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(chunkZGVN23J4_js.FormGrid, { children: [
|
|
345
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkZGVN23J4_js.FormSelect, { name: "agentId", label: labels.agent, options: agentOptions, required: true }),
|
|
346
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkZGVN23J4_js.FormSelect, { name: "locale", label: labels.locale, options: LOCALE_OPTIONS, defaultValue: "en" }),
|
|
348
347
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
349
|
-
|
|
348
|
+
chunkZGVN23J4_js.FormSelect,
|
|
350
349
|
{
|
|
351
350
|
name: "isActive",
|
|
352
351
|
label: labels.isActive,
|
|
@@ -354,10 +353,10 @@ function AgentsPromptsPageView({ labels, agents, prompts, loading, onCreate, onA
|
|
|
354
353
|
defaultValue: "true"
|
|
355
354
|
}
|
|
356
355
|
),
|
|
357
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
358
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
359
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
360
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
356
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkZGVN23J4_js.FormInput, { name: "reason", label: labels.reason }),
|
|
357
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkZGVN23J4_js.FormTextarea, { name: "systemPrompt", label: labels.systemPrompt, rows: 3 }),
|
|
358
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkZGVN23J4_js.FormTextarea, { name: "userTemplate", label: labels.userTemplate, rows: 3 }),
|
|
359
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkZGVN23J4_js.FormTextarea, { name: "prompt", label: labels.prompt, rows: 6, required: true })
|
|
361
360
|
] })
|
|
362
361
|
}
|
|
363
362
|
)
|
|
@@ -392,7 +391,7 @@ function AgentsToolDefinitionsPageView({ labels, tools, loading, onCreate, onUpd
|
|
|
392
391
|
const filteredTools = searchTerm.trim() ? allTools.filter((tool) => tool.name.toLowerCase().includes(searchTerm.trim().toLowerCase())) : allTools;
|
|
393
392
|
const isEmpty = allTools.length === 0;
|
|
394
393
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
395
|
-
|
|
394
|
+
chunkZGVN23J4_js.HeroSection,
|
|
396
395
|
{
|
|
397
396
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.WrenchScrewdriverIcon, { className: "h-5 w-5" }),
|
|
398
397
|
label: labels.title,
|
|
@@ -400,7 +399,7 @@ function AgentsToolDefinitionsPageView({ labels, tools, loading, onCreate, onUpd
|
|
|
400
399
|
subtitle: labels.subtitle,
|
|
401
400
|
gradient: "from-amber-500 to-orange-700",
|
|
402
401
|
toolbar: /* @__PURE__ */ jsxRuntime.jsx(
|
|
403
|
-
|
|
402
|
+
chunkZGVN23J4_js.CreateActionButton,
|
|
404
403
|
{
|
|
405
404
|
mode: "desktop",
|
|
406
405
|
label: labels.addTool,
|
|
@@ -411,7 +410,7 @@ function AgentsToolDefinitionsPageView({ labels, tools, loading, onCreate, onUpd
|
|
|
411
410
|
}
|
|
412
411
|
);
|
|
413
412
|
const mobileAction = /* @__PURE__ */ jsxRuntime.jsx(
|
|
414
|
-
|
|
413
|
+
chunkZGVN23J4_js.CreateActionButton,
|
|
415
414
|
{
|
|
416
415
|
mode: "mobile",
|
|
417
416
|
label: labels.addTool,
|
|
@@ -419,9 +418,9 @@ function AgentsToolDefinitionsPageView({ labels, tools, loading, onCreate, onUpd
|
|
|
419
418
|
accent: "amber"
|
|
420
419
|
}
|
|
421
420
|
);
|
|
422
|
-
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
421
|
+
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkZGVN23J4_js.PageLoadingState, {}) : isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(chunkZGVN23J4_js.PageEmptyState, { title: labels.empty, message: labels.subtitle, iconName: "folder-open" }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
423
422
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
424
|
-
|
|
423
|
+
chunkZGVN23J4_js.SearchBar,
|
|
425
424
|
{
|
|
426
425
|
searchTerm,
|
|
427
426
|
onSearchChange: setSearchTerm,
|
|
@@ -429,7 +428,7 @@ function AgentsToolDefinitionsPageView({ labels, tools, loading, onCreate, onUpd
|
|
|
429
428
|
}
|
|
430
429
|
),
|
|
431
430
|
/* @__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(
|
|
432
|
-
|
|
431
|
+
chunkZGVN23J4_js.EntityCard,
|
|
433
432
|
{
|
|
434
433
|
accentGradient: "from-amber-500 to-orange-700",
|
|
435
434
|
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" }) }),
|
|
@@ -519,7 +518,7 @@ function ToolEditor({
|
|
|
519
518
|
setValue((v) => ({ ...v, [key]: next }));
|
|
520
519
|
};
|
|
521
520
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
522
|
-
|
|
521
|
+
chunkZGVN23J4_js.GlassModal,
|
|
523
522
|
{
|
|
524
523
|
open: true,
|
|
525
524
|
onClose,
|
|
@@ -532,9 +531,9 @@ function ToolEditor({
|
|
|
532
531
|
handleSubmit();
|
|
533
532
|
},
|
|
534
533
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-5", children: [
|
|
535
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
534
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkZGVN23J4_js.FormGrid, { children: [
|
|
536
535
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
537
|
-
|
|
536
|
+
chunkZGVN23J4_js.FormInput,
|
|
538
537
|
{
|
|
539
538
|
label: "Name",
|
|
540
539
|
required: true,
|
|
@@ -544,7 +543,7 @@ function ToolEditor({
|
|
|
544
543
|
}
|
|
545
544
|
),
|
|
546
545
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
547
|
-
|
|
546
|
+
chunkZGVN23J4_js.FormSelect,
|
|
548
547
|
{
|
|
549
548
|
label: "Tool type",
|
|
550
549
|
value: value.toolType,
|
|
@@ -554,7 +553,7 @@ function ToolEditor({
|
|
|
554
553
|
}
|
|
555
554
|
),
|
|
556
555
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
557
|
-
|
|
556
|
+
chunkZGVN23J4_js.FormSelect,
|
|
558
557
|
{
|
|
559
558
|
label: "Enabled",
|
|
560
559
|
value: value.enabled ? "true" : "false",
|
|
@@ -563,7 +562,7 @@ function ToolEditor({
|
|
|
563
562
|
}
|
|
564
563
|
),
|
|
565
564
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
566
|
-
|
|
565
|
+
chunkZGVN23J4_js.FormInput,
|
|
567
566
|
{
|
|
568
567
|
label: "Icon (optional)",
|
|
569
568
|
value: value.icon ?? "",
|
|
@@ -573,7 +572,7 @@ function ToolEditor({
|
|
|
573
572
|
)
|
|
574
573
|
] }),
|
|
575
574
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
576
|
-
|
|
575
|
+
chunkZGVN23J4_js.FormTextarea,
|
|
577
576
|
{
|
|
578
577
|
label: "Description",
|
|
579
578
|
rows: 2,
|
|
@@ -621,7 +620,7 @@ function ParametersEditor({
|
|
|
621
620
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2", children: [
|
|
622
621
|
parameters.map((param, index) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-[1fr_160px_1fr_110px_auto] items-end gap-2", children: [
|
|
623
622
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
624
|
-
|
|
623
|
+
chunkZGVN23J4_js.FormInput,
|
|
625
624
|
{
|
|
626
625
|
label: "Name",
|
|
627
626
|
value: param.name,
|
|
@@ -630,7 +629,7 @@ function ParametersEditor({
|
|
|
630
629
|
}
|
|
631
630
|
),
|
|
632
631
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
633
|
-
|
|
632
|
+
chunkZGVN23J4_js.FormSelect,
|
|
634
633
|
{
|
|
635
634
|
label: "Type",
|
|
636
635
|
value: param.type,
|
|
@@ -639,7 +638,7 @@ function ParametersEditor({
|
|
|
639
638
|
}
|
|
640
639
|
),
|
|
641
640
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
642
|
-
|
|
641
|
+
chunkZGVN23J4_js.FormInput,
|
|
643
642
|
{
|
|
644
643
|
label: "Description",
|
|
645
644
|
value: param.description,
|
|
@@ -673,9 +672,9 @@ function HandlerConfigEditor({
|
|
|
673
672
|
if (toolType === "http") {
|
|
674
673
|
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: [
|
|
675
674
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-2 text-sm font-semibold text-slate-700 dark:text-slate-200", children: "HTTP handler" }),
|
|
676
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
675
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkZGVN23J4_js.FormGrid, { children: [
|
|
677
676
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
678
|
-
|
|
677
|
+
chunkZGVN23J4_js.FormSelect,
|
|
679
678
|
{
|
|
680
679
|
label: "Method",
|
|
681
680
|
value: stringProp(config, "method", "GET"),
|
|
@@ -684,7 +683,7 @@ function HandlerConfigEditor({
|
|
|
684
683
|
}
|
|
685
684
|
),
|
|
686
685
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
687
|
-
|
|
686
|
+
chunkZGVN23J4_js.FormInput,
|
|
688
687
|
{
|
|
689
688
|
label: "URL template",
|
|
690
689
|
value: stringProp(config, "url"),
|
|
@@ -694,7 +693,7 @@ function HandlerConfigEditor({
|
|
|
694
693
|
)
|
|
695
694
|
] }),
|
|
696
695
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
697
|
-
|
|
696
|
+
chunkZGVN23J4_js.FormTextarea,
|
|
698
697
|
{
|
|
699
698
|
label: "Headers (JSON)",
|
|
700
699
|
rows: 3,
|
|
@@ -704,7 +703,7 @@ function HandlerConfigEditor({
|
|
|
704
703
|
}
|
|
705
704
|
),
|
|
706
705
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
707
|
-
|
|
706
|
+
chunkZGVN23J4_js.FormTextarea,
|
|
708
707
|
{
|
|
709
708
|
label: "Body template",
|
|
710
709
|
rows: 3,
|
|
@@ -719,7 +718,7 @@ function HandlerConfigEditor({
|
|
|
719
718
|
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
719
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-2 text-sm font-semibold text-slate-700 dark:text-slate-200", children: "Function handler" }),
|
|
721
720
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
722
|
-
|
|
721
|
+
chunkZGVN23J4_js.FormInput,
|
|
723
722
|
{
|
|
724
723
|
label: "Implementation key",
|
|
725
724
|
value: stringProp(config, "implementationKey"),
|
|
@@ -733,9 +732,9 @@ function HandlerConfigEditor({
|
|
|
733
732
|
if (toolType === "database_query") {
|
|
734
733
|
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: [
|
|
735
734
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-2 text-sm font-semibold text-slate-700 dark:text-slate-200", children: "Database query handler" }),
|
|
736
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
735
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkZGVN23J4_js.FormGrid, { children: [
|
|
737
736
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
738
|
-
|
|
737
|
+
chunkZGVN23J4_js.FormInput,
|
|
739
738
|
{
|
|
740
739
|
label: "Datasource ID",
|
|
741
740
|
value: stringProp(config, "datasourceId"),
|
|
@@ -744,7 +743,7 @@ function HandlerConfigEditor({
|
|
|
744
743
|
}
|
|
745
744
|
),
|
|
746
745
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
747
|
-
|
|
746
|
+
chunkZGVN23J4_js.FormInput,
|
|
748
747
|
{
|
|
749
748
|
label: "Max rows",
|
|
750
749
|
type: "number",
|
|
@@ -754,7 +753,7 @@ function HandlerConfigEditor({
|
|
|
754
753
|
)
|
|
755
754
|
] }),
|
|
756
755
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
757
|
-
|
|
756
|
+
chunkZGVN23J4_js.FormTextarea,
|
|
758
757
|
{
|
|
759
758
|
label: "Query template",
|
|
760
759
|
rows: 4,
|
|
@@ -770,7 +769,7 @@ function HandlerConfigEditor({
|
|
|
770
769
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-2 text-sm font-semibold text-slate-700 dark:text-slate-200", children: "Code execution handler" }),
|
|
771
770
|
/* @__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." }),
|
|
772
771
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
773
|
-
|
|
772
|
+
chunkZGVN23J4_js.FormSelect,
|
|
774
773
|
{
|
|
775
774
|
label: "Language",
|
|
776
775
|
value: stringProp(config, "language", "javascript"),
|
|
@@ -782,7 +781,7 @@ function HandlerConfigEditor({
|
|
|
782
781
|
}
|
|
783
782
|
),
|
|
784
783
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
785
|
-
|
|
784
|
+
chunkZGVN23J4_js.FormTextarea,
|
|
786
785
|
{
|
|
787
786
|
label: "Code",
|
|
788
787
|
rows: 6,
|
|
@@ -795,9 +794,9 @@ function HandlerConfigEditor({
|
|
|
795
794
|
}
|
|
796
795
|
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: [
|
|
797
796
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-2 text-sm font-semibold text-slate-700 dark:text-slate-200", children: "API call handler" }),
|
|
798
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
797
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkZGVN23J4_js.FormGrid, { children: [
|
|
799
798
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
800
|
-
|
|
799
|
+
chunkZGVN23J4_js.FormInput,
|
|
801
800
|
{
|
|
802
801
|
label: "URL",
|
|
803
802
|
value: stringProp(config, "url"),
|
|
@@ -805,7 +804,7 @@ function HandlerConfigEditor({
|
|
|
805
804
|
}
|
|
806
805
|
),
|
|
807
806
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
808
|
-
|
|
807
|
+
chunkZGVN23J4_js.FormSelect,
|
|
809
808
|
{
|
|
810
809
|
label: "Auth",
|
|
811
810
|
value: stringProp(config, "authType", "bearer"),
|
|
@@ -819,7 +818,7 @@ function HandlerConfigEditor({
|
|
|
819
818
|
}
|
|
820
819
|
),
|
|
821
820
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
822
|
-
|
|
821
|
+
chunkZGVN23J4_js.FormInput,
|
|
823
822
|
{
|
|
824
823
|
label: "Credential secret id",
|
|
825
824
|
value: stringProp(config, "credentialRef"),
|
|
@@ -956,7 +955,7 @@ function RulesPageView({ labels, rules, loading, onCreate, onUpdate, onDelete, o
|
|
|
956
955
|
const filteredRules = searchTerm.trim() ? allRules.filter((rule) => (rule.name ?? "").toLowerCase().includes(searchTerm.trim().toLowerCase())) : allRules;
|
|
957
956
|
const isEmpty = allRules.length === 0;
|
|
958
957
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
959
|
-
|
|
958
|
+
chunkZGVN23J4_js.HeroSection,
|
|
960
959
|
{
|
|
961
960
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.AdjustmentsHorizontalIcon, { className: "h-5 w-5" }),
|
|
962
961
|
label: labels.title,
|
|
@@ -964,7 +963,7 @@ function RulesPageView({ labels, rules, loading, onCreate, onUpdate, onDelete, o
|
|
|
964
963
|
subtitle: labels.subtitle,
|
|
965
964
|
gradient: "from-fuchsia-500 to-purple-700",
|
|
966
965
|
toolbar: /* @__PURE__ */ jsxRuntime.jsx(
|
|
967
|
-
|
|
966
|
+
chunkZGVN23J4_js.CreateActionButton,
|
|
968
967
|
{
|
|
969
968
|
mode: "desktop",
|
|
970
969
|
label: labels.addRule,
|
|
@@ -975,7 +974,7 @@ function RulesPageView({ labels, rules, loading, onCreate, onUpdate, onDelete, o
|
|
|
975
974
|
}
|
|
976
975
|
);
|
|
977
976
|
const mobileAction = /* @__PURE__ */ jsxRuntime.jsx(
|
|
978
|
-
|
|
977
|
+
chunkZGVN23J4_js.CreateActionButton,
|
|
979
978
|
{
|
|
980
979
|
mode: "mobile",
|
|
981
980
|
label: labels.addRule,
|
|
@@ -983,9 +982,9 @@ function RulesPageView({ labels, rules, loading, onCreate, onUpdate, onDelete, o
|
|
|
983
982
|
accent: "fuchsia"
|
|
984
983
|
}
|
|
985
984
|
);
|
|
986
|
-
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
985
|
+
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkZGVN23J4_js.PageLoadingState, {}) : isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(chunkZGVN23J4_js.PageEmptyState, { title: labels.empty, message: labels.subtitle, iconName: "folder-open" }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
987
986
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
988
|
-
|
|
987
|
+
chunkZGVN23J4_js.SearchBar,
|
|
989
988
|
{
|
|
990
989
|
searchTerm,
|
|
991
990
|
onSearchChange: setSearchTerm,
|
|
@@ -993,7 +992,7 @@ function RulesPageView({ labels, rules, loading, onCreate, onUpdate, onDelete, o
|
|
|
993
992
|
}
|
|
994
993
|
),
|
|
995
994
|
/* @__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(
|
|
996
|
-
|
|
995
|
+
chunkZGVN23J4_js.EntityCard,
|
|
997
996
|
{
|
|
998
997
|
accentGradient: "from-fuchsia-500 to-purple-700",
|
|
999
998
|
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" }) }),
|
|
@@ -1031,7 +1030,7 @@ function RulesPageView({ labels, rules, loading, onCreate, onUpdate, onDelete, o
|
|
|
1031
1030
|
{
|
|
1032
1031
|
title: labels.createTitle,
|
|
1033
1032
|
saveLabel: labels.save,
|
|
1034
|
-
initial:
|
|
1033
|
+
initial: chunkH475T2N7_js.defaultRuleForm(),
|
|
1035
1034
|
onClose: () => setCreateOpen(false),
|
|
1036
1035
|
onSubmit: (value) => {
|
|
1037
1036
|
onCreate(value);
|
|
@@ -1063,7 +1062,7 @@ function RuleEditor({
|
|
|
1063
1062
|
}) {
|
|
1064
1063
|
const [value, setValue] = react.useState(initial);
|
|
1065
1064
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1066
|
-
|
|
1065
|
+
chunkZGVN23J4_js.GlassModal,
|
|
1067
1066
|
{
|
|
1068
1067
|
open: true,
|
|
1069
1068
|
onClose,
|
|
@@ -1075,12 +1074,12 @@ function RuleEditor({
|
|
|
1075
1074
|
event.preventDefault();
|
|
1076
1075
|
onSubmit(value);
|
|
1077
1076
|
},
|
|
1078
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1077
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(chunkH475T2N7_js.RuleForm, { value, onChange: setValue })
|
|
1079
1078
|
}
|
|
1080
1079
|
);
|
|
1081
1080
|
}
|
|
1082
1081
|
function ruleToFormValue(rule) {
|
|
1083
|
-
const base =
|
|
1082
|
+
const base = chunkH475T2N7_js.defaultRuleForm();
|
|
1084
1083
|
const rawCondition = rule.condition ?? rule.conditions;
|
|
1085
1084
|
const rawAction = pickAction(rule);
|
|
1086
1085
|
return {
|
|
@@ -1095,7 +1094,10 @@ function ruleToFormValue(rule) {
|
|
|
1095
1094
|
status: typeof rule.status === "string" ? rule.status : base.status,
|
|
1096
1095
|
validFrom: typeof rule.validFrom === "string" ? rule.validFrom : base.validFrom,
|
|
1097
1096
|
validUntil: typeof rule.validUntil === "string" ? rule.validUntil : base.validUntil,
|
|
1098
|
-
tags: Array.isArray(rule.tags) ? rule.tags.filter((tag) => typeof tag === "string") : base.tags
|
|
1097
|
+
tags: Array.isArray(rule.tags) ? rule.tags.filter((tag) => typeof tag === "string") : base.tags,
|
|
1098
|
+
// Round-trip recurrence (Fallback 4) — backend persists it as the
|
|
1099
|
+
// structured `{ kind, ... }` blob the wizard sends.
|
|
1100
|
+
recurrence: rule.recurrence ?? null
|
|
1099
1101
|
};
|
|
1100
1102
|
}
|
|
1101
1103
|
function pickAction(rule) {
|
|
@@ -1123,6 +1125,7 @@ var SAMPLE_DATASOURCES = [
|
|
|
1123
1125
|
timeoutMs: 3e4,
|
|
1124
1126
|
allowedTables: null,
|
|
1125
1127
|
blockedColumns: null,
|
|
1128
|
+
maskPii: null,
|
|
1126
1129
|
enabled: true,
|
|
1127
1130
|
createdAt: "2026-03-20T10:00:00Z",
|
|
1128
1131
|
updatedAt: "2026-03-20T10:00:00Z",
|
|
@@ -1139,6 +1142,7 @@ var SAMPLE_DATASOURCES = [
|
|
|
1139
1142
|
timeoutMs: 15e3,
|
|
1140
1143
|
allowedTables: null,
|
|
1141
1144
|
blockedColumns: null,
|
|
1145
|
+
maskPii: null,
|
|
1142
1146
|
enabled: true,
|
|
1143
1147
|
createdAt: "2026-03-18T08:30:00Z",
|
|
1144
1148
|
updatedAt: "2026-03-22T14:00:00Z",
|
|
@@ -1155,6 +1159,7 @@ var SAMPLE_DATASOURCES = [
|
|
|
1155
1159
|
timeoutMs: 3e4,
|
|
1156
1160
|
allowedTables: null,
|
|
1157
1161
|
blockedColumns: null,
|
|
1162
|
+
maskPii: null,
|
|
1158
1163
|
enabled: true,
|
|
1159
1164
|
createdAt: "2026-03-15T09:00:00Z",
|
|
1160
1165
|
updatedAt: "2026-03-21T11:00:00Z",
|
|
@@ -1171,6 +1176,7 @@ var SAMPLE_DATASOURCES = [
|
|
|
1171
1176
|
timeoutMs: 1e4,
|
|
1172
1177
|
allowedTables: null,
|
|
1173
1178
|
blockedColumns: null,
|
|
1179
|
+
maskPii: null,
|
|
1174
1180
|
enabled: false,
|
|
1175
1181
|
createdAt: "2026-03-10T12:00:00Z",
|
|
1176
1182
|
updatedAt: "2026-03-19T16:00:00Z",
|
|
@@ -1187,6 +1193,7 @@ var SAMPLE_DATASOURCES = [
|
|
|
1187
1193
|
timeoutMs: 5e3,
|
|
1188
1194
|
allowedTables: null,
|
|
1189
1195
|
blockedColumns: null,
|
|
1196
|
+
maskPii: null,
|
|
1190
1197
|
enabled: true,
|
|
1191
1198
|
createdAt: "2026-03-12T07:00:00Z",
|
|
1192
1199
|
updatedAt: "2026-03-23T09:00:00Z",
|
|
@@ -1203,6 +1210,7 @@ var SAMPLE_DATASOURCES = [
|
|
|
1203
1210
|
timeoutMs: 2e4,
|
|
1204
1211
|
allowedTables: null,
|
|
1205
1212
|
blockedColumns: null,
|
|
1213
|
+
maskPii: null,
|
|
1206
1214
|
enabled: true,
|
|
1207
1215
|
createdAt: "2026-03-22T15:00:00Z",
|
|
1208
1216
|
updatedAt: "2026-03-25T10:00:00Z",
|
|
@@ -1211,7 +1219,7 @@ var SAMPLE_DATASOURCES = [
|
|
|
1211
1219
|
];
|
|
1212
1220
|
function getDialectLabel(dialect) {
|
|
1213
1221
|
if (!dialect) return "Unknown";
|
|
1214
|
-
for (const category of
|
|
1222
|
+
for (const category of chunk62BD4WLW_js.DIALECT_CATEGORIES) {
|
|
1215
1223
|
const found = category.dialects.find((d) => d.value === dialect);
|
|
1216
1224
|
if (found) return found.label;
|
|
1217
1225
|
}
|
|
@@ -1219,12 +1227,12 @@ function getDialectLabel(dialect) {
|
|
|
1219
1227
|
}
|
|
1220
1228
|
function getDialectGradient(dialect) {
|
|
1221
1229
|
if (!dialect) return "from-gray-400 to-gray-500";
|
|
1222
|
-
const category =
|
|
1230
|
+
const category = chunk62BD4WLW_js.findCategory(dialect);
|
|
1223
1231
|
return category?.gradient ?? "from-gray-400 to-gray-500";
|
|
1224
1232
|
}
|
|
1225
1233
|
function getDialectIcon(dialect) {
|
|
1226
1234
|
if (!dialect) return outline.CircleStackIcon;
|
|
1227
|
-
const category =
|
|
1235
|
+
const category = chunk62BD4WLW_js.findCategory(dialect);
|
|
1228
1236
|
return category?.icon ?? outline.CircleStackIcon;
|
|
1229
1237
|
}
|
|
1230
1238
|
var DIALECT_LOGO = {
|
|
@@ -1294,6 +1302,7 @@ function DatasourcesPageView({
|
|
|
1294
1302
|
timeoutMs: 3e4,
|
|
1295
1303
|
allowedTables: null,
|
|
1296
1304
|
blockedColumns: null,
|
|
1305
|
+
maskPii: null,
|
|
1297
1306
|
enabled: true,
|
|
1298
1307
|
createdAt: (/* @__PURE__ */ new Date()).toISOString(),
|
|
1299
1308
|
updatedAt: (/* @__PURE__ */ new Date()).toISOString(),
|
|
@@ -1303,7 +1312,7 @@ function DatasourcesPageView({
|
|
|
1303
1312
|
}
|
|
1304
1313
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
1305
1314
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1306
|
-
|
|
1315
|
+
chunkZGVN23J4_js.HeroSection,
|
|
1307
1316
|
{
|
|
1308
1317
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.CircleStackIcon, { className: "h-5 w-5" }),
|
|
1309
1318
|
label: labels.title,
|
|
@@ -1311,7 +1320,7 @@ function DatasourcesPageView({
|
|
|
1311
1320
|
subtitle: labels.subtitle,
|
|
1312
1321
|
gradient: "from-amber-500 to-orange-600",
|
|
1313
1322
|
toolbar: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1314
|
-
|
|
1323
|
+
chunkZGVN23J4_js.CreateActionButton,
|
|
1315
1324
|
{
|
|
1316
1325
|
mode: "desktop",
|
|
1317
1326
|
label: labels.addDatasource,
|
|
@@ -1322,7 +1331,7 @@ function DatasourcesPageView({
|
|
|
1322
1331
|
}
|
|
1323
1332
|
),
|
|
1324
1333
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1325
|
-
|
|
1334
|
+
chunkZGVN23J4_js.CreateActionButton,
|
|
1326
1335
|
{
|
|
1327
1336
|
mode: "mobile",
|
|
1328
1337
|
label: labels.addDatasource,
|
|
@@ -1331,7 +1340,7 @@ function DatasourcesPageView({
|
|
|
1331
1340
|
}
|
|
1332
1341
|
),
|
|
1333
1342
|
!isEmpty && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1334
|
-
|
|
1343
|
+
chunkZGVN23J4_js.SearchBar,
|
|
1335
1344
|
{
|
|
1336
1345
|
searchTerm,
|
|
1337
1346
|
onSearchChange: setSearchTerm,
|
|
@@ -1339,7 +1348,7 @@ function DatasourcesPageView({
|
|
|
1339
1348
|
}
|
|
1340
1349
|
),
|
|
1341
1350
|
isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1342
|
-
|
|
1351
|
+
chunkZGVN23J4_js.PageEmptyState,
|
|
1343
1352
|
{
|
|
1344
1353
|
title: labels.emptyTitle,
|
|
1345
1354
|
message: labels.emptyDescription,
|
|
@@ -1353,7 +1362,7 @@ function DatasourcesPageView({
|
|
|
1353
1362
|
const logoSrc = getDialectLogoSrc(ds.dialect);
|
|
1354
1363
|
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" }) });
|
|
1355
1364
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1356
|
-
|
|
1365
|
+
chunkZGVN23J4_js.EntityCard,
|
|
1357
1366
|
{
|
|
1358
1367
|
accentGradient: gradient,
|
|
1359
1368
|
icon: iconElement,
|
|
@@ -1383,7 +1392,7 @@ function DatasourcesPageView({
|
|
|
1383
1392
|
);
|
|
1384
1393
|
}) }),
|
|
1385
1394
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1386
|
-
|
|
1395
|
+
chunk62BD4WLW_js.DatasourceModal,
|
|
1387
1396
|
{
|
|
1388
1397
|
open: modalOpen,
|
|
1389
1398
|
onClose: () => setModalOpen(false),
|
|
@@ -1412,37 +1421,36 @@ function AgentsIndexPageView({ labels }) {
|
|
|
1412
1421
|
const filteredTiles = searchTerm.trim() ? allTiles.filter((tile) => tile.title.toLowerCase().includes(searchTerm.trim().toLowerCase())) : allTiles;
|
|
1413
1422
|
const isEmpty = allTiles.length === 0;
|
|
1414
1423
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
1415
|
-
|
|
1424
|
+
chunkZGVN23J4_js.HeroSection,
|
|
1416
1425
|
{
|
|
1417
1426
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.CpuChipIcon, { className: "h-5 w-5" }),
|
|
1418
1427
|
label: labels.title,
|
|
1419
1428
|
title: labels.title,
|
|
1420
1429
|
subtitle: labels.subtitle,
|
|
1421
|
-
gradient: "from-violet-500 to-indigo-700"
|
|
1430
|
+
gradient: "from-violet-500 to-indigo-700",
|
|
1431
|
+
toolbar: !isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1432
|
+
chunkZGVN23J4_js.SearchBar,
|
|
1433
|
+
{
|
|
1434
|
+
searchTerm,
|
|
1435
|
+
onSearchChange: setSearchTerm,
|
|
1436
|
+
placeholder: labels.searchPlaceholder ?? labels.title,
|
|
1437
|
+
noBorder: true
|
|
1438
|
+
}
|
|
1439
|
+
) : void 0
|
|
1422
1440
|
}
|
|
1423
1441
|
);
|
|
1424
|
-
const content = /* @__PURE__ */ jsxRuntime.
|
|
1425
|
-
|
|
1426
|
-
|
|
1442
|
+
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) => {
|
|
1443
|
+
const Icon = tile.icon;
|
|
1444
|
+
return /* @__PURE__ */ jsxRuntime.jsx(Link, { href: tile.href, className: "block focus:outline-none", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1445
|
+
chunkZGVN23J4_js.EntityCard,
|
|
1427
1446
|
{
|
|
1428
|
-
|
|
1429
|
-
|
|
1430
|
-
|
|
1447
|
+
accentGradient: tile.gradient,
|
|
1448
|
+
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" }) }),
|
|
1449
|
+
title: tile.title,
|
|
1450
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-slate-500 dark:text-slate-400", children: tile.subtitle })
|
|
1431
1451
|
}
|
|
1432
|
-
),
|
|
1433
|
-
|
|
1434
|
-
const Icon = tile.icon;
|
|
1435
|
-
return /* @__PURE__ */ jsxRuntime.jsx(Link, { href: tile.href, className: "block focus:outline-none", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1436
|
-
chunkLVR4SR65_js.EntityCard,
|
|
1437
|
-
{
|
|
1438
|
-
accentGradient: tile.gradient,
|
|
1439
|
-
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" }) }),
|
|
1440
|
-
title: tile.title,
|
|
1441
|
-
children: /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-slate-500 dark:text-slate-400", children: tile.subtitle })
|
|
1442
|
-
}
|
|
1443
|
-
) }, tile.id);
|
|
1444
|
-
}) })
|
|
1445
|
-
] });
|
|
1452
|
+
) }, tile.id);
|
|
1453
|
+
}) });
|
|
1446
1454
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
1447
1455
|
hero,
|
|
1448
1456
|
content
|
|
@@ -1452,7 +1460,7 @@ function WorkflowsPageView({ labels, workflows, onCreate, onUpdateMeta, onPublis
|
|
|
1452
1460
|
const selectedWorkflow = workflows[0] ?? null;
|
|
1453
1461
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-6", children: [
|
|
1454
1462
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1455
|
-
|
|
1463
|
+
chunkZGVN23J4_js.SectionHeader,
|
|
1456
1464
|
{
|
|
1457
1465
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.RectangleStackIcon, { className: "h-5 w-5 text-white" }),
|
|
1458
1466
|
title: labels.title,
|
|
@@ -1461,9 +1469,9 @@ function WorkflowsPageView({ labels, workflows, onCreate, onUpdateMeta, onPublis
|
|
|
1461
1469
|
}
|
|
1462
1470
|
),
|
|
1463
1471
|
/* @__PURE__ */ jsxRuntime.jsxs("section", { className: "liquid-surface rounded-2xl p-4 space-y-3", children: [
|
|
1464
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1472
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkZGVN23J4_js.Text, { className: "font-semibold text-slate-900 dark:text-slate-100", children: labels.add }),
|
|
1465
1473
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1466
|
-
|
|
1474
|
+
chunkZGVN23J4_js.Form,
|
|
1467
1475
|
{
|
|
1468
1476
|
onSubmit: (event) => {
|
|
1469
1477
|
event.preventDefault();
|
|
@@ -1474,32 +1482,32 @@ function WorkflowsPageView({ labels, workflows, onCreate, onUpdateMeta, onPublis
|
|
|
1474
1482
|
onCreate({ name, description });
|
|
1475
1483
|
event.currentTarget.reset();
|
|
1476
1484
|
},
|
|
1477
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1478
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1479
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1480
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1485
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(chunkZGVN23J4_js.FormGrid, { children: [
|
|
1486
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkZGVN23J4_js.FormInput, { name: "name", label: labels.workflowName, placeholder: labels.workflowNamePlaceholder, required: true }),
|
|
1487
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkZGVN23J4_js.FormTextarea, { name: "description", label: labels.description, placeholder: labels.workflowDescriptionPlaceholder, rows: 3 }),
|
|
1488
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkZGVN23J4_js.FormActionsRow, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Button, { type: "submit", children: labels.create }) })
|
|
1481
1489
|
] })
|
|
1482
1490
|
}
|
|
1483
1491
|
)
|
|
1484
1492
|
] }),
|
|
1485
1493
|
/* @__PURE__ */ jsxRuntime.jsxs("section", { className: "liquid-surface rounded-2xl p-4 space-y-3", children: [
|
|
1486
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1487
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1488
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1489
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1490
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1491
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1492
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1493
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1494
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkZGVN23J4_js.Text, { className: "font-semibold text-slate-900 dark:text-slate-100", children: labels.registry }),
|
|
1495
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkZGVN23J4_js.Table, { children: [
|
|
1496
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkZGVN23J4_js.TableHead, { children: /* @__PURE__ */ jsxRuntime.jsxs(chunkZGVN23J4_js.TableRow, { children: [
|
|
1497
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkZGVN23J4_js.TableHeader, { children: labels.name }),
|
|
1498
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkZGVN23J4_js.TableHeader, { children: labels.description }),
|
|
1499
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkZGVN23J4_js.TableHeader, { children: labels.version }),
|
|
1500
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkZGVN23J4_js.TableHeader, { children: labels.status }),
|
|
1501
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkZGVN23J4_js.TableHeader, { children: labels.actions })
|
|
1494
1502
|
] }) }),
|
|
1495
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1496
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1497
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1498
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1499
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1500
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1503
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkZGVN23J4_js.TableBody, { children: workflows.map((workflow) => /* @__PURE__ */ jsxRuntime.jsxs(chunkZGVN23J4_js.TableRow, { children: [
|
|
1504
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkZGVN23J4_js.TableCell, { children: workflow.name }),
|
|
1505
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkZGVN23J4_js.TableCell, { children: workflow.description }),
|
|
1506
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkZGVN23J4_js.TableCell, { children: String(workflow.version) }),
|
|
1507
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkZGVN23J4_js.TableCell, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Badge, { children: workflow.isDraft ? labels.statusDraft : labels.statusPublished }) }),
|
|
1508
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkZGVN23J4_js.TableCell, { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-2", children: [
|
|
1501
1509
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1502
|
-
|
|
1510
|
+
chunkZGVN23J4_js.Form,
|
|
1503
1511
|
{
|
|
1504
1512
|
onSubmit: (event) => {
|
|
1505
1513
|
event.preventDefault();
|
|
@@ -1509,7 +1517,7 @@ function WorkflowsPageView({ labels, workflows, onCreate, onUpdateMeta, onPublis
|
|
|
1509
1517
|
description: workflow.description ?? ""
|
|
1510
1518
|
});
|
|
1511
1519
|
},
|
|
1512
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1520
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(chunkZGVN23J4_js.InlineForm, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Button, { type: "submit", outline: true, children: labels.saveMeta }) })
|
|
1513
1521
|
}
|
|
1514
1522
|
),
|
|
1515
1523
|
/* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Button, { type: "button", color: "sky", onClick: () => onPublish(workflow.id), children: labels.publish })
|
|
@@ -1518,8 +1526,8 @@ function WorkflowsPageView({ labels, workflows, onCreate, onUpdateMeta, onPublis
|
|
|
1518
1526
|
] })
|
|
1519
1527
|
] }),
|
|
1520
1528
|
/* @__PURE__ */ jsxRuntime.jsxs("section", { className: "liquid-surface rounded-2xl p-4 space-y-3", children: [
|
|
1521
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1522
|
-
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(
|
|
1529
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkZGVN23J4_js.Text, { className: "font-semibold text-slate-900 dark:text-slate-100", children: labels.workspace }),
|
|
1530
|
+
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(chunkZ6FZQOTW_js.WorkflowWorkspace, { graph: chunk3T2WGL47_js.adaptWorkflowGraphToUi(selectedWorkflow.graph) }) }) : /* @__PURE__ */ jsxRuntime.jsx(chunkZGVN23J4_js.Text, { children: labels.empty })
|
|
1523
1531
|
] })
|
|
1524
1532
|
] });
|
|
1525
1533
|
}
|
|
@@ -1533,6 +1541,7 @@ var BADGE_COLOR = {
|
|
|
1533
1541
|
function WorkflowRunsPageView({ labels, runs, loading, onCancel, onReplay, onView, onViewTimeline }) {
|
|
1534
1542
|
const [statusFilter, setStatusFilter] = react.useState("all");
|
|
1535
1543
|
const [searchTerm, setSearchTerm] = react.useState("");
|
|
1544
|
+
const [filtersOpen, setFiltersOpen] = react.useState(false);
|
|
1536
1545
|
const statusOptions = react.useMemo(() => [
|
|
1537
1546
|
{ value: "all", label: labels.filterAll },
|
|
1538
1547
|
{ value: "pending", label: labels.statusPending },
|
|
@@ -1568,61 +1577,68 @@ function WorkflowRunsPageView({ labels, runs, loading, onCancel, onReplay, onVie
|
|
|
1568
1577
|
});
|
|
1569
1578
|
const isEmpty = allRuns.length === 0;
|
|
1570
1579
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
1571
|
-
|
|
1580
|
+
chunkZGVN23J4_js.HeroSection,
|
|
1572
1581
|
{
|
|
1573
1582
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.ClockIcon, { className: "h-5 w-5" }),
|
|
1574
1583
|
label: labels.title,
|
|
1575
1584
|
title: labels.title,
|
|
1576
1585
|
subtitle: labels.subtitle,
|
|
1577
1586
|
gradient: "from-indigo-500 to-sky-700",
|
|
1578
|
-
toolbar:
|
|
1579
|
-
|
|
1587
|
+
toolbar: !isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1588
|
+
chunkZGVN23J4_js.SearchBar,
|
|
1580
1589
|
{
|
|
1581
|
-
|
|
1582
|
-
|
|
1583
|
-
|
|
1584
|
-
|
|
1585
|
-
|
|
1590
|
+
searchTerm,
|
|
1591
|
+
onSearchChange: setSearchTerm,
|
|
1592
|
+
placeholder: labels.searchPlaceholder ?? labels.title,
|
|
1593
|
+
noBorder: true,
|
|
1594
|
+
filtersModal: {
|
|
1595
|
+
open: filtersOpen,
|
|
1596
|
+
onOpen: () => setFiltersOpen(true),
|
|
1597
|
+
onClose: () => setFiltersOpen(false),
|
|
1598
|
+
title: labels.filterStatus,
|
|
1599
|
+
count: statusFilter !== "all" ? 1 : 0,
|
|
1600
|
+
onClear: statusFilter !== "all" ? () => setStatusFilter("all") : void 0,
|
|
1601
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1602
|
+
chunkZGVN23J4_js.FormSelect,
|
|
1603
|
+
{
|
|
1604
|
+
name: "statusFilter",
|
|
1605
|
+
label: labels.filterStatus,
|
|
1606
|
+
options: statusOptions,
|
|
1607
|
+
value: statusFilter,
|
|
1608
|
+
onValueChange: setStatusFilter
|
|
1609
|
+
}
|
|
1610
|
+
)
|
|
1611
|
+
}
|
|
1586
1612
|
}
|
|
1587
|
-
)
|
|
1613
|
+
) : void 0
|
|
1588
1614
|
}
|
|
1589
1615
|
);
|
|
1590
|
-
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1591
|
-
|
|
1592
|
-
|
|
1593
|
-
|
|
1594
|
-
|
|
1595
|
-
|
|
1596
|
-
|
|
1597
|
-
}
|
|
1598
|
-
|
|
1599
|
-
|
|
1600
|
-
|
|
1601
|
-
|
|
1602
|
-
|
|
1603
|
-
|
|
1604
|
-
|
|
1605
|
-
|
|
1606
|
-
|
|
1607
|
-
|
|
1608
|
-
|
|
1609
|
-
|
|
1610
|
-
/* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Button, { type: "button", size: "sm", outline: true, onClick: () => onReplay(run), children: labels.replay }),
|
|
1611
|
-
run.status === "running" && /* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Button, { type: "button", size: "sm", color: "rose", onClick: () => onCancel(run), children: labels.cancel })
|
|
1616
|
+
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkZGVN23J4_js.PageLoadingState, {}) : filteredRuns.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkZGVN23J4_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(
|
|
1617
|
+
chunkZGVN23J4_js.EntityCard,
|
|
1618
|
+
{
|
|
1619
|
+
accentGradient: "from-indigo-500 to-sky-700",
|
|
1620
|
+
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" }) }),
|
|
1621
|
+
title: run.id.slice(0, 8),
|
|
1622
|
+
subtitle: `${labels.startedAt}: ${new Date(run.createdAt).toLocaleString()}`,
|
|
1623
|
+
status: /* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Badge, { color: BADGE_COLOR[run.status] ?? "zinc", children: statusLabelFor(run.status) }),
|
|
1624
|
+
footer: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
|
|
1625
|
+
onView && /* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Button, { type: "button", size: "sm", outline: true, onClick: () => onView(run), children: labels.view }),
|
|
1626
|
+
onViewTimeline && labels.timeline && /* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Button, { type: "button", size: "sm", outline: true, onClick: () => onViewTimeline(run), children: labels.timeline }),
|
|
1627
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Button, { type: "button", size: "sm", outline: true, onClick: () => onReplay(run), children: labels.replay }),
|
|
1628
|
+
run.status === "running" && /* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Button, { type: "button", size: "sm", color: "rose", onClick: () => onCancel(run), children: labels.cancel })
|
|
1629
|
+
] }),
|
|
1630
|
+
children: [
|
|
1631
|
+
/* @__PURE__ */ jsxRuntime.jsxs("dl", { className: "mt-1 grid grid-cols-2 gap-1 text-xs text-slate-500 dark:text-slate-400", children: [
|
|
1632
|
+
/* @__PURE__ */ jsxRuntime.jsx("dt", { children: labels.duration }),
|
|
1633
|
+
/* @__PURE__ */ jsxRuntime.jsx("dd", { className: "text-right", children: chunk3T2WGL47_js.formatDurationMs(run.totalDurationMs) }),
|
|
1634
|
+
/* @__PURE__ */ jsxRuntime.jsx("dt", { children: labels.triggeredBy }),
|
|
1635
|
+
/* @__PURE__ */ jsxRuntime.jsx("dd", { className: "text-right truncate", children: run.triggeredBy || "\u2014" })
|
|
1612
1636
|
] }),
|
|
1613
|
-
children:
|
|
1614
|
-
|
|
1615
|
-
|
|
1616
|
-
|
|
1617
|
-
|
|
1618
|
-
/* @__PURE__ */ jsxRuntime.jsx("dd", { className: "text-right truncate", children: run.triggeredBy || "\u2014" })
|
|
1619
|
-
] }),
|
|
1620
|
-
run.error && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-1 line-clamp-2 text-xs text-rose-600 dark:text-rose-400", children: run.error })
|
|
1621
|
-
]
|
|
1622
|
-
},
|
|
1623
|
-
run.id
|
|
1624
|
-
)) })
|
|
1625
|
-
] });
|
|
1637
|
+
run.error && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-1 line-clamp-2 text-xs text-rose-600 dark:text-rose-400", children: run.error })
|
|
1638
|
+
]
|
|
1639
|
+
},
|
|
1640
|
+
run.id
|
|
1641
|
+
)) });
|
|
1626
1642
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
1627
1643
|
hero,
|
|
1628
1644
|
content
|
|
@@ -1630,7 +1646,7 @@ function WorkflowRunsPageView({ labels, runs, loading, onCancel, onReplay, onVie
|
|
|
1630
1646
|
}
|
|
1631
1647
|
function RunTimelinePageView({ labels, entries, loading, runId }) {
|
|
1632
1648
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
1633
|
-
|
|
1649
|
+
chunkZGVN23J4_js.HeroSection,
|
|
1634
1650
|
{
|
|
1635
1651
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.ClockIcon, { className: "h-5 w-5" }),
|
|
1636
1652
|
label: labels.title,
|
|
@@ -1642,19 +1658,19 @@ function RunTimelinePageView({ labels, entries, loading, runId }) {
|
|
|
1642
1658
|
if (loading) {
|
|
1643
1659
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
1644
1660
|
hero,
|
|
1645
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1661
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkZGVN23J4_js.PageLoadingState, {})
|
|
1646
1662
|
] });
|
|
1647
1663
|
}
|
|
1648
1664
|
if (entries.length === 0) {
|
|
1649
1665
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
1650
1666
|
hero,
|
|
1651
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1667
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkZGVN23J4_js.PageEmptyState, { title: labels.empty ?? "", message: "", iconName: "folder-open" })
|
|
1652
1668
|
] });
|
|
1653
1669
|
}
|
|
1654
1670
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
1655
1671
|
hero,
|
|
1656
1672
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1657
|
-
|
|
1673
|
+
chunkH475T2N7_js.ExecutionTimelinePanel,
|
|
1658
1674
|
{
|
|
1659
1675
|
entries,
|
|
1660
1676
|
labels
|
|
@@ -1739,7 +1755,7 @@ function ConnectionsPageView({
|
|
|
1739
1755
|
const filteredConnections = searchTerm.trim() ? allConnections.filter((conn) => conn.name.toLowerCase().includes(searchTerm.trim().toLowerCase())) : allConnections;
|
|
1740
1756
|
const isEmpty = allConnections.length === 0;
|
|
1741
1757
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
1742
|
-
|
|
1758
|
+
chunkZGVN23J4_js.HeroSection,
|
|
1743
1759
|
{
|
|
1744
1760
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.LinkIcon, { className: "h-5 w-5" }),
|
|
1745
1761
|
label: labels.title,
|
|
@@ -1747,7 +1763,7 @@ function ConnectionsPageView({
|
|
|
1747
1763
|
subtitle: labels.subtitle,
|
|
1748
1764
|
gradient: "from-sky-500 to-indigo-600",
|
|
1749
1765
|
toolbar: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1750
|
-
|
|
1766
|
+
chunkZGVN23J4_js.CreateActionButton,
|
|
1751
1767
|
{
|
|
1752
1768
|
mode: "desktop",
|
|
1753
1769
|
label: labels.add,
|
|
@@ -1758,7 +1774,7 @@ function ConnectionsPageView({
|
|
|
1758
1774
|
}
|
|
1759
1775
|
);
|
|
1760
1776
|
const mobileAction = /* @__PURE__ */ jsxRuntime.jsx(
|
|
1761
|
-
|
|
1777
|
+
chunkZGVN23J4_js.CreateActionButton,
|
|
1762
1778
|
{
|
|
1763
1779
|
mode: "mobile",
|
|
1764
1780
|
label: labels.add,
|
|
@@ -1766,9 +1782,9 @@ function ConnectionsPageView({
|
|
|
1766
1782
|
accent: "sky"
|
|
1767
1783
|
}
|
|
1768
1784
|
);
|
|
1769
|
-
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1785
|
+
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkZGVN23J4_js.PageLoadingState, {}) : isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(chunkZGVN23J4_js.PageEmptyState, { title: labels.empty, message: labels.subtitle, iconName: "folder-open" }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1770
1786
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1771
|
-
|
|
1787
|
+
chunkZGVN23J4_js.SearchBar,
|
|
1772
1788
|
{
|
|
1773
1789
|
searchTerm,
|
|
1774
1790
|
onSearchChange: setSearchTerm,
|
|
@@ -1776,7 +1792,7 @@ function ConnectionsPageView({
|
|
|
1776
1792
|
}
|
|
1777
1793
|
),
|
|
1778
1794
|
/* @__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(
|
|
1779
|
-
|
|
1795
|
+
chunkZGVN23J4_js.EntityCard,
|
|
1780
1796
|
{
|
|
1781
1797
|
accentGradient: "from-sky-500 to-indigo-600",
|
|
1782
1798
|
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" }) }),
|
|
@@ -1929,7 +1945,7 @@ function ConnectionEditor({
|
|
|
1929
1945
|
return preset.exampleModels?.join(", ") ?? "";
|
|
1930
1946
|
}, [preset]);
|
|
1931
1947
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1932
|
-
|
|
1948
|
+
chunkZGVN23J4_js.GlassModal,
|
|
1933
1949
|
{
|
|
1934
1950
|
open: true,
|
|
1935
1951
|
onClose,
|
|
@@ -1942,9 +1958,9 @@ function ConnectionEditor({
|
|
|
1942
1958
|
void handleSubmit();
|
|
1943
1959
|
},
|
|
1944
1960
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
1945
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1961
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkZGVN23J4_js.FormGrid, { children: [
|
|
1946
1962
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1947
|
-
|
|
1963
|
+
chunkZGVN23J4_js.FormSelect,
|
|
1948
1964
|
{
|
|
1949
1965
|
label: "Provider",
|
|
1950
1966
|
value: value.providerSlug,
|
|
@@ -1955,7 +1971,7 @@ function ConnectionEditor({
|
|
|
1955
1971
|
}
|
|
1956
1972
|
),
|
|
1957
1973
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1958
|
-
|
|
1974
|
+
chunkZGVN23J4_js.FormInput,
|
|
1959
1975
|
{
|
|
1960
1976
|
label: "Display name",
|
|
1961
1977
|
required: true,
|
|
@@ -1965,7 +1981,7 @@ function ConnectionEditor({
|
|
|
1965
1981
|
}
|
|
1966
1982
|
),
|
|
1967
1983
|
preset.needsRegion && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1968
|
-
|
|
1984
|
+
chunkZGVN23J4_js.FormInput,
|
|
1969
1985
|
{
|
|
1970
1986
|
label: "Region",
|
|
1971
1987
|
value: value.region,
|
|
@@ -1974,7 +1990,7 @@ function ConnectionEditor({
|
|
|
1974
1990
|
}
|
|
1975
1991
|
),
|
|
1976
1992
|
preset.needsEndpoint && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1977
|
-
|
|
1993
|
+
chunkZGVN23J4_js.FormInput,
|
|
1978
1994
|
{
|
|
1979
1995
|
label: "Endpoint URL",
|
|
1980
1996
|
value: value.endpoint,
|
|
@@ -1984,7 +2000,7 @@ function ConnectionEditor({
|
|
|
1984
2000
|
)
|
|
1985
2001
|
] }),
|
|
1986
2002
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1987
|
-
|
|
2003
|
+
chunkZGVN23J4_js.FormInput,
|
|
1988
2004
|
{
|
|
1989
2005
|
label: value.credentialRef ? "Rotate API key (leave blank to keep current)" : "API key",
|
|
1990
2006
|
type: "password",
|
|
@@ -1995,7 +2011,7 @@ function ConnectionEditor({
|
|
|
1995
2011
|
}
|
|
1996
2012
|
),
|
|
1997
2013
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1998
|
-
|
|
2014
|
+
chunkZGVN23J4_js.FormInput,
|
|
1999
2015
|
{
|
|
2000
2016
|
label: "Model filter (comma-separated, optional)",
|
|
2001
2017
|
value: value.modelFilter,
|
|
@@ -2007,7 +2023,7 @@ function ConnectionEditor({
|
|
|
2007
2023
|
/* @__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: [
|
|
2008
2024
|
/* @__PURE__ */ jsxRuntime.jsx("summary", { className: "cursor-pointer font-medium text-slate-700 dark:text-slate-200", children: "Advanced config (JSON)" }),
|
|
2009
2025
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-3", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2010
|
-
|
|
2026
|
+
chunkZGVN23J4_js.FormTextarea,
|
|
2011
2027
|
{
|
|
2012
2028
|
rows: 4,
|
|
2013
2029
|
value: value.configJson,
|
|
@@ -2077,7 +2093,7 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
|
|
|
2077
2093
|
{ value: "password", label: labels.typePassword }
|
|
2078
2094
|
];
|
|
2079
2095
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
2080
|
-
|
|
2096
|
+
chunkZGVN23J4_js.HeroSection,
|
|
2081
2097
|
{
|
|
2082
2098
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.KeyIcon, { className: "h-5 w-5" }),
|
|
2083
2099
|
label: labels.title,
|
|
@@ -2085,7 +2101,7 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
|
|
|
2085
2101
|
subtitle: labels.subtitle,
|
|
2086
2102
|
gradient: "from-rose-500 to-orange-600",
|
|
2087
2103
|
toolbar: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2088
|
-
|
|
2104
|
+
chunkZGVN23J4_js.CreateActionButton,
|
|
2089
2105
|
{
|
|
2090
2106
|
mode: "desktop",
|
|
2091
2107
|
label: labels.addCredential,
|
|
@@ -2096,7 +2112,7 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
|
|
|
2096
2112
|
}
|
|
2097
2113
|
);
|
|
2098
2114
|
const mobileAction = /* @__PURE__ */ jsxRuntime.jsx(
|
|
2099
|
-
|
|
2115
|
+
chunkZGVN23J4_js.CreateActionButton,
|
|
2100
2116
|
{
|
|
2101
2117
|
mode: "mobile",
|
|
2102
2118
|
label: labels.addCredential,
|
|
@@ -2104,9 +2120,9 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
|
|
|
2104
2120
|
accent: "rose"
|
|
2105
2121
|
}
|
|
2106
2122
|
);
|
|
2107
|
-
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
2123
|
+
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkZGVN23J4_js.PageLoadingState, {}) : isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(chunkZGVN23J4_js.PageEmptyState, { title: labels.empty, message: labels.subtitle, iconName: "folder-open" }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
2108
2124
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2109
|
-
|
|
2125
|
+
chunkZGVN23J4_js.SearchBar,
|
|
2110
2126
|
{
|
|
2111
2127
|
searchTerm,
|
|
2112
2128
|
onSearchChange: setSearchTerm,
|
|
@@ -2114,7 +2130,7 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
|
|
|
2114
2130
|
}
|
|
2115
2131
|
),
|
|
2116
2132
|
/* @__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(
|
|
2117
|
-
|
|
2133
|
+
chunkZGVN23J4_js.EntityCard,
|
|
2118
2134
|
{
|
|
2119
2135
|
accentGradient: "from-rose-500 to-orange-700",
|
|
2120
2136
|
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" }) }),
|
|
@@ -2122,7 +2138,7 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
|
|
|
2122
2138
|
subtitle: secret.secretType,
|
|
2123
2139
|
status: /* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Badge, { color: secret.disabled ? "zinc" : "emerald", children: secret.disabled ? labels.disable : "Active" }),
|
|
2124
2140
|
footer: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between gap-2", children: [
|
|
2125
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2141
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkZGVN23J4_js.CopyableId, { id: secret.secretId }),
|
|
2126
2142
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
|
|
2127
2143
|
/* @__PURE__ */ jsxRuntime.jsxs(chunkBHOT22QL_js.Button, { type: "button", size: "sm", outline: true, onClick: () => setRotateFor(secret), children: [
|
|
2128
2144
|
/* @__PURE__ */ jsxRuntime.jsx(outline.ArrowPathIcon, { className: "mr-1 h-3.5 w-3.5" }),
|
|
@@ -2165,7 +2181,7 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
|
|
|
2165
2181
|
mobileAction
|
|
2166
2182
|
] }),
|
|
2167
2183
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2168
|
-
|
|
2184
|
+
chunkZGVN23J4_js.GlassModal,
|
|
2169
2185
|
{
|
|
2170
2186
|
open: createOpen,
|
|
2171
2187
|
onClose: () => setCreateOpen(false),
|
|
@@ -2183,16 +2199,16 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
|
|
|
2183
2199
|
onCreate({ name, value, secretType, description });
|
|
2184
2200
|
setCreateOpen(false);
|
|
2185
2201
|
},
|
|
2186
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2187
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2188
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2189
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2190
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2202
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(chunkZGVN23J4_js.FormGrid, { children: [
|
|
2203
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkZGVN23J4_js.FormInput, { name: "name", label: labels.name, placeholder: labels.namePlaceholder, required: true }),
|
|
2204
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkZGVN23J4_js.FormSelect, { name: "secretType", label: labels.type, options: typeOptions, defaultValue: "generic" }),
|
|
2205
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkZGVN23J4_js.FormInput, { name: "value", label: labels.value, placeholder: labels.valuePlaceholder, required: true, type: "password" }),
|
|
2206
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkZGVN23J4_js.FormTextarea, { name: "description", label: labels.description, placeholder: labels.descriptionPlaceholder, rows: 2 })
|
|
2191
2207
|
] })
|
|
2192
2208
|
}
|
|
2193
2209
|
),
|
|
2194
2210
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2195
|
-
|
|
2211
|
+
chunkZGVN23J4_js.GlassModal,
|
|
2196
2212
|
{
|
|
2197
2213
|
open: rotateFor !== null,
|
|
2198
2214
|
onClose: () => setRotateFor(null),
|
|
@@ -2207,7 +2223,7 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
|
|
|
2207
2223
|
onRotate(rotateFor, value);
|
|
2208
2224
|
setRotateFor(null);
|
|
2209
2225
|
},
|
|
2210
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2226
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(chunkZGVN23J4_js.FormGrid, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkZGVN23J4_js.FormInput, { name: "value", label: labels.value, placeholder: labels.valuePlaceholder, required: true, type: "password" }) })
|
|
2211
2227
|
}
|
|
2212
2228
|
)
|
|
2213
2229
|
] });
|
|
@@ -2260,7 +2276,7 @@ function AgentsWorkspacePageView({
|
|
|
2260
2276
|
}, [agents, selectedId]);
|
|
2261
2277
|
const isEmpty = agents.length === 0;
|
|
2262
2278
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
2263
|
-
|
|
2279
|
+
chunkZGVN23J4_js.HeroSection,
|
|
2264
2280
|
{
|
|
2265
2281
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.CpuChipIcon, { className: "h-5 w-5" }),
|
|
2266
2282
|
label: labels.title,
|
|
@@ -2268,7 +2284,7 @@ function AgentsWorkspacePageView({
|
|
|
2268
2284
|
subtitle: labels.subtitle,
|
|
2269
2285
|
gradient: "from-violet-500 to-indigo-700",
|
|
2270
2286
|
actions: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2271
|
-
|
|
2287
|
+
chunkZGVN23J4_js.CreateActionButton,
|
|
2272
2288
|
{
|
|
2273
2289
|
mode: "desktop",
|
|
2274
2290
|
label: labels.addAgent,
|
|
@@ -2279,7 +2295,7 @@ function AgentsWorkspacePageView({
|
|
|
2279
2295
|
}
|
|
2280
2296
|
);
|
|
2281
2297
|
const mobileAction = /* @__PURE__ */ jsxRuntime.jsx(
|
|
2282
|
-
|
|
2298
|
+
chunkZGVN23J4_js.CreateActionButton,
|
|
2283
2299
|
{
|
|
2284
2300
|
mode: "mobile",
|
|
2285
2301
|
label: labels.addAgent,
|
|
@@ -2287,8 +2303,8 @@ function AgentsWorkspacePageView({
|
|
|
2287
2303
|
accent: "violet"
|
|
2288
2304
|
}
|
|
2289
2305
|
);
|
|
2290
|
-
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
2291
|
-
|
|
2306
|
+
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkZGVN23J4_js.PageLoadingState, {}) : isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
2307
|
+
chunkZGVN23J4_js.PageEmptyState,
|
|
2292
2308
|
{
|
|
2293
2309
|
title: labels.empty,
|
|
2294
2310
|
message: labels.emptyMessage,
|
|
@@ -2296,7 +2312,7 @@ function AgentsWorkspacePageView({
|
|
|
2296
2312
|
}
|
|
2297
2313
|
) : /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
2298
2314
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2299
|
-
|
|
2315
|
+
chunkZGVN23J4_js.SearchBar,
|
|
2300
2316
|
{
|
|
2301
2317
|
searchTerm,
|
|
2302
2318
|
onSearchChange: setSearchTerm,
|
|
@@ -2304,15 +2320,15 @@ function AgentsWorkspacePageView({
|
|
|
2304
2320
|
}
|
|
2305
2321
|
),
|
|
2306
2322
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-1 gap-4 lg:grid-cols-[20rem_minmax(0,1fr)]", children: [
|
|
2307
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "lg:sticky lg:top-4", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2323
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "lg:sticky lg:top-4", children: /* @__PURE__ */ jsxRuntime.jsx(chunkZGVN23J4_js.ListCard, { variant: "glass", children: filteredAgents.map((agent) => {
|
|
2308
2324
|
const id = String(agent.agentId ?? agent.id ?? "");
|
|
2309
2325
|
const active = id === selectedId;
|
|
2310
2326
|
const initials = deriveInitials(String(agent.name ?? id));
|
|
2311
2327
|
const modelName = models.find((m) => m.id === String(agent.modelId ?? ""))?.name ?? String(agent.modelId ?? "");
|
|
2312
2328
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2313
|
-
|
|
2329
|
+
chunkZGVN23J4_js.ListCardItem,
|
|
2314
2330
|
{
|
|
2315
|
-
leading: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2331
|
+
leading: /* @__PURE__ */ jsxRuntime.jsx(chunkZGVN23J4_js.Avatar, { tone: active ? "violet" : "slate", initials }),
|
|
2316
2332
|
trailing: agent.activePromptVersion > 0 ? /* @__PURE__ */ jsxRuntime.jsxs(chunkBHOT22QL_js.Badge, { color: "emerald", children: [
|
|
2317
2333
|
"v",
|
|
2318
2334
|
agent.activePromptVersion
|
|
@@ -2354,7 +2370,7 @@ function AgentsWorkspacePageView({
|
|
|
2354
2370
|
},
|
|
2355
2371
|
String(selectedAgent.agentId ?? selectedAgent.id ?? "")
|
|
2356
2372
|
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
2357
|
-
|
|
2373
|
+
chunkZGVN23J4_js.SectionCard,
|
|
2358
2374
|
{
|
|
2359
2375
|
header: {
|
|
2360
2376
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.CpuChipIcon, { className: "h-4 w-4" }),
|
|
@@ -2362,7 +2378,7 @@ function AgentsWorkspacePageView({
|
|
|
2362
2378
|
subtitle: labels.noSelectionMessage
|
|
2363
2379
|
},
|
|
2364
2380
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2365
|
-
|
|
2381
|
+
chunkZGVN23J4_js.PageEmptyState,
|
|
2366
2382
|
{
|
|
2367
2383
|
title: labels.noSelection,
|
|
2368
2384
|
message: labels.noSelectionMessage,
|
|
@@ -2397,7 +2413,7 @@ function AgentDetail({
|
|
|
2397
2413
|
}) {
|
|
2398
2414
|
const agentId = String(agent.agentId ?? agent.id ?? "");
|
|
2399
2415
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2400
|
-
|
|
2416
|
+
chunkZGVN23J4_js.SectionCard,
|
|
2401
2417
|
{
|
|
2402
2418
|
header: {
|
|
2403
2419
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.CpuChipIcon, { className: "h-4 w-4" }),
|
|
@@ -2422,15 +2438,15 @@ function AgentDetail({
|
|
|
2422
2438
|
]
|
|
2423
2439
|
}
|
|
2424
2440
|
),
|
|
2425
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2426
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
2427
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2428
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2429
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2430
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2441
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(chunkZGVN23J4_js.Tabs, { defaultValue: "general", className: "w-full", children: [
|
|
2442
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkZGVN23J4_js.TabsList, { className: "bg-white/40 dark:bg-white/[0.06]", children: [
|
|
2443
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkZGVN23J4_js.TabsTrigger, { value: "general", children: labels.generalTab }),
|
|
2444
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkZGVN23J4_js.TabsTrigger, { value: "prompt", children: labels.promptTab }),
|
|
2445
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkZGVN23J4_js.TabsTrigger, { value: "tools", children: labels.toolsTab }),
|
|
2446
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkZGVN23J4_js.TabsTrigger, { value: "model", children: labels.modelTab })
|
|
2431
2447
|
] }),
|
|
2432
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2433
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2448
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkZGVN23J4_js.TabsContent, { value: "general", className: "space-y-4 pt-4", children: /* @__PURE__ */ jsxRuntime.jsx(GeneralTab, { agent, labels, onSubmit: (input) => onUpdateAgent(agentId, input) }) }),
|
|
2449
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkZGVN23J4_js.TabsContent, { value: "prompt", className: "space-y-4 pt-4", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2434
2450
|
PromptTab,
|
|
2435
2451
|
{
|
|
2436
2452
|
agent,
|
|
@@ -2440,7 +2456,7 @@ function AgentDetail({
|
|
|
2440
2456
|
onActivate: (promptId) => onActivatePrompt(agentId, promptId)
|
|
2441
2457
|
}
|
|
2442
2458
|
) }),
|
|
2443
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2459
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkZGVN23J4_js.TabsContent, { value: "tools", className: "space-y-4 pt-4", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2444
2460
|
ToolsTab,
|
|
2445
2461
|
{
|
|
2446
2462
|
agent,
|
|
@@ -2450,7 +2466,7 @@ function AgentDetail({
|
|
|
2450
2466
|
onDetach: (toolId) => onDetachTool(agentId, toolId)
|
|
2451
2467
|
}
|
|
2452
2468
|
) }),
|
|
2453
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2469
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkZGVN23J4_js.TabsContent, { value: "model", className: "space-y-4 pt-4", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2454
2470
|
ModelTab,
|
|
2455
2471
|
{
|
|
2456
2472
|
agent,
|
|
@@ -2482,7 +2498,7 @@ function GeneralTab({
|
|
|
2482
2498
|
const initialRole = String(agent.role ?? "");
|
|
2483
2499
|
const initialStatus = String(agent.status ?? "draft");
|
|
2484
2500
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2485
|
-
|
|
2501
|
+
chunkZGVN23J4_js.SectionCard,
|
|
2486
2502
|
{
|
|
2487
2503
|
variant: "glass",
|
|
2488
2504
|
header: {
|
|
@@ -2511,10 +2527,10 @@ function GeneralTab({
|
|
|
2511
2527
|
},
|
|
2512
2528
|
className: "space-y-4",
|
|
2513
2529
|
children: [
|
|
2514
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
2515
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2530
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkZGVN23J4_js.FormGrid, { children: [
|
|
2531
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkZGVN23J4_js.FormInput, { name: "name", label: labels.name, defaultValue: initial.name, required: true }),
|
|
2516
2532
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2517
|
-
|
|
2533
|
+
chunkZGVN23J4_js.FormSelect,
|
|
2518
2534
|
{
|
|
2519
2535
|
name: "status",
|
|
2520
2536
|
label: labels.status,
|
|
@@ -2526,9 +2542,9 @@ function GeneralTab({
|
|
|
2526
2542
|
]
|
|
2527
2543
|
}
|
|
2528
2544
|
),
|
|
2529
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2545
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkZGVN23J4_js.FormInput, { name: "role", label: labels.role, placeholder: labels.rolePlaceholder, defaultValue: initialRole }),
|
|
2530
2546
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2531
|
-
|
|
2547
|
+
chunkZGVN23J4_js.FormInput,
|
|
2532
2548
|
{
|
|
2533
2549
|
name: "maxTokens",
|
|
2534
2550
|
label: labels.maxTokens,
|
|
@@ -2537,7 +2553,7 @@ function GeneralTab({
|
|
|
2537
2553
|
}
|
|
2538
2554
|
),
|
|
2539
2555
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2540
|
-
|
|
2556
|
+
chunkZGVN23J4_js.FormInput,
|
|
2541
2557
|
{
|
|
2542
2558
|
name: "temperature",
|
|
2543
2559
|
label: labels.temperature,
|
|
@@ -2549,7 +2565,7 @@ function GeneralTab({
|
|
|
2549
2565
|
}
|
|
2550
2566
|
)
|
|
2551
2567
|
] }),
|
|
2552
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2568
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkZGVN23J4_js.FormTextarea, { name: "description", label: labels.description, defaultValue: initialDescription, rows: 3 }),
|
|
2553
2569
|
/* @__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 }) })
|
|
2554
2570
|
]
|
|
2555
2571
|
}
|
|
@@ -2569,7 +2585,7 @@ function PromptTab({
|
|
|
2569
2585
|
const currentSystem = String(agent.systemPrompt ?? "");
|
|
2570
2586
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
2571
2587
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2572
|
-
|
|
2588
|
+
chunkZGVN23J4_js.SectionCard,
|
|
2573
2589
|
{
|
|
2574
2590
|
variant: "glass",
|
|
2575
2591
|
header: {
|
|
@@ -2581,7 +2597,7 @@ function PromptTab({
|
|
|
2581
2597
|
}
|
|
2582
2598
|
),
|
|
2583
2599
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2584
|
-
|
|
2600
|
+
chunkZGVN23J4_js.SectionCard,
|
|
2585
2601
|
{
|
|
2586
2602
|
variant: "glass",
|
|
2587
2603
|
header: {
|
|
@@ -2592,10 +2608,10 @@ function PromptTab({
|
|
|
2592
2608
|
/* @__PURE__ */ jsxRuntime.jsx(outline.PlusIcon, { className: "h-4 w-4" }),
|
|
2593
2609
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-1.5", children: labels.addPrompt })
|
|
2594
2610
|
] }),
|
|
2595
|
-
children: prompts.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-slate-500 dark:text-slate-400", children: labels.promptVersionsEmpty }) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
2611
|
+
children: prompts.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-slate-500 dark:text-slate-400", children: labels.promptVersionsEmpty }) : /* @__PURE__ */ jsxRuntime.jsx(chunkZGVN23J4_js.ListCard, { children: prompts.map((prompt) => {
|
|
2596
2612
|
const id = `${prompt.agentId}:${prompt.locale}:${prompt.version}`;
|
|
2597
2613
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2598
|
-
|
|
2614
|
+
chunkZGVN23J4_js.ListCardItem,
|
|
2599
2615
|
{
|
|
2600
2616
|
leading: /* @__PURE__ */ jsxRuntime.jsxs(chunkBHOT22QL_js.Badge, { color: prompt.isActive ? "emerald" : "zinc", children: [
|
|
2601
2617
|
"v",
|
|
@@ -2613,7 +2629,7 @@ function PromptTab({
|
|
|
2613
2629
|
}
|
|
2614
2630
|
),
|
|
2615
2631
|
addOpen && /* @__PURE__ */ jsxRuntime.jsx(
|
|
2616
|
-
|
|
2632
|
+
chunkZGVN23J4_js.GlassModal,
|
|
2617
2633
|
{
|
|
2618
2634
|
open: true,
|
|
2619
2635
|
onClose: () => setAddOpen(false),
|
|
@@ -2634,10 +2650,10 @@ function PromptTab({
|
|
|
2634
2650
|
});
|
|
2635
2651
|
setAddOpen(false);
|
|
2636
2652
|
},
|
|
2637
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2638
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2653
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(chunkZGVN23J4_js.FormGrid, { children: [
|
|
2654
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkZGVN23J4_js.FormSelect, { name: "locale", label: labels.promptLocale, options: LOCALE_OPTIONS2, defaultValue: "en" }),
|
|
2639
2655
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2640
|
-
|
|
2656
|
+
chunkZGVN23J4_js.FormSelect,
|
|
2641
2657
|
{
|
|
2642
2658
|
name: "isActive",
|
|
2643
2659
|
label: labels.promptIsActive,
|
|
@@ -2648,10 +2664,10 @@ function PromptTab({
|
|
|
2648
2664
|
defaultValue: "true"
|
|
2649
2665
|
}
|
|
2650
2666
|
),
|
|
2651
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2652
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2653
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2654
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2667
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkZGVN23J4_js.FormInput, { name: "reason", label: labels.promptReason }),
|
|
2668
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkZGVN23J4_js.FormTextarea, { name: "systemPrompt", label: labels.promptSystemPrompt, rows: 3 }),
|
|
2669
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkZGVN23J4_js.FormTextarea, { name: "userTemplate", label: labels.promptUserTemplate, rows: 3 }),
|
|
2670
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkZGVN23J4_js.FormTextarea, { name: "prompt", label: labels.promptText, rows: 6, required: true })
|
|
2655
2671
|
] })
|
|
2656
2672
|
}
|
|
2657
2673
|
)
|
|
@@ -2674,15 +2690,15 @@ function ToolsTab({
|
|
|
2674
2690
|
const availableTools = tools.filter((tool) => !attachedSet.has(tool.agentToolId));
|
|
2675
2691
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
2676
2692
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2677
|
-
|
|
2693
|
+
chunkZGVN23J4_js.SectionCard,
|
|
2678
2694
|
{
|
|
2679
2695
|
variant: "glass",
|
|
2680
2696
|
header: {
|
|
2681
2697
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.WrenchScrewdriverIcon, { className: "h-4 w-4" }),
|
|
2682
2698
|
title: labels.toolsAttached
|
|
2683
2699
|
},
|
|
2684
|
-
children: attachedTools.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-slate-500 dark:text-slate-400", children: labels.toolsEmpty }) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
2685
|
-
|
|
2700
|
+
children: attachedTools.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-slate-500 dark:text-slate-400", children: labels.toolsEmpty }) : /* @__PURE__ */ jsxRuntime.jsx(chunkZGVN23J4_js.ListCard, { children: attachedTools.map((tool) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2701
|
+
chunkZGVN23J4_js.ListCardItem,
|
|
2686
2702
|
{
|
|
2687
2703
|
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" }) }),
|
|
2688
2704
|
trailing: /* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Button, { type: "button", size: "sm", outline: true, onClick: () => onDetach(tool.agentToolId), children: labels.detachTool }),
|
|
@@ -2696,15 +2712,15 @@ function ToolsTab({
|
|
|
2696
2712
|
}
|
|
2697
2713
|
),
|
|
2698
2714
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2699
|
-
|
|
2715
|
+
chunkZGVN23J4_js.SectionCard,
|
|
2700
2716
|
{
|
|
2701
2717
|
variant: "glass",
|
|
2702
2718
|
header: {
|
|
2703
2719
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.WrenchScrewdriverIcon, { className: "h-4 w-4" }),
|
|
2704
2720
|
title: labels.toolsAvailable
|
|
2705
2721
|
},
|
|
2706
|
-
children: availableTools.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-slate-500 dark:text-slate-400", children: labels.toolsEmpty }) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
2707
|
-
|
|
2722
|
+
children: availableTools.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-slate-500 dark:text-slate-400", children: labels.toolsEmpty }) : /* @__PURE__ */ jsxRuntime.jsx(chunkZGVN23J4_js.ListCard, { children: availableTools.map((tool) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2723
|
+
chunkZGVN23J4_js.ListCardItem,
|
|
2708
2724
|
{
|
|
2709
2725
|
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" }) }),
|
|
2710
2726
|
trailing: /* @__PURE__ */ jsxRuntime.jsxs(chunkBHOT22QL_js.Button, { type: "button", size: "sm", color: "indigo", onClick: () => onAttach(tool.agentToolId), children: [
|
|
@@ -2745,7 +2761,7 @@ function ModelTab({
|
|
|
2745
2761
|
return matches.length > 0 ? matches : connections;
|
|
2746
2762
|
}, [selectedModel, connections]);
|
|
2747
2763
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2748
|
-
|
|
2764
|
+
chunkZGVN23J4_js.SectionCard,
|
|
2749
2765
|
{
|
|
2750
2766
|
variant: "glass",
|
|
2751
2767
|
header: {
|
|
@@ -2766,9 +2782,9 @@ function ModelTab({
|
|
|
2766
2782
|
},
|
|
2767
2783
|
className: "space-y-4",
|
|
2768
2784
|
children: [
|
|
2769
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
2785
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkZGVN23J4_js.FormGrid, { children: [
|
|
2770
2786
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2771
|
-
|
|
2787
|
+
chunkZGVN23J4_js.FormSelect,
|
|
2772
2788
|
{
|
|
2773
2789
|
label: labels.model,
|
|
2774
2790
|
value: modelId,
|
|
@@ -2777,7 +2793,7 @@ function ModelTab({
|
|
|
2777
2793
|
}
|
|
2778
2794
|
),
|
|
2779
2795
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2780
|
-
|
|
2796
|
+
chunkZGVN23J4_js.FormSelect,
|
|
2781
2797
|
{
|
|
2782
2798
|
label: labels.connection,
|
|
2783
2799
|
value: connectionId,
|
|
@@ -2979,11 +2995,9 @@ function AgentNewWizardPageView({
|
|
|
2979
2995
|
labels.wizardStep4Subtitle,
|
|
2980
2996
|
labels.wizardStep5Subtitle
|
|
2981
2997
|
];
|
|
2982
|
-
const
|
|
2998
|
+
const indicatorSteps = stepTitles.map((title, idx) => ({
|
|
2983
2999
|
id: String(idx + 1),
|
|
2984
|
-
|
|
2985
|
-
description: stepSubtitles[idx],
|
|
2986
|
-
status: idx + 1 < step ? "complete" : idx + 1 === step ? "current" : "upcoming"
|
|
3000
|
+
title
|
|
2987
3001
|
}));
|
|
2988
3002
|
function markTouched() {
|
|
2989
3003
|
if (!touched) setTouched(true);
|
|
@@ -3069,7 +3083,7 @@ function AgentNewWizardPageView({
|
|
|
3069
3083
|
}
|
|
3070
3084
|
const counter = labels.wizardStepCounter.replace("{current}", String(step)).replace("{total}", String(TOTAL_STEPS));
|
|
3071
3085
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
3072
|
-
|
|
3086
|
+
chunkZGVN23J4_js.HeroSection,
|
|
3073
3087
|
{
|
|
3074
3088
|
icon: /* @__PURE__ */ jsxRuntime.jsx(
|
|
3075
3089
|
"div",
|
|
@@ -3082,12 +3096,22 @@ function AgentNewWizardPageView({
|
|
|
3082
3096
|
label: counter,
|
|
3083
3097
|
title: labels.pageTitle,
|
|
3084
3098
|
subtitle: stepSubtitles[step - 1],
|
|
3085
|
-
gradient: activePreset.accent
|
|
3099
|
+
gradient: activePreset.accent,
|
|
3100
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
3101
|
+
chunkZGVN23J4_js.StepIndicator,
|
|
3102
|
+
{
|
|
3103
|
+
accent: "indigo",
|
|
3104
|
+
currentStep: step - 1,
|
|
3105
|
+
onStepChange: (idx) => goToStep(idx + 1),
|
|
3106
|
+
progressLabel: labels.pageTitle,
|
|
3107
|
+
steps: indicatorSteps
|
|
3108
|
+
}
|
|
3109
|
+
)
|
|
3086
3110
|
}
|
|
3087
3111
|
);
|
|
3088
3112
|
function renderStep1() {
|
|
3089
3113
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3090
|
-
|
|
3114
|
+
chunkZGVN23J4_js.SectionCard,
|
|
3091
3115
|
{
|
|
3092
3116
|
variant: "glass",
|
|
3093
3117
|
header: {
|
|
@@ -3103,7 +3127,7 @@ function AgentNewWizardPageView({
|
|
|
3103
3127
|
children: AGENT_PRESETS.map((preset) => {
|
|
3104
3128
|
const selected = preset.id === presetId;
|
|
3105
3129
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3106
|
-
|
|
3130
|
+
chunkZGVN23J4_js.FilterTileButton,
|
|
3107
3131
|
{
|
|
3108
3132
|
isActive: selected,
|
|
3109
3133
|
color: preset.tileColor,
|
|
@@ -3122,7 +3146,7 @@ function AgentNewWizardPageView({
|
|
|
3122
3146
|
}
|
|
3123
3147
|
function renderStep2() {
|
|
3124
3148
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3125
|
-
|
|
3149
|
+
chunkZGVN23J4_js.SectionCard,
|
|
3126
3150
|
{
|
|
3127
3151
|
variant: "glass",
|
|
3128
3152
|
header: {
|
|
@@ -3150,9 +3174,9 @@ function AgentNewWizardPageView({
|
|
|
3150
3174
|
e
|
|
3151
3175
|
)) })
|
|
3152
3176
|
] }),
|
|
3153
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
3177
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkZGVN23J4_js.FormGrid, { children: [
|
|
3154
3178
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3155
|
-
|
|
3179
|
+
chunkZGVN23J4_js.FormInput,
|
|
3156
3180
|
{
|
|
3157
3181
|
label: labels.name,
|
|
3158
3182
|
value: name,
|
|
@@ -3165,7 +3189,7 @@ function AgentNewWizardPageView({
|
|
|
3165
3189
|
}
|
|
3166
3190
|
),
|
|
3167
3191
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3168
|
-
|
|
3192
|
+
chunkZGVN23J4_js.FormInput,
|
|
3169
3193
|
{
|
|
3170
3194
|
label: labels.role,
|
|
3171
3195
|
value: role,
|
|
@@ -3178,7 +3202,7 @@ function AgentNewWizardPageView({
|
|
|
3178
3202
|
)
|
|
3179
3203
|
] }),
|
|
3180
3204
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3181
|
-
|
|
3205
|
+
chunkZGVN23J4_js.FormTextarea,
|
|
3182
3206
|
{
|
|
3183
3207
|
label: labels.descriptionLabel,
|
|
3184
3208
|
value: description,
|
|
@@ -3196,7 +3220,7 @@ function AgentNewWizardPageView({
|
|
|
3196
3220
|
}
|
|
3197
3221
|
function renderStep3() {
|
|
3198
3222
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3199
|
-
|
|
3223
|
+
chunkZGVN23J4_js.SectionCard,
|
|
3200
3224
|
{
|
|
3201
3225
|
variant: "glass",
|
|
3202
3226
|
header: {
|
|
@@ -3204,9 +3228,9 @@ function AgentNewWizardPageView({
|
|
|
3204
3228
|
subtitle: labels.connectionPickPrompt
|
|
3205
3229
|
},
|
|
3206
3230
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
3207
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
3231
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkZGVN23J4_js.FormGrid, { children: [
|
|
3208
3232
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3209
|
-
|
|
3233
|
+
chunkZGVN23J4_js.FormSelect,
|
|
3210
3234
|
{
|
|
3211
3235
|
label: labels.connectionLabel,
|
|
3212
3236
|
value: connectionId,
|
|
@@ -3219,7 +3243,7 @@ function AgentNewWizardPageView({
|
|
|
3219
3243
|
}
|
|
3220
3244
|
),
|
|
3221
3245
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3222
|
-
|
|
3246
|
+
chunkZGVN23J4_js.FormSelect,
|
|
3223
3247
|
{
|
|
3224
3248
|
label: labels.frameworkLabel,
|
|
3225
3249
|
value: framework,
|
|
@@ -3231,7 +3255,7 @@ function AgentNewWizardPageView({
|
|
|
3231
3255
|
}
|
|
3232
3256
|
),
|
|
3233
3257
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3234
|
-
|
|
3258
|
+
chunkZGVN23J4_js.FormSelect,
|
|
3235
3259
|
{
|
|
3236
3260
|
label: labels.model,
|
|
3237
3261
|
value: modelId,
|
|
@@ -3244,7 +3268,7 @@ function AgentNewWizardPageView({
|
|
|
3244
3268
|
)
|
|
3245
3269
|
] }),
|
|
3246
3270
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3247
|
-
|
|
3271
|
+
chunkZGVN23J4_js.FormTextarea,
|
|
3248
3272
|
{
|
|
3249
3273
|
label: labels.outputSchemaLabel,
|
|
3250
3274
|
value: outputSchema,
|
|
@@ -3263,7 +3287,7 @@ function AgentNewWizardPageView({
|
|
|
3263
3287
|
function renderStep4() {
|
|
3264
3288
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
3265
3289
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3266
|
-
|
|
3290
|
+
chunkZGVN23J4_js.SectionCard,
|
|
3267
3291
|
{
|
|
3268
3292
|
variant: "glass",
|
|
3269
3293
|
header: {
|
|
@@ -3423,7 +3447,7 @@ function AgentNewWizardPageView({
|
|
|
3423
3447
|
}
|
|
3424
3448
|
),
|
|
3425
3449
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3426
|
-
|
|
3450
|
+
chunkZGVN23J4_js.SectionCard,
|
|
3427
3451
|
{
|
|
3428
3452
|
variant: "glass",
|
|
3429
3453
|
header: {
|
|
@@ -3466,7 +3490,7 @@ function AgentNewWizardPageView({
|
|
|
3466
3490
|
}) })
|
|
3467
3491
|
] }),
|
|
3468
3492
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3469
|
-
|
|
3493
|
+
chunkZGVN23J4_js.FormInput,
|
|
3470
3494
|
{
|
|
3471
3495
|
label: labels.tagsLabel,
|
|
3472
3496
|
value: tagsInput,
|
|
@@ -3487,7 +3511,7 @@ function AgentNewWizardPageView({
|
|
|
3487
3511
|
const connectionLabel = connectionId ? connections.find((c) => c.id === connectionId)?.name ?? labels.connectionInline : labels.connectionInline;
|
|
3488
3512
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
3489
3513
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3490
|
-
|
|
3514
|
+
chunkZGVN23J4_js.SectionCard,
|
|
3491
3515
|
{
|
|
3492
3516
|
variant: "glass",
|
|
3493
3517
|
header: {
|
|
@@ -3502,7 +3526,7 @@ function AgentNewWizardPageView({
|
|
|
3502
3526
|
}
|
|
3503
3527
|
),
|
|
3504
3528
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3505
|
-
|
|
3529
|
+
chunkZGVN23J4_js.SectionCard,
|
|
3506
3530
|
{
|
|
3507
3531
|
variant: "glass",
|
|
3508
3532
|
header: {
|
|
@@ -3531,7 +3555,7 @@ function AgentNewWizardPageView({
|
|
|
3531
3555
|
}
|
|
3532
3556
|
),
|
|
3533
3557
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3534
|
-
|
|
3558
|
+
chunkZGVN23J4_js.SectionCard,
|
|
3535
3559
|
{
|
|
3536
3560
|
variant: "glass",
|
|
3537
3561
|
header: {
|
|
@@ -3551,7 +3575,7 @@ function AgentNewWizardPageView({
|
|
|
3551
3575
|
}
|
|
3552
3576
|
),
|
|
3553
3577
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
3554
|
-
|
|
3578
|
+
chunkZGVN23J4_js.SectionCard,
|
|
3555
3579
|
{
|
|
3556
3580
|
variant: "glass",
|
|
3557
3581
|
header: {
|
|
@@ -3595,22 +3619,10 @@ function AgentNewWizardPageView({
|
|
|
3595
3619
|
if (step < TOTAL_STEPS) goNext();
|
|
3596
3620
|
else void submit();
|
|
3597
3621
|
},
|
|
3598
|
-
className: "space-y-
|
|
3622
|
+
className: "space-y-4",
|
|
3599
3623
|
children: [
|
|
3600
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3601
|
-
|
|
3602
|
-
{
|
|
3603
|
-
steps: timelineSteps,
|
|
3604
|
-
progressLabel: labels.pageTitle,
|
|
3605
|
-
onStepClick: (idx) => {
|
|
3606
|
-
goToStep(idx + 1);
|
|
3607
|
-
}
|
|
3608
|
-
}
|
|
3609
|
-
),
|
|
3610
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "w-full space-y-5", children: [
|
|
3611
|
-
stepBody,
|
|
3612
|
-
footer
|
|
3613
|
-
] })
|
|
3624
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "liquid-surface rounded-2xl p-5 sm:p-8", children: stepBody }),
|
|
3625
|
+
footer
|
|
3614
3626
|
]
|
|
3615
3627
|
}
|
|
3616
3628
|
);
|
|
@@ -3696,14 +3708,24 @@ function DatasourceNewWizardPageView({
|
|
|
3696
3708
|
const [readOnly, setReadOnly] = react.useState(true);
|
|
3697
3709
|
const [maxPoolSize, setMaxPoolSize] = react.useState("5");
|
|
3698
3710
|
const [timeoutMs, setTimeoutMs] = react.useState("5000");
|
|
3699
|
-
const [
|
|
3700
|
-
const [
|
|
3711
|
+
const [allowedTablesItems, setAllowedTablesItems] = react.useState([]);
|
|
3712
|
+
const [allowedTablesSelected, setAllowedTablesSelected] = react.useState([]);
|
|
3713
|
+
const [blockedColumnsItems, setBlockedColumnsItems] = react.useState([]);
|
|
3714
|
+
const [blockedColumnsSelected, setBlockedColumnsSelected] = react.useState([]);
|
|
3701
3715
|
const [maskPii, setMaskPii] = react.useState(false);
|
|
3716
|
+
const allowedTablesStyle = {
|
|
3717
|
+
bg: "bg-amber-500/15",
|
|
3718
|
+
text: "text-amber-700 dark:text-amber-300"
|
|
3719
|
+
};
|
|
3720
|
+
const blockedColumnsStyle = {
|
|
3721
|
+
bg: "bg-rose-500/15",
|
|
3722
|
+
text: "text-rose-700 dark:text-rose-300"
|
|
3723
|
+
};
|
|
3702
3724
|
const [submitting, setSubmitting] = react.useState(false);
|
|
3703
3725
|
const [touched, setTouched] = react.useState(false);
|
|
3704
3726
|
const [testStatus, setTestStatus] = react.useState("idle");
|
|
3705
|
-
const dialectOption = react.useMemo(() => dialect ?
|
|
3706
|
-
const category = react.useMemo(() => dialect ?
|
|
3727
|
+
const dialectOption = react.useMemo(() => dialect ? chunk62BD4WLW_js.findDialect(dialect) : null, [dialect]);
|
|
3728
|
+
const category = react.useMemo(() => dialect ? chunk62BD4WLW_js.findCategory(dialect) : null, [dialect]);
|
|
3707
3729
|
react.useEffect(() => {
|
|
3708
3730
|
if (dialectOption?.defaultPort && (port === "" || /^[0-9]+$/.test(port))) {
|
|
3709
3731
|
setPort(String(dialectOption.defaultPort));
|
|
@@ -3767,10 +3789,9 @@ function DatasourceNewWizardPageView({
|
|
|
3767
3789
|
if (Number.isFinite(pool) && pool > 0) payload.maxPoolSize = pool;
|
|
3768
3790
|
const timeout = Number(timeoutMs);
|
|
3769
3791
|
if (Number.isFinite(timeout) && timeout > 0) payload.timeoutMs = timeout;
|
|
3770
|
-
|
|
3771
|
-
if (
|
|
3772
|
-
|
|
3773
|
-
if (blocked.length > 0) payload.blockedColumns = blocked;
|
|
3792
|
+
if (allowedTablesSelected.length > 0) payload.allowedTables = [...allowedTablesSelected];
|
|
3793
|
+
if (blockedColumnsSelected.length > 0) payload.blockedColumns = [...blockedColumnsSelected];
|
|
3794
|
+
if (maskPii) payload.maskPii = true;
|
|
3774
3795
|
return payload;
|
|
3775
3796
|
}
|
|
3776
3797
|
async function handleTestConnection() {
|
|
@@ -3787,11 +3808,7 @@ function DatasourceNewWizardPageView({
|
|
|
3787
3808
|
async function submit() {
|
|
3788
3809
|
setSubmitting(true);
|
|
3789
3810
|
try {
|
|
3790
|
-
|
|
3791
|
-
...buildPayload(),
|
|
3792
|
-
...maskPii ? { maskPii: true } : {}
|
|
3793
|
-
};
|
|
3794
|
-
await onSubmit(payload);
|
|
3811
|
+
await onSubmit(buildPayload());
|
|
3795
3812
|
} finally {
|
|
3796
3813
|
setSubmitting(false);
|
|
3797
3814
|
}
|
|
@@ -3827,29 +3844,37 @@ function DatasourceNewWizardPageView({
|
|
|
3827
3844
|
labels.wizardStep3Subtitle,
|
|
3828
3845
|
labels.wizardStep4Subtitle
|
|
3829
3846
|
];
|
|
3830
|
-
const
|
|
3847
|
+
const indicatorSteps = stepTitles.map((title, idx) => ({
|
|
3831
3848
|
id: String(idx + 1),
|
|
3832
|
-
|
|
3833
|
-
description: stepSubtitles[idx],
|
|
3834
|
-
status: idx + 1 < step ? "complete" : idx + 1 === step ? "current" : "upcoming"
|
|
3849
|
+
title
|
|
3835
3850
|
}));
|
|
3836
3851
|
const counter = labels.wizardStepCounter.replace("{current}", String(step)).replace("{total}", String(TOTAL_STEPS2));
|
|
3837
3852
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
3838
|
-
|
|
3853
|
+
chunkZGVN23J4_js.HeroSection,
|
|
3839
3854
|
{
|
|
3840
3855
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.CircleStackIcon, { className: "h-5 w-5" }),
|
|
3841
3856
|
label: counter,
|
|
3842
3857
|
title: labels.pageTitle,
|
|
3843
3858
|
subtitle: stepSubtitles[step - 1] ?? labels.pageSubtitle,
|
|
3844
|
-
gradient: category?.gradient ?? "from-amber-500 to-orange-600"
|
|
3859
|
+
gradient: category?.gradient ?? "from-amber-500 to-orange-600",
|
|
3860
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
3861
|
+
chunkZGVN23J4_js.StepIndicator,
|
|
3862
|
+
{
|
|
3863
|
+
accent: "indigo",
|
|
3864
|
+
currentStep: step - 1,
|
|
3865
|
+
onStepChange: (idx) => goToStep(idx + 1),
|
|
3866
|
+
progressLabel: labels.pageTitle,
|
|
3867
|
+
steps: indicatorSteps
|
|
3868
|
+
}
|
|
3869
|
+
)
|
|
3845
3870
|
}
|
|
3846
3871
|
);
|
|
3847
3872
|
function renderStep1() {
|
|
3848
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-6", children:
|
|
3873
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-6", children: chunk62BD4WLW_js.DIALECT_CATEGORIES.map((cat) => {
|
|
3849
3874
|
const color = CATEGORY_COLOR[cat.id] ?? "slate";
|
|
3850
3875
|
const categoryLabel = labels[cat.labelKey] ?? cat.id;
|
|
3851
3876
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3852
|
-
|
|
3877
|
+
chunkZGVN23J4_js.SectionCard,
|
|
3853
3878
|
{
|
|
3854
3879
|
variant: "glass",
|
|
3855
3880
|
header: {
|
|
@@ -3867,7 +3892,7 @@ function DatasourceNewWizardPageView({
|
|
|
3867
3892
|
const selected = opt.value === dialect;
|
|
3868
3893
|
const logoSrc = DIALECT_LOGO_SRC[opt.value.toLowerCase()];
|
|
3869
3894
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3870
|
-
|
|
3895
|
+
chunkZGVN23J4_js.FilterTileButton,
|
|
3871
3896
|
{
|
|
3872
3897
|
isActive: selected,
|
|
3873
3898
|
color,
|
|
@@ -3895,7 +3920,7 @@ function DatasourceNewWizardPageView({
|
|
|
3895
3920
|
case "standard":
|
|
3896
3921
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
3897
3922
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3898
|
-
|
|
3923
|
+
chunkZGVN23J4_js.FormInput,
|
|
3899
3924
|
{
|
|
3900
3925
|
label: labels.fieldHost,
|
|
3901
3926
|
value: host,
|
|
@@ -3908,7 +3933,7 @@ function DatasourceNewWizardPageView({
|
|
|
3908
3933
|
}
|
|
3909
3934
|
),
|
|
3910
3935
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3911
|
-
|
|
3936
|
+
chunkZGVN23J4_js.FormInput,
|
|
3912
3937
|
{
|
|
3913
3938
|
label: labels.fieldPort,
|
|
3914
3939
|
type: "number",
|
|
@@ -3920,7 +3945,7 @@ function DatasourceNewWizardPageView({
|
|
|
3920
3945
|
}
|
|
3921
3946
|
),
|
|
3922
3947
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3923
|
-
|
|
3948
|
+
chunkZGVN23J4_js.FormInput,
|
|
3924
3949
|
{
|
|
3925
3950
|
label: labels.fieldDatabase,
|
|
3926
3951
|
value: database,
|
|
@@ -3933,7 +3958,7 @@ function DatasourceNewWizardPageView({
|
|
|
3933
3958
|
}
|
|
3934
3959
|
),
|
|
3935
3960
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3936
|
-
|
|
3961
|
+
chunkZGVN23J4_js.FormInput,
|
|
3937
3962
|
{
|
|
3938
3963
|
label: labels.fieldUsername,
|
|
3939
3964
|
value: username,
|
|
@@ -3945,7 +3970,7 @@ function DatasourceNewWizardPageView({
|
|
|
3945
3970
|
}
|
|
3946
3971
|
),
|
|
3947
3972
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3948
|
-
|
|
3973
|
+
chunkZGVN23J4_js.FormInput,
|
|
3949
3974
|
{
|
|
3950
3975
|
label: labels.fieldPassword,
|
|
3951
3976
|
type: "password",
|
|
@@ -3958,7 +3983,7 @@ function DatasourceNewWizardPageView({
|
|
|
3958
3983
|
}
|
|
3959
3984
|
),
|
|
3960
3985
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3961
|
-
|
|
3986
|
+
chunkZGVN23J4_js.FormInput,
|
|
3962
3987
|
{
|
|
3963
3988
|
label: labels.fieldSchema,
|
|
3964
3989
|
value: schema,
|
|
@@ -3972,7 +3997,7 @@ function DatasourceNewWizardPageView({
|
|
|
3972
3997
|
] });
|
|
3973
3998
|
case "connection-string":
|
|
3974
3999
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "col-span-full", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
3975
|
-
|
|
4000
|
+
chunkZGVN23J4_js.FormInput,
|
|
3976
4001
|
{
|
|
3977
4002
|
label: labels.fieldConnectionString,
|
|
3978
4003
|
value: connectionString,
|
|
@@ -3987,7 +4012,7 @@ function DatasourceNewWizardPageView({
|
|
|
3987
4012
|
case "cloud-bigquery":
|
|
3988
4013
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
3989
4014
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3990
|
-
|
|
4015
|
+
chunkZGVN23J4_js.FormInput,
|
|
3991
4016
|
{
|
|
3992
4017
|
label: labels.fieldProjectId,
|
|
3993
4018
|
value: projectId,
|
|
@@ -4000,7 +4025,7 @@ function DatasourceNewWizardPageView({
|
|
|
4000
4025
|
}
|
|
4001
4026
|
),
|
|
4002
4027
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4003
|
-
|
|
4028
|
+
chunkZGVN23J4_js.FormInput,
|
|
4004
4029
|
{
|
|
4005
4030
|
label: labels.fieldDataset,
|
|
4006
4031
|
value: dataset,
|
|
@@ -4013,7 +4038,7 @@ function DatasourceNewWizardPageView({
|
|
|
4013
4038
|
}
|
|
4014
4039
|
),
|
|
4015
4040
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "col-span-full", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
4016
|
-
|
|
4041
|
+
chunkZGVN23J4_js.FormInput,
|
|
4017
4042
|
{
|
|
4018
4043
|
label: labels.fieldKeyFile,
|
|
4019
4044
|
value: keyFile,
|
|
@@ -4028,7 +4053,7 @@ function DatasourceNewWizardPageView({
|
|
|
4028
4053
|
case "cloud-snowflake":
|
|
4029
4054
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
4030
4055
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4031
|
-
|
|
4056
|
+
chunkZGVN23J4_js.FormInput,
|
|
4032
4057
|
{
|
|
4033
4058
|
label: labels.fieldAccount,
|
|
4034
4059
|
value: account,
|
|
@@ -4041,7 +4066,7 @@ function DatasourceNewWizardPageView({
|
|
|
4041
4066
|
}
|
|
4042
4067
|
),
|
|
4043
4068
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4044
|
-
|
|
4069
|
+
chunkZGVN23J4_js.FormInput,
|
|
4045
4070
|
{
|
|
4046
4071
|
label: labels.fieldWarehouse,
|
|
4047
4072
|
value: warehouseField,
|
|
@@ -4054,7 +4079,7 @@ function DatasourceNewWizardPageView({
|
|
|
4054
4079
|
}
|
|
4055
4080
|
),
|
|
4056
4081
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4057
|
-
|
|
4082
|
+
chunkZGVN23J4_js.FormInput,
|
|
4058
4083
|
{
|
|
4059
4084
|
label: labels.fieldDatabase,
|
|
4060
4085
|
value: database,
|
|
@@ -4067,7 +4092,7 @@ function DatasourceNewWizardPageView({
|
|
|
4067
4092
|
}
|
|
4068
4093
|
),
|
|
4069
4094
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4070
|
-
|
|
4095
|
+
chunkZGVN23J4_js.FormInput,
|
|
4071
4096
|
{
|
|
4072
4097
|
label: labels.fieldUsername,
|
|
4073
4098
|
value: username,
|
|
@@ -4080,7 +4105,7 @@ function DatasourceNewWizardPageView({
|
|
|
4080
4105
|
}
|
|
4081
4106
|
),
|
|
4082
4107
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4083
|
-
|
|
4108
|
+
chunkZGVN23J4_js.FormInput,
|
|
4084
4109
|
{
|
|
4085
4110
|
label: labels.fieldPassword,
|
|
4086
4111
|
type: "password",
|
|
@@ -4093,7 +4118,7 @@ function DatasourceNewWizardPageView({
|
|
|
4093
4118
|
}
|
|
4094
4119
|
),
|
|
4095
4120
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4096
|
-
|
|
4121
|
+
chunkZGVN23J4_js.FormInput,
|
|
4097
4122
|
{
|
|
4098
4123
|
label: labels.fieldSchema,
|
|
4099
4124
|
value: schema,
|
|
@@ -4108,7 +4133,7 @@ function DatasourceNewWizardPageView({
|
|
|
4108
4133
|
case "cloud-key":
|
|
4109
4134
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
4110
4135
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4111
|
-
|
|
4136
|
+
chunkZGVN23J4_js.FormInput,
|
|
4112
4137
|
{
|
|
4113
4138
|
label: labels.fieldRegion,
|
|
4114
4139
|
value: region,
|
|
@@ -4121,7 +4146,7 @@ function DatasourceNewWizardPageView({
|
|
|
4121
4146
|
}
|
|
4122
4147
|
),
|
|
4123
4148
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4124
|
-
|
|
4149
|
+
chunkZGVN23J4_js.FormInput,
|
|
4125
4150
|
{
|
|
4126
4151
|
label: labels.fieldToken,
|
|
4127
4152
|
type: "password",
|
|
@@ -4135,7 +4160,7 @@ function DatasourceNewWizardPageView({
|
|
|
4135
4160
|
}
|
|
4136
4161
|
),
|
|
4137
4162
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4138
|
-
|
|
4163
|
+
chunkZGVN23J4_js.FormInput,
|
|
4139
4164
|
{
|
|
4140
4165
|
label: labels.fieldBucket,
|
|
4141
4166
|
value: bucket,
|
|
@@ -4150,7 +4175,7 @@ function DatasourceNewWizardPageView({
|
|
|
4150
4175
|
case "vector-key":
|
|
4151
4176
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
4152
4177
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4153
|
-
|
|
4178
|
+
chunkZGVN23J4_js.FormInput,
|
|
4154
4179
|
{
|
|
4155
4180
|
label: labels.fieldApiKey,
|
|
4156
4181
|
type: "password",
|
|
@@ -4164,7 +4189,7 @@ function DatasourceNewWizardPageView({
|
|
|
4164
4189
|
}
|
|
4165
4190
|
),
|
|
4166
4191
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4167
|
-
|
|
4192
|
+
chunkZGVN23J4_js.FormInput,
|
|
4168
4193
|
{
|
|
4169
4194
|
label: labels.fieldEnvironment,
|
|
4170
4195
|
value: environment,
|
|
@@ -4177,7 +4202,7 @@ function DatasourceNewWizardPageView({
|
|
|
4177
4202
|
}
|
|
4178
4203
|
),
|
|
4179
4204
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4180
|
-
|
|
4205
|
+
chunkZGVN23J4_js.FormInput,
|
|
4181
4206
|
{
|
|
4182
4207
|
label: labels.fieldIndex,
|
|
4183
4208
|
value: index,
|
|
@@ -4193,13 +4218,13 @@ function DatasourceNewWizardPageView({
|
|
|
4193
4218
|
}
|
|
4194
4219
|
function renderStep2() {
|
|
4195
4220
|
if (!dialectOption) {
|
|
4196
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
4221
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(chunkZGVN23J4_js.SectionCard, { variant: "glass", header: { title: labels.wizardStep1Title }, children: [
|
|
4197
4222
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-slate-700 dark:text-slate-200", children: labels.wizardStep1Subtitle }),
|
|
4198
4223
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-3", children: /* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Button, { type: "button", outline: true, onClick: () => goToStep(1), children: labels.wizardBack }) })
|
|
4199
4224
|
] });
|
|
4200
4225
|
}
|
|
4201
4226
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
4202
|
-
|
|
4227
|
+
chunkZGVN23J4_js.SectionCard,
|
|
4203
4228
|
{
|
|
4204
4229
|
variant: "glass",
|
|
4205
4230
|
header: {
|
|
@@ -4210,7 +4235,7 @@ function DatasourceNewWizardPageView({
|
|
|
4210
4235
|
},
|
|
4211
4236
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
4212
4237
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4213
|
-
|
|
4238
|
+
chunkZGVN23J4_js.FormInput,
|
|
4214
4239
|
{
|
|
4215
4240
|
label: labels.fieldName,
|
|
4216
4241
|
value: name,
|
|
@@ -4222,10 +4247,10 @@ function DatasourceNewWizardPageView({
|
|
|
4222
4247
|
required: true
|
|
4223
4248
|
}
|
|
4224
4249
|
),
|
|
4225
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4250
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkZGVN23J4_js.FormGrid, { children: renderConnectionFields() }),
|
|
4226
4251
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap items-center gap-6 pt-1", children: [
|
|
4227
4252
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4228
|
-
|
|
4253
|
+
chunkZGVN23J4_js.FormToggle,
|
|
4229
4254
|
{
|
|
4230
4255
|
checked: ssl,
|
|
4231
4256
|
onChange: (v) => {
|
|
@@ -4237,7 +4262,7 @@ function DatasourceNewWizardPageView({
|
|
|
4237
4262
|
}
|
|
4238
4263
|
),
|
|
4239
4264
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4240
|
-
|
|
4265
|
+
chunkZGVN23J4_js.FormToggle,
|
|
4241
4266
|
{
|
|
4242
4267
|
checked: readOnly,
|
|
4243
4268
|
onChange: (v) => {
|
|
@@ -4259,13 +4284,13 @@ function DatasourceNewWizardPageView({
|
|
|
4259
4284
|
onClick: () => void handleTestConnection(),
|
|
4260
4285
|
disabled: testStatus === "testing",
|
|
4261
4286
|
children: testStatus === "testing" ? /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex items-center gap-2", children: [
|
|
4262
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4287
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkZGVN23J4_js.Spinner, { size: "xs" }),
|
|
4263
4288
|
labels.testing
|
|
4264
4289
|
] }) : labels.testConnection
|
|
4265
4290
|
}
|
|
4266
4291
|
),
|
|
4267
|
-
testStatus === "success" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
4268
|
-
testStatus === "failed" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
4292
|
+
testStatus === "success" && /* @__PURE__ */ jsxRuntime.jsx(chunkZGVN23J4_js.StatusBadge, { status: "success", label: labels.connectionSuccess }),
|
|
4293
|
+
testStatus === "failed" && /* @__PURE__ */ jsxRuntime.jsx(chunkZGVN23J4_js.StatusBadge, { status: "error", label: labels.connectionFailed })
|
|
4269
4294
|
] })
|
|
4270
4295
|
] })
|
|
4271
4296
|
}
|
|
@@ -4273,7 +4298,7 @@ function DatasourceNewWizardPageView({
|
|
|
4273
4298
|
}
|
|
4274
4299
|
function renderStep3() {
|
|
4275
4300
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
4276
|
-
|
|
4301
|
+
chunkZGVN23J4_js.SectionCard,
|
|
4277
4302
|
{
|
|
4278
4303
|
variant: "glass",
|
|
4279
4304
|
header: {
|
|
@@ -4281,9 +4306,9 @@ function DatasourceNewWizardPageView({
|
|
|
4281
4306
|
subtitle: labels.governanceSectionSubtitle
|
|
4282
4307
|
},
|
|
4283
4308
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
4284
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
4309
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkZGVN23J4_js.FormGrid, { children: [
|
|
4285
4310
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4286
|
-
|
|
4311
|
+
chunkZGVN23J4_js.FormInput,
|
|
4287
4312
|
{
|
|
4288
4313
|
label: labels.fieldMaxPoolSize,
|
|
4289
4314
|
type: "number",
|
|
@@ -4298,7 +4323,7 @@ function DatasourceNewWizardPageView({
|
|
|
4298
4323
|
}
|
|
4299
4324
|
),
|
|
4300
4325
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4301
|
-
|
|
4326
|
+
chunkZGVN23J4_js.FormInput,
|
|
4302
4327
|
{
|
|
4303
4328
|
label: labels.fieldTimeoutMs,
|
|
4304
4329
|
type: "number",
|
|
@@ -4312,34 +4337,56 @@ function DatasourceNewWizardPageView({
|
|
|
4312
4337
|
}
|
|
4313
4338
|
)
|
|
4314
4339
|
] }),
|
|
4340
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-1", children: [
|
|
4341
|
+
/* @__PURE__ */ jsxRuntime.jsx("label", { className: "block text-xs font-medium text-gray-500 dark:text-gray-400", children: labels.fieldAllowedTables }),
|
|
4342
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4343
|
+
chunkZGVN23J4_js.ChipPicker,
|
|
4344
|
+
{
|
|
4345
|
+
items: allowedTablesItems,
|
|
4346
|
+
selectedIds: allowedTablesSelected,
|
|
4347
|
+
onChange: (ids) => {
|
|
4348
|
+
setAllowedTablesSelected(ids);
|
|
4349
|
+
markTouched();
|
|
4350
|
+
},
|
|
4351
|
+
onItemsChange: (items) => {
|
|
4352
|
+
setAllowedTablesItems(items);
|
|
4353
|
+
markTouched();
|
|
4354
|
+
},
|
|
4355
|
+
allowCustom: true,
|
|
4356
|
+
unselectedStyle: allowedTablesStyle,
|
|
4357
|
+
showActions: false,
|
|
4358
|
+
addPlaceholder: labels.fieldAllowedTablesPlaceholder,
|
|
4359
|
+
addAriaLabel: labels.fieldAllowedTables
|
|
4360
|
+
}
|
|
4361
|
+
),
|
|
4362
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-[11px] text-slate-500 dark:text-slate-400", children: labels.fieldAllowedTablesHint })
|
|
4363
|
+
] }),
|
|
4364
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-1", children: [
|
|
4365
|
+
/* @__PURE__ */ jsxRuntime.jsx("label", { className: "block text-xs font-medium text-gray-500 dark:text-gray-400", children: labels.fieldBlockedColumns }),
|
|
4366
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4367
|
+
chunkZGVN23J4_js.ChipPicker,
|
|
4368
|
+
{
|
|
4369
|
+
items: blockedColumnsItems,
|
|
4370
|
+
selectedIds: blockedColumnsSelected,
|
|
4371
|
+
onChange: (ids) => {
|
|
4372
|
+
setBlockedColumnsSelected(ids);
|
|
4373
|
+
markTouched();
|
|
4374
|
+
},
|
|
4375
|
+
onItemsChange: (items) => {
|
|
4376
|
+
setBlockedColumnsItems(items);
|
|
4377
|
+
markTouched();
|
|
4378
|
+
},
|
|
4379
|
+
allowCustom: true,
|
|
4380
|
+
unselectedStyle: blockedColumnsStyle,
|
|
4381
|
+
showActions: false,
|
|
4382
|
+
addPlaceholder: labels.fieldBlockedColumnsPlaceholder,
|
|
4383
|
+
addAriaLabel: labels.fieldBlockedColumns
|
|
4384
|
+
}
|
|
4385
|
+
),
|
|
4386
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-[11px] text-slate-500 dark:text-slate-400", children: labels.fieldBlockedColumnsHint })
|
|
4387
|
+
] }),
|
|
4315
4388
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4316
|
-
|
|
4317
|
-
{
|
|
4318
|
-
label: labels.fieldAllowedTables,
|
|
4319
|
-
value: allowedTables,
|
|
4320
|
-
onValueChange: (v) => {
|
|
4321
|
-
setAllowedTables(v);
|
|
4322
|
-
markTouched();
|
|
4323
|
-
},
|
|
4324
|
-
placeholder: labels.fieldAllowedTablesPlaceholder,
|
|
4325
|
-
hint: labels.fieldAllowedTablesHint
|
|
4326
|
-
}
|
|
4327
|
-
),
|
|
4328
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4329
|
-
chunkLVR4SR65_js.FormInput,
|
|
4330
|
-
{
|
|
4331
|
-
label: labels.fieldBlockedColumns,
|
|
4332
|
-
value: blockedColumns,
|
|
4333
|
-
onValueChange: (v) => {
|
|
4334
|
-
setBlockedColumns(v);
|
|
4335
|
-
markTouched();
|
|
4336
|
-
},
|
|
4337
|
-
placeholder: labels.fieldBlockedColumnsPlaceholder,
|
|
4338
|
-
hint: labels.fieldBlockedColumnsHint
|
|
4339
|
-
}
|
|
4340
|
-
),
|
|
4341
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4342
|
-
chunkLVR4SR65_js.FormCheckbox,
|
|
4389
|
+
chunkZGVN23J4_js.FormCheckbox,
|
|
4343
4390
|
{
|
|
4344
4391
|
checked: maskPii,
|
|
4345
4392
|
onChange: (v) => {
|
|
@@ -4357,11 +4404,11 @@ function DatasourceNewWizardPageView({
|
|
|
4357
4404
|
function renderStep4() {
|
|
4358
4405
|
const categoryLabel = category ? labels[category.labelKey] ?? category.id : labels.reviewNoneValue;
|
|
4359
4406
|
const dialectLabel = dialectOption?.label ?? labels.reviewNoneValue;
|
|
4360
|
-
const allowed =
|
|
4361
|
-
const blocked =
|
|
4407
|
+
const allowed = allowedTablesSelected;
|
|
4408
|
+
const blocked = blockedColumnsSelected;
|
|
4362
4409
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
4363
4410
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4364
|
-
|
|
4411
|
+
chunkZGVN23J4_js.SectionCard,
|
|
4365
4412
|
{
|
|
4366
4413
|
variant: "glass",
|
|
4367
4414
|
header: {
|
|
@@ -4379,7 +4426,7 @@ function DatasourceNewWizardPageView({
|
|
|
4379
4426
|
}
|
|
4380
4427
|
),
|
|
4381
4428
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4382
|
-
|
|
4429
|
+
chunkZGVN23J4_js.SectionCard,
|
|
4383
4430
|
{
|
|
4384
4431
|
variant: "glass",
|
|
4385
4432
|
header: {
|
|
@@ -4399,7 +4446,7 @@ function DatasourceNewWizardPageView({
|
|
|
4399
4446
|
}
|
|
4400
4447
|
),
|
|
4401
4448
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4402
|
-
|
|
4449
|
+
chunkZGVN23J4_js.SectionCard,
|
|
4403
4450
|
{
|
|
4404
4451
|
variant: "glass",
|
|
4405
4452
|
header: {
|
|
@@ -4450,20 +4497,10 @@ function DatasourceNewWizardPageView({
|
|
|
4450
4497
|
if (step < TOTAL_STEPS2) goNext();
|
|
4451
4498
|
else void submit();
|
|
4452
4499
|
},
|
|
4453
|
-
className: "space-y-
|
|
4500
|
+
className: "space-y-4",
|
|
4454
4501
|
children: [
|
|
4455
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4456
|
-
|
|
4457
|
-
{
|
|
4458
|
-
steps: timelineSteps,
|
|
4459
|
-
progressLabel: labels.pageTitle,
|
|
4460
|
-
onStepClick: (idx) => goToStep(idx + 1)
|
|
4461
|
-
}
|
|
4462
|
-
),
|
|
4463
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "w-full space-y-5", children: [
|
|
4464
|
-
stepBody,
|
|
4465
|
-
footer
|
|
4466
|
-
] })
|
|
4502
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "liquid-surface rounded-2xl p-5 sm:p-8", children: stepBody }),
|
|
4503
|
+
footer
|
|
4467
4504
|
]
|
|
4468
4505
|
}
|
|
4469
4506
|
);
|
|
@@ -4478,9 +4515,6 @@ function ReviewRow2({ label, value }) {
|
|
|
4478
4515
|
/* @__PURE__ */ jsxRuntime.jsx("dd", { className: "mt-0.5 truncate text-xs font-semibold text-gray-900 dark:text-white", children: value })
|
|
4479
4516
|
] });
|
|
4480
4517
|
}
|
|
4481
|
-
function splitList(raw) {
|
|
4482
|
-
return raw.split(",").map((s) => s.trim()).filter((s) => s.length > 0);
|
|
4483
|
-
}
|
|
4484
4518
|
async function simulateTest() {
|
|
4485
4519
|
await new Promise((r) => setTimeout(r, 1500));
|
|
4486
4520
|
return true;
|
|
@@ -4594,11 +4628,16 @@ function RuleNewWizardPageView({
|
|
|
4594
4628
|
const [priority, setPriority] = react.useState(50);
|
|
4595
4629
|
const [enabled, setEnabled] = react.useState(true);
|
|
4596
4630
|
const [status, setStatus] = react.useState("active");
|
|
4597
|
-
const [
|
|
4631
|
+
const [tagsItems, setTagsItems] = react.useState([]);
|
|
4632
|
+
const [tagsSelected, setTagsSelected] = react.useState([]);
|
|
4633
|
+
const tagsStyle = {
|
|
4634
|
+
bg: "bg-fuchsia-500/15",
|
|
4635
|
+
text: "text-fuchsia-700 dark:text-fuchsia-300"
|
|
4636
|
+
};
|
|
4598
4637
|
const [combinator, setCombinator] = react.useState("and");
|
|
4599
|
-
const [condition, setCondition] = react.useState(
|
|
4638
|
+
const [condition, setCondition] = react.useState(chunkH475T2N7_js.defaultRuleCondition());
|
|
4600
4639
|
const [actionTileId, setActionTileId] = react.useState("");
|
|
4601
|
-
const [action, setAction] = react.useState(
|
|
4640
|
+
const [action, setAction] = react.useState(chunkH475T2N7_js.defaultRuleAction());
|
|
4602
4641
|
const [validFromDate, setValidFromDate] = react.useState(null);
|
|
4603
4642
|
const [validFromTime, setValidFromTime] = react.useState(null);
|
|
4604
4643
|
const [validUntilDate, setValidUntilDate] = react.useState(null);
|
|
@@ -4644,49 +4683,40 @@ function RuleNewWizardPageView({
|
|
|
4644
4683
|
next.setHours(time?.hours ?? 0, time?.minutes ?? 0, 0, 0);
|
|
4645
4684
|
return next.toISOString();
|
|
4646
4685
|
}
|
|
4647
|
-
const tags = react.useMemo(
|
|
4648
|
-
() => tagsInput.split(",").map((t) => t.trim()).filter((t) => t.length > 0),
|
|
4649
|
-
[tagsInput]
|
|
4650
|
-
);
|
|
4686
|
+
const tags = react.useMemo(() => [...tagsSelected], [tagsSelected]);
|
|
4651
4687
|
function buildPayload() {
|
|
4652
4688
|
const validFrom = combineDateTime(validFromDate, validFromTime);
|
|
4653
4689
|
const validUntil = noExpiry ? null : combineDateTime(validUntilDate, validUntilTime);
|
|
4654
|
-
const conditionWithCombinator = combinator === "
|
|
4655
|
-
operator: "boolean_expression",
|
|
4656
|
-
combinator: "and",
|
|
4657
|
-
operands: [condition],
|
|
4658
|
-
// The engine ignores extra fields, so this is forward-compat.
|
|
4659
|
-
...{ notFlag: true }
|
|
4660
|
-
} : combinator === "or" ? {
|
|
4690
|
+
const conditionWithCombinator = combinator === "and" ? condition : {
|
|
4661
4691
|
operator: "boolean_expression",
|
|
4662
|
-
combinator
|
|
4692
|
+
combinator,
|
|
4663
4693
|
operands: [condition]
|
|
4664
|
-
}
|
|
4694
|
+
};
|
|
4665
4695
|
const finalAction = {
|
|
4666
4696
|
type: action.type,
|
|
4667
4697
|
params: {
|
|
4668
4698
|
...action.params ?? {},
|
|
4669
|
-
actionVariant: actionTileId
|
|
4670
|
-
recurrence,
|
|
4671
|
-
...recurrence === "cron" && cronExpression ? { cronExpression } : {},
|
|
4672
|
-
...recurrence === "recurring" ? {
|
|
4673
|
-
weekdays,
|
|
4674
|
-
...recurringTime ? { timeOfDay: `${pad(recurringTime.hours)}:${pad(recurringTime.minutes)}` } : {}
|
|
4675
|
-
} : {}
|
|
4699
|
+
actionVariant: actionTileId
|
|
4676
4700
|
}
|
|
4677
4701
|
};
|
|
4678
|
-
const
|
|
4702
|
+
const recurrencePayload = recurrence === "cron" ? { kind: "cron", expression: cronExpression.trim() } : recurrence === "recurring" ? {
|
|
4703
|
+
kind: "recurring",
|
|
4704
|
+
weekdays: [...weekdays],
|
|
4705
|
+
timeOfDay: recurringTime ? `${pad(recurringTime.hours)}:${pad(recurringTime.minutes)}` : "00:00"
|
|
4706
|
+
} : { kind: "one-off" };
|
|
4679
4707
|
return {
|
|
4680
4708
|
name: name.trim() || "Untitled Rule",
|
|
4681
4709
|
description: description.trim() || void 0,
|
|
4682
4710
|
enabled,
|
|
4683
4711
|
priority,
|
|
4684
|
-
|
|
4712
|
+
// `paused` ships as-is — backend understands it natively (Fallback 2).
|
|
4713
|
+
status,
|
|
4685
4714
|
validFrom,
|
|
4686
4715
|
validUntil,
|
|
4687
4716
|
tags,
|
|
4688
4717
|
condition: conditionWithCombinator,
|
|
4689
|
-
action: finalAction
|
|
4718
|
+
action: finalAction,
|
|
4719
|
+
recurrence: recurrencePayload
|
|
4690
4720
|
};
|
|
4691
4721
|
}
|
|
4692
4722
|
async function submit() {
|
|
@@ -4730,26 +4760,34 @@ function RuleNewWizardPageView({
|
|
|
4730
4760
|
labels.wizardStep4Subtitle,
|
|
4731
4761
|
labels.wizardStep5Subtitle
|
|
4732
4762
|
];
|
|
4733
|
-
const
|
|
4763
|
+
const indicatorSteps = stepTitles.map((title, idx) => ({
|
|
4734
4764
|
id: String(idx + 1),
|
|
4735
|
-
|
|
4736
|
-
description: stepSubtitles[idx],
|
|
4737
|
-
status: idx + 1 < step ? "complete" : idx + 1 === step ? "current" : "upcoming"
|
|
4765
|
+
title
|
|
4738
4766
|
}));
|
|
4739
4767
|
const counter = labels.wizardStepCounter.replace("{current}", String(step)).replace("{total}", String(TOTAL_STEPS3));
|
|
4740
4768
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
4741
|
-
|
|
4769
|
+
chunkZGVN23J4_js.HeroSection,
|
|
4742
4770
|
{
|
|
4743
4771
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.AdjustmentsHorizontalIcon, { className: "h-5 w-5" }),
|
|
4744
4772
|
label: counter,
|
|
4745
4773
|
title: labels.pageTitle,
|
|
4746
4774
|
subtitle: stepSubtitles[step - 1] ?? labels.pageSubtitle,
|
|
4747
|
-
gradient: "from-fuchsia-500 to-purple-700"
|
|
4775
|
+
gradient: "from-fuchsia-500 to-purple-700",
|
|
4776
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
4777
|
+
chunkZGVN23J4_js.StepIndicator,
|
|
4778
|
+
{
|
|
4779
|
+
accent: "violet",
|
|
4780
|
+
currentStep: step - 1,
|
|
4781
|
+
onStepChange: (idx) => goToStep(idx + 1),
|
|
4782
|
+
progressLabel: labels.pageTitle,
|
|
4783
|
+
steps: indicatorSteps
|
|
4784
|
+
}
|
|
4785
|
+
)
|
|
4748
4786
|
}
|
|
4749
4787
|
);
|
|
4750
4788
|
function renderStep1() {
|
|
4751
4789
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
4752
|
-
|
|
4790
|
+
chunkZGVN23J4_js.SectionCard,
|
|
4753
4791
|
{
|
|
4754
4792
|
variant: "glass",
|
|
4755
4793
|
header: {
|
|
@@ -4758,7 +4796,7 @@ function RuleNewWizardPageView({
|
|
|
4758
4796
|
},
|
|
4759
4797
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
4760
4798
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4761
|
-
|
|
4799
|
+
chunkZGVN23J4_js.FormInput,
|
|
4762
4800
|
{
|
|
4763
4801
|
label: labels.nameLabel,
|
|
4764
4802
|
value: name,
|
|
@@ -4771,7 +4809,7 @@ function RuleNewWizardPageView({
|
|
|
4771
4809
|
}
|
|
4772
4810
|
),
|
|
4773
4811
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4774
|
-
|
|
4812
|
+
chunkZGVN23J4_js.FormTextarea,
|
|
4775
4813
|
{
|
|
4776
4814
|
label: labels.descriptionLabel,
|
|
4777
4815
|
value: description,
|
|
@@ -4807,7 +4845,7 @@ function RuleNewWizardPageView({
|
|
|
4807
4845
|
}
|
|
4808
4846
|
),
|
|
4809
4847
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4810
|
-
|
|
4848
|
+
chunkZGVN23J4_js.FormToggle,
|
|
4811
4849
|
{
|
|
4812
4850
|
checked: enabled,
|
|
4813
4851
|
onChange: (v) => {
|
|
@@ -4824,7 +4862,7 @@ function RuleNewWizardPageView({
|
|
|
4824
4862
|
}
|
|
4825
4863
|
function renderStep2() {
|
|
4826
4864
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
4827
|
-
|
|
4865
|
+
chunkZGVN23J4_js.SectionCard,
|
|
4828
4866
|
{
|
|
4829
4867
|
variant: "glass",
|
|
4830
4868
|
header: {
|
|
@@ -4835,7 +4873,7 @@ function RuleNewWizardPageView({
|
|
|
4835
4873
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
4836
4874
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "mb-2 block text-xs font-semibold uppercase tracking-wider text-slate-600 dark:text-slate-400", children: labels.combinatorLabel }),
|
|
4837
4875
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4838
|
-
|
|
4876
|
+
chunkZGVN23J4_js.SegmentedControl,
|
|
4839
4877
|
{
|
|
4840
4878
|
segments: [
|
|
4841
4879
|
{ value: "and", label: labels.combinatorAnd },
|
|
@@ -4852,7 +4890,7 @@ function RuleNewWizardPageView({
|
|
|
4852
4890
|
)
|
|
4853
4891
|
] }),
|
|
4854
4892
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4855
|
-
|
|
4893
|
+
chunkH475T2N7_js.RuleConditionBuilder,
|
|
4856
4894
|
{
|
|
4857
4895
|
value: condition,
|
|
4858
4896
|
onChange: (next) => {
|
|
@@ -4868,7 +4906,7 @@ function RuleNewWizardPageView({
|
|
|
4868
4906
|
function renderStep3() {
|
|
4869
4907
|
const selectedTile = ACTION_TILES.find((t) => t.id === actionTileId) ?? null;
|
|
4870
4908
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
4871
|
-
|
|
4909
|
+
chunkZGVN23J4_js.SectionCard,
|
|
4872
4910
|
{
|
|
4873
4911
|
variant: "glass",
|
|
4874
4912
|
header: {
|
|
@@ -4888,7 +4926,7 @@ function RuleNewWizardPageView({
|
|
|
4888
4926
|
const label = labels[tile.labelKey] ?? tile.id;
|
|
4889
4927
|
const description2 = labels[tile.descriptionKey] ?? "";
|
|
4890
4928
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
4891
|
-
|
|
4929
|
+
chunkZGVN23J4_js.FilterTileButton,
|
|
4892
4930
|
{
|
|
4893
4931
|
isActive: selected,
|
|
4894
4932
|
color: tile.color,
|
|
@@ -4906,7 +4944,7 @@ function RuleNewWizardPageView({
|
|
|
4906
4944
|
}
|
|
4907
4945
|
),
|
|
4908
4946
|
selectedTile && /* @__PURE__ */ jsxRuntime.jsx(
|
|
4909
|
-
|
|
4947
|
+
chunkZGVN23J4_js.SectionCard,
|
|
4910
4948
|
{
|
|
4911
4949
|
variant: "glass",
|
|
4912
4950
|
header: {
|
|
@@ -4914,7 +4952,7 @@ function RuleNewWizardPageView({
|
|
|
4914
4952
|
subtitle: labels.actionConfigSubtitle
|
|
4915
4953
|
},
|
|
4916
4954
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
4917
|
-
|
|
4955
|
+
chunkH475T2N7_js.RuleActionBuilder,
|
|
4918
4956
|
{
|
|
4919
4957
|
value: action,
|
|
4920
4958
|
onChange: (next) => {
|
|
@@ -4931,7 +4969,7 @@ function RuleNewWizardPageView({
|
|
|
4931
4969
|
}
|
|
4932
4970
|
function renderStep4() {
|
|
4933
4971
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-4", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
4934
|
-
|
|
4972
|
+
chunkZGVN23J4_js.SectionCard,
|
|
4935
4973
|
{
|
|
4936
4974
|
variant: "glass",
|
|
4937
4975
|
header: {
|
|
@@ -4939,12 +4977,12 @@ function RuleNewWizardPageView({
|
|
|
4939
4977
|
subtitle: labels.scheduleSectionSubtitle
|
|
4940
4978
|
},
|
|
4941
4979
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-5", children: [
|
|
4942
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
4980
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkZGVN23J4_js.FormGrid, { children: [
|
|
4943
4981
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2", children: [
|
|
4944
4982
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "block text-xs font-semibold uppercase tracking-wider text-slate-600 dark:text-slate-400", children: labels.validFromLabel }),
|
|
4945
4983
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap items-center gap-2", children: [
|
|
4946
4984
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4947
|
-
|
|
4985
|
+
chunkZGVN23J4_js.DatePicker,
|
|
4948
4986
|
{
|
|
4949
4987
|
value: validFromDate,
|
|
4950
4988
|
onChange: (d) => {
|
|
@@ -4955,7 +4993,7 @@ function RuleNewWizardPageView({
|
|
|
4955
4993
|
}
|
|
4956
4994
|
),
|
|
4957
4995
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4958
|
-
|
|
4996
|
+
chunkZGVN23J4_js.TimePicker,
|
|
4959
4997
|
{
|
|
4960
4998
|
value: validFromTime,
|
|
4961
4999
|
onChange: (t) => {
|
|
@@ -4971,7 +5009,7 @@ function RuleNewWizardPageView({
|
|
|
4971
5009
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "block text-xs font-semibold uppercase tracking-wider text-slate-600 dark:text-slate-400", children: labels.validUntilLabel }),
|
|
4972
5010
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap items-center gap-2", children: [
|
|
4973
5011
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4974
|
-
|
|
5012
|
+
chunkZGVN23J4_js.DatePicker,
|
|
4975
5013
|
{
|
|
4976
5014
|
value: validUntilDate,
|
|
4977
5015
|
onChange: (d) => {
|
|
@@ -4982,7 +5020,7 @@ function RuleNewWizardPageView({
|
|
|
4982
5020
|
}
|
|
4983
5021
|
),
|
|
4984
5022
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4985
|
-
|
|
5023
|
+
chunkZGVN23J4_js.TimePicker,
|
|
4986
5024
|
{
|
|
4987
5025
|
value: validUntilTime,
|
|
4988
5026
|
onChange: (t) => {
|
|
@@ -4996,7 +5034,7 @@ function RuleNewWizardPageView({
|
|
|
4996
5034
|
] })
|
|
4997
5035
|
] }),
|
|
4998
5036
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4999
|
-
|
|
5037
|
+
chunkZGVN23J4_js.FormCheckbox,
|
|
5000
5038
|
{
|
|
5001
5039
|
checked: noExpiry,
|
|
5002
5040
|
onChange: (v) => {
|
|
@@ -5010,7 +5048,7 @@ function RuleNewWizardPageView({
|
|
|
5010
5048
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
5011
5049
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "mb-2 block text-xs font-semibold uppercase tracking-wider text-slate-600 dark:text-slate-400", children: labels.statusLabel }),
|
|
5012
5050
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5013
|
-
|
|
5051
|
+
chunkZGVN23J4_js.SegmentedControl,
|
|
5014
5052
|
{
|
|
5015
5053
|
segments: [
|
|
5016
5054
|
{ value: "active", label: labels.statusActive },
|
|
@@ -5026,23 +5064,34 @@ function RuleNewWizardPageView({
|
|
|
5026
5064
|
}
|
|
5027
5065
|
)
|
|
5028
5066
|
] }),
|
|
5029
|
-
/* @__PURE__ */ jsxRuntime.
|
|
5030
|
-
|
|
5031
|
-
|
|
5032
|
-
|
|
5033
|
-
|
|
5034
|
-
|
|
5035
|
-
|
|
5036
|
-
|
|
5037
|
-
|
|
5038
|
-
|
|
5039
|
-
|
|
5040
|
-
|
|
5041
|
-
|
|
5067
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-1", children: [
|
|
5068
|
+
/* @__PURE__ */ jsxRuntime.jsx("label", { className: "block text-xs font-semibold uppercase tracking-wider text-slate-600 dark:text-slate-400", children: labels.tagsLabel }),
|
|
5069
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5070
|
+
chunkZGVN23J4_js.ChipPicker,
|
|
5071
|
+
{
|
|
5072
|
+
items: tagsItems,
|
|
5073
|
+
selectedIds: tagsSelected,
|
|
5074
|
+
onChange: (ids) => {
|
|
5075
|
+
setTagsSelected(ids);
|
|
5076
|
+
markTouched();
|
|
5077
|
+
},
|
|
5078
|
+
onItemsChange: (items) => {
|
|
5079
|
+
setTagsItems(items);
|
|
5080
|
+
markTouched();
|
|
5081
|
+
},
|
|
5082
|
+
allowCustom: true,
|
|
5083
|
+
unselectedStyle: tagsStyle,
|
|
5084
|
+
showActions: false,
|
|
5085
|
+
addPlaceholder: labels.tagsPlaceholder,
|
|
5086
|
+
addAriaLabel: labels.tagsLabel
|
|
5087
|
+
}
|
|
5088
|
+
),
|
|
5089
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-[11px] text-slate-500 dark:text-slate-400", children: labels.tagsHint })
|
|
5090
|
+
] }),
|
|
5042
5091
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
5043
5092
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "mb-2 block text-xs font-semibold uppercase tracking-wider text-slate-600 dark:text-slate-400", children: labels.recurrenceLabel }),
|
|
5044
5093
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5045
|
-
|
|
5094
|
+
chunkZGVN23J4_js.SegmentedControl,
|
|
5046
5095
|
{
|
|
5047
5096
|
segments: [
|
|
5048
5097
|
{ value: "one-off", label: labels.recurrenceOneOff },
|
|
@@ -5059,7 +5108,7 @@ function RuleNewWizardPageView({
|
|
|
5059
5108
|
)
|
|
5060
5109
|
] }),
|
|
5061
5110
|
recurrence === "cron" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
5062
|
-
|
|
5111
|
+
chunkZGVN23J4_js.FormInput,
|
|
5063
5112
|
{
|
|
5064
5113
|
label: labels.cronExpressionLabel,
|
|
5065
5114
|
value: cronExpression,
|
|
@@ -5074,34 +5123,30 @@ function RuleNewWizardPageView({
|
|
|
5074
5123
|
recurrence === "recurring" && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-3", children: [
|
|
5075
5124
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
5076
5125
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "mb-2 block text-xs font-semibold uppercase tracking-wider text-slate-600 dark:text-slate-400", children: labels.weekdaysLabel }),
|
|
5077
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5078
|
-
|
|
5079
|
-
|
|
5080
|
-
|
|
5081
|
-
|
|
5082
|
-
|
|
5083
|
-
|
|
5084
|
-
|
|
5085
|
-
|
|
5086
|
-
|
|
5087
|
-
|
|
5088
|
-
|
|
5089
|
-
|
|
5090
|
-
|
|
5091
|
-
|
|
5092
|
-
"inline-flex h-9 min-w-9 items-center justify-center rounded-full px-3 text-xs font-semibold transition",
|
|
5093
|
-
selected ? "bg-fuchsia-500 text-white shadow ring-2 ring-fuchsia-300/70" : "liquid-surface text-slate-700 dark:text-slate-300 hover:bg-fuchsia-500/10"
|
|
5094
|
-
].join(" "),
|
|
5095
|
-
children: label
|
|
5126
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5127
|
+
chunkZGVN23J4_js.ChipPicker,
|
|
5128
|
+
{
|
|
5129
|
+
items: WEEKDAYS.map((d) => ({
|
|
5130
|
+
id: d.id,
|
|
5131
|
+
name: labels[d.labelKey] ?? d.id,
|
|
5132
|
+
style: {
|
|
5133
|
+
bg: "bg-fuchsia-500/15",
|
|
5134
|
+
text: "text-fuchsia-700 dark:text-fuchsia-300"
|
|
5135
|
+
}
|
|
5136
|
+
})),
|
|
5137
|
+
selectedIds: weekdays,
|
|
5138
|
+
onChange: (ids) => {
|
|
5139
|
+
setWeekdays(ids);
|
|
5140
|
+
markTouched();
|
|
5096
5141
|
},
|
|
5097
|
-
|
|
5098
|
-
|
|
5099
|
-
|
|
5142
|
+
showActions: false
|
|
5143
|
+
}
|
|
5144
|
+
)
|
|
5100
5145
|
] }),
|
|
5101
5146
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
5102
5147
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "mb-2 block text-xs font-semibold uppercase tracking-wider text-slate-600 dark:text-slate-400", children: labels.timeOfDayLabel }),
|
|
5103
5148
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5104
|
-
|
|
5149
|
+
chunkZGVN23J4_js.TimePicker,
|
|
5105
5150
|
{
|
|
5106
5151
|
value: recurringTime,
|
|
5107
5152
|
onChange: (t) => {
|
|
@@ -5123,7 +5168,7 @@ function RuleNewWizardPageView({
|
|
|
5123
5168
|
const actionSentence = humanReadableAction(payload.action, labels, ACTION_TILES, actionTileId);
|
|
5124
5169
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
5125
5170
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5126
|
-
|
|
5171
|
+
chunkZGVN23J4_js.SectionCard,
|
|
5127
5172
|
{
|
|
5128
5173
|
variant: "glass",
|
|
5129
5174
|
header: {
|
|
@@ -5149,7 +5194,7 @@ function RuleNewWizardPageView({
|
|
|
5149
5194
|
}
|
|
5150
5195
|
),
|
|
5151
5196
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
5152
|
-
|
|
5197
|
+
chunkZGVN23J4_js.SectionCard,
|
|
5153
5198
|
{
|
|
5154
5199
|
variant: "glass",
|
|
5155
5200
|
header: {
|
|
@@ -5168,7 +5213,7 @@ function RuleNewWizardPageView({
|
|
|
5168
5213
|
}
|
|
5169
5214
|
),
|
|
5170
5215
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
5171
|
-
|
|
5216
|
+
chunkZGVN23J4_js.SectionCard,
|
|
5172
5217
|
{
|
|
5173
5218
|
variant: "glass",
|
|
5174
5219
|
header: {
|
|
@@ -5186,7 +5231,7 @@ function RuleNewWizardPageView({
|
|
|
5186
5231
|
}
|
|
5187
5232
|
),
|
|
5188
5233
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5189
|
-
|
|
5234
|
+
chunkZGVN23J4_js.SectionCard,
|
|
5190
5235
|
{
|
|
5191
5236
|
variant: "glass",
|
|
5192
5237
|
header: {
|
|
@@ -5252,20 +5297,10 @@ function RuleNewWizardPageView({
|
|
|
5252
5297
|
if (step < TOTAL_STEPS3) goNext();
|
|
5253
5298
|
else void submit();
|
|
5254
5299
|
},
|
|
5255
|
-
className: "space-y-
|
|
5300
|
+
className: "space-y-4",
|
|
5256
5301
|
children: [
|
|
5257
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5258
|
-
|
|
5259
|
-
{
|
|
5260
|
-
steps: timelineSteps,
|
|
5261
|
-
progressLabel: labels.pageTitle,
|
|
5262
|
-
onStepClick: (idx) => goToStep(idx + 1)
|
|
5263
|
-
}
|
|
5264
|
-
),
|
|
5265
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "w-full space-y-5", children: [
|
|
5266
|
-
stepBody,
|
|
5267
|
-
footer
|
|
5268
|
-
] })
|
|
5302
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "liquid-surface rounded-2xl p-5 sm:p-8", children: stepBody }),
|
|
5303
|
+
footer
|
|
5269
5304
|
]
|
|
5270
5305
|
}
|
|
5271
5306
|
);
|
|
@@ -5330,31 +5365,31 @@ function humanReadableAction(action, labels, tiles, actionTileId) {
|
|
|
5330
5365
|
|
|
5331
5366
|
Object.defineProperty(exports, "RolesPageView", {
|
|
5332
5367
|
enumerable: true,
|
|
5333
|
-
get: function () { return
|
|
5368
|
+
get: function () { return chunkZ6FZQOTW_js.RolesPageView; }
|
|
5334
5369
|
});
|
|
5335
5370
|
Object.defineProperty(exports, "UsersPageView", {
|
|
5336
5371
|
enumerable: true,
|
|
5337
|
-
get: function () { return
|
|
5372
|
+
get: function () { return chunkZ6FZQOTW_js.UsersPageView; }
|
|
5338
5373
|
});
|
|
5339
5374
|
Object.defineProperty(exports, "DIALECT_CATEGORIES", {
|
|
5340
5375
|
enumerable: true,
|
|
5341
|
-
get: function () { return
|
|
5376
|
+
get: function () { return chunk62BD4WLW_js.DIALECT_CATEGORIES; }
|
|
5342
5377
|
});
|
|
5343
5378
|
Object.defineProperty(exports, "DatasourceFormModal", {
|
|
5344
5379
|
enumerable: true,
|
|
5345
|
-
get: function () { return
|
|
5380
|
+
get: function () { return chunk62BD4WLW_js.DatasourceFormModal; }
|
|
5346
5381
|
});
|
|
5347
5382
|
Object.defineProperty(exports, "DatasourceModal", {
|
|
5348
5383
|
enumerable: true,
|
|
5349
|
-
get: function () { return
|
|
5384
|
+
get: function () { return chunk62BD4WLW_js.DatasourceModal; }
|
|
5350
5385
|
});
|
|
5351
5386
|
Object.defineProperty(exports, "findCategory", {
|
|
5352
5387
|
enumerable: true,
|
|
5353
|
-
get: function () { return
|
|
5388
|
+
get: function () { return chunk62BD4WLW_js.findCategory; }
|
|
5354
5389
|
});
|
|
5355
5390
|
Object.defineProperty(exports, "findDialect", {
|
|
5356
5391
|
enumerable: true,
|
|
5357
|
-
get: function () { return
|
|
5392
|
+
get: function () { return chunk62BD4WLW_js.findDialect; }
|
|
5358
5393
|
});
|
|
5359
5394
|
exports.AgentNewWizardPageView = AgentNewWizardPageView;
|
|
5360
5395
|
exports.AgentsConfigPageView = AgentsConfigPageView;
|