@datatechsolutions/ui 3.13.0 → 3.14.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/graph-node.js +6 -6
- package/dist/astrlabe/graph-node.mjs +2 -2
- package/dist/astrlabe/index.js +114 -114
- package/dist/astrlabe/index.mjs +6 -6
- package/dist/astrlabe/workflow-canvas.js +6 -6
- package/dist/astrlabe/workflow-canvas.mjs +5 -5
- package/dist/{chunk-AMCFAGK3.js → chunk-2II2NLAZ.js} +42 -41
- package/dist/chunk-2II2NLAZ.js.map +1 -0
- package/dist/{chunk-WR55H7DH.mjs → chunk-2SBVFLPZ.mjs} +19 -2
- package/dist/chunk-2SBVFLPZ.mjs.map +1 -0
- package/dist/{chunk-UXHJS2SH.mjs → chunk-33ZWFDVG.mjs} +282 -331
- package/dist/chunk-33ZWFDVG.mjs.map +1 -0
- package/dist/{chunk-2ECLDHAT.js → chunk-4HZ55YKZ.js} +9 -9
- package/dist/{chunk-2ECLDHAT.js.map → chunk-4HZ55YKZ.js.map} +1 -1
- package/dist/{chunk-VI4IUTMX.js → chunk-4P72IJOM.js} +6 -6
- package/dist/{chunk-VI4IUTMX.js.map → chunk-4P72IJOM.js.map} +1 -1
- package/dist/{chunk-D5OTZGA2.js → chunk-5SCZB5UI.js} +382 -431
- package/dist/chunk-5SCZB5UI.js.map +1 -0
- package/dist/{chunk-4VHFGW7I.mjs → chunk-5YCH7FHT.mjs} +3 -3
- package/dist/{chunk-4VHFGW7I.mjs.map → chunk-5YCH7FHT.mjs.map} +1 -1
- package/dist/{chunk-P4RVGMZL.js → chunk-6NBQTIXX.js} +9 -37
- package/dist/chunk-6NBQTIXX.js.map +1 -0
- package/dist/{chunk-EZQ2D47U.js → chunk-6NEESZVO.js} +4 -4
- package/dist/{chunk-EZQ2D47U.js.map → chunk-6NEESZVO.js.map} +1 -1
- package/dist/{chunk-N4YT3QA5.js → chunk-72XZ7DSF.js} +13 -13
- package/dist/{chunk-N4YT3QA5.js.map → chunk-72XZ7DSF.js.map} +1 -1
- package/dist/{chunk-QGRTV35L.mjs → chunk-7NHJSD4A.mjs} +6 -6
- package/dist/{chunk-QGRTV35L.mjs.map → chunk-7NHJSD4A.mjs.map} +1 -1
- package/dist/{chunk-PPIUMCUZ.js → chunk-7SDB2VC2.js} +4 -4
- package/dist/{chunk-PPIUMCUZ.js.map → chunk-7SDB2VC2.js.map} +1 -1
- package/dist/{chunk-QGLGQXJE.js → chunk-A5OMGPMR.js} +10 -10
- package/dist/chunk-A5OMGPMR.js.map +1 -0
- package/dist/{chunk-K5567JM5.js → chunk-AUCS2KF4.js} +26 -26
- package/dist/{chunk-K5567JM5.js.map → chunk-AUCS2KF4.js.map} +1 -1
- package/dist/{chunk-MSKKNPRE.mjs → chunk-F4KHAKTP.mjs} +172 -116
- package/dist/chunk-F4KHAKTP.mjs.map +1 -0
- package/dist/{chunk-SDYKXLCU.js → chunk-FHGWXWVZ.js} +67 -67
- package/dist/{chunk-SDYKXLCU.js.map → chunk-FHGWXWVZ.js.map} +1 -1
- package/dist/{chunk-5ETT54QS.js → chunk-FZUV7GNB.js} +241 -184
- package/dist/chunk-FZUV7GNB.js.map +1 -0
- package/dist/{chunk-6KDTVSZT.mjs → chunk-HQNIETHV.mjs} +11 -10
- package/dist/chunk-HQNIETHV.mjs.map +1 -0
- package/dist/{chunk-PLTLRL2V.mjs → chunk-KDDXDQR2.mjs} +3 -3
- package/dist/{chunk-PLTLRL2V.mjs.map → chunk-KDDXDQR2.mjs.map} +1 -1
- package/dist/{chunk-6YTYD4P5.js → chunk-LJGPMMKB.js} +156 -193
- package/dist/chunk-LJGPMMKB.js.map +1 -0
- package/dist/{chunk-BHOT22QL.js → chunk-MXQ2EYG2.js} +19 -2
- package/dist/chunk-MXQ2EYG2.js.map +1 -0
- package/dist/{chunk-ANFSQJNI.mjs → chunk-N6SGVUTR.mjs} +17 -20
- package/dist/chunk-N6SGVUTR.mjs.map +1 -0
- package/dist/{chunk-IIRS5XZY.js → chunk-NIZSQJRW.js} +33 -33
- package/dist/{chunk-IIRS5XZY.js.map → chunk-NIZSQJRW.js.map} +1 -1
- package/dist/{chunk-AKWCT53S.mjs → chunk-NXWIT4YQ.mjs} +47 -50
- package/dist/chunk-NXWIT4YQ.mjs.map +1 -0
- package/dist/{chunk-OC4AOYU5.mjs → chunk-OTQXU4WG.mjs} +83 -120
- package/dist/chunk-OTQXU4WG.mjs.map +1 -0
- package/dist/{chunk-CSOMZ5UM.mjs → chunk-PO66V2PN.mjs} +9 -9
- package/dist/{chunk-CSOMZ5UM.mjs.map → chunk-PO66V2PN.mjs.map} +1 -1
- package/dist/{chunk-OY5HUZSD.js → chunk-PXGESUKI.js} +94 -97
- package/dist/chunk-PXGESUKI.js.map +1 -0
- package/dist/{chunk-7TYNV6SY.mjs → chunk-Q2FUNDCP.mjs} +14 -14
- package/dist/{chunk-7TYNV6SY.mjs.map → chunk-Q2FUNDCP.mjs.map} +1 -1
- package/dist/{chunk-KWH7JIRP.mjs → chunk-Q5TZTA6H.mjs} +9 -8
- package/dist/chunk-Q5TZTA6H.mjs.map +1 -0
- package/dist/{chunk-ZRCXDKBE.mjs → chunk-T7DROKWJ.mjs} +4 -4
- package/dist/{chunk-ZRCXDKBE.mjs.map → chunk-T7DROKWJ.mjs.map} +1 -1
- package/dist/{chunk-3VYD7QL2.mjs → chunk-TQADF23S.mjs} +9 -9
- package/dist/chunk-TQADF23S.mjs.map +1 -0
- package/dist/{chunk-VIB42VMZ.mjs → chunk-U7VMFQFN.mjs} +5 -5
- package/dist/{chunk-VIB42VMZ.mjs.map → chunk-U7VMFQFN.mjs.map} +1 -1
- package/dist/{chunk-AHNH2PMI.mjs → chunk-WE35EV7J.mjs} +3 -3
- package/dist/{chunk-AHNH2PMI.mjs.map → chunk-WE35EV7J.mjs.map} +1 -1
- package/dist/{chunk-UPYACFZJ.mjs → chunk-WTSMTLSP.mjs} +303 -347
- package/dist/chunk-WTSMTLSP.mjs.map +1 -0
- package/dist/{chunk-WOTKBKS6.js → chunk-YFMMZHL5.js} +47 -50
- package/dist/chunk-YFMMZHL5.js.map +1 -0
- package/dist/{chunk-DJ33CSGJ.mjs → chunk-ZBX7UCAP.mjs} +9 -37
- package/dist/chunk-ZBX7UCAP.mjs.map +1 -0
- package/dist/{chunk-NF5DDM5V.js → chunk-ZE6U4N4Q.js} +44 -43
- package/dist/chunk-ZE6U4N4Q.js.map +1 -0
- package/dist/{chunk-MQDCUBVW.js → chunk-ZIRD3X6G.js} +459 -503
- package/dist/chunk-ZIRD3X6G.js.map +1 -0
- package/dist/index.d.mts +77 -7
- package/dist/index.d.ts +77 -7
- package/dist/index.js +708 -704
- package/dist/index.mjs +3 -3
- package/dist/platform/admin/index.js +12 -12
- package/dist/platform/admin/index.mjs +6 -6
- package/dist/platform/agents-workspace.js +9 -9
- package/dist/platform/agents-workspace.mjs +8 -8
- package/dist/platform/app-shell.js +5 -5
- package/dist/platform/app-shell.mjs +4 -4
- package/dist/platform/auth/index.js +29 -29
- package/dist/platform/auth/index.mjs +6 -6
- package/dist/platform/billing/index.js +7 -7
- package/dist/platform/billing/index.mjs +5 -5
- package/dist/platform/impersonation/index.js +5 -5
- package/dist/platform/impersonation/index.mjs +4 -4
- package/dist/platform/index.js +99 -99
- package/dist/platform/index.js.map +1 -1
- package/dist/platform/index.mjs +30 -30
- package/dist/platform/index.mjs.map +1 -1
- package/dist/platform/pages/index.d.mts +115 -3
- package/dist/platform/pages/index.d.ts +115 -3
- package/dist/platform/pages/index.js +966 -519
- package/dist/platform/pages/index.js.map +1 -1
- package/dist/platform/pages/index.mjs +562 -121
- package/dist/platform/pages/index.mjs.map +1 -1
- package/dist/platform/settings/index.js +9 -9
- package/dist/platform/settings/index.mjs +8 -8
- package/dist/platform/workflow-canvas-shell.js +7 -7
- package/dist/platform/workflow-canvas-shell.mjs +6 -6
- package/package.json +1 -1
- package/dist/chunk-3VYD7QL2.mjs.map +0 -1
- package/dist/chunk-5ETT54QS.js.map +0 -1
- package/dist/chunk-6KDTVSZT.mjs.map +0 -1
- package/dist/chunk-6YTYD4P5.js.map +0 -1
- package/dist/chunk-AKWCT53S.mjs.map +0 -1
- package/dist/chunk-AMCFAGK3.js.map +0 -1
- package/dist/chunk-ANFSQJNI.mjs.map +0 -1
- package/dist/chunk-BHOT22QL.js.map +0 -1
- package/dist/chunk-D5OTZGA2.js.map +0 -1
- package/dist/chunk-DJ33CSGJ.mjs.map +0 -1
- package/dist/chunk-KWH7JIRP.mjs.map +0 -1
- package/dist/chunk-MQDCUBVW.js.map +0 -1
- package/dist/chunk-MSKKNPRE.mjs.map +0 -1
- package/dist/chunk-NF5DDM5V.js.map +0 -1
- package/dist/chunk-OC4AOYU5.mjs.map +0 -1
- package/dist/chunk-OY5HUZSD.js.map +0 -1
- package/dist/chunk-P4RVGMZL.js.map +0 -1
- package/dist/chunk-QGLGQXJE.js.map +0 -1
- package/dist/chunk-UPYACFZJ.mjs.map +0 -1
- package/dist/chunk-UXHJS2SH.mjs.map +0 -1
- package/dist/chunk-WOTKBKS6.js.map +0 -1
- package/dist/chunk-WR55H7DH.mjs.map +0 -1
|
@@ -2,18 +2,18 @@
|
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
4
|
var chunk3T2WGL47_js = require('../../chunk-3T2WGL47.js');
|
|
5
|
-
var
|
|
6
|
-
var
|
|
7
|
-
var
|
|
5
|
+
var chunkNIZSQJRW_js = require('../../chunk-NIZSQJRW.js');
|
|
6
|
+
var chunk2II2NLAZ_js = require('../../chunk-2II2NLAZ.js');
|
|
7
|
+
var chunkZIRD3X6G_js = require('../../chunk-ZIRD3X6G.js');
|
|
8
8
|
require('../../chunk-55H6WZQP.js');
|
|
9
9
|
require('../../chunk-DJDZIRM6.js');
|
|
10
|
-
require('../../chunk-
|
|
11
|
-
var
|
|
12
|
-
require('../../chunk-Y5VN4SPH.js');
|
|
10
|
+
require('../../chunk-5SCZB5UI.js');
|
|
11
|
+
var chunkFZUV7GNB_js = require('../../chunk-FZUV7GNB.js');
|
|
13
12
|
require('../../chunk-22XPYFHJ.js');
|
|
14
13
|
require('../../chunk-2OZZH2IO.js');
|
|
15
|
-
require('../../chunk-
|
|
16
|
-
|
|
14
|
+
require('../../chunk-Y5VN4SPH.js');
|
|
15
|
+
require('../../chunk-6NEESZVO.js');
|
|
16
|
+
var chunkMXQ2EYG2_js = require('../../chunk-MXQ2EYG2.js');
|
|
17
17
|
require('../../chunk-UZ3CMNUJ.js');
|
|
18
18
|
var chunkS7KHTUHA_js = require('../../chunk-S7KHTUHA.js');
|
|
19
19
|
require('../../chunk-72SWXOD5.js');
|
|
@@ -70,7 +70,7 @@ function AgentsModelsPageView({ labels, models, loading }) {
|
|
|
70
70
|
setEnabledFilter("all");
|
|
71
71
|
};
|
|
72
72
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
73
|
-
|
|
73
|
+
chunkFZUV7GNB_js.HeroSection,
|
|
74
74
|
{
|
|
75
75
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.CubeTransparentIcon, { className: "h-5 w-5" }),
|
|
76
76
|
label: labels.title,
|
|
@@ -78,7 +78,7 @@ function AgentsModelsPageView({ labels, models, loading }) {
|
|
|
78
78
|
subtitle: labels.subtitle,
|
|
79
79
|
gradient: "from-emerald-500 to-teal-700",
|
|
80
80
|
toolbar: !isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
81
|
-
|
|
81
|
+
chunkFZUV7GNB_js.SearchBar,
|
|
82
82
|
{
|
|
83
83
|
searchTerm,
|
|
84
84
|
onSearchChange: setSearchTerm,
|
|
@@ -95,8 +95,8 @@ function AgentsModelsPageView({ labels, models, loading }) {
|
|
|
95
95
|
count: filterCount,
|
|
96
96
|
onClear: filterCount > 0 ? clearAllFilters : void 0,
|
|
97
97
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-5", children: [
|
|
98
|
-
providerChipItems.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
99
|
-
|
|
98
|
+
providerChipItems.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.FormSection, { title: labels.filterByProvider ?? "Provedor", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
99
|
+
chunkFZUV7GNB_js.ChipPicker,
|
|
100
100
|
{
|
|
101
101
|
items: providerChipItems,
|
|
102
102
|
selectedIds: selectedProviders,
|
|
@@ -106,21 +106,21 @@ function AgentsModelsPageView({ labels, models, loading }) {
|
|
|
106
106
|
clearLabel: labels.clear ?? "Limpar"
|
|
107
107
|
}
|
|
108
108
|
) }),
|
|
109
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
109
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.FormSection, { title: labels.filterByStatus ?? "Status", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-wrap gap-2", children: ["all", "enabled", "disabled"].map((value) => enabledFilter === value ? /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Button, { type: "button", size: "sm", color: "ios-glass-blue", onClick: () => setEnabledFilter(value), children: statusLabelFor(value) }, value) : /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Button, { type: "button", size: "sm", outline: true, onClick: () => setEnabledFilter(value), children: statusLabelFor(value) }, value)) }) })
|
|
110
110
|
] })
|
|
111
111
|
}
|
|
112
112
|
}
|
|
113
113
|
) : void 0
|
|
114
114
|
}
|
|
115
115
|
);
|
|
116
|
-
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
117
|
-
|
|
116
|
+
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.PageLoadingState, {}) : isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_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(
|
|
117
|
+
chunkFZUV7GNB_js.EntityCard,
|
|
118
118
|
{
|
|
119
119
|
accentGradient: "from-emerald-500 to-teal-700",
|
|
120
120
|
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" }) }),
|
|
121
121
|
title: model.name,
|
|
122
122
|
subtitle: `${labels.provider}: ${model.provider}`,
|
|
123
|
-
status: /* @__PURE__ */ jsxRuntime.jsx(
|
|
123
|
+
status: /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Badge, { color: model.enabled ? "emerald" : "zinc", children: model.enabled ? labels.enabled : labels.disabled })
|
|
124
124
|
},
|
|
125
125
|
model.id
|
|
126
126
|
)) });
|
|
@@ -183,7 +183,7 @@ function AgentsConfigPageView({ labels, agents, models, loading, onCreate, onUpd
|
|
|
183
183
|
setHasActiveVersion("all");
|
|
184
184
|
};
|
|
185
185
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
186
|
-
|
|
186
|
+
chunkFZUV7GNB_js.HeroSection,
|
|
187
187
|
{
|
|
188
188
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.CpuChipIcon, { className: "h-5 w-5" }),
|
|
189
189
|
label: labels.title,
|
|
@@ -191,7 +191,7 @@ function AgentsConfigPageView({ labels, agents, models, loading, onCreate, onUpd
|
|
|
191
191
|
subtitle: labels.subtitle,
|
|
192
192
|
gradient: "from-violet-500 to-indigo-700",
|
|
193
193
|
toolbar: !isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
194
|
-
|
|
194
|
+
chunkFZUV7GNB_js.SearchBar,
|
|
195
195
|
{
|
|
196
196
|
searchTerm,
|
|
197
197
|
onSearchChange: setSearchTerm,
|
|
@@ -208,8 +208,8 @@ function AgentsConfigPageView({ labels, agents, models, loading, onCreate, onUpd
|
|
|
208
208
|
count: filterCount,
|
|
209
209
|
onClear: filterCount > 0 ? clearAllFilters : void 0,
|
|
210
210
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-5", children: [
|
|
211
|
-
modelChipItems.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
212
|
-
|
|
211
|
+
modelChipItems.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.FormSection, { title: labels.filterByModel ?? "Modelo", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
212
|
+
chunkFZUV7GNB_js.ChipPicker,
|
|
213
213
|
{
|
|
214
214
|
items: modelChipItems,
|
|
215
215
|
selectedIds: selectedModelIds,
|
|
@@ -219,13 +219,13 @@ function AgentsConfigPageView({ labels, agents, models, loading, onCreate, onUpd
|
|
|
219
219
|
clearLabel: labels.clear ?? "Limpar"
|
|
220
220
|
}
|
|
221
221
|
) }),
|
|
222
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
222
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.FormSection, { title: labels.filterByActiveVersion ?? "Vers\xE3o ativa", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-wrap gap-2", children: ["all", "with", "without"].map((value) => hasActiveVersion === value ? /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Button, { type: "button", size: "sm", color: "ios-glass-blue", onClick: () => setHasActiveVersion(value), children: versionLabelFor(value) }, value) : /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Button, { type: "button", size: "sm", outline: true, onClick: () => setHasActiveVersion(value), children: versionLabelFor(value) }, value)) }) })
|
|
223
223
|
] })
|
|
224
224
|
}
|
|
225
225
|
}
|
|
226
226
|
) : void 0,
|
|
227
227
|
actions: /* @__PURE__ */ jsxRuntime.jsx(
|
|
228
|
-
|
|
228
|
+
chunkFZUV7GNB_js.CreateActionButton,
|
|
229
229
|
{
|
|
230
230
|
mode: "desktop",
|
|
231
231
|
label: labels.addAgent,
|
|
@@ -236,7 +236,7 @@ function AgentsConfigPageView({ labels, agents, models, loading, onCreate, onUpd
|
|
|
236
236
|
}
|
|
237
237
|
);
|
|
238
238
|
const mobileAction = /* @__PURE__ */ jsxRuntime.jsx(
|
|
239
|
-
|
|
239
|
+
chunkFZUV7GNB_js.CreateActionButton,
|
|
240
240
|
{
|
|
241
241
|
mode: "mobile",
|
|
242
242
|
label: labels.addAgent,
|
|
@@ -244,23 +244,23 @@ function AgentsConfigPageView({ labels, agents, models, loading, onCreate, onUpd
|
|
|
244
244
|
accent: "violet"
|
|
245
245
|
}
|
|
246
246
|
);
|
|
247
|
-
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
247
|
+
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.PageLoadingState, {}) : isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_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) => {
|
|
248
248
|
const modelRecord = models.find((model) => model.id === String(agent.modelId ?? ""));
|
|
249
249
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
250
|
-
|
|
250
|
+
chunkFZUV7GNB_js.EntityCard,
|
|
251
251
|
{
|
|
252
252
|
accentGradient: "from-violet-500 to-indigo-700",
|
|
253
253
|
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" }) }),
|
|
254
254
|
title: String(agent.name ?? ""),
|
|
255
255
|
subtitle: String(modelRecord?.name ?? agent.modelId ?? ""),
|
|
256
|
-
status: agent.activePromptVersion > 0 ? /* @__PURE__ */ jsxRuntime.jsxs(
|
|
256
|
+
status: agent.activePromptVersion > 0 ? /* @__PURE__ */ jsxRuntime.jsxs(chunkMXQ2EYG2_js.Badge, { color: "emerald", children: [
|
|
257
257
|
"v",
|
|
258
258
|
agent.activePromptVersion
|
|
259
259
|
] }) : null,
|
|
260
260
|
footer: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
|
|
261
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
261
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Button, { type: "button", size: "sm", outline: true, onClick: () => setEditing(agent), children: labels.edit }),
|
|
262
262
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
263
|
-
|
|
263
|
+
chunkMXQ2EYG2_js.Button,
|
|
264
264
|
{
|
|
265
265
|
type: "button",
|
|
266
266
|
size: "sm",
|
|
@@ -284,7 +284,7 @@ function AgentsConfigPageView({ labels, agents, models, loading, onCreate, onUpd
|
|
|
284
284
|
);
|
|
285
285
|
}) });
|
|
286
286
|
const renderForm = (initial, onSubmit) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
287
|
-
|
|
287
|
+
chunkFZUV7GNB_js.GlassModal,
|
|
288
288
|
{
|
|
289
289
|
open: true,
|
|
290
290
|
onClose: () => {
|
|
@@ -307,13 +307,13 @@ function AgentsConfigPageView({ labels, agents, models, loading, onCreate, onUpd
|
|
|
307
307
|
outputSchema: String(form.get("outputSchema") ?? "").trim() || void 0
|
|
308
308
|
});
|
|
309
309
|
},
|
|
310
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
311
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
312
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
313
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
314
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
315
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
316
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
310
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(chunkFZUV7GNB_js.FormGrid, { children: [
|
|
311
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.FormInput, { name: "name", label: labels.name, defaultValue: initial.name ?? "", required: true }),
|
|
312
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.FormSelect, { name: "modelId", label: labels.model, options: modelOptions, defaultValue: initial.modelId ?? modelOptions[0]?.value ?? "", required: true }),
|
|
313
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.FormInput, { name: "maxTokens", label: String(labels.maxTokens), type: "number", defaultValue: String(initial.maxTokens ?? 2048) }),
|
|
314
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.FormInput, { name: "temperature", label: labels.temperature, type: "number", step: 0.1, min: 0, max: 2, defaultValue: String(initial.temperature ?? 0.2) }),
|
|
315
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.FormTextarea, { name: "systemPrompt", label: labels.systemPrompt, defaultValue: initial.systemPrompt ?? "", rows: 4 }),
|
|
316
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.FormTextarea, { name: "outputSchema", label: labels.outputSchema, placeholder: labels.outputSchemaPlaceholder, defaultValue: initial.outputSchema ?? "", rows: 4 })
|
|
317
317
|
] })
|
|
318
318
|
}
|
|
319
319
|
);
|
|
@@ -437,7 +437,7 @@ function AgentsPromptsPageView({ labels, agents, prompts, loading, onCreate, onA
|
|
|
437
437
|
setActiveFilter("all");
|
|
438
438
|
};
|
|
439
439
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
440
|
-
|
|
440
|
+
chunkFZUV7GNB_js.HeroSection,
|
|
441
441
|
{
|
|
442
442
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.ChatBubbleLeftEllipsisIcon, { className: "h-5 w-5" }),
|
|
443
443
|
label: labels.title,
|
|
@@ -445,7 +445,7 @@ function AgentsPromptsPageView({ labels, agents, prompts, loading, onCreate, onA
|
|
|
445
445
|
subtitle: labels.subtitle,
|
|
446
446
|
gradient: "from-sky-500 to-blue-700",
|
|
447
447
|
toolbar: !isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
448
|
-
|
|
448
|
+
chunkFZUV7GNB_js.SearchBar,
|
|
449
449
|
{
|
|
450
450
|
searchTerm,
|
|
451
451
|
onSearchChange: setSearchTerm,
|
|
@@ -462,8 +462,8 @@ function AgentsPromptsPageView({ labels, agents, prompts, loading, onCreate, onA
|
|
|
462
462
|
count: filterCount,
|
|
463
463
|
onClear: filterCount > 0 ? clearAllFilters : void 0,
|
|
464
464
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-5", children: [
|
|
465
|
-
agentChipItems.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
466
|
-
|
|
465
|
+
agentChipItems.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.FormSection, { title: labels.filterByAgent ?? "Agente", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
466
|
+
chunkFZUV7GNB_js.ChipPicker,
|
|
467
467
|
{
|
|
468
468
|
items: agentChipItems,
|
|
469
469
|
selectedIds: selectedAgentIds,
|
|
@@ -473,8 +473,8 @@ function AgentsPromptsPageView({ labels, agents, prompts, loading, onCreate, onA
|
|
|
473
473
|
clearLabel: labels.clear ?? "Limpar"
|
|
474
474
|
}
|
|
475
475
|
) }),
|
|
476
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
477
|
-
|
|
476
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.FormSection, { title: labels.filterByLocale ?? "Idioma", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
477
|
+
chunkFZUV7GNB_js.ChipPicker,
|
|
478
478
|
{
|
|
479
479
|
items: localeChipItems,
|
|
480
480
|
selectedIds: selectedLocales,
|
|
@@ -484,13 +484,13 @@ function AgentsPromptsPageView({ labels, agents, prompts, loading, onCreate, onA
|
|
|
484
484
|
clearLabel: labels.clear ?? "Limpar"
|
|
485
485
|
}
|
|
486
486
|
) }),
|
|
487
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
487
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.FormSection, { title: labels.filterByActive ?? "Status", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-wrap gap-2", children: ["all", "active", "inactive"].map((value) => activeFilter === value ? /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Button, { type: "button", size: "sm", color: "ios-glass-blue", onClick: () => setActiveFilter(value), children: activeLabelFor(value) }, value) : /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Button, { type: "button", size: "sm", outline: true, onClick: () => setActiveFilter(value), children: activeLabelFor(value) }, value)) }) })
|
|
488
488
|
] })
|
|
489
489
|
}
|
|
490
490
|
}
|
|
491
491
|
) : void 0,
|
|
492
492
|
actions: /* @__PURE__ */ jsxRuntime.jsx(
|
|
493
|
-
|
|
493
|
+
chunkFZUV7GNB_js.CreateActionButton,
|
|
494
494
|
{
|
|
495
495
|
mode: "desktop",
|
|
496
496
|
label: labels.addPrompt,
|
|
@@ -501,7 +501,7 @@ function AgentsPromptsPageView({ labels, agents, prompts, loading, onCreate, onA
|
|
|
501
501
|
}
|
|
502
502
|
);
|
|
503
503
|
const mobileAction = /* @__PURE__ */ jsxRuntime.jsx(
|
|
504
|
-
|
|
504
|
+
chunkFZUV7GNB_js.CreateActionButton,
|
|
505
505
|
{
|
|
506
506
|
mode: "mobile",
|
|
507
507
|
label: labels.addPrompt,
|
|
@@ -509,21 +509,21 @@ function AgentsPromptsPageView({ labels, agents, prompts, loading, onCreate, onA
|
|
|
509
509
|
accent: "sky"
|
|
510
510
|
}
|
|
511
511
|
);
|
|
512
|
-
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
512
|
+
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.PageLoadingState, {}) : isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.PageEmptyState, { title: labels.empty, message: labels.subtitle, iconName: "folder-open" }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3", children: filteredPrompts.map((prompt) => {
|
|
513
513
|
const agentName = agentNameById.get(prompt.agentId) ?? prompt.agentId;
|
|
514
514
|
const key = `${prompt.agentId}:${prompt.locale}:${prompt.version}`;
|
|
515
515
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
516
|
-
|
|
516
|
+
chunkFZUV7GNB_js.EntityCard,
|
|
517
517
|
{
|
|
518
518
|
accentGradient: "from-sky-500 to-blue-700",
|
|
519
519
|
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" }) }),
|
|
520
520
|
title: agentName,
|
|
521
521
|
subtitle: `${prompt.locale} \xB7 v${prompt.version}`,
|
|
522
|
-
status: prompt.isActive ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
522
|
+
status: prompt.isActive ? /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Badge, { color: "emerald", children: labels.isActive }) : null,
|
|
523
523
|
footer: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
|
|
524
|
-
!prompt.isActive && /* @__PURE__ */ jsxRuntime.jsx(
|
|
524
|
+
!prompt.isActive && /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Button, { type: "button", size: "sm", outline: true, onClick: () => onActivate(prompt), children: labels.activate }),
|
|
525
525
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
526
|
-
|
|
526
|
+
chunkMXQ2EYG2_js.Button,
|
|
527
527
|
{
|
|
528
528
|
type: "button",
|
|
529
529
|
size: "sm",
|
|
@@ -547,7 +547,7 @@ function AgentsPromptsPageView({ labels, agents, prompts, loading, onCreate, onA
|
|
|
547
547
|
mobileAction
|
|
548
548
|
] }),
|
|
549
549
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
550
|
-
|
|
550
|
+
chunkFZUV7GNB_js.GlassModal,
|
|
551
551
|
{
|
|
552
552
|
open: createOpen,
|
|
553
553
|
onClose: () => setCreateOpen(false),
|
|
@@ -571,11 +571,11 @@ function AgentsPromptsPageView({ labels, agents, prompts, loading, onCreate, onA
|
|
|
571
571
|
});
|
|
572
572
|
setCreateOpen(false);
|
|
573
573
|
},
|
|
574
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
575
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
576
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
574
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(chunkFZUV7GNB_js.FormGrid, { children: [
|
|
575
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.FormSelect, { name: "agentId", label: labels.agent, options: agentOptions, required: true }),
|
|
576
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.FormSelect, { name: "locale", label: labels.locale, options: LOCALE_OPTIONS, defaultValue: "en" }),
|
|
577
577
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
578
|
-
|
|
578
|
+
chunkFZUV7GNB_js.FormSelect,
|
|
579
579
|
{
|
|
580
580
|
name: "isActive",
|
|
581
581
|
label: labels.isActive,
|
|
@@ -583,10 +583,10 @@ function AgentsPromptsPageView({ labels, agents, prompts, loading, onCreate, onA
|
|
|
583
583
|
defaultValue: "true"
|
|
584
584
|
}
|
|
585
585
|
),
|
|
586
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
587
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
588
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
589
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
586
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.FormInput, { name: "reason", label: labels.reason }),
|
|
587
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.FormTextarea, { name: "systemPrompt", label: labels.systemPrompt, rows: 3 }),
|
|
588
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.FormTextarea, { name: "userTemplate", label: labels.userTemplate, rows: 3 }),
|
|
589
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.FormTextarea, { name: "prompt", label: labels.prompt, rows: 6, required: true })
|
|
590
590
|
] })
|
|
591
591
|
}
|
|
592
592
|
)
|
|
@@ -659,7 +659,7 @@ function AgentsToolDefinitionsPageView({ labels, tools, loading, onCreate, onUpd
|
|
|
659
659
|
setSelectedToolTypes([]);
|
|
660
660
|
};
|
|
661
661
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
662
|
-
|
|
662
|
+
chunkFZUV7GNB_js.HeroSection,
|
|
663
663
|
{
|
|
664
664
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.WrenchScrewdriverIcon, { className: "h-5 w-5" }),
|
|
665
665
|
label: labels.title,
|
|
@@ -667,7 +667,7 @@ function AgentsToolDefinitionsPageView({ labels, tools, loading, onCreate, onUpd
|
|
|
667
667
|
subtitle: labels.subtitle,
|
|
668
668
|
gradient: "from-amber-500 to-orange-700",
|
|
669
669
|
toolbar: !isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
670
|
-
|
|
670
|
+
chunkFZUV7GNB_js.SearchBar,
|
|
671
671
|
{
|
|
672
672
|
searchTerm,
|
|
673
673
|
onSearchChange: setSearchTerm,
|
|
@@ -683,8 +683,8 @@ function AgentsToolDefinitionsPageView({ labels, tools, loading, onCreate, onUpd
|
|
|
683
683
|
title: labels.filtersTitle ?? "Filtros",
|
|
684
684
|
count: filterCount,
|
|
685
685
|
onClear: filterCount > 0 ? clearAllFilters : void 0,
|
|
686
|
-
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-5", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
687
|
-
|
|
686
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-5", children: /* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.FormSection, { title: labels.filterByToolType ?? "Tipo de ferramenta", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
687
|
+
chunkFZUV7GNB_js.ChipPicker,
|
|
688
688
|
{
|
|
689
689
|
items: toolTypeChipItems,
|
|
690
690
|
selectedIds: selectedToolTypes,
|
|
@@ -698,7 +698,7 @@ function AgentsToolDefinitionsPageView({ labels, tools, loading, onCreate, onUpd
|
|
|
698
698
|
}
|
|
699
699
|
) : void 0,
|
|
700
700
|
actions: /* @__PURE__ */ jsxRuntime.jsx(
|
|
701
|
-
|
|
701
|
+
chunkFZUV7GNB_js.CreateActionButton,
|
|
702
702
|
{
|
|
703
703
|
mode: "desktop",
|
|
704
704
|
label: labels.addTool,
|
|
@@ -709,7 +709,7 @@ function AgentsToolDefinitionsPageView({ labels, tools, loading, onCreate, onUpd
|
|
|
709
709
|
}
|
|
710
710
|
);
|
|
711
711
|
const mobileAction = /* @__PURE__ */ jsxRuntime.jsx(
|
|
712
|
-
|
|
712
|
+
chunkFZUV7GNB_js.CreateActionButton,
|
|
713
713
|
{
|
|
714
714
|
mode: "mobile",
|
|
715
715
|
label: labels.addTool,
|
|
@@ -717,18 +717,18 @@ function AgentsToolDefinitionsPageView({ labels, tools, loading, onCreate, onUpd
|
|
|
717
717
|
accent: "amber"
|
|
718
718
|
}
|
|
719
719
|
);
|
|
720
|
-
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
721
|
-
|
|
720
|
+
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.PageLoadingState, {}) : isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.PageEmptyState, { title: labels.empty, message: labels.subtitle, iconName: "folder-open" }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3", children: filteredTools.map((tool) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
721
|
+
chunkFZUV7GNB_js.EntityCard,
|
|
722
722
|
{
|
|
723
723
|
accentGradient: "from-amber-500 to-orange-700",
|
|
724
724
|
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" }) }),
|
|
725
725
|
title: tool.name,
|
|
726
726
|
subtitle: toolTypeLabel(tool),
|
|
727
|
-
status: /* @__PURE__ */ jsxRuntime.jsx(
|
|
727
|
+
status: /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Badge, { color: tool.enabled ? "emerald" : "zinc", children: tool.enabled ? labels.enabled : labels.disabled }),
|
|
728
728
|
footer: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
|
|
729
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
729
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Button, { type: "button", size: "sm", outline: true, onClick: () => setEditing(tool), children: labels.edit }),
|
|
730
730
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
731
|
-
|
|
731
|
+
chunkMXQ2EYG2_js.Button,
|
|
732
732
|
{
|
|
733
733
|
type: "button",
|
|
734
734
|
size: "sm",
|
|
@@ -807,7 +807,7 @@ function ToolEditor({
|
|
|
807
807
|
setValue((v) => ({ ...v, [key]: next }));
|
|
808
808
|
};
|
|
809
809
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
810
|
-
|
|
810
|
+
chunkFZUV7GNB_js.GlassModal,
|
|
811
811
|
{
|
|
812
812
|
open: true,
|
|
813
813
|
onClose,
|
|
@@ -820,9 +820,9 @@ function ToolEditor({
|
|
|
820
820
|
handleSubmit();
|
|
821
821
|
},
|
|
822
822
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-5", children: [
|
|
823
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
823
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkFZUV7GNB_js.FormGrid, { children: [
|
|
824
824
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
825
|
-
|
|
825
|
+
chunkFZUV7GNB_js.FormInput,
|
|
826
826
|
{
|
|
827
827
|
label: "Name",
|
|
828
828
|
required: true,
|
|
@@ -832,7 +832,7 @@ function ToolEditor({
|
|
|
832
832
|
}
|
|
833
833
|
),
|
|
834
834
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
835
|
-
|
|
835
|
+
chunkFZUV7GNB_js.FormSelect,
|
|
836
836
|
{
|
|
837
837
|
label: "Tool type",
|
|
838
838
|
value: value.toolType,
|
|
@@ -842,7 +842,7 @@ function ToolEditor({
|
|
|
842
842
|
}
|
|
843
843
|
),
|
|
844
844
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
845
|
-
|
|
845
|
+
chunkFZUV7GNB_js.FormSelect,
|
|
846
846
|
{
|
|
847
847
|
label: "Enabled",
|
|
848
848
|
value: value.enabled ? "true" : "false",
|
|
@@ -851,7 +851,7 @@ function ToolEditor({
|
|
|
851
851
|
}
|
|
852
852
|
),
|
|
853
853
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
854
|
-
|
|
854
|
+
chunkFZUV7GNB_js.FormInput,
|
|
855
855
|
{
|
|
856
856
|
label: "Icon (optional)",
|
|
857
857
|
value: value.icon ?? "",
|
|
@@ -861,7 +861,7 @@ function ToolEditor({
|
|
|
861
861
|
)
|
|
862
862
|
] }),
|
|
863
863
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
864
|
-
|
|
864
|
+
chunkFZUV7GNB_js.FormTextarea,
|
|
865
865
|
{
|
|
866
866
|
label: "Description",
|
|
867
867
|
rows: 2,
|
|
@@ -909,7 +909,7 @@ function ParametersEditor({
|
|
|
909
909
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2", children: [
|
|
910
910
|
parameters.map((param, index) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-[1fr_160px_1fr_110px_auto] items-end gap-2", children: [
|
|
911
911
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
912
|
-
|
|
912
|
+
chunkFZUV7GNB_js.FormInput,
|
|
913
913
|
{
|
|
914
914
|
label: "Name",
|
|
915
915
|
value: param.name,
|
|
@@ -918,7 +918,7 @@ function ParametersEditor({
|
|
|
918
918
|
}
|
|
919
919
|
),
|
|
920
920
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
921
|
-
|
|
921
|
+
chunkFZUV7GNB_js.FormSelect,
|
|
922
922
|
{
|
|
923
923
|
label: "Type",
|
|
924
924
|
value: param.type,
|
|
@@ -927,7 +927,7 @@ function ParametersEditor({
|
|
|
927
927
|
}
|
|
928
928
|
),
|
|
929
929
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
930
|
-
|
|
930
|
+
chunkFZUV7GNB_js.FormInput,
|
|
931
931
|
{
|
|
932
932
|
label: "Description",
|
|
933
933
|
value: param.description,
|
|
@@ -946,9 +946,9 @@ function ParametersEditor({
|
|
|
946
946
|
),
|
|
947
947
|
"Required"
|
|
948
948
|
] }),
|
|
949
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
949
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Button, { type: "button", plain: true, onClick: () => remove(index), children: "Remove" })
|
|
950
950
|
] }, index)),
|
|
951
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
951
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Button, { type: "button", outline: true, onClick: add, children: "+ Add parameter" })
|
|
952
952
|
] })
|
|
953
953
|
] });
|
|
954
954
|
}
|
|
@@ -961,9 +961,9 @@ function HandlerConfigEditor({
|
|
|
961
961
|
if (toolType === "http") {
|
|
962
962
|
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: [
|
|
963
963
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-2 text-sm font-semibold text-slate-700 dark:text-slate-200", children: "HTTP handler" }),
|
|
964
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
964
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkFZUV7GNB_js.FormGrid, { children: [
|
|
965
965
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
966
|
-
|
|
966
|
+
chunkFZUV7GNB_js.FormSelect,
|
|
967
967
|
{
|
|
968
968
|
label: "Method",
|
|
969
969
|
value: stringProp(config, "method", "GET"),
|
|
@@ -972,7 +972,7 @@ function HandlerConfigEditor({
|
|
|
972
972
|
}
|
|
973
973
|
),
|
|
974
974
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
975
|
-
|
|
975
|
+
chunkFZUV7GNB_js.FormInput,
|
|
976
976
|
{
|
|
977
977
|
label: "URL template",
|
|
978
978
|
value: stringProp(config, "url"),
|
|
@@ -982,7 +982,7 @@ function HandlerConfigEditor({
|
|
|
982
982
|
)
|
|
983
983
|
] }),
|
|
984
984
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
985
|
-
|
|
985
|
+
chunkFZUV7GNB_js.FormTextarea,
|
|
986
986
|
{
|
|
987
987
|
label: "Headers (JSON)",
|
|
988
988
|
rows: 3,
|
|
@@ -992,7 +992,7 @@ function HandlerConfigEditor({
|
|
|
992
992
|
}
|
|
993
993
|
),
|
|
994
994
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
995
|
-
|
|
995
|
+
chunkFZUV7GNB_js.FormTextarea,
|
|
996
996
|
{
|
|
997
997
|
label: "Body template",
|
|
998
998
|
rows: 3,
|
|
@@ -1007,7 +1007,7 @@ function HandlerConfigEditor({
|
|
|
1007
1007
|
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: [
|
|
1008
1008
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-2 text-sm font-semibold text-slate-700 dark:text-slate-200", children: "Function handler" }),
|
|
1009
1009
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1010
|
-
|
|
1010
|
+
chunkFZUV7GNB_js.FormInput,
|
|
1011
1011
|
{
|
|
1012
1012
|
label: "Implementation key",
|
|
1013
1013
|
value: stringProp(config, "implementationKey"),
|
|
@@ -1021,9 +1021,9 @@ function HandlerConfigEditor({
|
|
|
1021
1021
|
if (toolType === "database_query") {
|
|
1022
1022
|
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: [
|
|
1023
1023
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-2 text-sm font-semibold text-slate-700 dark:text-slate-200", children: "Database query handler" }),
|
|
1024
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1024
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkFZUV7GNB_js.FormGrid, { children: [
|
|
1025
1025
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1026
|
-
|
|
1026
|
+
chunkFZUV7GNB_js.FormInput,
|
|
1027
1027
|
{
|
|
1028
1028
|
label: "Datasource ID",
|
|
1029
1029
|
value: stringProp(config, "datasourceId"),
|
|
@@ -1032,7 +1032,7 @@ function HandlerConfigEditor({
|
|
|
1032
1032
|
}
|
|
1033
1033
|
),
|
|
1034
1034
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1035
|
-
|
|
1035
|
+
chunkFZUV7GNB_js.FormInput,
|
|
1036
1036
|
{
|
|
1037
1037
|
label: "Max rows",
|
|
1038
1038
|
type: "number",
|
|
@@ -1042,7 +1042,7 @@ function HandlerConfigEditor({
|
|
|
1042
1042
|
)
|
|
1043
1043
|
] }),
|
|
1044
1044
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1045
|
-
|
|
1045
|
+
chunkFZUV7GNB_js.FormTextarea,
|
|
1046
1046
|
{
|
|
1047
1047
|
label: "Query template",
|
|
1048
1048
|
rows: 4,
|
|
@@ -1058,7 +1058,7 @@ function HandlerConfigEditor({
|
|
|
1058
1058
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-2 text-sm font-semibold text-slate-700 dark:text-slate-200", children: "Code execution handler" }),
|
|
1059
1059
|
/* @__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." }),
|
|
1060
1060
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1061
|
-
|
|
1061
|
+
chunkFZUV7GNB_js.FormSelect,
|
|
1062
1062
|
{
|
|
1063
1063
|
label: "Language",
|
|
1064
1064
|
value: stringProp(config, "language", "javascript"),
|
|
@@ -1070,7 +1070,7 @@ function HandlerConfigEditor({
|
|
|
1070
1070
|
}
|
|
1071
1071
|
),
|
|
1072
1072
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1073
|
-
|
|
1073
|
+
chunkFZUV7GNB_js.FormTextarea,
|
|
1074
1074
|
{
|
|
1075
1075
|
label: "Code",
|
|
1076
1076
|
rows: 6,
|
|
@@ -1083,9 +1083,9 @@ function HandlerConfigEditor({
|
|
|
1083
1083
|
}
|
|
1084
1084
|
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: [
|
|
1085
1085
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-2 text-sm font-semibold text-slate-700 dark:text-slate-200", children: "API call handler" }),
|
|
1086
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1086
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkFZUV7GNB_js.FormGrid, { children: [
|
|
1087
1087
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1088
|
-
|
|
1088
|
+
chunkFZUV7GNB_js.FormInput,
|
|
1089
1089
|
{
|
|
1090
1090
|
label: "URL",
|
|
1091
1091
|
value: stringProp(config, "url"),
|
|
@@ -1093,7 +1093,7 @@ function HandlerConfigEditor({
|
|
|
1093
1093
|
}
|
|
1094
1094
|
),
|
|
1095
1095
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1096
|
-
|
|
1096
|
+
chunkFZUV7GNB_js.FormSelect,
|
|
1097
1097
|
{
|
|
1098
1098
|
label: "Auth",
|
|
1099
1099
|
value: stringProp(config, "authType", "bearer"),
|
|
@@ -1107,7 +1107,7 @@ function HandlerConfigEditor({
|
|
|
1107
1107
|
}
|
|
1108
1108
|
),
|
|
1109
1109
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1110
|
-
|
|
1110
|
+
chunkFZUV7GNB_js.FormInput,
|
|
1111
1111
|
{
|
|
1112
1112
|
label: "Credential secret id",
|
|
1113
1113
|
value: stringProp(config, "credentialRef"),
|
|
@@ -1232,7 +1232,7 @@ function setFromJson(set, key, raw) {
|
|
|
1232
1232
|
set(key, raw);
|
|
1233
1233
|
}
|
|
1234
1234
|
}
|
|
1235
|
-
function RulesPageView({ labels, rules, loading, onCreate, onUpdate, onDelete }) {
|
|
1235
|
+
function RulesPageView({ labels, rules, loading, onCreate, onUpdate, onDelete, onAddClick }) {
|
|
1236
1236
|
const [createOpen, setCreateOpen] = react.useState(false);
|
|
1237
1237
|
const [editing, setEditing] = react.useState(null);
|
|
1238
1238
|
const [searchTerm, setSearchTerm] = react.useState("");
|
|
@@ -1282,7 +1282,7 @@ function RulesPageView({ labels, rules, loading, onCreate, onUpdate, onDelete })
|
|
|
1282
1282
|
setExpiryFilter("all");
|
|
1283
1283
|
};
|
|
1284
1284
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
1285
|
-
|
|
1285
|
+
chunkFZUV7GNB_js.HeroSection,
|
|
1286
1286
|
{
|
|
1287
1287
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.AdjustmentsHorizontalIcon, { className: "h-5 w-5" }),
|
|
1288
1288
|
label: labels.title,
|
|
@@ -1290,7 +1290,7 @@ function RulesPageView({ labels, rules, loading, onCreate, onUpdate, onDelete })
|
|
|
1290
1290
|
subtitle: labels.subtitle,
|
|
1291
1291
|
gradient: "from-fuchsia-500 to-purple-700",
|
|
1292
1292
|
toolbar: !isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1293
|
-
|
|
1293
|
+
chunkFZUV7GNB_js.SearchBar,
|
|
1294
1294
|
{
|
|
1295
1295
|
searchTerm,
|
|
1296
1296
|
onSearchChange: setSearchTerm,
|
|
@@ -1307,44 +1307,44 @@ function RulesPageView({ labels, rules, loading, onCreate, onUpdate, onDelete })
|
|
|
1307
1307
|
count: filterCount,
|
|
1308
1308
|
onClear: filterCount > 0 ? clearAllFilters : void 0,
|
|
1309
1309
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-5", children: [
|
|
1310
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1311
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1310
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.FormSection, { title: labels.filterByStatus ?? "Status", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-wrap gap-2", children: ["all", "enabled", "disabled"].map((value) => enabledFilter === value ? /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Button, { type: "button", size: "sm", color: "ios-glass-blue", onClick: () => setEnabledFilter(value), children: statusLabelFor(value) }, value) : /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Button, { type: "button", size: "sm", outline: true, onClick: () => setEnabledFilter(value), children: statusLabelFor(value) }, value)) }) }),
|
|
1311
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.FormSection, { title: labels.filterByExpiry ?? "Validade", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-wrap gap-2", children: ["all", "expiring", "noExpiry"].map((value) => expiryFilter === value ? /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Button, { type: "button", size: "sm", color: "ios-glass-blue", onClick: () => setExpiryFilter(value), children: expiryLabelFor(value) }, value) : /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Button, { type: "button", size: "sm", outline: true, onClick: () => setExpiryFilter(value), children: expiryLabelFor(value) }, value)) }) })
|
|
1312
1312
|
] })
|
|
1313
1313
|
}
|
|
1314
1314
|
}
|
|
1315
1315
|
) : void 0,
|
|
1316
1316
|
actions: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1317
|
-
|
|
1317
|
+
chunkFZUV7GNB_js.CreateActionButton,
|
|
1318
1318
|
{
|
|
1319
1319
|
mode: "desktop",
|
|
1320
1320
|
label: labels.addRule,
|
|
1321
|
-
onClick: () => setCreateOpen(true),
|
|
1321
|
+
onClick: onAddClick ?? (() => setCreateOpen(true)),
|
|
1322
1322
|
accent: "fuchsia"
|
|
1323
1323
|
}
|
|
1324
1324
|
)
|
|
1325
1325
|
}
|
|
1326
1326
|
);
|
|
1327
1327
|
const mobileAction = /* @__PURE__ */ jsxRuntime.jsx(
|
|
1328
|
-
|
|
1328
|
+
chunkFZUV7GNB_js.CreateActionButton,
|
|
1329
1329
|
{
|
|
1330
1330
|
mode: "mobile",
|
|
1331
1331
|
label: labels.addRule,
|
|
1332
|
-
onClick: () => setCreateOpen(true),
|
|
1332
|
+
onClick: onAddClick ?? (() => setCreateOpen(true)),
|
|
1333
1333
|
accent: "fuchsia"
|
|
1334
1334
|
}
|
|
1335
1335
|
);
|
|
1336
|
-
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1337
|
-
|
|
1336
|
+
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.PageLoadingState, {}) : isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.PageEmptyState, { title: labels.empty, message: labels.subtitle, iconName: "folder-open" }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3", children: filteredRules.map((rule) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1337
|
+
chunkFZUV7GNB_js.EntityCard,
|
|
1338
1338
|
{
|
|
1339
1339
|
accentGradient: "from-fuchsia-500 to-purple-700",
|
|
1340
1340
|
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" }) }),
|
|
1341
1341
|
title: rule.name,
|
|
1342
1342
|
subtitle: `${labels.order}: ${rule.order ?? 0}`,
|
|
1343
|
-
status: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1343
|
+
status: /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Badge, { color: rule.enabled ? "emerald" : "zinc", children: rule.enabled ? labels.enabled : labels.disabled }),
|
|
1344
1344
|
footer: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
|
|
1345
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1345
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Button, { type: "button", size: "sm", outline: true, onClick: () => setEditing(rule), children: labels.edit }),
|
|
1346
1346
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1347
|
-
|
|
1347
|
+
chunkMXQ2EYG2_js.Button,
|
|
1348
1348
|
{
|
|
1349
1349
|
type: "button",
|
|
1350
1350
|
size: "sm",
|
|
@@ -1371,7 +1371,7 @@ function RulesPageView({ labels, rules, loading, onCreate, onUpdate, onDelete })
|
|
|
1371
1371
|
{
|
|
1372
1372
|
title: labels.createTitle,
|
|
1373
1373
|
saveLabel: labels.save,
|
|
1374
|
-
initial:
|
|
1374
|
+
initial: chunkZIRD3X6G_js.defaultRuleForm(),
|
|
1375
1375
|
onClose: () => setCreateOpen(false),
|
|
1376
1376
|
onSubmit: (value) => {
|
|
1377
1377
|
onCreate(value);
|
|
@@ -1403,7 +1403,7 @@ function RuleEditor({
|
|
|
1403
1403
|
}) {
|
|
1404
1404
|
const [value, setValue] = react.useState(initial);
|
|
1405
1405
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1406
|
-
|
|
1406
|
+
chunkFZUV7GNB_js.GlassModal,
|
|
1407
1407
|
{
|
|
1408
1408
|
open: true,
|
|
1409
1409
|
onClose,
|
|
@@ -1415,12 +1415,12 @@ function RuleEditor({
|
|
|
1415
1415
|
event.preventDefault();
|
|
1416
1416
|
onSubmit(value);
|
|
1417
1417
|
},
|
|
1418
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1418
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(chunkZIRD3X6G_js.RuleForm, { value, onChange: setValue })
|
|
1419
1419
|
}
|
|
1420
1420
|
);
|
|
1421
1421
|
}
|
|
1422
1422
|
function ruleToFormValue(rule) {
|
|
1423
|
-
const base =
|
|
1423
|
+
const base = chunkZIRD3X6G_js.defaultRuleForm();
|
|
1424
1424
|
const rawCondition = rule.condition ?? rule.conditions;
|
|
1425
1425
|
const rawAction = pickAction(rule);
|
|
1426
1426
|
return {
|
|
@@ -1557,7 +1557,7 @@ var SAMPLE_DATASOURCES = [
|
|
|
1557
1557
|
];
|
|
1558
1558
|
function getDialectLabel(dialect) {
|
|
1559
1559
|
if (!dialect) return "Unknown";
|
|
1560
|
-
for (const category of
|
|
1560
|
+
for (const category of chunk2II2NLAZ_js.DIALECT_CATEGORIES) {
|
|
1561
1561
|
const found = category.dialects.find((d) => d.value === dialect);
|
|
1562
1562
|
if (found) return found.label;
|
|
1563
1563
|
}
|
|
@@ -1565,12 +1565,12 @@ function getDialectLabel(dialect) {
|
|
|
1565
1565
|
}
|
|
1566
1566
|
function getDialectGradient(dialect) {
|
|
1567
1567
|
if (!dialect) return "from-gray-400 to-gray-500";
|
|
1568
|
-
const category =
|
|
1568
|
+
const category = chunk2II2NLAZ_js.findCategory(dialect);
|
|
1569
1569
|
return category?.gradient ?? "from-gray-400 to-gray-500";
|
|
1570
1570
|
}
|
|
1571
1571
|
function getDialectIcon(dialect) {
|
|
1572
1572
|
if (!dialect) return outline.CircleStackIcon;
|
|
1573
|
-
const category =
|
|
1573
|
+
const category = chunk2II2NLAZ_js.findCategory(dialect);
|
|
1574
1574
|
return category?.icon ?? outline.CircleStackIcon;
|
|
1575
1575
|
}
|
|
1576
1576
|
var DIALECT_LOGO = {
|
|
@@ -1605,7 +1605,8 @@ function DatasourcesPageView({
|
|
|
1605
1605
|
labels,
|
|
1606
1606
|
datasources: externalDatasources,
|
|
1607
1607
|
useSampleData = false,
|
|
1608
|
-
onCreate
|
|
1608
|
+
onCreate,
|
|
1609
|
+
onAddClick
|
|
1609
1610
|
}) {
|
|
1610
1611
|
const [modalOpen, setModalOpen] = react.useState(false);
|
|
1611
1612
|
const [localDatasources, setLocalDatasources] = react.useState(
|
|
@@ -1632,7 +1633,7 @@ function DatasourcesPageView({
|
|
|
1632
1633
|
});
|
|
1633
1634
|
}, [datasources, searchTerm, selectedDialects, enabledFilter, readOnlyFilter]);
|
|
1634
1635
|
const dialectChipItems = react.useMemo(
|
|
1635
|
-
() =>
|
|
1636
|
+
() => chunk2II2NLAZ_js.DIALECT_CATEGORIES.flatMap(
|
|
1636
1637
|
(cat) => cat.dialects.map((d) => ({
|
|
1637
1638
|
id: d.value,
|
|
1638
1639
|
name: d.label,
|
|
@@ -1701,7 +1702,7 @@ function DatasourcesPageView({
|
|
|
1701
1702
|
}
|
|
1702
1703
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
1703
1704
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1704
|
-
|
|
1705
|
+
chunkFZUV7GNB_js.HeroSection,
|
|
1705
1706
|
{
|
|
1706
1707
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.CircleStackIcon, { className: "h-5 w-5" }),
|
|
1707
1708
|
label: labels.title,
|
|
@@ -1709,7 +1710,7 @@ function DatasourcesPageView({
|
|
|
1709
1710
|
subtitle: labels.subtitle,
|
|
1710
1711
|
gradient: "from-amber-500 to-orange-600",
|
|
1711
1712
|
toolbar: !isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1712
|
-
|
|
1713
|
+
chunkFZUV7GNB_js.SearchBar,
|
|
1713
1714
|
{
|
|
1714
1715
|
searchTerm,
|
|
1715
1716
|
onSearchChange: setSearchTerm,
|
|
@@ -1726,8 +1727,8 @@ function DatasourcesPageView({
|
|
|
1726
1727
|
count: filterCount,
|
|
1727
1728
|
onClear: filterCount > 0 ? clearAllFilters : void 0,
|
|
1728
1729
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-5", children: [
|
|
1729
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1730
|
-
|
|
1730
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.FormSection, { title: labels.filterByDialect ?? labels.dialect ?? "Dialeto", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1731
|
+
chunkFZUV7GNB_js.ChipPicker,
|
|
1731
1732
|
{
|
|
1732
1733
|
items: dialectChipItems,
|
|
1733
1734
|
selectedIds: selectedDialects,
|
|
@@ -1737,34 +1738,34 @@ function DatasourcesPageView({
|
|
|
1737
1738
|
clearLabel: labels.clear ?? "Limpar"
|
|
1738
1739
|
}
|
|
1739
1740
|
) }),
|
|
1740
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1741
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1741
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.FormSection, { title: labels.filterByStatus ?? "Status", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-wrap gap-2", children: ["all", "enabled", "disabled"].map((value) => enabledFilter === value ? /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Button, { type: "button", size: "sm", color: "ios-glass-blue", onClick: () => setEnabledFilter(value), children: enabledLabelFor(value) }, value) : /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Button, { type: "button", size: "sm", outline: true, onClick: () => setEnabledFilter(value), children: enabledLabelFor(value) }, value)) }) }),
|
|
1742
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.FormSection, { title: labels.filterByReadOnly ?? "Modo de acesso", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-wrap gap-2", children: ["all", "readOnly", "writable"].map((value) => readOnlyFilter === value ? /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Button, { type: "button", size: "sm", color: "ios-glass-blue", onClick: () => setReadOnlyFilter(value), children: readOnlyLabelFor(value) }, value) : /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Button, { type: "button", size: "sm", outline: true, onClick: () => setReadOnlyFilter(value), children: readOnlyLabelFor(value) }, value)) }) })
|
|
1742
1743
|
] })
|
|
1743
1744
|
}
|
|
1744
1745
|
}
|
|
1745
1746
|
) : void 0,
|
|
1746
1747
|
actions: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1747
|
-
|
|
1748
|
+
chunkFZUV7GNB_js.CreateActionButton,
|
|
1748
1749
|
{
|
|
1749
1750
|
mode: "desktop",
|
|
1750
1751
|
label: labels.addDatasource,
|
|
1751
|
-
onClick: () => setModalOpen(true),
|
|
1752
|
+
onClick: onAddClick ?? (() => setModalOpen(true)),
|
|
1752
1753
|
accent: "amber"
|
|
1753
1754
|
}
|
|
1754
1755
|
)
|
|
1755
1756
|
}
|
|
1756
1757
|
),
|
|
1757
1758
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1758
|
-
|
|
1759
|
+
chunkFZUV7GNB_js.CreateActionButton,
|
|
1759
1760
|
{
|
|
1760
1761
|
mode: "mobile",
|
|
1761
1762
|
label: labels.addDatasource,
|
|
1762
|
-
onClick: () => setModalOpen(true),
|
|
1763
|
+
onClick: onAddClick ?? (() => setModalOpen(true)),
|
|
1763
1764
|
accent: "amber"
|
|
1764
1765
|
}
|
|
1765
1766
|
),
|
|
1766
1767
|
isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1767
|
-
|
|
1768
|
+
chunkFZUV7GNB_js.PageEmptyState,
|
|
1768
1769
|
{
|
|
1769
1770
|
title: labels.emptyTitle,
|
|
1770
1771
|
message: labels.emptyDescription,
|
|
@@ -1778,13 +1779,13 @@ function DatasourcesPageView({
|
|
|
1778
1779
|
const logoSrc = getDialectLogoSrc(ds.dialect);
|
|
1779
1780
|
const iconElement = logoSrc ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-11 w-11 items-center justify-center rounded-lg bg-white shadow-sm ring-1 ring-black/5 dark:bg-white/10 dark:ring-white/10", children: /* @__PURE__ */ jsxRuntime.jsx("img", { src: logoSrc, alt: dialectLabel, className: "h-7 w-7 object-contain" }) }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: `flex h-11 w-11 items-center justify-center rounded-lg bg-gradient-to-br ${gradient} shadow-lg`, children: /* @__PURE__ */ jsxRuntime.jsx(Icon, { className: "h-6 w-6 text-white" }) });
|
|
1780
1781
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1781
|
-
|
|
1782
|
+
chunkFZUV7GNB_js.EntityCard,
|
|
1782
1783
|
{
|
|
1783
1784
|
accentGradient: gradient,
|
|
1784
1785
|
icon: iconElement,
|
|
1785
1786
|
title: ds.name ?? ds.id,
|
|
1786
1787
|
subtitle: dialectLabel,
|
|
1787
|
-
status: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1788
|
+
status: /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Badge, { color: ds.enabled ? "emerald" : "zinc", children: ds.enabled ? labels.enabled : labels.disabled }),
|
|
1788
1789
|
footer: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2 text-xs text-gray-400 dark:text-gray-500", children: [
|
|
1789
1790
|
ds.readOnly && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "rounded-full bg-blue-100 px-2 py-0.5 text-[10px] font-semibold text-blue-700 dark:bg-blue-900/30 dark:text-blue-300", children: "Read-only" }),
|
|
1790
1791
|
ds.timeoutMs && /* @__PURE__ */ jsxRuntime.jsxs("span", { children: [
|
|
@@ -1808,7 +1809,7 @@ function DatasourcesPageView({
|
|
|
1808
1809
|
);
|
|
1809
1810
|
}) }),
|
|
1810
1811
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1811
|
-
|
|
1812
|
+
chunk2II2NLAZ_js.DatasourceModal,
|
|
1812
1813
|
{
|
|
1813
1814
|
open: modalOpen,
|
|
1814
1815
|
onClose: () => setModalOpen(false),
|
|
@@ -1837,7 +1838,7 @@ function AgentsIndexPageView({ labels }) {
|
|
|
1837
1838
|
const filteredTiles = searchTerm.trim() ? allTiles.filter((tile) => tile.title.toLowerCase().includes(searchTerm.trim().toLowerCase())) : allTiles;
|
|
1838
1839
|
const isEmpty = allTiles.length === 0;
|
|
1839
1840
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
1840
|
-
|
|
1841
|
+
chunkFZUV7GNB_js.HeroSection,
|
|
1841
1842
|
{
|
|
1842
1843
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.CpuChipIcon, { className: "h-5 w-5" }),
|
|
1843
1844
|
label: labels.title,
|
|
@@ -1845,7 +1846,7 @@ function AgentsIndexPageView({ labels }) {
|
|
|
1845
1846
|
subtitle: labels.subtitle,
|
|
1846
1847
|
gradient: "from-violet-500 to-indigo-700",
|
|
1847
1848
|
toolbar: !isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1848
|
-
|
|
1849
|
+
chunkFZUV7GNB_js.SearchBar,
|
|
1849
1850
|
{
|
|
1850
1851
|
searchTerm,
|
|
1851
1852
|
onSearchChange: setSearchTerm,
|
|
@@ -1858,7 +1859,7 @@ function AgentsIndexPageView({ labels }) {
|
|
|
1858
1859
|
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) => {
|
|
1859
1860
|
const Icon = tile.icon;
|
|
1860
1861
|
return /* @__PURE__ */ jsxRuntime.jsx(Link, { href: tile.href, className: "block focus:outline-none", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1861
|
-
|
|
1862
|
+
chunkFZUV7GNB_js.EntityCard,
|
|
1862
1863
|
{
|
|
1863
1864
|
accentGradient: tile.gradient,
|
|
1864
1865
|
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" }) }),
|
|
@@ -1876,7 +1877,7 @@ function WorkflowsPageView({ labels, workflows, onCreate, onUpdateMeta, onPublis
|
|
|
1876
1877
|
const selectedWorkflow = workflows[0] ?? null;
|
|
1877
1878
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-6", children: [
|
|
1878
1879
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1879
|
-
|
|
1880
|
+
chunkFZUV7GNB_js.SectionHeader,
|
|
1880
1881
|
{
|
|
1881
1882
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.RectangleStackIcon, { className: "h-5 w-5 text-white" }),
|
|
1882
1883
|
title: labels.title,
|
|
@@ -1885,9 +1886,9 @@ function WorkflowsPageView({ labels, workflows, onCreate, onUpdateMeta, onPublis
|
|
|
1885
1886
|
}
|
|
1886
1887
|
),
|
|
1887
1888
|
/* @__PURE__ */ jsxRuntime.jsxs("section", { className: "liquid-surface rounded-2xl p-4 space-y-3", children: [
|
|
1888
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1889
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.Text, { className: "font-semibold text-slate-900 dark:text-slate-100", children: labels.add }),
|
|
1889
1890
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1890
|
-
|
|
1891
|
+
chunkFZUV7GNB_js.Form,
|
|
1891
1892
|
{
|
|
1892
1893
|
onSubmit: (event) => {
|
|
1893
1894
|
event.preventDefault();
|
|
@@ -1898,32 +1899,32 @@ function WorkflowsPageView({ labels, workflows, onCreate, onUpdateMeta, onPublis
|
|
|
1898
1899
|
onCreate({ name, description });
|
|
1899
1900
|
event.currentTarget.reset();
|
|
1900
1901
|
},
|
|
1901
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1902
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1903
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1904
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1902
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(chunkFZUV7GNB_js.FormGrid, { children: [
|
|
1903
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.FormInput, { name: "name", label: labels.workflowName, placeholder: labels.workflowNamePlaceholder, required: true }),
|
|
1904
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.FormTextarea, { name: "description", label: labels.description, placeholder: labels.workflowDescriptionPlaceholder, rows: 3 }),
|
|
1905
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.FormActionsRow, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Button, { type: "submit", children: labels.create }) })
|
|
1905
1906
|
] })
|
|
1906
1907
|
}
|
|
1907
1908
|
)
|
|
1908
1909
|
] }),
|
|
1909
1910
|
/* @__PURE__ */ jsxRuntime.jsxs("section", { className: "liquid-surface rounded-2xl p-4 space-y-3", children: [
|
|
1910
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1911
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1912
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1913
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1914
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1915
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1916
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1917
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1911
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.Text, { className: "font-semibold text-slate-900 dark:text-slate-100", children: labels.registry }),
|
|
1912
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkFZUV7GNB_js.Table, { children: [
|
|
1913
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.TableHead, { children: /* @__PURE__ */ jsxRuntime.jsxs(chunkFZUV7GNB_js.TableRow, { children: [
|
|
1914
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.TableHeader, { children: labels.name }),
|
|
1915
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.TableHeader, { children: labels.description }),
|
|
1916
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.TableHeader, { children: labels.version }),
|
|
1917
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.TableHeader, { children: labels.status }),
|
|
1918
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.TableHeader, { children: labels.actions })
|
|
1918
1919
|
] }) }),
|
|
1919
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1920
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1921
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1922
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1923
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1924
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1920
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.TableBody, { children: workflows.map((workflow) => /* @__PURE__ */ jsxRuntime.jsxs(chunkFZUV7GNB_js.TableRow, { children: [
|
|
1921
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.TableCell, { children: workflow.name }),
|
|
1922
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.TableCell, { children: workflow.description }),
|
|
1923
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.TableCell, { children: String(workflow.version) }),
|
|
1924
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.TableCell, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Badge, { children: workflow.isDraft ? labels.statusDraft : labels.statusPublished }) }),
|
|
1925
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.TableCell, { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-2", children: [
|
|
1925
1926
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1926
|
-
|
|
1927
|
+
chunkFZUV7GNB_js.Form,
|
|
1927
1928
|
{
|
|
1928
1929
|
onSubmit: (event) => {
|
|
1929
1930
|
event.preventDefault();
|
|
@@ -1933,17 +1934,17 @@ function WorkflowsPageView({ labels, workflows, onCreate, onUpdateMeta, onPublis
|
|
|
1933
1934
|
description: workflow.description ?? ""
|
|
1934
1935
|
});
|
|
1935
1936
|
},
|
|
1936
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1937
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.InlineForm, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Button, { type: "submit", outline: true, children: labels.saveMeta }) })
|
|
1937
1938
|
}
|
|
1938
1939
|
),
|
|
1939
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1940
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Button, { type: "button", color: "sky", onClick: () => onPublish(workflow.id), children: labels.publish })
|
|
1940
1941
|
] }) })
|
|
1941
1942
|
] }, workflow.id)) })
|
|
1942
1943
|
] })
|
|
1943
1944
|
] }),
|
|
1944
1945
|
/* @__PURE__ */ jsxRuntime.jsxs("section", { className: "liquid-surface rounded-2xl p-4 space-y-3", children: [
|
|
1945
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1946
|
-
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(
|
|
1946
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.Text, { className: "font-semibold text-slate-900 dark:text-slate-100", children: labels.workspace }),
|
|
1947
|
+
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(chunkNIZSQJRW_js.WorkflowWorkspace, { graph: chunk3T2WGL47_js.adaptWorkflowGraphToUi(selectedWorkflow.graph) }) }) : /* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.Text, { children: labels.empty })
|
|
1947
1948
|
] })
|
|
1948
1949
|
] });
|
|
1949
1950
|
}
|
|
@@ -1993,7 +1994,7 @@ function WorkflowRunsPageView({ labels, runs, loading, onCancel, onReplay, onVie
|
|
|
1993
1994
|
});
|
|
1994
1995
|
const isEmpty = allRuns.length === 0;
|
|
1995
1996
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
1996
|
-
|
|
1997
|
+
chunkFZUV7GNB_js.HeroSection,
|
|
1997
1998
|
{
|
|
1998
1999
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.ClockIcon, { className: "h-5 w-5" }),
|
|
1999
2000
|
label: labels.title,
|
|
@@ -2001,7 +2002,7 @@ function WorkflowRunsPageView({ labels, runs, loading, onCancel, onReplay, onVie
|
|
|
2001
2002
|
subtitle: labels.subtitle,
|
|
2002
2003
|
gradient: "from-indigo-500 to-sky-700",
|
|
2003
2004
|
toolbar: !isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
2004
|
-
|
|
2005
|
+
chunkFZUV7GNB_js.SearchBar,
|
|
2005
2006
|
{
|
|
2006
2007
|
searchTerm,
|
|
2007
2008
|
onSearchChange: setSearchTerm,
|
|
@@ -2015,7 +2016,7 @@ function WorkflowRunsPageView({ labels, runs, loading, onCancel, onReplay, onVie
|
|
|
2015
2016
|
count: statusFilter !== "all" ? 1 : 0,
|
|
2016
2017
|
onClear: statusFilter !== "all" ? () => setStatusFilter("all") : void 0,
|
|
2017
2018
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2018
|
-
|
|
2019
|
+
chunkFZUV7GNB_js.FormSelect,
|
|
2019
2020
|
{
|
|
2020
2021
|
name: "statusFilter",
|
|
2021
2022
|
label: labels.filterStatus,
|
|
@@ -2029,19 +2030,19 @@ function WorkflowRunsPageView({ labels, runs, loading, onCancel, onReplay, onVie
|
|
|
2029
2030
|
) : void 0
|
|
2030
2031
|
}
|
|
2031
2032
|
);
|
|
2032
|
-
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
2033
|
-
|
|
2033
|
+
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.PageLoadingState, {}) : filteredRuns.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_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(
|
|
2034
|
+
chunkFZUV7GNB_js.EntityCard,
|
|
2034
2035
|
{
|
|
2035
2036
|
accentGradient: "from-indigo-500 to-sky-700",
|
|
2036
2037
|
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" }) }),
|
|
2037
2038
|
title: run.id.slice(0, 8),
|
|
2038
2039
|
subtitle: `${labels.startedAt}: ${new Date(run.createdAt).toLocaleString()}`,
|
|
2039
|
-
status: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2040
|
+
status: /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Badge, { color: BADGE_COLOR[run.status] ?? "zinc", children: statusLabelFor(run.status) }),
|
|
2040
2041
|
footer: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
|
|
2041
|
-
onView && /* @__PURE__ */ jsxRuntime.jsx(
|
|
2042
|
-
onViewTimeline && labels.timeline && /* @__PURE__ */ jsxRuntime.jsx(
|
|
2043
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2044
|
-
run.status === "running" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
2042
|
+
onView && /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Button, { type: "button", size: "sm", outline: true, onClick: () => onView(run), children: labels.view }),
|
|
2043
|
+
onViewTimeline && labels.timeline && /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Button, { type: "button", size: "sm", outline: true, onClick: () => onViewTimeline(run), children: labels.timeline }),
|
|
2044
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Button, { type: "button", size: "sm", outline: true, onClick: () => onReplay(run), children: labels.replay }),
|
|
2045
|
+
run.status === "running" && /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Button, { type: "button", size: "sm", color: "rose", onClick: () => onCancel(run), children: labels.cancel })
|
|
2045
2046
|
] }),
|
|
2046
2047
|
children: [
|
|
2047
2048
|
/* @__PURE__ */ jsxRuntime.jsxs("dl", { className: "mt-1 grid grid-cols-2 gap-1 text-xs text-slate-500 dark:text-slate-400", children: [
|
|
@@ -2062,7 +2063,7 @@ function WorkflowRunsPageView({ labels, runs, loading, onCancel, onReplay, onVie
|
|
|
2062
2063
|
}
|
|
2063
2064
|
function RunTimelinePageView({ labels, entries, loading, runId }) {
|
|
2064
2065
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
2065
|
-
|
|
2066
|
+
chunkFZUV7GNB_js.HeroSection,
|
|
2066
2067
|
{
|
|
2067
2068
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.ClockIcon, { className: "h-5 w-5" }),
|
|
2068
2069
|
label: labels.title,
|
|
@@ -2074,19 +2075,19 @@ function RunTimelinePageView({ labels, entries, loading, runId }) {
|
|
|
2074
2075
|
if (loading) {
|
|
2075
2076
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
2076
2077
|
hero,
|
|
2077
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2078
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.PageLoadingState, {})
|
|
2078
2079
|
] });
|
|
2079
2080
|
}
|
|
2080
2081
|
if (entries.length === 0) {
|
|
2081
2082
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
2082
2083
|
hero,
|
|
2083
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2084
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.PageEmptyState, { title: labels.empty ?? "", message: "", iconName: "folder-open" })
|
|
2084
2085
|
] });
|
|
2085
2086
|
}
|
|
2086
2087
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
2087
2088
|
hero,
|
|
2088
2089
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2089
|
-
|
|
2090
|
+
chunkZIRD3X6G_js.ExecutionTimelinePanel,
|
|
2090
2091
|
{
|
|
2091
2092
|
entries,
|
|
2092
2093
|
labels
|
|
@@ -2229,7 +2230,7 @@ function ConnectionsPageView({
|
|
|
2229
2230
|
setSelectedRegions([]);
|
|
2230
2231
|
};
|
|
2231
2232
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
2232
|
-
|
|
2233
|
+
chunkFZUV7GNB_js.HeroSection,
|
|
2233
2234
|
{
|
|
2234
2235
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.LinkIcon, { className: "h-5 w-5" }),
|
|
2235
2236
|
label: labels.title,
|
|
@@ -2237,7 +2238,7 @@ function ConnectionsPageView({
|
|
|
2237
2238
|
subtitle: labels.subtitle,
|
|
2238
2239
|
gradient: "from-sky-500 to-indigo-600",
|
|
2239
2240
|
toolbar: !isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
2240
|
-
|
|
2241
|
+
chunkFZUV7GNB_js.SearchBar,
|
|
2241
2242
|
{
|
|
2242
2243
|
searchTerm,
|
|
2243
2244
|
onSearchChange: setSearchTerm,
|
|
@@ -2254,8 +2255,8 @@ function ConnectionsPageView({
|
|
|
2254
2255
|
count: filterCount,
|
|
2255
2256
|
onClear: filterCount > 0 ? clearAllFilters : void 0,
|
|
2256
2257
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-5", children: [
|
|
2257
|
-
providerChipItems.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
2258
|
-
|
|
2258
|
+
providerChipItems.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.FormSection, { title: labels.filterByProvider ?? "Provedor", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2259
|
+
chunkFZUV7GNB_js.ChipPicker,
|
|
2259
2260
|
{
|
|
2260
2261
|
items: providerChipItems,
|
|
2261
2262
|
selectedIds: selectedProviders,
|
|
@@ -2265,8 +2266,8 @@ function ConnectionsPageView({
|
|
|
2265
2266
|
clearLabel: labels.clear ?? "Limpar"
|
|
2266
2267
|
}
|
|
2267
2268
|
) }),
|
|
2268
|
-
regionChipItems.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
2269
|
-
|
|
2269
|
+
regionChipItems.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.FormSection, { title: labels.filterByRegion ?? "Regi\xE3o", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2270
|
+
chunkFZUV7GNB_js.ChipPicker,
|
|
2270
2271
|
{
|
|
2271
2272
|
items: regionChipItems,
|
|
2272
2273
|
selectedIds: selectedRegions,
|
|
@@ -2281,7 +2282,7 @@ function ConnectionsPageView({
|
|
|
2281
2282
|
}
|
|
2282
2283
|
) : void 0,
|
|
2283
2284
|
actions: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2284
|
-
|
|
2285
|
+
chunkFZUV7GNB_js.CreateActionButton,
|
|
2285
2286
|
{
|
|
2286
2287
|
mode: "desktop",
|
|
2287
2288
|
label: labels.add,
|
|
@@ -2292,29 +2293,29 @@ function ConnectionsPageView({
|
|
|
2292
2293
|
}
|
|
2293
2294
|
);
|
|
2294
2295
|
const mobileAction = /* @__PURE__ */ jsxRuntime.jsx(
|
|
2295
|
-
|
|
2296
|
+
chunkFZUV7GNB_js.CreateActionButton,
|
|
2296
2297
|
{
|
|
2297
2298
|
mode: "mobile",
|
|
2298
2299
|
label: labels.add,
|
|
2299
|
-
onClick:
|
|
2300
|
+
onClick: openCreate,
|
|
2300
2301
|
accent: "sky"
|
|
2301
2302
|
}
|
|
2302
2303
|
);
|
|
2303
|
-
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
2304
|
-
|
|
2304
|
+
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.PageLoadingState, {}) : isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.PageEmptyState, { title: labels.empty, message: labels.subtitle, iconName: "folder-open" }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3", children: filteredConnections.map((conn) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
2305
|
+
chunkFZUV7GNB_js.EntityCard,
|
|
2305
2306
|
{
|
|
2306
2307
|
accentGradient: "from-sky-500 to-indigo-600",
|
|
2307
2308
|
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" }) }),
|
|
2308
2309
|
title: conn.name,
|
|
2309
2310
|
subtitle: providerLabel(conn.providerSlug),
|
|
2310
2311
|
status: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-1", children: [
|
|
2311
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2312
|
-
conn.credentialRef ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
2312
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Badge, { color: conn.enabled ? "emerald" : "zinc", children: conn.enabled ? labels.enable : labels.disable }),
|
|
2313
|
+
conn.credentialRef ? /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Badge, { color: "indigo", children: "Secret set" }) : /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Badge, { color: "amber", children: "No secret" })
|
|
2313
2314
|
] }),
|
|
2314
2315
|
footer: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
|
|
2315
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2316
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Button, { type: "button", size: "sm", outline: true, onClick: () => setEditing(conn), children: labels.edit }),
|
|
2316
2317
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2317
|
-
|
|
2318
|
+
chunkMXQ2EYG2_js.Button,
|
|
2318
2319
|
{
|
|
2319
2320
|
type: "button",
|
|
2320
2321
|
size: "sm",
|
|
@@ -2453,7 +2454,7 @@ function ConnectionEditor({
|
|
|
2453
2454
|
return preset.exampleModels?.join(", ") ?? "";
|
|
2454
2455
|
}, [preset]);
|
|
2455
2456
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2456
|
-
|
|
2457
|
+
chunkFZUV7GNB_js.GlassModal,
|
|
2457
2458
|
{
|
|
2458
2459
|
open: true,
|
|
2459
2460
|
onClose,
|
|
@@ -2466,9 +2467,9 @@ function ConnectionEditor({
|
|
|
2466
2467
|
void handleSubmit();
|
|
2467
2468
|
},
|
|
2468
2469
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
2469
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
2470
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkFZUV7GNB_js.FormGrid, { children: [
|
|
2470
2471
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2471
|
-
|
|
2472
|
+
chunkFZUV7GNB_js.FormSelect,
|
|
2472
2473
|
{
|
|
2473
2474
|
label: "Provider",
|
|
2474
2475
|
value: value.providerSlug,
|
|
@@ -2479,7 +2480,7 @@ function ConnectionEditor({
|
|
|
2479
2480
|
}
|
|
2480
2481
|
),
|
|
2481
2482
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2482
|
-
|
|
2483
|
+
chunkFZUV7GNB_js.FormInput,
|
|
2483
2484
|
{
|
|
2484
2485
|
label: "Display name",
|
|
2485
2486
|
required: true,
|
|
@@ -2489,7 +2490,7 @@ function ConnectionEditor({
|
|
|
2489
2490
|
}
|
|
2490
2491
|
),
|
|
2491
2492
|
preset.needsRegion && /* @__PURE__ */ jsxRuntime.jsx(
|
|
2492
|
-
|
|
2493
|
+
chunkFZUV7GNB_js.FormInput,
|
|
2493
2494
|
{
|
|
2494
2495
|
label: "Region",
|
|
2495
2496
|
value: value.region,
|
|
@@ -2498,7 +2499,7 @@ function ConnectionEditor({
|
|
|
2498
2499
|
}
|
|
2499
2500
|
),
|
|
2500
2501
|
preset.needsEndpoint && /* @__PURE__ */ jsxRuntime.jsx(
|
|
2501
|
-
|
|
2502
|
+
chunkFZUV7GNB_js.FormInput,
|
|
2502
2503
|
{
|
|
2503
2504
|
label: "Endpoint URL",
|
|
2504
2505
|
value: value.endpoint,
|
|
@@ -2508,7 +2509,7 @@ function ConnectionEditor({
|
|
|
2508
2509
|
)
|
|
2509
2510
|
] }),
|
|
2510
2511
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2511
|
-
|
|
2512
|
+
chunkFZUV7GNB_js.FormInput,
|
|
2512
2513
|
{
|
|
2513
2514
|
label: value.credentialRef ? "Rotate API key (leave blank to keep current)" : "API key",
|
|
2514
2515
|
type: "password",
|
|
@@ -2519,7 +2520,7 @@ function ConnectionEditor({
|
|
|
2519
2520
|
}
|
|
2520
2521
|
),
|
|
2521
2522
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2522
|
-
|
|
2523
|
+
chunkFZUV7GNB_js.FormInput,
|
|
2523
2524
|
{
|
|
2524
2525
|
label: "Model filter (comma-separated, optional)",
|
|
2525
2526
|
value: value.modelFilter,
|
|
@@ -2531,7 +2532,7 @@ function ConnectionEditor({
|
|
|
2531
2532
|
/* @__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: [
|
|
2532
2533
|
/* @__PURE__ */ jsxRuntime.jsx("summary", { className: "cursor-pointer font-medium text-slate-700 dark:text-slate-200", children: "Advanced config (JSON)" }),
|
|
2533
2534
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-3", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2534
|
-
|
|
2535
|
+
chunkFZUV7GNB_js.FormTextarea,
|
|
2535
2536
|
{
|
|
2536
2537
|
rows: 4,
|
|
2537
2538
|
value: value.configJson,
|
|
@@ -2652,7 +2653,7 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
|
|
|
2652
2653
|
setDisabledFilter("all");
|
|
2653
2654
|
};
|
|
2654
2655
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
2655
|
-
|
|
2656
|
+
chunkFZUV7GNB_js.HeroSection,
|
|
2656
2657
|
{
|
|
2657
2658
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.KeyIcon, { className: "h-5 w-5" }),
|
|
2658
2659
|
label: labels.title,
|
|
@@ -2660,7 +2661,7 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
|
|
|
2660
2661
|
subtitle: labels.subtitle,
|
|
2661
2662
|
gradient: "from-rose-500 to-orange-600",
|
|
2662
2663
|
toolbar: !isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
2663
|
-
|
|
2664
|
+
chunkFZUV7GNB_js.SearchBar,
|
|
2664
2665
|
{
|
|
2665
2666
|
searchTerm,
|
|
2666
2667
|
onSearchChange: setSearchTerm,
|
|
@@ -2677,8 +2678,8 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
|
|
|
2677
2678
|
count: filterCount,
|
|
2678
2679
|
onClear: filterCount > 0 ? clearAllFilters : void 0,
|
|
2679
2680
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-5", children: [
|
|
2680
|
-
typeChipItems.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
2681
|
-
|
|
2681
|
+
typeChipItems.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.FormSection, { title: labels.filterByType ?? "Tipo", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2682
|
+
chunkFZUV7GNB_js.ChipPicker,
|
|
2682
2683
|
{
|
|
2683
2684
|
items: typeChipItems,
|
|
2684
2685
|
selectedIds: selectedTypes,
|
|
@@ -2688,13 +2689,13 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
|
|
|
2688
2689
|
clearLabel: labels.clear ?? "Limpar"
|
|
2689
2690
|
}
|
|
2690
2691
|
) }),
|
|
2691
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2692
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.FormSection, { title: labels.filterByStatus ?? "Status", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-wrap gap-2", children: ["all", "active", "disabled"].map((value) => disabledFilter === value ? /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Button, { type: "button", size: "sm", color: "ios-glass-blue", onClick: () => setDisabledFilter(value), children: statusLabelFor(value) }, value) : /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Button, { type: "button", size: "sm", outline: true, onClick: () => setDisabledFilter(value), children: statusLabelFor(value) }, value)) }) })
|
|
2692
2693
|
] })
|
|
2693
2694
|
}
|
|
2694
2695
|
}
|
|
2695
2696
|
) : void 0,
|
|
2696
2697
|
actions: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2697
|
-
|
|
2698
|
+
chunkFZUV7GNB_js.CreateActionButton,
|
|
2698
2699
|
{
|
|
2699
2700
|
mode: "desktop",
|
|
2700
2701
|
label: labels.addCredential,
|
|
@@ -2705,7 +2706,7 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
|
|
|
2705
2706
|
}
|
|
2706
2707
|
);
|
|
2707
2708
|
const mobileAction = /* @__PURE__ */ jsxRuntime.jsx(
|
|
2708
|
-
|
|
2709
|
+
chunkFZUV7GNB_js.CreateActionButton,
|
|
2709
2710
|
{
|
|
2710
2711
|
mode: "mobile",
|
|
2711
2712
|
label: labels.addCredential,
|
|
@@ -2713,23 +2714,23 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
|
|
|
2713
2714
|
accent: "rose"
|
|
2714
2715
|
}
|
|
2715
2716
|
);
|
|
2716
|
-
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
2717
|
-
|
|
2717
|
+
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.PageLoadingState, {}) : isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.PageEmptyState, { title: labels.empty, message: labels.subtitle, iconName: "folder-open" }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3", children: filteredCredentials.map((secret) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2718
|
+
chunkFZUV7GNB_js.EntityCard,
|
|
2718
2719
|
{
|
|
2719
2720
|
accentGradient: "from-rose-500 to-orange-700",
|
|
2720
2721
|
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" }) }),
|
|
2721
2722
|
title: secret.name,
|
|
2722
2723
|
subtitle: secret.secretType,
|
|
2723
|
-
status: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2724
|
+
status: /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Badge, { color: secret.disabled ? "zinc" : "emerald", children: secret.disabled ? labels.disable : "Active" }),
|
|
2724
2725
|
footer: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between gap-2", children: [
|
|
2725
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2726
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.CopyableId, { id: secret.secretId }),
|
|
2726
2727
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
|
|
2727
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
2728
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkMXQ2EYG2_js.Button, { type: "button", size: "sm", outline: true, onClick: () => setRotateFor(secret), children: [
|
|
2728
2729
|
/* @__PURE__ */ jsxRuntime.jsx(outline.ArrowPathIcon, { className: "mr-1 h-3.5 w-3.5" }),
|
|
2729
2730
|
labels.rotate
|
|
2730
2731
|
] }),
|
|
2731
2732
|
!secret.disabled && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2732
|
-
|
|
2733
|
+
chunkMXQ2EYG2_js.Button,
|
|
2733
2734
|
{
|
|
2734
2735
|
type: "button",
|
|
2735
2736
|
size: "sm",
|
|
@@ -2764,7 +2765,7 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
|
|
|
2764
2765
|
mobileAction
|
|
2765
2766
|
] }),
|
|
2766
2767
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2767
|
-
|
|
2768
|
+
chunkFZUV7GNB_js.GlassModal,
|
|
2768
2769
|
{
|
|
2769
2770
|
open: createOpen,
|
|
2770
2771
|
onClose: () => setCreateOpen(false),
|
|
@@ -2782,16 +2783,16 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
|
|
|
2782
2783
|
onCreate({ name, value, secretType, description });
|
|
2783
2784
|
setCreateOpen(false);
|
|
2784
2785
|
},
|
|
2785
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2786
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2787
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2788
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2789
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2786
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(chunkFZUV7GNB_js.FormGrid, { children: [
|
|
2787
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.FormInput, { name: "name", label: labels.name, placeholder: labels.namePlaceholder, required: true }),
|
|
2788
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.FormSelect, { name: "secretType", label: labels.type, options: typeOptions, defaultValue: "generic" }),
|
|
2789
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.FormInput, { name: "value", label: labels.value, placeholder: labels.valuePlaceholder, required: true, type: "password" }),
|
|
2790
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.FormTextarea, { name: "description", label: labels.description, placeholder: labels.descriptionPlaceholder, rows: 2 })
|
|
2790
2791
|
] })
|
|
2791
2792
|
}
|
|
2792
2793
|
),
|
|
2793
2794
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2794
|
-
|
|
2795
|
+
chunkFZUV7GNB_js.GlassModal,
|
|
2795
2796
|
{
|
|
2796
2797
|
open: rotateFor !== null,
|
|
2797
2798
|
onClose: () => setRotateFor(null),
|
|
@@ -2806,7 +2807,7 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
|
|
|
2806
2807
|
onRotate(rotateFor, value);
|
|
2807
2808
|
setRotateFor(null);
|
|
2808
2809
|
},
|
|
2809
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2810
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.FormGrid, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.FormInput, { name: "value", label: labels.value, placeholder: labels.valuePlaceholder, required: true, type: "password" }) })
|
|
2810
2811
|
}
|
|
2811
2812
|
)
|
|
2812
2813
|
] });
|
|
@@ -2859,7 +2860,7 @@ function AgentsWorkspacePageView({
|
|
|
2859
2860
|
}, [agents, selectedId]);
|
|
2860
2861
|
const isEmpty = agents.length === 0;
|
|
2861
2862
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
2862
|
-
|
|
2863
|
+
chunkFZUV7GNB_js.HeroSection,
|
|
2863
2864
|
{
|
|
2864
2865
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.CpuChipIcon, { className: "h-5 w-5" }),
|
|
2865
2866
|
label: labels.title,
|
|
@@ -2867,7 +2868,7 @@ function AgentsWorkspacePageView({
|
|
|
2867
2868
|
subtitle: labels.subtitle,
|
|
2868
2869
|
gradient: "from-violet-500 to-indigo-700",
|
|
2869
2870
|
toolbar: !isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
2870
|
-
|
|
2871
|
+
chunkFZUV7GNB_js.SearchBar,
|
|
2871
2872
|
{
|
|
2872
2873
|
searchTerm,
|
|
2873
2874
|
onSearchChange: setSearchTerm,
|
|
@@ -2876,7 +2877,7 @@ function AgentsWorkspacePageView({
|
|
|
2876
2877
|
}
|
|
2877
2878
|
) : void 0,
|
|
2878
2879
|
actions: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2879
|
-
|
|
2880
|
+
chunkFZUV7GNB_js.CreateActionButton,
|
|
2880
2881
|
{
|
|
2881
2882
|
mode: "desktop",
|
|
2882
2883
|
label: labels.addAgent,
|
|
@@ -2887,7 +2888,7 @@ function AgentsWorkspacePageView({
|
|
|
2887
2888
|
}
|
|
2888
2889
|
);
|
|
2889
2890
|
const mobileAction = /* @__PURE__ */ jsxRuntime.jsx(
|
|
2890
|
-
|
|
2891
|
+
chunkFZUV7GNB_js.CreateActionButton,
|
|
2891
2892
|
{
|
|
2892
2893
|
mode: "mobile",
|
|
2893
2894
|
label: labels.addAgent,
|
|
@@ -2895,27 +2896,27 @@ function AgentsWorkspacePageView({
|
|
|
2895
2896
|
accent: "violet"
|
|
2896
2897
|
}
|
|
2897
2898
|
);
|
|
2898
|
-
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
2899
|
-
|
|
2899
|
+
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.PageLoadingState, {}) : isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
2900
|
+
chunkFZUV7GNB_js.PageEmptyState,
|
|
2900
2901
|
{
|
|
2901
2902
|
title: labels.empty,
|
|
2902
2903
|
message: labels.emptyMessage,
|
|
2903
2904
|
iconName: "folder-open"
|
|
2904
2905
|
}
|
|
2905
2906
|
) : /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-1 gap-4 lg:grid-cols-[20rem_minmax(0,1fr)]", children: [
|
|
2906
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "lg:sticky lg:top-4", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2907
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "lg:sticky lg:top-4", children: /* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.ListCard, { variant: "glass", children: filteredAgents.map((agent) => {
|
|
2907
2908
|
const id = String(agent.agentId ?? agent.id ?? "");
|
|
2908
2909
|
const active = id === selectedId;
|
|
2909
2910
|
const initials = deriveInitials(String(agent.name ?? id));
|
|
2910
2911
|
const modelName = models.find((m) => m.id === String(agent.modelId ?? ""))?.name ?? String(agent.modelId ?? "");
|
|
2911
2912
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2912
|
-
|
|
2913
|
+
chunkFZUV7GNB_js.ListCardItem,
|
|
2913
2914
|
{
|
|
2914
|
-
leading: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2915
|
-
trailing: agent.activePromptVersion > 0 ? /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2915
|
+
leading: /* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.Avatar, { tone: active ? "violet" : "slate", initials }),
|
|
2916
|
+
trailing: agent.activePromptVersion > 0 ? /* @__PURE__ */ jsxRuntime.jsxs(chunkMXQ2EYG2_js.Badge, { color: "emerald", children: [
|
|
2916
2917
|
"v",
|
|
2917
2918
|
agent.activePromptVersion
|
|
2918
|
-
] }) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
2919
|
+
] }) : /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Badge, { color: "zinc", children: "draft" }),
|
|
2919
2920
|
pressable: true,
|
|
2920
2921
|
onPress: () => {
|
|
2921
2922
|
setSelectedId(id);
|
|
@@ -2953,7 +2954,7 @@ function AgentsWorkspacePageView({
|
|
|
2953
2954
|
},
|
|
2954
2955
|
String(selectedAgent.agentId ?? selectedAgent.id ?? "")
|
|
2955
2956
|
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
2956
|
-
|
|
2957
|
+
chunkFZUV7GNB_js.SectionCard,
|
|
2957
2958
|
{
|
|
2958
2959
|
header: {
|
|
2959
2960
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.CpuChipIcon, { className: "h-4 w-4" }),
|
|
@@ -2961,7 +2962,7 @@ function AgentsWorkspacePageView({
|
|
|
2961
2962
|
subtitle: labels.noSelectionMessage
|
|
2962
2963
|
},
|
|
2963
2964
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2964
|
-
|
|
2965
|
+
chunkFZUV7GNB_js.PageEmptyState,
|
|
2965
2966
|
{
|
|
2966
2967
|
title: labels.noSelection,
|
|
2967
2968
|
message: labels.noSelectionMessage,
|
|
@@ -2995,7 +2996,7 @@ function AgentDetail({
|
|
|
2995
2996
|
}) {
|
|
2996
2997
|
const agentId = String(agent.agentId ?? agent.id ?? "");
|
|
2997
2998
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2998
|
-
|
|
2999
|
+
chunkFZUV7GNB_js.SectionCard,
|
|
2999
3000
|
{
|
|
3000
3001
|
header: {
|
|
3001
3002
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.CpuChipIcon, { className: "h-4 w-4" }),
|
|
@@ -3003,7 +3004,7 @@ function AgentDetail({
|
|
|
3003
3004
|
subtitle: String(agent.description ?? "")
|
|
3004
3005
|
},
|
|
3005
3006
|
actions: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3006
|
-
|
|
3007
|
+
chunkMXQ2EYG2_js.Button,
|
|
3007
3008
|
{
|
|
3008
3009
|
type: "button",
|
|
3009
3010
|
size: "sm",
|
|
@@ -3020,15 +3021,15 @@ function AgentDetail({
|
|
|
3020
3021
|
]
|
|
3021
3022
|
}
|
|
3022
3023
|
),
|
|
3023
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3024
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
3025
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3026
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3027
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3028
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3024
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(chunkFZUV7GNB_js.Tabs, { defaultValue: "general", className: "w-full", children: [
|
|
3025
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkFZUV7GNB_js.TabsList, { className: "bg-white/40 dark:bg-white/[0.06]", children: [
|
|
3026
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.TabsTrigger, { value: "general", children: labels.generalTab }),
|
|
3027
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.TabsTrigger, { value: "prompt", children: labels.promptTab }),
|
|
3028
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.TabsTrigger, { value: "tools", children: labels.toolsTab }),
|
|
3029
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.TabsTrigger, { value: "model", children: labels.modelTab })
|
|
3029
3030
|
] }),
|
|
3030
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3031
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3031
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.TabsContent, { value: "general", className: "space-y-4 pt-4", children: /* @__PURE__ */ jsxRuntime.jsx(GeneralTab, { agent, labels, onSubmit: (input) => onUpdateAgent(agentId, input) }) }),
|
|
3032
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.TabsContent, { value: "prompt", className: "space-y-4 pt-4", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
3032
3033
|
PromptTab,
|
|
3033
3034
|
{
|
|
3034
3035
|
agent,
|
|
@@ -3038,7 +3039,7 @@ function AgentDetail({
|
|
|
3038
3039
|
onActivate: (promptId) => onActivatePrompt(agentId, promptId)
|
|
3039
3040
|
}
|
|
3040
3041
|
) }),
|
|
3041
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3042
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.TabsContent, { value: "tools", className: "space-y-4 pt-4", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
3042
3043
|
ToolsTab,
|
|
3043
3044
|
{
|
|
3044
3045
|
agent,
|
|
@@ -3048,7 +3049,7 @@ function AgentDetail({
|
|
|
3048
3049
|
onDetach: (toolId) => onDetachTool(agentId, toolId)
|
|
3049
3050
|
}
|
|
3050
3051
|
) }),
|
|
3051
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3052
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.TabsContent, { value: "model", className: "space-y-4 pt-4", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
3052
3053
|
ModelTab,
|
|
3053
3054
|
{
|
|
3054
3055
|
agent,
|
|
@@ -3080,7 +3081,7 @@ function GeneralTab({
|
|
|
3080
3081
|
const initialRole = String(agent.role ?? "");
|
|
3081
3082
|
const initialStatus = String(agent.status ?? "draft");
|
|
3082
3083
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3083
|
-
|
|
3084
|
+
chunkFZUV7GNB_js.SectionCard,
|
|
3084
3085
|
{
|
|
3085
3086
|
variant: "glass",
|
|
3086
3087
|
header: {
|
|
@@ -3109,10 +3110,10 @@ function GeneralTab({
|
|
|
3109
3110
|
},
|
|
3110
3111
|
className: "space-y-4",
|
|
3111
3112
|
children: [
|
|
3112
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
3113
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3113
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkFZUV7GNB_js.FormGrid, { children: [
|
|
3114
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.FormInput, { name: "name", label: labels.name, defaultValue: initial.name, required: true }),
|
|
3114
3115
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3115
|
-
|
|
3116
|
+
chunkFZUV7GNB_js.FormSelect,
|
|
3116
3117
|
{
|
|
3117
3118
|
name: "status",
|
|
3118
3119
|
label: labels.status,
|
|
@@ -3124,9 +3125,9 @@ function GeneralTab({
|
|
|
3124
3125
|
]
|
|
3125
3126
|
}
|
|
3126
3127
|
),
|
|
3127
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3128
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.FormInput, { name: "role", label: labels.role, placeholder: labels.rolePlaceholder, defaultValue: initialRole }),
|
|
3128
3129
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3129
|
-
|
|
3130
|
+
chunkFZUV7GNB_js.FormInput,
|
|
3130
3131
|
{
|
|
3131
3132
|
name: "maxTokens",
|
|
3132
3133
|
label: labels.maxTokens,
|
|
@@ -3135,7 +3136,7 @@ function GeneralTab({
|
|
|
3135
3136
|
}
|
|
3136
3137
|
),
|
|
3137
3138
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3138
|
-
|
|
3139
|
+
chunkFZUV7GNB_js.FormInput,
|
|
3139
3140
|
{
|
|
3140
3141
|
name: "temperature",
|
|
3141
3142
|
label: labels.temperature,
|
|
@@ -3147,8 +3148,8 @@ function GeneralTab({
|
|
|
3147
3148
|
}
|
|
3148
3149
|
)
|
|
3149
3150
|
] }),
|
|
3150
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3151
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex justify-end", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
3151
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.FormTextarea, { name: "description", label: labels.description, defaultValue: initialDescription, rows: 3 }),
|
|
3152
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex justify-end", children: /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Button, { type: "submit", color: "indigo", disabled: submitting, children: submitting ? labels.saving : labels.save }) })
|
|
3152
3153
|
]
|
|
3153
3154
|
}
|
|
3154
3155
|
)
|
|
@@ -3167,7 +3168,7 @@ function PromptTab({
|
|
|
3167
3168
|
const currentSystem = String(agent.systemPrompt ?? "");
|
|
3168
3169
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
3169
3170
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3170
|
-
|
|
3171
|
+
chunkFZUV7GNB_js.SectionCard,
|
|
3171
3172
|
{
|
|
3172
3173
|
variant: "glass",
|
|
3173
3174
|
header: {
|
|
@@ -3179,27 +3180,27 @@ function PromptTab({
|
|
|
3179
3180
|
}
|
|
3180
3181
|
),
|
|
3181
3182
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3182
|
-
|
|
3183
|
+
chunkFZUV7GNB_js.SectionCard,
|
|
3183
3184
|
{
|
|
3184
3185
|
variant: "glass",
|
|
3185
3186
|
header: {
|
|
3186
3187
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.ChatBubbleLeftEllipsisIcon, { className: "h-4 w-4" }),
|
|
3187
3188
|
title: labels.promptVersions
|
|
3188
3189
|
},
|
|
3189
|
-
actions: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3190
|
+
actions: /* @__PURE__ */ jsxRuntime.jsxs(chunkMXQ2EYG2_js.Button, { type: "button", size: "sm", outline: true, onClick: () => setAddOpen(true), children: [
|
|
3190
3191
|
/* @__PURE__ */ jsxRuntime.jsx(outline.PlusIcon, { className: "h-4 w-4" }),
|
|
3191
3192
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-1.5", children: labels.addPrompt })
|
|
3192
3193
|
] }),
|
|
3193
|
-
children: prompts.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-slate-500 dark:text-slate-400", children: labels.promptVersionsEmpty }) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
3194
|
+
children: prompts.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-slate-500 dark:text-slate-400", children: labels.promptVersionsEmpty }) : /* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.ListCard, { children: prompts.map((prompt) => {
|
|
3194
3195
|
const id = `${prompt.agentId}:${prompt.locale}:${prompt.version}`;
|
|
3195
3196
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3196
|
-
|
|
3197
|
+
chunkFZUV7GNB_js.ListCardItem,
|
|
3197
3198
|
{
|
|
3198
|
-
leading: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3199
|
+
leading: /* @__PURE__ */ jsxRuntime.jsxs(chunkMXQ2EYG2_js.Badge, { color: prompt.isActive ? "emerald" : "zinc", children: [
|
|
3199
3200
|
"v",
|
|
3200
3201
|
prompt.version
|
|
3201
3202
|
] }),
|
|
3202
|
-
trailing: prompt.isActive ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
3203
|
+
trailing: prompt.isActive ? /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Badge, { color: "emerald", children: labels.activated }) : /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Button, { type: "button", size: "sm", outline: true, onClick: () => onActivate(id), children: labels.activate }),
|
|
3203
3204
|
children: [
|
|
3204
3205
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm font-medium text-slate-700 dark:text-slate-200", children: prompt.locale }),
|
|
3205
3206
|
prompt.prompt && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-1 line-clamp-2 text-xs text-slate-500 dark:text-slate-400", children: prompt.prompt })
|
|
@@ -3211,7 +3212,7 @@ function PromptTab({
|
|
|
3211
3212
|
}
|
|
3212
3213
|
),
|
|
3213
3214
|
addOpen && /* @__PURE__ */ jsxRuntime.jsx(
|
|
3214
|
-
|
|
3215
|
+
chunkFZUV7GNB_js.GlassModal,
|
|
3215
3216
|
{
|
|
3216
3217
|
open: true,
|
|
3217
3218
|
onClose: () => setAddOpen(false),
|
|
@@ -3232,10 +3233,10 @@ function PromptTab({
|
|
|
3232
3233
|
});
|
|
3233
3234
|
setAddOpen(false);
|
|
3234
3235
|
},
|
|
3235
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3236
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3236
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(chunkFZUV7GNB_js.FormGrid, { children: [
|
|
3237
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.FormSelect, { name: "locale", label: labels.promptLocale, options: LOCALE_OPTIONS2, defaultValue: "en" }),
|
|
3237
3238
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3238
|
-
|
|
3239
|
+
chunkFZUV7GNB_js.FormSelect,
|
|
3239
3240
|
{
|
|
3240
3241
|
name: "isActive",
|
|
3241
3242
|
label: labels.promptIsActive,
|
|
@@ -3246,10 +3247,10 @@ function PromptTab({
|
|
|
3246
3247
|
defaultValue: "true"
|
|
3247
3248
|
}
|
|
3248
3249
|
),
|
|
3249
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3250
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3251
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3252
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3250
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.FormInput, { name: "reason", label: labels.promptReason }),
|
|
3251
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.FormTextarea, { name: "systemPrompt", label: labels.promptSystemPrompt, rows: 3 }),
|
|
3252
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.FormTextarea, { name: "userTemplate", label: labels.promptUserTemplate, rows: 3 }),
|
|
3253
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.FormTextarea, { name: "prompt", label: labels.promptText, rows: 6, required: true })
|
|
3253
3254
|
] })
|
|
3254
3255
|
}
|
|
3255
3256
|
)
|
|
@@ -3272,18 +3273,18 @@ function ToolsTab({
|
|
|
3272
3273
|
const availableTools = tools.filter((tool) => !attachedSet.has(tool.agentToolId));
|
|
3273
3274
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
3274
3275
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3275
|
-
|
|
3276
|
+
chunkFZUV7GNB_js.SectionCard,
|
|
3276
3277
|
{
|
|
3277
3278
|
variant: "glass",
|
|
3278
3279
|
header: {
|
|
3279
3280
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.WrenchScrewdriverIcon, { className: "h-4 w-4" }),
|
|
3280
3281
|
title: labels.toolsAttached
|
|
3281
3282
|
},
|
|
3282
|
-
children: attachedTools.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-slate-500 dark:text-slate-400", children: labels.toolsEmpty }) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
3283
|
-
|
|
3283
|
+
children: attachedTools.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-slate-500 dark:text-slate-400", children: labels.toolsEmpty }) : /* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.ListCard, { children: attachedTools.map((tool) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3284
|
+
chunkFZUV7GNB_js.ListCardItem,
|
|
3284
3285
|
{
|
|
3285
3286
|
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" }) }),
|
|
3286
|
-
trailing: /* @__PURE__ */ jsxRuntime.jsx(
|
|
3287
|
+
trailing: /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Button, { type: "button", size: "sm", outline: true, onClick: () => onDetach(tool.agentToolId), children: labels.detachTool }),
|
|
3287
3288
|
children: [
|
|
3288
3289
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm font-medium text-slate-700 dark:text-slate-200", children: tool.name }),
|
|
3289
3290
|
tool.description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-0.5 line-clamp-1 text-xs text-slate-500 dark:text-slate-400", children: tool.description })
|
|
@@ -3294,18 +3295,18 @@ function ToolsTab({
|
|
|
3294
3295
|
}
|
|
3295
3296
|
),
|
|
3296
3297
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3297
|
-
|
|
3298
|
+
chunkFZUV7GNB_js.SectionCard,
|
|
3298
3299
|
{
|
|
3299
3300
|
variant: "glass",
|
|
3300
3301
|
header: {
|
|
3301
3302
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.WrenchScrewdriverIcon, { className: "h-4 w-4" }),
|
|
3302
3303
|
title: labels.toolsAvailable
|
|
3303
3304
|
},
|
|
3304
|
-
children: availableTools.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-slate-500 dark:text-slate-400", children: labels.toolsEmpty }) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
3305
|
-
|
|
3305
|
+
children: availableTools.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-slate-500 dark:text-slate-400", children: labels.toolsEmpty }) : /* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.ListCard, { children: availableTools.map((tool) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3306
|
+
chunkFZUV7GNB_js.ListCardItem,
|
|
3306
3307
|
{
|
|
3307
3308
|
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" }) }),
|
|
3308
|
-
trailing: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3309
|
+
trailing: /* @__PURE__ */ jsxRuntime.jsxs(chunkMXQ2EYG2_js.Button, { type: "button", size: "sm", color: "indigo", onClick: () => onAttach(tool.agentToolId), children: [
|
|
3309
3310
|
/* @__PURE__ */ jsxRuntime.jsx(outline.PlusIcon, { className: "h-4 w-4" }),
|
|
3310
3311
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-1.5", children: labels.attachTool })
|
|
3311
3312
|
] }),
|
|
@@ -3343,7 +3344,7 @@ function ModelTab({
|
|
|
3343
3344
|
return matches.length > 0 ? matches : connections;
|
|
3344
3345
|
}, [selectedModel, connections]);
|
|
3345
3346
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3346
|
-
|
|
3347
|
+
chunkFZUV7GNB_js.SectionCard,
|
|
3347
3348
|
{
|
|
3348
3349
|
variant: "glass",
|
|
3349
3350
|
header: {
|
|
@@ -3364,9 +3365,9 @@ function ModelTab({
|
|
|
3364
3365
|
},
|
|
3365
3366
|
className: "space-y-4",
|
|
3366
3367
|
children: [
|
|
3367
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
3368
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkFZUV7GNB_js.FormGrid, { children: [
|
|
3368
3369
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3369
|
-
|
|
3370
|
+
chunkFZUV7GNB_js.FormSelect,
|
|
3370
3371
|
{
|
|
3371
3372
|
label: labels.model,
|
|
3372
3373
|
value: modelId,
|
|
@@ -3375,7 +3376,7 @@ function ModelTab({
|
|
|
3375
3376
|
}
|
|
3376
3377
|
),
|
|
3377
3378
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3378
|
-
|
|
3379
|
+
chunkFZUV7GNB_js.FormSelect,
|
|
3379
3380
|
{
|
|
3380
3381
|
label: labels.connection,
|
|
3381
3382
|
value: connectionId,
|
|
@@ -3388,7 +3389,7 @@ function ModelTab({
|
|
|
3388
3389
|
}
|
|
3389
3390
|
)
|
|
3390
3391
|
] }),
|
|
3391
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex justify-end", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
3392
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex justify-end", children: /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Button, { type: "submit", color: "indigo", disabled: submitting || !modelId, children: submitting ? labels.saving : labels.save }) })
|
|
3392
3393
|
]
|
|
3393
3394
|
}
|
|
3394
3395
|
)
|
|
@@ -3438,11 +3439,11 @@ function RangeSliderField({
|
|
|
3438
3439
|
const ariaText = activeZone ? `${displayValue} \u2014 ${activeZone.label}` : displayValue;
|
|
3439
3440
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
3440
3441
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-2 flex items-center justify-between", children: [
|
|
3441
|
-
/* @__PURE__ */ jsxRuntime.jsx("label", { htmlFor: sliderId, className: "text-xs font-medium text-
|
|
3442
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-bold tabular-nums text-
|
|
3442
|
+
/* @__PURE__ */ jsxRuntime.jsx("label", { htmlFor: sliderId, className: "text-xs font-medium text-slate-500 dark:text-slate-400", children: label }),
|
|
3443
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-bold tabular-nums text-slate-900 dark:text-white", children: displayValue })
|
|
3443
3444
|
] }),
|
|
3444
3445
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
|
|
3445
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-x-0 top-1/2 h-2 -translate-y-1/2 overflow-hidden rounded-full bg-
|
|
3446
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-x-0 top-1/2 h-2 -translate-y-1/2 overflow-hidden rounded-full bg-slate-200 dark:bg-slate-700", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
3446
3447
|
"div",
|
|
3447
3448
|
{
|
|
3448
3449
|
className: "h-full rounded-full transition-all duration-300 ease-out motion-reduce:transition-none",
|
|
@@ -3468,7 +3469,7 @@ function RangeSliderField({
|
|
|
3468
3469
|
"aria-valuemax": max,
|
|
3469
3470
|
"aria-valuenow": value,
|
|
3470
3471
|
"aria-valuetext": ariaText,
|
|
3471
|
-
className: "relative z-10 h-5 w-full cursor-pointer appearance-none bg-transparent focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-blue-500 focus-visible:ring-offset-2 [&::-webkit-slider-thumb]:h-5 [&::-webkit-slider-thumb]:w-5 [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:rounded-full [&::-webkit-slider-thumb]:border-2 [&::-webkit-slider-thumb]:border-white [&::-webkit-slider-thumb]:shadow-lg dark:[&::-webkit-slider-thumb]:border-
|
|
3472
|
+
className: "relative z-10 h-5 w-full cursor-pointer appearance-none bg-transparent focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-blue-500 focus-visible:ring-offset-2 [&::-webkit-slider-thumb]:h-5 [&::-webkit-slider-thumb]:w-5 [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:rounded-full [&::-webkit-slider-thumb]:border-2 [&::-webkit-slider-thumb]:border-white [&::-webkit-slider-thumb]:shadow-lg dark:[&::-webkit-slider-thumb]:border-slate-900"
|
|
3472
3473
|
}
|
|
3473
3474
|
),
|
|
3474
3475
|
/* @__PURE__ */ jsxRuntime.jsx("style", { children: `[data-slider-id="${sliderId}"]::-webkit-slider-thumb { background: ${thumbColor}; box-shadow: 0 0 8px ${glow}; } [data-slider-id="${sliderId}"]::-moz-range-thumb { background: ${thumbColor}; border: 2px solid white; box-shadow: 0 0 8px ${glow}; }` })
|
|
@@ -3478,7 +3479,7 @@ function RangeSliderField({
|
|
|
3478
3479
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3479
3480
|
"span",
|
|
3480
3481
|
{
|
|
3481
|
-
className: `text-[10px] font-medium transition-colors motion-reduce:transition-none ${isActive ? z.color : "text-
|
|
3482
|
+
className: `text-[10px] font-medium transition-colors motion-reduce:transition-none ${isActive ? z.color : "text-slate-400 dark:text-slate-500"}`,
|
|
3482
3483
|
children: z.label
|
|
3483
3484
|
},
|
|
3484
3485
|
z.label
|
|
@@ -3665,7 +3666,7 @@ function AgentNewWizardPageView({
|
|
|
3665
3666
|
}
|
|
3666
3667
|
const counter = labels.wizardStepCounter.replace("{current}", String(step)).replace("{total}", String(TOTAL_STEPS));
|
|
3667
3668
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
3668
|
-
|
|
3669
|
+
chunkFZUV7GNB_js.HeroSection,
|
|
3669
3670
|
{
|
|
3670
3671
|
icon: /* @__PURE__ */ jsxRuntime.jsx(
|
|
3671
3672
|
"div",
|
|
@@ -3680,7 +3681,7 @@ function AgentNewWizardPageView({
|
|
|
3680
3681
|
subtitle: stepSubtitles[step - 1],
|
|
3681
3682
|
gradient: activePreset.accent,
|
|
3682
3683
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
3683
|
-
|
|
3684
|
+
chunkFZUV7GNB_js.StepIndicator,
|
|
3684
3685
|
{
|
|
3685
3686
|
accent: "indigo",
|
|
3686
3687
|
currentStep: step - 1,
|
|
@@ -3693,7 +3694,7 @@ function AgentNewWizardPageView({
|
|
|
3693
3694
|
);
|
|
3694
3695
|
function renderStep1() {
|
|
3695
3696
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3696
|
-
|
|
3697
|
+
chunkFZUV7GNB_js.SectionCard,
|
|
3697
3698
|
{
|
|
3698
3699
|
variant: "glass",
|
|
3699
3700
|
header: {
|
|
@@ -3709,7 +3710,7 @@ function AgentNewWizardPageView({
|
|
|
3709
3710
|
children: AGENT_PRESETS.map((preset) => {
|
|
3710
3711
|
const selected = preset.id === presetId;
|
|
3711
3712
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3712
|
-
|
|
3713
|
+
chunkFZUV7GNB_js.FilterTileButton,
|
|
3713
3714
|
{
|
|
3714
3715
|
isActive: selected,
|
|
3715
3716
|
color: preset.tileColor,
|
|
@@ -3728,7 +3729,7 @@ function AgentNewWizardPageView({
|
|
|
3728
3729
|
}
|
|
3729
3730
|
function renderStep2() {
|
|
3730
3731
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3731
|
-
|
|
3732
|
+
chunkFZUV7GNB_js.SectionCard,
|
|
3732
3733
|
{
|
|
3733
3734
|
variant: "glass",
|
|
3734
3735
|
header: {
|
|
@@ -3739,14 +3740,13 @@ function AgentNewWizardPageView({
|
|
|
3739
3740
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
3740
3741
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "mb-2 block text-xs font-semibold uppercase tracking-wider text-slate-600 dark:text-slate-400", children: labels.avatarLabel }),
|
|
3741
3742
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-wrap gap-1.5", children: EMOJI_PALETTE.map((e) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
3742
|
-
|
|
3743
|
+
chunkFZUV7GNB_js.PickerTile,
|
|
3743
3744
|
{
|
|
3744
|
-
type: "button",
|
|
3745
3745
|
onClick: () => {
|
|
3746
3746
|
setEmoji(e);
|
|
3747
3747
|
markTouched();
|
|
3748
3748
|
},
|
|
3749
|
-
|
|
3749
|
+
selected: emoji === e,
|
|
3750
3750
|
className: [
|
|
3751
3751
|
"flex h-9 w-9 items-center justify-center rounded-lg text-base transition-all",
|
|
3752
3752
|
emoji === e ? `bg-gradient-to-br ${activePreset.accent} shadow-sm ring-2 ring-indigo-500/70 ring-offset-1 ring-offset-transparent` : "liquid-surface hover:border-indigo-400/40 focus-visible:ring-2 focus-visible:ring-indigo-500/70 focus-visible:ring-offset-1"
|
|
@@ -3756,9 +3756,9 @@ function AgentNewWizardPageView({
|
|
|
3756
3756
|
e
|
|
3757
3757
|
)) })
|
|
3758
3758
|
] }),
|
|
3759
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
3759
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkFZUV7GNB_js.FormGrid, { children: [
|
|
3760
3760
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3761
|
-
|
|
3761
|
+
chunkFZUV7GNB_js.FormInput,
|
|
3762
3762
|
{
|
|
3763
3763
|
label: labels.name,
|
|
3764
3764
|
value: name,
|
|
@@ -3771,7 +3771,7 @@ function AgentNewWizardPageView({
|
|
|
3771
3771
|
}
|
|
3772
3772
|
),
|
|
3773
3773
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3774
|
-
|
|
3774
|
+
chunkFZUV7GNB_js.FormInput,
|
|
3775
3775
|
{
|
|
3776
3776
|
label: labels.role,
|
|
3777
3777
|
value: role,
|
|
@@ -3784,7 +3784,7 @@ function AgentNewWizardPageView({
|
|
|
3784
3784
|
)
|
|
3785
3785
|
] }),
|
|
3786
3786
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3787
|
-
|
|
3787
|
+
chunkFZUV7GNB_js.FormTextarea,
|
|
3788
3788
|
{
|
|
3789
3789
|
label: labels.descriptionLabel,
|
|
3790
3790
|
value: description,
|
|
@@ -3802,7 +3802,7 @@ function AgentNewWizardPageView({
|
|
|
3802
3802
|
}
|
|
3803
3803
|
function renderStep3() {
|
|
3804
3804
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3805
|
-
|
|
3805
|
+
chunkFZUV7GNB_js.SectionCard,
|
|
3806
3806
|
{
|
|
3807
3807
|
variant: "glass",
|
|
3808
3808
|
header: {
|
|
@@ -3810,9 +3810,9 @@ function AgentNewWizardPageView({
|
|
|
3810
3810
|
subtitle: labels.connectionPickPrompt
|
|
3811
3811
|
},
|
|
3812
3812
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
3813
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
3813
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkFZUV7GNB_js.FormGrid, { children: [
|
|
3814
3814
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3815
|
-
|
|
3815
|
+
chunkFZUV7GNB_js.FormSelect,
|
|
3816
3816
|
{
|
|
3817
3817
|
label: labels.connectionLabel,
|
|
3818
3818
|
value: connectionId,
|
|
@@ -3825,7 +3825,7 @@ function AgentNewWizardPageView({
|
|
|
3825
3825
|
}
|
|
3826
3826
|
),
|
|
3827
3827
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3828
|
-
|
|
3828
|
+
chunkFZUV7GNB_js.FormSelect,
|
|
3829
3829
|
{
|
|
3830
3830
|
label: labels.frameworkLabel,
|
|
3831
3831
|
value: framework,
|
|
@@ -3837,7 +3837,7 @@ function AgentNewWizardPageView({
|
|
|
3837
3837
|
}
|
|
3838
3838
|
),
|
|
3839
3839
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3840
|
-
|
|
3840
|
+
chunkFZUV7GNB_js.FormSelect,
|
|
3841
3841
|
{
|
|
3842
3842
|
label: labels.model,
|
|
3843
3843
|
value: modelId,
|
|
@@ -3850,7 +3850,7 @@ function AgentNewWizardPageView({
|
|
|
3850
3850
|
)
|
|
3851
3851
|
] }),
|
|
3852
3852
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3853
|
-
|
|
3853
|
+
chunkFZUV7GNB_js.FormTextarea,
|
|
3854
3854
|
{
|
|
3855
3855
|
label: labels.outputSchemaLabel,
|
|
3856
3856
|
value: outputSchema,
|
|
@@ -3869,7 +3869,7 @@ function AgentNewWizardPageView({
|
|
|
3869
3869
|
function renderStep4() {
|
|
3870
3870
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
3871
3871
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3872
|
-
|
|
3872
|
+
chunkFZUV7GNB_js.SectionCard,
|
|
3873
3873
|
{
|
|
3874
3874
|
variant: "glass",
|
|
3875
3875
|
header: {
|
|
@@ -3877,52 +3877,34 @@ function AgentNewWizardPageView({
|
|
|
3877
3877
|
subtitle: labels.behaviorSubtitle
|
|
3878
3878
|
},
|
|
3879
3879
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
3880
|
-
/* @__PURE__ */ jsxRuntime.
|
|
3881
|
-
|
|
3882
|
-
|
|
3883
|
-
|
|
3884
|
-
|
|
3885
|
-
|
|
3886
|
-
|
|
3887
|
-
|
|
3888
|
-
|
|
3889
|
-
|
|
3890
|
-
|
|
3891
|
-
|
|
3892
|
-
|
|
3893
|
-
|
|
3894
|
-
|
|
3895
|
-
|
|
3896
|
-
|
|
3897
|
-
|
|
3898
|
-
|
|
3899
|
-
|
|
3900
|
-
|
|
3901
|
-
|
|
3902
|
-
|
|
3903
|
-
|
|
3904
|
-
|
|
3905
|
-
|
|
3906
|
-
|
|
3907
|
-
|
|
3908
|
-
" chars"
|
|
3909
|
-
] })
|
|
3910
|
-
] }),
|
|
3911
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3912
|
-
"textarea",
|
|
3913
|
-
{
|
|
3914
|
-
id: "wizard-user-prompt",
|
|
3915
|
-
value: userPrompt,
|
|
3916
|
-
onChange: (e) => {
|
|
3917
|
-
setUserPrompt(e.target.value);
|
|
3918
|
-
markTouched();
|
|
3919
|
-
},
|
|
3920
|
-
rows: 5,
|
|
3921
|
-
className: "w-full resize-y rounded-lg border border-gray-200/50 bg-gray-50/50 px-3 py-2.5 font-mono text-xs leading-relaxed text-gray-700 outline-none transition-colors placeholder:text-gray-400 focus:border-indigo-300/50 focus:ring-1 focus:ring-indigo-300/30 motion-reduce:transition-none dark:border-white/10 dark:bg-white/5 dark:text-gray-300 dark:placeholder:text-gray-500 dark:focus:border-indigo-500/30 dark:focus:ring-indigo-500/20",
|
|
3922
|
-
placeholder: labels.userPromptPlaceholder
|
|
3923
|
-
}
|
|
3924
|
-
)
|
|
3925
|
-
] }),
|
|
3880
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3881
|
+
chunkFZUV7GNB_js.FormTextarea,
|
|
3882
|
+
{
|
|
3883
|
+
label: labels.promptSystemPrompt,
|
|
3884
|
+
value: systemPrompt,
|
|
3885
|
+
onValueChange: (v) => {
|
|
3886
|
+
setSystemPrompt(v);
|
|
3887
|
+
markTouched();
|
|
3888
|
+
},
|
|
3889
|
+
rows: 8,
|
|
3890
|
+
placeholder: labels.promptPlaceholder,
|
|
3891
|
+
hint: `${systemPrompt.length} chars`
|
|
3892
|
+
}
|
|
3893
|
+
),
|
|
3894
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3895
|
+
chunkFZUV7GNB_js.FormTextarea,
|
|
3896
|
+
{
|
|
3897
|
+
label: labels.userPromptLabel,
|
|
3898
|
+
value: userPrompt,
|
|
3899
|
+
onValueChange: (v) => {
|
|
3900
|
+
setUserPrompt(v);
|
|
3901
|
+
markTouched();
|
|
3902
|
+
},
|
|
3903
|
+
rows: 5,
|
|
3904
|
+
placeholder: labels.userPromptPlaceholder,
|
|
3905
|
+
hint: `${userPrompt.length} chars`
|
|
3906
|
+
}
|
|
3907
|
+
),
|
|
3926
3908
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3927
3909
|
RangeSliderField,
|
|
3928
3910
|
{
|
|
@@ -3985,39 +3967,33 @@ function AgentNewWizardPageView({
|
|
|
3985
3967
|
]
|
|
3986
3968
|
}
|
|
3987
3969
|
),
|
|
3988
|
-
/* @__PURE__ */ jsxRuntime.
|
|
3989
|
-
|
|
3990
|
-
|
|
3991
|
-
|
|
3992
|
-
|
|
3993
|
-
|
|
3994
|
-
|
|
3995
|
-
|
|
3996
|
-
|
|
3997
|
-
|
|
3998
|
-
|
|
3999
|
-
|
|
4000
|
-
|
|
4001
|
-
|
|
4002
|
-
|
|
4003
|
-
|
|
4004
|
-
|
|
4005
|
-
|
|
4006
|
-
|
|
4007
|
-
}
|
|
4008
|
-
)
|
|
4009
|
-
] }),
|
|
4010
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "overflow-hidden rounded-lg border border-gray-200/30 dark:border-white/10", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-3 gap-px bg-gray-200/30 dark:bg-white/10", children: [
|
|
4011
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "bg-white/60 px-3 py-2 dark:bg-gray-900/60", children: [
|
|
4012
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-[9px] uppercase tracking-wider text-gray-400 dark:text-gray-500", children: labels.model }),
|
|
4013
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "truncate text-xs font-semibold text-gray-900 dark:text-white", children: matchingModels.find((m) => m.id === modelId)?.name ?? labels.modelEmpty })
|
|
3970
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3971
|
+
chunkFZUV7GNB_js.FormInput,
|
|
3972
|
+
{
|
|
3973
|
+
label: labels.maxTokens,
|
|
3974
|
+
type: "number",
|
|
3975
|
+
value: String(maxTokens),
|
|
3976
|
+
onValueChange: (v) => {
|
|
3977
|
+
setMaxTokens(Math.max(1, Math.floor(Number(v) || 0)));
|
|
3978
|
+
markTouched();
|
|
3979
|
+
},
|
|
3980
|
+
min: 1,
|
|
3981
|
+
max: 32e3,
|
|
3982
|
+
step: 1,
|
|
3983
|
+
hint: maxTokens.toLocaleString()
|
|
3984
|
+
}
|
|
3985
|
+
),
|
|
3986
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "overflow-hidden rounded-lg border border-slate-200/30 dark:border-white/10", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-3 gap-px bg-slate-200/30 dark:bg-white/10", children: [
|
|
3987
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "bg-white/60 px-3 py-2 dark:bg-slate-900/60", children: [
|
|
3988
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-[9px] uppercase tracking-wider text-slate-400 dark:text-slate-500", children: labels.model }),
|
|
3989
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "truncate text-xs font-semibold text-slate-900 dark:text-white", children: matchingModels.find((m) => m.id === modelId)?.name ?? labels.modelEmpty })
|
|
4014
3990
|
] }),
|
|
4015
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "bg-white/60 px-3 py-2 dark:bg-
|
|
4016
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-[9px] uppercase tracking-wider text-
|
|
4017
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs font-semibold text-
|
|
3991
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "bg-white/60 px-3 py-2 dark:bg-slate-900/60", children: [
|
|
3992
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-[9px] uppercase tracking-wider text-slate-400 dark:text-slate-500", children: labels.maxTokens }),
|
|
3993
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs font-semibold text-slate-900 dark:text-white", children: maxTokens.toLocaleString() })
|
|
4018
3994
|
] }),
|
|
4019
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "bg-white/60 px-3 py-2 dark:bg-
|
|
4020
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-[9px] uppercase tracking-wider text-
|
|
3995
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "bg-white/60 px-3 py-2 dark:bg-slate-900/60", children: [
|
|
3996
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-[9px] uppercase tracking-wider text-slate-400 dark:text-slate-500", children: labels.temperature }),
|
|
4021
3997
|
/* @__PURE__ */ jsxRuntime.jsxs("p", { className: `text-xs font-semibold ${temperature <= 0.3 ? "text-blue-500" : temperature <= 0.7 ? "text-purple-500" : "text-pink-500"}`, children: [
|
|
4022
3998
|
temperature.toFixed(2),
|
|
4023
3999
|
" \xB7 ",
|
|
@@ -4029,7 +4005,7 @@ function AgentNewWizardPageView({
|
|
|
4029
4005
|
}
|
|
4030
4006
|
),
|
|
4031
4007
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4032
|
-
|
|
4008
|
+
chunkFZUV7GNB_js.SectionCard,
|
|
4033
4009
|
{
|
|
4034
4010
|
variant: "glass",
|
|
4035
4011
|
header: {
|
|
@@ -4043,14 +4019,13 @@ function AgentNewWizardPageView({
|
|
|
4043
4019
|
const selected = difficulty === opt.id;
|
|
4044
4020
|
const label = opt.id === "beginner" ? labels.difficultyBeginner : opt.id === "intermediate" ? labels.difficultyIntermediate : opt.id === "advanced" ? labels.difficultyAdvanced : labels.difficultyExpert;
|
|
4045
4021
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
4046
|
-
|
|
4022
|
+
chunkFZUV7GNB_js.PickerTile,
|
|
4047
4023
|
{
|
|
4048
|
-
type: "button",
|
|
4049
4024
|
onClick: () => {
|
|
4050
4025
|
setDifficulty(opt.id);
|
|
4051
4026
|
markTouched();
|
|
4052
4027
|
},
|
|
4053
|
-
|
|
4028
|
+
selected,
|
|
4054
4029
|
className: [
|
|
4055
4030
|
"liquid-surface flex items-center gap-2 rounded-xl px-3 py-2 text-left transition-all",
|
|
4056
4031
|
selected ? "ring-2 ring-indigo-500/70 ring-offset-1 ring-offset-transparent" : "hover:border-indigo-400/40 focus-visible:ring-2 focus-visible:ring-indigo-500/70 focus-visible:ring-offset-1"
|
|
@@ -4072,7 +4047,7 @@ function AgentNewWizardPageView({
|
|
|
4072
4047
|
}) })
|
|
4073
4048
|
] }),
|
|
4074
4049
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4075
|
-
|
|
4050
|
+
chunkFZUV7GNB_js.FormInput,
|
|
4076
4051
|
{
|
|
4077
4052
|
label: labels.tagsLabel,
|
|
4078
4053
|
value: tagsInput,
|
|
@@ -4093,14 +4068,14 @@ function AgentNewWizardPageView({
|
|
|
4093
4068
|
const connectionLabel = connectionId ? connections.find((c) => c.id === connectionId)?.name ?? labels.connectionInline : labels.connectionInline;
|
|
4094
4069
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
4095
4070
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4096
|
-
|
|
4071
|
+
chunkFZUV7GNB_js.SectionCard,
|
|
4097
4072
|
{
|
|
4098
4073
|
variant: "glass",
|
|
4099
4074
|
header: {
|
|
4100
4075
|
title: labels.wizardStep1Title,
|
|
4101
4076
|
subtitle: labels.wizardStep1Subtitle
|
|
4102
4077
|
},
|
|
4103
|
-
actions: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
4078
|
+
actions: /* @__PURE__ */ jsxRuntime.jsxs(chunkMXQ2EYG2_js.Button, { type: "button", size: "sm", outline: true, onClick: () => goToStep(1), children: [
|
|
4104
4079
|
/* @__PURE__ */ jsxRuntime.jsx(outline.PencilSquareIcon, { className: "h-4 w-4" }),
|
|
4105
4080
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-1.5", children: labels.wizardReviewEdit })
|
|
4106
4081
|
] }),
|
|
@@ -4108,14 +4083,14 @@ function AgentNewWizardPageView({
|
|
|
4108
4083
|
}
|
|
4109
4084
|
),
|
|
4110
4085
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4111
|
-
|
|
4086
|
+
chunkFZUV7GNB_js.SectionCard,
|
|
4112
4087
|
{
|
|
4113
4088
|
variant: "glass",
|
|
4114
4089
|
header: {
|
|
4115
4090
|
title: labels.wizardStep2Title,
|
|
4116
4091
|
subtitle: labels.wizardStep2Subtitle
|
|
4117
4092
|
},
|
|
4118
|
-
actions: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
4093
|
+
actions: /* @__PURE__ */ jsxRuntime.jsxs(chunkMXQ2EYG2_js.Button, { type: "button", size: "sm", outline: true, onClick: () => goToStep(2), children: [
|
|
4119
4094
|
/* @__PURE__ */ jsxRuntime.jsx(outline.PencilSquareIcon, { className: "h-4 w-4" }),
|
|
4120
4095
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-1.5", children: labels.wizardReviewEdit })
|
|
4121
4096
|
] }),
|
|
@@ -4137,14 +4112,14 @@ function AgentNewWizardPageView({
|
|
|
4137
4112
|
}
|
|
4138
4113
|
),
|
|
4139
4114
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4140
|
-
|
|
4115
|
+
chunkFZUV7GNB_js.SectionCard,
|
|
4141
4116
|
{
|
|
4142
4117
|
variant: "glass",
|
|
4143
4118
|
header: {
|
|
4144
4119
|
title: labels.wizardStep3Title,
|
|
4145
4120
|
subtitle: labels.wizardStep3Subtitle
|
|
4146
4121
|
},
|
|
4147
|
-
actions: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
4122
|
+
actions: /* @__PURE__ */ jsxRuntime.jsxs(chunkMXQ2EYG2_js.Button, { type: "button", size: "sm", outline: true, onClick: () => goToStep(3), children: [
|
|
4148
4123
|
/* @__PURE__ */ jsxRuntime.jsx(outline.PencilSquareIcon, { className: "h-4 w-4" }),
|
|
4149
4124
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-1.5", children: labels.wizardReviewEdit })
|
|
4150
4125
|
] }),
|
|
@@ -4157,14 +4132,14 @@ function AgentNewWizardPageView({
|
|
|
4157
4132
|
}
|
|
4158
4133
|
),
|
|
4159
4134
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
4160
|
-
|
|
4135
|
+
chunkFZUV7GNB_js.SectionCard,
|
|
4161
4136
|
{
|
|
4162
4137
|
variant: "glass",
|
|
4163
4138
|
header: {
|
|
4164
4139
|
title: labels.wizardStep4Title,
|
|
4165
4140
|
subtitle: labels.wizardStep4Subtitle
|
|
4166
4141
|
},
|
|
4167
|
-
actions: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
4142
|
+
actions: /* @__PURE__ */ jsxRuntime.jsxs(chunkMXQ2EYG2_js.Button, { type: "button", size: "sm", outline: true, onClick: () => goToStep(4), children: [
|
|
4168
4143
|
/* @__PURE__ */ jsxRuntime.jsx(outline.PencilSquareIcon, { className: "h-4 w-4" }),
|
|
4169
4144
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-1.5", children: labels.wizardReviewEdit })
|
|
4170
4145
|
] }),
|
|
@@ -4176,7 +4151,7 @@ function AgentNewWizardPageView({
|
|
|
4176
4151
|
/* @__PURE__ */ jsxRuntime.jsx(ReviewRow, { label: labels.maxTokens, value: maxTokens.toLocaleString() })
|
|
4177
4152
|
] }),
|
|
4178
4153
|
systemPrompt && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-3", children: [
|
|
4179
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-[10px] uppercase tracking-wider text-
|
|
4154
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-[10px] uppercase tracking-wider text-slate-400 dark:text-slate-500", children: labels.promptSystemPrompt }),
|
|
4180
4155
|
/* @__PURE__ */ jsxRuntime.jsx("pre", { className: "mt-1 line-clamp-4 whitespace-pre-wrap rounded-lg border border-slate-200/70 bg-slate-50/60 p-2 text-xs text-slate-700 dark:border-slate-700 dark:bg-slate-900/40 dark:text-slate-200", children: systemPrompt })
|
|
4181
4156
|
] })
|
|
4182
4157
|
]
|
|
@@ -4187,10 +4162,10 @@ function AgentNewWizardPageView({
|
|
|
4187
4162
|
const stepBody = step === 1 ? renderStep1() : step === 2 ? renderStep2() : step === 3 ? renderStep3() : step === 4 ? renderStep4() : renderStep5();
|
|
4188
4163
|
const advanceDisabled = !canAdvance(step);
|
|
4189
4164
|
const footer = /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap items-center justify-between gap-2 border-t border-slate-200/60 pt-4 dark:border-white/10", children: [
|
|
4190
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center gap-2", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
4165
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center gap-2", children: /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Button, { type: "button", outline: true, onClick: goBack, disabled: step === 1 || submitting, children: labels.wizardBack }) }),
|
|
4191
4166
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
4192
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4193
|
-
step < TOTAL_STEPS ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
4167
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Button, { type: "button", outline: true, onClick: cancelWithConfirm, disabled: submitting, children: labels.wizardCancel }),
|
|
4168
|
+
step < TOTAL_STEPS ? /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Button, { type: "button", color: "indigo", onClick: goNext, disabled: advanceDisabled || submitting, children: labels.wizardNext }) : /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Button, { type: "button", color: "indigo", onClick: () => void submit(), disabled: submitting, children: submitting ? labels.wizardCreate + "\u2026" : labels.wizardCreate })
|
|
4194
4169
|
] })
|
|
4195
4170
|
] });
|
|
4196
4171
|
const content = /* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -4215,8 +4190,8 @@ function AgentNewWizardPageView({
|
|
|
4215
4190
|
}
|
|
4216
4191
|
function ReviewRow({ label, value }) {
|
|
4217
4192
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rounded-lg border border-slate-200/60 bg-white/40 px-3 py-2 dark:border-white/10 dark:bg-white/[0.04]", children: [
|
|
4218
|
-
/* @__PURE__ */ jsxRuntime.jsx("dt", { className: "text-[10px] uppercase tracking-wider text-
|
|
4219
|
-
/* @__PURE__ */ jsxRuntime.jsx("dd", { className: "mt-0.5 truncate text-xs font-semibold text-
|
|
4193
|
+
/* @__PURE__ */ jsxRuntime.jsx("dt", { className: "text-[10px] uppercase tracking-wider text-slate-400 dark:text-slate-500", children: label }),
|
|
4194
|
+
/* @__PURE__ */ jsxRuntime.jsx("dd", { className: "mt-0.5 truncate text-xs font-semibold text-slate-900 dark:text-white", children: value })
|
|
4220
4195
|
] });
|
|
4221
4196
|
}
|
|
4222
4197
|
var DIALECT_LOGO_SRC = {
|
|
@@ -4306,8 +4281,8 @@ function DatasourceNewWizardPageView({
|
|
|
4306
4281
|
const [submitting, setSubmitting] = react.useState(false);
|
|
4307
4282
|
const [touched, setTouched] = react.useState(false);
|
|
4308
4283
|
const [testStatus, setTestStatus] = react.useState("idle");
|
|
4309
|
-
const dialectOption = react.useMemo(() => dialect ?
|
|
4310
|
-
const category = react.useMemo(() => dialect ?
|
|
4284
|
+
const dialectOption = react.useMemo(() => dialect ? chunk2II2NLAZ_js.findDialect(dialect) : null, [dialect]);
|
|
4285
|
+
const category = react.useMemo(() => dialect ? chunk2II2NLAZ_js.findCategory(dialect) : null, [dialect]);
|
|
4311
4286
|
react.useEffect(() => {
|
|
4312
4287
|
if (dialectOption?.defaultPort && (port === "" || /^[0-9]+$/.test(port))) {
|
|
4313
4288
|
setPort(String(dialectOption.defaultPort));
|
|
@@ -4432,7 +4407,7 @@ function DatasourceNewWizardPageView({
|
|
|
4432
4407
|
}));
|
|
4433
4408
|
const counter = labels.wizardStepCounter.replace("{current}", String(step)).replace("{total}", String(TOTAL_STEPS2));
|
|
4434
4409
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
4435
|
-
|
|
4410
|
+
chunkFZUV7GNB_js.HeroSection,
|
|
4436
4411
|
{
|
|
4437
4412
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.CircleStackIcon, { className: "h-5 w-5" }),
|
|
4438
4413
|
label: counter,
|
|
@@ -4440,7 +4415,7 @@ function DatasourceNewWizardPageView({
|
|
|
4440
4415
|
subtitle: stepSubtitles[step - 1] ?? labels.pageSubtitle,
|
|
4441
4416
|
gradient: category?.gradient ?? "from-amber-500 to-orange-600",
|
|
4442
4417
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
4443
|
-
|
|
4418
|
+
chunkFZUV7GNB_js.StepIndicator,
|
|
4444
4419
|
{
|
|
4445
4420
|
accent: "indigo",
|
|
4446
4421
|
currentStep: step - 1,
|
|
@@ -4452,11 +4427,11 @@ function DatasourceNewWizardPageView({
|
|
|
4452
4427
|
}
|
|
4453
4428
|
);
|
|
4454
4429
|
function renderStep1() {
|
|
4455
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-6", children:
|
|
4430
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-6", children: chunk2II2NLAZ_js.DIALECT_CATEGORIES.map((cat) => {
|
|
4456
4431
|
const color = CATEGORY_COLOR[cat.id] ?? "slate";
|
|
4457
4432
|
const categoryLabel = labels[cat.labelKey] ?? cat.id;
|
|
4458
4433
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
4459
|
-
|
|
4434
|
+
chunkFZUV7GNB_js.SectionCard,
|
|
4460
4435
|
{
|
|
4461
4436
|
variant: "glass",
|
|
4462
4437
|
header: {
|
|
@@ -4474,7 +4449,7 @@ function DatasourceNewWizardPageView({
|
|
|
4474
4449
|
const selected = opt.value === dialect;
|
|
4475
4450
|
const logoSrc = DIALECT_LOGO_SRC[opt.value.toLowerCase()];
|
|
4476
4451
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
4477
|
-
|
|
4452
|
+
chunkFZUV7GNB_js.FilterTileButton,
|
|
4478
4453
|
{
|
|
4479
4454
|
isActive: selected,
|
|
4480
4455
|
color,
|
|
@@ -4502,7 +4477,7 @@ function DatasourceNewWizardPageView({
|
|
|
4502
4477
|
case "standard":
|
|
4503
4478
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
4504
4479
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4505
|
-
|
|
4480
|
+
chunkFZUV7GNB_js.FormInput,
|
|
4506
4481
|
{
|
|
4507
4482
|
label: labels.fieldHost,
|
|
4508
4483
|
value: host,
|
|
@@ -4515,7 +4490,7 @@ function DatasourceNewWizardPageView({
|
|
|
4515
4490
|
}
|
|
4516
4491
|
),
|
|
4517
4492
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4518
|
-
|
|
4493
|
+
chunkFZUV7GNB_js.FormInput,
|
|
4519
4494
|
{
|
|
4520
4495
|
label: labels.fieldPort,
|
|
4521
4496
|
type: "number",
|
|
@@ -4527,7 +4502,7 @@ function DatasourceNewWizardPageView({
|
|
|
4527
4502
|
}
|
|
4528
4503
|
),
|
|
4529
4504
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4530
|
-
|
|
4505
|
+
chunkFZUV7GNB_js.FormInput,
|
|
4531
4506
|
{
|
|
4532
4507
|
label: labels.fieldDatabase,
|
|
4533
4508
|
value: database,
|
|
@@ -4540,7 +4515,7 @@ function DatasourceNewWizardPageView({
|
|
|
4540
4515
|
}
|
|
4541
4516
|
),
|
|
4542
4517
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4543
|
-
|
|
4518
|
+
chunkFZUV7GNB_js.FormInput,
|
|
4544
4519
|
{
|
|
4545
4520
|
label: labels.fieldUsername,
|
|
4546
4521
|
value: username,
|
|
@@ -4552,7 +4527,7 @@ function DatasourceNewWizardPageView({
|
|
|
4552
4527
|
}
|
|
4553
4528
|
),
|
|
4554
4529
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4555
|
-
|
|
4530
|
+
chunkFZUV7GNB_js.FormInput,
|
|
4556
4531
|
{
|
|
4557
4532
|
label: labels.fieldPassword,
|
|
4558
4533
|
type: "password",
|
|
@@ -4565,7 +4540,7 @@ function DatasourceNewWizardPageView({
|
|
|
4565
4540
|
}
|
|
4566
4541
|
),
|
|
4567
4542
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4568
|
-
|
|
4543
|
+
chunkFZUV7GNB_js.FormInput,
|
|
4569
4544
|
{
|
|
4570
4545
|
label: labels.fieldSchema,
|
|
4571
4546
|
value: schema,
|
|
@@ -4579,7 +4554,7 @@ function DatasourceNewWizardPageView({
|
|
|
4579
4554
|
] });
|
|
4580
4555
|
case "connection-string":
|
|
4581
4556
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "col-span-full", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
4582
|
-
|
|
4557
|
+
chunkFZUV7GNB_js.FormInput,
|
|
4583
4558
|
{
|
|
4584
4559
|
label: labels.fieldConnectionString,
|
|
4585
4560
|
value: connectionString,
|
|
@@ -4594,7 +4569,7 @@ function DatasourceNewWizardPageView({
|
|
|
4594
4569
|
case "cloud-bigquery":
|
|
4595
4570
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
4596
4571
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4597
|
-
|
|
4572
|
+
chunkFZUV7GNB_js.FormInput,
|
|
4598
4573
|
{
|
|
4599
4574
|
label: labels.fieldProjectId,
|
|
4600
4575
|
value: projectId,
|
|
@@ -4607,7 +4582,7 @@ function DatasourceNewWizardPageView({
|
|
|
4607
4582
|
}
|
|
4608
4583
|
),
|
|
4609
4584
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4610
|
-
|
|
4585
|
+
chunkFZUV7GNB_js.FormInput,
|
|
4611
4586
|
{
|
|
4612
4587
|
label: labels.fieldDataset,
|
|
4613
4588
|
value: dataset,
|
|
@@ -4620,7 +4595,7 @@ function DatasourceNewWizardPageView({
|
|
|
4620
4595
|
}
|
|
4621
4596
|
),
|
|
4622
4597
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "col-span-full", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
4623
|
-
|
|
4598
|
+
chunkFZUV7GNB_js.FormInput,
|
|
4624
4599
|
{
|
|
4625
4600
|
label: labels.fieldKeyFile,
|
|
4626
4601
|
value: keyFile,
|
|
@@ -4635,7 +4610,7 @@ function DatasourceNewWizardPageView({
|
|
|
4635
4610
|
case "cloud-snowflake":
|
|
4636
4611
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
4637
4612
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4638
|
-
|
|
4613
|
+
chunkFZUV7GNB_js.FormInput,
|
|
4639
4614
|
{
|
|
4640
4615
|
label: labels.fieldAccount,
|
|
4641
4616
|
value: account,
|
|
@@ -4648,7 +4623,7 @@ function DatasourceNewWizardPageView({
|
|
|
4648
4623
|
}
|
|
4649
4624
|
),
|
|
4650
4625
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4651
|
-
|
|
4626
|
+
chunkFZUV7GNB_js.FormInput,
|
|
4652
4627
|
{
|
|
4653
4628
|
label: labels.fieldWarehouse,
|
|
4654
4629
|
value: warehouseField,
|
|
@@ -4661,7 +4636,7 @@ function DatasourceNewWizardPageView({
|
|
|
4661
4636
|
}
|
|
4662
4637
|
),
|
|
4663
4638
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4664
|
-
|
|
4639
|
+
chunkFZUV7GNB_js.FormInput,
|
|
4665
4640
|
{
|
|
4666
4641
|
label: labels.fieldDatabase,
|
|
4667
4642
|
value: database,
|
|
@@ -4674,7 +4649,7 @@ function DatasourceNewWizardPageView({
|
|
|
4674
4649
|
}
|
|
4675
4650
|
),
|
|
4676
4651
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4677
|
-
|
|
4652
|
+
chunkFZUV7GNB_js.FormInput,
|
|
4678
4653
|
{
|
|
4679
4654
|
label: labels.fieldUsername,
|
|
4680
4655
|
value: username,
|
|
@@ -4687,7 +4662,7 @@ function DatasourceNewWizardPageView({
|
|
|
4687
4662
|
}
|
|
4688
4663
|
),
|
|
4689
4664
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4690
|
-
|
|
4665
|
+
chunkFZUV7GNB_js.FormInput,
|
|
4691
4666
|
{
|
|
4692
4667
|
label: labels.fieldPassword,
|
|
4693
4668
|
type: "password",
|
|
@@ -4700,7 +4675,7 @@ function DatasourceNewWizardPageView({
|
|
|
4700
4675
|
}
|
|
4701
4676
|
),
|
|
4702
4677
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4703
|
-
|
|
4678
|
+
chunkFZUV7GNB_js.FormInput,
|
|
4704
4679
|
{
|
|
4705
4680
|
label: labels.fieldSchema,
|
|
4706
4681
|
value: schema,
|
|
@@ -4715,7 +4690,7 @@ function DatasourceNewWizardPageView({
|
|
|
4715
4690
|
case "cloud-key":
|
|
4716
4691
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
4717
4692
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4718
|
-
|
|
4693
|
+
chunkFZUV7GNB_js.FormInput,
|
|
4719
4694
|
{
|
|
4720
4695
|
label: labels.fieldRegion,
|
|
4721
4696
|
value: region,
|
|
@@ -4728,7 +4703,7 @@ function DatasourceNewWizardPageView({
|
|
|
4728
4703
|
}
|
|
4729
4704
|
),
|
|
4730
4705
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4731
|
-
|
|
4706
|
+
chunkFZUV7GNB_js.FormInput,
|
|
4732
4707
|
{
|
|
4733
4708
|
label: labels.fieldToken,
|
|
4734
4709
|
type: "password",
|
|
@@ -4742,7 +4717,7 @@ function DatasourceNewWizardPageView({
|
|
|
4742
4717
|
}
|
|
4743
4718
|
),
|
|
4744
4719
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4745
|
-
|
|
4720
|
+
chunkFZUV7GNB_js.FormInput,
|
|
4746
4721
|
{
|
|
4747
4722
|
label: labels.fieldBucket,
|
|
4748
4723
|
value: bucket,
|
|
@@ -4757,7 +4732,7 @@ function DatasourceNewWizardPageView({
|
|
|
4757
4732
|
case "vector-key":
|
|
4758
4733
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
4759
4734
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4760
|
-
|
|
4735
|
+
chunkFZUV7GNB_js.FormInput,
|
|
4761
4736
|
{
|
|
4762
4737
|
label: labels.fieldApiKey,
|
|
4763
4738
|
type: "password",
|
|
@@ -4771,7 +4746,7 @@ function DatasourceNewWizardPageView({
|
|
|
4771
4746
|
}
|
|
4772
4747
|
),
|
|
4773
4748
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4774
|
-
|
|
4749
|
+
chunkFZUV7GNB_js.FormInput,
|
|
4775
4750
|
{
|
|
4776
4751
|
label: labels.fieldEnvironment,
|
|
4777
4752
|
value: environment,
|
|
@@ -4784,7 +4759,7 @@ function DatasourceNewWizardPageView({
|
|
|
4784
4759
|
}
|
|
4785
4760
|
),
|
|
4786
4761
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4787
|
-
|
|
4762
|
+
chunkFZUV7GNB_js.FormInput,
|
|
4788
4763
|
{
|
|
4789
4764
|
label: labels.fieldIndex,
|
|
4790
4765
|
value: index,
|
|
@@ -4800,13 +4775,13 @@ function DatasourceNewWizardPageView({
|
|
|
4800
4775
|
}
|
|
4801
4776
|
function renderStep2() {
|
|
4802
4777
|
if (!dialectOption) {
|
|
4803
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
4778
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(chunkFZUV7GNB_js.SectionCard, { variant: "glass", header: { title: labels.wizardStep1Title }, children: [
|
|
4804
4779
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-slate-700 dark:text-slate-200", children: labels.wizardStep1Subtitle }),
|
|
4805
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-3", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
4780
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-3", children: /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Button, { type: "button", outline: true, onClick: () => goToStep(1), children: labels.wizardBack }) })
|
|
4806
4781
|
] });
|
|
4807
4782
|
}
|
|
4808
4783
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
4809
|
-
|
|
4784
|
+
chunkFZUV7GNB_js.SectionCard,
|
|
4810
4785
|
{
|
|
4811
4786
|
variant: "glass",
|
|
4812
4787
|
header: {
|
|
@@ -4817,7 +4792,7 @@ function DatasourceNewWizardPageView({
|
|
|
4817
4792
|
},
|
|
4818
4793
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
4819
4794
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4820
|
-
|
|
4795
|
+
chunkFZUV7GNB_js.FormInput,
|
|
4821
4796
|
{
|
|
4822
4797
|
label: labels.fieldName,
|
|
4823
4798
|
value: name,
|
|
@@ -4829,10 +4804,10 @@ function DatasourceNewWizardPageView({
|
|
|
4829
4804
|
required: true
|
|
4830
4805
|
}
|
|
4831
4806
|
),
|
|
4832
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4807
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.FormGrid, { children: renderConnectionFields() }),
|
|
4833
4808
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap items-center gap-6 pt-1", children: [
|
|
4834
4809
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4835
|
-
|
|
4810
|
+
chunkFZUV7GNB_js.FormToggle,
|
|
4836
4811
|
{
|
|
4837
4812
|
checked: ssl,
|
|
4838
4813
|
onChange: (v) => {
|
|
@@ -4844,7 +4819,7 @@ function DatasourceNewWizardPageView({
|
|
|
4844
4819
|
}
|
|
4845
4820
|
),
|
|
4846
4821
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4847
|
-
|
|
4822
|
+
chunkFZUV7GNB_js.FormToggle,
|
|
4848
4823
|
{
|
|
4849
4824
|
checked: readOnly,
|
|
4850
4825
|
onChange: (v) => {
|
|
@@ -4859,20 +4834,20 @@ function DatasourceNewWizardPageView({
|
|
|
4859
4834
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-slate-500 dark:text-slate-400", children: labels.fieldReadOnlyHelp }),
|
|
4860
4835
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap items-center gap-3 border-t border-slate-200/60 pt-4 dark:border-white/10", children: [
|
|
4861
4836
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4862
|
-
|
|
4837
|
+
chunkMXQ2EYG2_js.Button,
|
|
4863
4838
|
{
|
|
4864
4839
|
type: "button",
|
|
4865
4840
|
outline: true,
|
|
4866
4841
|
onClick: () => void handleTestConnection(),
|
|
4867
4842
|
disabled: testStatus === "testing",
|
|
4868
4843
|
children: testStatus === "testing" ? /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex items-center gap-2", children: [
|
|
4869
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4844
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.Spinner, { size: "xs" }),
|
|
4870
4845
|
labels.testing
|
|
4871
4846
|
] }) : labels.testConnection
|
|
4872
4847
|
}
|
|
4873
4848
|
),
|
|
4874
|
-
testStatus === "success" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
4875
|
-
testStatus === "failed" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
4849
|
+
testStatus === "success" && /* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.StatusBadge, { status: "success", label: labels.connectionSuccess }),
|
|
4850
|
+
testStatus === "failed" && /* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.StatusBadge, { status: "error", label: labels.connectionFailed })
|
|
4876
4851
|
] })
|
|
4877
4852
|
] })
|
|
4878
4853
|
}
|
|
@@ -4880,7 +4855,7 @@ function DatasourceNewWizardPageView({
|
|
|
4880
4855
|
}
|
|
4881
4856
|
function renderStep3() {
|
|
4882
4857
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
4883
|
-
|
|
4858
|
+
chunkFZUV7GNB_js.SectionCard,
|
|
4884
4859
|
{
|
|
4885
4860
|
variant: "glass",
|
|
4886
4861
|
header: {
|
|
@@ -4888,9 +4863,9 @@ function DatasourceNewWizardPageView({
|
|
|
4888
4863
|
subtitle: labels.governanceSectionSubtitle
|
|
4889
4864
|
},
|
|
4890
4865
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
4891
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
4866
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkFZUV7GNB_js.FormGrid, { children: [
|
|
4892
4867
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4893
|
-
|
|
4868
|
+
chunkFZUV7GNB_js.FormInput,
|
|
4894
4869
|
{
|
|
4895
4870
|
label: labels.fieldMaxPoolSize,
|
|
4896
4871
|
type: "number",
|
|
@@ -4905,7 +4880,7 @@ function DatasourceNewWizardPageView({
|
|
|
4905
4880
|
}
|
|
4906
4881
|
),
|
|
4907
4882
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4908
|
-
|
|
4883
|
+
chunkFZUV7GNB_js.FormInput,
|
|
4909
4884
|
{
|
|
4910
4885
|
label: labels.fieldTimeoutMs,
|
|
4911
4886
|
type: "number",
|
|
@@ -4920,9 +4895,9 @@ function DatasourceNewWizardPageView({
|
|
|
4920
4895
|
)
|
|
4921
4896
|
] }),
|
|
4922
4897
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-1", children: [
|
|
4923
|
-
/* @__PURE__ */ jsxRuntime.jsx("label", { className: "block text-xs font-medium text-
|
|
4898
|
+
/* @__PURE__ */ jsxRuntime.jsx("label", { className: "block text-xs font-medium text-slate-500 dark:text-slate-400", children: labels.fieldAllowedTables }),
|
|
4924
4899
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4925
|
-
|
|
4900
|
+
chunkFZUV7GNB_js.ChipPicker,
|
|
4926
4901
|
{
|
|
4927
4902
|
items: allowedTablesItems,
|
|
4928
4903
|
selectedIds: allowedTablesSelected,
|
|
@@ -4944,9 +4919,9 @@ function DatasourceNewWizardPageView({
|
|
|
4944
4919
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-[11px] text-slate-500 dark:text-slate-400", children: labels.fieldAllowedTablesHint })
|
|
4945
4920
|
] }),
|
|
4946
4921
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-1", children: [
|
|
4947
|
-
/* @__PURE__ */ jsxRuntime.jsx("label", { className: "block text-xs font-medium text-
|
|
4922
|
+
/* @__PURE__ */ jsxRuntime.jsx("label", { className: "block text-xs font-medium text-slate-500 dark:text-slate-400", children: labels.fieldBlockedColumns }),
|
|
4948
4923
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4949
|
-
|
|
4924
|
+
chunkFZUV7GNB_js.ChipPicker,
|
|
4950
4925
|
{
|
|
4951
4926
|
items: blockedColumnsItems,
|
|
4952
4927
|
selectedIds: blockedColumnsSelected,
|
|
@@ -4968,7 +4943,7 @@ function DatasourceNewWizardPageView({
|
|
|
4968
4943
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-[11px] text-slate-500 dark:text-slate-400", children: labels.fieldBlockedColumnsHint })
|
|
4969
4944
|
] }),
|
|
4970
4945
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4971
|
-
|
|
4946
|
+
chunkFZUV7GNB_js.FormCheckbox,
|
|
4972
4947
|
{
|
|
4973
4948
|
checked: maskPii,
|
|
4974
4949
|
onChange: (v) => {
|
|
@@ -4990,14 +4965,14 @@ function DatasourceNewWizardPageView({
|
|
|
4990
4965
|
const blocked = blockedColumnsSelected;
|
|
4991
4966
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
4992
4967
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4993
|
-
|
|
4968
|
+
chunkFZUV7GNB_js.SectionCard,
|
|
4994
4969
|
{
|
|
4995
4970
|
variant: "glass",
|
|
4996
4971
|
header: {
|
|
4997
4972
|
title: labels.wizardStep1Title,
|
|
4998
4973
|
subtitle: labels.wizardStep1Subtitle
|
|
4999
4974
|
},
|
|
5000
|
-
actions: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
4975
|
+
actions: /* @__PURE__ */ jsxRuntime.jsxs(chunkMXQ2EYG2_js.Button, { type: "button", size: "sm", outline: true, onClick: () => goToStep(1), children: [
|
|
5001
4976
|
/* @__PURE__ */ jsxRuntime.jsx(outline.PencilSquareIcon, { className: "h-4 w-4" }),
|
|
5002
4977
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-1.5", children: labels.wizardReviewEdit })
|
|
5003
4978
|
] }),
|
|
@@ -5008,14 +4983,14 @@ function DatasourceNewWizardPageView({
|
|
|
5008
4983
|
}
|
|
5009
4984
|
),
|
|
5010
4985
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5011
|
-
|
|
4986
|
+
chunkFZUV7GNB_js.SectionCard,
|
|
5012
4987
|
{
|
|
5013
4988
|
variant: "glass",
|
|
5014
4989
|
header: {
|
|
5015
4990
|
title: labels.wizardStep2Title,
|
|
5016
4991
|
subtitle: labels.wizardStep2Subtitle
|
|
5017
4992
|
},
|
|
5018
|
-
actions: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
4993
|
+
actions: /* @__PURE__ */ jsxRuntime.jsxs(chunkMXQ2EYG2_js.Button, { type: "button", size: "sm", outline: true, onClick: () => goToStep(2), children: [
|
|
5019
4994
|
/* @__PURE__ */ jsxRuntime.jsx(outline.PencilSquareIcon, { className: "h-4 w-4" }),
|
|
5020
4995
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-1.5", children: labels.wizardReviewEdit })
|
|
5021
4996
|
] }),
|
|
@@ -5028,14 +5003,14 @@ function DatasourceNewWizardPageView({
|
|
|
5028
5003
|
}
|
|
5029
5004
|
),
|
|
5030
5005
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5031
|
-
|
|
5006
|
+
chunkFZUV7GNB_js.SectionCard,
|
|
5032
5007
|
{
|
|
5033
5008
|
variant: "glass",
|
|
5034
5009
|
header: {
|
|
5035
5010
|
title: labels.wizardStep3Title,
|
|
5036
5011
|
subtitle: labels.wizardStep3Subtitle
|
|
5037
5012
|
},
|
|
5038
|
-
actions: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
5013
|
+
actions: /* @__PURE__ */ jsxRuntime.jsxs(chunkMXQ2EYG2_js.Button, { type: "button", size: "sm", outline: true, onClick: () => goToStep(3), children: [
|
|
5039
5014
|
/* @__PURE__ */ jsxRuntime.jsx(outline.PencilSquareIcon, { className: "h-4 w-4" }),
|
|
5040
5015
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-1.5", children: labels.wizardReviewEdit })
|
|
5041
5016
|
] }),
|
|
@@ -5065,10 +5040,10 @@ function DatasourceNewWizardPageView({
|
|
|
5065
5040
|
const stepBody = step === 1 ? renderStep1() : step === 2 ? renderStep2() : step === 3 ? renderStep3() : renderStep4();
|
|
5066
5041
|
const advanceDisabled = !canAdvance(step);
|
|
5067
5042
|
const footer = /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap items-center justify-between gap-2 border-t border-slate-200/60 pt-4 dark:border-white/10", children: [
|
|
5068
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center gap-2", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
5043
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center gap-2", children: /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Button, { type: "button", outline: true, onClick: goBack, disabled: step === 1 || submitting, children: labels.wizardBack }) }),
|
|
5069
5044
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
5070
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5071
|
-
step < TOTAL_STEPS2 ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
5045
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Button, { type: "button", outline: true, onClick: cancelWithConfirm, disabled: submitting, children: labels.wizardCancel }),
|
|
5046
|
+
step < TOTAL_STEPS2 ? /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Button, { type: "button", color: "amber", onClick: goNext, disabled: advanceDisabled || submitting, children: labels.wizardNext }) : /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Button, { type: "button", color: "amber", onClick: () => void submit(), disabled: submitting || !dialect || !name.trim(), children: submitting ? labels.wizardCreate + "\u2026" : labels.wizardCreate })
|
|
5072
5047
|
] })
|
|
5073
5048
|
] });
|
|
5074
5049
|
const content = /* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -5093,8 +5068,8 @@ function DatasourceNewWizardPageView({
|
|
|
5093
5068
|
}
|
|
5094
5069
|
function ReviewRow2({ label, value }) {
|
|
5095
5070
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rounded-lg border border-slate-200/60 bg-white/40 px-3 py-2 dark:border-white/10 dark:bg-white/[0.04]", children: [
|
|
5096
|
-
/* @__PURE__ */ jsxRuntime.jsx("dt", { className: "text-[10px] uppercase tracking-wider text-
|
|
5097
|
-
/* @__PURE__ */ jsxRuntime.jsx("dd", { className: "mt-0.5 truncate text-xs font-semibold text-
|
|
5071
|
+
/* @__PURE__ */ jsxRuntime.jsx("dt", { className: "text-[10px] uppercase tracking-wider text-slate-400 dark:text-slate-500", children: label }),
|
|
5072
|
+
/* @__PURE__ */ jsxRuntime.jsx("dd", { className: "mt-0.5 truncate text-xs font-semibold text-slate-900 dark:text-white", children: value })
|
|
5098
5073
|
] });
|
|
5099
5074
|
}
|
|
5100
5075
|
async function simulateTest() {
|
|
@@ -5122,11 +5097,11 @@ function RangeSliderField2({
|
|
|
5122
5097
|
const ariaText = activeZone ? `${displayValue} \u2014 ${activeZone.label}` : displayValue;
|
|
5123
5098
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
5124
5099
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-2 flex items-center justify-between", children: [
|
|
5125
|
-
/* @__PURE__ */ jsxRuntime.jsx("label", { htmlFor: sliderId, className: "text-xs font-medium text-
|
|
5126
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-bold tabular-nums text-
|
|
5100
|
+
/* @__PURE__ */ jsxRuntime.jsx("label", { htmlFor: sliderId, className: "text-xs font-medium text-slate-500 dark:text-slate-400", children: label }),
|
|
5101
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-bold tabular-nums text-slate-900 dark:text-white", children: displayValue })
|
|
5127
5102
|
] }),
|
|
5128
5103
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
|
|
5129
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-x-0 top-1/2 h-2 -translate-y-1/2 overflow-hidden rounded-full bg-
|
|
5104
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-x-0 top-1/2 h-2 -translate-y-1/2 overflow-hidden rounded-full bg-slate-200 dark:bg-slate-700", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
5130
5105
|
"div",
|
|
5131
5106
|
{
|
|
5132
5107
|
className: "h-full rounded-full transition-all duration-300 ease-out motion-reduce:transition-none",
|
|
@@ -5152,7 +5127,7 @@ function RangeSliderField2({
|
|
|
5152
5127
|
"aria-valuemax": max,
|
|
5153
5128
|
"aria-valuenow": value,
|
|
5154
5129
|
"aria-valuetext": ariaText,
|
|
5155
|
-
className: "relative z-10 h-5 w-full cursor-pointer appearance-none bg-transparent focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-indigo-500 focus-visible:ring-offset-2 [&::-webkit-slider-thumb]:h-5 [&::-webkit-slider-thumb]:w-5 [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:rounded-full [&::-webkit-slider-thumb]:border-2 [&::-webkit-slider-thumb]:border-white [&::-webkit-slider-thumb]:shadow-lg dark:[&::-webkit-slider-thumb]:border-
|
|
5130
|
+
className: "relative z-10 h-5 w-full cursor-pointer appearance-none bg-transparent focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-indigo-500/70 focus-visible:ring-offset-2 [&::-webkit-slider-thumb]:h-5 [&::-webkit-slider-thumb]:w-5 [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:rounded-full [&::-webkit-slider-thumb]:border-2 [&::-webkit-slider-thumb]:border-white [&::-webkit-slider-thumb]:shadow-lg dark:[&::-webkit-slider-thumb]:border-slate-900"
|
|
5156
5131
|
}
|
|
5157
5132
|
),
|
|
5158
5133
|
/* @__PURE__ */ jsxRuntime.jsx("style", { children: `[data-slider-id="${sliderId}"]::-webkit-slider-thumb { background: ${thumbColor}; box-shadow: 0 0 8px ${glow}; } [data-slider-id="${sliderId}"]::-moz-range-thumb { background: ${thumbColor}; border: 2px solid white; box-shadow: 0 0 8px ${glow}; }` })
|
|
@@ -5162,7 +5137,7 @@ function RangeSliderField2({
|
|
|
5162
5137
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
5163
5138
|
"span",
|
|
5164
5139
|
{
|
|
5165
|
-
className: `text-[10px] font-medium transition-colors motion-reduce:transition-none ${isActive ? z.color : "text-
|
|
5140
|
+
className: `text-[10px] font-medium transition-colors motion-reduce:transition-none ${isActive ? z.color : "text-slate-400 dark:text-slate-500"}`,
|
|
5166
5141
|
children: z.label
|
|
5167
5142
|
},
|
|
5168
5143
|
z.label
|
|
@@ -5217,9 +5192,9 @@ function RuleNewWizardPageView({
|
|
|
5217
5192
|
text: "text-fuchsia-700 dark:text-fuchsia-300"
|
|
5218
5193
|
};
|
|
5219
5194
|
const [combinator, setCombinator] = react.useState("and");
|
|
5220
|
-
const [condition, setCondition] = react.useState(
|
|
5195
|
+
const [condition, setCondition] = react.useState(chunkZIRD3X6G_js.defaultRuleCondition());
|
|
5221
5196
|
const [actionTileId, setActionTileId] = react.useState("");
|
|
5222
|
-
const [action, setAction] = react.useState(
|
|
5197
|
+
const [action, setAction] = react.useState(chunkZIRD3X6G_js.defaultRuleAction());
|
|
5223
5198
|
const [validFromDate, setValidFromDate] = react.useState(null);
|
|
5224
5199
|
const [validFromTime, setValidFromTime] = react.useState(null);
|
|
5225
5200
|
const [validUntilDate, setValidUntilDate] = react.useState(null);
|
|
@@ -5348,7 +5323,7 @@ function RuleNewWizardPageView({
|
|
|
5348
5323
|
}));
|
|
5349
5324
|
const counter = labels.wizardStepCounter.replace("{current}", String(step)).replace("{total}", String(TOTAL_STEPS3));
|
|
5350
5325
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
5351
|
-
|
|
5326
|
+
chunkFZUV7GNB_js.HeroSection,
|
|
5352
5327
|
{
|
|
5353
5328
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.AdjustmentsHorizontalIcon, { className: "h-5 w-5" }),
|
|
5354
5329
|
label: counter,
|
|
@@ -5356,7 +5331,7 @@ function RuleNewWizardPageView({
|
|
|
5356
5331
|
subtitle: stepSubtitles[step - 1] ?? labels.pageSubtitle,
|
|
5357
5332
|
gradient: "from-fuchsia-500 to-purple-700",
|
|
5358
5333
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
5359
|
-
|
|
5334
|
+
chunkFZUV7GNB_js.StepIndicator,
|
|
5360
5335
|
{
|
|
5361
5336
|
accent: "violet",
|
|
5362
5337
|
currentStep: step - 1,
|
|
@@ -5369,7 +5344,7 @@ function RuleNewWizardPageView({
|
|
|
5369
5344
|
);
|
|
5370
5345
|
function renderStep1() {
|
|
5371
5346
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
5372
|
-
|
|
5347
|
+
chunkFZUV7GNB_js.SectionCard,
|
|
5373
5348
|
{
|
|
5374
5349
|
variant: "glass",
|
|
5375
5350
|
header: {
|
|
@@ -5378,7 +5353,7 @@ function RuleNewWizardPageView({
|
|
|
5378
5353
|
},
|
|
5379
5354
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
5380
5355
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5381
|
-
|
|
5356
|
+
chunkFZUV7GNB_js.FormInput,
|
|
5382
5357
|
{
|
|
5383
5358
|
label: labels.nameLabel,
|
|
5384
5359
|
value: name,
|
|
@@ -5391,7 +5366,7 @@ function RuleNewWizardPageView({
|
|
|
5391
5366
|
}
|
|
5392
5367
|
),
|
|
5393
5368
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5394
|
-
|
|
5369
|
+
chunkFZUV7GNB_js.FormTextarea,
|
|
5395
5370
|
{
|
|
5396
5371
|
label: labels.descriptionLabel,
|
|
5397
5372
|
value: description,
|
|
@@ -5427,7 +5402,7 @@ function RuleNewWizardPageView({
|
|
|
5427
5402
|
}
|
|
5428
5403
|
),
|
|
5429
5404
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5430
|
-
|
|
5405
|
+
chunkFZUV7GNB_js.FormToggle,
|
|
5431
5406
|
{
|
|
5432
5407
|
checked: enabled,
|
|
5433
5408
|
onChange: (v) => {
|
|
@@ -5444,7 +5419,7 @@ function RuleNewWizardPageView({
|
|
|
5444
5419
|
}
|
|
5445
5420
|
function renderStep2() {
|
|
5446
5421
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
5447
|
-
|
|
5422
|
+
chunkFZUV7GNB_js.SectionCard,
|
|
5448
5423
|
{
|
|
5449
5424
|
variant: "glass",
|
|
5450
5425
|
header: {
|
|
@@ -5455,7 +5430,7 @@ function RuleNewWizardPageView({
|
|
|
5455
5430
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
5456
5431
|
/* @__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 }),
|
|
5457
5432
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5458
|
-
|
|
5433
|
+
chunkFZUV7GNB_js.SegmentedControl,
|
|
5459
5434
|
{
|
|
5460
5435
|
segments: [
|
|
5461
5436
|
{ value: "and", label: labels.combinatorAnd },
|
|
@@ -5472,7 +5447,7 @@ function RuleNewWizardPageView({
|
|
|
5472
5447
|
)
|
|
5473
5448
|
] }),
|
|
5474
5449
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5475
|
-
|
|
5450
|
+
chunkZIRD3X6G_js.RuleConditionBuilder,
|
|
5476
5451
|
{
|
|
5477
5452
|
value: condition,
|
|
5478
5453
|
onChange: (next) => {
|
|
@@ -5488,7 +5463,7 @@ function RuleNewWizardPageView({
|
|
|
5488
5463
|
function renderStep3() {
|
|
5489
5464
|
const selectedTile = ACTION_TILES.find((t) => t.id === actionTileId) ?? null;
|
|
5490
5465
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
5491
|
-
|
|
5466
|
+
chunkFZUV7GNB_js.SectionCard,
|
|
5492
5467
|
{
|
|
5493
5468
|
variant: "glass",
|
|
5494
5469
|
header: {
|
|
@@ -5508,7 +5483,7 @@ function RuleNewWizardPageView({
|
|
|
5508
5483
|
const label = labels[tile.labelKey] ?? tile.id;
|
|
5509
5484
|
const description2 = labels[tile.descriptionKey] ?? "";
|
|
5510
5485
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
5511
|
-
|
|
5486
|
+
chunkFZUV7GNB_js.FilterTileButton,
|
|
5512
5487
|
{
|
|
5513
5488
|
isActive: selected,
|
|
5514
5489
|
color: tile.color,
|
|
@@ -5526,7 +5501,7 @@ function RuleNewWizardPageView({
|
|
|
5526
5501
|
}
|
|
5527
5502
|
),
|
|
5528
5503
|
selectedTile && /* @__PURE__ */ jsxRuntime.jsx(
|
|
5529
|
-
|
|
5504
|
+
chunkFZUV7GNB_js.SectionCard,
|
|
5530
5505
|
{
|
|
5531
5506
|
variant: "glass",
|
|
5532
5507
|
header: {
|
|
@@ -5534,7 +5509,7 @@ function RuleNewWizardPageView({
|
|
|
5534
5509
|
subtitle: labels.actionConfigSubtitle
|
|
5535
5510
|
},
|
|
5536
5511
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
5537
|
-
|
|
5512
|
+
chunkZIRD3X6G_js.RuleActionBuilder,
|
|
5538
5513
|
{
|
|
5539
5514
|
value: action,
|
|
5540
5515
|
onChange: (next) => {
|
|
@@ -5551,7 +5526,7 @@ function RuleNewWizardPageView({
|
|
|
5551
5526
|
}
|
|
5552
5527
|
function renderStep4() {
|
|
5553
5528
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-4", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
5554
|
-
|
|
5529
|
+
chunkFZUV7GNB_js.SectionCard,
|
|
5555
5530
|
{
|
|
5556
5531
|
variant: "glass",
|
|
5557
5532
|
header: {
|
|
@@ -5559,12 +5534,12 @@ function RuleNewWizardPageView({
|
|
|
5559
5534
|
subtitle: labels.scheduleSectionSubtitle
|
|
5560
5535
|
},
|
|
5561
5536
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-5", children: [
|
|
5562
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
5537
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkFZUV7GNB_js.FormGrid, { children: [
|
|
5563
5538
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2", children: [
|
|
5564
5539
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "block text-xs font-semibold uppercase tracking-wider text-slate-600 dark:text-slate-400", children: labels.validFromLabel }),
|
|
5565
5540
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap items-center gap-2", children: [
|
|
5566
5541
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5567
|
-
|
|
5542
|
+
chunkFZUV7GNB_js.DatePicker,
|
|
5568
5543
|
{
|
|
5569
5544
|
value: validFromDate,
|
|
5570
5545
|
onChange: (d) => {
|
|
@@ -5575,7 +5550,7 @@ function RuleNewWizardPageView({
|
|
|
5575
5550
|
}
|
|
5576
5551
|
),
|
|
5577
5552
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5578
|
-
|
|
5553
|
+
chunkFZUV7GNB_js.TimePicker,
|
|
5579
5554
|
{
|
|
5580
5555
|
value: validFromTime,
|
|
5581
5556
|
onChange: (t) => {
|
|
@@ -5591,7 +5566,7 @@ function RuleNewWizardPageView({
|
|
|
5591
5566
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "block text-xs font-semibold uppercase tracking-wider text-slate-600 dark:text-slate-400", children: labels.validUntilLabel }),
|
|
5592
5567
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap items-center gap-2", children: [
|
|
5593
5568
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5594
|
-
|
|
5569
|
+
chunkFZUV7GNB_js.DatePicker,
|
|
5595
5570
|
{
|
|
5596
5571
|
value: validUntilDate,
|
|
5597
5572
|
onChange: (d) => {
|
|
@@ -5602,7 +5577,7 @@ function RuleNewWizardPageView({
|
|
|
5602
5577
|
}
|
|
5603
5578
|
),
|
|
5604
5579
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5605
|
-
|
|
5580
|
+
chunkFZUV7GNB_js.TimePicker,
|
|
5606
5581
|
{
|
|
5607
5582
|
value: validUntilTime,
|
|
5608
5583
|
onChange: (t) => {
|
|
@@ -5616,7 +5591,7 @@ function RuleNewWizardPageView({
|
|
|
5616
5591
|
] })
|
|
5617
5592
|
] }),
|
|
5618
5593
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5619
|
-
|
|
5594
|
+
chunkFZUV7GNB_js.FormCheckbox,
|
|
5620
5595
|
{
|
|
5621
5596
|
checked: noExpiry,
|
|
5622
5597
|
onChange: (v) => {
|
|
@@ -5630,7 +5605,7 @@ function RuleNewWizardPageView({
|
|
|
5630
5605
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
5631
5606
|
/* @__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 }),
|
|
5632
5607
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5633
|
-
|
|
5608
|
+
chunkFZUV7GNB_js.SegmentedControl,
|
|
5634
5609
|
{
|
|
5635
5610
|
segments: [
|
|
5636
5611
|
{ value: "active", label: labels.statusActive },
|
|
@@ -5649,7 +5624,7 @@ function RuleNewWizardPageView({
|
|
|
5649
5624
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-1", children: [
|
|
5650
5625
|
/* @__PURE__ */ jsxRuntime.jsx("label", { className: "block text-xs font-semibold uppercase tracking-wider text-slate-600 dark:text-slate-400", children: labels.tagsLabel }),
|
|
5651
5626
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5652
|
-
|
|
5627
|
+
chunkFZUV7GNB_js.ChipPicker,
|
|
5653
5628
|
{
|
|
5654
5629
|
items: tagsItems,
|
|
5655
5630
|
selectedIds: tagsSelected,
|
|
@@ -5673,7 +5648,7 @@ function RuleNewWizardPageView({
|
|
|
5673
5648
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
5674
5649
|
/* @__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 }),
|
|
5675
5650
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5676
|
-
|
|
5651
|
+
chunkFZUV7GNB_js.SegmentedControl,
|
|
5677
5652
|
{
|
|
5678
5653
|
segments: [
|
|
5679
5654
|
{ value: "one-off", label: labels.recurrenceOneOff },
|
|
@@ -5690,7 +5665,7 @@ function RuleNewWizardPageView({
|
|
|
5690
5665
|
)
|
|
5691
5666
|
] }),
|
|
5692
5667
|
recurrence === "cron" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
5693
|
-
|
|
5668
|
+
chunkFZUV7GNB_js.FormInput,
|
|
5694
5669
|
{
|
|
5695
5670
|
label: labels.cronExpressionLabel,
|
|
5696
5671
|
value: cronExpression,
|
|
@@ -5706,7 +5681,7 @@ function RuleNewWizardPageView({
|
|
|
5706
5681
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
5707
5682
|
/* @__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 }),
|
|
5708
5683
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5709
|
-
|
|
5684
|
+
chunkFZUV7GNB_js.ChipPicker,
|
|
5710
5685
|
{
|
|
5711
5686
|
items: WEEKDAYS.map((d) => ({
|
|
5712
5687
|
id: d.id,
|
|
@@ -5728,7 +5703,7 @@ function RuleNewWizardPageView({
|
|
|
5728
5703
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
5729
5704
|
/* @__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 }),
|
|
5730
5705
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5731
|
-
|
|
5706
|
+
chunkFZUV7GNB_js.TimePicker,
|
|
5732
5707
|
{
|
|
5733
5708
|
value: recurringTime,
|
|
5734
5709
|
onChange: (t) => {
|
|
@@ -5750,14 +5725,14 @@ function RuleNewWizardPageView({
|
|
|
5750
5725
|
const actionSentence = humanReadableAction(payload.action, labels, ACTION_TILES, actionTileId);
|
|
5751
5726
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
5752
5727
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5753
|
-
|
|
5728
|
+
chunkFZUV7GNB_js.SectionCard,
|
|
5754
5729
|
{
|
|
5755
5730
|
variant: "glass",
|
|
5756
5731
|
header: {
|
|
5757
5732
|
title: labels.wizardStep1Title,
|
|
5758
5733
|
subtitle: labels.wizardStep1Subtitle
|
|
5759
5734
|
},
|
|
5760
|
-
actions: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
5735
|
+
actions: /* @__PURE__ */ jsxRuntime.jsxs(chunkMXQ2EYG2_js.Button, { type: "button", size: "sm", outline: true, onClick: () => goToStep(1), children: [
|
|
5761
5736
|
/* @__PURE__ */ jsxRuntime.jsx(outline.PencilSquareIcon, { className: "h-4 w-4" }),
|
|
5762
5737
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-1.5", children: labels.wizardReviewEdit })
|
|
5763
5738
|
] }),
|
|
@@ -5776,14 +5751,14 @@ function RuleNewWizardPageView({
|
|
|
5776
5751
|
}
|
|
5777
5752
|
),
|
|
5778
5753
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
5779
|
-
|
|
5754
|
+
chunkFZUV7GNB_js.SectionCard,
|
|
5780
5755
|
{
|
|
5781
5756
|
variant: "glass",
|
|
5782
5757
|
header: {
|
|
5783
5758
|
title: labels.wizardStep2Title,
|
|
5784
5759
|
subtitle: labels.wizardStep2Subtitle
|
|
5785
5760
|
},
|
|
5786
|
-
actions: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
5761
|
+
actions: /* @__PURE__ */ jsxRuntime.jsxs(chunkMXQ2EYG2_js.Button, { type: "button", size: "sm", outline: true, onClick: () => goToStep(2), children: [
|
|
5787
5762
|
/* @__PURE__ */ jsxRuntime.jsx(outline.PencilSquareIcon, { className: "h-4 w-4" }),
|
|
5788
5763
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-1.5", children: labels.wizardReviewEdit })
|
|
5789
5764
|
] }),
|
|
@@ -5795,14 +5770,14 @@ function RuleNewWizardPageView({
|
|
|
5795
5770
|
}
|
|
5796
5771
|
),
|
|
5797
5772
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
5798
|
-
|
|
5773
|
+
chunkFZUV7GNB_js.SectionCard,
|
|
5799
5774
|
{
|
|
5800
5775
|
variant: "glass",
|
|
5801
5776
|
header: {
|
|
5802
5777
|
title: labels.wizardStep3Title,
|
|
5803
5778
|
subtitle: labels.wizardStep3Subtitle
|
|
5804
5779
|
},
|
|
5805
|
-
actions: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
5780
|
+
actions: /* @__PURE__ */ jsxRuntime.jsxs(chunkMXQ2EYG2_js.Button, { type: "button", size: "sm", outline: true, onClick: () => goToStep(3), children: [
|
|
5806
5781
|
/* @__PURE__ */ jsxRuntime.jsx(outline.PencilSquareIcon, { className: "h-4 w-4" }),
|
|
5807
5782
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-1.5", children: labels.wizardReviewEdit })
|
|
5808
5783
|
] }),
|
|
@@ -5813,14 +5788,14 @@ function RuleNewWizardPageView({
|
|
|
5813
5788
|
}
|
|
5814
5789
|
),
|
|
5815
5790
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5816
|
-
|
|
5791
|
+
chunkFZUV7GNB_js.SectionCard,
|
|
5817
5792
|
{
|
|
5818
5793
|
variant: "glass",
|
|
5819
5794
|
header: {
|
|
5820
5795
|
title: labels.wizardStep4Title,
|
|
5821
5796
|
subtitle: labels.wizardStep4Subtitle
|
|
5822
5797
|
},
|
|
5823
|
-
actions: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
5798
|
+
actions: /* @__PURE__ */ jsxRuntime.jsxs(chunkMXQ2EYG2_js.Button, { type: "button", size: "sm", outline: true, onClick: () => goToStep(4), children: [
|
|
5824
5799
|
/* @__PURE__ */ jsxRuntime.jsx(outline.PencilSquareIcon, { className: "h-4 w-4" }),
|
|
5825
5800
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-1.5", children: labels.wizardReviewEdit })
|
|
5826
5801
|
] }),
|
|
@@ -5856,11 +5831,11 @@ function RuleNewWizardPageView({
|
|
|
5856
5831
|
const stepBody = step === 1 ? renderStep1() : step === 2 ? renderStep2() : step === 3 ? renderStep3() : step === 4 ? renderStep4() : renderStep5();
|
|
5857
5832
|
const advanceDisabled = !canAdvance(step);
|
|
5858
5833
|
const footer = /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap items-center justify-between gap-2 border-t border-slate-200/60 pt-4 dark:border-white/10", children: [
|
|
5859
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center gap-2", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
5834
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center gap-2", children: /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Button, { type: "button", outline: true, onClick: goBack, disabled: step === 1 || submitting, children: labels.wizardBack }) }),
|
|
5860
5835
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
5861
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5862
|
-
step < TOTAL_STEPS3 ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
5863
|
-
|
|
5836
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Button, { type: "button", outline: true, onClick: cancelWithConfirm, disabled: submitting, children: labels.wizardCancel }),
|
|
5837
|
+
step < TOTAL_STEPS3 ? /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Button, { type: "button", color: "fuchsia", onClick: goNext, disabled: advanceDisabled || submitting, children: labels.wizardNext }) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
5838
|
+
chunkMXQ2EYG2_js.Button,
|
|
5864
5839
|
{
|
|
5865
5840
|
type: "button",
|
|
5866
5841
|
color: "fuchsia",
|
|
@@ -5893,8 +5868,8 @@ function RuleNewWizardPageView({
|
|
|
5893
5868
|
}
|
|
5894
5869
|
function ReviewRow3({ label, value }) {
|
|
5895
5870
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rounded-lg border border-slate-200/60 bg-white/40 px-3 py-2 dark:border-white/10 dark:bg-white/[0.04]", children: [
|
|
5896
|
-
/* @__PURE__ */ jsxRuntime.jsx("dt", { className: "text-[10px] uppercase tracking-wider text-
|
|
5897
|
-
/* @__PURE__ */ jsxRuntime.jsx("dd", { className: "mt-0.5 whitespace-pre-wrap break-words text-xs font-semibold text-
|
|
5871
|
+
/* @__PURE__ */ jsxRuntime.jsx("dt", { className: "text-[10px] uppercase tracking-wider text-slate-400 dark:text-slate-500", children: label }),
|
|
5872
|
+
/* @__PURE__ */ jsxRuntime.jsx("dd", { className: "mt-0.5 whitespace-pre-wrap break-words text-xs font-semibold text-slate-900 dark:text-white", children: value })
|
|
5898
5873
|
] });
|
|
5899
5874
|
}
|
|
5900
5875
|
function pad(n) {
|
|
@@ -5944,35 +5919,502 @@ function humanReadableAction(action, labels, tiles, actionTileId) {
|
|
|
5944
5919
|
const paramSummary = action.params ? Object.entries(action.params).slice(0, 3).map(([k, v]) => `${k}=${String(v)}`).join(", ") : "";
|
|
5945
5920
|
return paramSummary ? `${tileLabel} \u2014 ${paramSummary}` : tileLabel;
|
|
5946
5921
|
}
|
|
5922
|
+
function AgentNewModal({ open, onClose, ...wizardProps }) {
|
|
5923
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
5924
|
+
chunkFZUV7GNB_js.GlassModal,
|
|
5925
|
+
{
|
|
5926
|
+
open,
|
|
5927
|
+
onClose,
|
|
5928
|
+
maxWidth: "2xl",
|
|
5929
|
+
closeOnBackdrop: false,
|
|
5930
|
+
closeLabel: wizardProps.labels.wizardCancel,
|
|
5931
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(AgentNewWizardPageView, { ...wizardProps })
|
|
5932
|
+
}
|
|
5933
|
+
);
|
|
5934
|
+
}
|
|
5935
|
+
function DatasourceNewModal({ open, onClose, ...wizardProps }) {
|
|
5936
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
5937
|
+
chunkFZUV7GNB_js.GlassModal,
|
|
5938
|
+
{
|
|
5939
|
+
open,
|
|
5940
|
+
onClose,
|
|
5941
|
+
maxWidth: "2xl",
|
|
5942
|
+
closeOnBackdrop: false,
|
|
5943
|
+
closeLabel: wizardProps.labels.wizardCancel,
|
|
5944
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(DatasourceNewWizardPageView, { ...wizardProps })
|
|
5945
|
+
}
|
|
5946
|
+
);
|
|
5947
|
+
}
|
|
5948
|
+
function RuleNewModal({ open, onClose, ...wizardProps }) {
|
|
5949
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
5950
|
+
chunkFZUV7GNB_js.GlassModal,
|
|
5951
|
+
{
|
|
5952
|
+
open,
|
|
5953
|
+
onClose,
|
|
5954
|
+
maxWidth: "2xl",
|
|
5955
|
+
closeOnBackdrop: false,
|
|
5956
|
+
closeLabel: wizardProps.labels.wizardCancel,
|
|
5957
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(RuleNewWizardPageView, { ...wizardProps })
|
|
5958
|
+
}
|
|
5959
|
+
);
|
|
5960
|
+
}
|
|
5961
|
+
var AWS_REGIONS = [
|
|
5962
|
+
{ value: "us-east-1", label: "us-east-1 (N. Virginia)" },
|
|
5963
|
+
{ value: "us-east-2", label: "us-east-2 (Ohio)" },
|
|
5964
|
+
{ value: "us-west-2", label: "us-west-2 (Oregon)" },
|
|
5965
|
+
{ value: "eu-west-1", label: "eu-west-1 (Ireland)" },
|
|
5966
|
+
{ value: "eu-central-1", label: "eu-central-1 (Frankfurt)" },
|
|
5967
|
+
{ value: "ap-southeast-1", label: "ap-southeast-1 (Singapore)" },
|
|
5968
|
+
{ value: "sa-east-1", label: "sa-east-1 (S\xE3o Paulo)" }
|
|
5969
|
+
];
|
|
5970
|
+
var GCP_REGIONS = [
|
|
5971
|
+
{ value: "us-central1", label: "us-central1 (Iowa)" },
|
|
5972
|
+
{ value: "us-east1", label: "us-east1 (S. Carolina)" },
|
|
5973
|
+
{ value: "us-west1", label: "us-west1 (Oregon)" },
|
|
5974
|
+
{ value: "europe-west1", label: "europe-west1 (Belgium)" },
|
|
5975
|
+
{ value: "europe-west4", label: "europe-west4 (Netherlands)" },
|
|
5976
|
+
{ value: "asia-southeast1", label: "asia-southeast1 (Singapore)" },
|
|
5977
|
+
{ value: "southamerica-east1", label: "southamerica-east1 (S\xE3o Paulo)" }
|
|
5978
|
+
];
|
|
5979
|
+
var AZURE_REGIONS = [
|
|
5980
|
+
{ value: "eastus", label: "eastus" },
|
|
5981
|
+
{ value: "westus2", label: "westus2" },
|
|
5982
|
+
{ value: "northeurope", label: "northeurope" },
|
|
5983
|
+
{ value: "westeurope", label: "westeurope" },
|
|
5984
|
+
{ value: "brazilsouth", label: "brazilsouth" }
|
|
5985
|
+
];
|
|
5986
|
+
var MODEL_PROVIDERS = [
|
|
5987
|
+
{ value: "anthropic_api", label: "Anthropic API", category: "managed" },
|
|
5988
|
+
{ value: "openai_api", label: "OpenAI API", category: "managed" },
|
|
5989
|
+
{ value: "aws_bedrock", label: "AWS Bedrock", category: "cloud", needsRegion: true, defaultRegion: "us-east-1", regions: AWS_REGIONS },
|
|
5990
|
+
{ value: "google_vertex", label: "Google Vertex AI", category: "cloud", needsRegion: true, defaultRegion: "us-central1", regions: GCP_REGIONS },
|
|
5991
|
+
{ value: "azure_openai", label: "Azure OpenAI", category: "cloud", needsRegion: true, needsEndpoint: true, defaultRegion: "eastus", regions: AZURE_REGIONS },
|
|
5992
|
+
{ value: "groq", label: "Groq", category: "managed" },
|
|
5993
|
+
{ value: "mistral", label: "Mistral API", category: "managed" },
|
|
5994
|
+
{ value: "huggingface", label: "Hugging Face", category: "hosted", needsEndpoint: true },
|
|
5995
|
+
{ value: "ollama", label: "Ollama", category: "local", needsEndpoint: true },
|
|
5996
|
+
{ value: "custom", label: "Custom / OpenAI-compatible", category: "custom", needsEndpoint: true }
|
|
5997
|
+
];
|
|
5998
|
+
var PROVIDER_ICON = {
|
|
5999
|
+
anthropic_api: outline.SparklesIcon,
|
|
6000
|
+
openai_api: outline.BeakerIcon,
|
|
6001
|
+
aws_bedrock: outline.CloudIcon,
|
|
6002
|
+
google_vertex: outline.CloudIcon,
|
|
6003
|
+
azure_openai: outline.CloudIcon,
|
|
6004
|
+
groq: outline.BoltIcon,
|
|
6005
|
+
mistral: outline.SparklesIcon,
|
|
6006
|
+
huggingface: outline.ServerStackIcon,
|
|
6007
|
+
ollama: outline.CpuChipIcon,
|
|
6008
|
+
custom: outline.CodeBracketIcon
|
|
6009
|
+
};
|
|
6010
|
+
var PROVIDER_COLOR = {
|
|
6011
|
+
anthropic_api: "amber",
|
|
6012
|
+
openai_api: "emerald",
|
|
6013
|
+
aws_bedrock: "amber",
|
|
6014
|
+
google_vertex: "blue",
|
|
6015
|
+
azure_openai: "sky",
|
|
6016
|
+
groq: "purple",
|
|
6017
|
+
mistral: "pink",
|
|
6018
|
+
huggingface: "amber",
|
|
6019
|
+
ollama: "slate",
|
|
6020
|
+
custom: "slate"
|
|
6021
|
+
};
|
|
6022
|
+
var TOTAL_STEPS4 = 4;
|
|
6023
|
+
function ModelNewWizardPageView({
|
|
6024
|
+
labels,
|
|
6025
|
+
initialStep,
|
|
6026
|
+
onStepChange,
|
|
6027
|
+
onSubmit,
|
|
6028
|
+
onCancel,
|
|
6029
|
+
onTestConnection
|
|
6030
|
+
}) {
|
|
6031
|
+
const clampedInitial = Math.min(TOTAL_STEPS4, Math.max(1, initialStep ?? 1));
|
|
6032
|
+
const [step, setStep] = react.useState(clampedInitial);
|
|
6033
|
+
const [providerSlug, setProviderSlug] = react.useState("anthropic_api");
|
|
6034
|
+
const [name, setName] = react.useState("");
|
|
6035
|
+
const [region, setRegion] = react.useState("");
|
|
6036
|
+
const [endpoint, setEndpoint] = react.useState("");
|
|
6037
|
+
const [apiKey, setApiKey] = react.useState("");
|
|
6038
|
+
const [modelFilterItems, setModelFilterItems] = react.useState([]);
|
|
6039
|
+
const [modelFilterSelected, setModelFilterSelected] = react.useState([]);
|
|
6040
|
+
const [submitting, setSubmitting] = react.useState(false);
|
|
6041
|
+
const [touched, setTouched] = react.useState(false);
|
|
6042
|
+
const [testStatus, setTestStatus] = react.useState("idle");
|
|
6043
|
+
const preset = react.useMemo(
|
|
6044
|
+
() => MODEL_PROVIDERS.find((p) => p.value === providerSlug) ?? MODEL_PROVIDERS[0],
|
|
6045
|
+
[providerSlug]
|
|
6046
|
+
);
|
|
6047
|
+
react.useEffect(() => {
|
|
6048
|
+
if (preset.defaultRegion && !region) setRegion(preset.defaultRegion);
|
|
6049
|
+
}, [providerSlug]);
|
|
6050
|
+
react.useEffect(() => {
|
|
6051
|
+
const next = Math.min(TOTAL_STEPS4, Math.max(1, initialStep ?? 1));
|
|
6052
|
+
if (next !== step) setStep(next);
|
|
6053
|
+
}, [initialStep]);
|
|
6054
|
+
function markTouched() {
|
|
6055
|
+
if (!touched) setTouched(true);
|
|
6056
|
+
}
|
|
6057
|
+
const goToStep = react.useCallback((next) => {
|
|
6058
|
+
const clamped = Math.min(TOTAL_STEPS4, Math.max(1, next));
|
|
6059
|
+
setStep(clamped);
|
|
6060
|
+
onStepChange?.(clamped);
|
|
6061
|
+
}, [onStepChange]);
|
|
6062
|
+
function canAdvance(from) {
|
|
6063
|
+
if (from === 1) return Boolean(providerSlug);
|
|
6064
|
+
if (from === 2) return name.trim().length > 0;
|
|
6065
|
+
return true;
|
|
6066
|
+
}
|
|
6067
|
+
const goNext = react.useCallback(() => {
|
|
6068
|
+
if (!canAdvance(step)) return;
|
|
6069
|
+
if (step < TOTAL_STEPS4) goToStep(step + 1);
|
|
6070
|
+
}, [step, providerSlug, name]);
|
|
6071
|
+
const goBack = react.useCallback(() => {
|
|
6072
|
+
if (step > 1) goToStep(step - 1);
|
|
6073
|
+
}, [step, goToStep]);
|
|
6074
|
+
const cancelWithConfirm = react.useCallback(() => {
|
|
6075
|
+
if (touched && !window.confirm(labels.wizardCancelConfirm)) return;
|
|
6076
|
+
onCancel();
|
|
6077
|
+
}, [touched, labels.wizardCancelConfirm, onCancel]);
|
|
6078
|
+
function buildPayload() {
|
|
6079
|
+
return {
|
|
6080
|
+
providerSlug,
|
|
6081
|
+
name: name.trim(),
|
|
6082
|
+
region: region.trim() || void 0,
|
|
6083
|
+
endpoint: endpoint.trim() || void 0,
|
|
6084
|
+
apiKey: apiKey || void 0,
|
|
6085
|
+
modelFilters: modelFilterSelected.length > 0 ? [...modelFilterSelected] : void 0
|
|
6086
|
+
};
|
|
6087
|
+
}
|
|
6088
|
+
async function handleTestConnection() {
|
|
6089
|
+
if (!onTestConnection) return;
|
|
6090
|
+
setTestStatus("testing");
|
|
6091
|
+
try {
|
|
6092
|
+
const ok = await onTestConnection(buildPayload());
|
|
6093
|
+
setTestStatus(ok ? "success" : "failed");
|
|
6094
|
+
setTimeout(() => setTestStatus("idle"), 3500);
|
|
6095
|
+
} catch {
|
|
6096
|
+
setTestStatus("failed");
|
|
6097
|
+
setTimeout(() => setTestStatus("idle"), 3500);
|
|
6098
|
+
}
|
|
6099
|
+
}
|
|
6100
|
+
async function submit() {
|
|
6101
|
+
setSubmitting(true);
|
|
6102
|
+
try {
|
|
6103
|
+
await onSubmit(buildPayload());
|
|
6104
|
+
} finally {
|
|
6105
|
+
setSubmitting(false);
|
|
6106
|
+
}
|
|
6107
|
+
}
|
|
6108
|
+
const stepTitles = [labels.step1Title, labels.step2Title, labels.step3Title, labels.step4Title];
|
|
6109
|
+
const stepSubtitles = [labels.step1Subtitle, labels.step2Subtitle, labels.step3Subtitle, labels.step4Subtitle];
|
|
6110
|
+
const indicatorSteps = stepTitles.map((title, idx) => ({ id: String(idx + 1), title }));
|
|
6111
|
+
const counter = labels.wizardStepCounter.replace("{current}", String(step)).replace("{total}", String(TOTAL_STEPS4));
|
|
6112
|
+
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
6113
|
+
chunkFZUV7GNB_js.HeroSection,
|
|
6114
|
+
{
|
|
6115
|
+
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.CubeTransparentIcon, { className: "h-5 w-5" }),
|
|
6116
|
+
label: counter,
|
|
6117
|
+
title: labels.pageTitle,
|
|
6118
|
+
subtitle: stepSubtitles[step - 1] ?? labels.pageSubtitle,
|
|
6119
|
+
gradient: "from-emerald-500 to-teal-700",
|
|
6120
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
6121
|
+
chunkFZUV7GNB_js.StepIndicator,
|
|
6122
|
+
{
|
|
6123
|
+
accent: "indigo",
|
|
6124
|
+
currentStep: step - 1,
|
|
6125
|
+
onStepChange: (idx) => goToStep(idx + 1),
|
|
6126
|
+
progressLabel: labels.pageTitle,
|
|
6127
|
+
steps: indicatorSteps
|
|
6128
|
+
}
|
|
6129
|
+
)
|
|
6130
|
+
}
|
|
6131
|
+
);
|
|
6132
|
+
function renderStep1() {
|
|
6133
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
6134
|
+
chunkFZUV7GNB_js.SectionCard,
|
|
6135
|
+
{
|
|
6136
|
+
variant: "glass",
|
|
6137
|
+
header: { title: labels.providerLabel, subtitle: labels.step1Subtitle },
|
|
6138
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
6139
|
+
"div",
|
|
6140
|
+
{
|
|
6141
|
+
role: "radiogroup",
|
|
6142
|
+
"aria-label": labels.providerLabel,
|
|
6143
|
+
className: "grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-3",
|
|
6144
|
+
children: MODEL_PROVIDERS.map((p) => {
|
|
6145
|
+
const Icon = PROVIDER_ICON[p.value] ?? outline.GlobeAltIcon;
|
|
6146
|
+
const color = PROVIDER_COLOR[p.value] ?? "slate";
|
|
6147
|
+
const selected = providerSlug === p.value;
|
|
6148
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
6149
|
+
chunkFZUV7GNB_js.FilterTileButton,
|
|
6150
|
+
{
|
|
6151
|
+
isActive: selected,
|
|
6152
|
+
color,
|
|
6153
|
+
icon: /* @__PURE__ */ jsxRuntime.jsx(Icon, { className: "h-5 w-5" }),
|
|
6154
|
+
label: p.label,
|
|
6155
|
+
count: p.category,
|
|
6156
|
+
onClick: () => {
|
|
6157
|
+
setProviderSlug(p.value);
|
|
6158
|
+
markTouched();
|
|
6159
|
+
}
|
|
6160
|
+
},
|
|
6161
|
+
p.value
|
|
6162
|
+
);
|
|
6163
|
+
})
|
|
6164
|
+
}
|
|
6165
|
+
)
|
|
6166
|
+
}
|
|
6167
|
+
);
|
|
6168
|
+
}
|
|
6169
|
+
function renderStep2() {
|
|
6170
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
6171
|
+
chunkFZUV7GNB_js.SectionCard,
|
|
6172
|
+
{
|
|
6173
|
+
variant: "glass",
|
|
6174
|
+
header: { title: preset.label, subtitle: labels.step2Subtitle },
|
|
6175
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-4", children: /* @__PURE__ */ jsxRuntime.jsxs(chunkFZUV7GNB_js.FormGrid, { children: [
|
|
6176
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
6177
|
+
chunkFZUV7GNB_js.FormInput,
|
|
6178
|
+
{
|
|
6179
|
+
label: labels.nameLabel,
|
|
6180
|
+
value: name,
|
|
6181
|
+
onValueChange: (v) => {
|
|
6182
|
+
setName(v);
|
|
6183
|
+
markTouched();
|
|
6184
|
+
},
|
|
6185
|
+
placeholder: labels.namePlaceholder || `${preset.label} \u2014 produ\xE7\xE3o`,
|
|
6186
|
+
required: true
|
|
6187
|
+
}
|
|
6188
|
+
),
|
|
6189
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
6190
|
+
chunkFZUV7GNB_js.FormInput,
|
|
6191
|
+
{
|
|
6192
|
+
label: labels.apiKeyLabel,
|
|
6193
|
+
type: "password",
|
|
6194
|
+
value: apiKey,
|
|
6195
|
+
onValueChange: (v) => {
|
|
6196
|
+
setApiKey(v);
|
|
6197
|
+
markTouched();
|
|
6198
|
+
},
|
|
6199
|
+
placeholder: labels.apiKeyPlaceholder
|
|
6200
|
+
}
|
|
6201
|
+
)
|
|
6202
|
+
] }) })
|
|
6203
|
+
}
|
|
6204
|
+
);
|
|
6205
|
+
}
|
|
6206
|
+
function renderStep3() {
|
|
6207
|
+
const showRegion = preset.needsRegion === true;
|
|
6208
|
+
const showEndpoint = preset.needsEndpoint === true;
|
|
6209
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
6210
|
+
chunkFZUV7GNB_js.SectionCard,
|
|
6211
|
+
{
|
|
6212
|
+
variant: "glass",
|
|
6213
|
+
header: { title: labels.step3Title, subtitle: labels.step3Subtitle },
|
|
6214
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
6215
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkFZUV7GNB_js.FormGrid, { children: [
|
|
6216
|
+
showRegion && (preset.regions ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
6217
|
+
chunkFZUV7GNB_js.FormSelect,
|
|
6218
|
+
{
|
|
6219
|
+
label: labels.regionLabel,
|
|
6220
|
+
value: region,
|
|
6221
|
+
onValueChange: (v) => {
|
|
6222
|
+
setRegion(v);
|
|
6223
|
+
markTouched();
|
|
6224
|
+
},
|
|
6225
|
+
options: [...preset.regions]
|
|
6226
|
+
}
|
|
6227
|
+
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
6228
|
+
chunkFZUV7GNB_js.FormInput,
|
|
6229
|
+
{
|
|
6230
|
+
label: labels.regionLabel,
|
|
6231
|
+
value: region,
|
|
6232
|
+
onValueChange: (v) => {
|
|
6233
|
+
setRegion(v);
|
|
6234
|
+
markTouched();
|
|
6235
|
+
},
|
|
6236
|
+
placeholder: labels.regionPlaceholder ?? preset.defaultRegion
|
|
6237
|
+
}
|
|
6238
|
+
)),
|
|
6239
|
+
showEndpoint && /* @__PURE__ */ jsxRuntime.jsx(
|
|
6240
|
+
chunkFZUV7GNB_js.FormInput,
|
|
6241
|
+
{
|
|
6242
|
+
label: labels.endpointLabel,
|
|
6243
|
+
type: "url",
|
|
6244
|
+
value: endpoint,
|
|
6245
|
+
onValueChange: (v) => {
|
|
6246
|
+
setEndpoint(v);
|
|
6247
|
+
markTouched();
|
|
6248
|
+
},
|
|
6249
|
+
placeholder: labels.endpointPlaceholder ?? "https://\u2026"
|
|
6250
|
+
}
|
|
6251
|
+
)
|
|
6252
|
+
] }),
|
|
6253
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-1", children: [
|
|
6254
|
+
/* @__PURE__ */ jsxRuntime.jsx("label", { className: "block text-xs font-medium text-slate-500 dark:text-slate-400", children: labels.modelFilterLabel }),
|
|
6255
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
6256
|
+
chunkFZUV7GNB_js.ChipPicker,
|
|
6257
|
+
{
|
|
6258
|
+
items: modelFilterItems,
|
|
6259
|
+
selectedIds: modelFilterSelected,
|
|
6260
|
+
onChange: (ids) => {
|
|
6261
|
+
setModelFilterSelected(ids);
|
|
6262
|
+
markTouched();
|
|
6263
|
+
},
|
|
6264
|
+
onItemsChange: (items) => {
|
|
6265
|
+
setModelFilterItems(items);
|
|
6266
|
+
markTouched();
|
|
6267
|
+
},
|
|
6268
|
+
allowCustom: true,
|
|
6269
|
+
showActions: false,
|
|
6270
|
+
addPlaceholder: labels.modelFilterPlaceholder,
|
|
6271
|
+
addAriaLabel: labels.modelFilterLabel
|
|
6272
|
+
}
|
|
6273
|
+
)
|
|
6274
|
+
] }),
|
|
6275
|
+
onTestConnection && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap items-center gap-3 border-t border-slate-200/60 pt-4 dark:border-white/10", children: [
|
|
6276
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
6277
|
+
chunkMXQ2EYG2_js.Button,
|
|
6278
|
+
{
|
|
6279
|
+
type: "button",
|
|
6280
|
+
outline: true,
|
|
6281
|
+
onClick: () => void handleTestConnection(),
|
|
6282
|
+
disabled: testStatus === "testing",
|
|
6283
|
+
children: testStatus === "testing" ? /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex items-center gap-2", children: [
|
|
6284
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.Spinner, { size: "xs" }),
|
|
6285
|
+
labels.testing
|
|
6286
|
+
] }) : labels.testConnection
|
|
6287
|
+
}
|
|
6288
|
+
),
|
|
6289
|
+
testStatus === "success" && /* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.StatusBadge, { status: "success", label: labels.connectionSuccess }),
|
|
6290
|
+
testStatus === "failed" && /* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.StatusBadge, { status: "error", label: labels.connectionFailed })
|
|
6291
|
+
] })
|
|
6292
|
+
] })
|
|
6293
|
+
}
|
|
6294
|
+
);
|
|
6295
|
+
}
|
|
6296
|
+
function renderStep4() {
|
|
6297
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
6298
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
6299
|
+
chunkFZUV7GNB_js.SectionCard,
|
|
6300
|
+
{
|
|
6301
|
+
variant: "glass",
|
|
6302
|
+
header: { title: labels.step1Title, subtitle: labels.step1Subtitle },
|
|
6303
|
+
actions: /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Button, { type: "button", size: "sm", outline: true, onClick: () => goToStep(1), children: labels.wizardReviewEdit }),
|
|
6304
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("dl", { className: "grid grid-cols-1 gap-2 sm:grid-cols-2", children: /* @__PURE__ */ jsxRuntime.jsx(ReviewRow4, { label: labels.reviewProviderLabel, value: preset.label }) })
|
|
6305
|
+
}
|
|
6306
|
+
),
|
|
6307
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
6308
|
+
chunkFZUV7GNB_js.SectionCard,
|
|
6309
|
+
{
|
|
6310
|
+
variant: "glass",
|
|
6311
|
+
header: { title: labels.step2Title, subtitle: labels.step2Subtitle },
|
|
6312
|
+
actions: /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Button, { type: "button", size: "sm", outline: true, onClick: () => goToStep(2), children: labels.wizardReviewEdit }),
|
|
6313
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs("dl", { className: "grid grid-cols-1 gap-2 sm:grid-cols-2", children: [
|
|
6314
|
+
/* @__PURE__ */ jsxRuntime.jsx(ReviewRow4, { label: labels.reviewNameLabel, value: name || labels.reviewNoneValue }),
|
|
6315
|
+
/* @__PURE__ */ jsxRuntime.jsx(ReviewRow4, { label: labels.reviewApiKeyLabel, value: apiKey ? labels.reviewApiKeyRedacted : labels.reviewNoneValue })
|
|
6316
|
+
] })
|
|
6317
|
+
}
|
|
6318
|
+
),
|
|
6319
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
6320
|
+
chunkFZUV7GNB_js.SectionCard,
|
|
6321
|
+
{
|
|
6322
|
+
variant: "glass",
|
|
6323
|
+
header: { title: labels.step3Title, subtitle: labels.step3Subtitle },
|
|
6324
|
+
actions: /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Button, { type: "button", size: "sm", outline: true, onClick: () => goToStep(3), children: labels.wizardReviewEdit }),
|
|
6325
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs("dl", { className: "grid grid-cols-1 gap-2 sm:grid-cols-2", children: [
|
|
6326
|
+
/* @__PURE__ */ jsxRuntime.jsx(ReviewRow4, { label: labels.reviewRegionLabel, value: region || labels.reviewNoneValue }),
|
|
6327
|
+
/* @__PURE__ */ jsxRuntime.jsx(ReviewRow4, { label: labels.reviewEndpointLabel, value: endpoint || labels.reviewNoneValue }),
|
|
6328
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
6329
|
+
ReviewRow4,
|
|
6330
|
+
{
|
|
6331
|
+
label: labels.reviewModelsLabel,
|
|
6332
|
+
value: modelFilterSelected.length > 0 ? modelFilterSelected.join(", ") : labels.reviewNoneValue
|
|
6333
|
+
}
|
|
6334
|
+
)
|
|
6335
|
+
] })
|
|
6336
|
+
}
|
|
6337
|
+
)
|
|
6338
|
+
] });
|
|
6339
|
+
}
|
|
6340
|
+
const stepBody = step === 1 ? renderStep1() : step === 2 ? renderStep2() : step === 3 ? renderStep3() : renderStep4();
|
|
6341
|
+
const advanceDisabled = !canAdvance(step);
|
|
6342
|
+
const footer = /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap items-center justify-between gap-2 border-t border-slate-200/60 pt-4 dark:border-white/10", children: [
|
|
6343
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center gap-2", children: /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Button, { type: "button", outline: true, onClick: goBack, disabled: step === 1 || submitting, children: labels.wizardBack }) }),
|
|
6344
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
6345
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Button, { type: "button", outline: true, onClick: cancelWithConfirm, disabled: submitting, children: labels.wizardCancel }),
|
|
6346
|
+
step < TOTAL_STEPS4 ? /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Button, { type: "button", color: "emerald", onClick: goNext, disabled: advanceDisabled || submitting, children: labels.wizardNext }) : /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Button, { type: "button", color: "emerald", onClick: () => void submit(), disabled: submitting || !name.trim(), children: submitting ? labels.wizardCreate + "\u2026" : labels.wizardCreate })
|
|
6347
|
+
] })
|
|
6348
|
+
] });
|
|
6349
|
+
const content = /* @__PURE__ */ jsxRuntime.jsxs(
|
|
6350
|
+
"form",
|
|
6351
|
+
{
|
|
6352
|
+
onSubmit: (e) => {
|
|
6353
|
+
e.preventDefault();
|
|
6354
|
+
if (step < TOTAL_STEPS4) goNext();
|
|
6355
|
+
else void submit();
|
|
6356
|
+
},
|
|
6357
|
+
className: "space-y-4",
|
|
6358
|
+
children: [
|
|
6359
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "liquid-surface rounded-2xl p-5 sm:p-8", children: stepBody }),
|
|
6360
|
+
footer
|
|
6361
|
+
]
|
|
6362
|
+
}
|
|
6363
|
+
);
|
|
6364
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
6365
|
+
hero,
|
|
6366
|
+
content
|
|
6367
|
+
] });
|
|
6368
|
+
}
|
|
6369
|
+
function ReviewRow4({ label, value }) {
|
|
6370
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rounded-lg border border-slate-200/60 bg-white/40 px-3 py-2 dark:border-white/10 dark:bg-white/[0.04]", children: [
|
|
6371
|
+
/* @__PURE__ */ jsxRuntime.jsx("dt", { className: "text-[10px] uppercase tracking-wider text-slate-400 dark:text-slate-500", children: label }),
|
|
6372
|
+
/* @__PURE__ */ jsxRuntime.jsx("dd", { className: "mt-0.5 truncate text-xs font-semibold text-slate-900 dark:text-white", children: value })
|
|
6373
|
+
] });
|
|
6374
|
+
}
|
|
6375
|
+
function ModelNewModal({ open, onClose, ...wizardProps }) {
|
|
6376
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
6377
|
+
chunkFZUV7GNB_js.GlassModal,
|
|
6378
|
+
{
|
|
6379
|
+
open,
|
|
6380
|
+
onClose,
|
|
6381
|
+
maxWidth: "2xl",
|
|
6382
|
+
closeOnBackdrop: false,
|
|
6383
|
+
closeLabel: wizardProps.labels.wizardCancel,
|
|
6384
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(ModelNewWizardPageView, { ...wizardProps })
|
|
6385
|
+
}
|
|
6386
|
+
);
|
|
6387
|
+
}
|
|
5947
6388
|
|
|
5948
6389
|
Object.defineProperty(exports, "RolesPageView", {
|
|
5949
6390
|
enumerable: true,
|
|
5950
|
-
get: function () { return
|
|
6391
|
+
get: function () { return chunkNIZSQJRW_js.RolesPageView; }
|
|
5951
6392
|
});
|
|
5952
6393
|
Object.defineProperty(exports, "UsersPageView", {
|
|
5953
6394
|
enumerable: true,
|
|
5954
|
-
get: function () { return
|
|
6395
|
+
get: function () { return chunkNIZSQJRW_js.UsersPageView; }
|
|
5955
6396
|
});
|
|
5956
6397
|
Object.defineProperty(exports, "DIALECT_CATEGORIES", {
|
|
5957
6398
|
enumerable: true,
|
|
5958
|
-
get: function () { return
|
|
6399
|
+
get: function () { return chunk2II2NLAZ_js.DIALECT_CATEGORIES; }
|
|
5959
6400
|
});
|
|
5960
6401
|
Object.defineProperty(exports, "DatasourceFormModal", {
|
|
5961
6402
|
enumerable: true,
|
|
5962
|
-
get: function () { return
|
|
6403
|
+
get: function () { return chunk2II2NLAZ_js.DatasourceFormModal; }
|
|
5963
6404
|
});
|
|
5964
6405
|
Object.defineProperty(exports, "DatasourceModal", {
|
|
5965
6406
|
enumerable: true,
|
|
5966
|
-
get: function () { return
|
|
6407
|
+
get: function () { return chunk2II2NLAZ_js.DatasourceModal; }
|
|
5967
6408
|
});
|
|
5968
6409
|
Object.defineProperty(exports, "findCategory", {
|
|
5969
6410
|
enumerable: true,
|
|
5970
|
-
get: function () { return
|
|
6411
|
+
get: function () { return chunk2II2NLAZ_js.findCategory; }
|
|
5971
6412
|
});
|
|
5972
6413
|
Object.defineProperty(exports, "findDialect", {
|
|
5973
6414
|
enumerable: true,
|
|
5974
|
-
get: function () { return
|
|
6415
|
+
get: function () { return chunk2II2NLAZ_js.findDialect; }
|
|
5975
6416
|
});
|
|
6417
|
+
exports.AgentNewModal = AgentNewModal;
|
|
5976
6418
|
exports.AgentNewWizardPageView = AgentNewWizardPageView;
|
|
5977
6419
|
exports.AgentsConfigPageView = AgentsConfigPageView;
|
|
5978
6420
|
exports.AgentsIndexPageView = AgentsIndexPageView;
|
|
@@ -5983,8 +6425,13 @@ exports.AgentsWorkspacePageView = AgentsWorkspacePageView;
|
|
|
5983
6425
|
exports.ConnectionsPageView = ConnectionsPageView;
|
|
5984
6426
|
exports.CredentialsPageView = CredentialsPageView;
|
|
5985
6427
|
exports.DashboardPageView = DashboardPageView;
|
|
6428
|
+
exports.DatasourceNewModal = DatasourceNewModal;
|
|
5986
6429
|
exports.DatasourceNewWizardPageView = DatasourceNewWizardPageView;
|
|
5987
6430
|
exports.DatasourcesPageView = DatasourcesPageView;
|
|
6431
|
+
exports.MODEL_PROVIDERS = MODEL_PROVIDERS;
|
|
6432
|
+
exports.ModelNewModal = ModelNewModal;
|
|
6433
|
+
exports.ModelNewWizardPageView = ModelNewWizardPageView;
|
|
6434
|
+
exports.RuleNewModal = RuleNewModal;
|
|
5988
6435
|
exports.RuleNewWizardPageView = RuleNewWizardPageView;
|
|
5989
6436
|
exports.RulesPageView = RulesPageView;
|
|
5990
6437
|
exports.RunTimelinePageView = RunTimelinePageView;
|