@datatechsolutions/ui 3.8.0 → 3.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/astrlabe/index.js +107 -107
- package/dist/astrlabe/index.mjs +3 -3
- package/dist/astrlabe/workflow-canvas.js +3 -3
- package/dist/astrlabe/workflow-canvas.mjs +2 -2
- package/dist/{chunk-KKXI7CPF.mjs → chunk-2E7HYTS7.mjs} +3 -3
- package/dist/{chunk-KKXI7CPF.mjs.map → chunk-2E7HYTS7.mjs.map} +1 -1
- package/dist/{chunk-EWYAM4WJ.mjs → chunk-2ZY3IQ2I.mjs} +3 -3
- package/dist/{chunk-EWYAM4WJ.mjs.map → chunk-2ZY3IQ2I.mjs.map} +1 -1
- package/dist/{chunk-VPFVW7ZF.js → chunk-6E2YH67A.js} +35 -35
- package/dist/{chunk-VPFVW7ZF.js.map → chunk-6E2YH67A.js.map} +1 -1
- package/dist/{chunk-A4A3SQTV.mjs → chunk-6QJI5YOJ.mjs} +3 -3
- package/dist/{chunk-A4A3SQTV.mjs.map → chunk-6QJI5YOJ.mjs.map} +1 -1
- package/dist/{chunk-3X3IYDG6.js → chunk-7AM2SXEF.js} +68 -68
- package/dist/{chunk-3X3IYDG6.js.map → chunk-7AM2SXEF.js.map} +1 -1
- package/dist/{chunk-H37VDL7Y.js → chunk-A2RIX2RK.js} +4 -4
- package/dist/{chunk-H37VDL7Y.js.map → chunk-A2RIX2RK.js.map} +1 -1
- package/dist/{chunk-32DHEVOH.mjs → chunk-ARLYOLSO.mjs} +3 -3
- package/dist/{chunk-32DHEVOH.mjs.map → chunk-ARLYOLSO.mjs.map} +1 -1
- package/dist/{chunk-5YVOLHSW.mjs → chunk-AXBD6OAF.mjs} +4 -4
- package/dist/{chunk-5YVOLHSW.mjs.map → chunk-AXBD6OAF.mjs.map} +1 -1
- package/dist/{chunk-ZP37M2QK.mjs → chunk-BWUFLW5W.mjs} +6 -6
- package/dist/{chunk-ZP37M2QK.mjs.map → chunk-BWUFLW5W.mjs.map} +1 -1
- package/dist/{chunk-HBOORO52.js → chunk-CLTNCBSP.js} +4 -4
- package/dist/{chunk-HBOORO52.js.map → chunk-CLTNCBSP.js.map} +1 -1
- package/dist/{chunk-F35GFICG.js → chunk-CRBGZA6Y.js} +13 -13
- package/dist/{chunk-F35GFICG.js.map → chunk-CRBGZA6Y.js.map} +1 -1
- package/dist/{chunk-7JZFNKJD.js → chunk-DQIEVLA3.js} +35 -35
- package/dist/{chunk-7JZFNKJD.js.map → chunk-DQIEVLA3.js.map} +1 -1
- package/dist/{chunk-57E4TCB2.mjs → chunk-EAIE4QGD.mjs} +3 -3
- package/dist/{chunk-57E4TCB2.mjs.map → chunk-EAIE4QGD.mjs.map} +1 -1
- package/dist/{chunk-5W6LMDXV.mjs → chunk-GQWC4EKE.mjs} +4 -4
- package/dist/{chunk-5W6LMDXV.mjs.map → chunk-GQWC4EKE.mjs.map} +1 -1
- package/dist/{chunk-FKUIVS6I.js → chunk-IVKFXPLO.js} +28 -28
- package/dist/{chunk-FKUIVS6I.js.map → chunk-IVKFXPLO.js.map} +1 -1
- package/dist/{chunk-FNA66TT4.js → chunk-MT66VKLS.js} +163 -219
- package/dist/chunk-MT66VKLS.js.map +1 -0
- package/dist/{chunk-74BU2EBZ.mjs → chunk-OEZ7GAJY.mjs} +6 -6
- package/dist/{chunk-74BU2EBZ.mjs.map → chunk-OEZ7GAJY.mjs.map} +1 -1
- package/dist/{chunk-CZZOCKEA.mjs → chunk-OVQ4MKCV.mjs} +3 -3
- package/dist/{chunk-CZZOCKEA.mjs.map → chunk-OVQ4MKCV.mjs.map} +1 -1
- package/dist/{chunk-WDBVIU7W.mjs → chunk-PD3JLDA5.mjs} +3 -3
- package/dist/{chunk-WDBVIU7W.mjs.map → chunk-PD3JLDA5.mjs.map} +1 -1
- package/dist/{chunk-TJPPZU77.js → chunk-R6GEJBFC.js} +34 -34
- package/dist/{chunk-TJPPZU77.js.map → chunk-R6GEJBFC.js.map} +1 -1
- package/dist/{chunk-Q4QORAMH.js → chunk-RFUSH7WD.js} +10 -10
- package/dist/{chunk-Q4QORAMH.js.map → chunk-RFUSH7WD.js.map} +1 -1
- package/dist/{chunk-VS6PTRQ7.mjs → chunk-SJ6SUS7H.mjs} +3 -3
- package/dist/{chunk-VS6PTRQ7.mjs.map → chunk-SJ6SUS7H.mjs.map} +1 -1
- package/dist/{chunk-E57RZXOR.js → chunk-T4IYOKHR.js} +25 -25
- package/dist/{chunk-E57RZXOR.js.map → chunk-T4IYOKHR.js.map} +1 -1
- package/dist/{chunk-3H5CFLVK.js → chunk-U6VFS3RD.js} +135 -135
- package/dist/{chunk-3H5CFLVK.js.map → chunk-U6VFS3RD.js.map} +1 -1
- package/dist/{chunk-RCHTRG7R.js → chunk-UZIICTIY.js} +55 -55
- package/dist/{chunk-RCHTRG7R.js.map → chunk-UZIICTIY.js.map} +1 -1
- package/dist/{chunk-TCP45Q4B.js → chunk-WJENX6KB.js} +9 -9
- package/dist/{chunk-TCP45Q4B.js.map → chunk-WJENX6KB.js.map} +1 -1
- package/dist/{chunk-PYNXIDG3.mjs → chunk-WS3IJFPW.mjs} +3 -3
- package/dist/{chunk-PYNXIDG3.mjs.map → chunk-WS3IJFPW.mjs.map} +1 -1
- package/dist/{chunk-Q7HRCCFT.js → chunk-ZDXEGSCF.js} +45 -45
- package/dist/{chunk-Q7HRCCFT.js.map → chunk-ZDXEGSCF.js.map} +1 -1
- package/dist/{chunk-PCUINUIC.mjs → chunk-ZQEMKEEH.mjs} +3 -3
- package/dist/{chunk-PCUINUIC.mjs.map → chunk-ZQEMKEEH.mjs.map} +1 -1
- package/dist/{chunk-E6C7MFHJ.mjs → chunk-ZQRUAXGP.mjs} +164 -218
- package/dist/chunk-ZQRUAXGP.mjs.map +1 -0
- package/dist/index.d.mts +43 -42
- package/dist/index.d.ts +43 -42
- package/dist/index.js +662 -670
- package/dist/index.mjs +1 -1
- package/dist/platform/admin/index.js +9 -9
- package/dist/platform/admin/index.mjs +3 -3
- package/dist/platform/agents-workspace.js +6 -6
- package/dist/platform/agents-workspace.mjs +5 -5
- package/dist/platform/app-shell.js +3 -3
- package/dist/platform/app-shell.mjs +2 -2
- package/dist/platform/auth/index.js +21 -21
- package/dist/platform/auth/index.mjs +3 -3
- package/dist/platform/billing/index.js +3 -3
- package/dist/platform/billing/index.mjs +2 -2
- package/dist/platform/impersonation/index.js +3 -3
- package/dist/platform/impersonation/index.mjs +2 -2
- package/dist/platform/index.d.mts +1 -1
- package/dist/platform/index.d.ts +1 -1
- package/dist/platform/index.js +74 -74
- package/dist/platform/index.mjs +17 -17
- package/dist/platform/pages/index.d.mts +93 -4
- package/dist/platform/pages/index.d.ts +93 -4
- package/dist/platform/pages/index.js +1009 -575
- package/dist/platform/pages/index.js.map +1 -1
- package/dist/platform/pages/index.mjs +805 -372
- package/dist/platform/pages/index.mjs.map +1 -1
- package/dist/platform/settings/index.js +6 -6
- package/dist/platform/settings/index.mjs +5 -5
- package/dist/platform/workflow-canvas-shell.js +4 -4
- package/dist/platform/workflow-canvas-shell.mjs +3 -3
- package/package.json +1 -1
- package/dist/chunk-E6C7MFHJ.mjs.map +0 -1
- package/dist/chunk-FNA66TT4.js.map +0 -1
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
|
-
var
|
|
5
|
-
var
|
|
4
|
+
var chunk7AM2SXEF_js = require('./chunk-7AM2SXEF.js');
|
|
5
|
+
var chunkMT66VKLS_js = require('./chunk-MT66VKLS.js');
|
|
6
6
|
var chunkYXN2K77G_js = require('./chunk-YXN2K77G.js');
|
|
7
7
|
var chunkBHOT22QL_js = require('./chunk-BHOT22QL.js');
|
|
8
8
|
var chunk72SWXOD5_js = require('./chunk-72SWXOD5.js');
|
|
@@ -41,11 +41,11 @@ var ModelProviderFlowNode = react.memo(function ModelProviderFlowNode2({ id, dat
|
|
|
41
41
|
const isCompact = data.displayMode === "compact";
|
|
42
42
|
if (!config) {
|
|
43
43
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
44
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
45
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
46
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
47
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
48
|
-
|
|
44
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunk7AM2SXEF_js.NodeRunningIndicator, { nodeId: id }),
|
|
45
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunk7AM2SXEF_js.WorkflowHandle, { type: "target", position: react$1.Position.Left, id: "left-in", colorClass: "!bg-gray-400 dark:!bg-gray-500" }),
|
|
46
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunk7AM2SXEF_js.WorkflowHandle, { type: "target", position: react$1.Position.Top, id: "top-in", colorClass: "!bg-gray-400 dark:!bg-gray-500" }),
|
|
47
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunk7AM2SXEF_js.NodeCard, { variant: "error", nodeType: "model_provider", width: "w-[280px]", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
48
|
+
chunk7AM2SXEF_js.NodeCardHeader,
|
|
49
49
|
{
|
|
50
50
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.ExclamationTriangleIcon, { className: "h-6 w-6 text-white" }),
|
|
51
51
|
title: data.label || "Model Provider",
|
|
@@ -53,8 +53,8 @@ var ModelProviderFlowNode = react.memo(function ModelProviderFlowNode2({ id, dat
|
|
|
53
53
|
iconClassName: "flex h-11 w-11 items-center justify-center rounded-xl bg-gradient-to-br from-amber-400 to-orange-500 shadow-lg"
|
|
54
54
|
}
|
|
55
55
|
) }),
|
|
56
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
57
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
56
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunk7AM2SXEF_js.WorkflowHandle, { type: "source", position: react$1.Position.Right, id: "right-out", colorClass: "!bg-slate-500" }),
|
|
57
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunk7AM2SXEF_js.WorkflowHandle, { type: "source", position: react$1.Position.Bottom, id: "bottom-out", colorClass: "!bg-slate-500" })
|
|
58
58
|
] });
|
|
59
59
|
}
|
|
60
60
|
const providerLabel = PROVIDER_TYPE_LABELS[config.providerType] ?? config.providerType;
|
|
@@ -63,18 +63,18 @@ var ModelProviderFlowNode = react.memo(function ModelProviderFlowNode2({ id, dat
|
|
|
63
63
|
const isConfigured = !!(config.credentialRef || config.apiKeyRef);
|
|
64
64
|
const logo = PROVIDER_LOGOS[config.providerType];
|
|
65
65
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
66
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
67
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
68
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
66
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunk7AM2SXEF_js.NodeRunningIndicator, { nodeId: id }),
|
|
67
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunk7AM2SXEF_js.WorkflowHandle, { type: "target", position: react$1.Position.Left, id: "left-in", colorClass: "!bg-gray-400 dark:!bg-gray-500" }),
|
|
68
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunk7AM2SXEF_js.WorkflowHandle, { type: "target", position: react$1.Position.Top, id: "top-in", colorClass: "!bg-gray-400 dark:!bg-gray-500" }),
|
|
69
69
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
70
70
|
"button",
|
|
71
71
|
{
|
|
72
72
|
type: "button",
|
|
73
73
|
onClick: () => data.onEdit?.(id),
|
|
74
74
|
className: "w-full text-left",
|
|
75
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
75
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(chunk7AM2SXEF_js.NodeCard, { compact: isCompact, selected, nodeType: "model_provider", width: "w-[280px]", children: [
|
|
76
76
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
77
|
-
|
|
77
|
+
chunk7AM2SXEF_js.NodeCardHeader,
|
|
78
78
|
{
|
|
79
79
|
icon: logo ? /* @__PURE__ */ jsxRuntime.jsx("img", { src: logo, alt: providerLabel, className: "h-6 w-6 object-contain", loading: "lazy" }) : /* @__PURE__ */ jsxRuntime.jsx(outline.KeyIcon, { className: "h-6 w-6 text-white" }),
|
|
80
80
|
title: displayName,
|
|
@@ -82,7 +82,7 @@ var ModelProviderFlowNode = react.memo(function ModelProviderFlowNode2({ id, dat
|
|
|
82
82
|
iconClassName: `flex h-11 w-11 items-center justify-center rounded-xl shadow-lg ${logo ? "bg-white/10 dark:bg-white/5 p-2" : "bg-gradient-to-br from-slate-600 to-slate-700 p-1.5"}`
|
|
83
83
|
}
|
|
84
84
|
),
|
|
85
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
85
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunk7AM2SXEF_js.NodeCardMeta, { compact: isCompact, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap items-center gap-1.5", children: [
|
|
86
86
|
/* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Badge, { color: "zinc", size: "xs", children: providerLabel }),
|
|
87
87
|
regionLabel && /* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Badge, { color: "zinc", size: "xs", children: regionLabel }),
|
|
88
88
|
/* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Badge, { color: isConfigured ? "green" : "amber", size: "xs", children: isConfigured ? "Configured" : "Setup needed" }),
|
|
@@ -94,8 +94,8 @@ var ModelProviderFlowNode = react.memo(function ModelProviderFlowNode2({ id, dat
|
|
|
94
94
|
] })
|
|
95
95
|
}
|
|
96
96
|
),
|
|
97
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
98
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
97
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunk7AM2SXEF_js.WorkflowHandle, { type: "source", position: react$1.Position.Right, id: "right-out", colorClass: "!bg-slate-500" }),
|
|
98
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunk7AM2SXEF_js.WorkflowHandle, { type: "source", position: react$1.Position.Bottom, id: "bottom-out", colorClass: "!bg-slate-500" })
|
|
99
99
|
] });
|
|
100
100
|
});
|
|
101
101
|
var S3WriteFlowNode = react.memo(function S3WriteFlowNode2({ id, data, selected }) {
|
|
@@ -104,10 +104,10 @@ var S3WriteFlowNode = react.memo(function S3WriteFlowNode2({ id, data, selected
|
|
|
104
104
|
const isCompact = data.displayMode === "compact";
|
|
105
105
|
const keyPreview = config.key ? config.key.slice(0, 30) : "";
|
|
106
106
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
107
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
108
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
107
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunk7AM2SXEF_js.NodeRunningIndicator, { nodeId: id }),
|
|
108
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunk7AM2SXEF_js.WorkflowHandle, { type: "target", position: react$1.Position.Left, id: "left-in", colorClass: "!bg-cyan-500" }),
|
|
109
109
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
110
|
-
|
|
110
|
+
chunk7AM2SXEF_js.NodeInteractiveCard,
|
|
111
111
|
{
|
|
112
112
|
nodeId: id,
|
|
113
113
|
onEdit,
|
|
@@ -116,27 +116,27 @@ var S3WriteFlowNode = react.memo(function S3WriteFlowNode2({ id, data, selected
|
|
|
116
116
|
nodeType: "s3_write",
|
|
117
117
|
children: [
|
|
118
118
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
119
|
-
|
|
119
|
+
chunk7AM2SXEF_js.NodeCardHeader,
|
|
120
120
|
{
|
|
121
|
-
icon: /* @__PURE__ */ jsxRuntime.jsx(
|
|
121
|
+
icon: /* @__PURE__ */ jsxRuntime.jsx(chunk7AM2SXEF_js.NodeIconBubble, { tone: "s3_write", children: /* @__PURE__ */ jsxRuntime.jsx(outline.CloudArrowUpIcon, { className: "h-5 w-5 text-white" }) }),
|
|
122
122
|
title: label,
|
|
123
123
|
description: t("s3WriteNodeDescription"),
|
|
124
124
|
compact: isCompact,
|
|
125
125
|
iconClassName: ""
|
|
126
126
|
}
|
|
127
127
|
),
|
|
128
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
128
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunk7AM2SXEF_js.NodeCardMeta, { compact: isCompact, children: [
|
|
129
129
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
130
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
131
|
-
config.bucket && /* @__PURE__ */ jsxRuntime.jsx(
|
|
130
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunk7AM2SXEF_js.NodeCardBadge, { tone: "s3_write", children: t("s3WriteNode") }),
|
|
131
|
+
config.bucket && /* @__PURE__ */ jsxRuntime.jsx(chunk7AM2SXEF_js.NodeCardBadge, { tone: "s3_write", soft: true, children: config.bucket }),
|
|
132
132
|
keyPreview && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate text-[10px] text-gray-400 dark:text-gray-500", children: keyPreview })
|
|
133
133
|
] }),
|
|
134
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
134
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunk7AM2SXEF_js.NodeCardDeleteAction, { nodeId: id, onDelete })
|
|
135
135
|
] })
|
|
136
136
|
]
|
|
137
137
|
}
|
|
138
138
|
),
|
|
139
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
139
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunk7AM2SXEF_js.WorkflowHandle, { type: "source", position: react$1.Position.Right, id: "right-out", colorClass: "!bg-cyan-500" })
|
|
140
140
|
] });
|
|
141
141
|
});
|
|
142
142
|
function AnthropicModelIcon({ className }) {
|
|
@@ -287,7 +287,7 @@ function FieldEditor({
|
|
|
287
287
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rounded-xl border border-slate-200 bg-slate-50/60 p-3 dark:border-slate-700 dark:bg-slate-900/40", children: [
|
|
288
288
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-[1fr_140px_auto_auto] items-end gap-2", children: [
|
|
289
289
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
290
|
-
|
|
290
|
+
chunkMT66VKLS_js.FormInput,
|
|
291
291
|
{
|
|
292
292
|
label: "Name",
|
|
293
293
|
value: field.name,
|
|
@@ -296,7 +296,7 @@ function FieldEditor({
|
|
|
296
296
|
}
|
|
297
297
|
),
|
|
298
298
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
299
|
-
|
|
299
|
+
chunkMT66VKLS_js.FormSelect,
|
|
300
300
|
{
|
|
301
301
|
label: "Type",
|
|
302
302
|
value: field.type,
|
|
@@ -319,7 +319,7 @@ function FieldEditor({
|
|
|
319
319
|
/* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Button, { type: "button", plain: true, onClick: onRemove, children: "Remove" })
|
|
320
320
|
] }),
|
|
321
321
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
322
|
-
|
|
322
|
+
chunkMT66VKLS_js.FormInput,
|
|
323
323
|
{
|
|
324
324
|
label: "Description (optional)",
|
|
325
325
|
value: field.description,
|
|
@@ -612,13 +612,13 @@ function AgentCapabilityCard({ elo, setElo, models, selectedModelId, setSelected
|
|
|
612
612
|
] });
|
|
613
613
|
}
|
|
614
614
|
function ConfigTab({ models, t, selectedModelId, setSelectedModelId, selectedFramework, setSelectedFramework, markDirty, connectedProviderTypes }) {
|
|
615
|
-
const frameworkKeys = Object.keys(
|
|
615
|
+
const frameworkKeys = Object.keys(chunk7AM2SXEF_js.FRAMEWORK_META);
|
|
616
616
|
const hasProviderConstraints = connectedProviderTypes.length > 0;
|
|
617
|
-
const compatibleModels =
|
|
617
|
+
const compatibleModels = chunk7AM2SXEF_js.getCompatibleModels(models, selectedFramework);
|
|
618
618
|
const handleFrameworkChange = react.useCallback((newFramework) => {
|
|
619
619
|
setSelectedFramework(newFramework);
|
|
620
|
-
if (!
|
|
621
|
-
const compatible =
|
|
620
|
+
if (!chunk7AM2SXEF_js.isModelCompatibleWithFramework(selectedModelId, newFramework)) {
|
|
621
|
+
const compatible = chunk7AM2SXEF_js.getCompatibleModels(models, newFramework);
|
|
622
622
|
if (compatible.length > 0) {
|
|
623
623
|
setSelectedModelId(compatible[0].id);
|
|
624
624
|
}
|
|
@@ -629,10 +629,10 @@ function ConfigTab({ models, t, selectedModelId, setSelectedModelId, selectedFra
|
|
|
629
629
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
630
630
|
/* @__PURE__ */ jsxRuntime.jsx("label", { className: "mb-2 block text-xs font-medium text-gray-500 dark:text-gray-400", children: t("agentDrawer.framework") }),
|
|
631
631
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-wrap gap-1.5", children: frameworkKeys.map((key) => {
|
|
632
|
-
const meta =
|
|
632
|
+
const meta = chunk7AM2SXEF_js.FRAMEWORK_META[key];
|
|
633
633
|
const isSelected = key === selectedFramework;
|
|
634
|
-
const compatCount =
|
|
635
|
-
const isCompatibleWithProviders = !hasProviderConstraints ||
|
|
634
|
+
const compatCount = chunk7AM2SXEF_js.getCompatibleModels(models, key).length;
|
|
635
|
+
const isCompatibleWithProviders = !hasProviderConstraints || chunk7AM2SXEF_js.isFrameworkCompatibleWithProviders(key, connectedProviderTypes);
|
|
636
636
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
637
637
|
"button",
|
|
638
638
|
{
|
|
@@ -664,7 +664,7 @@ function ConfigTab({ models, t, selectedModelId, setSelectedModelId, selectedFra
|
|
|
664
664
|
] }),
|
|
665
665
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-2 gap-2", children: models.map((model) => {
|
|
666
666
|
const isSelected = model.id === selectedModelId;
|
|
667
|
-
const isCompatible =
|
|
667
|
+
const isCompatible = chunk7AM2SXEF_js.isModelCompatibleWithFramework(model.id, selectedFramework);
|
|
668
668
|
const { IconComponent, color, providerLabel } = getModelIcon(model.id);
|
|
669
669
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
670
670
|
"button",
|
|
@@ -822,7 +822,7 @@ function ToolsTab({ agentTools, enabledToolIds, onToggle, agentFramework, t }) {
|
|
|
822
822
|
] }),
|
|
823
823
|
tool.description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "truncate text-[10px] text-gray-400 dark:text-gray-500", children: tool.description }),
|
|
824
824
|
tool.compatibleFrameworks && tool.compatibleFrameworks.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-1 flex flex-wrap gap-0.5", children: tool.compatibleFrameworks.map((framework) => {
|
|
825
|
-
const meta =
|
|
825
|
+
const meta = chunk7AM2SXEF_js.getFrameworkMeta(framework);
|
|
826
826
|
const isCurrentFw = framework === agentFramework;
|
|
827
827
|
return /* @__PURE__ */ jsxRuntime.jsxs("span", { className: `inline-flex items-center gap-0.5 rounded px-1.5 py-0.5 text-[8px] font-medium ${isCurrentFw ? meta.badgeColor : "bg-gray-100 text-gray-500 dark:bg-white/5 dark:text-gray-400"}`, children: [
|
|
828
828
|
/* @__PURE__ */ jsxRuntime.jsx(meta.IconComponent, { className: "h-2.5 w-2.5" }),
|
|
@@ -839,7 +839,7 @@ function ToolsTab({ agentTools, enabledToolIds, onToggle, agentFramework, t }) {
|
|
|
839
839
|
event.stopPropagation();
|
|
840
840
|
},
|
|
841
841
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
842
|
-
|
|
842
|
+
chunkMT66VKLS_js.ToggleSwitch,
|
|
843
843
|
{
|
|
844
844
|
checked: isEnabled,
|
|
845
845
|
onChange: () => onToggle(tool.agentToolId),
|
|
@@ -887,7 +887,7 @@ function EngineTab({
|
|
|
887
887
|
const compatibleProviders = findCompatibleProviders(selectedModelId, modelProviders);
|
|
888
888
|
const configuredCompatible = compatibleProviders.filter((p) => p.configured);
|
|
889
889
|
const effectiveProvider = compatibleProviders.find((p) => p.id === selectedProviderId) ?? configuredCompatible[0] ?? compatibleProviders[0];
|
|
890
|
-
const frameworkMeta =
|
|
890
|
+
const frameworkMeta = chunk7AM2SXEF_js.getFrameworkMeta(selectedFramework);
|
|
891
891
|
const inputCard = "liquid-surface w-full rounded-lg px-3 py-1.5 text-sm text-gray-800 outline-none transition-colors focus:ring-1 focus:ring-indigo-300/40 dark:text-gray-200 dark:focus:ring-indigo-500/20";
|
|
892
892
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "p-5", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "overflow-hidden rounded-2xl border border-indigo-500/20 bg-gradient-to-b from-indigo-500/[0.04] via-violet-500/[0.03] to-purple-500/[0.04] dark:border-indigo-400/20 dark:from-indigo-500/[0.10] dark:via-violet-500/[0.06] dark:to-purple-500/[0.08]", children: [
|
|
893
893
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "px-4 pb-3 pt-4", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -1031,9 +1031,9 @@ function EngineTab({
|
|
|
1031
1031
|
}
|
|
1032
1032
|
function AgentModal({ onSaved, onPersist }) {
|
|
1033
1033
|
const t = chunkYXN2K77G_js.useTranslations("agents.workflow");
|
|
1034
|
-
const activeModal =
|
|
1035
|
-
const agentData =
|
|
1036
|
-
const closeModal =
|
|
1034
|
+
const activeModal = chunk7AM2SXEF_js.useModalStore((s) => s.activeModal);
|
|
1035
|
+
const agentData = chunk7AM2SXEF_js.useModalStore((s) => s.agentData);
|
|
1036
|
+
const closeModal = chunk7AM2SXEF_js.useModalStore((s) => s.closeModal);
|
|
1037
1037
|
const open = activeModal === "agent";
|
|
1038
1038
|
const agent = agentData?.agent ?? null;
|
|
1039
1039
|
const models = agentData?.models ?? [];
|
|
@@ -1181,7 +1181,7 @@ function AgentModal({ onSaved, onPersist }) {
|
|
|
1181
1181
|
const fieldLabel = "text-[9px] font-semibold uppercase tracking-wider text-slate-500 dark:text-slate-400";
|
|
1182
1182
|
const avatarInitial = (displayName || agent.name).charAt(0).toUpperCase();
|
|
1183
1183
|
const avatarNode = /* @__PURE__ */ jsxRuntime.jsx(
|
|
1184
|
-
|
|
1184
|
+
chunkMT66VKLS_js.Avatar,
|
|
1185
1185
|
{
|
|
1186
1186
|
src: effectiveAvatarUrl || void 0,
|
|
1187
1187
|
alt: displayName || agent.name,
|
|
@@ -1193,7 +1193,7 @@ function AgentModal({ onSaved, onPersist }) {
|
|
|
1193
1193
|
const statusPill = /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1.5", children: [
|
|
1194
1194
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: `text-[9px] font-semibold ${status === "active" ? "text-emerald-600 dark:text-emerald-400" : "text-slate-500"}`, children: status === "active" ? t("agentDrawer.statusActive", { _: "Active" }) : t("agentDrawer.statusInactive", { _: "Inactive" }) }),
|
|
1195
1195
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1196
|
-
|
|
1196
|
+
chunkMT66VKLS_js.ToggleSwitch,
|
|
1197
1197
|
{
|
|
1198
1198
|
size: "sm",
|
|
1199
1199
|
color: "green",
|
|
@@ -1207,7 +1207,7 @@ function AgentModal({ onSaved, onPersist }) {
|
|
|
1207
1207
|
)
|
|
1208
1208
|
] });
|
|
1209
1209
|
const identityCard = /* @__PURE__ */ jsxRuntime.jsx("div", { className: "liquid-surface rounded-2xl p-3 ring-1 ring-slate-200/50 dark:ring-white/10", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1210
|
-
|
|
1210
|
+
chunkMT66VKLS_js.HeroBlock,
|
|
1211
1211
|
{
|
|
1212
1212
|
icon: avatarNode,
|
|
1213
1213
|
iconBackground: "none",
|
|
@@ -1270,7 +1270,7 @@ function AgentModal({ onSaved, onPersist }) {
|
|
|
1270
1270
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: `font-medium ${autosaveColor}`, children: autosaveLabel })
|
|
1271
1271
|
] });
|
|
1272
1272
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1273
|
-
|
|
1273
|
+
chunkMT66VKLS_js.GlassModal,
|
|
1274
1274
|
{
|
|
1275
1275
|
open,
|
|
1276
1276
|
onClose: handleClose,
|
|
@@ -1287,7 +1287,7 @@ function AgentModal({ onSaved, onPersist }) {
|
|
|
1287
1287
|
},
|
|
1288
1288
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-5", children: [
|
|
1289
1289
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1290
|
-
|
|
1290
|
+
chunkMT66VKLS_js.SectionCard,
|
|
1291
1291
|
{
|
|
1292
1292
|
variant: "glass",
|
|
1293
1293
|
padded: false,
|
|
@@ -1327,7 +1327,7 @@ function AgentModal({ onSaved, onPersist }) {
|
|
|
1327
1327
|
}
|
|
1328
1328
|
),
|
|
1329
1329
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1330
|
-
|
|
1330
|
+
chunkMT66VKLS_js.SectionCard,
|
|
1331
1331
|
{
|
|
1332
1332
|
variant: "glass",
|
|
1333
1333
|
padded: false,
|
|
@@ -1355,7 +1355,7 @@ function AgentModal({ onSaved, onPersist }) {
|
|
|
1355
1355
|
}
|
|
1356
1356
|
),
|
|
1357
1357
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1358
|
-
|
|
1358
|
+
chunkMT66VKLS_js.SectionCard,
|
|
1359
1359
|
{
|
|
1360
1360
|
variant: "glass",
|
|
1361
1361
|
padded: false,
|
|
@@ -1478,7 +1478,7 @@ function SubworkflowModal({ onSaved, onMaximize }) {
|
|
|
1478
1478
|
const markDirty = useSubworkflowStore((s) => s.markDirty);
|
|
1479
1479
|
const markSaved = useSubworkflowStore((s) => s.markSaved);
|
|
1480
1480
|
const closeModal = useSubworkflowStore((s) => s.closeModal);
|
|
1481
|
-
const agentBehind =
|
|
1481
|
+
const agentBehind = chunk7AM2SXEF_js.useModalStore((s) => s.activeModal === "agent" ? s.agentData?.agent?.name : null);
|
|
1482
1482
|
const isCreateMode = !tool?.toolId;
|
|
1483
1483
|
const initialGraph = react.useMemo(() => {
|
|
1484
1484
|
const config = tool?.config;
|
|
@@ -1507,9 +1507,9 @@ function SubworkflowModal({ onSaved, onMaximize }) {
|
|
|
1507
1507
|
}, [tool, onSaved, name, category, description, timeoutMs, latestGraphRef, markSaved]);
|
|
1508
1508
|
if (!tool) return null;
|
|
1509
1509
|
const categoryKey = category ?? "external";
|
|
1510
|
-
const gradient = tool.color ??
|
|
1511
|
-
const categoryPill =
|
|
1512
|
-
const IconComponent =
|
|
1510
|
+
const gradient = tool.color ?? chunk7AM2SXEF_js.CATEGORY_COLORS[categoryKey] ?? chunk7AM2SXEF_js.CATEGORY_COLORS.external;
|
|
1511
|
+
const categoryPill = chunk7AM2SXEF_js.CATEGORY_PILL_COLORS[categoryKey] ?? chunk7AM2SXEF_js.CATEGORY_PILL_COLORS.external;
|
|
1512
|
+
const IconComponent = chunk7AM2SXEF_js.ICON_MAP[tool.icon ?? ""] ?? outline.ArrowPathRoundedSquareIcon;
|
|
1513
1513
|
const graph = latestGraphRef.current;
|
|
1514
1514
|
const startNode = graph.nodes.find((n) => n.type === "start");
|
|
1515
1515
|
const endNode = graph.nodes.find((n) => n.type === "end");
|
|
@@ -1542,7 +1542,7 @@ function SubworkflowModal({ onSaved, onMaximize }) {
|
|
|
1542
1542
|
] })
|
|
1543
1543
|
] });
|
|
1544
1544
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1545
|
-
|
|
1545
|
+
chunkMT66VKLS_js.GlassModal,
|
|
1546
1546
|
{
|
|
1547
1547
|
open,
|
|
1548
1548
|
onClose: closeModal,
|
|
@@ -1574,7 +1574,7 @@ function SubworkflowModal({ onSaved, onMaximize }) {
|
|
|
1574
1574
|
{
|
|
1575
1575
|
type: "button",
|
|
1576
1576
|
onClick: () => setCategory(cat),
|
|
1577
|
-
className: `rounded-full px-2 py-1 text-[9px] font-semibold transition-all ${cat === category ? `${
|
|
1577
|
+
className: `rounded-full px-2 py-1 text-[9px] font-semibold transition-all ${cat === category ? `${chunk7AM2SXEF_js.CATEGORY_PILL_COLORS[cat] ?? chunk7AM2SXEF_js.CATEGORY_PILL_COLORS.external} ring-1 ring-current/20` : "bg-white/30 text-gray-500 hover:bg-white/50 dark:bg-white/5 dark:text-gray-400"}`,
|
|
1578
1578
|
children: cat
|
|
1579
1579
|
},
|
|
1580
1580
|
cat
|
|
@@ -1661,7 +1661,7 @@ function SubworkflowModal({ onSaved, onMaximize }) {
|
|
|
1661
1661
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-auto" })
|
|
1662
1662
|
] }),
|
|
1663
1663
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-1", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1664
|
-
|
|
1664
|
+
chunk7AM2SXEF_js.WorkflowCanvas,
|
|
1665
1665
|
{
|
|
1666
1666
|
initialGraph,
|
|
1667
1667
|
agents: [],
|
|
@@ -1677,9 +1677,9 @@ function SubworkflowModal({ onSaved, onMaximize }) {
|
|
|
1677
1677
|
}
|
|
1678
1678
|
function PipelineSettingsModal({ onSave }) {
|
|
1679
1679
|
const t = chunkYXN2K77G_js.useTranslations("agents.workflow");
|
|
1680
|
-
const activeModal =
|
|
1681
|
-
const data =
|
|
1682
|
-
const closeModal =
|
|
1680
|
+
const activeModal = chunk7AM2SXEF_js.useModalStore((s) => s.activeModal);
|
|
1681
|
+
const data = chunk7AM2SXEF_js.useModalStore((s) => s.pipelineSettingsData);
|
|
1682
|
+
const closeModal = chunk7AM2SXEF_js.useModalStore((s) => s.closeModal);
|
|
1683
1683
|
const open = activeModal === "pipeline-settings";
|
|
1684
1684
|
const [nameValue, setNameValue] = react.useState("");
|
|
1685
1685
|
const [descriptionValue, setDescriptionValue] = react.useState("");
|
|
@@ -1756,7 +1756,7 @@ function PipelineSettingsModal({ onSave }) {
|
|
|
1756
1756
|
)
|
|
1757
1757
|
] });
|
|
1758
1758
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1759
|
-
|
|
1759
|
+
chunkMT66VKLS_js.GlassModal,
|
|
1760
1760
|
{
|
|
1761
1761
|
open,
|
|
1762
1762
|
onClose: closeModal,
|
|
@@ -1770,7 +1770,7 @@ function PipelineSettingsModal({ onSave }) {
|
|
|
1770
1770
|
onSubmit: handleSubmit,
|
|
1771
1771
|
children: /* @__PURE__ */ jsxRuntime.jsxs("form", { id: "pipeline-settings-form", onSubmit: handleSubmit, className: "space-y-5", children: [
|
|
1772
1772
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1773
|
-
|
|
1773
|
+
chunkMT66VKLS_js.FormInput,
|
|
1774
1774
|
{
|
|
1775
1775
|
label: t("pipelineName"),
|
|
1776
1776
|
value: nameValue,
|
|
@@ -1780,7 +1780,7 @@ function PipelineSettingsModal({ onSave }) {
|
|
|
1780
1780
|
}
|
|
1781
1781
|
),
|
|
1782
1782
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1783
|
-
|
|
1783
|
+
chunkMT66VKLS_js.FormTextarea,
|
|
1784
1784
|
{
|
|
1785
1785
|
label: t("pipelineDescription"),
|
|
1786
1786
|
value: descriptionValue,
|
|
@@ -1791,7 +1791,7 @@ function PipelineSettingsModal({ onSave }) {
|
|
|
1791
1791
|
),
|
|
1792
1792
|
lifecycleAvailable && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1793
1793
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1794
|
-
|
|
1794
|
+
chunkMT66VKLS_js.FormInput,
|
|
1795
1795
|
{
|
|
1796
1796
|
label: t("pipelineSlug", { _: "Slug" }),
|
|
1797
1797
|
value: slugValue,
|
|
@@ -1933,7 +1933,7 @@ function RunReplayModal({
|
|
|
1933
1933
|
] })
|
|
1934
1934
|
] });
|
|
1935
1935
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1936
|
-
|
|
1936
|
+
chunkMT66VKLS_js.GlassModal,
|
|
1937
1937
|
{
|
|
1938
1938
|
open,
|
|
1939
1939
|
onClose,
|
|
@@ -2007,7 +2007,7 @@ function RowEditor({
|
|
|
2007
2007
|
]
|
|
2008
2008
|
}
|
|
2009
2009
|
) : isJson ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
2010
|
-
|
|
2010
|
+
chunkMT66VKLS_js.FormTextarea,
|
|
2011
2011
|
{
|
|
2012
2012
|
value: row.value,
|
|
2013
2013
|
onValueChange: (v) => onChange({ value: v }),
|
|
@@ -2015,7 +2015,7 @@ function RowEditor({
|
|
|
2015
2015
|
className: "font-mono"
|
|
2016
2016
|
}
|
|
2017
2017
|
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
2018
|
-
|
|
2018
|
+
chunkMT66VKLS_js.FormInput,
|
|
2019
2019
|
{
|
|
2020
2020
|
type: row.kind === "number" ? "number" : "text",
|
|
2021
2021
|
value: row.value,
|
|
@@ -2319,7 +2319,7 @@ function RuleConditionBuilder({ value, onChange, depth = 0 }) {
|
|
|
2319
2319
|
};
|
|
2320
2320
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-3 rounded-xl border border-slate-200 bg-slate-50/60 p-3 dark:border-slate-700 dark:bg-slate-900/40", children: [
|
|
2321
2321
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2322
|
-
|
|
2322
|
+
chunkMT66VKLS_js.FormSelect,
|
|
2323
2323
|
{
|
|
2324
2324
|
label: "Operator",
|
|
2325
2325
|
value: value.operator,
|
|
@@ -2342,7 +2342,7 @@ function SimpleEditor({
|
|
|
2342
2342
|
const isTruthy = value.operator === "truthy";
|
|
2343
2343
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-1 gap-3 sm:grid-cols-2", children: [
|
|
2344
2344
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2345
|
-
|
|
2345
|
+
chunkMT66VKLS_js.FormInput,
|
|
2346
2346
|
{
|
|
2347
2347
|
label: "Field",
|
|
2348
2348
|
hint: "Dotted reference into the variable pool \u2014 e.g. `parse-pricing.margin`, `inputs.category`",
|
|
@@ -2352,7 +2352,7 @@ function SimpleEditor({
|
|
|
2352
2352
|
}
|
|
2353
2353
|
),
|
|
2354
2354
|
!isTruthy && /* @__PURE__ */ jsxRuntime.jsx(
|
|
2355
|
-
|
|
2355
|
+
chunkMT66VKLS_js.FormInput,
|
|
2356
2356
|
{
|
|
2357
2357
|
label: "Value",
|
|
2358
2358
|
hint: "Literal. Numeric operators coerce via `as f64`.",
|
|
@@ -2368,7 +2368,7 @@ function ThresholdEditor({
|
|
|
2368
2368
|
}) {
|
|
2369
2369
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-1 gap-3 sm:grid-cols-3", children: [
|
|
2370
2370
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2371
|
-
|
|
2371
|
+
chunkMT66VKLS_js.FormInput,
|
|
2372
2372
|
{
|
|
2373
2373
|
label: "Field",
|
|
2374
2374
|
value: value.field ?? "",
|
|
@@ -2377,7 +2377,7 @@ function ThresholdEditor({
|
|
|
2377
2377
|
}
|
|
2378
2378
|
),
|
|
2379
2379
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2380
|
-
|
|
2380
|
+
chunkMT66VKLS_js.FormSelect,
|
|
2381
2381
|
{
|
|
2382
2382
|
label: "Direction",
|
|
2383
2383
|
value: value.comparison ?? "gte",
|
|
@@ -2391,7 +2391,7 @@ function ThresholdEditor({
|
|
|
2391
2391
|
}
|
|
2392
2392
|
),
|
|
2393
2393
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2394
|
-
|
|
2394
|
+
chunkMT66VKLS_js.FormInput,
|
|
2395
2395
|
{
|
|
2396
2396
|
label: "Threshold",
|
|
2397
2397
|
type: "number",
|
|
@@ -2408,7 +2408,7 @@ function RegexEditor({
|
|
|
2408
2408
|
}) {
|
|
2409
2409
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-1 gap-3 sm:grid-cols-2", children: [
|
|
2410
2410
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2411
|
-
|
|
2411
|
+
chunkMT66VKLS_js.FormInput,
|
|
2412
2412
|
{
|
|
2413
2413
|
label: "Field",
|
|
2414
2414
|
value: value.field ?? "",
|
|
@@ -2417,7 +2417,7 @@ function RegexEditor({
|
|
|
2417
2417
|
}
|
|
2418
2418
|
),
|
|
2419
2419
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2420
|
-
|
|
2420
|
+
chunkMT66VKLS_js.FormInput,
|
|
2421
2421
|
{
|
|
2422
2422
|
label: "Pattern",
|
|
2423
2423
|
hint: "Rust regex syntax \u2014 `(?i)` etc. supported.",
|
|
@@ -2445,7 +2445,7 @@ function TimeWindowEditor({
|
|
|
2445
2445
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-3", children: [
|
|
2446
2446
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-1 gap-3 sm:grid-cols-2", children: [
|
|
2447
2447
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2448
|
-
|
|
2448
|
+
chunkMT66VKLS_js.FormSelect,
|
|
2449
2449
|
{
|
|
2450
2450
|
label: "Timezone",
|
|
2451
2451
|
value: value.timezone ?? "UTC",
|
|
@@ -2454,7 +2454,7 @@ function TimeWindowEditor({
|
|
|
2454
2454
|
}
|
|
2455
2455
|
),
|
|
2456
2456
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2457
|
-
|
|
2457
|
+
chunkMT66VKLS_js.FormInput,
|
|
2458
2458
|
{
|
|
2459
2459
|
label: "Timestamp field (optional)",
|
|
2460
2460
|
hint: "Pulls a timestamp from the pool. Leave blank to use the run's wall-clock.",
|
|
@@ -2467,7 +2467,7 @@ function TimeWindowEditor({
|
|
|
2467
2467
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2", children: [
|
|
2468
2468
|
windows.map((win, index) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-[1fr_1fr_auto] items-end gap-2 rounded-lg border border-slate-200 p-2 dark:border-slate-700", children: [
|
|
2469
2469
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2470
|
-
|
|
2470
|
+
chunkMT66VKLS_js.FormInput,
|
|
2471
2471
|
{
|
|
2472
2472
|
label: `Start (hour)`,
|
|
2473
2473
|
type: "number",
|
|
@@ -2478,7 +2478,7 @@ function TimeWindowEditor({
|
|
|
2478
2478
|
}
|
|
2479
2479
|
),
|
|
2480
2480
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2481
|
-
|
|
2481
|
+
chunkMT66VKLS_js.FormInput,
|
|
2482
2482
|
{
|
|
2483
2483
|
label: `End (hour)`,
|
|
2484
2484
|
type: "number",
|
|
@@ -2513,7 +2513,7 @@ function BooleanGroupEditor({
|
|
|
2513
2513
|
});
|
|
2514
2514
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-3", children: [
|
|
2515
2515
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2516
|
-
|
|
2516
|
+
chunkMT66VKLS_js.FormSelect,
|
|
2517
2517
|
{
|
|
2518
2518
|
label: "Combinator",
|
|
2519
2519
|
value: value.combinator ?? "and",
|
|
@@ -2569,7 +2569,7 @@ function RuleActionBuilder({ value, onChange }) {
|
|
|
2569
2569
|
};
|
|
2570
2570
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-3 rounded-xl border border-slate-200 bg-slate-50/60 p-3 dark:border-slate-700 dark:bg-slate-900/40", children: [
|
|
2571
2571
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2572
|
-
|
|
2572
|
+
chunkMT66VKLS_js.FormSelect,
|
|
2573
2573
|
{
|
|
2574
2574
|
label: "Action type",
|
|
2575
2575
|
value: type,
|
|
@@ -2579,7 +2579,7 @@ function RuleActionBuilder({ value, onChange }) {
|
|
|
2579
2579
|
),
|
|
2580
2580
|
type === "adjust_price" && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-1 gap-3 sm:grid-cols-2", children: [
|
|
2581
2581
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2582
|
-
|
|
2582
|
+
chunkMT66VKLS_js.FormInput,
|
|
2583
2583
|
{
|
|
2584
2584
|
label: "Multiplier",
|
|
2585
2585
|
type: "number",
|
|
@@ -2589,7 +2589,7 @@ function RuleActionBuilder({ value, onChange }) {
|
|
|
2589
2589
|
}
|
|
2590
2590
|
),
|
|
2591
2591
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2592
|
-
|
|
2592
|
+
chunkMT66VKLS_js.FormInput,
|
|
2593
2593
|
{
|
|
2594
2594
|
label: "Reason code",
|
|
2595
2595
|
value: stringParam(params.reason),
|
|
@@ -2599,7 +2599,7 @@ function RuleActionBuilder({ value, onChange }) {
|
|
|
2599
2599
|
)
|
|
2600
2600
|
] }),
|
|
2601
2601
|
type === "enforce_min_margin" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
2602
|
-
|
|
2602
|
+
chunkMT66VKLS_js.FormInput,
|
|
2603
2603
|
{
|
|
2604
2604
|
label: "Floor (fraction, e.g. 0.08)",
|
|
2605
2605
|
type: "number",
|
|
@@ -2609,7 +2609,7 @@ function RuleActionBuilder({ value, onChange }) {
|
|
|
2609
2609
|
}
|
|
2610
2610
|
),
|
|
2611
2611
|
type === "realign_to_competitor" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
2612
|
-
|
|
2612
|
+
chunkMT66VKLS_js.FormInput,
|
|
2613
2613
|
{
|
|
2614
2614
|
label: "Tolerance (fraction)",
|
|
2615
2615
|
type: "number",
|
|
@@ -2619,7 +2619,7 @@ function RuleActionBuilder({ value, onChange }) {
|
|
|
2619
2619
|
}
|
|
2620
2620
|
),
|
|
2621
2621
|
type === "request_manager_approval" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
2622
|
-
|
|
2622
|
+
chunkMT66VKLS_js.FormInput,
|
|
2623
2623
|
{
|
|
2624
2624
|
label: "Approval limit (fraction)",
|
|
2625
2625
|
type: "number",
|
|
@@ -2629,7 +2629,7 @@ function RuleActionBuilder({ value, onChange }) {
|
|
|
2629
2629
|
}
|
|
2630
2630
|
),
|
|
2631
2631
|
type === "round_to" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
2632
|
-
|
|
2632
|
+
chunkMT66VKLS_js.FormInput,
|
|
2633
2633
|
{
|
|
2634
2634
|
label: "Step (e.g. 0.009)",
|
|
2635
2635
|
type: "number",
|
|
@@ -2640,7 +2640,7 @@ function RuleActionBuilder({ value, onChange }) {
|
|
|
2640
2640
|
),
|
|
2641
2641
|
type === "alert" && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-1 gap-3 sm:grid-cols-2", children: [
|
|
2642
2642
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2643
|
-
|
|
2643
|
+
chunkMT66VKLS_js.FormInput,
|
|
2644
2644
|
{
|
|
2645
2645
|
label: "Channel",
|
|
2646
2646
|
value: stringParam(params.channel),
|
|
@@ -2649,7 +2649,7 @@ function RuleActionBuilder({ value, onChange }) {
|
|
|
2649
2649
|
}
|
|
2650
2650
|
),
|
|
2651
2651
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2652
|
-
|
|
2652
|
+
chunkMT66VKLS_js.FormInput,
|
|
2653
2653
|
{
|
|
2654
2654
|
label: "Severity",
|
|
2655
2655
|
value: stringParam(params.severity),
|
|
@@ -2687,7 +2687,7 @@ function CustomParamsEditor({
|
|
|
2687
2687
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2", children: [
|
|
2688
2688
|
entries.map(([key, value], index) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-[1fr_1fr_auto] items-end gap-2", children: [
|
|
2689
2689
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2690
|
-
|
|
2690
|
+
chunkMT66VKLS_js.FormInput,
|
|
2691
2691
|
{
|
|
2692
2692
|
label: "Key",
|
|
2693
2693
|
value: key,
|
|
@@ -2695,7 +2695,7 @@ function CustomParamsEditor({
|
|
|
2695
2695
|
}
|
|
2696
2696
|
),
|
|
2697
2697
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2698
|
-
|
|
2698
|
+
chunkMT66VKLS_js.FormInput,
|
|
2699
2699
|
{
|
|
2700
2700
|
label: "Value",
|
|
2701
2701
|
value: String(value ?? ""),
|
|
@@ -2734,9 +2734,9 @@ function RuleForm({ value, onChange }) {
|
|
|
2734
2734
|
);
|
|
2735
2735
|
const update = (key, v) => onChange({ ...value, [key]: v });
|
|
2736
2736
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-5", children: [
|
|
2737
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
2737
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkMT66VKLS_js.FormGrid, { children: [
|
|
2738
2738
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2739
|
-
|
|
2739
|
+
chunkMT66VKLS_js.FormInput,
|
|
2740
2740
|
{
|
|
2741
2741
|
label: "Name",
|
|
2742
2742
|
required: true,
|
|
@@ -2745,7 +2745,7 @@ function RuleForm({ value, onChange }) {
|
|
|
2745
2745
|
}
|
|
2746
2746
|
),
|
|
2747
2747
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2748
|
-
|
|
2748
|
+
chunkMT66VKLS_js.FormInput,
|
|
2749
2749
|
{
|
|
2750
2750
|
label: "Priority",
|
|
2751
2751
|
type: "number",
|
|
@@ -2755,7 +2755,7 @@ function RuleForm({ value, onChange }) {
|
|
|
2755
2755
|
}
|
|
2756
2756
|
),
|
|
2757
2757
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2758
|
-
|
|
2758
|
+
chunkMT66VKLS_js.FormSelect,
|
|
2759
2759
|
{
|
|
2760
2760
|
label: "Enabled",
|
|
2761
2761
|
value: value.enabled ? "true" : "false",
|
|
@@ -2767,7 +2767,7 @@ function RuleForm({ value, onChange }) {
|
|
|
2767
2767
|
}
|
|
2768
2768
|
),
|
|
2769
2769
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2770
|
-
|
|
2770
|
+
chunkMT66VKLS_js.FormTextarea,
|
|
2771
2771
|
{
|
|
2772
2772
|
label: "Description",
|
|
2773
2773
|
rows: 2,
|
|
@@ -2814,7 +2814,7 @@ function RuleForm({ value, onChange }) {
|
|
|
2814
2814
|
),
|
|
2815
2815
|
showAdvanced && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-3 grid grid-cols-1 gap-3 sm:grid-cols-2", children: [
|
|
2816
2816
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2817
|
-
|
|
2817
|
+
chunkMT66VKLS_js.FormInput,
|
|
2818
2818
|
{
|
|
2819
2819
|
label: "Valid from (ISO 8601)",
|
|
2820
2820
|
type: "datetime-local",
|
|
@@ -2823,7 +2823,7 @@ function RuleForm({ value, onChange }) {
|
|
|
2823
2823
|
}
|
|
2824
2824
|
),
|
|
2825
2825
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2826
|
-
|
|
2826
|
+
chunkMT66VKLS_js.FormInput,
|
|
2827
2827
|
{
|
|
2828
2828
|
label: "Valid until (ISO 8601)",
|
|
2829
2829
|
type: "datetime-local",
|
|
@@ -2832,7 +2832,7 @@ function RuleForm({ value, onChange }) {
|
|
|
2832
2832
|
}
|
|
2833
2833
|
),
|
|
2834
2834
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2835
|
-
|
|
2835
|
+
chunkMT66VKLS_js.FormSelect,
|
|
2836
2836
|
{
|
|
2837
2837
|
label: "Status",
|
|
2838
2838
|
value: value.status ?? "active",
|
|
@@ -2841,7 +2841,7 @@ function RuleForm({ value, onChange }) {
|
|
|
2841
2841
|
}
|
|
2842
2842
|
),
|
|
2843
2843
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2844
|
-
|
|
2844
|
+
chunkMT66VKLS_js.FormInput,
|
|
2845
2845
|
{
|
|
2846
2846
|
label: "Tags (comma-separated)",
|
|
2847
2847
|
value: (value.tags ?? []).join(", "),
|
|
@@ -3028,8 +3028,8 @@ function CollapsibleSection({ title, icon, colorClass, defaultOpen = true, count
|
|
|
3028
3028
|
] });
|
|
3029
3029
|
}
|
|
3030
3030
|
function LogicNodeItemCard({ item, translationFunction }) {
|
|
3031
|
-
const IconComponent =
|
|
3032
|
-
const gradient =
|
|
3031
|
+
const IconComponent = chunk7AM2SXEF_js.LOGIC_ICON_MAP[item.nodeType];
|
|
3032
|
+
const gradient = chunk7AM2SXEF_js.LOGIC_NODE_GRADIENTS[item.nodeType] ?? "from-gray-400 to-gray-500";
|
|
3033
3033
|
const defaultConfig = chunk72SWXOD5_js.createDefaultLogicNodeConfig(item.nodeType);
|
|
3034
3034
|
const configJson = defaultConfig ? JSON.stringify(defaultConfig) : void 0;
|
|
3035
3035
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -3100,7 +3100,7 @@ function NodePalette({ agents, tools, agentTools = [], rules, entities = [], mod
|
|
|
3100
3100
|
[entityTypes, normalizedQuery]
|
|
3101
3101
|
);
|
|
3102
3102
|
const filteredLogicItems = react.useMemo(() => {
|
|
3103
|
-
const visibleByDefault = LOGIC_NODE_ITEMS.filter((item) => !
|
|
3103
|
+
const visibleByDefault = LOGIC_NODE_ITEMS.filter((item) => !chunk7AM2SXEF_js.EXPERIMENTAL_NODE_TYPES.has(item.nodeType));
|
|
3104
3104
|
if (!normalizedQuery) return visibleByDefault;
|
|
3105
3105
|
return visibleByDefault.filter(
|
|
3106
3106
|
(item) => t(item.nameKey).toLowerCase().includes(normalizedQuery) || t(item.descriptionKey).toLowerCase().includes(normalizedQuery)
|
|
@@ -3236,7 +3236,7 @@ function NodePalette({ agents, tools, agentTools = [], rules, entities = [], mod
|
|
|
3236
3236
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "truncate text-[10px] text-gray-400 dark:text-gray-500", children: tool.category })
|
|
3237
3237
|
] }),
|
|
3238
3238
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3239
|
-
|
|
3239
|
+
chunkMT66VKLS_js.ToggleSwitch,
|
|
3240
3240
|
{
|
|
3241
3241
|
checked: Boolean(tool.enabled),
|
|
3242
3242
|
onChange: () => {
|
|
@@ -3277,7 +3277,7 @@ function NodePalette({ agents, tools, agentTools = [], rules, entities = [], mod
|
|
|
3277
3277
|
] })
|
|
3278
3278
|
] }),
|
|
3279
3279
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3280
|
-
|
|
3280
|
+
chunkMT66VKLS_js.ToggleSwitch,
|
|
3281
3281
|
{
|
|
3282
3282
|
checked: Boolean(rule.enabled),
|
|
3283
3283
|
onChange: () => {
|
|
@@ -3313,8 +3313,8 @@ function NodePalette({ agents, tools, agentTools = [], rules, entities = [], mod
|
|
|
3313
3313
|
limit: entity.defaultLimit
|
|
3314
3314
|
});
|
|
3315
3315
|
const dsLogo = getDatasourceLogo(entity.id);
|
|
3316
|
-
const EntityIcon =
|
|
3317
|
-
const entityGradient =
|
|
3316
|
+
const EntityIcon = chunk7AM2SXEF_js.getEntityIcon(entity.id);
|
|
3317
|
+
const entityGradient = chunk7AM2SXEF_js.getEntityGradient(entity.id);
|
|
3318
3318
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3319
3319
|
"div",
|
|
3320
3320
|
{
|
|
@@ -3334,7 +3334,7 @@ function NodePalette({ agents, tools, agentTools = [], rules, entities = [], mod
|
|
|
3334
3334
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
3335
3335
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "rounded-full bg-slate-100 px-1.5 py-0.5 text-[9px] font-medium text-slate-600 dark:bg-white/10 dark:text-slate-300", children: "Read only" }),
|
|
3336
3336
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3337
|
-
|
|
3337
|
+
chunkMT66VKLS_js.ToggleSwitch,
|
|
3338
3338
|
{
|
|
3339
3339
|
checked: true,
|
|
3340
3340
|
onChange: () => {
|
|
@@ -3669,9 +3669,9 @@ function formatDuration2(durationMs) {
|
|
|
3669
3669
|
}
|
|
3670
3670
|
function RunPanel({ open, onClose, onRun, onStop }) {
|
|
3671
3671
|
const translations = chunkYXN2K77G_js.useTranslations("agents.workflow.runPanel");
|
|
3672
|
-
const nodes =
|
|
3673
|
-
const isRunning =
|
|
3674
|
-
const nodeResults =
|
|
3672
|
+
const nodes = chunk7AM2SXEF_js.useWorkflowStore((state) => state.nodes);
|
|
3673
|
+
const isRunning = chunk7AM2SXEF_js.useWorkflowStore((state) => state.isRunning);
|
|
3674
|
+
const nodeResults = chunk7AM2SXEF_js.useWorkflowStore((state) => state.nodeResults);
|
|
3675
3675
|
const startNode = nodes.find((node) => node.type === "start");
|
|
3676
3676
|
const hasEndNode = nodes.some((node) => node.type === "end");
|
|
3677
3677
|
const hasValidStartConfig = Boolean(
|
|
@@ -4002,8 +4002,8 @@ function inferVariables(config, nodeType) {
|
|
|
4002
4002
|
}
|
|
4003
4003
|
function VariableInspector({ open, onClose }) {
|
|
4004
4004
|
const translations = chunkYXN2K77G_js.useTranslations("agents.workflow.variableInspector");
|
|
4005
|
-
const nodes =
|
|
4006
|
-
const edges =
|
|
4005
|
+
const nodes = chunk7AM2SXEF_js.useWorkflowStore((state) => state.nodes);
|
|
4006
|
+
const edges = chunk7AM2SXEF_js.useWorkflowStore((state) => state.edges);
|
|
4007
4007
|
const [expandedNodes, setExpandedNodes] = react.useState(/* @__PURE__ */ new Set());
|
|
4008
4008
|
const toggleNodeExpansion = react.useCallback((nodeId) => {
|
|
4009
4009
|
setExpandedNodes((current) => {
|
|
@@ -4065,8 +4065,8 @@ function VariableInspector({ open, onClose }) {
|
|
|
4065
4065
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-2 text-sm text-gray-500 dark:text-gray-400", children: translations("noNodes") })
|
|
4066
4066
|
] }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "divide-y divide-gray-100 dark:divide-gray-800", children: nodeVariableEntries.map((entry) => {
|
|
4067
4067
|
const isExpanded = expandedNodes.has(entry.nodeId);
|
|
4068
|
-
const IconComponent =
|
|
4069
|
-
const gradient =
|
|
4068
|
+
const IconComponent = chunk7AM2SXEF_js.LOGIC_ICON_MAP[entry.nodeType];
|
|
4069
|
+
const gradient = chunk7AM2SXEF_js.LOGIC_NODE_GRADIENTS[entry.nodeType] ?? "from-gray-400 to-gray-500";
|
|
4070
4070
|
const inputVariables = entry.variables.filter((variable) => variable.direction === "input");
|
|
4071
4071
|
const outputVariables = entry.variables.filter((variable) => variable.direction === "output");
|
|
4072
4072
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { "data-testid": `variable-node-${entry.nodeId}`, children: [
|
|
@@ -4132,7 +4132,7 @@ function RunInputDialog({
|
|
|
4132
4132
|
onRun
|
|
4133
4133
|
}) {
|
|
4134
4134
|
const t = chunkYXN2K77G_js.useTranslations("agents.workflow.runInputDialog");
|
|
4135
|
-
const nodes =
|
|
4135
|
+
const nodes = chunk7AM2SXEF_js.useWorkflowStore((state) => state.nodes);
|
|
4136
4136
|
const [values, setValues] = react.useState({});
|
|
4137
4137
|
const inputVariableNames = react.useMemo(() => {
|
|
4138
4138
|
const storeStartNode = nodes.find((node) => node.type === "start");
|
|
@@ -4159,7 +4159,7 @@ function RunInputDialog({
|
|
|
4159
4159
|
}, [onClose]);
|
|
4160
4160
|
if (!open) return null;
|
|
4161
4161
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
4162
|
-
|
|
4162
|
+
chunkMT66VKLS_js.GlassModal,
|
|
4163
4163
|
{
|
|
4164
4164
|
open,
|
|
4165
4165
|
onClose: handleClose,
|
|
@@ -4170,7 +4170,7 @@ function RunInputDialog({
|
|
|
4170
4170
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-3", children: inputVariableNames.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-center text-sm text-gray-500 dark:text-gray-400", children: t("noInputs") }) : inputVariableNames.map((variableName) => /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
4171
4171
|
/* @__PURE__ */ jsxRuntime.jsx("label", { className: "mb-1 block text-xs font-medium text-gray-700 dark:text-gray-300", children: variableName }),
|
|
4172
4172
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4173
|
-
|
|
4173
|
+
chunkMT66VKLS_js.Input,
|
|
4174
4174
|
{
|
|
4175
4175
|
value: values[variableName] ?? "",
|
|
4176
4176
|
onChange: (event) => handleValueChange(variableName, event.target.value),
|
|
@@ -4213,8 +4213,8 @@ function PreviewPanel({ open, onClose, workflowId, loadRuns }) {
|
|
|
4213
4213
|
const [isLoadingRuns, setIsLoadingRuns] = react.useState(false);
|
|
4214
4214
|
const [selectedRun, setSelectedRun] = react.useState(null);
|
|
4215
4215
|
const [selectedNode, setSelectedNode] = react.useState(null);
|
|
4216
|
-
const isRunning =
|
|
4217
|
-
const nodeResults =
|
|
4216
|
+
const isRunning = chunk7AM2SXEF_js.useWorkflowStore((state) => state.isRunning);
|
|
4217
|
+
const nodeResults = chunk7AM2SXEF_js.useWorkflowStore((state) => state.nodeResults);
|
|
4218
4218
|
const refreshRuns = react.useCallback(async () => {
|
|
4219
4219
|
setIsLoadingRuns(true);
|
|
4220
4220
|
try {
|
|
@@ -4392,7 +4392,7 @@ var AutoSaveWorkspace = react.memo(function AutoSaveWorkspace2({
|
|
|
4392
4392
|
onAutoSaveGraph(graph);
|
|
4393
4393
|
}, [onAutoSaveGraph, onGraphSnapshot]);
|
|
4394
4394
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
4395
|
-
|
|
4395
|
+
chunk7AM2SXEF_js.Workspace,
|
|
4396
4396
|
{
|
|
4397
4397
|
...workspaceProps,
|
|
4398
4398
|
onGraphChange: handleGraphChange
|
|
@@ -4400,7 +4400,7 @@ var AutoSaveWorkspace = react.memo(function AutoSaveWorkspace2({
|
|
|
4400
4400
|
);
|
|
4401
4401
|
});
|
|
4402
4402
|
function DynamicIslandConfirm2(props) {
|
|
4403
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
4403
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkMT66VKLS_js.DynamicIslandConfirm, { ...props });
|
|
4404
4404
|
}
|
|
4405
4405
|
var JSON_PREVIEW_LINE_LIMIT = 50;
|
|
4406
4406
|
function DslExportModal({ open, onClose, workflow, graph }) {
|
|
@@ -4454,7 +4454,7 @@ function DslExportModal({ open, onClose, workflow, graph }) {
|
|
|
4454
4454
|
}, [jsonString, workflow.name, workflow.version]);
|
|
4455
4455
|
if (!open) return null;
|
|
4456
4456
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
4457
|
-
|
|
4457
|
+
chunkMT66VKLS_js.GlassModal,
|
|
4458
4458
|
{
|
|
4459
4459
|
open,
|
|
4460
4460
|
onClose,
|
|
@@ -4672,7 +4672,7 @@ function DslImportModal({ open, onClose, onImport }) {
|
|
|
4672
4672
|
}, []);
|
|
4673
4673
|
if (!open) return null;
|
|
4674
4674
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
4675
|
-
|
|
4675
|
+
chunkMT66VKLS_js.GlassModal,
|
|
4676
4676
|
{
|
|
4677
4677
|
open,
|
|
4678
4678
|
onClose,
|
|
@@ -4763,14 +4763,14 @@ function DslImportModal({ open, onClose, onImport }) {
|
|
|
4763
4763
|
}
|
|
4764
4764
|
|
|
4765
4765
|
// src/astrlabe/store/selectors.ts
|
|
4766
|
-
var useCanUndo = () =>
|
|
4767
|
-
var useCanRedo = () =>
|
|
4768
|
-
var useHasCopied = () =>
|
|
4769
|
-
var useContextMenu = () =>
|
|
4770
|
-
var useEditingNodeId = () =>
|
|
4771
|
-
var useSelectedNodeCount = () =>
|
|
4772
|
-
var useIsRunning = () =>
|
|
4773
|
-
var useNodeResults = () =>
|
|
4766
|
+
var useCanUndo = () => chunk7AM2SXEF_js.useWorkflowStore((state) => state.past.length > 0);
|
|
4767
|
+
var useCanRedo = () => chunk7AM2SXEF_js.useWorkflowStore((state) => state.future.length > 0);
|
|
4768
|
+
var useHasCopied = () => chunk7AM2SXEF_js.useWorkflowStore((state) => state.clipboard !== null);
|
|
4769
|
+
var useContextMenu = () => chunk7AM2SXEF_js.useWorkflowStore((state) => state.contextMenu);
|
|
4770
|
+
var useEditingNodeId = () => chunk7AM2SXEF_js.useWorkflowStore((state) => state.editingNodeId);
|
|
4771
|
+
var useSelectedNodeCount = () => chunk7AM2SXEF_js.useWorkflowStore((state) => state.nodes.filter((node) => node.selected).length);
|
|
4772
|
+
var useIsRunning = () => chunk7AM2SXEF_js.useWorkflowStore((state) => state.isRunning);
|
|
4773
|
+
var useNodeResults = () => chunk7AM2SXEF_js.useWorkflowStore((state) => state.nodeResults);
|
|
4774
4774
|
var DEFAULT_MAX_HISTORY = 50;
|
|
4775
4775
|
function useUndoRedo(nodes, edges, setNodes, setEdges, maxHistory = DEFAULT_MAX_HISTORY) {
|
|
4776
4776
|
const pastRef = react.useRef([]);
|
|
@@ -5094,5 +5094,5 @@ exports.useNodeResults = useNodeResults;
|
|
|
5094
5094
|
exports.useSelectedNodeCount = useSelectedNodeCount;
|
|
5095
5095
|
exports.useSubworkflowStore = useSubworkflowStore;
|
|
5096
5096
|
exports.useUndoRedo = useUndoRedo;
|
|
5097
|
-
//# sourceMappingURL=chunk-
|
|
5098
|
-
//# sourceMappingURL=chunk-
|
|
5097
|
+
//# sourceMappingURL=chunk-U6VFS3RD.js.map
|
|
5098
|
+
//# sourceMappingURL=chunk-U6VFS3RD.js.map
|