@datatechsolutions/ui 3.4.0 → 3.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/astrlabe/index.js +108 -108
- package/dist/astrlabe/index.mjs +4 -4
- package/dist/astrlabe/workflow-canvas.js +4 -4
- package/dist/astrlabe/workflow-canvas.mjs +3 -3
- package/dist/{chunk-SEYUYGER.mjs → chunk-2MJAHST4.mjs} +12 -11
- package/dist/chunk-2MJAHST4.mjs.map +1 -0
- package/dist/{chunk-SQ4KGLBZ.mjs → chunk-3OLYSMI5.mjs} +41 -7
- package/dist/chunk-3OLYSMI5.mjs.map +1 -0
- package/dist/{chunk-RLVOG5OQ.mjs → chunk-4PFU6A2B.mjs} +3 -3
- package/dist/{chunk-RLVOG5OQ.mjs.map → chunk-4PFU6A2B.mjs.map} +1 -1
- package/dist/{chunk-RFRXS4PC.mjs → chunk-5BEVTOZV.mjs} +4 -4
- package/dist/{chunk-RFRXS4PC.mjs.map → chunk-5BEVTOZV.mjs.map} +1 -1
- package/dist/{chunk-NCLZKVJK.js → chunk-5I7F7KZ6.js} +10 -10
- package/dist/{chunk-NCLZKVJK.js.map → chunk-5I7F7KZ6.js.map} +1 -1
- package/dist/{chunk-NAFWHJCM.mjs → chunk-6V3DUBOZ.mjs} +7 -7
- package/dist/{chunk-NAFWHJCM.mjs.map → chunk-6V3DUBOZ.mjs.map} +1 -1
- package/dist/{chunk-AL73YAV4.mjs → chunk-6W7VTZG6.mjs} +3 -3
- package/dist/{chunk-AL73YAV4.mjs.map → chunk-6W7VTZG6.mjs.map} +1 -1
- package/dist/{chunk-ERCDMBRT.js → chunk-74MHWEDC.js} +168 -167
- package/dist/chunk-74MHWEDC.js.map +1 -0
- package/dist/{chunk-CUWPLPVY.mjs → chunk-7CEZB3ZD.mjs} +3 -3
- package/dist/{chunk-CUWPLPVY.mjs.map → chunk-7CEZB3ZD.mjs.map} +1 -1
- package/dist/{chunk-QBFE7ABE.mjs → chunk-7UHV6A4C.mjs} +6 -6
- package/dist/{chunk-QBFE7ABE.mjs.map → chunk-7UHV6A4C.mjs.map} +1 -1
- package/dist/{chunk-TUQLZ4QD.js → chunk-A7FI4K7Z.js} +5 -5
- package/dist/{chunk-TUQLZ4QD.js.map → chunk-A7FI4K7Z.js.map} +1 -1
- package/dist/{chunk-RLLP7VQJ.js → chunk-AVM53A3Y.js} +63 -29
- package/dist/chunk-AVM53A3Y.js.map +1 -0
- package/dist/{chunk-FSBR4RCK.js → chunk-AWDH6WNA.js} +139 -109
- package/dist/chunk-AWDH6WNA.js.map +1 -0
- package/dist/{chunk-Y2AYFG4E.js → chunk-BVXATTTA.js} +4 -4
- package/dist/{chunk-Y2AYFG4E.js.map → chunk-BVXATTTA.js.map} +1 -1
- package/dist/{chunk-CF7GOUBQ.js → chunk-C4NRF2G2.js} +13 -13
- package/dist/{chunk-CF7GOUBQ.js.map → chunk-C4NRF2G2.js.map} +1 -1
- package/dist/{chunk-45QAUEYT.js → chunk-CY2MBKVG.js} +4 -4
- package/dist/{chunk-45QAUEYT.js.map → chunk-CY2MBKVG.js.map} +1 -1
- package/dist/{chunk-PGVZKMOA.js → chunk-FK3WDELF.js} +40 -40
- package/dist/{chunk-PGVZKMOA.js.map → chunk-FK3WDELF.js.map} +1 -1
- package/dist/{chunk-ZKSDDFHG.mjs → chunk-IOEQ2GET.mjs} +4 -4
- package/dist/{chunk-ZKSDDFHG.mjs.map → chunk-IOEQ2GET.mjs.map} +1 -1
- package/dist/{chunk-MO5FBVV3.js → chunk-NCDBNGIB.js} +62 -62
- package/dist/{chunk-MO5FBVV3.js.map → chunk-NCDBNGIB.js.map} +1 -1
- package/dist/{chunk-4GDWGWHY.mjs → chunk-NJ5RVWLA.mjs} +4 -4
- package/dist/{chunk-4GDWGWHY.mjs.map → chunk-NJ5RVWLA.mjs.map} +1 -1
- package/dist/{chunk-UJVDI66K.js → chunk-NKXQYFS7.js} +16 -16
- package/dist/{chunk-UJVDI66K.js.map → chunk-NKXQYFS7.js.map} +1 -1
- package/dist/{chunk-AGGOHPMZ.mjs → chunk-NOHHZ6FM.mjs} +139 -109
- package/dist/chunk-NOHHZ6FM.mjs.map +1 -0
- package/dist/{chunk-VV6SYMPM.mjs → chunk-OASC7NYV.mjs} +3 -3
- package/dist/{chunk-VV6SYMPM.mjs.map → chunk-OASC7NYV.mjs.map} +1 -1
- package/dist/{chunk-6MBWKOPF.js → chunk-P43PX75J.js} +33 -33
- package/dist/{chunk-6MBWKOPF.js.map → chunk-P43PX75J.js.map} +1 -1
- package/dist/{chunk-BW67WFHT.mjs → chunk-QLFSJ6HK.mjs} +3 -3
- package/dist/{chunk-BW67WFHT.mjs.map → chunk-QLFSJ6HK.mjs.map} +1 -1
- package/dist/{chunk-X3GW7UPN.mjs → chunk-QPSHM2JQ.mjs} +4 -4
- package/dist/{chunk-X3GW7UPN.mjs.map → chunk-QPSHM2JQ.mjs.map} +1 -1
- package/dist/{chunk-M7KSEUZR.js → chunk-QSMPKL27.js} +74 -74
- package/dist/{chunk-M7KSEUZR.js.map → chunk-QSMPKL27.js.map} +1 -1
- package/dist/{chunk-IDEM3DYF.mjs → chunk-UHMAKUON.mjs} +3 -3
- package/dist/{chunk-IDEM3DYF.mjs.map → chunk-UHMAKUON.mjs.map} +1 -1
- package/dist/{chunk-YV7F7IXG.js → chunk-V5VBYOF5.js} +36 -36
- package/dist/{chunk-YV7F7IXG.js.map → chunk-V5VBYOF5.js.map} +1 -1
- package/dist/{chunk-4ICEQJH4.js → chunk-VMGNQFRO.js} +53 -53
- package/dist/{chunk-4ICEQJH4.js.map → chunk-VMGNQFRO.js.map} +1 -1
- package/dist/{chunk-UE2RDQIK.js → chunk-Z7VY5M4T.js} +77 -77
- package/dist/{chunk-UE2RDQIK.js.map → chunk-Z7VY5M4T.js.map} +1 -1
- package/dist/{chunk-NVQWHJQH.mjs → chunk-ZM2Q2SMC.mjs} +3 -3
- package/dist/{chunk-NVQWHJQH.mjs.map → chunk-ZM2Q2SMC.mjs.map} +1 -1
- package/dist/index.js +721 -721
- package/dist/index.mjs +2 -2
- package/dist/platform/admin/index.js +11 -11
- package/dist/platform/admin/index.mjs +5 -5
- package/dist/platform/agents-workspace.js +7 -7
- package/dist/platform/agents-workspace.mjs +6 -6
- package/dist/platform/app-shell.js +4 -4
- package/dist/platform/app-shell.mjs +3 -3
- package/dist/platform/auth/index.js +28 -28
- package/dist/platform/auth/index.mjs +5 -5
- package/dist/platform/billing/index.js +4 -4
- package/dist/platform/billing/index.mjs +3 -3
- package/dist/platform/impersonation/index.js +4 -4
- package/dist/platform/impersonation/index.mjs +3 -3
- package/dist/platform/index.js +89 -89
- package/dist/platform/index.mjs +19 -19
- package/dist/platform/pages/index.js +318 -202
- package/dist/platform/pages/index.js.map +1 -1
- package/dist/platform/pages/index.mjs +144 -28
- package/dist/platform/pages/index.mjs.map +1 -1
- package/dist/platform/settings/index.js +8 -8
- package/dist/platform/settings/index.mjs +7 -7
- package/dist/platform/workflow-canvas-shell.js +5 -5
- package/dist/platform/workflow-canvas-shell.mjs +4 -4
- package/package.json +1 -1
- package/dist/astrlabe/contracts.d.mts +0 -517
- package/dist/astrlabe/contracts.d.ts +0 -517
- package/dist/astrlabe/graph-node.d.mts +0 -28
- package/dist/astrlabe/graph-node.d.ts +0 -28
- package/dist/astrlabe/index.d.mts +0 -743
- package/dist/astrlabe/index.d.ts +0 -743
- package/dist/astrlabe/utils.d.mts +0 -60
- package/dist/astrlabe/utils.d.ts +0 -60
- package/dist/astrlabe/workflow-canvas.d.mts +0 -6
- package/dist/astrlabe/workflow-canvas.d.ts +0 -6
- package/dist/astrlabe/workflow-preview-canvas.d.mts +0 -10
- package/dist/astrlabe/workflow-preview-canvas.d.ts +0 -10
- package/dist/billing-panel-DsHhhJqG.d.mts +0 -18
- package/dist/billing-panel-DsHhhJqG.d.ts +0 -18
- package/dist/brand/index.d.mts +0 -71
- package/dist/brand/index.d.ts +0 -71
- package/dist/chunk-AGGOHPMZ.mjs.map +0 -1
- package/dist/chunk-ERCDMBRT.js.map +0 -1
- package/dist/chunk-FSBR4RCK.js.map +0 -1
- package/dist/chunk-RLLP7VQJ.js.map +0 -1
- package/dist/chunk-SEYUYGER.mjs.map +0 -1
- package/dist/chunk-SQ4KGLBZ.mjs.map +0 -1
- package/dist/dynamic-island-confirm-BKsZkAEP.d.mts +0 -17
- package/dist/dynamic-island-confirm-BKsZkAEP.d.ts +0 -17
- package/dist/index-BNRGVAS5.d.mts +0 -222
- package/dist/index-BoebbJ44.d.mts +0 -49
- package/dist/index-BoebbJ44.d.ts +0 -49
- package/dist/index-CnCY-b5V.d.ts +0 -222
- package/dist/index.d.mts +0 -5263
- package/dist/index.d.ts +0 -5263
- package/dist/layout-engine-YZcVr20M.d.mts +0 -19
- package/dist/layout-engine-YZcVr20M.d.ts +0 -19
- package/dist/lib/i18n-context.d.mts +0 -36
- package/dist/lib/i18n-context.d.ts +0 -36
- package/dist/lib/router-context.d.mts +0 -35
- package/dist/lib/router-context.d.ts +0 -35
- package/dist/navigation-BiWVffAN.d.mts +0 -49
- package/dist/navigation-BiWVffAN.d.ts +0 -49
- package/dist/platform/admin/index.d.mts +0 -17
- package/dist/platform/admin/index.d.ts +0 -17
- package/dist/platform/agents-workspace.d.mts +0 -19
- package/dist/platform/agents-workspace.d.ts +0 -19
- package/dist/platform/app-shell.d.mts +0 -58
- package/dist/platform/app-shell.d.ts +0 -58
- package/dist/platform/auth/index.d.mts +0 -73
- package/dist/platform/auth/index.d.ts +0 -73
- package/dist/platform/billing/index.d.mts +0 -29
- package/dist/platform/billing/index.d.ts +0 -29
- package/dist/platform/impersonation/index.d.mts +0 -19
- package/dist/platform/impersonation/index.d.ts +0 -19
- package/dist/platform/index.d.mts +0 -188
- package/dist/platform/index.d.ts +0 -188
- package/dist/platform/pages/index.d.mts +0 -432
- package/dist/platform/pages/index.d.ts +0 -432
- package/dist/platform/rbac.d.mts +0 -42
- package/dist/platform/rbac.d.ts +0 -42
- package/dist/platform/settings/index.d.mts +0 -31
- package/dist/platform/settings/index.d.ts +0 -31
- package/dist/platform/telemetry/index.d.mts +0 -51
- package/dist/platform/telemetry/index.d.ts +0 -51
- package/dist/platform/utils/index.d.mts +0 -32
- package/dist/platform/utils/index.d.ts +0 -32
- package/dist/platform/windsock-admin-client.d.mts +0 -57
- package/dist/platform/windsock-admin-client.d.ts +0 -57
- package/dist/platform/workflow-api-client.d.mts +0 -6
- package/dist/platform/workflow-api-client.d.ts +0 -6
- package/dist/platform/workflow-canvas-shell.d.mts +0 -18
- package/dist/platform/workflow-canvas-shell.d.ts +0 -18
- package/dist/rule-form-BYJzyork.d.mts +0 -128
- package/dist/rule-form-BYJzyork.d.ts +0 -128
- package/dist/workflow-api-client-CpFl3WcG.d.mts +0 -468
- package/dist/workflow-api-client-uLICOanv.d.ts +0 -468
- package/dist/workflow-canvas--qaYKuMm.d.ts +0 -113
- package/dist/workflow-canvas-B80fmD_n.d.mts +0 -113
- package/dist/workflow-store-o17I6L6A.d.ts +0 -79
- package/dist/workflow-store-ppVHdMZi.d.mts +0 -79
|
@@ -2,27 +2,31 @@
|
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
4
|
var chunk3T2WGL47_js = require('../../chunk-3T2WGL47.js');
|
|
5
|
-
var
|
|
6
|
-
var
|
|
7
|
-
var
|
|
5
|
+
var chunkAVM53A3Y_js = require('../../chunk-AVM53A3Y.js');
|
|
6
|
+
var chunkV5VBYOF5_js = require('../../chunk-V5VBYOF5.js');
|
|
7
|
+
var chunk74MHWEDC_js = require('../../chunk-74MHWEDC.js');
|
|
8
8
|
require('../../chunk-55H6WZQP.js');
|
|
9
9
|
require('../../chunk-DJDZIRM6.js');
|
|
10
|
-
require('../../chunk-
|
|
11
|
-
var
|
|
10
|
+
require('../../chunk-QSMPKL27.js');
|
|
11
|
+
var chunkAWDH6WNA_js = require('../../chunk-AWDH6WNA.js');
|
|
12
12
|
require('../../chunk-UZ3CMNUJ.js');
|
|
13
|
-
require('../../chunk-YXN2K77G.js');
|
|
14
13
|
var chunkS7KHTUHA_js = require('../../chunk-S7KHTUHA.js');
|
|
15
14
|
require('../../chunk-SY4MUT5V.js');
|
|
16
15
|
require('../../chunk-2OZZH2IO.js');
|
|
16
|
+
require('../../chunk-YXN2K77G.js');
|
|
17
17
|
require('../../chunk-P4YYEM4B.js');
|
|
18
18
|
require('../../chunk-72SWXOD5.js');
|
|
19
|
+
var react = require('react');
|
|
19
20
|
var outline = require('@heroicons/react/24/outline');
|
|
20
21
|
var jsxRuntime = require('react/jsx-runtime');
|
|
21
|
-
var react = require('react');
|
|
22
22
|
|
|
23
23
|
function AgentsModelsPageView({ labels, models, loading }) {
|
|
24
|
+
const [searchTerm, setSearchTerm] = react.useState("");
|
|
25
|
+
const allModels = models;
|
|
26
|
+
const filteredModels = searchTerm.trim() ? allModels.filter((model) => model.name.toLowerCase().includes(searchTerm.trim().toLowerCase())) : allModels;
|
|
27
|
+
const isEmpty = allModels.length === 0;
|
|
24
28
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
25
|
-
|
|
29
|
+
chunkAWDH6WNA_js.HeroSection,
|
|
26
30
|
{
|
|
27
31
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.CubeTransparentIcon, { className: "h-5 w-5" }),
|
|
28
32
|
label: labels.title,
|
|
@@ -31,25 +35,33 @@ function AgentsModelsPageView({ labels, models, loading }) {
|
|
|
31
35
|
gradient: "from-emerald-500 to-teal-700"
|
|
32
36
|
}
|
|
33
37
|
);
|
|
34
|
-
const
|
|
35
|
-
|
|
38
|
+
const summary = !isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
39
|
+
chunkAWDH6WNA_js.SearchBar,
|
|
40
|
+
{
|
|
41
|
+
searchTerm,
|
|
42
|
+
onSearchChange: setSearchTerm,
|
|
43
|
+
placeholder: labels.searchPlaceholder ?? labels.title
|
|
44
|
+
}
|
|
45
|
+
) : void 0;
|
|
46
|
+
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.PageLoadingState, {}) : isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.PageEmptyState, { title: labels.empty, message: labels.subtitle, iconName: "folder-open" }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3", children: filteredModels.map((model) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
47
|
+
chunkAWDH6WNA_js.EntityCard,
|
|
36
48
|
{
|
|
37
49
|
accentGradient: "from-emerald-500 to-teal-700",
|
|
38
50
|
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" }) }),
|
|
39
51
|
title: model.name,
|
|
40
52
|
subtitle: `${labels.provider}: ${model.provider}`,
|
|
41
|
-
status: /* @__PURE__ */ jsxRuntime.jsx(
|
|
53
|
+
status: /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.Badge, { color: model.enabled ? "emerald" : "zinc", children: model.enabled ? labels.enabled : labels.disabled })
|
|
42
54
|
},
|
|
43
55
|
model.id
|
|
44
56
|
)) });
|
|
45
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
57
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.ManagementPageLayout, { hero, summary, content });
|
|
46
58
|
}
|
|
47
59
|
function AgentsConfigPageView({ labels, agents, models, loading, onCreate, onUpdate, onDelete }) {
|
|
48
60
|
const [editing, setEditing] = react.useState(null);
|
|
49
61
|
const [createOpen, setCreateOpen] = react.useState(false);
|
|
50
62
|
const modelOptions = models.map((model) => ({ value: model.id, label: `${model.name} (${model.provider})` }));
|
|
51
63
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
52
|
-
|
|
64
|
+
chunkAWDH6WNA_js.HeroSection,
|
|
53
65
|
{
|
|
54
66
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.CpuChipIcon, { className: "h-5 w-5" }),
|
|
55
67
|
label: labels.title,
|
|
@@ -57,7 +69,7 @@ function AgentsConfigPageView({ labels, agents, models, loading, onCreate, onUpd
|
|
|
57
69
|
subtitle: labels.subtitle,
|
|
58
70
|
gradient: "from-violet-500 to-indigo-700",
|
|
59
71
|
toolbar: /* @__PURE__ */ jsxRuntime.jsx(
|
|
60
|
-
|
|
72
|
+
chunkAWDH6WNA_js.CreateActionButton,
|
|
61
73
|
{
|
|
62
74
|
mode: "desktop",
|
|
63
75
|
label: labels.addAgent,
|
|
@@ -68,7 +80,7 @@ function AgentsConfigPageView({ labels, agents, models, loading, onCreate, onUpd
|
|
|
68
80
|
}
|
|
69
81
|
);
|
|
70
82
|
const mobileAction = /* @__PURE__ */ jsxRuntime.jsx(
|
|
71
|
-
|
|
83
|
+
chunkAWDH6WNA_js.CreateActionButton,
|
|
72
84
|
{
|
|
73
85
|
mode: "mobile",
|
|
74
86
|
label: labels.addAgent,
|
|
@@ -76,23 +88,23 @@ function AgentsConfigPageView({ labels, agents, models, loading, onCreate, onUpd
|
|
|
76
88
|
accent: "violet"
|
|
77
89
|
}
|
|
78
90
|
);
|
|
79
|
-
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
91
|
+
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.PageLoadingState, {}) : agents.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_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: agents.map((agent) => {
|
|
80
92
|
const modelRecord = models.find((model) => model.id === String(agent.modelId ?? ""));
|
|
81
93
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
82
|
-
|
|
94
|
+
chunkAWDH6WNA_js.EntityCard,
|
|
83
95
|
{
|
|
84
96
|
accentGradient: "from-violet-500 to-indigo-700",
|
|
85
97
|
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" }) }),
|
|
86
98
|
title: String(agent.name ?? ""),
|
|
87
99
|
subtitle: String(modelRecord?.name ?? agent.modelId ?? ""),
|
|
88
|
-
status: agent.activePromptVersion > 0 ? /* @__PURE__ */ jsxRuntime.jsxs(
|
|
100
|
+
status: agent.activePromptVersion > 0 ? /* @__PURE__ */ jsxRuntime.jsxs(chunkAWDH6WNA_js.Badge, { color: "emerald", children: [
|
|
89
101
|
"v",
|
|
90
102
|
agent.activePromptVersion
|
|
91
103
|
] }) : null,
|
|
92
104
|
footer: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
|
|
93
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
105
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.Button, { type: "button", size: "sm", outline: true, onClick: () => setEditing(agent), children: labels.edit }),
|
|
94
106
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
95
|
-
|
|
107
|
+
chunkAWDH6WNA_js.Button,
|
|
96
108
|
{
|
|
97
109
|
type: "button",
|
|
98
110
|
size: "sm",
|
|
@@ -116,7 +128,7 @@ function AgentsConfigPageView({ labels, agents, models, loading, onCreate, onUpd
|
|
|
116
128
|
);
|
|
117
129
|
}) });
|
|
118
130
|
const renderForm = (initial, onSubmit) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
119
|
-
|
|
131
|
+
chunkAWDH6WNA_js.GlassModal,
|
|
120
132
|
{
|
|
121
133
|
open: true,
|
|
122
134
|
onClose: () => {
|
|
@@ -139,18 +151,18 @@ function AgentsConfigPageView({ labels, agents, models, loading, onCreate, onUpd
|
|
|
139
151
|
outputSchema: String(form.get("outputSchema") ?? "").trim() || void 0
|
|
140
152
|
});
|
|
141
153
|
},
|
|
142
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
143
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
144
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
145
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
146
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
147
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
148
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
154
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(chunkAWDH6WNA_js.FormGrid, { children: [
|
|
155
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.FormInput, { name: "name", label: labels.name, defaultValue: initial.name ?? "", required: true }),
|
|
156
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.FormSelect, { name: "modelId", label: labels.model, options: modelOptions, defaultValue: initial.modelId ?? modelOptions[0]?.value ?? "", required: true }),
|
|
157
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.FormInput, { name: "maxTokens", label: String(labels.maxTokens), type: "number", defaultValue: String(initial.maxTokens ?? 2048) }),
|
|
158
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.FormInput, { name: "temperature", label: labels.temperature, type: "number", step: 0.1, min: 0, max: 2, defaultValue: String(initial.temperature ?? 0.2) }),
|
|
159
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.FormTextarea, { name: "systemPrompt", label: labels.systemPrompt, defaultValue: initial.systemPrompt ?? "", rows: 4 }),
|
|
160
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.FormTextarea, { name: "outputSchema", label: labels.outputSchema, placeholder: labels.outputSchemaPlaceholder, defaultValue: initial.outputSchema ?? "", rows: 4 })
|
|
149
161
|
] })
|
|
150
162
|
}
|
|
151
163
|
);
|
|
152
164
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
153
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
165
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.ManagementPageLayout, { hero, content, mobileAction }),
|
|
154
166
|
createOpen && renderForm({ title: labels.createTitle }, (input) => {
|
|
155
167
|
onCreate(input);
|
|
156
168
|
setCreateOpen(false);
|
|
@@ -183,6 +195,7 @@ var LOCALE_OPTIONS = [
|
|
|
183
195
|
];
|
|
184
196
|
function AgentsPromptsPageView({ labels, agents, prompts, loading, onCreate, onActivate, onDelete }) {
|
|
185
197
|
const [createOpen, setCreateOpen] = react.useState(false);
|
|
198
|
+
const [searchTerm, setSearchTerm] = react.useState("");
|
|
186
199
|
const agentOptions = react.useMemo(
|
|
187
200
|
() => agents.map((agent) => ({
|
|
188
201
|
value: String(agent.agentId ?? agent.id ?? ""),
|
|
@@ -199,7 +212,7 @@ function AgentsPromptsPageView({ labels, agents, prompts, loading, onCreate, onA
|
|
|
199
212
|
return map;
|
|
200
213
|
}, [agents]);
|
|
201
214
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
202
|
-
|
|
215
|
+
chunkAWDH6WNA_js.HeroSection,
|
|
203
216
|
{
|
|
204
217
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.ChatBubbleLeftEllipsisIcon, { className: "h-5 w-5" }),
|
|
205
218
|
label: labels.title,
|
|
@@ -207,7 +220,7 @@ function AgentsPromptsPageView({ labels, agents, prompts, loading, onCreate, onA
|
|
|
207
220
|
subtitle: labels.subtitle,
|
|
208
221
|
gradient: "from-sky-500 to-blue-700",
|
|
209
222
|
toolbar: /* @__PURE__ */ jsxRuntime.jsx(
|
|
210
|
-
|
|
223
|
+
chunkAWDH6WNA_js.CreateActionButton,
|
|
211
224
|
{
|
|
212
225
|
mode: "desktop",
|
|
213
226
|
label: labels.addPrompt,
|
|
@@ -218,7 +231,7 @@ function AgentsPromptsPageView({ labels, agents, prompts, loading, onCreate, onA
|
|
|
218
231
|
}
|
|
219
232
|
);
|
|
220
233
|
const mobileAction = /* @__PURE__ */ jsxRuntime.jsx(
|
|
221
|
-
|
|
234
|
+
chunkAWDH6WNA_js.CreateActionButton,
|
|
222
235
|
{
|
|
223
236
|
mode: "mobile",
|
|
224
237
|
label: labels.addPrompt,
|
|
@@ -226,21 +239,37 @@ function AgentsPromptsPageView({ labels, agents, prompts, loading, onCreate, onA
|
|
|
226
239
|
accent: "sky"
|
|
227
240
|
}
|
|
228
241
|
);
|
|
229
|
-
const
|
|
242
|
+
const allPrompts = prompts;
|
|
243
|
+
const filteredPrompts = searchTerm.trim() ? allPrompts.filter((prompt) => {
|
|
244
|
+
const term = searchTerm.trim().toLowerCase();
|
|
245
|
+
const agentName = agentNameById.get(prompt.agentId) ?? prompt.agentId;
|
|
246
|
+
const promptText = prompt.prompt ?? "";
|
|
247
|
+
return agentName.toLowerCase().includes(term) || promptText.toLowerCase().includes(term);
|
|
248
|
+
}) : allPrompts;
|
|
249
|
+
const isEmpty = allPrompts.length === 0;
|
|
250
|
+
const summary = !isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
251
|
+
chunkAWDH6WNA_js.SearchBar,
|
|
252
|
+
{
|
|
253
|
+
searchTerm,
|
|
254
|
+
onSearchChange: setSearchTerm,
|
|
255
|
+
placeholder: labels.searchPlaceholder ?? labels.title
|
|
256
|
+
}
|
|
257
|
+
) : void 0;
|
|
258
|
+
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.PageLoadingState, {}) : isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_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) => {
|
|
230
259
|
const agentName = agentNameById.get(prompt.agentId) ?? prompt.agentId;
|
|
231
260
|
const key = `${prompt.agentId}:${prompt.locale}:${prompt.version}`;
|
|
232
261
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
233
|
-
|
|
262
|
+
chunkAWDH6WNA_js.EntityCard,
|
|
234
263
|
{
|
|
235
264
|
accentGradient: "from-sky-500 to-blue-700",
|
|
236
265
|
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" }) }),
|
|
237
266
|
title: agentName,
|
|
238
267
|
subtitle: `${prompt.locale} \xB7 v${prompt.version}`,
|
|
239
|
-
status: prompt.isActive ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
268
|
+
status: prompt.isActive ? /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.Badge, { color: "emerald", children: labels.isActive }) : null,
|
|
240
269
|
footer: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
|
|
241
|
-
!prompt.isActive && /* @__PURE__ */ jsxRuntime.jsx(
|
|
270
|
+
!prompt.isActive && /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.Button, { type: "button", size: "sm", outline: true, onClick: () => onActivate(prompt), children: labels.activate }),
|
|
242
271
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
243
|
-
|
|
272
|
+
chunkAWDH6WNA_js.Button,
|
|
244
273
|
{
|
|
245
274
|
type: "button",
|
|
246
275
|
size: "sm",
|
|
@@ -258,9 +287,9 @@ function AgentsPromptsPageView({ labels, agents, prompts, loading, onCreate, onA
|
|
|
258
287
|
);
|
|
259
288
|
}) });
|
|
260
289
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
261
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
290
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.ManagementPageLayout, { hero, summary, content, mobileAction }),
|
|
262
291
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
263
|
-
|
|
292
|
+
chunkAWDH6WNA_js.GlassModal,
|
|
264
293
|
{
|
|
265
294
|
open: createOpen,
|
|
266
295
|
onClose: () => setCreateOpen(false),
|
|
@@ -284,11 +313,11 @@ function AgentsPromptsPageView({ labels, agents, prompts, loading, onCreate, onA
|
|
|
284
313
|
});
|
|
285
314
|
setCreateOpen(false);
|
|
286
315
|
},
|
|
287
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
288
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
289
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
316
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(chunkAWDH6WNA_js.FormGrid, { children: [
|
|
317
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.FormSelect, { name: "agentId", label: labels.agent, options: agentOptions, required: true }),
|
|
318
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.FormSelect, { name: "locale", label: labels.locale, options: LOCALE_OPTIONS, defaultValue: "en" }),
|
|
290
319
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
291
|
-
|
|
320
|
+
chunkAWDH6WNA_js.FormSelect,
|
|
292
321
|
{
|
|
293
322
|
name: "isActive",
|
|
294
323
|
label: labels.isActive,
|
|
@@ -296,10 +325,10 @@ function AgentsPromptsPageView({ labels, agents, prompts, loading, onCreate, onA
|
|
|
296
325
|
defaultValue: "true"
|
|
297
326
|
}
|
|
298
327
|
),
|
|
299
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
300
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
301
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
302
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
328
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.FormInput, { name: "reason", label: labels.reason }),
|
|
329
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.FormTextarea, { name: "systemPrompt", label: labels.systemPrompt, rows: 3 }),
|
|
330
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.FormTextarea, { name: "userTemplate", label: labels.userTemplate, rows: 3 }),
|
|
331
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.FormTextarea, { name: "prompt", label: labels.prompt, rows: 6, required: true })
|
|
303
332
|
] })
|
|
304
333
|
}
|
|
305
334
|
)
|
|
@@ -329,8 +358,20 @@ var PARAMETER_TYPE_OPTIONS = [
|
|
|
329
358
|
function AgentsToolDefinitionsPageView({ labels, tools, loading, onCreate, onUpdate, onDelete }) {
|
|
330
359
|
const [editing, setEditing] = react.useState(null);
|
|
331
360
|
const [createOpen, setCreateOpen] = react.useState(false);
|
|
361
|
+
const [searchTerm, setSearchTerm] = react.useState("");
|
|
362
|
+
const allTools = tools;
|
|
363
|
+
const filteredTools = searchTerm.trim() ? allTools.filter((tool) => tool.name.toLowerCase().includes(searchTerm.trim().toLowerCase())) : allTools;
|
|
364
|
+
const isEmpty = allTools.length === 0;
|
|
365
|
+
const summary = !isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
366
|
+
chunkAWDH6WNA_js.SearchBar,
|
|
367
|
+
{
|
|
368
|
+
searchTerm,
|
|
369
|
+
onSearchChange: setSearchTerm,
|
|
370
|
+
placeholder: labels.searchPlaceholder ?? labels.title
|
|
371
|
+
}
|
|
372
|
+
) : void 0;
|
|
332
373
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
333
|
-
|
|
374
|
+
chunkAWDH6WNA_js.HeroSection,
|
|
334
375
|
{
|
|
335
376
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.WrenchScrewdriverIcon, { className: "h-5 w-5" }),
|
|
336
377
|
label: labels.title,
|
|
@@ -338,7 +379,7 @@ function AgentsToolDefinitionsPageView({ labels, tools, loading, onCreate, onUpd
|
|
|
338
379
|
subtitle: labels.subtitle,
|
|
339
380
|
gradient: "from-amber-500 to-orange-700",
|
|
340
381
|
toolbar: /* @__PURE__ */ jsxRuntime.jsx(
|
|
341
|
-
|
|
382
|
+
chunkAWDH6WNA_js.CreateActionButton,
|
|
342
383
|
{
|
|
343
384
|
mode: "desktop",
|
|
344
385
|
label: labels.addTool,
|
|
@@ -349,7 +390,7 @@ function AgentsToolDefinitionsPageView({ labels, tools, loading, onCreate, onUpd
|
|
|
349
390
|
}
|
|
350
391
|
);
|
|
351
392
|
const mobileAction = /* @__PURE__ */ jsxRuntime.jsx(
|
|
352
|
-
|
|
393
|
+
chunkAWDH6WNA_js.CreateActionButton,
|
|
353
394
|
{
|
|
354
395
|
mode: "mobile",
|
|
355
396
|
label: labels.addTool,
|
|
@@ -357,18 +398,18 @@ function AgentsToolDefinitionsPageView({ labels, tools, loading, onCreate, onUpd
|
|
|
357
398
|
accent: "amber"
|
|
358
399
|
}
|
|
359
400
|
);
|
|
360
|
-
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
361
|
-
|
|
401
|
+
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.PageLoadingState, {}) : isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_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(
|
|
402
|
+
chunkAWDH6WNA_js.EntityCard,
|
|
362
403
|
{
|
|
363
404
|
accentGradient: "from-amber-500 to-orange-700",
|
|
364
405
|
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" }) }),
|
|
365
406
|
title: tool.name,
|
|
366
407
|
subtitle: toolTypeLabel(tool),
|
|
367
|
-
status: /* @__PURE__ */ jsxRuntime.jsx(
|
|
408
|
+
status: /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.Badge, { color: tool.enabled ? "emerald" : "zinc", children: tool.enabled ? labels.enabled : labels.disabled }),
|
|
368
409
|
footer: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
|
|
369
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
410
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.Button, { type: "button", size: "sm", outline: true, onClick: () => setEditing(tool), children: labels.edit }),
|
|
370
411
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
371
|
-
|
|
412
|
+
chunkAWDH6WNA_js.Button,
|
|
372
413
|
{
|
|
373
414
|
type: "button",
|
|
374
415
|
size: "sm",
|
|
@@ -385,7 +426,7 @@ function AgentsToolDefinitionsPageView({ labels, tools, loading, onCreate, onUpd
|
|
|
385
426
|
tool.agentToolId
|
|
386
427
|
)) });
|
|
387
428
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
388
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
429
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.ManagementPageLayout, { hero, summary, content, mobileAction }),
|
|
389
430
|
createOpen && /* @__PURE__ */ jsxRuntime.jsx(
|
|
390
431
|
ToolEditor,
|
|
391
432
|
{
|
|
@@ -443,7 +484,7 @@ function ToolEditor({
|
|
|
443
484
|
setValue((v) => ({ ...v, [key]: next }));
|
|
444
485
|
};
|
|
445
486
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
446
|
-
|
|
487
|
+
chunkAWDH6WNA_js.GlassModal,
|
|
447
488
|
{
|
|
448
489
|
open: true,
|
|
449
490
|
onClose,
|
|
@@ -456,9 +497,9 @@ function ToolEditor({
|
|
|
456
497
|
handleSubmit();
|
|
457
498
|
},
|
|
458
499
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-5", children: [
|
|
459
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
500
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkAWDH6WNA_js.FormGrid, { children: [
|
|
460
501
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
461
|
-
|
|
502
|
+
chunkAWDH6WNA_js.FormInput,
|
|
462
503
|
{
|
|
463
504
|
label: "Name",
|
|
464
505
|
required: true,
|
|
@@ -468,7 +509,7 @@ function ToolEditor({
|
|
|
468
509
|
}
|
|
469
510
|
),
|
|
470
511
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
471
|
-
|
|
512
|
+
chunkAWDH6WNA_js.FormSelect,
|
|
472
513
|
{
|
|
473
514
|
label: "Tool type",
|
|
474
515
|
value: value.toolType,
|
|
@@ -478,7 +519,7 @@ function ToolEditor({
|
|
|
478
519
|
}
|
|
479
520
|
),
|
|
480
521
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
481
|
-
|
|
522
|
+
chunkAWDH6WNA_js.FormSelect,
|
|
482
523
|
{
|
|
483
524
|
label: "Enabled",
|
|
484
525
|
value: value.enabled ? "true" : "false",
|
|
@@ -487,7 +528,7 @@ function ToolEditor({
|
|
|
487
528
|
}
|
|
488
529
|
),
|
|
489
530
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
490
|
-
|
|
531
|
+
chunkAWDH6WNA_js.FormInput,
|
|
491
532
|
{
|
|
492
533
|
label: "Icon (optional)",
|
|
493
534
|
value: value.icon ?? "",
|
|
@@ -497,7 +538,7 @@ function ToolEditor({
|
|
|
497
538
|
)
|
|
498
539
|
] }),
|
|
499
540
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
500
|
-
|
|
541
|
+
chunkAWDH6WNA_js.FormTextarea,
|
|
501
542
|
{
|
|
502
543
|
label: "Description",
|
|
503
544
|
rows: 2,
|
|
@@ -545,7 +586,7 @@ function ParametersEditor({
|
|
|
545
586
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2", children: [
|
|
546
587
|
parameters.map((param, index) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-[1fr_160px_1fr_110px_auto] items-end gap-2", children: [
|
|
547
588
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
548
|
-
|
|
589
|
+
chunkAWDH6WNA_js.FormInput,
|
|
549
590
|
{
|
|
550
591
|
label: "Name",
|
|
551
592
|
value: param.name,
|
|
@@ -554,7 +595,7 @@ function ParametersEditor({
|
|
|
554
595
|
}
|
|
555
596
|
),
|
|
556
597
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
557
|
-
|
|
598
|
+
chunkAWDH6WNA_js.FormSelect,
|
|
558
599
|
{
|
|
559
600
|
label: "Type",
|
|
560
601
|
value: param.type,
|
|
@@ -563,7 +604,7 @@ function ParametersEditor({
|
|
|
563
604
|
}
|
|
564
605
|
),
|
|
565
606
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
566
|
-
|
|
607
|
+
chunkAWDH6WNA_js.FormInput,
|
|
567
608
|
{
|
|
568
609
|
label: "Description",
|
|
569
610
|
value: param.description,
|
|
@@ -582,9 +623,9 @@ function ParametersEditor({
|
|
|
582
623
|
),
|
|
583
624
|
"Required"
|
|
584
625
|
] }),
|
|
585
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
626
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.Button, { type: "button", plain: true, onClick: () => remove(index), children: "Remove" })
|
|
586
627
|
] }, index)),
|
|
587
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
628
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.Button, { type: "button", outline: true, onClick: add, children: "+ Add parameter" })
|
|
588
629
|
] })
|
|
589
630
|
] });
|
|
590
631
|
}
|
|
@@ -597,9 +638,9 @@ function HandlerConfigEditor({
|
|
|
597
638
|
if (toolType === "http") {
|
|
598
639
|
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: [
|
|
599
640
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-2 text-sm font-semibold text-slate-700 dark:text-slate-200", children: "HTTP handler" }),
|
|
600
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
641
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkAWDH6WNA_js.FormGrid, { children: [
|
|
601
642
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
602
|
-
|
|
643
|
+
chunkAWDH6WNA_js.FormSelect,
|
|
603
644
|
{
|
|
604
645
|
label: "Method",
|
|
605
646
|
value: stringProp(config, "method", "GET"),
|
|
@@ -608,7 +649,7 @@ function HandlerConfigEditor({
|
|
|
608
649
|
}
|
|
609
650
|
),
|
|
610
651
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
611
|
-
|
|
652
|
+
chunkAWDH6WNA_js.FormInput,
|
|
612
653
|
{
|
|
613
654
|
label: "URL template",
|
|
614
655
|
value: stringProp(config, "url"),
|
|
@@ -618,7 +659,7 @@ function HandlerConfigEditor({
|
|
|
618
659
|
)
|
|
619
660
|
] }),
|
|
620
661
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
621
|
-
|
|
662
|
+
chunkAWDH6WNA_js.FormTextarea,
|
|
622
663
|
{
|
|
623
664
|
label: "Headers (JSON)",
|
|
624
665
|
rows: 3,
|
|
@@ -628,7 +669,7 @@ function HandlerConfigEditor({
|
|
|
628
669
|
}
|
|
629
670
|
),
|
|
630
671
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
631
|
-
|
|
672
|
+
chunkAWDH6WNA_js.FormTextarea,
|
|
632
673
|
{
|
|
633
674
|
label: "Body template",
|
|
634
675
|
rows: 3,
|
|
@@ -643,7 +684,7 @@ function HandlerConfigEditor({
|
|
|
643
684
|
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: [
|
|
644
685
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-2 text-sm font-semibold text-slate-700 dark:text-slate-200", children: "Function handler" }),
|
|
645
686
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
646
|
-
|
|
687
|
+
chunkAWDH6WNA_js.FormInput,
|
|
647
688
|
{
|
|
648
689
|
label: "Implementation key",
|
|
649
690
|
value: stringProp(config, "implementationKey"),
|
|
@@ -657,9 +698,9 @@ function HandlerConfigEditor({
|
|
|
657
698
|
if (toolType === "database_query") {
|
|
658
699
|
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: [
|
|
659
700
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-2 text-sm font-semibold text-slate-700 dark:text-slate-200", children: "Database query handler" }),
|
|
660
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
701
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkAWDH6WNA_js.FormGrid, { children: [
|
|
661
702
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
662
|
-
|
|
703
|
+
chunkAWDH6WNA_js.FormInput,
|
|
663
704
|
{
|
|
664
705
|
label: "Datasource ID",
|
|
665
706
|
value: stringProp(config, "datasourceId"),
|
|
@@ -668,7 +709,7 @@ function HandlerConfigEditor({
|
|
|
668
709
|
}
|
|
669
710
|
),
|
|
670
711
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
671
|
-
|
|
712
|
+
chunkAWDH6WNA_js.FormInput,
|
|
672
713
|
{
|
|
673
714
|
label: "Max rows",
|
|
674
715
|
type: "number",
|
|
@@ -678,7 +719,7 @@ function HandlerConfigEditor({
|
|
|
678
719
|
)
|
|
679
720
|
] }),
|
|
680
721
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
681
|
-
|
|
722
|
+
chunkAWDH6WNA_js.FormTextarea,
|
|
682
723
|
{
|
|
683
724
|
label: "Query template",
|
|
684
725
|
rows: 4,
|
|
@@ -694,7 +735,7 @@ function HandlerConfigEditor({
|
|
|
694
735
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-2 text-sm font-semibold text-slate-700 dark:text-slate-200", children: "Code execution handler" }),
|
|
695
736
|
/* @__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." }),
|
|
696
737
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
697
|
-
|
|
738
|
+
chunkAWDH6WNA_js.FormSelect,
|
|
698
739
|
{
|
|
699
740
|
label: "Language",
|
|
700
741
|
value: stringProp(config, "language", "javascript"),
|
|
@@ -706,7 +747,7 @@ function HandlerConfigEditor({
|
|
|
706
747
|
}
|
|
707
748
|
),
|
|
708
749
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
709
|
-
|
|
750
|
+
chunkAWDH6WNA_js.FormTextarea,
|
|
710
751
|
{
|
|
711
752
|
label: "Code",
|
|
712
753
|
rows: 6,
|
|
@@ -719,9 +760,9 @@ function HandlerConfigEditor({
|
|
|
719
760
|
}
|
|
720
761
|
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: [
|
|
721
762
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-2 text-sm font-semibold text-slate-700 dark:text-slate-200", children: "API call handler" }),
|
|
722
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
763
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkAWDH6WNA_js.FormGrid, { children: [
|
|
723
764
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
724
|
-
|
|
765
|
+
chunkAWDH6WNA_js.FormInput,
|
|
725
766
|
{
|
|
726
767
|
label: "URL",
|
|
727
768
|
value: stringProp(config, "url"),
|
|
@@ -729,7 +770,7 @@ function HandlerConfigEditor({
|
|
|
729
770
|
}
|
|
730
771
|
),
|
|
731
772
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
732
|
-
|
|
773
|
+
chunkAWDH6WNA_js.FormSelect,
|
|
733
774
|
{
|
|
734
775
|
label: "Auth",
|
|
735
776
|
value: stringProp(config, "authType", "bearer"),
|
|
@@ -743,7 +784,7 @@ function HandlerConfigEditor({
|
|
|
743
784
|
}
|
|
744
785
|
),
|
|
745
786
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
746
|
-
|
|
787
|
+
chunkAWDH6WNA_js.FormInput,
|
|
747
788
|
{
|
|
748
789
|
label: "Credential secret id",
|
|
749
790
|
value: stringProp(config, "credentialRef"),
|
|
@@ -871,8 +912,20 @@ function setFromJson(set, key, raw) {
|
|
|
871
912
|
function RulesPageView({ labels, rules, loading, onCreate, onUpdate, onDelete }) {
|
|
872
913
|
const [createOpen, setCreateOpen] = react.useState(false);
|
|
873
914
|
const [editing, setEditing] = react.useState(null);
|
|
915
|
+
const [searchTerm, setSearchTerm] = react.useState("");
|
|
916
|
+
const allRules = rules;
|
|
917
|
+
const filteredRules = searchTerm.trim() ? allRules.filter((rule) => (rule.name ?? "").toLowerCase().includes(searchTerm.trim().toLowerCase())) : allRules;
|
|
918
|
+
const isEmpty = allRules.length === 0;
|
|
919
|
+
const summary = !isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
920
|
+
chunkAWDH6WNA_js.SearchBar,
|
|
921
|
+
{
|
|
922
|
+
searchTerm,
|
|
923
|
+
onSearchChange: setSearchTerm,
|
|
924
|
+
placeholder: labels.searchPlaceholder ?? labels.title
|
|
925
|
+
}
|
|
926
|
+
) : void 0;
|
|
874
927
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
875
|
-
|
|
928
|
+
chunkAWDH6WNA_js.HeroSection,
|
|
876
929
|
{
|
|
877
930
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.AdjustmentsHorizontalIcon, { className: "h-5 w-5" }),
|
|
878
931
|
label: labels.title,
|
|
@@ -880,7 +933,7 @@ function RulesPageView({ labels, rules, loading, onCreate, onUpdate, onDelete })
|
|
|
880
933
|
subtitle: labels.subtitle,
|
|
881
934
|
gradient: "from-fuchsia-500 to-purple-700",
|
|
882
935
|
toolbar: /* @__PURE__ */ jsxRuntime.jsx(
|
|
883
|
-
|
|
936
|
+
chunkAWDH6WNA_js.CreateActionButton,
|
|
884
937
|
{
|
|
885
938
|
mode: "desktop",
|
|
886
939
|
label: labels.addRule,
|
|
@@ -891,7 +944,7 @@ function RulesPageView({ labels, rules, loading, onCreate, onUpdate, onDelete })
|
|
|
891
944
|
}
|
|
892
945
|
);
|
|
893
946
|
const mobileAction = /* @__PURE__ */ jsxRuntime.jsx(
|
|
894
|
-
|
|
947
|
+
chunkAWDH6WNA_js.CreateActionButton,
|
|
895
948
|
{
|
|
896
949
|
mode: "mobile",
|
|
897
950
|
label: labels.addRule,
|
|
@@ -899,18 +952,18 @@ function RulesPageView({ labels, rules, loading, onCreate, onUpdate, onDelete })
|
|
|
899
952
|
accent: "fuchsia"
|
|
900
953
|
}
|
|
901
954
|
);
|
|
902
|
-
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
903
|
-
|
|
955
|
+
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.PageLoadingState, {}) : isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_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(
|
|
956
|
+
chunkAWDH6WNA_js.EntityCard,
|
|
904
957
|
{
|
|
905
958
|
accentGradient: "from-fuchsia-500 to-purple-700",
|
|
906
959
|
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" }) }),
|
|
907
960
|
title: rule.name,
|
|
908
961
|
subtitle: `${labels.order}: ${rule.order ?? 0}`,
|
|
909
|
-
status: /* @__PURE__ */ jsxRuntime.jsx(
|
|
962
|
+
status: /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.Badge, { color: rule.enabled ? "emerald" : "zinc", children: rule.enabled ? labels.enabled : labels.disabled }),
|
|
910
963
|
footer: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
|
|
911
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
964
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.Button, { type: "button", size: "sm", outline: true, onClick: () => setEditing(rule), children: labels.edit }),
|
|
912
965
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
913
|
-
|
|
966
|
+
chunkAWDH6WNA_js.Button,
|
|
914
967
|
{
|
|
915
968
|
type: "button",
|
|
916
969
|
size: "sm",
|
|
@@ -927,13 +980,13 @@ function RulesPageView({ labels, rules, loading, onCreate, onUpdate, onDelete })
|
|
|
927
980
|
rule.ruleId
|
|
928
981
|
)) });
|
|
929
982
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
930
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
983
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.ManagementPageLayout, { hero, summary, content, mobileAction }),
|
|
931
984
|
createOpen && /* @__PURE__ */ jsxRuntime.jsx(
|
|
932
985
|
RuleEditor,
|
|
933
986
|
{
|
|
934
987
|
title: labels.createTitle,
|
|
935
988
|
saveLabel: labels.save,
|
|
936
|
-
initial:
|
|
989
|
+
initial: chunk74MHWEDC_js.defaultRuleForm(),
|
|
937
990
|
onClose: () => setCreateOpen(false),
|
|
938
991
|
onSubmit: (value) => {
|
|
939
992
|
onCreate(value);
|
|
@@ -965,7 +1018,7 @@ function RuleEditor({
|
|
|
965
1018
|
}) {
|
|
966
1019
|
const [value, setValue] = react.useState(initial);
|
|
967
1020
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
968
|
-
|
|
1021
|
+
chunkAWDH6WNA_js.GlassModal,
|
|
969
1022
|
{
|
|
970
1023
|
open: true,
|
|
971
1024
|
onClose,
|
|
@@ -977,12 +1030,12 @@ function RuleEditor({
|
|
|
977
1030
|
event.preventDefault();
|
|
978
1031
|
onSubmit(value);
|
|
979
1032
|
},
|
|
980
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1033
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(chunk74MHWEDC_js.RuleForm, { value, onChange: setValue })
|
|
981
1034
|
}
|
|
982
1035
|
);
|
|
983
1036
|
}
|
|
984
1037
|
function ruleToFormValue(rule) {
|
|
985
|
-
const base =
|
|
1038
|
+
const base = chunk74MHWEDC_js.defaultRuleForm();
|
|
986
1039
|
const rawCondition = rule.condition ?? rule.conditions;
|
|
987
1040
|
const rawAction = pickAction(rule);
|
|
988
1041
|
return {
|
|
@@ -1113,7 +1166,7 @@ var SAMPLE_DATASOURCES = [
|
|
|
1113
1166
|
];
|
|
1114
1167
|
function getDialectLabel(dialect) {
|
|
1115
1168
|
if (!dialect) return "Unknown";
|
|
1116
|
-
for (const category of
|
|
1169
|
+
for (const category of chunkV5VBYOF5_js.DIALECT_CATEGORIES) {
|
|
1117
1170
|
const found = category.dialects.find((d) => d.value === dialect);
|
|
1118
1171
|
if (found) return found.label;
|
|
1119
1172
|
}
|
|
@@ -1121,12 +1174,12 @@ function getDialectLabel(dialect) {
|
|
|
1121
1174
|
}
|
|
1122
1175
|
function getDialectGradient(dialect) {
|
|
1123
1176
|
if (!dialect) return "from-gray-400 to-gray-500";
|
|
1124
|
-
const category =
|
|
1177
|
+
const category = chunkV5VBYOF5_js.findCategory(dialect);
|
|
1125
1178
|
return category?.gradient ?? "from-gray-400 to-gray-500";
|
|
1126
1179
|
}
|
|
1127
1180
|
function getDialectIcon(dialect) {
|
|
1128
1181
|
if (!dialect) return outline.CircleStackIcon;
|
|
1129
|
-
const category =
|
|
1182
|
+
const category = chunkV5VBYOF5_js.findCategory(dialect);
|
|
1130
1183
|
return category?.icon ?? outline.CircleStackIcon;
|
|
1131
1184
|
}
|
|
1132
1185
|
var DIALECT_LOGO = {
|
|
@@ -1164,11 +1217,13 @@ function DatasourcesPageView({
|
|
|
1164
1217
|
onCreate
|
|
1165
1218
|
}) {
|
|
1166
1219
|
const [modalOpen, setModalOpen] = react.useState(false);
|
|
1220
|
+
const [searchTerm, setSearchTerm] = react.useState("");
|
|
1167
1221
|
const [localDatasources, setLocalDatasources] = react.useState(
|
|
1168
1222
|
useSampleData ? SAMPLE_DATASOURCES : []
|
|
1169
1223
|
);
|
|
1170
|
-
const
|
|
1171
|
-
const
|
|
1224
|
+
const allDatasources = externalDatasources ?? localDatasources;
|
|
1225
|
+
const datasources = searchTerm.trim() ? allDatasources.filter((ds) => ds.name.toLowerCase().includes(searchTerm.trim().toLowerCase())) : allDatasources;
|
|
1226
|
+
const isEmpty = allDatasources.length === 0;
|
|
1172
1227
|
function handleCreate(data) {
|
|
1173
1228
|
if (onCreate) {
|
|
1174
1229
|
onCreate(data);
|
|
@@ -1194,7 +1249,7 @@ function DatasourcesPageView({
|
|
|
1194
1249
|
}
|
|
1195
1250
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
1196
1251
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1197
|
-
|
|
1252
|
+
chunkAWDH6WNA_js.HeroSection,
|
|
1198
1253
|
{
|
|
1199
1254
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.CircleStackIcon, { className: "h-5 w-5" }),
|
|
1200
1255
|
label: labels.title,
|
|
@@ -1202,7 +1257,7 @@ function DatasourcesPageView({
|
|
|
1202
1257
|
subtitle: labels.subtitle,
|
|
1203
1258
|
gradient: "from-amber-500 to-orange-600",
|
|
1204
1259
|
toolbar: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1205
|
-
|
|
1260
|
+
chunkAWDH6WNA_js.CreateActionButton,
|
|
1206
1261
|
{
|
|
1207
1262
|
mode: "desktop",
|
|
1208
1263
|
label: labels.addDatasource,
|
|
@@ -1213,7 +1268,7 @@ function DatasourcesPageView({
|
|
|
1213
1268
|
}
|
|
1214
1269
|
),
|
|
1215
1270
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1216
|
-
|
|
1271
|
+
chunkAWDH6WNA_js.CreateActionButton,
|
|
1217
1272
|
{
|
|
1218
1273
|
mode: "mobile",
|
|
1219
1274
|
label: labels.addDatasource,
|
|
@@ -1221,8 +1276,16 @@ function DatasourcesPageView({
|
|
|
1221
1276
|
accent: "amber"
|
|
1222
1277
|
}
|
|
1223
1278
|
),
|
|
1279
|
+
!isEmpty && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1280
|
+
chunkAWDH6WNA_js.SearchBar,
|
|
1281
|
+
{
|
|
1282
|
+
searchTerm,
|
|
1283
|
+
onSearchChange: setSearchTerm,
|
|
1284
|
+
placeholder: labels.searchPlaceholder ?? labels.title
|
|
1285
|
+
}
|
|
1286
|
+
),
|
|
1224
1287
|
isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1225
|
-
|
|
1288
|
+
chunkAWDH6WNA_js.PageEmptyState,
|
|
1226
1289
|
{
|
|
1227
1290
|
title: labels.emptyTitle,
|
|
1228
1291
|
message: labels.emptyDescription,
|
|
@@ -1236,13 +1299,13 @@ function DatasourcesPageView({
|
|
|
1236
1299
|
const logoSrc = getDialectLogoSrc(ds.dialect);
|
|
1237
1300
|
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" }) });
|
|
1238
1301
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1239
|
-
|
|
1302
|
+
chunkAWDH6WNA_js.EntityCard,
|
|
1240
1303
|
{
|
|
1241
1304
|
accentGradient: gradient,
|
|
1242
1305
|
icon: iconElement,
|
|
1243
1306
|
title: ds.name ?? ds.id,
|
|
1244
1307
|
subtitle: dialectLabel,
|
|
1245
|
-
status: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1308
|
+
status: /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.Badge, { color: ds.enabled ? "emerald" : "zinc", children: ds.enabled ? labels.enabled : labels.disabled }),
|
|
1246
1309
|
footer: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2 text-xs text-gray-400 dark:text-gray-500", children: [
|
|
1247
1310
|
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" }),
|
|
1248
1311
|
ds.timeoutMs && /* @__PURE__ */ jsxRuntime.jsxs("span", { children: [
|
|
@@ -1266,7 +1329,7 @@ function DatasourcesPageView({
|
|
|
1266
1329
|
);
|
|
1267
1330
|
}) }),
|
|
1268
1331
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1269
|
-
|
|
1332
|
+
chunkV5VBYOF5_js.DatasourceModal,
|
|
1270
1333
|
{
|
|
1271
1334
|
open: modalOpen,
|
|
1272
1335
|
onClose: () => setModalOpen(false),
|
|
@@ -1281,18 +1344,21 @@ function DashboardPageView({ labels, appLogo }) {
|
|
|
1281
1344
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex justify-center mb-6", children: appLogo }),
|
|
1282
1345
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-3 text-base text-gray-500 dark:text-gray-400", children: labels.subtitle })
|
|
1283
1346
|
] });
|
|
1284
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1347
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.ManagementPageLayout, { hero, content: null });
|
|
1285
1348
|
}
|
|
1286
1349
|
function AgentsIndexPageView({ labels }) {
|
|
1287
1350
|
const Link = chunkS7KHTUHA_js.useLink();
|
|
1288
|
-
const
|
|
1351
|
+
const [searchTerm, setSearchTerm] = react.useState("");
|
|
1352
|
+
const allTiles = [
|
|
1289
1353
|
{ id: "config", title: labels.configTitle, subtitle: labels.configSubtitle, href: "/agents/config", gradient: "from-violet-500 to-indigo-700", icon: outline.CpuChipIcon },
|
|
1290
1354
|
{ id: "tools", title: labels.toolDefinitionsTitle, subtitle: labels.toolDefinitionsSubtitle, href: "/agents/tool-definitions", gradient: "from-amber-500 to-orange-700", icon: outline.WrenchScrewdriverIcon },
|
|
1291
1355
|
{ id: "models", title: labels.modelsTitle, subtitle: labels.modelsSubtitle, href: "/agents/models", gradient: "from-emerald-500 to-teal-700", icon: outline.CubeTransparentIcon },
|
|
1292
1356
|
{ id: "prompts", title: labels.promptsTitle, subtitle: labels.promptsSubtitle, href: "/agents/prompts", gradient: "from-sky-500 to-blue-700", icon: outline.ChatBubbleLeftEllipsisIcon }
|
|
1293
1357
|
];
|
|
1358
|
+
const filteredTiles = searchTerm.trim() ? allTiles.filter((tile) => tile.title.toLowerCase().includes(searchTerm.trim().toLowerCase())) : allTiles;
|
|
1359
|
+
const isEmpty = allTiles.length === 0;
|
|
1294
1360
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
1295
|
-
|
|
1361
|
+
chunkAWDH6WNA_js.HeroSection,
|
|
1296
1362
|
{
|
|
1297
1363
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.CpuChipIcon, { className: "h-5 w-5" }),
|
|
1298
1364
|
label: labels.title,
|
|
@@ -1301,10 +1367,18 @@ function AgentsIndexPageView({ labels }) {
|
|
|
1301
1367
|
gradient: "from-violet-500 to-indigo-700"
|
|
1302
1368
|
}
|
|
1303
1369
|
);
|
|
1304
|
-
const
|
|
1370
|
+
const summary = !isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1371
|
+
chunkAWDH6WNA_js.SearchBar,
|
|
1372
|
+
{
|
|
1373
|
+
searchTerm,
|
|
1374
|
+
onSearchChange: setSearchTerm,
|
|
1375
|
+
placeholder: labels.searchPlaceholder ?? labels.title
|
|
1376
|
+
}
|
|
1377
|
+
) : void 0;
|
|
1378
|
+
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) => {
|
|
1305
1379
|
const Icon = tile.icon;
|
|
1306
1380
|
return /* @__PURE__ */ jsxRuntime.jsx(Link, { href: tile.href, className: "block focus:outline-none", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1307
|
-
|
|
1381
|
+
chunkAWDH6WNA_js.EntityCard,
|
|
1308
1382
|
{
|
|
1309
1383
|
accentGradient: tile.gradient,
|
|
1310
1384
|
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" }) }),
|
|
@@ -1313,13 +1387,13 @@ function AgentsIndexPageView({ labels }) {
|
|
|
1313
1387
|
}
|
|
1314
1388
|
) }, tile.id);
|
|
1315
1389
|
}) });
|
|
1316
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1390
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.ManagementPageLayout, { hero, summary, content });
|
|
1317
1391
|
}
|
|
1318
1392
|
function WorkflowsPageView({ labels, workflows, onCreate, onUpdateMeta, onPublish }) {
|
|
1319
1393
|
const selectedWorkflow = workflows[0] ?? null;
|
|
1320
1394
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-6", children: [
|
|
1321
1395
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1322
|
-
|
|
1396
|
+
chunkAWDH6WNA_js.SectionHeader,
|
|
1323
1397
|
{
|
|
1324
1398
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.RectangleStackIcon, { className: "h-5 w-5 text-white" }),
|
|
1325
1399
|
title: labels.title,
|
|
@@ -1328,9 +1402,9 @@ function WorkflowsPageView({ labels, workflows, onCreate, onUpdateMeta, onPublis
|
|
|
1328
1402
|
}
|
|
1329
1403
|
),
|
|
1330
1404
|
/* @__PURE__ */ jsxRuntime.jsxs("section", { className: "liquid-surface rounded-2xl p-4 space-y-3", children: [
|
|
1331
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1405
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.Text, { className: "font-semibold text-slate-900 dark:text-slate-100", children: labels.add }),
|
|
1332
1406
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1333
|
-
|
|
1407
|
+
chunkAWDH6WNA_js.Form,
|
|
1334
1408
|
{
|
|
1335
1409
|
onSubmit: (event) => {
|
|
1336
1410
|
event.preventDefault();
|
|
@@ -1341,32 +1415,32 @@ function WorkflowsPageView({ labels, workflows, onCreate, onUpdateMeta, onPublis
|
|
|
1341
1415
|
onCreate({ name, description });
|
|
1342
1416
|
event.currentTarget.reset();
|
|
1343
1417
|
},
|
|
1344
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1345
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1346
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1347
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1418
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(chunkAWDH6WNA_js.FormGrid, { children: [
|
|
1419
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.FormInput, { name: "name", label: labels.workflowName, placeholder: labels.workflowNamePlaceholder, required: true }),
|
|
1420
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.FormTextarea, { name: "description", label: labels.description, placeholder: labels.workflowDescriptionPlaceholder, rows: 3 }),
|
|
1421
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.FormActionsRow, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.Button, { type: "submit", children: labels.create }) })
|
|
1348
1422
|
] })
|
|
1349
1423
|
}
|
|
1350
1424
|
)
|
|
1351
1425
|
] }),
|
|
1352
1426
|
/* @__PURE__ */ jsxRuntime.jsxs("section", { className: "liquid-surface rounded-2xl p-4 space-y-3", children: [
|
|
1353
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1354
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1355
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1356
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1357
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1358
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1359
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1360
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1427
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.Text, { className: "font-semibold text-slate-900 dark:text-slate-100", children: labels.registry }),
|
|
1428
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkAWDH6WNA_js.Table, { children: [
|
|
1429
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.TableHead, { children: /* @__PURE__ */ jsxRuntime.jsxs(chunkAWDH6WNA_js.TableRow, { children: [
|
|
1430
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.TableHeader, { children: labels.name }),
|
|
1431
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.TableHeader, { children: labels.description }),
|
|
1432
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.TableHeader, { children: labels.version }),
|
|
1433
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.TableHeader, { children: labels.status }),
|
|
1434
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.TableHeader, { children: labels.actions })
|
|
1361
1435
|
] }) }),
|
|
1362
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1363
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1364
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1365
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1366
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1367
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1436
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.TableBody, { children: workflows.map((workflow) => /* @__PURE__ */ jsxRuntime.jsxs(chunkAWDH6WNA_js.TableRow, { children: [
|
|
1437
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.TableCell, { children: workflow.name }),
|
|
1438
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.TableCell, { children: workflow.description }),
|
|
1439
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.TableCell, { children: String(workflow.version) }),
|
|
1440
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.TableCell, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.Badge, { children: workflow.isDraft ? labels.statusDraft : labels.statusPublished }) }),
|
|
1441
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.TableCell, { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-2", children: [
|
|
1368
1442
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1369
|
-
|
|
1443
|
+
chunkAWDH6WNA_js.Form,
|
|
1370
1444
|
{
|
|
1371
1445
|
onSubmit: (event) => {
|
|
1372
1446
|
event.preventDefault();
|
|
@@ -1376,17 +1450,17 @@ function WorkflowsPageView({ labels, workflows, onCreate, onUpdateMeta, onPublis
|
|
|
1376
1450
|
description: workflow.description ?? ""
|
|
1377
1451
|
});
|
|
1378
1452
|
},
|
|
1379
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1453
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.InlineForm, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.Button, { type: "submit", outline: true, children: labels.saveMeta }) })
|
|
1380
1454
|
}
|
|
1381
1455
|
),
|
|
1382
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1456
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.Button, { type: "button", color: "sky", onClick: () => onPublish(workflow.id), children: labels.publish })
|
|
1383
1457
|
] }) })
|
|
1384
1458
|
] }, workflow.id)) })
|
|
1385
1459
|
] })
|
|
1386
1460
|
] }),
|
|
1387
1461
|
/* @__PURE__ */ jsxRuntime.jsxs("section", { className: "liquid-surface rounded-2xl p-4 space-y-3", children: [
|
|
1388
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1389
|
-
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(
|
|
1462
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.Text, { className: "font-semibold text-slate-900 dark:text-slate-100", children: labels.workspace }),
|
|
1463
|
+
selectedWorkflow ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "min-h-[680px] rounded-2xl border border-white/65 dark:border-white/12 overflow-hidden", children: /* @__PURE__ */ jsxRuntime.jsx(chunkAVM53A3Y_js.WorkflowWorkspace, { graph: chunk3T2WGL47_js.adaptWorkflowGraphToUi(selectedWorkflow.graph) }) }) : /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.Text, { children: labels.empty })
|
|
1390
1464
|
] })
|
|
1391
1465
|
] });
|
|
1392
1466
|
}
|
|
@@ -1399,6 +1473,7 @@ var BADGE_COLOR = {
|
|
|
1399
1473
|
};
|
|
1400
1474
|
function WorkflowRunsPageView({ labels, runs, loading, onCancel, onReplay, onView, onViewTimeline }) {
|
|
1401
1475
|
const [statusFilter, setStatusFilter] = react.useState("all");
|
|
1476
|
+
const [searchTerm, setSearchTerm] = react.useState("");
|
|
1402
1477
|
const statusOptions = react.useMemo(() => [
|
|
1403
1478
|
{ value: "all", label: labels.filterAll },
|
|
1404
1479
|
{ value: "pending", label: labels.statusPending },
|
|
@@ -1423,9 +1498,18 @@ function WorkflowRunsPageView({ labels, runs, loading, onCancel, onReplay, onVie
|
|
|
1423
1498
|
return status;
|
|
1424
1499
|
}
|
|
1425
1500
|
};
|
|
1426
|
-
const
|
|
1501
|
+
const allRuns = runs;
|
|
1502
|
+
const term = searchTerm.trim().toLowerCase();
|
|
1503
|
+
const filteredRuns = allRuns.filter((run) => {
|
|
1504
|
+
if (statusFilter !== "all" && run.status !== statusFilter) return false;
|
|
1505
|
+
if (term && !run.id.toLowerCase().includes(term) && !run.workflowId.toLowerCase().includes(term)) {
|
|
1506
|
+
return false;
|
|
1507
|
+
}
|
|
1508
|
+
return true;
|
|
1509
|
+
});
|
|
1510
|
+
const isEmpty = allRuns.length === 0;
|
|
1427
1511
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
1428
|
-
|
|
1512
|
+
chunkAWDH6WNA_js.HeroSection,
|
|
1429
1513
|
{
|
|
1430
1514
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.ClockIcon, { className: "h-5 w-5" }),
|
|
1431
1515
|
label: labels.title,
|
|
@@ -1433,7 +1517,7 @@ function WorkflowRunsPageView({ labels, runs, loading, onCancel, onReplay, onVie
|
|
|
1433
1517
|
subtitle: labels.subtitle,
|
|
1434
1518
|
gradient: "from-indigo-500 to-sky-700",
|
|
1435
1519
|
toolbar: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-48", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1436
|
-
|
|
1520
|
+
chunkAWDH6WNA_js.FormSelect,
|
|
1437
1521
|
{
|
|
1438
1522
|
name: "statusFilter",
|
|
1439
1523
|
label: labels.filterStatus,
|
|
@@ -1444,19 +1528,27 @@ function WorkflowRunsPageView({ labels, runs, loading, onCancel, onReplay, onVie
|
|
|
1444
1528
|
) })
|
|
1445
1529
|
}
|
|
1446
1530
|
);
|
|
1447
|
-
const
|
|
1448
|
-
|
|
1531
|
+
const summary = !isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1532
|
+
chunkAWDH6WNA_js.SearchBar,
|
|
1533
|
+
{
|
|
1534
|
+
searchTerm,
|
|
1535
|
+
onSearchChange: setSearchTerm,
|
|
1536
|
+
placeholder: labels.searchPlaceholder ?? labels.title
|
|
1537
|
+
}
|
|
1538
|
+
) : void 0;
|
|
1539
|
+
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.PageLoadingState, {}) : filteredRuns.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.PageEmptyState, { title: labels.empty, message: labels.subtitle, iconName: "folder-open" }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3", children: filteredRuns.map((run) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1540
|
+
chunkAWDH6WNA_js.EntityCard,
|
|
1449
1541
|
{
|
|
1450
1542
|
accentGradient: "from-indigo-500 to-sky-700",
|
|
1451
1543
|
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" }) }),
|
|
1452
1544
|
title: run.id.slice(0, 8),
|
|
1453
1545
|
subtitle: `${labels.startedAt}: ${new Date(run.createdAt).toLocaleString()}`,
|
|
1454
|
-
status: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1546
|
+
status: /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.Badge, { color: BADGE_COLOR[run.status] ?? "zinc", children: statusLabelFor(run.status) }),
|
|
1455
1547
|
footer: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
|
|
1456
|
-
onView && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1457
|
-
onViewTimeline && labels.timeline && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1458
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1459
|
-
run.status === "running" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1548
|
+
onView && /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.Button, { type: "button", size: "sm", outline: true, onClick: () => onView(run), children: labels.view }),
|
|
1549
|
+
onViewTimeline && labels.timeline && /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.Button, { type: "button", size: "sm", outline: true, onClick: () => onViewTimeline(run), children: labels.timeline }),
|
|
1550
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.Button, { type: "button", size: "sm", outline: true, onClick: () => onReplay(run), children: labels.replay }),
|
|
1551
|
+
run.status === "running" && /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.Button, { type: "button", size: "sm", color: "rose", onClick: () => onCancel(run), children: labels.cancel })
|
|
1460
1552
|
] }),
|
|
1461
1553
|
children: [
|
|
1462
1554
|
/* @__PURE__ */ jsxRuntime.jsxs("dl", { className: "mt-1 grid grid-cols-2 gap-1 text-xs text-slate-500 dark:text-slate-400", children: [
|
|
@@ -1470,11 +1562,11 @@ function WorkflowRunsPageView({ labels, runs, loading, onCancel, onReplay, onVie
|
|
|
1470
1562
|
},
|
|
1471
1563
|
run.id
|
|
1472
1564
|
)) });
|
|
1473
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1565
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.ManagementPageLayout, { hero, summary, content });
|
|
1474
1566
|
}
|
|
1475
1567
|
function RunTimelinePageView({ labels, entries, loading, runId }) {
|
|
1476
1568
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
1477
|
-
|
|
1569
|
+
chunkAWDH6WNA_js.HeroSection,
|
|
1478
1570
|
{
|
|
1479
1571
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.ClockIcon, { className: "h-5 w-5" }),
|
|
1480
1572
|
label: labels.title,
|
|
@@ -1484,23 +1576,23 @@ function RunTimelinePageView({ labels, entries, loading, runId }) {
|
|
|
1484
1576
|
}
|
|
1485
1577
|
);
|
|
1486
1578
|
if (loading) {
|
|
1487
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1579
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.ManagementPageLayout, { hero, content: /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.PageLoadingState, {}) });
|
|
1488
1580
|
}
|
|
1489
1581
|
if (entries.length === 0) {
|
|
1490
1582
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1491
|
-
|
|
1583
|
+
chunkAWDH6WNA_js.ManagementPageLayout,
|
|
1492
1584
|
{
|
|
1493
1585
|
hero,
|
|
1494
|
-
content: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1586
|
+
content: /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.PageEmptyState, { title: labels.empty ?? "", message: "", iconName: "folder-open" })
|
|
1495
1587
|
}
|
|
1496
1588
|
);
|
|
1497
1589
|
}
|
|
1498
1590
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1499
|
-
|
|
1591
|
+
chunkAWDH6WNA_js.ManagementPageLayout,
|
|
1500
1592
|
{
|
|
1501
1593
|
hero,
|
|
1502
1594
|
content: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1503
|
-
|
|
1595
|
+
chunk74MHWEDC_js.ExecutionTimelinePanel,
|
|
1504
1596
|
{
|
|
1505
1597
|
entries,
|
|
1506
1598
|
labels
|
|
@@ -1581,8 +1673,20 @@ function ConnectionsPageView({
|
|
|
1581
1673
|
}) {
|
|
1582
1674
|
const [createOpen, setCreateOpen] = react.useState(false);
|
|
1583
1675
|
const [editing, setEditing] = react.useState(null);
|
|
1676
|
+
const [searchTerm, setSearchTerm] = react.useState("");
|
|
1677
|
+
const allConnections = connections;
|
|
1678
|
+
const filteredConnections = searchTerm.trim() ? allConnections.filter((conn) => conn.name.toLowerCase().includes(searchTerm.trim().toLowerCase())) : allConnections;
|
|
1679
|
+
const isEmpty = allConnections.length === 0;
|
|
1680
|
+
const summary = !isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1681
|
+
chunkAWDH6WNA_js.SearchBar,
|
|
1682
|
+
{
|
|
1683
|
+
searchTerm,
|
|
1684
|
+
onSearchChange: setSearchTerm,
|
|
1685
|
+
placeholder: labels.searchPlaceholder ?? labels.title
|
|
1686
|
+
}
|
|
1687
|
+
) : void 0;
|
|
1584
1688
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
1585
|
-
|
|
1689
|
+
chunkAWDH6WNA_js.HeroSection,
|
|
1586
1690
|
{
|
|
1587
1691
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.LinkIcon, { className: "h-5 w-5" }),
|
|
1588
1692
|
label: labels.title,
|
|
@@ -1590,7 +1694,7 @@ function ConnectionsPageView({
|
|
|
1590
1694
|
subtitle: labels.subtitle,
|
|
1591
1695
|
gradient: "from-sky-500 to-indigo-600",
|
|
1592
1696
|
toolbar: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1593
|
-
|
|
1697
|
+
chunkAWDH6WNA_js.CreateActionButton,
|
|
1594
1698
|
{
|
|
1595
1699
|
mode: "desktop",
|
|
1596
1700
|
label: labels.add,
|
|
@@ -1601,7 +1705,7 @@ function ConnectionsPageView({
|
|
|
1601
1705
|
}
|
|
1602
1706
|
);
|
|
1603
1707
|
const mobileAction = /* @__PURE__ */ jsxRuntime.jsx(
|
|
1604
|
-
|
|
1708
|
+
chunkAWDH6WNA_js.CreateActionButton,
|
|
1605
1709
|
{
|
|
1606
1710
|
mode: "mobile",
|
|
1607
1711
|
label: labels.add,
|
|
@@ -1609,21 +1713,21 @@ function ConnectionsPageView({
|
|
|
1609
1713
|
accent: "sky"
|
|
1610
1714
|
}
|
|
1611
1715
|
);
|
|
1612
|
-
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1613
|
-
|
|
1716
|
+
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.PageLoadingState, {}) : isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_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(
|
|
1717
|
+
chunkAWDH6WNA_js.EntityCard,
|
|
1614
1718
|
{
|
|
1615
1719
|
accentGradient: "from-sky-500 to-indigo-600",
|
|
1616
1720
|
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" }) }),
|
|
1617
1721
|
title: conn.name,
|
|
1618
1722
|
subtitle: providerLabel(conn.providerSlug),
|
|
1619
1723
|
status: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-1", children: [
|
|
1620
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1621
|
-
conn.credentialRef ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1724
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.Badge, { color: conn.enabled ? "emerald" : "zinc", children: conn.enabled ? labels.enable : labels.disable }),
|
|
1725
|
+
conn.credentialRef ? /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.Badge, { color: "indigo", children: "Secret set" }) : /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.Badge, { color: "amber", children: "No secret" })
|
|
1622
1726
|
] }),
|
|
1623
1727
|
footer: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
|
|
1624
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1728
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.Button, { type: "button", size: "sm", outline: true, onClick: () => setEditing(conn), children: labels.edit }),
|
|
1625
1729
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1626
|
-
|
|
1730
|
+
chunkAWDH6WNA_js.Button,
|
|
1627
1731
|
{
|
|
1628
1732
|
type: "button",
|
|
1629
1733
|
size: "sm",
|
|
@@ -1644,7 +1748,7 @@ function ConnectionsPageView({
|
|
|
1644
1748
|
conn.id
|
|
1645
1749
|
)) });
|
|
1646
1750
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1647
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1751
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.ManagementPageLayout, { hero, summary, content, mobileAction }),
|
|
1648
1752
|
createOpen && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1649
1753
|
ConnectionEditor,
|
|
1650
1754
|
{
|
|
@@ -1758,7 +1862,7 @@ function ConnectionEditor({
|
|
|
1758
1862
|
return preset.exampleModels?.join(", ") ?? "";
|
|
1759
1863
|
}, [preset]);
|
|
1760
1864
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1761
|
-
|
|
1865
|
+
chunkAWDH6WNA_js.GlassModal,
|
|
1762
1866
|
{
|
|
1763
1867
|
open: true,
|
|
1764
1868
|
onClose,
|
|
@@ -1771,9 +1875,9 @@ function ConnectionEditor({
|
|
|
1771
1875
|
void handleSubmit();
|
|
1772
1876
|
},
|
|
1773
1877
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
1774
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1878
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkAWDH6WNA_js.FormGrid, { children: [
|
|
1775
1879
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1776
|
-
|
|
1880
|
+
chunkAWDH6WNA_js.FormSelect,
|
|
1777
1881
|
{
|
|
1778
1882
|
label: "Provider",
|
|
1779
1883
|
value: value.providerSlug,
|
|
@@ -1784,7 +1888,7 @@ function ConnectionEditor({
|
|
|
1784
1888
|
}
|
|
1785
1889
|
),
|
|
1786
1890
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1787
|
-
|
|
1891
|
+
chunkAWDH6WNA_js.FormInput,
|
|
1788
1892
|
{
|
|
1789
1893
|
label: "Display name",
|
|
1790
1894
|
required: true,
|
|
@@ -1794,7 +1898,7 @@ function ConnectionEditor({
|
|
|
1794
1898
|
}
|
|
1795
1899
|
),
|
|
1796
1900
|
preset.needsRegion && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1797
|
-
|
|
1901
|
+
chunkAWDH6WNA_js.FormInput,
|
|
1798
1902
|
{
|
|
1799
1903
|
label: "Region",
|
|
1800
1904
|
value: value.region,
|
|
@@ -1803,7 +1907,7 @@ function ConnectionEditor({
|
|
|
1803
1907
|
}
|
|
1804
1908
|
),
|
|
1805
1909
|
preset.needsEndpoint && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1806
|
-
|
|
1910
|
+
chunkAWDH6WNA_js.FormInput,
|
|
1807
1911
|
{
|
|
1808
1912
|
label: "Endpoint URL",
|
|
1809
1913
|
value: value.endpoint,
|
|
@@ -1813,7 +1917,7 @@ function ConnectionEditor({
|
|
|
1813
1917
|
)
|
|
1814
1918
|
] }),
|
|
1815
1919
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1816
|
-
|
|
1920
|
+
chunkAWDH6WNA_js.FormInput,
|
|
1817
1921
|
{
|
|
1818
1922
|
label: value.credentialRef ? "Rotate API key (leave blank to keep current)" : "API key",
|
|
1819
1923
|
type: "password",
|
|
@@ -1824,7 +1928,7 @@ function ConnectionEditor({
|
|
|
1824
1928
|
}
|
|
1825
1929
|
),
|
|
1826
1930
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1827
|
-
|
|
1931
|
+
chunkAWDH6WNA_js.FormInput,
|
|
1828
1932
|
{
|
|
1829
1933
|
label: "Model filter (comma-separated, optional)",
|
|
1830
1934
|
value: value.modelFilter,
|
|
@@ -1836,7 +1940,7 @@ function ConnectionEditor({
|
|
|
1836
1940
|
/* @__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: [
|
|
1837
1941
|
/* @__PURE__ */ jsxRuntime.jsx("summary", { className: "cursor-pointer font-medium text-slate-700 dark:text-slate-200", children: "Advanced config (JSON)" }),
|
|
1838
1942
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-3", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1839
|
-
|
|
1943
|
+
chunkAWDH6WNA_js.FormTextarea,
|
|
1840
1944
|
{
|
|
1841
1945
|
rows: 4,
|
|
1842
1946
|
value: value.configJson,
|
|
@@ -1895,6 +1999,18 @@ function modelToFormValue(conn) {
|
|
|
1895
1999
|
function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate, onDisable }) {
|
|
1896
2000
|
const [createOpen, setCreateOpen] = react.useState(false);
|
|
1897
2001
|
const [rotateFor, setRotateFor] = react.useState(null);
|
|
2002
|
+
const [searchTerm, setSearchTerm] = react.useState("");
|
|
2003
|
+
const allCredentials = credentials;
|
|
2004
|
+
const filteredCredentials = searchTerm.trim() ? allCredentials.filter((secret) => secret.name.toLowerCase().includes(searchTerm.trim().toLowerCase())) : allCredentials;
|
|
2005
|
+
const isEmpty = allCredentials.length === 0;
|
|
2006
|
+
const summary = !isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
2007
|
+
chunkAWDH6WNA_js.SearchBar,
|
|
2008
|
+
{
|
|
2009
|
+
searchTerm,
|
|
2010
|
+
onSearchChange: setSearchTerm,
|
|
2011
|
+
placeholder: labels.searchPlaceholder ?? labels.title
|
|
2012
|
+
}
|
|
2013
|
+
) : void 0;
|
|
1898
2014
|
const typeOptions = [
|
|
1899
2015
|
{ value: "generic", label: labels.typeGeneric },
|
|
1900
2016
|
{ value: "api_key", label: labels.typeApiKey },
|
|
@@ -1902,7 +2018,7 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
|
|
|
1902
2018
|
{ value: "password", label: labels.typePassword }
|
|
1903
2019
|
];
|
|
1904
2020
|
const hero = /* @__PURE__ */ jsxRuntime.jsx(
|
|
1905
|
-
|
|
2021
|
+
chunkAWDH6WNA_js.HeroSection,
|
|
1906
2022
|
{
|
|
1907
2023
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.KeyIcon, { className: "h-5 w-5" }),
|
|
1908
2024
|
label: labels.title,
|
|
@@ -1910,7 +2026,7 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
|
|
|
1910
2026
|
subtitle: labels.subtitle,
|
|
1911
2027
|
gradient: "from-rose-500 to-orange-600",
|
|
1912
2028
|
toolbar: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1913
|
-
|
|
2029
|
+
chunkAWDH6WNA_js.CreateActionButton,
|
|
1914
2030
|
{
|
|
1915
2031
|
mode: "desktop",
|
|
1916
2032
|
label: labels.addCredential,
|
|
@@ -1921,7 +2037,7 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
|
|
|
1921
2037
|
}
|
|
1922
2038
|
);
|
|
1923
2039
|
const mobileAction = /* @__PURE__ */ jsxRuntime.jsx(
|
|
1924
|
-
|
|
2040
|
+
chunkAWDH6WNA_js.CreateActionButton,
|
|
1925
2041
|
{
|
|
1926
2042
|
mode: "mobile",
|
|
1927
2043
|
label: labels.addCredential,
|
|
@@ -1929,23 +2045,23 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
|
|
|
1929
2045
|
accent: "rose"
|
|
1930
2046
|
}
|
|
1931
2047
|
);
|
|
1932
|
-
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1933
|
-
|
|
2048
|
+
const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.PageLoadingState, {}) : isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_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(
|
|
2049
|
+
chunkAWDH6WNA_js.EntityCard,
|
|
1934
2050
|
{
|
|
1935
2051
|
accentGradient: "from-rose-500 to-orange-700",
|
|
1936
2052
|
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" }) }),
|
|
1937
2053
|
title: secret.name,
|
|
1938
2054
|
subtitle: secret.secretType,
|
|
1939
|
-
status: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2055
|
+
status: /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.Badge, { color: secret.disabled ? "zinc" : "emerald", children: secret.disabled ? labels.disable : "Active" }),
|
|
1940
2056
|
footer: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between gap-2", children: [
|
|
1941
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2057
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.CopyableId, { id: secret.secretId }),
|
|
1942
2058
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
|
|
1943
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
2059
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkAWDH6WNA_js.Button, { type: "button", size: "sm", outline: true, onClick: () => setRotateFor(secret), children: [
|
|
1944
2060
|
/* @__PURE__ */ jsxRuntime.jsx(outline.ArrowPathIcon, { className: "mr-1 h-3.5 w-3.5" }),
|
|
1945
2061
|
labels.rotate
|
|
1946
2062
|
] }),
|
|
1947
2063
|
!secret.disabled && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1948
|
-
|
|
2064
|
+
chunkAWDH6WNA_js.Button,
|
|
1949
2065
|
{
|
|
1950
2066
|
type: "button",
|
|
1951
2067
|
size: "sm",
|
|
@@ -1974,9 +2090,9 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
|
|
|
1974
2090
|
secret.secretId
|
|
1975
2091
|
)) });
|
|
1976
2092
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1977
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2093
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.ManagementPageLayout, { hero, summary, content, mobileAction }),
|
|
1978
2094
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1979
|
-
|
|
2095
|
+
chunkAWDH6WNA_js.GlassModal,
|
|
1980
2096
|
{
|
|
1981
2097
|
open: createOpen,
|
|
1982
2098
|
onClose: () => setCreateOpen(false),
|
|
@@ -1994,16 +2110,16 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
|
|
|
1994
2110
|
onCreate({ name, value, secretType, description });
|
|
1995
2111
|
setCreateOpen(false);
|
|
1996
2112
|
},
|
|
1997
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1998
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1999
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2000
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2001
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2113
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(chunkAWDH6WNA_js.FormGrid, { children: [
|
|
2114
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.FormInput, { name: "name", label: labels.name, placeholder: labels.namePlaceholder, required: true }),
|
|
2115
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.FormSelect, { name: "secretType", label: labels.type, options: typeOptions, defaultValue: "generic" }),
|
|
2116
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.FormInput, { name: "value", label: labels.value, placeholder: labels.valuePlaceholder, required: true, type: "password" }),
|
|
2117
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.FormTextarea, { name: "description", label: labels.description, placeholder: labels.descriptionPlaceholder, rows: 2 })
|
|
2002
2118
|
] })
|
|
2003
2119
|
}
|
|
2004
2120
|
),
|
|
2005
2121
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2006
|
-
|
|
2122
|
+
chunkAWDH6WNA_js.GlassModal,
|
|
2007
2123
|
{
|
|
2008
2124
|
open: rotateFor !== null,
|
|
2009
2125
|
onClose: () => setRotateFor(null),
|
|
@@ -2018,7 +2134,7 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
|
|
|
2018
2134
|
onRotate(rotateFor, value);
|
|
2019
2135
|
setRotateFor(null);
|
|
2020
2136
|
},
|
|
2021
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2137
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.FormGrid, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.FormInput, { name: "value", label: labels.value, placeholder: labels.valuePlaceholder, required: true, type: "password" }) })
|
|
2022
2138
|
}
|
|
2023
2139
|
)
|
|
2024
2140
|
] });
|
|
@@ -2026,31 +2142,31 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
|
|
|
2026
2142
|
|
|
2027
2143
|
Object.defineProperty(exports, "RolesPageView", {
|
|
2028
2144
|
enumerable: true,
|
|
2029
|
-
get: function () { return
|
|
2145
|
+
get: function () { return chunkAVM53A3Y_js.RolesPageView; }
|
|
2030
2146
|
});
|
|
2031
2147
|
Object.defineProperty(exports, "UsersPageView", {
|
|
2032
2148
|
enumerable: true,
|
|
2033
|
-
get: function () { return
|
|
2149
|
+
get: function () { return chunkAVM53A3Y_js.UsersPageView; }
|
|
2034
2150
|
});
|
|
2035
2151
|
Object.defineProperty(exports, "DIALECT_CATEGORIES", {
|
|
2036
2152
|
enumerable: true,
|
|
2037
|
-
get: function () { return
|
|
2153
|
+
get: function () { return chunkV5VBYOF5_js.DIALECT_CATEGORIES; }
|
|
2038
2154
|
});
|
|
2039
2155
|
Object.defineProperty(exports, "DatasourceFormModal", {
|
|
2040
2156
|
enumerable: true,
|
|
2041
|
-
get: function () { return
|
|
2157
|
+
get: function () { return chunkV5VBYOF5_js.DatasourceFormModal; }
|
|
2042
2158
|
});
|
|
2043
2159
|
Object.defineProperty(exports, "DatasourceModal", {
|
|
2044
2160
|
enumerable: true,
|
|
2045
|
-
get: function () { return
|
|
2161
|
+
get: function () { return chunkV5VBYOF5_js.DatasourceModal; }
|
|
2046
2162
|
});
|
|
2047
2163
|
Object.defineProperty(exports, "findCategory", {
|
|
2048
2164
|
enumerable: true,
|
|
2049
|
-
get: function () { return
|
|
2165
|
+
get: function () { return chunkV5VBYOF5_js.findCategory; }
|
|
2050
2166
|
});
|
|
2051
2167
|
Object.defineProperty(exports, "findDialect", {
|
|
2052
2168
|
enumerable: true,
|
|
2053
|
-
get: function () { return
|
|
2169
|
+
get: function () { return chunkV5VBYOF5_js.findDialect; }
|
|
2054
2170
|
});
|
|
2055
2171
|
exports.AgentsConfigPageView = AgentsConfigPageView;
|
|
2056
2172
|
exports.AgentsIndexPageView = AgentsIndexPageView;
|