@datatechsolutions/ui 3.13.1 → 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-VCL5LDS5.js → chunk-2II2NLAZ.js} +38 -38
- package/dist/{chunk-VCL5LDS5.js.map → chunk-2II2NLAZ.js.map} +1 -1
- package/dist/{chunk-O4RZCDP2.mjs → chunk-2SBVFLPZ.mjs} +19 -2
- package/dist/chunk-2SBVFLPZ.mjs.map +1 -0
- package/dist/{chunk-TRNDFSM6.mjs → chunk-33ZWFDVG.mjs} +14 -14
- package/dist/chunk-33ZWFDVG.mjs.map +1 -0
- package/dist/{chunk-VWZ53TE2.js → chunk-4HZ55YKZ.js} +9 -9
- package/dist/{chunk-VWZ53TE2.js.map → chunk-4HZ55YKZ.js.map} +1 -1
- package/dist/{chunk-ULSG4JLR.js → chunk-4P72IJOM.js} +6 -6
- package/dist/{chunk-ULSG4JLR.js.map → chunk-4P72IJOM.js.map} +1 -1
- package/dist/{chunk-4Z5NZINA.js → chunk-5SCZB5UI.js} +122 -122
- package/dist/chunk-5SCZB5UI.js.map +1 -0
- package/dist/{chunk-Y65X2NHF.mjs → chunk-5YCH7FHT.mjs} +3 -3
- package/dist/{chunk-Y65X2NHF.mjs.map → chunk-5YCH7FHT.mjs.map} +1 -1
- package/dist/{chunk-DTFU3ZTD.js → chunk-6NBQTIXX.js} +9 -9
- package/dist/{chunk-DTFU3ZTD.js.map → chunk-6NBQTIXX.js.map} +1 -1
- package/dist/{chunk-CVEI4RQP.js → chunk-6NEESZVO.js} +4 -4
- package/dist/{chunk-CVEI4RQP.js.map → chunk-6NEESZVO.js.map} +1 -1
- package/dist/{chunk-AC54BNSK.js → chunk-72XZ7DSF.js} +13 -13
- package/dist/{chunk-AC54BNSK.js.map → chunk-72XZ7DSF.js.map} +1 -1
- package/dist/{chunk-ZPV7X4ZE.mjs → chunk-7NHJSD4A.mjs} +6 -6
- package/dist/{chunk-ZPV7X4ZE.mjs.map → chunk-7NHJSD4A.mjs.map} +1 -1
- package/dist/{chunk-CKY2QIRR.js → chunk-7SDB2VC2.js} +4 -4
- package/dist/{chunk-CKY2QIRR.js.map → chunk-7SDB2VC2.js.map} +1 -1
- package/dist/{chunk-FV42SSLP.js → chunk-A5OMGPMR.js} +4 -4
- package/dist/{chunk-FV42SSLP.js.map → chunk-A5OMGPMR.js.map} +1 -1
- package/dist/{chunk-54T5F65C.js → chunk-AUCS2KF4.js} +17 -17
- package/dist/{chunk-54T5F65C.js.map → chunk-AUCS2KF4.js.map} +1 -1
- package/dist/{chunk-QEACOJXX.mjs → chunk-F4KHAKTP.mjs} +102 -46
- package/dist/chunk-F4KHAKTP.mjs.map +1 -0
- package/dist/{chunk-Q7QPHZOV.js → chunk-FHGWXWVZ.js} +67 -67
- package/dist/{chunk-Q7QPHZOV.js.map → chunk-FHGWXWVZ.js.map} +1 -1
- package/dist/{chunk-RWZ2PLMQ.js → chunk-FZUV7GNB.js} +175 -118
- package/dist/chunk-FZUV7GNB.js.map +1 -0
- package/dist/{chunk-RMPXGEFL.mjs → chunk-HQNIETHV.mjs} +8 -8
- package/dist/{chunk-RMPXGEFL.mjs.map → chunk-HQNIETHV.mjs.map} +1 -1
- package/dist/{chunk-VPRAESA7.mjs → chunk-KDDXDQR2.mjs} +3 -3
- package/dist/{chunk-VPRAESA7.mjs.map → chunk-KDDXDQR2.mjs.map} +1 -1
- package/dist/{chunk-PM7A5I3X.js → chunk-LJGPMMKB.js} +113 -113
- package/dist/{chunk-PM7A5I3X.js.map → chunk-LJGPMMKB.js.map} +1 -1
- package/dist/{chunk-EBARYRSA.js → chunk-MXQ2EYG2.js} +19 -2
- package/dist/chunk-MXQ2EYG2.js.map +1 -0
- package/dist/{chunk-SCGICCQM.mjs → chunk-N6SGVUTR.mjs} +7 -10
- package/dist/chunk-N6SGVUTR.mjs.map +1 -0
- package/dist/{chunk-7IAWXG43.js → chunk-NIZSQJRW.js} +33 -33
- package/dist/{chunk-7IAWXG43.js.map → chunk-NIZSQJRW.js.map} +1 -1
- package/dist/{chunk-UUTTS3VV.mjs → chunk-NXWIT4YQ.mjs} +8 -11
- package/dist/chunk-NXWIT4YQ.mjs.map +1 -0
- package/dist/{chunk-DJHNSBIR.mjs → chunk-OTQXU4WG.mjs} +26 -26
- package/dist/{chunk-DJHNSBIR.mjs.map → chunk-OTQXU4WG.mjs.map} +1 -1
- package/dist/{chunk-3VCSMSJB.mjs → chunk-PO66V2PN.mjs} +9 -9
- package/dist/{chunk-3VCSMSJB.mjs.map → chunk-PO66V2PN.mjs.map} +1 -1
- package/dist/{chunk-B3TA74C4.js → chunk-PXGESUKI.js} +57 -60
- package/dist/chunk-PXGESUKI.js.map +1 -0
- package/dist/{chunk-YHD6SJIN.mjs → chunk-Q2FUNDCP.mjs} +4 -4
- package/dist/{chunk-YHD6SJIN.mjs.map → chunk-Q2FUNDCP.mjs.map} +1 -1
- package/dist/{chunk-4MNKVDTJ.mjs → chunk-Q5TZTA6H.mjs} +4 -4
- package/dist/{chunk-4MNKVDTJ.mjs.map → chunk-Q5TZTA6H.mjs.map} +1 -1
- package/dist/{chunk-4QCO4CBC.mjs → chunk-T7DROKWJ.mjs} +4 -4
- package/dist/{chunk-4QCO4CBC.mjs.map → chunk-T7DROKWJ.mjs.map} +1 -1
- package/dist/{chunk-WX44DAQD.mjs → chunk-TQADF23S.mjs} +3 -3
- package/dist/{chunk-WX44DAQD.mjs.map → chunk-TQADF23S.mjs.map} +1 -1
- package/dist/{chunk-4VEQJAXJ.mjs → chunk-U7VMFQFN.mjs} +5 -5
- package/dist/{chunk-4VEQJAXJ.mjs.map → chunk-U7VMFQFN.mjs.map} +1 -1
- package/dist/{chunk-M4KRQXOT.mjs → chunk-WE35EV7J.mjs} +3 -3
- package/dist/{chunk-M4KRQXOT.mjs.map → chunk-WE35EV7J.mjs.map} +1 -1
- package/dist/{chunk-RSCRIDMW.mjs → chunk-WTSMTLSP.mjs} +39 -45
- package/dist/chunk-WTSMTLSP.mjs.map +1 -0
- package/dist/{chunk-RPNMDGRA.js → chunk-YFMMZHL5.js} +37 -40
- package/dist/chunk-YFMMZHL5.js.map +1 -0
- package/dist/{chunk-XYMHIZ3K.mjs → chunk-ZBX7UCAP.mjs} +7 -7
- package/dist/{chunk-XYMHIZ3K.mjs.map → chunk-ZBX7UCAP.mjs.map} +1 -1
- package/dist/{chunk-RUZPOHJW.js → chunk-ZE6U4N4Q.js} +42 -42
- package/dist/{chunk-RUZPOHJW.js.map → chunk-ZE6U4N4Q.js.map} +1 -1
- package/dist/{chunk-UPWJRCAD.js → chunk-ZIRD3X6G.js} +220 -226
- 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 +97 -97
- package/dist/platform/index.mjs +22 -22
- package/dist/platform/pages/index.d.mts +103 -1
- package/dist/platform/pages/index.d.ts +103 -1
- package/dist/platform/pages/index.js +934 -488
- package/dist/platform/pages/index.js.map +1 -1
- package/dist/platform/pages/index.mjs +530 -90
- 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-4Z5NZINA.js.map +0 -1
- package/dist/chunk-B3TA74C4.js.map +0 -1
- package/dist/chunk-EBARYRSA.js.map +0 -1
- package/dist/chunk-O4RZCDP2.mjs.map +0 -1
- package/dist/chunk-QEACOJXX.mjs.map +0 -1
- package/dist/chunk-RPNMDGRA.js.map +0 -1
- package/dist/chunk-RSCRIDMW.mjs.map +0 -1
- package/dist/chunk-RWZ2PLMQ.js.map +0 -1
- package/dist/chunk-SCGICCQM.mjs.map +0 -1
- package/dist/chunk-TRNDFSM6.mjs.map +0 -1
- package/dist/chunk-UPWJRCAD.js.map +0 -1
- package/dist/chunk-UUTTS3VV.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"),
|
|
@@ -1282,7 +1282,7 @@ function RulesPageView({ labels, rules, loading, onCreate, onUpdate, onDelete, o
|
|
|
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, o
|
|
|
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,14 +1307,14 @@ function RulesPageView({ labels, rules, loading, onCreate, onUpdate, onDelete, o
|
|
|
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,
|
|
@@ -1325,7 +1325,7 @@ function RulesPageView({ labels, rules, loading, onCreate, onUpdate, onDelete, o
|
|
|
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,
|
|
@@ -1333,18 +1333,18 @@ function RulesPageView({ labels, rules, loading, onCreate, onUpdate, onDelete, o
|
|
|
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, o
|
|
|
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 = {
|
|
@@ -1633,7 +1633,7 @@ function DatasourcesPageView({
|
|
|
1633
1633
|
});
|
|
1634
1634
|
}, [datasources, searchTerm, selectedDialects, enabledFilter, readOnlyFilter]);
|
|
1635
1635
|
const dialectChipItems = react.useMemo(
|
|
1636
|
-
() =>
|
|
1636
|
+
() => chunk2II2NLAZ_js.DIALECT_CATEGORIES.flatMap(
|
|
1637
1637
|
(cat) => cat.dialects.map((d) => ({
|
|
1638
1638
|
id: d.value,
|
|
1639
1639
|
name: d.label,
|
|
@@ -1702,7 +1702,7 @@ function DatasourcesPageView({
|
|
|
1702
1702
|
}
|
|
1703
1703
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
1704
1704
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1705
|
-
|
|
1705
|
+
chunkFZUV7GNB_js.HeroSection,
|
|
1706
1706
|
{
|
|
1707
1707
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.CircleStackIcon, { className: "h-5 w-5" }),
|
|
1708
1708
|
label: labels.title,
|
|
@@ -1710,7 +1710,7 @@ function DatasourcesPageView({
|
|
|
1710
1710
|
subtitle: labels.subtitle,
|
|
1711
1711
|
gradient: "from-amber-500 to-orange-600",
|
|
1712
1712
|
toolbar: !isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1713
|
-
|
|
1713
|
+
chunkFZUV7GNB_js.SearchBar,
|
|
1714
1714
|
{
|
|
1715
1715
|
searchTerm,
|
|
1716
1716
|
onSearchChange: setSearchTerm,
|
|
@@ -1727,8 +1727,8 @@ function DatasourcesPageView({
|
|
|
1727
1727
|
count: filterCount,
|
|
1728
1728
|
onClear: filterCount > 0 ? clearAllFilters : void 0,
|
|
1729
1729
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-5", children: [
|
|
1730
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1731
|
-
|
|
1730
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.FormSection, { title: labels.filterByDialect ?? labels.dialect ?? "Dialeto", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1731
|
+
chunkFZUV7GNB_js.ChipPicker,
|
|
1732
1732
|
{
|
|
1733
1733
|
items: dialectChipItems,
|
|
1734
1734
|
selectedIds: selectedDialects,
|
|
@@ -1738,14 +1738,14 @@ function DatasourcesPageView({
|
|
|
1738
1738
|
clearLabel: labels.clear ?? "Limpar"
|
|
1739
1739
|
}
|
|
1740
1740
|
) }),
|
|
1741
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1742
|
-
/* @__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)) }) })
|
|
1743
1743
|
] })
|
|
1744
1744
|
}
|
|
1745
1745
|
}
|
|
1746
1746
|
) : void 0,
|
|
1747
1747
|
actions: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1748
|
-
|
|
1748
|
+
chunkFZUV7GNB_js.CreateActionButton,
|
|
1749
1749
|
{
|
|
1750
1750
|
mode: "desktop",
|
|
1751
1751
|
label: labels.addDatasource,
|
|
@@ -1756,7 +1756,7 @@ function DatasourcesPageView({
|
|
|
1756
1756
|
}
|
|
1757
1757
|
),
|
|
1758
1758
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1759
|
-
|
|
1759
|
+
chunkFZUV7GNB_js.CreateActionButton,
|
|
1760
1760
|
{
|
|
1761
1761
|
mode: "mobile",
|
|
1762
1762
|
label: labels.addDatasource,
|
|
@@ -1765,7 +1765,7 @@ function DatasourcesPageView({
|
|
|
1765
1765
|
}
|
|
1766
1766
|
),
|
|
1767
1767
|
isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1768
|
-
|
|
1768
|
+
chunkFZUV7GNB_js.PageEmptyState,
|
|
1769
1769
|
{
|
|
1770
1770
|
title: labels.emptyTitle,
|
|
1771
1771
|
message: labels.emptyDescription,
|
|
@@ -1779,13 +1779,13 @@ function DatasourcesPageView({
|
|
|
1779
1779
|
const logoSrc = getDialectLogoSrc(ds.dialect);
|
|
1780
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" }) });
|
|
1781
1781
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1782
|
-
|
|
1782
|
+
chunkFZUV7GNB_js.EntityCard,
|
|
1783
1783
|
{
|
|
1784
1784
|
accentGradient: gradient,
|
|
1785
1785
|
icon: iconElement,
|
|
1786
1786
|
title: ds.name ?? ds.id,
|
|
1787
1787
|
subtitle: dialectLabel,
|
|
1788
|
-
status: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1788
|
+
status: /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Badge, { color: ds.enabled ? "emerald" : "zinc", children: ds.enabled ? labels.enabled : labels.disabled }),
|
|
1789
1789
|
footer: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2 text-xs text-gray-400 dark:text-gray-500", children: [
|
|
1790
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" }),
|
|
1791
1791
|
ds.timeoutMs && /* @__PURE__ */ jsxRuntime.jsxs("span", { children: [
|
|
@@ -1809,7 +1809,7 @@ function DatasourcesPageView({
|
|
|
1809
1809
|
);
|
|
1810
1810
|
}) }),
|
|
1811
1811
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1812
|
-
|
|
1812
|
+
chunk2II2NLAZ_js.DatasourceModal,
|
|
1813
1813
|
{
|
|
1814
1814
|
open: modalOpen,
|
|
1815
1815
|
onClose: () => setModalOpen(false),
|
|
@@ -1838,7 +1838,7 @@ function AgentsIndexPageView({ labels }) {
|
|
|
1838
1838
|
const filteredTiles = searchTerm.trim() ? allTiles.filter((tile) => tile.title.toLowerCase().includes(searchTerm.trim().toLowerCase())) : allTiles;
|
|
1839
1839
|
const isEmpty = allTiles.length === 0;
|
|
1840
1840
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
1841
|
-
|
|
1841
|
+
chunkFZUV7GNB_js.HeroSection,
|
|
1842
1842
|
{
|
|
1843
1843
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.CpuChipIcon, { className: "h-5 w-5" }),
|
|
1844
1844
|
label: labels.title,
|
|
@@ -1846,7 +1846,7 @@ function AgentsIndexPageView({ labels }) {
|
|
|
1846
1846
|
subtitle: labels.subtitle,
|
|
1847
1847
|
gradient: "from-violet-500 to-indigo-700",
|
|
1848
1848
|
toolbar: !isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1849
|
-
|
|
1849
|
+
chunkFZUV7GNB_js.SearchBar,
|
|
1850
1850
|
{
|
|
1851
1851
|
searchTerm,
|
|
1852
1852
|
onSearchChange: setSearchTerm,
|
|
@@ -1859,7 +1859,7 @@ function AgentsIndexPageView({ labels }) {
|
|
|
1859
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) => {
|
|
1860
1860
|
const Icon = tile.icon;
|
|
1861
1861
|
return /* @__PURE__ */ jsxRuntime.jsx(Link, { href: tile.href, className: "block focus:outline-none", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1862
|
-
|
|
1862
|
+
chunkFZUV7GNB_js.EntityCard,
|
|
1863
1863
|
{
|
|
1864
1864
|
accentGradient: tile.gradient,
|
|
1865
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" }) }),
|
|
@@ -1877,7 +1877,7 @@ function WorkflowsPageView({ labels, workflows, onCreate, onUpdateMeta, onPublis
|
|
|
1877
1877
|
const selectedWorkflow = workflows[0] ?? null;
|
|
1878
1878
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-6", children: [
|
|
1879
1879
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1880
|
-
|
|
1880
|
+
chunkFZUV7GNB_js.SectionHeader,
|
|
1881
1881
|
{
|
|
1882
1882
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.RectangleStackIcon, { className: "h-5 w-5 text-white" }),
|
|
1883
1883
|
title: labels.title,
|
|
@@ -1886,9 +1886,9 @@ function WorkflowsPageView({ labels, workflows, onCreate, onUpdateMeta, onPublis
|
|
|
1886
1886
|
}
|
|
1887
1887
|
),
|
|
1888
1888
|
/* @__PURE__ */ jsxRuntime.jsxs("section", { className: "liquid-surface rounded-2xl p-4 space-y-3", children: [
|
|
1889
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1889
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.Text, { className: "font-semibold text-slate-900 dark:text-slate-100", children: labels.add }),
|
|
1890
1890
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1891
|
-
|
|
1891
|
+
chunkFZUV7GNB_js.Form,
|
|
1892
1892
|
{
|
|
1893
1893
|
onSubmit: (event) => {
|
|
1894
1894
|
event.preventDefault();
|
|
@@ -1899,32 +1899,32 @@ function WorkflowsPageView({ labels, workflows, onCreate, onUpdateMeta, onPublis
|
|
|
1899
1899
|
onCreate({ name, description });
|
|
1900
1900
|
event.currentTarget.reset();
|
|
1901
1901
|
},
|
|
1902
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1903
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1904
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1905
|
-
/* @__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 }) })
|
|
1906
1906
|
] })
|
|
1907
1907
|
}
|
|
1908
1908
|
)
|
|
1909
1909
|
] }),
|
|
1910
1910
|
/* @__PURE__ */ jsxRuntime.jsxs("section", { className: "liquid-surface rounded-2xl p-4 space-y-3", children: [
|
|
1911
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1912
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1913
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1914
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1915
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1916
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1917
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1918
|
-
/* @__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 })
|
|
1919
1919
|
] }) }),
|
|
1920
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1921
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1922
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1923
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1924
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1925
|
-
/* @__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: [
|
|
1926
1926
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1927
|
-
|
|
1927
|
+
chunkFZUV7GNB_js.Form,
|
|
1928
1928
|
{
|
|
1929
1929
|
onSubmit: (event) => {
|
|
1930
1930
|
event.preventDefault();
|
|
@@ -1934,17 +1934,17 @@ function WorkflowsPageView({ labels, workflows, onCreate, onUpdateMeta, onPublis
|
|
|
1934
1934
|
description: workflow.description ?? ""
|
|
1935
1935
|
});
|
|
1936
1936
|
},
|
|
1937
|
-
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 }) })
|
|
1938
1938
|
}
|
|
1939
1939
|
),
|
|
1940
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1940
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Button, { type: "button", color: "sky", onClick: () => onPublish(workflow.id), children: labels.publish })
|
|
1941
1941
|
] }) })
|
|
1942
1942
|
] }, workflow.id)) })
|
|
1943
1943
|
] })
|
|
1944
1944
|
] }),
|
|
1945
1945
|
/* @__PURE__ */ jsxRuntime.jsxs("section", { className: "liquid-surface rounded-2xl p-4 space-y-3", children: [
|
|
1946
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
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(
|
|
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 })
|
|
1948
1948
|
] })
|
|
1949
1949
|
] });
|
|
1950
1950
|
}
|
|
@@ -1994,7 +1994,7 @@ function WorkflowRunsPageView({ labels, runs, loading, onCancel, onReplay, onVie
|
|
|
1994
1994
|
});
|
|
1995
1995
|
const isEmpty = allRuns.length === 0;
|
|
1996
1996
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
1997
|
-
|
|
1997
|
+
chunkFZUV7GNB_js.HeroSection,
|
|
1998
1998
|
{
|
|
1999
1999
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.ClockIcon, { className: "h-5 w-5" }),
|
|
2000
2000
|
label: labels.title,
|
|
@@ -2002,7 +2002,7 @@ function WorkflowRunsPageView({ labels, runs, loading, onCancel, onReplay, onVie
|
|
|
2002
2002
|
subtitle: labels.subtitle,
|
|
2003
2003
|
gradient: "from-indigo-500 to-sky-700",
|
|
2004
2004
|
toolbar: !isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
2005
|
-
|
|
2005
|
+
chunkFZUV7GNB_js.SearchBar,
|
|
2006
2006
|
{
|
|
2007
2007
|
searchTerm,
|
|
2008
2008
|
onSearchChange: setSearchTerm,
|
|
@@ -2016,7 +2016,7 @@ function WorkflowRunsPageView({ labels, runs, loading, onCancel, onReplay, onVie
|
|
|
2016
2016
|
count: statusFilter !== "all" ? 1 : 0,
|
|
2017
2017
|
onClear: statusFilter !== "all" ? () => setStatusFilter("all") : void 0,
|
|
2018
2018
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2019
|
-
|
|
2019
|
+
chunkFZUV7GNB_js.FormSelect,
|
|
2020
2020
|
{
|
|
2021
2021
|
name: "statusFilter",
|
|
2022
2022
|
label: labels.filterStatus,
|
|
@@ -2030,19 +2030,19 @@ function WorkflowRunsPageView({ labels, runs, loading, onCancel, onReplay, onVie
|
|
|
2030
2030
|
) : void 0
|
|
2031
2031
|
}
|
|
2032
2032
|
);
|
|
2033
|
-
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
2034
|
-
|
|
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,
|
|
2035
2035
|
{
|
|
2036
2036
|
accentGradient: "from-indigo-500 to-sky-700",
|
|
2037
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" }) }),
|
|
2038
2038
|
title: run.id.slice(0, 8),
|
|
2039
2039
|
subtitle: `${labels.startedAt}: ${new Date(run.createdAt).toLocaleString()}`,
|
|
2040
|
-
status: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2040
|
+
status: /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Badge, { color: BADGE_COLOR[run.status] ?? "zinc", children: statusLabelFor(run.status) }),
|
|
2041
2041
|
footer: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
|
|
2042
|
-
onView && /* @__PURE__ */ jsxRuntime.jsx(
|
|
2043
|
-
onViewTimeline && labels.timeline && /* @__PURE__ */ jsxRuntime.jsx(
|
|
2044
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2045
|
-
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 })
|
|
2046
2046
|
] }),
|
|
2047
2047
|
children: [
|
|
2048
2048
|
/* @__PURE__ */ jsxRuntime.jsxs("dl", { className: "mt-1 grid grid-cols-2 gap-1 text-xs text-slate-500 dark:text-slate-400", children: [
|
|
@@ -2063,7 +2063,7 @@ function WorkflowRunsPageView({ labels, runs, loading, onCancel, onReplay, onVie
|
|
|
2063
2063
|
}
|
|
2064
2064
|
function RunTimelinePageView({ labels, entries, loading, runId }) {
|
|
2065
2065
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
2066
|
-
|
|
2066
|
+
chunkFZUV7GNB_js.HeroSection,
|
|
2067
2067
|
{
|
|
2068
2068
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.ClockIcon, { className: "h-5 w-5" }),
|
|
2069
2069
|
label: labels.title,
|
|
@@ -2075,19 +2075,19 @@ function RunTimelinePageView({ labels, entries, loading, runId }) {
|
|
|
2075
2075
|
if (loading) {
|
|
2076
2076
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
2077
2077
|
hero,
|
|
2078
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2078
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.PageLoadingState, {})
|
|
2079
2079
|
] });
|
|
2080
2080
|
}
|
|
2081
2081
|
if (entries.length === 0) {
|
|
2082
2082
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
2083
2083
|
hero,
|
|
2084
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2084
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.PageEmptyState, { title: labels.empty ?? "", message: "", iconName: "folder-open" })
|
|
2085
2085
|
] });
|
|
2086
2086
|
}
|
|
2087
2087
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
2088
2088
|
hero,
|
|
2089
2089
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2090
|
-
|
|
2090
|
+
chunkZIRD3X6G_js.ExecutionTimelinePanel,
|
|
2091
2091
|
{
|
|
2092
2092
|
entries,
|
|
2093
2093
|
labels
|
|
@@ -2230,7 +2230,7 @@ function ConnectionsPageView({
|
|
|
2230
2230
|
setSelectedRegions([]);
|
|
2231
2231
|
};
|
|
2232
2232
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
2233
|
-
|
|
2233
|
+
chunkFZUV7GNB_js.HeroSection,
|
|
2234
2234
|
{
|
|
2235
2235
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.LinkIcon, { className: "h-5 w-5" }),
|
|
2236
2236
|
label: labels.title,
|
|
@@ -2238,7 +2238,7 @@ function ConnectionsPageView({
|
|
|
2238
2238
|
subtitle: labels.subtitle,
|
|
2239
2239
|
gradient: "from-sky-500 to-indigo-600",
|
|
2240
2240
|
toolbar: !isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
2241
|
-
|
|
2241
|
+
chunkFZUV7GNB_js.SearchBar,
|
|
2242
2242
|
{
|
|
2243
2243
|
searchTerm,
|
|
2244
2244
|
onSearchChange: setSearchTerm,
|
|
@@ -2255,8 +2255,8 @@ function ConnectionsPageView({
|
|
|
2255
2255
|
count: filterCount,
|
|
2256
2256
|
onClear: filterCount > 0 ? clearAllFilters : void 0,
|
|
2257
2257
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-5", children: [
|
|
2258
|
-
providerChipItems.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
2259
|
-
|
|
2258
|
+
providerChipItems.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.FormSection, { title: labels.filterByProvider ?? "Provedor", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2259
|
+
chunkFZUV7GNB_js.ChipPicker,
|
|
2260
2260
|
{
|
|
2261
2261
|
items: providerChipItems,
|
|
2262
2262
|
selectedIds: selectedProviders,
|
|
@@ -2266,8 +2266,8 @@ function ConnectionsPageView({
|
|
|
2266
2266
|
clearLabel: labels.clear ?? "Limpar"
|
|
2267
2267
|
}
|
|
2268
2268
|
) }),
|
|
2269
|
-
regionChipItems.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
2270
|
-
|
|
2269
|
+
regionChipItems.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.FormSection, { title: labels.filterByRegion ?? "Regi\xE3o", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2270
|
+
chunkFZUV7GNB_js.ChipPicker,
|
|
2271
2271
|
{
|
|
2272
2272
|
items: regionChipItems,
|
|
2273
2273
|
selectedIds: selectedRegions,
|
|
@@ -2282,7 +2282,7 @@ function ConnectionsPageView({
|
|
|
2282
2282
|
}
|
|
2283
2283
|
) : void 0,
|
|
2284
2284
|
actions: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2285
|
-
|
|
2285
|
+
chunkFZUV7GNB_js.CreateActionButton,
|
|
2286
2286
|
{
|
|
2287
2287
|
mode: "desktop",
|
|
2288
2288
|
label: labels.add,
|
|
@@ -2293,7 +2293,7 @@ function ConnectionsPageView({
|
|
|
2293
2293
|
}
|
|
2294
2294
|
);
|
|
2295
2295
|
const mobileAction = /* @__PURE__ */ jsxRuntime.jsx(
|
|
2296
|
-
|
|
2296
|
+
chunkFZUV7GNB_js.CreateActionButton,
|
|
2297
2297
|
{
|
|
2298
2298
|
mode: "mobile",
|
|
2299
2299
|
label: labels.add,
|
|
@@ -2301,21 +2301,21 @@ function ConnectionsPageView({
|
|
|
2301
2301
|
accent: "sky"
|
|
2302
2302
|
}
|
|
2303
2303
|
);
|
|
2304
|
-
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
2305
|
-
|
|
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,
|
|
2306
2306
|
{
|
|
2307
2307
|
accentGradient: "from-sky-500 to-indigo-600",
|
|
2308
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" }) }),
|
|
2309
2309
|
title: conn.name,
|
|
2310
2310
|
subtitle: providerLabel(conn.providerSlug),
|
|
2311
2311
|
status: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-1", children: [
|
|
2312
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2313
|
-
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" })
|
|
2314
2314
|
] }),
|
|
2315
2315
|
footer: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
|
|
2316
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2316
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Button, { type: "button", size: "sm", outline: true, onClick: () => setEditing(conn), children: labels.edit }),
|
|
2317
2317
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2318
|
-
|
|
2318
|
+
chunkMXQ2EYG2_js.Button,
|
|
2319
2319
|
{
|
|
2320
2320
|
type: "button",
|
|
2321
2321
|
size: "sm",
|
|
@@ -2454,7 +2454,7 @@ function ConnectionEditor({
|
|
|
2454
2454
|
return preset.exampleModels?.join(", ") ?? "";
|
|
2455
2455
|
}, [preset]);
|
|
2456
2456
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2457
|
-
|
|
2457
|
+
chunkFZUV7GNB_js.GlassModal,
|
|
2458
2458
|
{
|
|
2459
2459
|
open: true,
|
|
2460
2460
|
onClose,
|
|
@@ -2467,9 +2467,9 @@ function ConnectionEditor({
|
|
|
2467
2467
|
void handleSubmit();
|
|
2468
2468
|
},
|
|
2469
2469
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
2470
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
2470
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkFZUV7GNB_js.FormGrid, { children: [
|
|
2471
2471
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2472
|
-
|
|
2472
|
+
chunkFZUV7GNB_js.FormSelect,
|
|
2473
2473
|
{
|
|
2474
2474
|
label: "Provider",
|
|
2475
2475
|
value: value.providerSlug,
|
|
@@ -2480,7 +2480,7 @@ function ConnectionEditor({
|
|
|
2480
2480
|
}
|
|
2481
2481
|
),
|
|
2482
2482
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2483
|
-
|
|
2483
|
+
chunkFZUV7GNB_js.FormInput,
|
|
2484
2484
|
{
|
|
2485
2485
|
label: "Display name",
|
|
2486
2486
|
required: true,
|
|
@@ -2490,7 +2490,7 @@ function ConnectionEditor({
|
|
|
2490
2490
|
}
|
|
2491
2491
|
),
|
|
2492
2492
|
preset.needsRegion && /* @__PURE__ */ jsxRuntime.jsx(
|
|
2493
|
-
|
|
2493
|
+
chunkFZUV7GNB_js.FormInput,
|
|
2494
2494
|
{
|
|
2495
2495
|
label: "Region",
|
|
2496
2496
|
value: value.region,
|
|
@@ -2499,7 +2499,7 @@ function ConnectionEditor({
|
|
|
2499
2499
|
}
|
|
2500
2500
|
),
|
|
2501
2501
|
preset.needsEndpoint && /* @__PURE__ */ jsxRuntime.jsx(
|
|
2502
|
-
|
|
2502
|
+
chunkFZUV7GNB_js.FormInput,
|
|
2503
2503
|
{
|
|
2504
2504
|
label: "Endpoint URL",
|
|
2505
2505
|
value: value.endpoint,
|
|
@@ -2509,7 +2509,7 @@ function ConnectionEditor({
|
|
|
2509
2509
|
)
|
|
2510
2510
|
] }),
|
|
2511
2511
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2512
|
-
|
|
2512
|
+
chunkFZUV7GNB_js.FormInput,
|
|
2513
2513
|
{
|
|
2514
2514
|
label: value.credentialRef ? "Rotate API key (leave blank to keep current)" : "API key",
|
|
2515
2515
|
type: "password",
|
|
@@ -2520,7 +2520,7 @@ function ConnectionEditor({
|
|
|
2520
2520
|
}
|
|
2521
2521
|
),
|
|
2522
2522
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2523
|
-
|
|
2523
|
+
chunkFZUV7GNB_js.FormInput,
|
|
2524
2524
|
{
|
|
2525
2525
|
label: "Model filter (comma-separated, optional)",
|
|
2526
2526
|
value: value.modelFilter,
|
|
@@ -2532,7 +2532,7 @@ function ConnectionEditor({
|
|
|
2532
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: [
|
|
2533
2533
|
/* @__PURE__ */ jsxRuntime.jsx("summary", { className: "cursor-pointer font-medium text-slate-700 dark:text-slate-200", children: "Advanced config (JSON)" }),
|
|
2534
2534
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-3", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2535
|
-
|
|
2535
|
+
chunkFZUV7GNB_js.FormTextarea,
|
|
2536
2536
|
{
|
|
2537
2537
|
rows: 4,
|
|
2538
2538
|
value: value.configJson,
|
|
@@ -2653,7 +2653,7 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
|
|
|
2653
2653
|
setDisabledFilter("all");
|
|
2654
2654
|
};
|
|
2655
2655
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
2656
|
-
|
|
2656
|
+
chunkFZUV7GNB_js.HeroSection,
|
|
2657
2657
|
{
|
|
2658
2658
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.KeyIcon, { className: "h-5 w-5" }),
|
|
2659
2659
|
label: labels.title,
|
|
@@ -2661,7 +2661,7 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
|
|
|
2661
2661
|
subtitle: labels.subtitle,
|
|
2662
2662
|
gradient: "from-rose-500 to-orange-600",
|
|
2663
2663
|
toolbar: !isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
2664
|
-
|
|
2664
|
+
chunkFZUV7GNB_js.SearchBar,
|
|
2665
2665
|
{
|
|
2666
2666
|
searchTerm,
|
|
2667
2667
|
onSearchChange: setSearchTerm,
|
|
@@ -2678,8 +2678,8 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
|
|
|
2678
2678
|
count: filterCount,
|
|
2679
2679
|
onClear: filterCount > 0 ? clearAllFilters : void 0,
|
|
2680
2680
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-5", children: [
|
|
2681
|
-
typeChipItems.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
2682
|
-
|
|
2681
|
+
typeChipItems.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.FormSection, { title: labels.filterByType ?? "Tipo", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2682
|
+
chunkFZUV7GNB_js.ChipPicker,
|
|
2683
2683
|
{
|
|
2684
2684
|
items: typeChipItems,
|
|
2685
2685
|
selectedIds: selectedTypes,
|
|
@@ -2689,13 +2689,13 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
|
|
|
2689
2689
|
clearLabel: labels.clear ?? "Limpar"
|
|
2690
2690
|
}
|
|
2691
2691
|
) }),
|
|
2692
|
-
/* @__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)) }) })
|
|
2693
2693
|
] })
|
|
2694
2694
|
}
|
|
2695
2695
|
}
|
|
2696
2696
|
) : void 0,
|
|
2697
2697
|
actions: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2698
|
-
|
|
2698
|
+
chunkFZUV7GNB_js.CreateActionButton,
|
|
2699
2699
|
{
|
|
2700
2700
|
mode: "desktop",
|
|
2701
2701
|
label: labels.addCredential,
|
|
@@ -2706,7 +2706,7 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
|
|
|
2706
2706
|
}
|
|
2707
2707
|
);
|
|
2708
2708
|
const mobileAction = /* @__PURE__ */ jsxRuntime.jsx(
|
|
2709
|
-
|
|
2709
|
+
chunkFZUV7GNB_js.CreateActionButton,
|
|
2710
2710
|
{
|
|
2711
2711
|
mode: "mobile",
|
|
2712
2712
|
label: labels.addCredential,
|
|
@@ -2714,23 +2714,23 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
|
|
|
2714
2714
|
accent: "rose"
|
|
2715
2715
|
}
|
|
2716
2716
|
);
|
|
2717
|
-
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
2718
|
-
|
|
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,
|
|
2719
2719
|
{
|
|
2720
2720
|
accentGradient: "from-rose-500 to-orange-700",
|
|
2721
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" }) }),
|
|
2722
2722
|
title: secret.name,
|
|
2723
2723
|
subtitle: secret.secretType,
|
|
2724
|
-
status: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2724
|
+
status: /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Badge, { color: secret.disabled ? "zinc" : "emerald", children: secret.disabled ? labels.disable : "Active" }),
|
|
2725
2725
|
footer: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between gap-2", children: [
|
|
2726
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2726
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.CopyableId, { id: secret.secretId }),
|
|
2727
2727
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
|
|
2728
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
2728
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkMXQ2EYG2_js.Button, { type: "button", size: "sm", outline: true, onClick: () => setRotateFor(secret), children: [
|
|
2729
2729
|
/* @__PURE__ */ jsxRuntime.jsx(outline.ArrowPathIcon, { className: "mr-1 h-3.5 w-3.5" }),
|
|
2730
2730
|
labels.rotate
|
|
2731
2731
|
] }),
|
|
2732
2732
|
!secret.disabled && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2733
|
-
|
|
2733
|
+
chunkMXQ2EYG2_js.Button,
|
|
2734
2734
|
{
|
|
2735
2735
|
type: "button",
|
|
2736
2736
|
size: "sm",
|
|
@@ -2765,7 +2765,7 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
|
|
|
2765
2765
|
mobileAction
|
|
2766
2766
|
] }),
|
|
2767
2767
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2768
|
-
|
|
2768
|
+
chunkFZUV7GNB_js.GlassModal,
|
|
2769
2769
|
{
|
|
2770
2770
|
open: createOpen,
|
|
2771
2771
|
onClose: () => setCreateOpen(false),
|
|
@@ -2783,16 +2783,16 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
|
|
|
2783
2783
|
onCreate({ name, value, secretType, description });
|
|
2784
2784
|
setCreateOpen(false);
|
|
2785
2785
|
},
|
|
2786
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2787
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2788
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2789
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2790
|
-
/* @__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 })
|
|
2791
2791
|
] })
|
|
2792
2792
|
}
|
|
2793
2793
|
),
|
|
2794
2794
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2795
|
-
|
|
2795
|
+
chunkFZUV7GNB_js.GlassModal,
|
|
2796
2796
|
{
|
|
2797
2797
|
open: rotateFor !== null,
|
|
2798
2798
|
onClose: () => setRotateFor(null),
|
|
@@ -2807,7 +2807,7 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
|
|
|
2807
2807
|
onRotate(rotateFor, value);
|
|
2808
2808
|
setRotateFor(null);
|
|
2809
2809
|
},
|
|
2810
|
-
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" }) })
|
|
2811
2811
|
}
|
|
2812
2812
|
)
|
|
2813
2813
|
] });
|
|
@@ -2860,7 +2860,7 @@ function AgentsWorkspacePageView({
|
|
|
2860
2860
|
}, [agents, selectedId]);
|
|
2861
2861
|
const isEmpty = agents.length === 0;
|
|
2862
2862
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
2863
|
-
|
|
2863
|
+
chunkFZUV7GNB_js.HeroSection,
|
|
2864
2864
|
{
|
|
2865
2865
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.CpuChipIcon, { className: "h-5 w-5" }),
|
|
2866
2866
|
label: labels.title,
|
|
@@ -2868,7 +2868,7 @@ function AgentsWorkspacePageView({
|
|
|
2868
2868
|
subtitle: labels.subtitle,
|
|
2869
2869
|
gradient: "from-violet-500 to-indigo-700",
|
|
2870
2870
|
toolbar: !isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
2871
|
-
|
|
2871
|
+
chunkFZUV7GNB_js.SearchBar,
|
|
2872
2872
|
{
|
|
2873
2873
|
searchTerm,
|
|
2874
2874
|
onSearchChange: setSearchTerm,
|
|
@@ -2877,7 +2877,7 @@ function AgentsWorkspacePageView({
|
|
|
2877
2877
|
}
|
|
2878
2878
|
) : void 0,
|
|
2879
2879
|
actions: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2880
|
-
|
|
2880
|
+
chunkFZUV7GNB_js.CreateActionButton,
|
|
2881
2881
|
{
|
|
2882
2882
|
mode: "desktop",
|
|
2883
2883
|
label: labels.addAgent,
|
|
@@ -2888,7 +2888,7 @@ function AgentsWorkspacePageView({
|
|
|
2888
2888
|
}
|
|
2889
2889
|
);
|
|
2890
2890
|
const mobileAction = /* @__PURE__ */ jsxRuntime.jsx(
|
|
2891
|
-
|
|
2891
|
+
chunkFZUV7GNB_js.CreateActionButton,
|
|
2892
2892
|
{
|
|
2893
2893
|
mode: "mobile",
|
|
2894
2894
|
label: labels.addAgent,
|
|
@@ -2896,27 +2896,27 @@ function AgentsWorkspacePageView({
|
|
|
2896
2896
|
accent: "violet"
|
|
2897
2897
|
}
|
|
2898
2898
|
);
|
|
2899
|
-
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
2900
|
-
|
|
2899
|
+
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.PageLoadingState, {}) : isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
2900
|
+
chunkFZUV7GNB_js.PageEmptyState,
|
|
2901
2901
|
{
|
|
2902
2902
|
title: labels.empty,
|
|
2903
2903
|
message: labels.emptyMessage,
|
|
2904
2904
|
iconName: "folder-open"
|
|
2905
2905
|
}
|
|
2906
2906
|
) : /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-1 gap-4 lg:grid-cols-[20rem_minmax(0,1fr)]", children: [
|
|
2907
|
-
/* @__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) => {
|
|
2908
2908
|
const id = String(agent.agentId ?? agent.id ?? "");
|
|
2909
2909
|
const active = id === selectedId;
|
|
2910
2910
|
const initials = deriveInitials(String(agent.name ?? id));
|
|
2911
2911
|
const modelName = models.find((m) => m.id === String(agent.modelId ?? ""))?.name ?? String(agent.modelId ?? "");
|
|
2912
2912
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2913
|
-
|
|
2913
|
+
chunkFZUV7GNB_js.ListCardItem,
|
|
2914
2914
|
{
|
|
2915
|
-
leading: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2916
|
-
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: [
|
|
2917
2917
|
"v",
|
|
2918
2918
|
agent.activePromptVersion
|
|
2919
|
-
] }) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
2919
|
+
] }) : /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Badge, { color: "zinc", children: "draft" }),
|
|
2920
2920
|
pressable: true,
|
|
2921
2921
|
onPress: () => {
|
|
2922
2922
|
setSelectedId(id);
|
|
@@ -2954,7 +2954,7 @@ function AgentsWorkspacePageView({
|
|
|
2954
2954
|
},
|
|
2955
2955
|
String(selectedAgent.agentId ?? selectedAgent.id ?? "")
|
|
2956
2956
|
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
2957
|
-
|
|
2957
|
+
chunkFZUV7GNB_js.SectionCard,
|
|
2958
2958
|
{
|
|
2959
2959
|
header: {
|
|
2960
2960
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.CpuChipIcon, { className: "h-4 w-4" }),
|
|
@@ -2962,7 +2962,7 @@ function AgentsWorkspacePageView({
|
|
|
2962
2962
|
subtitle: labels.noSelectionMessage
|
|
2963
2963
|
},
|
|
2964
2964
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2965
|
-
|
|
2965
|
+
chunkFZUV7GNB_js.PageEmptyState,
|
|
2966
2966
|
{
|
|
2967
2967
|
title: labels.noSelection,
|
|
2968
2968
|
message: labels.noSelectionMessage,
|
|
@@ -2996,7 +2996,7 @@ function AgentDetail({
|
|
|
2996
2996
|
}) {
|
|
2997
2997
|
const agentId = String(agent.agentId ?? agent.id ?? "");
|
|
2998
2998
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2999
|
-
|
|
2999
|
+
chunkFZUV7GNB_js.SectionCard,
|
|
3000
3000
|
{
|
|
3001
3001
|
header: {
|
|
3002
3002
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.CpuChipIcon, { className: "h-4 w-4" }),
|
|
@@ -3004,7 +3004,7 @@ function AgentDetail({
|
|
|
3004
3004
|
subtitle: String(agent.description ?? "")
|
|
3005
3005
|
},
|
|
3006
3006
|
actions: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3007
|
-
|
|
3007
|
+
chunkMXQ2EYG2_js.Button,
|
|
3008
3008
|
{
|
|
3009
3009
|
type: "button",
|
|
3010
3010
|
size: "sm",
|
|
@@ -3021,15 +3021,15 @@ function AgentDetail({
|
|
|
3021
3021
|
]
|
|
3022
3022
|
}
|
|
3023
3023
|
),
|
|
3024
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3025
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
3026
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3027
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3028
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3029
|
-
/* @__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 })
|
|
3030
3030
|
] }),
|
|
3031
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3032
|
-
/* @__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(
|
|
3033
3033
|
PromptTab,
|
|
3034
3034
|
{
|
|
3035
3035
|
agent,
|
|
@@ -3039,7 +3039,7 @@ function AgentDetail({
|
|
|
3039
3039
|
onActivate: (promptId) => onActivatePrompt(agentId, promptId)
|
|
3040
3040
|
}
|
|
3041
3041
|
) }),
|
|
3042
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3042
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.TabsContent, { value: "tools", className: "space-y-4 pt-4", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
3043
3043
|
ToolsTab,
|
|
3044
3044
|
{
|
|
3045
3045
|
agent,
|
|
@@ -3049,7 +3049,7 @@ function AgentDetail({
|
|
|
3049
3049
|
onDetach: (toolId) => onDetachTool(agentId, toolId)
|
|
3050
3050
|
}
|
|
3051
3051
|
) }),
|
|
3052
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3052
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.TabsContent, { value: "model", className: "space-y-4 pt-4", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
3053
3053
|
ModelTab,
|
|
3054
3054
|
{
|
|
3055
3055
|
agent,
|
|
@@ -3081,7 +3081,7 @@ function GeneralTab({
|
|
|
3081
3081
|
const initialRole = String(agent.role ?? "");
|
|
3082
3082
|
const initialStatus = String(agent.status ?? "draft");
|
|
3083
3083
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3084
|
-
|
|
3084
|
+
chunkFZUV7GNB_js.SectionCard,
|
|
3085
3085
|
{
|
|
3086
3086
|
variant: "glass",
|
|
3087
3087
|
header: {
|
|
@@ -3110,10 +3110,10 @@ function GeneralTab({
|
|
|
3110
3110
|
},
|
|
3111
3111
|
className: "space-y-4",
|
|
3112
3112
|
children: [
|
|
3113
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
3114
|
-
/* @__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 }),
|
|
3115
3115
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3116
|
-
|
|
3116
|
+
chunkFZUV7GNB_js.FormSelect,
|
|
3117
3117
|
{
|
|
3118
3118
|
name: "status",
|
|
3119
3119
|
label: labels.status,
|
|
@@ -3125,9 +3125,9 @@ function GeneralTab({
|
|
|
3125
3125
|
]
|
|
3126
3126
|
}
|
|
3127
3127
|
),
|
|
3128
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3128
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.FormInput, { name: "role", label: labels.role, placeholder: labels.rolePlaceholder, defaultValue: initialRole }),
|
|
3129
3129
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3130
|
-
|
|
3130
|
+
chunkFZUV7GNB_js.FormInput,
|
|
3131
3131
|
{
|
|
3132
3132
|
name: "maxTokens",
|
|
3133
3133
|
label: labels.maxTokens,
|
|
@@ -3136,7 +3136,7 @@ function GeneralTab({
|
|
|
3136
3136
|
}
|
|
3137
3137
|
),
|
|
3138
3138
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3139
|
-
|
|
3139
|
+
chunkFZUV7GNB_js.FormInput,
|
|
3140
3140
|
{
|
|
3141
3141
|
name: "temperature",
|
|
3142
3142
|
label: labels.temperature,
|
|
@@ -3148,8 +3148,8 @@ function GeneralTab({
|
|
|
3148
3148
|
}
|
|
3149
3149
|
)
|
|
3150
3150
|
] }),
|
|
3151
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3152
|
-
/* @__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 }) })
|
|
3153
3153
|
]
|
|
3154
3154
|
}
|
|
3155
3155
|
)
|
|
@@ -3168,7 +3168,7 @@ function PromptTab({
|
|
|
3168
3168
|
const currentSystem = String(agent.systemPrompt ?? "");
|
|
3169
3169
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
3170
3170
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3171
|
-
|
|
3171
|
+
chunkFZUV7GNB_js.SectionCard,
|
|
3172
3172
|
{
|
|
3173
3173
|
variant: "glass",
|
|
3174
3174
|
header: {
|
|
@@ -3180,27 +3180,27 @@ function PromptTab({
|
|
|
3180
3180
|
}
|
|
3181
3181
|
),
|
|
3182
3182
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3183
|
-
|
|
3183
|
+
chunkFZUV7GNB_js.SectionCard,
|
|
3184
3184
|
{
|
|
3185
3185
|
variant: "glass",
|
|
3186
3186
|
header: {
|
|
3187
3187
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.ChatBubbleLeftEllipsisIcon, { className: "h-4 w-4" }),
|
|
3188
3188
|
title: labels.promptVersions
|
|
3189
3189
|
},
|
|
3190
|
-
actions: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3190
|
+
actions: /* @__PURE__ */ jsxRuntime.jsxs(chunkMXQ2EYG2_js.Button, { type: "button", size: "sm", outline: true, onClick: () => setAddOpen(true), children: [
|
|
3191
3191
|
/* @__PURE__ */ jsxRuntime.jsx(outline.PlusIcon, { className: "h-4 w-4" }),
|
|
3192
3192
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-1.5", children: labels.addPrompt })
|
|
3193
3193
|
] }),
|
|
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(
|
|
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) => {
|
|
3195
3195
|
const id = `${prompt.agentId}:${prompt.locale}:${prompt.version}`;
|
|
3196
3196
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3197
|
-
|
|
3197
|
+
chunkFZUV7GNB_js.ListCardItem,
|
|
3198
3198
|
{
|
|
3199
|
-
leading: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3199
|
+
leading: /* @__PURE__ */ jsxRuntime.jsxs(chunkMXQ2EYG2_js.Badge, { color: prompt.isActive ? "emerald" : "zinc", children: [
|
|
3200
3200
|
"v",
|
|
3201
3201
|
prompt.version
|
|
3202
3202
|
] }),
|
|
3203
|
-
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 }),
|
|
3204
3204
|
children: [
|
|
3205
3205
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm font-medium text-slate-700 dark:text-slate-200", children: prompt.locale }),
|
|
3206
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 })
|
|
@@ -3212,7 +3212,7 @@ function PromptTab({
|
|
|
3212
3212
|
}
|
|
3213
3213
|
),
|
|
3214
3214
|
addOpen && /* @__PURE__ */ jsxRuntime.jsx(
|
|
3215
|
-
|
|
3215
|
+
chunkFZUV7GNB_js.GlassModal,
|
|
3216
3216
|
{
|
|
3217
3217
|
open: true,
|
|
3218
3218
|
onClose: () => setAddOpen(false),
|
|
@@ -3233,10 +3233,10 @@ function PromptTab({
|
|
|
3233
3233
|
});
|
|
3234
3234
|
setAddOpen(false);
|
|
3235
3235
|
},
|
|
3236
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3237
|
-
/* @__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" }),
|
|
3238
3238
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3239
|
-
|
|
3239
|
+
chunkFZUV7GNB_js.FormSelect,
|
|
3240
3240
|
{
|
|
3241
3241
|
name: "isActive",
|
|
3242
3242
|
label: labels.promptIsActive,
|
|
@@ -3247,10 +3247,10 @@ function PromptTab({
|
|
|
3247
3247
|
defaultValue: "true"
|
|
3248
3248
|
}
|
|
3249
3249
|
),
|
|
3250
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3251
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3252
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3253
|
-
/* @__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 })
|
|
3254
3254
|
] })
|
|
3255
3255
|
}
|
|
3256
3256
|
)
|
|
@@ -3273,18 +3273,18 @@ function ToolsTab({
|
|
|
3273
3273
|
const availableTools = tools.filter((tool) => !attachedSet.has(tool.agentToolId));
|
|
3274
3274
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
3275
3275
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3276
|
-
|
|
3276
|
+
chunkFZUV7GNB_js.SectionCard,
|
|
3277
3277
|
{
|
|
3278
3278
|
variant: "glass",
|
|
3279
3279
|
header: {
|
|
3280
3280
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.WrenchScrewdriverIcon, { className: "h-4 w-4" }),
|
|
3281
3281
|
title: labels.toolsAttached
|
|
3282
3282
|
},
|
|
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(
|
|
3284
|
-
|
|
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,
|
|
3285
3285
|
{
|
|
3286
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" }) }),
|
|
3287
|
-
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 }),
|
|
3288
3288
|
children: [
|
|
3289
3289
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm font-medium text-slate-700 dark:text-slate-200", children: tool.name }),
|
|
3290
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 })
|
|
@@ -3295,18 +3295,18 @@ function ToolsTab({
|
|
|
3295
3295
|
}
|
|
3296
3296
|
),
|
|
3297
3297
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3298
|
-
|
|
3298
|
+
chunkFZUV7GNB_js.SectionCard,
|
|
3299
3299
|
{
|
|
3300
3300
|
variant: "glass",
|
|
3301
3301
|
header: {
|
|
3302
3302
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.WrenchScrewdriverIcon, { className: "h-4 w-4" }),
|
|
3303
3303
|
title: labels.toolsAvailable
|
|
3304
3304
|
},
|
|
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(
|
|
3306
|
-
|
|
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,
|
|
3307
3307
|
{
|
|
3308
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" }) }),
|
|
3309
|
-
trailing: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3309
|
+
trailing: /* @__PURE__ */ jsxRuntime.jsxs(chunkMXQ2EYG2_js.Button, { type: "button", size: "sm", color: "indigo", onClick: () => onAttach(tool.agentToolId), children: [
|
|
3310
3310
|
/* @__PURE__ */ jsxRuntime.jsx(outline.PlusIcon, { className: "h-4 w-4" }),
|
|
3311
3311
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-1.5", children: labels.attachTool })
|
|
3312
3312
|
] }),
|
|
@@ -3344,7 +3344,7 @@ function ModelTab({
|
|
|
3344
3344
|
return matches.length > 0 ? matches : connections;
|
|
3345
3345
|
}, [selectedModel, connections]);
|
|
3346
3346
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3347
|
-
|
|
3347
|
+
chunkFZUV7GNB_js.SectionCard,
|
|
3348
3348
|
{
|
|
3349
3349
|
variant: "glass",
|
|
3350
3350
|
header: {
|
|
@@ -3365,9 +3365,9 @@ function ModelTab({
|
|
|
3365
3365
|
},
|
|
3366
3366
|
className: "space-y-4",
|
|
3367
3367
|
children: [
|
|
3368
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
3368
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkFZUV7GNB_js.FormGrid, { children: [
|
|
3369
3369
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3370
|
-
|
|
3370
|
+
chunkFZUV7GNB_js.FormSelect,
|
|
3371
3371
|
{
|
|
3372
3372
|
label: labels.model,
|
|
3373
3373
|
value: modelId,
|
|
@@ -3376,7 +3376,7 @@ function ModelTab({
|
|
|
3376
3376
|
}
|
|
3377
3377
|
),
|
|
3378
3378
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3379
|
-
|
|
3379
|
+
chunkFZUV7GNB_js.FormSelect,
|
|
3380
3380
|
{
|
|
3381
3381
|
label: labels.connection,
|
|
3382
3382
|
value: connectionId,
|
|
@@ -3389,7 +3389,7 @@ function ModelTab({
|
|
|
3389
3389
|
}
|
|
3390
3390
|
)
|
|
3391
3391
|
] }),
|
|
3392
|
-
/* @__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 }) })
|
|
3393
3393
|
]
|
|
3394
3394
|
}
|
|
3395
3395
|
)
|
|
@@ -3666,7 +3666,7 @@ function AgentNewWizardPageView({
|
|
|
3666
3666
|
}
|
|
3667
3667
|
const counter = labels.wizardStepCounter.replace("{current}", String(step)).replace("{total}", String(TOTAL_STEPS));
|
|
3668
3668
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
3669
|
-
|
|
3669
|
+
chunkFZUV7GNB_js.HeroSection,
|
|
3670
3670
|
{
|
|
3671
3671
|
icon: /* @__PURE__ */ jsxRuntime.jsx(
|
|
3672
3672
|
"div",
|
|
@@ -3681,7 +3681,7 @@ function AgentNewWizardPageView({
|
|
|
3681
3681
|
subtitle: stepSubtitles[step - 1],
|
|
3682
3682
|
gradient: activePreset.accent,
|
|
3683
3683
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
3684
|
-
|
|
3684
|
+
chunkFZUV7GNB_js.StepIndicator,
|
|
3685
3685
|
{
|
|
3686
3686
|
accent: "indigo",
|
|
3687
3687
|
currentStep: step - 1,
|
|
@@ -3694,7 +3694,7 @@ function AgentNewWizardPageView({
|
|
|
3694
3694
|
);
|
|
3695
3695
|
function renderStep1() {
|
|
3696
3696
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3697
|
-
|
|
3697
|
+
chunkFZUV7GNB_js.SectionCard,
|
|
3698
3698
|
{
|
|
3699
3699
|
variant: "glass",
|
|
3700
3700
|
header: {
|
|
@@ -3710,7 +3710,7 @@ function AgentNewWizardPageView({
|
|
|
3710
3710
|
children: AGENT_PRESETS.map((preset) => {
|
|
3711
3711
|
const selected = preset.id === presetId;
|
|
3712
3712
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3713
|
-
|
|
3713
|
+
chunkFZUV7GNB_js.FilterTileButton,
|
|
3714
3714
|
{
|
|
3715
3715
|
isActive: selected,
|
|
3716
3716
|
color: preset.tileColor,
|
|
@@ -3729,7 +3729,7 @@ function AgentNewWizardPageView({
|
|
|
3729
3729
|
}
|
|
3730
3730
|
function renderStep2() {
|
|
3731
3731
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3732
|
-
|
|
3732
|
+
chunkFZUV7GNB_js.SectionCard,
|
|
3733
3733
|
{
|
|
3734
3734
|
variant: "glass",
|
|
3735
3735
|
header: {
|
|
@@ -3740,14 +3740,13 @@ function AgentNewWizardPageView({
|
|
|
3740
3740
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
3741
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 }),
|
|
3742
3742
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-wrap gap-1.5", children: EMOJI_PALETTE.map((e) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
3743
|
-
|
|
3743
|
+
chunkFZUV7GNB_js.PickerTile,
|
|
3744
3744
|
{
|
|
3745
|
-
type: "button",
|
|
3746
3745
|
onClick: () => {
|
|
3747
3746
|
setEmoji(e);
|
|
3748
3747
|
markTouched();
|
|
3749
3748
|
},
|
|
3750
|
-
|
|
3749
|
+
selected: emoji === e,
|
|
3751
3750
|
className: [
|
|
3752
3751
|
"flex h-9 w-9 items-center justify-center rounded-lg text-base transition-all",
|
|
3753
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"
|
|
@@ -3757,9 +3756,9 @@ function AgentNewWizardPageView({
|
|
|
3757
3756
|
e
|
|
3758
3757
|
)) })
|
|
3759
3758
|
] }),
|
|
3760
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
3759
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkFZUV7GNB_js.FormGrid, { children: [
|
|
3761
3760
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3762
|
-
|
|
3761
|
+
chunkFZUV7GNB_js.FormInput,
|
|
3763
3762
|
{
|
|
3764
3763
|
label: labels.name,
|
|
3765
3764
|
value: name,
|
|
@@ -3772,7 +3771,7 @@ function AgentNewWizardPageView({
|
|
|
3772
3771
|
}
|
|
3773
3772
|
),
|
|
3774
3773
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3775
|
-
|
|
3774
|
+
chunkFZUV7GNB_js.FormInput,
|
|
3776
3775
|
{
|
|
3777
3776
|
label: labels.role,
|
|
3778
3777
|
value: role,
|
|
@@ -3785,7 +3784,7 @@ function AgentNewWizardPageView({
|
|
|
3785
3784
|
)
|
|
3786
3785
|
] }),
|
|
3787
3786
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3788
|
-
|
|
3787
|
+
chunkFZUV7GNB_js.FormTextarea,
|
|
3789
3788
|
{
|
|
3790
3789
|
label: labels.descriptionLabel,
|
|
3791
3790
|
value: description,
|
|
@@ -3803,7 +3802,7 @@ function AgentNewWizardPageView({
|
|
|
3803
3802
|
}
|
|
3804
3803
|
function renderStep3() {
|
|
3805
3804
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3806
|
-
|
|
3805
|
+
chunkFZUV7GNB_js.SectionCard,
|
|
3807
3806
|
{
|
|
3808
3807
|
variant: "glass",
|
|
3809
3808
|
header: {
|
|
@@ -3811,9 +3810,9 @@ function AgentNewWizardPageView({
|
|
|
3811
3810
|
subtitle: labels.connectionPickPrompt
|
|
3812
3811
|
},
|
|
3813
3812
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
3814
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
3813
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkFZUV7GNB_js.FormGrid, { children: [
|
|
3815
3814
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3816
|
-
|
|
3815
|
+
chunkFZUV7GNB_js.FormSelect,
|
|
3817
3816
|
{
|
|
3818
3817
|
label: labels.connectionLabel,
|
|
3819
3818
|
value: connectionId,
|
|
@@ -3826,7 +3825,7 @@ function AgentNewWizardPageView({
|
|
|
3826
3825
|
}
|
|
3827
3826
|
),
|
|
3828
3827
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3829
|
-
|
|
3828
|
+
chunkFZUV7GNB_js.FormSelect,
|
|
3830
3829
|
{
|
|
3831
3830
|
label: labels.frameworkLabel,
|
|
3832
3831
|
value: framework,
|
|
@@ -3838,7 +3837,7 @@ function AgentNewWizardPageView({
|
|
|
3838
3837
|
}
|
|
3839
3838
|
),
|
|
3840
3839
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3841
|
-
|
|
3840
|
+
chunkFZUV7GNB_js.FormSelect,
|
|
3842
3841
|
{
|
|
3843
3842
|
label: labels.model,
|
|
3844
3843
|
value: modelId,
|
|
@@ -3851,7 +3850,7 @@ function AgentNewWizardPageView({
|
|
|
3851
3850
|
)
|
|
3852
3851
|
] }),
|
|
3853
3852
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3854
|
-
|
|
3853
|
+
chunkFZUV7GNB_js.FormTextarea,
|
|
3855
3854
|
{
|
|
3856
3855
|
label: labels.outputSchemaLabel,
|
|
3857
3856
|
value: outputSchema,
|
|
@@ -3870,7 +3869,7 @@ function AgentNewWizardPageView({
|
|
|
3870
3869
|
function renderStep4() {
|
|
3871
3870
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
3872
3871
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3873
|
-
|
|
3872
|
+
chunkFZUV7GNB_js.SectionCard,
|
|
3874
3873
|
{
|
|
3875
3874
|
variant: "glass",
|
|
3876
3875
|
header: {
|
|
@@ -3878,52 +3877,34 @@ function AgentNewWizardPageView({
|
|
|
3878
3877
|
subtitle: labels.behaviorSubtitle
|
|
3879
3878
|
},
|
|
3880
3879
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
3881
|
-
/* @__PURE__ */ jsxRuntime.
|
|
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
|
-
|
|
3909
|
-
" chars"
|
|
3910
|
-
] })
|
|
3911
|
-
] }),
|
|
3912
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3913
|
-
"textarea",
|
|
3914
|
-
{
|
|
3915
|
-
id: "wizard-user-prompt",
|
|
3916
|
-
value: userPrompt,
|
|
3917
|
-
onChange: (e) => {
|
|
3918
|
-
setUserPrompt(e.target.value);
|
|
3919
|
-
markTouched();
|
|
3920
|
-
},
|
|
3921
|
-
rows: 5,
|
|
3922
|
-
className: "w-full resize-y rounded-lg bg-white/40 dark:bg-white/[0.04] backdrop-blur-sm border border-slate-200/50 dark:border-white/10 px-3 py-2.5 font-mono text-xs leading-relaxed text-slate-700 outline-none transition-colors placeholder:text-slate-400 focus:ring-indigo-500/70 focus:ring-offset-1 motion-reduce:transition-none dark:text-slate-300 dark:placeholder:text-slate-500",
|
|
3923
|
-
placeholder: labels.userPromptPlaceholder
|
|
3924
|
-
}
|
|
3925
|
-
)
|
|
3926
|
-
] }),
|
|
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
|
+
),
|
|
3927
3908
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3928
3909
|
RangeSliderField,
|
|
3929
3910
|
{
|
|
@@ -3986,28 +3967,22 @@ function AgentNewWizardPageView({
|
|
|
3986
3967
|
]
|
|
3987
3968
|
}
|
|
3988
3969
|
),
|
|
3989
|
-
/* @__PURE__ */ jsxRuntime.
|
|
3990
|
-
|
|
3991
|
-
|
|
3992
|
-
|
|
3993
|
-
|
|
3994
|
-
|
|
3995
|
-
|
|
3996
|
-
|
|
3997
|
-
|
|
3998
|
-
|
|
3999
|
-
|
|
4000
|
-
|
|
4001
|
-
|
|
4002
|
-
|
|
4003
|
-
|
|
4004
|
-
|
|
4005
|
-
max: 32e3,
|
|
4006
|
-
step: 1,
|
|
4007
|
-
className: "w-full rounded-lg bg-white/40 dark:bg-white/[0.04] backdrop-blur-sm border border-slate-200/50 dark:border-white/10 px-3 py-2.5 text-sm tabular-nums text-slate-700 outline-none transition-colors focus:ring-indigo-500/70 focus:ring-offset-1 motion-reduce:transition-none dark:text-slate-300"
|
|
4008
|
-
}
|
|
4009
|
-
)
|
|
4010
|
-
] }),
|
|
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
|
+
),
|
|
4011
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: [
|
|
4012
3987
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "bg-white/60 px-3 py-2 dark:bg-slate-900/60", children: [
|
|
4013
3988
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-[9px] uppercase tracking-wider text-slate-400 dark:text-slate-500", children: labels.model }),
|
|
@@ -4030,7 +4005,7 @@ function AgentNewWizardPageView({
|
|
|
4030
4005
|
}
|
|
4031
4006
|
),
|
|
4032
4007
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4033
|
-
|
|
4008
|
+
chunkFZUV7GNB_js.SectionCard,
|
|
4034
4009
|
{
|
|
4035
4010
|
variant: "glass",
|
|
4036
4011
|
header: {
|
|
@@ -4044,14 +4019,13 @@ function AgentNewWizardPageView({
|
|
|
4044
4019
|
const selected = difficulty === opt.id;
|
|
4045
4020
|
const label = opt.id === "beginner" ? labels.difficultyBeginner : opt.id === "intermediate" ? labels.difficultyIntermediate : opt.id === "advanced" ? labels.difficultyAdvanced : labels.difficultyExpert;
|
|
4046
4021
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
4047
|
-
|
|
4022
|
+
chunkFZUV7GNB_js.PickerTile,
|
|
4048
4023
|
{
|
|
4049
|
-
type: "button",
|
|
4050
4024
|
onClick: () => {
|
|
4051
4025
|
setDifficulty(opt.id);
|
|
4052
4026
|
markTouched();
|
|
4053
4027
|
},
|
|
4054
|
-
|
|
4028
|
+
selected,
|
|
4055
4029
|
className: [
|
|
4056
4030
|
"liquid-surface flex items-center gap-2 rounded-xl px-3 py-2 text-left transition-all",
|
|
4057
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"
|
|
@@ -4073,7 +4047,7 @@ function AgentNewWizardPageView({
|
|
|
4073
4047
|
}) })
|
|
4074
4048
|
] }),
|
|
4075
4049
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4076
|
-
|
|
4050
|
+
chunkFZUV7GNB_js.FormInput,
|
|
4077
4051
|
{
|
|
4078
4052
|
label: labels.tagsLabel,
|
|
4079
4053
|
value: tagsInput,
|
|
@@ -4094,14 +4068,14 @@ function AgentNewWizardPageView({
|
|
|
4094
4068
|
const connectionLabel = connectionId ? connections.find((c) => c.id === connectionId)?.name ?? labels.connectionInline : labels.connectionInline;
|
|
4095
4069
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
4096
4070
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4097
|
-
|
|
4071
|
+
chunkFZUV7GNB_js.SectionCard,
|
|
4098
4072
|
{
|
|
4099
4073
|
variant: "glass",
|
|
4100
4074
|
header: {
|
|
4101
4075
|
title: labels.wizardStep1Title,
|
|
4102
4076
|
subtitle: labels.wizardStep1Subtitle
|
|
4103
4077
|
},
|
|
4104
|
-
actions: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
4078
|
+
actions: /* @__PURE__ */ jsxRuntime.jsxs(chunkMXQ2EYG2_js.Button, { type: "button", size: "sm", outline: true, onClick: () => goToStep(1), children: [
|
|
4105
4079
|
/* @__PURE__ */ jsxRuntime.jsx(outline.PencilSquareIcon, { className: "h-4 w-4" }),
|
|
4106
4080
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-1.5", children: labels.wizardReviewEdit })
|
|
4107
4081
|
] }),
|
|
@@ -4109,14 +4083,14 @@ function AgentNewWizardPageView({
|
|
|
4109
4083
|
}
|
|
4110
4084
|
),
|
|
4111
4085
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4112
|
-
|
|
4086
|
+
chunkFZUV7GNB_js.SectionCard,
|
|
4113
4087
|
{
|
|
4114
4088
|
variant: "glass",
|
|
4115
4089
|
header: {
|
|
4116
4090
|
title: labels.wizardStep2Title,
|
|
4117
4091
|
subtitle: labels.wizardStep2Subtitle
|
|
4118
4092
|
},
|
|
4119
|
-
actions: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
4093
|
+
actions: /* @__PURE__ */ jsxRuntime.jsxs(chunkMXQ2EYG2_js.Button, { type: "button", size: "sm", outline: true, onClick: () => goToStep(2), children: [
|
|
4120
4094
|
/* @__PURE__ */ jsxRuntime.jsx(outline.PencilSquareIcon, { className: "h-4 w-4" }),
|
|
4121
4095
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-1.5", children: labels.wizardReviewEdit })
|
|
4122
4096
|
] }),
|
|
@@ -4138,14 +4112,14 @@ function AgentNewWizardPageView({
|
|
|
4138
4112
|
}
|
|
4139
4113
|
),
|
|
4140
4114
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4141
|
-
|
|
4115
|
+
chunkFZUV7GNB_js.SectionCard,
|
|
4142
4116
|
{
|
|
4143
4117
|
variant: "glass",
|
|
4144
4118
|
header: {
|
|
4145
4119
|
title: labels.wizardStep3Title,
|
|
4146
4120
|
subtitle: labels.wizardStep3Subtitle
|
|
4147
4121
|
},
|
|
4148
|
-
actions: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
4122
|
+
actions: /* @__PURE__ */ jsxRuntime.jsxs(chunkMXQ2EYG2_js.Button, { type: "button", size: "sm", outline: true, onClick: () => goToStep(3), children: [
|
|
4149
4123
|
/* @__PURE__ */ jsxRuntime.jsx(outline.PencilSquareIcon, { className: "h-4 w-4" }),
|
|
4150
4124
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-1.5", children: labels.wizardReviewEdit })
|
|
4151
4125
|
] }),
|
|
@@ -4158,14 +4132,14 @@ function AgentNewWizardPageView({
|
|
|
4158
4132
|
}
|
|
4159
4133
|
),
|
|
4160
4134
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
4161
|
-
|
|
4135
|
+
chunkFZUV7GNB_js.SectionCard,
|
|
4162
4136
|
{
|
|
4163
4137
|
variant: "glass",
|
|
4164
4138
|
header: {
|
|
4165
4139
|
title: labels.wizardStep4Title,
|
|
4166
4140
|
subtitle: labels.wizardStep4Subtitle
|
|
4167
4141
|
},
|
|
4168
|
-
actions: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
4142
|
+
actions: /* @__PURE__ */ jsxRuntime.jsxs(chunkMXQ2EYG2_js.Button, { type: "button", size: "sm", outline: true, onClick: () => goToStep(4), children: [
|
|
4169
4143
|
/* @__PURE__ */ jsxRuntime.jsx(outline.PencilSquareIcon, { className: "h-4 w-4" }),
|
|
4170
4144
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-1.5", children: labels.wizardReviewEdit })
|
|
4171
4145
|
] }),
|
|
@@ -4188,10 +4162,10 @@ function AgentNewWizardPageView({
|
|
|
4188
4162
|
const stepBody = step === 1 ? renderStep1() : step === 2 ? renderStep2() : step === 3 ? renderStep3() : step === 4 ? renderStep4() : renderStep5();
|
|
4189
4163
|
const advanceDisabled = !canAdvance(step);
|
|
4190
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: [
|
|
4191
|
-
/* @__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 }) }),
|
|
4192
4166
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
4193
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4194
|
-
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 })
|
|
4195
4169
|
] })
|
|
4196
4170
|
] });
|
|
4197
4171
|
const content = /* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -4307,8 +4281,8 @@ function DatasourceNewWizardPageView({
|
|
|
4307
4281
|
const [submitting, setSubmitting] = react.useState(false);
|
|
4308
4282
|
const [touched, setTouched] = react.useState(false);
|
|
4309
4283
|
const [testStatus, setTestStatus] = react.useState("idle");
|
|
4310
|
-
const dialectOption = react.useMemo(() => dialect ?
|
|
4311
|
-
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]);
|
|
4312
4286
|
react.useEffect(() => {
|
|
4313
4287
|
if (dialectOption?.defaultPort && (port === "" || /^[0-9]+$/.test(port))) {
|
|
4314
4288
|
setPort(String(dialectOption.defaultPort));
|
|
@@ -4433,7 +4407,7 @@ function DatasourceNewWizardPageView({
|
|
|
4433
4407
|
}));
|
|
4434
4408
|
const counter = labels.wizardStepCounter.replace("{current}", String(step)).replace("{total}", String(TOTAL_STEPS2));
|
|
4435
4409
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
4436
|
-
|
|
4410
|
+
chunkFZUV7GNB_js.HeroSection,
|
|
4437
4411
|
{
|
|
4438
4412
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.CircleStackIcon, { className: "h-5 w-5" }),
|
|
4439
4413
|
label: counter,
|
|
@@ -4441,7 +4415,7 @@ function DatasourceNewWizardPageView({
|
|
|
4441
4415
|
subtitle: stepSubtitles[step - 1] ?? labels.pageSubtitle,
|
|
4442
4416
|
gradient: category?.gradient ?? "from-amber-500 to-orange-600",
|
|
4443
4417
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
4444
|
-
|
|
4418
|
+
chunkFZUV7GNB_js.StepIndicator,
|
|
4445
4419
|
{
|
|
4446
4420
|
accent: "indigo",
|
|
4447
4421
|
currentStep: step - 1,
|
|
@@ -4453,11 +4427,11 @@ function DatasourceNewWizardPageView({
|
|
|
4453
4427
|
}
|
|
4454
4428
|
);
|
|
4455
4429
|
function renderStep1() {
|
|
4456
|
-
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) => {
|
|
4457
4431
|
const color = CATEGORY_COLOR[cat.id] ?? "slate";
|
|
4458
4432
|
const categoryLabel = labels[cat.labelKey] ?? cat.id;
|
|
4459
4433
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
4460
|
-
|
|
4434
|
+
chunkFZUV7GNB_js.SectionCard,
|
|
4461
4435
|
{
|
|
4462
4436
|
variant: "glass",
|
|
4463
4437
|
header: {
|
|
@@ -4475,7 +4449,7 @@ function DatasourceNewWizardPageView({
|
|
|
4475
4449
|
const selected = opt.value === dialect;
|
|
4476
4450
|
const logoSrc = DIALECT_LOGO_SRC[opt.value.toLowerCase()];
|
|
4477
4451
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
4478
|
-
|
|
4452
|
+
chunkFZUV7GNB_js.FilterTileButton,
|
|
4479
4453
|
{
|
|
4480
4454
|
isActive: selected,
|
|
4481
4455
|
color,
|
|
@@ -4503,7 +4477,7 @@ function DatasourceNewWizardPageView({
|
|
|
4503
4477
|
case "standard":
|
|
4504
4478
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
4505
4479
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4506
|
-
|
|
4480
|
+
chunkFZUV7GNB_js.FormInput,
|
|
4507
4481
|
{
|
|
4508
4482
|
label: labels.fieldHost,
|
|
4509
4483
|
value: host,
|
|
@@ -4516,7 +4490,7 @@ function DatasourceNewWizardPageView({
|
|
|
4516
4490
|
}
|
|
4517
4491
|
),
|
|
4518
4492
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4519
|
-
|
|
4493
|
+
chunkFZUV7GNB_js.FormInput,
|
|
4520
4494
|
{
|
|
4521
4495
|
label: labels.fieldPort,
|
|
4522
4496
|
type: "number",
|
|
@@ -4528,7 +4502,7 @@ function DatasourceNewWizardPageView({
|
|
|
4528
4502
|
}
|
|
4529
4503
|
),
|
|
4530
4504
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4531
|
-
|
|
4505
|
+
chunkFZUV7GNB_js.FormInput,
|
|
4532
4506
|
{
|
|
4533
4507
|
label: labels.fieldDatabase,
|
|
4534
4508
|
value: database,
|
|
@@ -4541,7 +4515,7 @@ function DatasourceNewWizardPageView({
|
|
|
4541
4515
|
}
|
|
4542
4516
|
),
|
|
4543
4517
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4544
|
-
|
|
4518
|
+
chunkFZUV7GNB_js.FormInput,
|
|
4545
4519
|
{
|
|
4546
4520
|
label: labels.fieldUsername,
|
|
4547
4521
|
value: username,
|
|
@@ -4553,7 +4527,7 @@ function DatasourceNewWizardPageView({
|
|
|
4553
4527
|
}
|
|
4554
4528
|
),
|
|
4555
4529
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4556
|
-
|
|
4530
|
+
chunkFZUV7GNB_js.FormInput,
|
|
4557
4531
|
{
|
|
4558
4532
|
label: labels.fieldPassword,
|
|
4559
4533
|
type: "password",
|
|
@@ -4566,7 +4540,7 @@ function DatasourceNewWizardPageView({
|
|
|
4566
4540
|
}
|
|
4567
4541
|
),
|
|
4568
4542
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4569
|
-
|
|
4543
|
+
chunkFZUV7GNB_js.FormInput,
|
|
4570
4544
|
{
|
|
4571
4545
|
label: labels.fieldSchema,
|
|
4572
4546
|
value: schema,
|
|
@@ -4580,7 +4554,7 @@ function DatasourceNewWizardPageView({
|
|
|
4580
4554
|
] });
|
|
4581
4555
|
case "connection-string":
|
|
4582
4556
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "col-span-full", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
4583
|
-
|
|
4557
|
+
chunkFZUV7GNB_js.FormInput,
|
|
4584
4558
|
{
|
|
4585
4559
|
label: labels.fieldConnectionString,
|
|
4586
4560
|
value: connectionString,
|
|
@@ -4595,7 +4569,7 @@ function DatasourceNewWizardPageView({
|
|
|
4595
4569
|
case "cloud-bigquery":
|
|
4596
4570
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
4597
4571
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4598
|
-
|
|
4572
|
+
chunkFZUV7GNB_js.FormInput,
|
|
4599
4573
|
{
|
|
4600
4574
|
label: labels.fieldProjectId,
|
|
4601
4575
|
value: projectId,
|
|
@@ -4608,7 +4582,7 @@ function DatasourceNewWizardPageView({
|
|
|
4608
4582
|
}
|
|
4609
4583
|
),
|
|
4610
4584
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4611
|
-
|
|
4585
|
+
chunkFZUV7GNB_js.FormInput,
|
|
4612
4586
|
{
|
|
4613
4587
|
label: labels.fieldDataset,
|
|
4614
4588
|
value: dataset,
|
|
@@ -4621,7 +4595,7 @@ function DatasourceNewWizardPageView({
|
|
|
4621
4595
|
}
|
|
4622
4596
|
),
|
|
4623
4597
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "col-span-full", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
4624
|
-
|
|
4598
|
+
chunkFZUV7GNB_js.FormInput,
|
|
4625
4599
|
{
|
|
4626
4600
|
label: labels.fieldKeyFile,
|
|
4627
4601
|
value: keyFile,
|
|
@@ -4636,7 +4610,7 @@ function DatasourceNewWizardPageView({
|
|
|
4636
4610
|
case "cloud-snowflake":
|
|
4637
4611
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
4638
4612
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4639
|
-
|
|
4613
|
+
chunkFZUV7GNB_js.FormInput,
|
|
4640
4614
|
{
|
|
4641
4615
|
label: labels.fieldAccount,
|
|
4642
4616
|
value: account,
|
|
@@ -4649,7 +4623,7 @@ function DatasourceNewWizardPageView({
|
|
|
4649
4623
|
}
|
|
4650
4624
|
),
|
|
4651
4625
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4652
|
-
|
|
4626
|
+
chunkFZUV7GNB_js.FormInput,
|
|
4653
4627
|
{
|
|
4654
4628
|
label: labels.fieldWarehouse,
|
|
4655
4629
|
value: warehouseField,
|
|
@@ -4662,7 +4636,7 @@ function DatasourceNewWizardPageView({
|
|
|
4662
4636
|
}
|
|
4663
4637
|
),
|
|
4664
4638
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4665
|
-
|
|
4639
|
+
chunkFZUV7GNB_js.FormInput,
|
|
4666
4640
|
{
|
|
4667
4641
|
label: labels.fieldDatabase,
|
|
4668
4642
|
value: database,
|
|
@@ -4675,7 +4649,7 @@ function DatasourceNewWizardPageView({
|
|
|
4675
4649
|
}
|
|
4676
4650
|
),
|
|
4677
4651
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4678
|
-
|
|
4652
|
+
chunkFZUV7GNB_js.FormInput,
|
|
4679
4653
|
{
|
|
4680
4654
|
label: labels.fieldUsername,
|
|
4681
4655
|
value: username,
|
|
@@ -4688,7 +4662,7 @@ function DatasourceNewWizardPageView({
|
|
|
4688
4662
|
}
|
|
4689
4663
|
),
|
|
4690
4664
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4691
|
-
|
|
4665
|
+
chunkFZUV7GNB_js.FormInput,
|
|
4692
4666
|
{
|
|
4693
4667
|
label: labels.fieldPassword,
|
|
4694
4668
|
type: "password",
|
|
@@ -4701,7 +4675,7 @@ function DatasourceNewWizardPageView({
|
|
|
4701
4675
|
}
|
|
4702
4676
|
),
|
|
4703
4677
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4704
|
-
|
|
4678
|
+
chunkFZUV7GNB_js.FormInput,
|
|
4705
4679
|
{
|
|
4706
4680
|
label: labels.fieldSchema,
|
|
4707
4681
|
value: schema,
|
|
@@ -4716,7 +4690,7 @@ function DatasourceNewWizardPageView({
|
|
|
4716
4690
|
case "cloud-key":
|
|
4717
4691
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
4718
4692
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4719
|
-
|
|
4693
|
+
chunkFZUV7GNB_js.FormInput,
|
|
4720
4694
|
{
|
|
4721
4695
|
label: labels.fieldRegion,
|
|
4722
4696
|
value: region,
|
|
@@ -4729,7 +4703,7 @@ function DatasourceNewWizardPageView({
|
|
|
4729
4703
|
}
|
|
4730
4704
|
),
|
|
4731
4705
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4732
|
-
|
|
4706
|
+
chunkFZUV7GNB_js.FormInput,
|
|
4733
4707
|
{
|
|
4734
4708
|
label: labels.fieldToken,
|
|
4735
4709
|
type: "password",
|
|
@@ -4743,7 +4717,7 @@ function DatasourceNewWizardPageView({
|
|
|
4743
4717
|
}
|
|
4744
4718
|
),
|
|
4745
4719
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4746
|
-
|
|
4720
|
+
chunkFZUV7GNB_js.FormInput,
|
|
4747
4721
|
{
|
|
4748
4722
|
label: labels.fieldBucket,
|
|
4749
4723
|
value: bucket,
|
|
@@ -4758,7 +4732,7 @@ function DatasourceNewWizardPageView({
|
|
|
4758
4732
|
case "vector-key":
|
|
4759
4733
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
4760
4734
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4761
|
-
|
|
4735
|
+
chunkFZUV7GNB_js.FormInput,
|
|
4762
4736
|
{
|
|
4763
4737
|
label: labels.fieldApiKey,
|
|
4764
4738
|
type: "password",
|
|
@@ -4772,7 +4746,7 @@ function DatasourceNewWizardPageView({
|
|
|
4772
4746
|
}
|
|
4773
4747
|
),
|
|
4774
4748
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4775
|
-
|
|
4749
|
+
chunkFZUV7GNB_js.FormInput,
|
|
4776
4750
|
{
|
|
4777
4751
|
label: labels.fieldEnvironment,
|
|
4778
4752
|
value: environment,
|
|
@@ -4785,7 +4759,7 @@ function DatasourceNewWizardPageView({
|
|
|
4785
4759
|
}
|
|
4786
4760
|
),
|
|
4787
4761
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4788
|
-
|
|
4762
|
+
chunkFZUV7GNB_js.FormInput,
|
|
4789
4763
|
{
|
|
4790
4764
|
label: labels.fieldIndex,
|
|
4791
4765
|
value: index,
|
|
@@ -4801,13 +4775,13 @@ function DatasourceNewWizardPageView({
|
|
|
4801
4775
|
}
|
|
4802
4776
|
function renderStep2() {
|
|
4803
4777
|
if (!dialectOption) {
|
|
4804
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
4778
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(chunkFZUV7GNB_js.SectionCard, { variant: "glass", header: { title: labels.wizardStep1Title }, children: [
|
|
4805
4779
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-slate-700 dark:text-slate-200", children: labels.wizardStep1Subtitle }),
|
|
4806
|
-
/* @__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 }) })
|
|
4807
4781
|
] });
|
|
4808
4782
|
}
|
|
4809
4783
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
4810
|
-
|
|
4784
|
+
chunkFZUV7GNB_js.SectionCard,
|
|
4811
4785
|
{
|
|
4812
4786
|
variant: "glass",
|
|
4813
4787
|
header: {
|
|
@@ -4818,7 +4792,7 @@ function DatasourceNewWizardPageView({
|
|
|
4818
4792
|
},
|
|
4819
4793
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
4820
4794
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4821
|
-
|
|
4795
|
+
chunkFZUV7GNB_js.FormInput,
|
|
4822
4796
|
{
|
|
4823
4797
|
label: labels.fieldName,
|
|
4824
4798
|
value: name,
|
|
@@ -4830,10 +4804,10 @@ function DatasourceNewWizardPageView({
|
|
|
4830
4804
|
required: true
|
|
4831
4805
|
}
|
|
4832
4806
|
),
|
|
4833
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4807
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.FormGrid, { children: renderConnectionFields() }),
|
|
4834
4808
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap items-center gap-6 pt-1", children: [
|
|
4835
4809
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4836
|
-
|
|
4810
|
+
chunkFZUV7GNB_js.FormToggle,
|
|
4837
4811
|
{
|
|
4838
4812
|
checked: ssl,
|
|
4839
4813
|
onChange: (v) => {
|
|
@@ -4845,7 +4819,7 @@ function DatasourceNewWizardPageView({
|
|
|
4845
4819
|
}
|
|
4846
4820
|
),
|
|
4847
4821
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4848
|
-
|
|
4822
|
+
chunkFZUV7GNB_js.FormToggle,
|
|
4849
4823
|
{
|
|
4850
4824
|
checked: readOnly,
|
|
4851
4825
|
onChange: (v) => {
|
|
@@ -4860,20 +4834,20 @@ function DatasourceNewWizardPageView({
|
|
|
4860
4834
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-slate-500 dark:text-slate-400", children: labels.fieldReadOnlyHelp }),
|
|
4861
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: [
|
|
4862
4836
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4863
|
-
|
|
4837
|
+
chunkMXQ2EYG2_js.Button,
|
|
4864
4838
|
{
|
|
4865
4839
|
type: "button",
|
|
4866
4840
|
outline: true,
|
|
4867
4841
|
onClick: () => void handleTestConnection(),
|
|
4868
4842
|
disabled: testStatus === "testing",
|
|
4869
4843
|
children: testStatus === "testing" ? /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex items-center gap-2", children: [
|
|
4870
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4844
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.Spinner, { size: "xs" }),
|
|
4871
4845
|
labels.testing
|
|
4872
4846
|
] }) : labels.testConnection
|
|
4873
4847
|
}
|
|
4874
4848
|
),
|
|
4875
|
-
testStatus === "success" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
4876
|
-
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 })
|
|
4877
4851
|
] })
|
|
4878
4852
|
] })
|
|
4879
4853
|
}
|
|
@@ -4881,7 +4855,7 @@ function DatasourceNewWizardPageView({
|
|
|
4881
4855
|
}
|
|
4882
4856
|
function renderStep3() {
|
|
4883
4857
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
4884
|
-
|
|
4858
|
+
chunkFZUV7GNB_js.SectionCard,
|
|
4885
4859
|
{
|
|
4886
4860
|
variant: "glass",
|
|
4887
4861
|
header: {
|
|
@@ -4889,9 +4863,9 @@ function DatasourceNewWizardPageView({
|
|
|
4889
4863
|
subtitle: labels.governanceSectionSubtitle
|
|
4890
4864
|
},
|
|
4891
4865
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
4892
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
4866
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkFZUV7GNB_js.FormGrid, { children: [
|
|
4893
4867
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4894
|
-
|
|
4868
|
+
chunkFZUV7GNB_js.FormInput,
|
|
4895
4869
|
{
|
|
4896
4870
|
label: labels.fieldMaxPoolSize,
|
|
4897
4871
|
type: "number",
|
|
@@ -4906,7 +4880,7 @@ function DatasourceNewWizardPageView({
|
|
|
4906
4880
|
}
|
|
4907
4881
|
),
|
|
4908
4882
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4909
|
-
|
|
4883
|
+
chunkFZUV7GNB_js.FormInput,
|
|
4910
4884
|
{
|
|
4911
4885
|
label: labels.fieldTimeoutMs,
|
|
4912
4886
|
type: "number",
|
|
@@ -4921,9 +4895,9 @@ function DatasourceNewWizardPageView({
|
|
|
4921
4895
|
)
|
|
4922
4896
|
] }),
|
|
4923
4897
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-1", children: [
|
|
4924
|
-
/* @__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 }),
|
|
4925
4899
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4926
|
-
|
|
4900
|
+
chunkFZUV7GNB_js.ChipPicker,
|
|
4927
4901
|
{
|
|
4928
4902
|
items: allowedTablesItems,
|
|
4929
4903
|
selectedIds: allowedTablesSelected,
|
|
@@ -4945,9 +4919,9 @@ function DatasourceNewWizardPageView({
|
|
|
4945
4919
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-[11px] text-slate-500 dark:text-slate-400", children: labels.fieldAllowedTablesHint })
|
|
4946
4920
|
] }),
|
|
4947
4921
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-1", children: [
|
|
4948
|
-
/* @__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 }),
|
|
4949
4923
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4950
|
-
|
|
4924
|
+
chunkFZUV7GNB_js.ChipPicker,
|
|
4951
4925
|
{
|
|
4952
4926
|
items: blockedColumnsItems,
|
|
4953
4927
|
selectedIds: blockedColumnsSelected,
|
|
@@ -4969,7 +4943,7 @@ function DatasourceNewWizardPageView({
|
|
|
4969
4943
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-[11px] text-slate-500 dark:text-slate-400", children: labels.fieldBlockedColumnsHint })
|
|
4970
4944
|
] }),
|
|
4971
4945
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4972
|
-
|
|
4946
|
+
chunkFZUV7GNB_js.FormCheckbox,
|
|
4973
4947
|
{
|
|
4974
4948
|
checked: maskPii,
|
|
4975
4949
|
onChange: (v) => {
|
|
@@ -4991,14 +4965,14 @@ function DatasourceNewWizardPageView({
|
|
|
4991
4965
|
const blocked = blockedColumnsSelected;
|
|
4992
4966
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
4993
4967
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4994
|
-
|
|
4968
|
+
chunkFZUV7GNB_js.SectionCard,
|
|
4995
4969
|
{
|
|
4996
4970
|
variant: "glass",
|
|
4997
4971
|
header: {
|
|
4998
4972
|
title: labels.wizardStep1Title,
|
|
4999
4973
|
subtitle: labels.wizardStep1Subtitle
|
|
5000
4974
|
},
|
|
5001
|
-
actions: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
4975
|
+
actions: /* @__PURE__ */ jsxRuntime.jsxs(chunkMXQ2EYG2_js.Button, { type: "button", size: "sm", outline: true, onClick: () => goToStep(1), children: [
|
|
5002
4976
|
/* @__PURE__ */ jsxRuntime.jsx(outline.PencilSquareIcon, { className: "h-4 w-4" }),
|
|
5003
4977
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-1.5", children: labels.wizardReviewEdit })
|
|
5004
4978
|
] }),
|
|
@@ -5009,14 +4983,14 @@ function DatasourceNewWizardPageView({
|
|
|
5009
4983
|
}
|
|
5010
4984
|
),
|
|
5011
4985
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5012
|
-
|
|
4986
|
+
chunkFZUV7GNB_js.SectionCard,
|
|
5013
4987
|
{
|
|
5014
4988
|
variant: "glass",
|
|
5015
4989
|
header: {
|
|
5016
4990
|
title: labels.wizardStep2Title,
|
|
5017
4991
|
subtitle: labels.wizardStep2Subtitle
|
|
5018
4992
|
},
|
|
5019
|
-
actions: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
4993
|
+
actions: /* @__PURE__ */ jsxRuntime.jsxs(chunkMXQ2EYG2_js.Button, { type: "button", size: "sm", outline: true, onClick: () => goToStep(2), children: [
|
|
5020
4994
|
/* @__PURE__ */ jsxRuntime.jsx(outline.PencilSquareIcon, { className: "h-4 w-4" }),
|
|
5021
4995
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-1.5", children: labels.wizardReviewEdit })
|
|
5022
4996
|
] }),
|
|
@@ -5029,14 +5003,14 @@ function DatasourceNewWizardPageView({
|
|
|
5029
5003
|
}
|
|
5030
5004
|
),
|
|
5031
5005
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5032
|
-
|
|
5006
|
+
chunkFZUV7GNB_js.SectionCard,
|
|
5033
5007
|
{
|
|
5034
5008
|
variant: "glass",
|
|
5035
5009
|
header: {
|
|
5036
5010
|
title: labels.wizardStep3Title,
|
|
5037
5011
|
subtitle: labels.wizardStep3Subtitle
|
|
5038
5012
|
},
|
|
5039
|
-
actions: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
5013
|
+
actions: /* @__PURE__ */ jsxRuntime.jsxs(chunkMXQ2EYG2_js.Button, { type: "button", size: "sm", outline: true, onClick: () => goToStep(3), children: [
|
|
5040
5014
|
/* @__PURE__ */ jsxRuntime.jsx(outline.PencilSquareIcon, { className: "h-4 w-4" }),
|
|
5041
5015
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-1.5", children: labels.wizardReviewEdit })
|
|
5042
5016
|
] }),
|
|
@@ -5066,10 +5040,10 @@ function DatasourceNewWizardPageView({
|
|
|
5066
5040
|
const stepBody = step === 1 ? renderStep1() : step === 2 ? renderStep2() : step === 3 ? renderStep3() : renderStep4();
|
|
5067
5041
|
const advanceDisabled = !canAdvance(step);
|
|
5068
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: [
|
|
5069
|
-
/* @__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 }) }),
|
|
5070
5044
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
5071
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5072
|
-
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 })
|
|
5073
5047
|
] })
|
|
5074
5048
|
] });
|
|
5075
5049
|
const content = /* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -5094,8 +5068,8 @@ function DatasourceNewWizardPageView({
|
|
|
5094
5068
|
}
|
|
5095
5069
|
function ReviewRow2({ label, value }) {
|
|
5096
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: [
|
|
5097
|
-
/* @__PURE__ */ jsxRuntime.jsx("dt", { className: "text-[10px] uppercase tracking-wider text-
|
|
5098
|
-
/* @__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 })
|
|
5099
5073
|
] });
|
|
5100
5074
|
}
|
|
5101
5075
|
async function simulateTest() {
|
|
@@ -5218,9 +5192,9 @@ function RuleNewWizardPageView({
|
|
|
5218
5192
|
text: "text-fuchsia-700 dark:text-fuchsia-300"
|
|
5219
5193
|
};
|
|
5220
5194
|
const [combinator, setCombinator] = react.useState("and");
|
|
5221
|
-
const [condition, setCondition] = react.useState(
|
|
5195
|
+
const [condition, setCondition] = react.useState(chunkZIRD3X6G_js.defaultRuleCondition());
|
|
5222
5196
|
const [actionTileId, setActionTileId] = react.useState("");
|
|
5223
|
-
const [action, setAction] = react.useState(
|
|
5197
|
+
const [action, setAction] = react.useState(chunkZIRD3X6G_js.defaultRuleAction());
|
|
5224
5198
|
const [validFromDate, setValidFromDate] = react.useState(null);
|
|
5225
5199
|
const [validFromTime, setValidFromTime] = react.useState(null);
|
|
5226
5200
|
const [validUntilDate, setValidUntilDate] = react.useState(null);
|
|
@@ -5349,7 +5323,7 @@ function RuleNewWizardPageView({
|
|
|
5349
5323
|
}));
|
|
5350
5324
|
const counter = labels.wizardStepCounter.replace("{current}", String(step)).replace("{total}", String(TOTAL_STEPS3));
|
|
5351
5325
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
5352
|
-
|
|
5326
|
+
chunkFZUV7GNB_js.HeroSection,
|
|
5353
5327
|
{
|
|
5354
5328
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.AdjustmentsHorizontalIcon, { className: "h-5 w-5" }),
|
|
5355
5329
|
label: counter,
|
|
@@ -5357,7 +5331,7 @@ function RuleNewWizardPageView({
|
|
|
5357
5331
|
subtitle: stepSubtitles[step - 1] ?? labels.pageSubtitle,
|
|
5358
5332
|
gradient: "from-fuchsia-500 to-purple-700",
|
|
5359
5333
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
5360
|
-
|
|
5334
|
+
chunkFZUV7GNB_js.StepIndicator,
|
|
5361
5335
|
{
|
|
5362
5336
|
accent: "violet",
|
|
5363
5337
|
currentStep: step - 1,
|
|
@@ -5370,7 +5344,7 @@ function RuleNewWizardPageView({
|
|
|
5370
5344
|
);
|
|
5371
5345
|
function renderStep1() {
|
|
5372
5346
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
5373
|
-
|
|
5347
|
+
chunkFZUV7GNB_js.SectionCard,
|
|
5374
5348
|
{
|
|
5375
5349
|
variant: "glass",
|
|
5376
5350
|
header: {
|
|
@@ -5379,7 +5353,7 @@ function RuleNewWizardPageView({
|
|
|
5379
5353
|
},
|
|
5380
5354
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
5381
5355
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5382
|
-
|
|
5356
|
+
chunkFZUV7GNB_js.FormInput,
|
|
5383
5357
|
{
|
|
5384
5358
|
label: labels.nameLabel,
|
|
5385
5359
|
value: name,
|
|
@@ -5392,7 +5366,7 @@ function RuleNewWizardPageView({
|
|
|
5392
5366
|
}
|
|
5393
5367
|
),
|
|
5394
5368
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5395
|
-
|
|
5369
|
+
chunkFZUV7GNB_js.FormTextarea,
|
|
5396
5370
|
{
|
|
5397
5371
|
label: labels.descriptionLabel,
|
|
5398
5372
|
value: description,
|
|
@@ -5428,7 +5402,7 @@ function RuleNewWizardPageView({
|
|
|
5428
5402
|
}
|
|
5429
5403
|
),
|
|
5430
5404
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5431
|
-
|
|
5405
|
+
chunkFZUV7GNB_js.FormToggle,
|
|
5432
5406
|
{
|
|
5433
5407
|
checked: enabled,
|
|
5434
5408
|
onChange: (v) => {
|
|
@@ -5445,7 +5419,7 @@ function RuleNewWizardPageView({
|
|
|
5445
5419
|
}
|
|
5446
5420
|
function renderStep2() {
|
|
5447
5421
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
5448
|
-
|
|
5422
|
+
chunkFZUV7GNB_js.SectionCard,
|
|
5449
5423
|
{
|
|
5450
5424
|
variant: "glass",
|
|
5451
5425
|
header: {
|
|
@@ -5456,7 +5430,7 @@ function RuleNewWizardPageView({
|
|
|
5456
5430
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
5457
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 }),
|
|
5458
5432
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5459
|
-
|
|
5433
|
+
chunkFZUV7GNB_js.SegmentedControl,
|
|
5460
5434
|
{
|
|
5461
5435
|
segments: [
|
|
5462
5436
|
{ value: "and", label: labels.combinatorAnd },
|
|
@@ -5473,7 +5447,7 @@ function RuleNewWizardPageView({
|
|
|
5473
5447
|
)
|
|
5474
5448
|
] }),
|
|
5475
5449
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5476
|
-
|
|
5450
|
+
chunkZIRD3X6G_js.RuleConditionBuilder,
|
|
5477
5451
|
{
|
|
5478
5452
|
value: condition,
|
|
5479
5453
|
onChange: (next) => {
|
|
@@ -5489,7 +5463,7 @@ function RuleNewWizardPageView({
|
|
|
5489
5463
|
function renderStep3() {
|
|
5490
5464
|
const selectedTile = ACTION_TILES.find((t) => t.id === actionTileId) ?? null;
|
|
5491
5465
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
5492
|
-
|
|
5466
|
+
chunkFZUV7GNB_js.SectionCard,
|
|
5493
5467
|
{
|
|
5494
5468
|
variant: "glass",
|
|
5495
5469
|
header: {
|
|
@@ -5509,7 +5483,7 @@ function RuleNewWizardPageView({
|
|
|
5509
5483
|
const label = labels[tile.labelKey] ?? tile.id;
|
|
5510
5484
|
const description2 = labels[tile.descriptionKey] ?? "";
|
|
5511
5485
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
5512
|
-
|
|
5486
|
+
chunkFZUV7GNB_js.FilterTileButton,
|
|
5513
5487
|
{
|
|
5514
5488
|
isActive: selected,
|
|
5515
5489
|
color: tile.color,
|
|
@@ -5527,7 +5501,7 @@ function RuleNewWizardPageView({
|
|
|
5527
5501
|
}
|
|
5528
5502
|
),
|
|
5529
5503
|
selectedTile && /* @__PURE__ */ jsxRuntime.jsx(
|
|
5530
|
-
|
|
5504
|
+
chunkFZUV7GNB_js.SectionCard,
|
|
5531
5505
|
{
|
|
5532
5506
|
variant: "glass",
|
|
5533
5507
|
header: {
|
|
@@ -5535,7 +5509,7 @@ function RuleNewWizardPageView({
|
|
|
5535
5509
|
subtitle: labels.actionConfigSubtitle
|
|
5536
5510
|
},
|
|
5537
5511
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
5538
|
-
|
|
5512
|
+
chunkZIRD3X6G_js.RuleActionBuilder,
|
|
5539
5513
|
{
|
|
5540
5514
|
value: action,
|
|
5541
5515
|
onChange: (next) => {
|
|
@@ -5552,7 +5526,7 @@ function RuleNewWizardPageView({
|
|
|
5552
5526
|
}
|
|
5553
5527
|
function renderStep4() {
|
|
5554
5528
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-4", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
5555
|
-
|
|
5529
|
+
chunkFZUV7GNB_js.SectionCard,
|
|
5556
5530
|
{
|
|
5557
5531
|
variant: "glass",
|
|
5558
5532
|
header: {
|
|
@@ -5560,12 +5534,12 @@ function RuleNewWizardPageView({
|
|
|
5560
5534
|
subtitle: labels.scheduleSectionSubtitle
|
|
5561
5535
|
},
|
|
5562
5536
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-5", children: [
|
|
5563
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
5537
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkFZUV7GNB_js.FormGrid, { children: [
|
|
5564
5538
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2", children: [
|
|
5565
5539
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "block text-xs font-semibold uppercase tracking-wider text-slate-600 dark:text-slate-400", children: labels.validFromLabel }),
|
|
5566
5540
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap items-center gap-2", children: [
|
|
5567
5541
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5568
|
-
|
|
5542
|
+
chunkFZUV7GNB_js.DatePicker,
|
|
5569
5543
|
{
|
|
5570
5544
|
value: validFromDate,
|
|
5571
5545
|
onChange: (d) => {
|
|
@@ -5576,7 +5550,7 @@ function RuleNewWizardPageView({
|
|
|
5576
5550
|
}
|
|
5577
5551
|
),
|
|
5578
5552
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5579
|
-
|
|
5553
|
+
chunkFZUV7GNB_js.TimePicker,
|
|
5580
5554
|
{
|
|
5581
5555
|
value: validFromTime,
|
|
5582
5556
|
onChange: (t) => {
|
|
@@ -5592,7 +5566,7 @@ function RuleNewWizardPageView({
|
|
|
5592
5566
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "block text-xs font-semibold uppercase tracking-wider text-slate-600 dark:text-slate-400", children: labels.validUntilLabel }),
|
|
5593
5567
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap items-center gap-2", children: [
|
|
5594
5568
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5595
|
-
|
|
5569
|
+
chunkFZUV7GNB_js.DatePicker,
|
|
5596
5570
|
{
|
|
5597
5571
|
value: validUntilDate,
|
|
5598
5572
|
onChange: (d) => {
|
|
@@ -5603,7 +5577,7 @@ function RuleNewWizardPageView({
|
|
|
5603
5577
|
}
|
|
5604
5578
|
),
|
|
5605
5579
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5606
|
-
|
|
5580
|
+
chunkFZUV7GNB_js.TimePicker,
|
|
5607
5581
|
{
|
|
5608
5582
|
value: validUntilTime,
|
|
5609
5583
|
onChange: (t) => {
|
|
@@ -5617,7 +5591,7 @@ function RuleNewWizardPageView({
|
|
|
5617
5591
|
] })
|
|
5618
5592
|
] }),
|
|
5619
5593
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5620
|
-
|
|
5594
|
+
chunkFZUV7GNB_js.FormCheckbox,
|
|
5621
5595
|
{
|
|
5622
5596
|
checked: noExpiry,
|
|
5623
5597
|
onChange: (v) => {
|
|
@@ -5631,7 +5605,7 @@ function RuleNewWizardPageView({
|
|
|
5631
5605
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
5632
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 }),
|
|
5633
5607
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5634
|
-
|
|
5608
|
+
chunkFZUV7GNB_js.SegmentedControl,
|
|
5635
5609
|
{
|
|
5636
5610
|
segments: [
|
|
5637
5611
|
{ value: "active", label: labels.statusActive },
|
|
@@ -5650,7 +5624,7 @@ function RuleNewWizardPageView({
|
|
|
5650
5624
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-1", children: [
|
|
5651
5625
|
/* @__PURE__ */ jsxRuntime.jsx("label", { className: "block text-xs font-semibold uppercase tracking-wider text-slate-600 dark:text-slate-400", children: labels.tagsLabel }),
|
|
5652
5626
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5653
|
-
|
|
5627
|
+
chunkFZUV7GNB_js.ChipPicker,
|
|
5654
5628
|
{
|
|
5655
5629
|
items: tagsItems,
|
|
5656
5630
|
selectedIds: tagsSelected,
|
|
@@ -5674,7 +5648,7 @@ function RuleNewWizardPageView({
|
|
|
5674
5648
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
5675
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 }),
|
|
5676
5650
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5677
|
-
|
|
5651
|
+
chunkFZUV7GNB_js.SegmentedControl,
|
|
5678
5652
|
{
|
|
5679
5653
|
segments: [
|
|
5680
5654
|
{ value: "one-off", label: labels.recurrenceOneOff },
|
|
@@ -5691,7 +5665,7 @@ function RuleNewWizardPageView({
|
|
|
5691
5665
|
)
|
|
5692
5666
|
] }),
|
|
5693
5667
|
recurrence === "cron" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
5694
|
-
|
|
5668
|
+
chunkFZUV7GNB_js.FormInput,
|
|
5695
5669
|
{
|
|
5696
5670
|
label: labels.cronExpressionLabel,
|
|
5697
5671
|
value: cronExpression,
|
|
@@ -5707,7 +5681,7 @@ function RuleNewWizardPageView({
|
|
|
5707
5681
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
5708
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 }),
|
|
5709
5683
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5710
|
-
|
|
5684
|
+
chunkFZUV7GNB_js.ChipPicker,
|
|
5711
5685
|
{
|
|
5712
5686
|
items: WEEKDAYS.map((d) => ({
|
|
5713
5687
|
id: d.id,
|
|
@@ -5729,7 +5703,7 @@ function RuleNewWizardPageView({
|
|
|
5729
5703
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
5730
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 }),
|
|
5731
5705
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5732
|
-
|
|
5706
|
+
chunkFZUV7GNB_js.TimePicker,
|
|
5733
5707
|
{
|
|
5734
5708
|
value: recurringTime,
|
|
5735
5709
|
onChange: (t) => {
|
|
@@ -5751,14 +5725,14 @@ function RuleNewWizardPageView({
|
|
|
5751
5725
|
const actionSentence = humanReadableAction(payload.action, labels, ACTION_TILES, actionTileId);
|
|
5752
5726
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
5753
5727
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5754
|
-
|
|
5728
|
+
chunkFZUV7GNB_js.SectionCard,
|
|
5755
5729
|
{
|
|
5756
5730
|
variant: "glass",
|
|
5757
5731
|
header: {
|
|
5758
5732
|
title: labels.wizardStep1Title,
|
|
5759
5733
|
subtitle: labels.wizardStep1Subtitle
|
|
5760
5734
|
},
|
|
5761
|
-
actions: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
5735
|
+
actions: /* @__PURE__ */ jsxRuntime.jsxs(chunkMXQ2EYG2_js.Button, { type: "button", size: "sm", outline: true, onClick: () => goToStep(1), children: [
|
|
5762
5736
|
/* @__PURE__ */ jsxRuntime.jsx(outline.PencilSquareIcon, { className: "h-4 w-4" }),
|
|
5763
5737
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-1.5", children: labels.wizardReviewEdit })
|
|
5764
5738
|
] }),
|
|
@@ -5777,14 +5751,14 @@ function RuleNewWizardPageView({
|
|
|
5777
5751
|
}
|
|
5778
5752
|
),
|
|
5779
5753
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
5780
|
-
|
|
5754
|
+
chunkFZUV7GNB_js.SectionCard,
|
|
5781
5755
|
{
|
|
5782
5756
|
variant: "glass",
|
|
5783
5757
|
header: {
|
|
5784
5758
|
title: labels.wizardStep2Title,
|
|
5785
5759
|
subtitle: labels.wizardStep2Subtitle
|
|
5786
5760
|
},
|
|
5787
|
-
actions: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
5761
|
+
actions: /* @__PURE__ */ jsxRuntime.jsxs(chunkMXQ2EYG2_js.Button, { type: "button", size: "sm", outline: true, onClick: () => goToStep(2), children: [
|
|
5788
5762
|
/* @__PURE__ */ jsxRuntime.jsx(outline.PencilSquareIcon, { className: "h-4 w-4" }),
|
|
5789
5763
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-1.5", children: labels.wizardReviewEdit })
|
|
5790
5764
|
] }),
|
|
@@ -5796,14 +5770,14 @@ function RuleNewWizardPageView({
|
|
|
5796
5770
|
}
|
|
5797
5771
|
),
|
|
5798
5772
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
5799
|
-
|
|
5773
|
+
chunkFZUV7GNB_js.SectionCard,
|
|
5800
5774
|
{
|
|
5801
5775
|
variant: "glass",
|
|
5802
5776
|
header: {
|
|
5803
5777
|
title: labels.wizardStep3Title,
|
|
5804
5778
|
subtitle: labels.wizardStep3Subtitle
|
|
5805
5779
|
},
|
|
5806
|
-
actions: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
5780
|
+
actions: /* @__PURE__ */ jsxRuntime.jsxs(chunkMXQ2EYG2_js.Button, { type: "button", size: "sm", outline: true, onClick: () => goToStep(3), children: [
|
|
5807
5781
|
/* @__PURE__ */ jsxRuntime.jsx(outline.PencilSquareIcon, { className: "h-4 w-4" }),
|
|
5808
5782
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-1.5", children: labels.wizardReviewEdit })
|
|
5809
5783
|
] }),
|
|
@@ -5814,14 +5788,14 @@ function RuleNewWizardPageView({
|
|
|
5814
5788
|
}
|
|
5815
5789
|
),
|
|
5816
5790
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5817
|
-
|
|
5791
|
+
chunkFZUV7GNB_js.SectionCard,
|
|
5818
5792
|
{
|
|
5819
5793
|
variant: "glass",
|
|
5820
5794
|
header: {
|
|
5821
5795
|
title: labels.wizardStep4Title,
|
|
5822
5796
|
subtitle: labels.wizardStep4Subtitle
|
|
5823
5797
|
},
|
|
5824
|
-
actions: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
5798
|
+
actions: /* @__PURE__ */ jsxRuntime.jsxs(chunkMXQ2EYG2_js.Button, { type: "button", size: "sm", outline: true, onClick: () => goToStep(4), children: [
|
|
5825
5799
|
/* @__PURE__ */ jsxRuntime.jsx(outline.PencilSquareIcon, { className: "h-4 w-4" }),
|
|
5826
5800
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-1.5", children: labels.wizardReviewEdit })
|
|
5827
5801
|
] }),
|
|
@@ -5857,11 +5831,11 @@ function RuleNewWizardPageView({
|
|
|
5857
5831
|
const stepBody = step === 1 ? renderStep1() : step === 2 ? renderStep2() : step === 3 ? renderStep3() : step === 4 ? renderStep4() : renderStep5();
|
|
5858
5832
|
const advanceDisabled = !canAdvance(step);
|
|
5859
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: [
|
|
5860
|
-
/* @__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 }) }),
|
|
5861
5835
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
5862
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5863
|
-
step < TOTAL_STEPS3 ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
5864
|
-
|
|
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,
|
|
5865
5839
|
{
|
|
5866
5840
|
type: "button",
|
|
5867
5841
|
color: "fuchsia",
|
|
@@ -5945,35 +5919,502 @@ function humanReadableAction(action, labels, tiles, actionTileId) {
|
|
|
5945
5919
|
const paramSummary = action.params ? Object.entries(action.params).slice(0, 3).map(([k, v]) => `${k}=${String(v)}`).join(", ") : "";
|
|
5946
5920
|
return paramSummary ? `${tileLabel} \u2014 ${paramSummary}` : tileLabel;
|
|
5947
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
|
+
}
|
|
5948
6388
|
|
|
5949
6389
|
Object.defineProperty(exports, "RolesPageView", {
|
|
5950
6390
|
enumerable: true,
|
|
5951
|
-
get: function () { return
|
|
6391
|
+
get: function () { return chunkNIZSQJRW_js.RolesPageView; }
|
|
5952
6392
|
});
|
|
5953
6393
|
Object.defineProperty(exports, "UsersPageView", {
|
|
5954
6394
|
enumerable: true,
|
|
5955
|
-
get: function () { return
|
|
6395
|
+
get: function () { return chunkNIZSQJRW_js.UsersPageView; }
|
|
5956
6396
|
});
|
|
5957
6397
|
Object.defineProperty(exports, "DIALECT_CATEGORIES", {
|
|
5958
6398
|
enumerable: true,
|
|
5959
|
-
get: function () { return
|
|
6399
|
+
get: function () { return chunk2II2NLAZ_js.DIALECT_CATEGORIES; }
|
|
5960
6400
|
});
|
|
5961
6401
|
Object.defineProperty(exports, "DatasourceFormModal", {
|
|
5962
6402
|
enumerable: true,
|
|
5963
|
-
get: function () { return
|
|
6403
|
+
get: function () { return chunk2II2NLAZ_js.DatasourceFormModal; }
|
|
5964
6404
|
});
|
|
5965
6405
|
Object.defineProperty(exports, "DatasourceModal", {
|
|
5966
6406
|
enumerable: true,
|
|
5967
|
-
get: function () { return
|
|
6407
|
+
get: function () { return chunk2II2NLAZ_js.DatasourceModal; }
|
|
5968
6408
|
});
|
|
5969
6409
|
Object.defineProperty(exports, "findCategory", {
|
|
5970
6410
|
enumerable: true,
|
|
5971
|
-
get: function () { return
|
|
6411
|
+
get: function () { return chunk2II2NLAZ_js.findCategory; }
|
|
5972
6412
|
});
|
|
5973
6413
|
Object.defineProperty(exports, "findDialect", {
|
|
5974
6414
|
enumerable: true,
|
|
5975
|
-
get: function () { return
|
|
6415
|
+
get: function () { return chunk2II2NLAZ_js.findDialect; }
|
|
5976
6416
|
});
|
|
6417
|
+
exports.AgentNewModal = AgentNewModal;
|
|
5977
6418
|
exports.AgentNewWizardPageView = AgentNewWizardPageView;
|
|
5978
6419
|
exports.AgentsConfigPageView = AgentsConfigPageView;
|
|
5979
6420
|
exports.AgentsIndexPageView = AgentsIndexPageView;
|
|
@@ -5984,8 +6425,13 @@ exports.AgentsWorkspacePageView = AgentsWorkspacePageView;
|
|
|
5984
6425
|
exports.ConnectionsPageView = ConnectionsPageView;
|
|
5985
6426
|
exports.CredentialsPageView = CredentialsPageView;
|
|
5986
6427
|
exports.DashboardPageView = DashboardPageView;
|
|
6428
|
+
exports.DatasourceNewModal = DatasourceNewModal;
|
|
5987
6429
|
exports.DatasourceNewWizardPageView = DatasourceNewWizardPageView;
|
|
5988
6430
|
exports.DatasourcesPageView = DatasourcesPageView;
|
|
6431
|
+
exports.MODEL_PROVIDERS = MODEL_PROVIDERS;
|
|
6432
|
+
exports.ModelNewModal = ModelNewModal;
|
|
6433
|
+
exports.ModelNewWizardPageView = ModelNewWizardPageView;
|
|
6434
|
+
exports.RuleNewModal = RuleNewModal;
|
|
5989
6435
|
exports.RuleNewWizardPageView = RuleNewWizardPageView;
|
|
5990
6436
|
exports.RulesPageView = RulesPageView;
|
|
5991
6437
|
exports.RunTimelinePageView = RunTimelinePageView;
|