@datatechsolutions/ui 2.11.92 → 3.1.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/README.md +39 -58
- package/dist/astrlabe/contracts.d.mts +17 -6
- package/dist/astrlabe/contracts.d.ts +17 -6
- package/dist/astrlabe/index.d.mts +9 -3
- package/dist/astrlabe/index.d.ts +9 -3
- package/dist/astrlabe/index.js +120 -116
- package/dist/astrlabe/index.mjs +6 -6
- package/dist/astrlabe/utils.d.mts +1 -1
- package/dist/astrlabe/utils.d.ts +1 -1
- package/dist/astrlabe/utils.js +9 -9
- package/dist/astrlabe/utils.mjs +2 -2
- package/dist/astrlabe/workflow-canvas.d.mts +1 -1
- package/dist/astrlabe/workflow-canvas.d.ts +1 -1
- package/dist/astrlabe/workflow-canvas.js +5 -5
- package/dist/astrlabe/workflow-canvas.mjs +4 -4
- package/dist/brand/index.d.mts +1 -15
- package/dist/brand/index.d.ts +1 -15
- package/dist/brand/index.js +0 -14
- package/dist/brand/index.js.map +1 -1
- package/dist/brand/index.mjs +0 -14
- package/dist/brand/index.mjs.map +1 -1
- package/dist/{chunk-24QKSC74.js → chunk-3JJWPOK6.js} +6 -6
- package/dist/{chunk-24QKSC74.js.map → chunk-3JJWPOK6.js.map} +1 -1
- package/dist/{chunk-HGN5W56D.mjs → chunk-3ZUMJTDT.mjs} +3 -3
- package/dist/{chunk-HGN5W56D.mjs.map → chunk-3ZUMJTDT.mjs.map} +1 -1
- package/dist/{chunk-LKJZGFM4.mjs → chunk-5GDKCFM5.mjs} +3 -3
- package/dist/{chunk-LKJZGFM4.mjs.map → chunk-5GDKCFM5.mjs.map} +1 -1
- package/dist/{chunk-ZHUPYX4Q.mjs → chunk-5RM6NGZ6.mjs} +3 -3
- package/dist/{chunk-ZHUPYX4Q.mjs.map → chunk-5RM6NGZ6.mjs.map} +1 -1
- package/dist/{chunk-WNCPAWLC.mjs → chunk-5W7L7BT7.mjs} +13 -2
- package/dist/chunk-5W7L7BT7.mjs.map +1 -0
- package/dist/{chunk-DB64YDV2.js → chunk-AOUUZ52N.js} +55 -55
- package/dist/{chunk-DB64YDV2.js.map → chunk-AOUUZ52N.js.map} +1 -1
- package/dist/{chunk-VGSWSQQU.mjs → chunk-B67DP7MI.mjs} +4 -4
- package/dist/{chunk-VGSWSQQU.mjs.map → chunk-B67DP7MI.mjs.map} +1 -1
- package/dist/{chunk-C7BI5LQ6.js → chunk-C3H4FM4A.js} +13 -2
- package/dist/chunk-C3H4FM4A.js.map +1 -0
- package/dist/{chunk-XXYDLYIT.js → chunk-EFOXN3LC.js} +288 -171
- package/dist/chunk-EFOXN3LC.js.map +1 -0
- package/dist/{chunk-ARVLVWUC.js → chunk-F54Q2YJY.js} +97 -15
- package/dist/chunk-F54Q2YJY.js.map +1 -0
- package/dist/{chunk-WI663467.mjs → chunk-H2D2CRTD.mjs} +8 -8
- package/dist/{chunk-WI663467.mjs.map → chunk-H2D2CRTD.mjs.map} +1 -1
- package/dist/{chunk-PTGPQJZJ.js → chunk-HDCUWUNH.js} +15 -15
- package/dist/{chunk-PTGPQJZJ.js.map → chunk-HDCUWUNH.js.map} +1 -1
- package/dist/{chunk-ZKUYNCAG.js → chunk-I2NZGVBG.js} +1595 -2140
- package/dist/chunk-I2NZGVBG.js.map +1 -0
- package/dist/{chunk-MLAXYDEU.mjs → chunk-IRPS5UCS.mjs} +3 -3
- package/dist/{chunk-MLAXYDEU.mjs.map → chunk-IRPS5UCS.mjs.map} +1 -1
- package/dist/{chunk-3SUFSAP6.mjs → chunk-IRT4T3CU.mjs} +214 -105
- package/dist/chunk-IRT4T3CU.mjs.map +1 -0
- package/dist/{chunk-A3BFURJB.mjs → chunk-JN6IL6OH.mjs} +1595 -2138
- package/dist/chunk-JN6IL6OH.mjs.map +1 -0
- package/dist/{chunk-NA57KK4O.js → chunk-JSNRCYSO.js} +4 -4
- package/dist/{chunk-NA57KK4O.js.map → chunk-JSNRCYSO.js.map} +1 -1
- package/dist/{chunk-XSBZNPUO.js → chunk-KR2X2WHJ.js} +53 -53
- package/dist/{chunk-XSBZNPUO.js.map → chunk-KR2X2WHJ.js.map} +1 -1
- package/dist/{chunk-YEWXDCCI.mjs → chunk-LEKZUS6N.mjs} +4 -4
- package/dist/{chunk-YEWXDCCI.mjs.map → chunk-LEKZUS6N.mjs.map} +1 -1
- package/dist/{chunk-6NAZVG2O.mjs → chunk-MVBIAXVN.mjs} +4 -4
- package/dist/{chunk-6NAZVG2O.mjs.map → chunk-MVBIAXVN.mjs.map} +1 -1
- package/dist/{chunk-5UU3RQRB.js → chunk-NJS2YC3J.js} +15 -2
- package/dist/chunk-NJS2YC3J.js.map +1 -0
- package/dist/{chunk-4TY55HGO.mjs → chunk-OL73LBX5.mjs} +3 -3
- package/dist/{chunk-4TY55HGO.mjs.map → chunk-OL73LBX5.mjs.map} +1 -1
- package/dist/{chunk-3PKG4KFY.mjs → chunk-QYA53LUF.mjs} +67 -10
- package/dist/chunk-QYA53LUF.mjs.map +1 -0
- package/dist/{chunk-DWFLIXES.mjs → chunk-R4TQWXNG.mjs} +3 -3
- package/dist/{chunk-DWFLIXES.mjs.map → chunk-R4TQWXNG.mjs.map} +1 -1
- package/dist/{chunk-DADFESAQ.js → chunk-RGI74SQH.js} +4 -4
- package/dist/{chunk-DADFESAQ.js.map → chunk-RGI74SQH.js.map} +1 -1
- package/dist/{chunk-SFVSDGNF.js → chunk-RL35XATZ.js} +192 -134
- package/dist/chunk-RL35XATZ.js.map +1 -0
- package/dist/{chunk-BUI7BCUN.js → chunk-RXZNACMI.js} +33 -33
- package/dist/{chunk-BUI7BCUN.js.map → chunk-RXZNACMI.js.map} +1 -1
- package/dist/{chunk-TBPWMPZU.js → chunk-SU3YPWFW.js} +26 -26
- package/dist/{chunk-TBPWMPZU.js.map → chunk-SU3YPWFW.js.map} +1 -1
- package/dist/{chunk-DIMLLLZR.js → chunk-TIJJHW2Z.js} +36 -36
- package/dist/{chunk-DIMLLLZR.js.map → chunk-TIJJHW2Z.js.map} +1 -1
- package/dist/{chunk-2RDGJXYZ.js → chunk-TVMLV675.js} +67 -67
- package/dist/{chunk-2RDGJXYZ.js.map → chunk-TVMLV675.js.map} +1 -1
- package/dist/{chunk-53SRKVKQ.mjs → chunk-U7XM3N7F.mjs} +15 -2
- package/dist/chunk-U7XM3N7F.mjs.map +1 -0
- package/dist/{chunk-Y3WJAYOY.mjs → chunk-UDDZTTLO.mjs} +6 -6
- package/dist/chunk-UDDZTTLO.mjs.map +1 -0
- package/dist/{chunk-43GCSCQA.js → chunk-W5OEBO6E.js} +12 -12
- package/dist/chunk-W5OEBO6E.js.map +1 -0
- package/dist/{chunk-FUVJHNNI.js → chunk-Y6AEE56Q.js} +69 -69
- package/dist/{chunk-FUVJHNNI.js.map → chunk-Y6AEE56Q.js.map} +1 -1
- package/dist/{chunk-MZAS6TG4.mjs → chunk-YIB2YAM5.mjs} +3 -3
- package/dist/{chunk-MZAS6TG4.mjs.map → chunk-YIB2YAM5.mjs.map} +1 -1
- package/dist/{chunk-RELMVNNR.mjs → chunk-YV72JM4B.mjs} +4 -4
- package/dist/{chunk-RELMVNNR.mjs.map → chunk-YV72JM4B.mjs.map} +1 -1
- package/dist/{chunk-MEEFOZC4.js → chunk-ZM5MVWIT.js} +4 -4
- package/dist/{chunk-MEEFOZC4.js.map → chunk-ZM5MVWIT.js.map} +1 -1
- package/dist/{chunk-PU2KTO4O.mjs → chunk-ZV5EZXXO.mjs} +97 -15
- package/dist/chunk-ZV5EZXXO.mjs.map +1 -0
- package/dist/{index-AioB90qq.d.mts → index-CoB18TbG.d.ts} +9 -2
- package/dist/{index-D5ai0cGZ.d.ts → index-VI9gyJXl.d.mts} +9 -2
- package/dist/index.d.mts +8 -41
- package/dist/index.d.ts +8 -41
- package/dist/index.js +745 -753
- 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 +9 -9
- package/dist/platform/agents-workspace.mjs +8 -8
- 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 +101 -101
- package/dist/platform/index.js.map +1 -1
- package/dist/platform/index.mjs +21 -21
- package/dist/platform/index.mjs.map +1 -1
- package/dist/platform/pages/index.d.mts +5 -6
- package/dist/platform/pages/index.d.ts +5 -6
- package/dist/platform/pages/index.js +199 -199
- package/dist/platform/pages/index.js.map +1 -1
- package/dist/platform/pages/index.mjs +11 -11
- 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/telemetry/index.d.mts +42 -0
- package/dist/platform/telemetry/index.d.ts +42 -0
- package/dist/platform/telemetry/index.js +75 -0
- package/dist/platform/telemetry/index.js.map +1 -0
- package/dist/platform/telemetry/index.mjs +68 -0
- package/dist/platform/telemetry/index.mjs.map +1 -0
- package/dist/platform/workflow-api-client.d.mts +2 -2
- package/dist/platform/workflow-api-client.d.ts +2 -2
- package/dist/platform/workflow-api-client.js +61 -61
- package/dist/platform/workflow-api-client.mjs +1 -1
- package/dist/platform/workflow-canvas-shell.js +6 -6
- package/dist/platform/workflow-canvas-shell.mjs +5 -5
- package/dist/{workflow-api-client-zVtc8FIl.d.ts → workflow-api-client-BKD8OfP_.d.ts} +62 -31
- package/dist/{workflow-api-client-wLoap-tt.d.mts → workflow-api-client-DoYj7nHz.d.mts} +62 -31
- package/package.json +7 -1
- package/dist/chunk-3PKG4KFY.mjs.map +0 -1
- package/dist/chunk-3SUFSAP6.mjs.map +0 -1
- package/dist/chunk-43GCSCQA.js.map +0 -1
- package/dist/chunk-53SRKVKQ.mjs.map +0 -1
- package/dist/chunk-5UU3RQRB.js.map +0 -1
- package/dist/chunk-A3BFURJB.mjs.map +0 -1
- package/dist/chunk-ARVLVWUC.js.map +0 -1
- package/dist/chunk-C7BI5LQ6.js.map +0 -1
- package/dist/chunk-PU2KTO4O.mjs.map +0 -1
- package/dist/chunk-SFVSDGNF.js.map +0 -1
- package/dist/chunk-WNCPAWLC.mjs.map +0 -1
- package/dist/chunk-XXYDLYIT.js.map +0 -1
- package/dist/chunk-Y3WJAYOY.mjs.map +0 -1
- package/dist/chunk-ZKUYNCAG.js.map +0 -1
- package/src/brand/logos/fuel-icon.svg +0 -32
- package/src/brand/logos/fuel-logo-dark.svg +0 -43
- package/src/brand/logos/fuel-logo.svg +0 -43
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
|
-
var
|
|
4
|
+
var chunkI2NZGVBG_js = require('./chunk-I2NZGVBG.js');
|
|
5
5
|
var chunkYXN2K77G_js = require('./chunk-YXN2K77G.js');
|
|
6
|
+
var chunkF54Q2YJY_js = require('./chunk-F54Q2YJY.js');
|
|
6
7
|
var chunkP4YYEM4B_js = require('./chunk-P4YYEM4B.js');
|
|
7
|
-
var
|
|
8
|
+
var chunkC3H4FM4A_js = require('./chunk-C3H4FM4A.js');
|
|
8
9
|
var react = require('react');
|
|
9
10
|
var react$1 = require('@xyflow/react');
|
|
10
11
|
require('@xyflow/react/dist/style.css');
|
|
@@ -355,6 +356,7 @@ var LOGIC_NODE_GRADIENTS = {
|
|
|
355
356
|
if_else: "from-amber-400 to-orange-500",
|
|
356
357
|
code: "from-cyan-400 to-sky-500",
|
|
357
358
|
http_request: "from-orange-400 to-amber-500",
|
|
359
|
+
s3_write: "from-cyan-400 to-cyan-500",
|
|
358
360
|
template_transform: "from-pink-400 to-rose-500",
|
|
359
361
|
iteration: "from-indigo-400 to-violet-500",
|
|
360
362
|
knowledge_base: "from-emerald-400 to-teal-500",
|
|
@@ -379,6 +381,7 @@ var LOGIC_NODE_BADGE_COLORS = {
|
|
|
379
381
|
if_else: "bg-amber-100 text-amber-700 dark:bg-amber-500/20 dark:text-amber-300",
|
|
380
382
|
code: "bg-cyan-100 text-cyan-700 dark:bg-cyan-500/20 dark:text-cyan-300",
|
|
381
383
|
http_request: "bg-orange-100 text-orange-700 dark:bg-orange-500/20 dark:text-orange-300",
|
|
384
|
+
s3_write: "bg-cyan-100 text-cyan-700 dark:bg-cyan-500/20 dark:text-cyan-300",
|
|
382
385
|
template_transform: "bg-pink-100 text-pink-700 dark:bg-pink-500/20 dark:text-pink-300",
|
|
383
386
|
iteration: "bg-indigo-100 text-indigo-700 dark:bg-indigo-500/20 dark:text-indigo-300",
|
|
384
387
|
knowledge_base: "bg-emerald-100 text-emerald-700 dark:bg-emerald-500/20 dark:text-emerald-300",
|
|
@@ -403,6 +406,7 @@ var LOGIC_NODE_BADGE_SOFT_COLORS = {
|
|
|
403
406
|
if_else: "bg-amber-50 text-amber-600 dark:bg-amber-500/20 dark:text-amber-400",
|
|
404
407
|
code: "bg-cyan-50 text-cyan-600 dark:bg-cyan-500/20 dark:text-cyan-400",
|
|
405
408
|
http_request: "bg-orange-50 text-orange-600 dark:bg-orange-500/20 dark:text-orange-400",
|
|
409
|
+
s3_write: "bg-cyan-50 text-cyan-600 dark:bg-cyan-500/20 dark:text-cyan-400",
|
|
406
410
|
template_transform: "bg-pink-50 text-pink-600 dark:bg-pink-500/20 dark:text-pink-400",
|
|
407
411
|
iteration: "bg-indigo-50 text-indigo-600 dark:bg-indigo-500/20 dark:text-indigo-400",
|
|
408
412
|
knowledge_base: "bg-emerald-50 text-emerald-600 dark:bg-emerald-500/20 dark:text-emerald-400",
|
|
@@ -427,6 +431,7 @@ var LOGIC_ICON_MAP = {
|
|
|
427
431
|
if_else: outline.ArrowsPointingOutIcon,
|
|
428
432
|
code: outline.CodeBracketIcon,
|
|
429
433
|
http_request: outline.GlobeAltIcon,
|
|
434
|
+
s3_write: outline.CloudArrowUpIcon,
|
|
430
435
|
template_transform: outline.DocumentTextIcon,
|
|
431
436
|
iteration: outline.ArrowPathIcon,
|
|
432
437
|
knowledge_base: outline.BookOpenIcon,
|
|
@@ -465,6 +470,7 @@ var NODE_BORDER_COLORS = {
|
|
|
465
470
|
if_else: "border-amber-300/50 dark:border-amber-600/50",
|
|
466
471
|
code: "border-cyan-300/50 dark:border-cyan-600/50",
|
|
467
472
|
http_request: "border-orange-300/50 dark:border-orange-600/50",
|
|
473
|
+
s3_write: "border-cyan-300/50 dark:border-cyan-600/50",
|
|
468
474
|
template_transform: "border-pink-300/50 dark:border-pink-600/50",
|
|
469
475
|
iteration: "border-indigo-300/50 dark:border-indigo-600/50",
|
|
470
476
|
iteration_start: "border-indigo-300/50 dark:border-indigo-600/50",
|
|
@@ -495,6 +501,7 @@ var MINIMAP_NODE_COLORS = {
|
|
|
495
501
|
if_else: "#f59e0b",
|
|
496
502
|
code: "#06b6d4",
|
|
497
503
|
http_request: "#f97316",
|
|
504
|
+
s3_write: "#06b6d4",
|
|
498
505
|
template_transform: "#ec4899",
|
|
499
506
|
iteration: "#818cf8",
|
|
500
507
|
knowledge_base: "#10b981",
|
|
@@ -536,6 +543,7 @@ var LOGIC_NODE_HANDLE_COLORS = {
|
|
|
536
543
|
if_else: "!bg-amber-500",
|
|
537
544
|
code: "!bg-cyan-500",
|
|
538
545
|
http_request: "!bg-orange-500",
|
|
546
|
+
s3_write: "!bg-cyan-500",
|
|
539
547
|
template_transform: "!bg-pink-500",
|
|
540
548
|
iteration: "!bg-indigo-500",
|
|
541
549
|
knowledge_base: "!bg-emerald-500",
|
|
@@ -1147,12 +1155,11 @@ var ENTITY_ICON_MAP = {
|
|
|
1147
1155
|
stations: outline.BuildingStorefrontIcon,
|
|
1148
1156
|
users: outline.UsersIcon,
|
|
1149
1157
|
competitors: outline.ShoppingBagIcon,
|
|
1150
|
-
fuels: outline.FireIcon,
|
|
1151
1158
|
approvals: outline.ClipboardDocumentCheckIcon,
|
|
1152
1159
|
rules: outline.ShieldCheckIcon,
|
|
1153
1160
|
current_prices: outline.CurrencyDollarIcon,
|
|
1154
1161
|
competitor_prices: outline.ChartBarSquareIcon,
|
|
1155
|
-
|
|
1162
|
+
product_metrics: outline.ChartPieIcon,
|
|
1156
1163
|
station_metrics: outline.PresentationChartBarIcon,
|
|
1157
1164
|
entities: outline.CircleStackIcon
|
|
1158
1165
|
};
|
|
@@ -1685,7 +1692,7 @@ function DatasourceNodeConfigForm({
|
|
|
1685
1692
|
}
|
|
1686
1693
|
const logo = getDatasourceLogo(selectedDatasourceId, selectedDatasource?.dialect);
|
|
1687
1694
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1688
|
-
|
|
1695
|
+
chunkI2NZGVBG_js.GlassModal,
|
|
1689
1696
|
{
|
|
1690
1697
|
open,
|
|
1691
1698
|
onClose: onCancel,
|
|
@@ -1700,8 +1707,8 @@ function DatasourceNodeConfigForm({
|
|
|
1700
1707
|
onSectionChange: setActiveSectionId
|
|
1701
1708
|
},
|
|
1702
1709
|
footer: readOnly ? void 0 : /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex justify-end gap-2 px-6 py-3", children: [
|
|
1703
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1704
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1710
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_js.Button, { outline: true, onClick: onCancel, children: t("cancel") }),
|
|
1711
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_js.Button, { color: "cyan", onClick: handleSave, disabled: !canSave, children: t("save") })
|
|
1705
1712
|
] }),
|
|
1706
1713
|
children: renderSection()
|
|
1707
1714
|
}
|
|
@@ -2099,7 +2106,7 @@ var AgentFlowNode = react.memo(function AgentFlowNode2({ id, data, selected }) {
|
|
|
2099
2106
|
/* @__PURE__ */ jsxRuntime.jsx(NodeCardMeta, { compact: isCompact, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap items-center gap-1.5", children: [
|
|
2100
2107
|
/* @__PURE__ */ jsxRuntime.jsx(NodeCardBadge, { className: "rounded-full bg-indigo-100 px-2 py-0.5 text-[10px] font-semibold text-indigo-700 dark:bg-indigo-500/20 dark:text-indigo-300", children: "Agent" }),
|
|
2101
2108
|
(() => {
|
|
2102
|
-
const tier =
|
|
2109
|
+
const tier = chunkC3H4FM4A_js.getAgentTier(Number(data.agent.elo ?? 0));
|
|
2103
2110
|
return /* @__PURE__ */ jsxRuntime.jsx(NodeCardBadge, { className: `rounded-full px-2 py-0.5 text-[10px] font-bold ${tier.pillColor}`, children: tier.key });
|
|
2104
2111
|
})(),
|
|
2105
2112
|
/* @__PURE__ */ jsxRuntime.jsxs(NodeCardBadge, { className: `inline-flex items-center gap-1 rounded-full px-2 py-0.5 text-[10px] font-medium ${frameworkMeta.badgeColor}`, children: [
|
|
@@ -2208,7 +2215,7 @@ var AgentToolFlowNode = react.memo(function AgentToolFlowNode2({ id, data, selec
|
|
|
2208
2215
|
event.stopPropagation();
|
|
2209
2216
|
},
|
|
2210
2217
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2211
|
-
|
|
2218
|
+
chunkI2NZGVBG_js.ToggleSwitch,
|
|
2212
2219
|
{
|
|
2213
2220
|
checked: Boolean(agentTool.enabled),
|
|
2214
2221
|
onChange: () => data.onToggle?.(agentTool),
|
|
@@ -2316,7 +2323,7 @@ var ToolFlowNode = react.memo(function ToolFlowNode2({ id, data, selected }) {
|
|
|
2316
2323
|
event.preventDefault();
|
|
2317
2324
|
},
|
|
2318
2325
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2319
|
-
|
|
2326
|
+
chunkI2NZGVBG_js.ToggleSwitch,
|
|
2320
2327
|
{
|
|
2321
2328
|
checked: Boolean(tool.enabled),
|
|
2322
2329
|
onChange: () => onToggle(tool),
|
|
@@ -2468,7 +2475,7 @@ var RuleFlowNode = react.memo(function RuleFlowNode2({ id, data, selected }) {
|
|
|
2468
2475
|
event.preventDefault();
|
|
2469
2476
|
},
|
|
2470
2477
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2471
|
-
|
|
2478
|
+
chunkI2NZGVBG_js.ToggleSwitch,
|
|
2472
2479
|
{
|
|
2473
2480
|
checked: Boolean(rule.enabled),
|
|
2474
2481
|
onChange: () => onToggle(rule),
|
|
@@ -2488,9 +2495,9 @@ var RuleFlowNode = react.memo(function RuleFlowNode2({ id, data, selected }) {
|
|
|
2488
2495
|
"P",
|
|
2489
2496
|
String(rule.priority ?? "")
|
|
2490
2497
|
] }),
|
|
2491
|
-
Array.isArray(rule.condition?.
|
|
2492
|
-
rule.condition.
|
|
2493
|
-
"
|
|
2498
|
+
Array.isArray(rule.condition?.categories) && rule.condition.categories.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-[10px] text-gray-400 dark:text-gray-500", children: [
|
|
2499
|
+
rule.condition.categories.length,
|
|
2500
|
+
" categories"
|
|
2494
2501
|
] })
|
|
2495
2502
|
] }),
|
|
2496
2503
|
onRemoveFromCanvas && /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -3468,7 +3475,7 @@ var DatasourceFlowNode = react.memo(function DatasourceFlowNode2({ id, data, sel
|
|
|
3468
3475
|
event.preventDefault();
|
|
3469
3476
|
},
|
|
3470
3477
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
3471
|
-
|
|
3478
|
+
chunkI2NZGVBG_js.ToggleSwitch,
|
|
3472
3479
|
{
|
|
3473
3480
|
checked: true,
|
|
3474
3481
|
onChange: () => {
|
|
@@ -3796,8 +3803,8 @@ function ConfigFormActions({
|
|
|
3796
3803
|
saveDisabled = false
|
|
3797
3804
|
}) {
|
|
3798
3805
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex justify-end gap-2 border-t border-gray-200 pt-4 dark:border-gray-700", children: [
|
|
3799
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3800
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3806
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_js.Button, { type: "button", outline: true, onClick: onCancel, children: cancelLabel }),
|
|
3807
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_js.Button, { type: "button", onClick: onSave, disabled: saveDisabled, children: saveLabel })
|
|
3801
3808
|
] });
|
|
3802
3809
|
}
|
|
3803
3810
|
var COLOR_CLASSES = {
|
|
@@ -4044,7 +4051,7 @@ function IfElseNodeConfigForm({ config, onSave, onCancel }) {
|
|
|
4044
4051
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-3 flex items-center justify-between", children: [
|
|
4045
4052
|
/* @__PURE__ */ jsxRuntime.jsx("label", { className: "text-sm font-medium text-gray-700 dark:text-gray-300", children: t("conditionsLabel") }),
|
|
4046
4053
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4047
|
-
|
|
4054
|
+
chunkI2NZGVBG_js.Button,
|
|
4048
4055
|
{
|
|
4049
4056
|
type: "button",
|
|
4050
4057
|
onClick: handleAddCondition,
|
|
@@ -4055,7 +4062,7 @@ function IfElseNodeConfigForm({ config, onSave, onCancel }) {
|
|
|
4055
4062
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-3", children: conditions.map((condition, index) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start gap-2 rounded-lg border border-gray-200 bg-gray-50 p-3 dark:border-gray-700 dark:bg-gray-800/50", children: [
|
|
4056
4063
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid flex-1 grid-cols-3 gap-2", children: [
|
|
4057
4064
|
/* @__PURE__ */ jsxRuntime.jsx("div", { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
4058
|
-
|
|
4065
|
+
chunkI2NZGVBG_js.FormInput,
|
|
4059
4066
|
{
|
|
4060
4067
|
type: "text",
|
|
4061
4068
|
label: t("variableLabel"),
|
|
@@ -4066,7 +4073,7 @@ function IfElseNodeConfigForm({ config, onSave, onCancel }) {
|
|
|
4066
4073
|
}
|
|
4067
4074
|
) }),
|
|
4068
4075
|
/* @__PURE__ */ jsxRuntime.jsx("div", { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
4069
|
-
|
|
4076
|
+
chunkI2NZGVBG_js.FormSelect,
|
|
4070
4077
|
{
|
|
4071
4078
|
label: t("operatorLabel"),
|
|
4072
4079
|
value: condition.operator,
|
|
@@ -4076,7 +4083,7 @@ function IfElseNodeConfigForm({ config, onSave, onCancel }) {
|
|
|
4076
4083
|
}
|
|
4077
4084
|
) }),
|
|
4078
4085
|
/* @__PURE__ */ jsxRuntime.jsx("div", { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
4079
|
-
|
|
4086
|
+
chunkI2NZGVBG_js.FormInput,
|
|
4080
4087
|
{
|
|
4081
4088
|
type: "text",
|
|
4082
4089
|
label: t("valueLabel"),
|
|
@@ -4088,7 +4095,7 @@ function IfElseNodeConfigForm({ config, onSave, onCancel }) {
|
|
|
4088
4095
|
) })
|
|
4089
4096
|
] }),
|
|
4090
4097
|
conditions.length > 1 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
4091
|
-
|
|
4098
|
+
chunkI2NZGVBG_js.IconButton,
|
|
4092
4099
|
{
|
|
4093
4100
|
onClick: () => handleRemoveCondition(index),
|
|
4094
4101
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.TrashIcon, { className: "h-4 w-4" }),
|
|
@@ -4460,7 +4467,7 @@ function HttpRequestNodeConfigForm({ config, onSave, onCancel }) {
|
|
|
4460
4467
|
};
|
|
4461
4468
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
4462
4469
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4463
|
-
|
|
4470
|
+
chunkI2NZGVBG_js.FormSelect,
|
|
4464
4471
|
{
|
|
4465
4472
|
label: t("methodLabel"),
|
|
4466
4473
|
value: method,
|
|
@@ -4469,7 +4476,7 @@ function HttpRequestNodeConfigForm({ config, onSave, onCancel }) {
|
|
|
4469
4476
|
}
|
|
4470
4477
|
),
|
|
4471
4478
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4472
|
-
|
|
4479
|
+
chunkI2NZGVBG_js.FormInput,
|
|
4473
4480
|
{
|
|
4474
4481
|
type: "text",
|
|
4475
4482
|
label: t("urlLabel"),
|
|
@@ -4482,7 +4489,7 @@ function HttpRequestNodeConfigForm({ config, onSave, onCancel }) {
|
|
|
4482
4489
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-2 flex items-center justify-between", children: [
|
|
4483
4490
|
/* @__PURE__ */ jsxRuntime.jsx("label", { className: "text-sm font-medium text-gray-700 dark:text-gray-300", children: t("headersLabel") }),
|
|
4484
4491
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4485
|
-
|
|
4492
|
+
chunkI2NZGVBG_js.Button,
|
|
4486
4493
|
{
|
|
4487
4494
|
type: "button",
|
|
4488
4495
|
onClick: handleAddHeader,
|
|
@@ -4492,7 +4499,7 @@ function HttpRequestNodeConfigForm({ config, onSave, onCancel }) {
|
|
|
4492
4499
|
] }),
|
|
4493
4500
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-2", children: headerEntries.map((entry, index) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
4494
4501
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4495
|
-
|
|
4502
|
+
chunkI2NZGVBG_js.FormInput,
|
|
4496
4503
|
{
|
|
4497
4504
|
type: "text",
|
|
4498
4505
|
value: entry.key,
|
|
@@ -4502,7 +4509,7 @@ function HttpRequestNodeConfigForm({ config, onSave, onCancel }) {
|
|
|
4502
4509
|
}
|
|
4503
4510
|
),
|
|
4504
4511
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4505
|
-
|
|
4512
|
+
chunkI2NZGVBG_js.FormInput,
|
|
4506
4513
|
{
|
|
4507
4514
|
type: "text",
|
|
4508
4515
|
value: entry.value,
|
|
@@ -4512,7 +4519,7 @@ function HttpRequestNodeConfigForm({ config, onSave, onCancel }) {
|
|
|
4512
4519
|
}
|
|
4513
4520
|
),
|
|
4514
4521
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4515
|
-
|
|
4522
|
+
chunkI2NZGVBG_js.IconButton,
|
|
4516
4523
|
{
|
|
4517
4524
|
onClick: () => handleRemoveHeader(index),
|
|
4518
4525
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.TrashIcon, { className: "h-4 w-4" }),
|
|
@@ -4524,7 +4531,7 @@ function HttpRequestNodeConfigForm({ config, onSave, onCancel }) {
|
|
|
4524
4531
|
] }, index)) })
|
|
4525
4532
|
] }),
|
|
4526
4533
|
method !== "GET" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
4527
|
-
|
|
4534
|
+
chunkI2NZGVBG_js.FormTextarea,
|
|
4528
4535
|
{
|
|
4529
4536
|
label: t("bodyLabel"),
|
|
4530
4537
|
value: body,
|
|
@@ -4535,7 +4542,7 @@ function HttpRequestNodeConfigForm({ config, onSave, onCancel }) {
|
|
|
4535
4542
|
}
|
|
4536
4543
|
),
|
|
4537
4544
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4538
|
-
|
|
4545
|
+
chunkI2NZGVBG_js.FormInput,
|
|
4539
4546
|
{
|
|
4540
4547
|
type: "number",
|
|
4541
4548
|
label: t("timeoutLabel"),
|
|
@@ -4547,7 +4554,7 @@ function HttpRequestNodeConfigForm({ config, onSave, onCancel }) {
|
|
|
4547
4554
|
}
|
|
4548
4555
|
),
|
|
4549
4556
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4550
|
-
|
|
4557
|
+
chunkI2NZGVBG_js.FormSelect,
|
|
4551
4558
|
{
|
|
4552
4559
|
label: t("parseResponseLabel"),
|
|
4553
4560
|
value: parseResponse,
|
|
@@ -4569,6 +4576,112 @@ function HttpRequestNodeConfigForm({ config, onSave, onCancel }) {
|
|
|
4569
4576
|
)
|
|
4570
4577
|
] });
|
|
4571
4578
|
}
|
|
4579
|
+
function S3WriteNodeConfigForm({ config, onSave, onCancel }) {
|
|
4580
|
+
const t = chunkYXN2K77G_js.useTranslations("agents.workflow.s3WriteNodeConfig");
|
|
4581
|
+
const [bucket, setBucket] = react.useState(config.bucket ?? "");
|
|
4582
|
+
const [key, setKey] = react.useState(config.key ?? "");
|
|
4583
|
+
const [sourceUrl, setSourceUrl] = react.useState(config.sourceUrl ?? "");
|
|
4584
|
+
const [body, setBody] = react.useState(config.body ?? "");
|
|
4585
|
+
const [contentType, setContentType] = react.useState(config.contentType ?? "");
|
|
4586
|
+
const [timeoutMs, setTimeoutMs] = react.useState(config.timeoutMs ?? 3e5);
|
|
4587
|
+
const [connectionId, setConnectionId] = react.useState(config.connectionId ?? "");
|
|
4588
|
+
const handleSave = () => {
|
|
4589
|
+
onSave({
|
|
4590
|
+
...config,
|
|
4591
|
+
bucket,
|
|
4592
|
+
key,
|
|
4593
|
+
sourceUrl,
|
|
4594
|
+
body,
|
|
4595
|
+
contentType,
|
|
4596
|
+
timeoutMs,
|
|
4597
|
+
connectionId
|
|
4598
|
+
});
|
|
4599
|
+
};
|
|
4600
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
4601
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4602
|
+
chunkI2NZGVBG_js.FormInput,
|
|
4603
|
+
{
|
|
4604
|
+
type: "text",
|
|
4605
|
+
label: t("bucketLabel"),
|
|
4606
|
+
value: bucket,
|
|
4607
|
+
onValueChange: setBucket,
|
|
4608
|
+
placeholder: t("bucketPlaceholder")
|
|
4609
|
+
}
|
|
4610
|
+
),
|
|
4611
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4612
|
+
chunkI2NZGVBG_js.FormInput,
|
|
4613
|
+
{
|
|
4614
|
+
type: "text",
|
|
4615
|
+
label: t("keyLabel"),
|
|
4616
|
+
value: key,
|
|
4617
|
+
onValueChange: setKey,
|
|
4618
|
+
placeholder: t("keyPlaceholder")
|
|
4619
|
+
}
|
|
4620
|
+
),
|
|
4621
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "rounded-lg border border-cyan-200/40 bg-cyan-50/40 px-3 py-2 text-[11px] text-cyan-900 dark:border-cyan-500/30 dark:bg-cyan-500/10 dark:text-cyan-100", children: t("sourceOrBodyHint") }),
|
|
4622
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4623
|
+
chunkI2NZGVBG_js.FormInput,
|
|
4624
|
+
{
|
|
4625
|
+
type: "text",
|
|
4626
|
+
label: t("sourceUrlLabel"),
|
|
4627
|
+
value: sourceUrl,
|
|
4628
|
+
onValueChange: setSourceUrl,
|
|
4629
|
+
placeholder: t("sourceUrlPlaceholder")
|
|
4630
|
+
}
|
|
4631
|
+
),
|
|
4632
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4633
|
+
chunkI2NZGVBG_js.FormTextarea,
|
|
4634
|
+
{
|
|
4635
|
+
label: t("bodyLabel"),
|
|
4636
|
+
value: body,
|
|
4637
|
+
onValueChange: setBody,
|
|
4638
|
+
placeholder: t("bodyPlaceholder"),
|
|
4639
|
+
rows: 5,
|
|
4640
|
+
className: "font-mono text-xs"
|
|
4641
|
+
}
|
|
4642
|
+
),
|
|
4643
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4644
|
+
chunkI2NZGVBG_js.FormInput,
|
|
4645
|
+
{
|
|
4646
|
+
type: "text",
|
|
4647
|
+
label: t("contentTypeLabel"),
|
|
4648
|
+
value: contentType,
|
|
4649
|
+
onValueChange: setContentType,
|
|
4650
|
+
placeholder: "application/json"
|
|
4651
|
+
}
|
|
4652
|
+
),
|
|
4653
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4654
|
+
chunkI2NZGVBG_js.FormInput,
|
|
4655
|
+
{
|
|
4656
|
+
type: "number",
|
|
4657
|
+
label: t("timeoutLabel"),
|
|
4658
|
+
value: String(timeoutMs),
|
|
4659
|
+
onValueChange: (value) => setTimeoutMs(Number(value)),
|
|
4660
|
+
min: 1e3,
|
|
4661
|
+
step: 1e3
|
|
4662
|
+
}
|
|
4663
|
+
),
|
|
4664
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4665
|
+
chunkI2NZGVBG_js.FormInput,
|
|
4666
|
+
{
|
|
4667
|
+
type: "text",
|
|
4668
|
+
label: t("connectionIdLabel"),
|
|
4669
|
+
value: connectionId,
|
|
4670
|
+
onValueChange: setConnectionId,
|
|
4671
|
+
placeholder: t("connectionIdHelp")
|
|
4672
|
+
}
|
|
4673
|
+
),
|
|
4674
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4675
|
+
ConfigFormActions,
|
|
4676
|
+
{
|
|
4677
|
+
cancelLabel: t("cancel"),
|
|
4678
|
+
saveLabel: t("save"),
|
|
4679
|
+
onCancel,
|
|
4680
|
+
onSave: handleSave
|
|
4681
|
+
}
|
|
4682
|
+
)
|
|
4683
|
+
] });
|
|
4684
|
+
}
|
|
4572
4685
|
function TemplateTransformNodeConfigForm({ config, onSave, onCancel }) {
|
|
4573
4686
|
const t = chunkYXN2K77G_js.useTranslations("agents.workflow.templateTransformNodeConfig");
|
|
4574
4687
|
const [template, setTemplate] = react.useState(config.template);
|
|
@@ -4578,7 +4691,7 @@ function TemplateTransformNodeConfigForm({ config, onSave, onCancel }) {
|
|
|
4578
4691
|
};
|
|
4579
4692
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
4580
4693
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4581
|
-
|
|
4694
|
+
chunkI2NZGVBG_js.FormTextarea,
|
|
4582
4695
|
{
|
|
4583
4696
|
label: t("templateLabel"),
|
|
4584
4697
|
value: template,
|
|
@@ -4589,7 +4702,7 @@ function TemplateTransformNodeConfigForm({ config, onSave, onCancel }) {
|
|
|
4589
4702
|
}
|
|
4590
4703
|
),
|
|
4591
4704
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4592
|
-
|
|
4705
|
+
chunkI2NZGVBG_js.FormInput,
|
|
4593
4706
|
{
|
|
4594
4707
|
type: "text",
|
|
4595
4708
|
label: t("outputVariableLabel"),
|
|
@@ -4618,7 +4731,7 @@ function IterationNodeConfigForm({ config, onSave, onCancel }) {
|
|
|
4618
4731
|
};
|
|
4619
4732
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
4620
4733
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4621
|
-
|
|
4734
|
+
chunkI2NZGVBG_js.FormInput,
|
|
4622
4735
|
{
|
|
4623
4736
|
type: "text",
|
|
4624
4737
|
label: t("iteratorVariableLabel"),
|
|
@@ -4628,7 +4741,7 @@ function IterationNodeConfigForm({ config, onSave, onCancel }) {
|
|
|
4628
4741
|
}
|
|
4629
4742
|
),
|
|
4630
4743
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4631
|
-
|
|
4744
|
+
chunkI2NZGVBG_js.FormInput,
|
|
4632
4745
|
{
|
|
4633
4746
|
type: "number",
|
|
4634
4747
|
label: t("maxIterationsLabel"),
|
|
@@ -4659,7 +4772,7 @@ function KnowledgeBaseNodeConfigForm({ config, onSave, onCancel }) {
|
|
|
4659
4772
|
};
|
|
4660
4773
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
4661
4774
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4662
|
-
|
|
4775
|
+
chunkI2NZGVBG_js.FormInput,
|
|
4663
4776
|
{
|
|
4664
4777
|
type: "text",
|
|
4665
4778
|
label: t("sourceIdLabel"),
|
|
@@ -4669,7 +4782,7 @@ function KnowledgeBaseNodeConfigForm({ config, onSave, onCancel }) {
|
|
|
4669
4782
|
}
|
|
4670
4783
|
),
|
|
4671
4784
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4672
|
-
|
|
4785
|
+
chunkI2NZGVBG_js.FormInput,
|
|
4673
4786
|
{
|
|
4674
4787
|
type: "number",
|
|
4675
4788
|
label: t("topKLabel"),
|
|
@@ -4680,7 +4793,7 @@ function KnowledgeBaseNodeConfigForm({ config, onSave, onCancel }) {
|
|
|
4680
4793
|
}
|
|
4681
4794
|
),
|
|
4682
4795
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4683
|
-
|
|
4796
|
+
chunkI2NZGVBG_js.FormInput,
|
|
4684
4797
|
{
|
|
4685
4798
|
type: "number",
|
|
4686
4799
|
label: t("similarityThresholdLabel"),
|
|
@@ -4711,7 +4824,7 @@ function AnswerNodeConfigForm({ config, onSave, onCancel }) {
|
|
|
4711
4824
|
};
|
|
4712
4825
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
4713
4826
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4714
|
-
|
|
4827
|
+
chunkI2NZGVBG_js.FormTextarea,
|
|
4715
4828
|
{
|
|
4716
4829
|
label: t("outputTemplateLabel"),
|
|
4717
4830
|
hint: t("outputTemplateHelp"),
|
|
@@ -5145,7 +5258,7 @@ function VariableAggregatorNodeConfigForm({ config, onSave, onCancel }) {
|
|
|
5145
5258
|
}
|
|
5146
5259
|
),
|
|
5147
5260
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5148
|
-
|
|
5261
|
+
chunkI2NZGVBG_js.FormInput,
|
|
5149
5262
|
{
|
|
5150
5263
|
type: "text",
|
|
5151
5264
|
label: t("outputVariableLabel"),
|
|
@@ -5155,7 +5268,7 @@ function VariableAggregatorNodeConfigForm({ config, onSave, onCancel }) {
|
|
|
5155
5268
|
}
|
|
5156
5269
|
),
|
|
5157
5270
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5158
|
-
|
|
5271
|
+
chunkI2NZGVBG_js.FormSelect,
|
|
5159
5272
|
{
|
|
5160
5273
|
label: t("aggregationModeLabel"),
|
|
5161
5274
|
value: aggregationMode,
|
|
@@ -5188,7 +5301,7 @@ function DocumentExtractorNodeConfigForm({ config, onSave, onCancel }) {
|
|
|
5188
5301
|
};
|
|
5189
5302
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
5190
5303
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5191
|
-
|
|
5304
|
+
chunkI2NZGVBG_js.FormSelect,
|
|
5192
5305
|
{
|
|
5193
5306
|
label: t("extractionModeLabel"),
|
|
5194
5307
|
value: extractionMode,
|
|
@@ -5197,7 +5310,7 @@ function DocumentExtractorNodeConfigForm({ config, onSave, onCancel }) {
|
|
|
5197
5310
|
}
|
|
5198
5311
|
),
|
|
5199
5312
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5200
|
-
|
|
5313
|
+
chunkI2NZGVBG_js.FormInput,
|
|
5201
5314
|
{
|
|
5202
5315
|
type: "text",
|
|
5203
5316
|
label: t("outputVariableLabel"),
|
|
@@ -5374,7 +5487,7 @@ function IterationStartNodeConfigForm({ config, onSave, onCancel }) {
|
|
|
5374
5487
|
};
|
|
5375
5488
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
5376
5489
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5377
|
-
|
|
5490
|
+
chunkI2NZGVBG_js.FormInput,
|
|
5378
5491
|
{
|
|
5379
5492
|
type: "text",
|
|
5380
5493
|
label: t("iteratorVariableLabel"),
|
|
@@ -5384,7 +5497,7 @@ function IterationStartNodeConfigForm({ config, onSave, onCancel }) {
|
|
|
5384
5497
|
}
|
|
5385
5498
|
),
|
|
5386
5499
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5387
|
-
|
|
5500
|
+
chunkI2NZGVBG_js.FormInput,
|
|
5388
5501
|
{
|
|
5389
5502
|
type: "text",
|
|
5390
5503
|
label: t("itemVariableLabel"),
|
|
@@ -5394,7 +5507,7 @@ function IterationStartNodeConfigForm({ config, onSave, onCancel }) {
|
|
|
5394
5507
|
}
|
|
5395
5508
|
),
|
|
5396
5509
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5397
|
-
|
|
5510
|
+
chunkI2NZGVBG_js.FormInput,
|
|
5398
5511
|
{
|
|
5399
5512
|
type: "text",
|
|
5400
5513
|
label: t("indexVariableLabel"),
|
|
@@ -5666,7 +5779,7 @@ function GroupNodeConfigForm({ config, onSave, onCancel }) {
|
|
|
5666
5779
|
};
|
|
5667
5780
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
5668
5781
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5669
|
-
|
|
5782
|
+
chunkI2NZGVBG_js.FormInput,
|
|
5670
5783
|
{
|
|
5671
5784
|
type: "text",
|
|
5672
5785
|
label: translations("labelField"),
|
|
@@ -5676,7 +5789,7 @@ function GroupNodeConfigForm({ config, onSave, onCancel }) {
|
|
|
5676
5789
|
}
|
|
5677
5790
|
),
|
|
5678
5791
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5679
|
-
|
|
5792
|
+
chunkI2NZGVBG_js.FormTextarea,
|
|
5680
5793
|
{
|
|
5681
5794
|
label: translations("descriptionField"),
|
|
5682
5795
|
value: description,
|
|
@@ -5710,100 +5823,70 @@ function GroupNodeConfigForm({ config, onSave, onCancel }) {
|
|
|
5710
5823
|
)
|
|
5711
5824
|
] });
|
|
5712
5825
|
}
|
|
5713
|
-
var
|
|
5714
|
-
|
|
5715
|
-
|
|
5716
|
-
|
|
5717
|
-
|
|
5718
|
-
|
|
5719
|
-
|
|
5720
|
-
|
|
5721
|
-
|
|
5722
|
-
|
|
5723
|
-
|
|
5724
|
-
|
|
5725
|
-
var
|
|
5726
|
-
aws_bedrock: [
|
|
5727
|
-
{ value: "us-east-1", label: "US East (N. Virginia)" },
|
|
5728
|
-
{ value: "us-west-2", label: "US West (Oregon)" },
|
|
5729
|
-
{ value: "eu-west-1", label: "Europe (Ireland)" },
|
|
5730
|
-
{ value: "eu-central-1", label: "Europe (Frankfurt)" },
|
|
5731
|
-
{ value: "ap-northeast-1", label: "Asia Pacific (Tokyo)" },
|
|
5732
|
-
{ value: "ap-southeast-1", label: "Asia Pacific (Singapore)" },
|
|
5733
|
-
{ value: "ap-south-1", label: "Asia Pacific (Mumbai)" },
|
|
5734
|
-
{ value: "sa-east-1", label: "South America (S\xE3o Paulo)" },
|
|
5735
|
-
{ value: "ca-central-1", label: "Canada (Central)" }
|
|
5736
|
-
],
|
|
5737
|
-
google_vertex: [
|
|
5738
|
-
{ value: "us-central1", label: "US Central (Iowa)" },
|
|
5739
|
-
{ value: "us-east4", label: "US East (Virginia)" },
|
|
5740
|
-
{ value: "europe-west4", label: "Europe West (Netherlands)" },
|
|
5741
|
-
{ value: "europe-west1", label: "Europe West (Belgium)" },
|
|
5742
|
-
{ value: "asia-northeast1", label: "Asia NE (Tokyo)" },
|
|
5743
|
-
{ value: "asia-southeast1", label: "Asia SE (Singapore)" },
|
|
5744
|
-
{ value: "southamerica-east1", label: "South America (S\xE3o Paulo)" }
|
|
5745
|
-
],
|
|
5746
|
-
azure_openai: [
|
|
5747
|
-
{ value: "eastus", label: "East US" },
|
|
5748
|
-
{ value: "eastus2", label: "East US 2" },
|
|
5749
|
-
{ value: "westeurope", label: "West Europe" },
|
|
5750
|
-
{ value: "swedencentral", label: "Sweden Central" },
|
|
5751
|
-
{ value: "japaneast", label: "Japan East" },
|
|
5752
|
-
{ value: "australiaeast", label: "Australia East" },
|
|
5753
|
-
{ value: "canadaeast", label: "Canada East" },
|
|
5754
|
-
{ value: "uksouth", label: "UK South" }
|
|
5755
|
-
]
|
|
5756
|
-
};
|
|
5757
|
-
var MODEL_FAMILIES = {
|
|
5758
|
-
aws_bedrock: [
|
|
5759
|
-
{ id: "claude", label: "Anthropic Claude", models: ["anthropic.claude-haiku-4-5-v1:0", "anthropic.claude-sonnet-4-6-v1:0", "anthropic.claude-opus-4-6-v1:0"] },
|
|
5760
|
-
{ id: "nova", label: "Amazon Nova", models: ["amazon.nova-lite-v1:0", "amazon.nova-pro-v1:0"] },
|
|
5761
|
-
{ id: "llama", label: "Meta Llama", models: ["meta.llama3-3-70b-instruct-v1:0"] },
|
|
5762
|
-
{ id: "mistral-bedrock", label: "Mistral AI", models: ["mistral.mistral-large-2411-v1:0"] }
|
|
5763
|
-
],
|
|
5764
|
-
openai_api: [
|
|
5765
|
-
{ id: "gpt5", label: "GPT-5 Family", models: ["openai.gpt-5-v1:0", "openai.gpt-5-mini-v1:0"] }
|
|
5766
|
-
],
|
|
5767
|
-
google_vertex: [
|
|
5768
|
-
{ id: "gemini", label: "Gemini Family", models: ["google.gemini-3-flash-v1:0", "google.gemini-3-1-pro-v1:0"] }
|
|
5769
|
-
],
|
|
5770
|
-
anthropic_api: [
|
|
5771
|
-
{ id: "claude-direct", label: "Claude Family", models: ["anthropic.claude-haiku-4-5-v1:0", "anthropic.claude-sonnet-4-6-v1:0", "anthropic.claude-opus-4-6-v1:0"] }
|
|
5772
|
-
],
|
|
5773
|
-
groq: [
|
|
5774
|
-
{ id: "groq-llama", label: "Llama (Groq)", models: ["meta.llama3-3-70b-instruct-v1:0"] },
|
|
5775
|
-
{ id: "groq-mixtral", label: "Mixtral (Groq)", models: ["mistral.mixtral-8x7b-v1:0"] }
|
|
5776
|
-
],
|
|
5777
|
-
mistral: [
|
|
5778
|
-
{ id: "mistral-large", label: "Mistral Large", models: ["mistral.mistral-large-2411-v1:0"] },
|
|
5779
|
-
{ id: "mistral-small", label: "Mistral Small", models: ["mistral.mistral-small-v1:0"] }
|
|
5780
|
-
]
|
|
5781
|
-
};
|
|
5826
|
+
var catalogCache = null;
|
|
5827
|
+
var catalogPromise = null;
|
|
5828
|
+
async function loadCatalog() {
|
|
5829
|
+
if (catalogCache) return catalogCache;
|
|
5830
|
+
if (!catalogPromise) {
|
|
5831
|
+
catalogPromise = chunkF54Q2YJY_js.listModelProviderCatalog().then((rows) => {
|
|
5832
|
+
catalogCache = rows;
|
|
5833
|
+
return rows;
|
|
5834
|
+
});
|
|
5835
|
+
}
|
|
5836
|
+
return catalogPromise;
|
|
5837
|
+
}
|
|
5838
|
+
var ENDPOINT_SLUGS = /* @__PURE__ */ new Set(["custom", "azure_openai", "ollama"]);
|
|
5782
5839
|
function ModelProviderNodeConfigForm({ config, onSave, onCancel }) {
|
|
5783
5840
|
const t = chunkYXN2K77G_js.useTranslations("agents.workflow.modelProviderNodeConfig");
|
|
5841
|
+
const [catalog, setCatalog] = react.useState(catalogCache);
|
|
5842
|
+
const [catalogError, setCatalogError] = react.useState(null);
|
|
5784
5843
|
const [providerType, setProviderType] = react.useState(config.providerType);
|
|
5785
5844
|
const [name, setName] = react.useState(config.name ?? "");
|
|
5786
5845
|
const [region, setRegion] = react.useState(config.region ?? "");
|
|
5787
5846
|
const [endpoint, setEndpoint] = react.useState(config.endpoint ?? "");
|
|
5788
5847
|
const [credentialRef, setCredentialRef] = react.useState(config.credentialRef ?? "");
|
|
5789
5848
|
const [apiKeyRef, setApiKeyRef] = react.useState(config.apiKeyRef ?? "");
|
|
5790
|
-
const [selectedFamilies, setSelectedFamilies] = react.useState(()
|
|
5791
|
-
|
|
5792
|
-
|
|
5793
|
-
|
|
5794
|
-
|
|
5795
|
-
if (
|
|
5796
|
-
|
|
5797
|
-
|
|
5798
|
-
|
|
5799
|
-
|
|
5800
|
-
|
|
5801
|
-
|
|
5802
|
-
|
|
5849
|
+
const [selectedFamilies, setSelectedFamilies] = react.useState(/* @__PURE__ */ new Set());
|
|
5850
|
+
react.useEffect(() => {
|
|
5851
|
+
let cancelled = false;
|
|
5852
|
+
if (catalog) return;
|
|
5853
|
+
void loadCatalog().then((rows) => {
|
|
5854
|
+
if (cancelled) return;
|
|
5855
|
+
setCatalog(rows);
|
|
5856
|
+
}).catch((error) => {
|
|
5857
|
+
if (cancelled) return;
|
|
5858
|
+
const message = error instanceof Error ? error.message : "Failed to load provider catalog";
|
|
5859
|
+
setCatalogError(message);
|
|
5860
|
+
});
|
|
5861
|
+
return () => {
|
|
5862
|
+
cancelled = true;
|
|
5863
|
+
};
|
|
5864
|
+
}, [catalog]);
|
|
5865
|
+
const currentProvider = react.useMemo(() => {
|
|
5866
|
+
if (!catalog) return void 0;
|
|
5867
|
+
return catalog.find((entry) => entry.slug === providerType);
|
|
5868
|
+
}, [catalog, providerType]);
|
|
5869
|
+
const families = currentProvider?.families ?? [];
|
|
5870
|
+
const regions = Array.isArray(currentProvider?.regions) ? currentProvider.regions : [];
|
|
5803
5871
|
const showRegion = regions.length > 0;
|
|
5804
|
-
const showEndpoint = providerType
|
|
5805
|
-
const
|
|
5806
|
-
const
|
|
5872
|
+
const showEndpoint = ENDPOINT_SLUGS.has(providerType);
|
|
5873
|
+
const authType = currentProvider?.authType ?? null;
|
|
5874
|
+
const showApiKey = authType === "api_key";
|
|
5875
|
+
const showCredentialRef = authType === "iam_role";
|
|
5876
|
+
react.useEffect(() => {
|
|
5877
|
+
if (!currentProvider) return;
|
|
5878
|
+
setSelectedFamilies((previous) => {
|
|
5879
|
+
if (previous.size > 0) return previous;
|
|
5880
|
+
const filter = new Set(config.modelFilter ?? []);
|
|
5881
|
+
const next = /* @__PURE__ */ new Set();
|
|
5882
|
+
for (const family of currentProvider.families) {
|
|
5883
|
+
if (filter.size === 0 || family.modelIds.some((id) => filter.has(id))) {
|
|
5884
|
+
next.add(family.id);
|
|
5885
|
+
}
|
|
5886
|
+
}
|
|
5887
|
+
return next;
|
|
5888
|
+
});
|
|
5889
|
+
}, [currentProvider, config.modelFilter]);
|
|
5807
5890
|
const handleToggleFamily = (familyId) => {
|
|
5808
5891
|
setSelectedFamilies((previous) => {
|
|
5809
5892
|
const next = new Set(previous);
|
|
@@ -5816,11 +5899,11 @@ function ModelProviderNodeConfigForm({ config, onSave, onCancel }) {
|
|
|
5816
5899
|
const newType = value;
|
|
5817
5900
|
setProviderType(newType);
|
|
5818
5901
|
setRegion("");
|
|
5819
|
-
const
|
|
5820
|
-
setSelectedFamilies(new Set(
|
|
5902
|
+
const next = catalog?.find((entry) => entry.slug === newType);
|
|
5903
|
+
setSelectedFamilies(new Set((next?.families ?? []).map((family) => family.id)));
|
|
5821
5904
|
};
|
|
5822
5905
|
const handleSave = () => {
|
|
5823
|
-
const modelFilter = families.filter((
|
|
5906
|
+
const modelFilter = families.filter((family) => selectedFamilies.has(family.id)).flatMap((family) => family.modelIds);
|
|
5824
5907
|
onSave({
|
|
5825
5908
|
...config,
|
|
5826
5909
|
providerType,
|
|
@@ -5832,9 +5915,27 @@ function ModelProviderNodeConfigForm({ config, onSave, onCancel }) {
|
|
|
5832
5915
|
modelFilter
|
|
5833
5916
|
});
|
|
5834
5917
|
};
|
|
5918
|
+
if (catalogError) {
|
|
5919
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
5920
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "rounded-lg border border-red-200 bg-red-50 p-3 text-sm text-red-900 dark:border-red-500/30 dark:bg-red-500/10 dark:text-red-200", children: catalogError }),
|
|
5921
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5922
|
+
ConfigFormActions,
|
|
5923
|
+
{
|
|
5924
|
+
cancelLabel: t("cancel"),
|
|
5925
|
+
saveLabel: t("save"),
|
|
5926
|
+
onCancel,
|
|
5927
|
+
onSave: handleSave,
|
|
5928
|
+
saveDisabled: true
|
|
5929
|
+
}
|
|
5930
|
+
)
|
|
5931
|
+
] });
|
|
5932
|
+
}
|
|
5933
|
+
if (!catalog) {
|
|
5934
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-4 h-32" });
|
|
5935
|
+
}
|
|
5835
5936
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
5836
5937
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5837
|
-
|
|
5938
|
+
chunkI2NZGVBG_js.FormInput,
|
|
5838
5939
|
{
|
|
5839
5940
|
type: "text",
|
|
5840
5941
|
label: t("nameLabel"),
|
|
@@ -5844,25 +5945,28 @@ function ModelProviderNodeConfigForm({ config, onSave, onCancel }) {
|
|
|
5844
5945
|
}
|
|
5845
5946
|
),
|
|
5846
5947
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5847
|
-
|
|
5948
|
+
chunkI2NZGVBG_js.FormSelect,
|
|
5848
5949
|
{
|
|
5849
5950
|
label: t("providerTypeLabel"),
|
|
5850
5951
|
value: providerType,
|
|
5851
5952
|
onValueChange: handleProviderChange,
|
|
5852
|
-
options:
|
|
5953
|
+
options: catalog.filter((entry) => entry.enabled).map((entry) => ({ value: entry.slug, label: entry.name }))
|
|
5853
5954
|
}
|
|
5854
5955
|
),
|
|
5855
5956
|
showRegion && /* @__PURE__ */ jsxRuntime.jsx(
|
|
5856
|
-
|
|
5957
|
+
chunkI2NZGVBG_js.FormSelect,
|
|
5857
5958
|
{
|
|
5858
5959
|
label: t("regionLabel"),
|
|
5859
5960
|
value: region,
|
|
5860
5961
|
onValueChange: setRegion,
|
|
5861
|
-
options: [
|
|
5962
|
+
options: [
|
|
5963
|
+
{ value: "", label: t("selectRegion") },
|
|
5964
|
+
...regions.map((value) => ({ value, label: value }))
|
|
5965
|
+
]
|
|
5862
5966
|
}
|
|
5863
5967
|
),
|
|
5864
5968
|
showEndpoint && /* @__PURE__ */ jsxRuntime.jsx(
|
|
5865
|
-
|
|
5969
|
+
chunkI2NZGVBG_js.FormInput,
|
|
5866
5970
|
{
|
|
5867
5971
|
type: "text",
|
|
5868
5972
|
label: t("endpointLabel"),
|
|
@@ -5872,7 +5976,7 @@ function ModelProviderNodeConfigForm({ config, onSave, onCancel }) {
|
|
|
5872
5976
|
}
|
|
5873
5977
|
),
|
|
5874
5978
|
showApiKey && /* @__PURE__ */ jsxRuntime.jsx(
|
|
5875
|
-
|
|
5979
|
+
chunkI2NZGVBG_js.FormInput,
|
|
5876
5980
|
{
|
|
5877
5981
|
type: "password",
|
|
5878
5982
|
label: t("apiKeyLabel"),
|
|
@@ -5882,7 +5986,7 @@ function ModelProviderNodeConfigForm({ config, onSave, onCancel }) {
|
|
|
5882
5986
|
}
|
|
5883
5987
|
),
|
|
5884
5988
|
showCredentialRef && /* @__PURE__ */ jsxRuntime.jsx(
|
|
5885
|
-
|
|
5989
|
+
chunkI2NZGVBG_js.FormInput,
|
|
5886
5990
|
{
|
|
5887
5991
|
type: "text",
|
|
5888
5992
|
label: t("credentialRefLabel"),
|
|
@@ -5904,9 +6008,9 @@ function ModelProviderNodeConfigForm({ config, onSave, onCancel }) {
|
|
|
5904
6008
|
children: [
|
|
5905
6009
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: `flex h-4 w-4 shrink-0 items-center justify-center rounded ${isSelected ? "bg-indigo-500 text-white" : "border border-gray-300 dark:border-gray-600"}`, children: isSelected && /* @__PURE__ */ jsxRuntime.jsx("svg", { className: "h-3 w-3", viewBox: "0 0 20 20", fill: "currentColor", children: /* @__PURE__ */ jsxRuntime.jsx("path", { fillRule: "evenodd", d: "M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z", clipRule: "evenodd" }) }) }),
|
|
5906
6010
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0 flex-1", children: [
|
|
5907
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs font-medium text-gray-900 dark:text-white", children: family.
|
|
6011
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs font-medium text-gray-900 dark:text-white", children: family.name }),
|
|
5908
6012
|
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "ml-2 text-[10px] text-gray-400 dark:text-gray-500", children: [
|
|
5909
|
-
family.
|
|
6013
|
+
family.modelIds.length,
|
|
5910
6014
|
" models"
|
|
5911
6015
|
] })
|
|
5912
6016
|
] })
|
|
@@ -5952,7 +6056,7 @@ function RuleNodeConfigForm({ config, onSave, onCancel, availableRules }) {
|
|
|
5952
6056
|
]
|
|
5953
6057
|
}
|
|
5954
6058
|
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
5955
|
-
|
|
6059
|
+
chunkI2NZGVBG_js.FormInput,
|
|
5956
6060
|
{
|
|
5957
6061
|
type: "text",
|
|
5958
6062
|
value: ruleId,
|
|
@@ -5968,7 +6072,7 @@ function RuleNodeConfigForm({ config, onSave, onCancel, availableRules }) {
|
|
|
5968
6072
|
] }),
|
|
5969
6073
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-2 gap-3", children: [
|
|
5970
6074
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5971
|
-
|
|
6075
|
+
chunkI2NZGVBG_js.FormInput,
|
|
5972
6076
|
{
|
|
5973
6077
|
type: "number",
|
|
5974
6078
|
label: t("priorityLabel", { _: "Priority" }),
|
|
@@ -6040,7 +6144,7 @@ function AgentNodeConfigForm({
|
|
|
6040
6144
|
}));
|
|
6041
6145
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
6042
6146
|
agentOptions.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
6043
|
-
|
|
6147
|
+
chunkI2NZGVBG_js.FormSelect,
|
|
6044
6148
|
{
|
|
6045
6149
|
label: t("agentLabel", { _: "Agent" }),
|
|
6046
6150
|
value: agentId,
|
|
@@ -6048,7 +6152,7 @@ function AgentNodeConfigForm({
|
|
|
6048
6152
|
options: [{ value: "", label: t("agentPickPrompt", { _: "Choose an agent\u2026" }) }, ...agentOptions]
|
|
6049
6153
|
}
|
|
6050
6154
|
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
6051
|
-
|
|
6155
|
+
chunkI2NZGVBG_js.FormInput,
|
|
6052
6156
|
{
|
|
6053
6157
|
type: "text",
|
|
6054
6158
|
label: t("agentIdLabel", { _: "Agent ID" }),
|
|
@@ -6058,7 +6162,7 @@ function AgentNodeConfigForm({
|
|
|
6058
6162
|
}
|
|
6059
6163
|
),
|
|
6060
6164
|
connOptions.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
6061
|
-
|
|
6165
|
+
chunkI2NZGVBG_js.FormSelect,
|
|
6062
6166
|
{
|
|
6063
6167
|
label: t("connectionLabel", { _: "Model provider connection" }),
|
|
6064
6168
|
value: connectionId,
|
|
@@ -6066,7 +6170,7 @@ function AgentNodeConfigForm({
|
|
|
6066
6170
|
options: [{ value: "", label: t("connectionPickPrompt", { _: "Inline model (no connection)" }) }, ...connOptions]
|
|
6067
6171
|
}
|
|
6068
6172
|
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
6069
|
-
|
|
6173
|
+
chunkI2NZGVBG_js.FormInput,
|
|
6070
6174
|
{
|
|
6071
6175
|
type: "text",
|
|
6072
6176
|
label: t("connectionIdLabel", { _: "Connection ID" }),
|
|
@@ -6076,7 +6180,7 @@ function AgentNodeConfigForm({
|
|
|
6076
6180
|
}
|
|
6077
6181
|
),
|
|
6078
6182
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
6079
|
-
|
|
6183
|
+
chunkI2NZGVBG_js.FormInput,
|
|
6080
6184
|
{
|
|
6081
6185
|
type: "text",
|
|
6082
6186
|
label: t("modelIdLabel", { _: "Model override (optional)" }),
|
|
@@ -6086,7 +6190,7 @@ function AgentNodeConfigForm({
|
|
|
6086
6190
|
}
|
|
6087
6191
|
),
|
|
6088
6192
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
6089
|
-
|
|
6193
|
+
chunkI2NZGVBG_js.FormTextarea,
|
|
6090
6194
|
{
|
|
6091
6195
|
label: t("systemPromptLabel", { _: "System prompt" }),
|
|
6092
6196
|
value: systemPrompt,
|
|
@@ -6096,7 +6200,7 @@ function AgentNodeConfigForm({
|
|
|
6096
6200
|
}
|
|
6097
6201
|
),
|
|
6098
6202
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
6099
|
-
|
|
6203
|
+
chunkI2NZGVBG_js.FormTextarea,
|
|
6100
6204
|
{
|
|
6101
6205
|
label: t("userPromptLabel", { _: "User prompt" }),
|
|
6102
6206
|
value: userPrompt,
|
|
@@ -6107,7 +6211,7 @@ function AgentNodeConfigForm({
|
|
|
6107
6211
|
),
|
|
6108
6212
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-2 gap-3", children: [
|
|
6109
6213
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
6110
|
-
|
|
6214
|
+
chunkI2NZGVBG_js.FormInput,
|
|
6111
6215
|
{
|
|
6112
6216
|
type: "number",
|
|
6113
6217
|
label: t("maxTokensLabel", { _: "Max output tokens" }),
|
|
@@ -6119,7 +6223,7 @@ function AgentNodeConfigForm({
|
|
|
6119
6223
|
}
|
|
6120
6224
|
),
|
|
6121
6225
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
6122
|
-
|
|
6226
|
+
chunkI2NZGVBG_js.FormInput,
|
|
6123
6227
|
{
|
|
6124
6228
|
type: "number",
|
|
6125
6229
|
label: t("temperatureLabel", { _: "Temperature" }),
|
|
@@ -6148,6 +6252,7 @@ var NODE_TITLE_KEYS = {
|
|
|
6148
6252
|
if_else: "ifElseNodeConfig",
|
|
6149
6253
|
code: "codeNodeConfig",
|
|
6150
6254
|
http_request: "httpRequestNodeConfig",
|
|
6255
|
+
s3_write: "s3WriteNodeConfig",
|
|
6151
6256
|
template_transform: "templateTransformNodeConfig",
|
|
6152
6257
|
iteration: "iterationNodeConfig",
|
|
6153
6258
|
knowledge_base: "knowledgeBaseNodeConfig",
|
|
@@ -6196,6 +6301,8 @@ function LogicNodeModal({ onSave, entities = [], datasources = [], onLoadTables,
|
|
|
6196
6301
|
return /* @__PURE__ */ jsxRuntime.jsx(CodeNodeConfigForm, { config, onSave: handleSave, onCancel: closeModal });
|
|
6197
6302
|
case "http_request":
|
|
6198
6303
|
return /* @__PURE__ */ jsxRuntime.jsx(HttpRequestNodeConfigForm, { config, onSave: handleSave, onCancel: closeModal });
|
|
6304
|
+
case "s3_write":
|
|
6305
|
+
return /* @__PURE__ */ jsxRuntime.jsx(S3WriteNodeConfigForm, { config, onSave: handleSave, onCancel: closeModal });
|
|
6199
6306
|
case "template_transform":
|
|
6200
6307
|
return /* @__PURE__ */ jsxRuntime.jsx(TemplateTransformNodeConfigForm, { config, onSave: handleSave, onCancel: closeModal });
|
|
6201
6308
|
case "iteration":
|
|
@@ -6235,7 +6342,7 @@ function LogicNodeModal({ onSave, entities = [], datasources = [], onLoadTables,
|
|
|
6235
6342
|
};
|
|
6236
6343
|
const isExperimental = isExperimentalNodeType(config.type);
|
|
6237
6344
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
6238
|
-
|
|
6345
|
+
chunkI2NZGVBG_js.GlassModal,
|
|
6239
6346
|
{
|
|
6240
6347
|
open,
|
|
6241
6348
|
onClose: closeModal,
|
|
@@ -6249,8 +6356,10 @@ function LogicNodeModal({ onSave, entities = [], datasources = [], onLoadTables,
|
|
|
6249
6356
|
isExperimental && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-4 flex items-start gap-2 rounded-lg border border-amber-300/40 bg-amber-50/70 px-3 py-2 text-xs text-amber-900 dark:border-amber-500/30 dark:bg-amber-500/10 dark:text-amber-100", children: [
|
|
6250
6357
|
/* @__PURE__ */ jsxRuntime.jsx(outline.BeakerIcon, { className: "mt-0.5 h-4 w-4 shrink-0 text-amber-600 dark:text-amber-300", "aria-hidden": "true" }),
|
|
6251
6358
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-1", children: [
|
|
6252
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "font-semibold", children: t("experimentalNode") }),
|
|
6253
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-amber-800/90 dark:text-amber-100/80", children: t("experimentalNodeWarning"
|
|
6359
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "font-semibold", children: t("experimentalNode", { _: "Experimental node" }) }),
|
|
6360
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-amber-800/90 dark:text-amber-100/80", children: t("experimentalNodeWarning", {
|
|
6361
|
+
_: "This node's executor is a stub today. The configuration is saved, but the node may pass through inputs unchanged at run-time until the executor lands."
|
|
6362
|
+
}) })
|
|
6254
6363
|
] })
|
|
6255
6364
|
] }),
|
|
6256
6365
|
renderForm()
|
|
@@ -6304,7 +6413,7 @@ function NodeContextMenu({ position, targetId, onClose, onEdit, onDuplicate, onC
|
|
|
6304
6413
|
}
|
|
6305
6414
|
];
|
|
6306
6415
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
6307
|
-
|
|
6416
|
+
chunkI2NZGVBG_js.ContextMenu,
|
|
6308
6417
|
{
|
|
6309
6418
|
position,
|
|
6310
6419
|
onClose,
|
|
@@ -6361,7 +6470,7 @@ function PanelContextMenu({ position, onClose, onPaste, onSelectAll, onFitView,
|
|
|
6361
6470
|
}
|
|
6362
6471
|
];
|
|
6363
6472
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
6364
|
-
|
|
6473
|
+
chunkI2NZGVBG_js.ContextMenu,
|
|
6365
6474
|
{
|
|
6366
6475
|
position,
|
|
6367
6476
|
onClose,
|
|
@@ -6508,7 +6617,7 @@ function SelectionContextMenu({
|
|
|
6508
6617
|
}
|
|
6509
6618
|
];
|
|
6510
6619
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
6511
|
-
|
|
6620
|
+
chunkI2NZGVBG_js.ContextMenu,
|
|
6512
6621
|
{
|
|
6513
6622
|
position,
|
|
6514
6623
|
onClose,
|
|
@@ -6974,7 +7083,7 @@ function WorkflowCanvasInner({
|
|
|
6974
7083
|
};
|
|
6975
7084
|
}
|
|
6976
7085
|
if (isLogicNodeType(savedNode.type)) {
|
|
6977
|
-
const config = savedNode.data.config ??
|
|
7086
|
+
const config = savedNode.data.config ?? chunkC3H4FM4A_js.createDefaultLogicNodeConfig(savedNode.type);
|
|
6978
7087
|
if (config) {
|
|
6979
7088
|
const baseNode = {
|
|
6980
7089
|
id: savedNode.id,
|
|
@@ -7153,7 +7262,7 @@ function WorkflowCanvasInner({
|
|
|
7153
7262
|
}
|
|
7154
7263
|
storeTakeSnapshot();
|
|
7155
7264
|
const isTB = direction === "TB";
|
|
7156
|
-
const repositionedNodes =
|
|
7265
|
+
const repositionedNodes = chunkC3H4FM4A_js.applyDagreLayout(nodes, edges, direction).map((node) => ({
|
|
7157
7266
|
...node,
|
|
7158
7267
|
sourcePosition: isTB ? react$1.Position.Bottom : react$1.Position.Right,
|
|
7159
7268
|
targetPosition: isTB ? react$1.Position.Top : react$1.Position.Left
|
|
@@ -7282,7 +7391,7 @@ function WorkflowCanvasInner({
|
|
|
7282
7391
|
}, [storePaste]);
|
|
7283
7392
|
const contextMenuAddNote = react.useCallback((flowPosition) => {
|
|
7284
7393
|
storeTakeSnapshot();
|
|
7285
|
-
const noteConfig =
|
|
7394
|
+
const noteConfig = chunkC3H4FM4A_js.createDefaultLogicNodeConfig("note");
|
|
7286
7395
|
const noteNode = {
|
|
7287
7396
|
id: crypto.randomUUID(),
|
|
7288
7397
|
type: "note",
|
|
@@ -7793,7 +7902,7 @@ function WorkflowCanvasInner({
|
|
|
7793
7902
|
};
|
|
7794
7903
|
setNodes((currentNodes) => [...currentNodes, newNode]);
|
|
7795
7904
|
} else if (nodeType === "group") {
|
|
7796
|
-
const groupConfig = configRaw ? JSON.parse(configRaw) :
|
|
7905
|
+
const groupConfig = configRaw ? JSON.parse(configRaw) : chunkC3H4FM4A_js.createDefaultLogicNodeConfig("group");
|
|
7797
7906
|
if (!groupConfig) return;
|
|
7798
7907
|
const newNode = {
|
|
7799
7908
|
id: newNodeId,
|
|
@@ -7810,7 +7919,7 @@ function WorkflowCanvasInner({
|
|
|
7810
7919
|
};
|
|
7811
7920
|
setNodes((currentNodes) => [...currentNodes, newNode]);
|
|
7812
7921
|
} else if (isLogicNodeType(nodeType)) {
|
|
7813
|
-
const config = configRaw ? JSON.parse(configRaw) :
|
|
7922
|
+
const config = configRaw ? JSON.parse(configRaw) : chunkC3H4FM4A_js.createDefaultLogicNodeConfig(nodeType);
|
|
7814
7923
|
if (!config) return;
|
|
7815
7924
|
const newNode = {
|
|
7816
7925
|
id: newNodeId,
|
|
@@ -7948,7 +8057,7 @@ function WorkflowCanvasInner({
|
|
|
7948
8057
|
(edgeId, nodeType, position) => {
|
|
7949
8058
|
if (!isLogicNodeType(nodeType)) return;
|
|
7950
8059
|
storeTakeSnapshot();
|
|
7951
|
-
const config =
|
|
8060
|
+
const config = chunkC3H4FM4A_js.createDefaultLogicNodeConfig(nodeType);
|
|
7952
8061
|
if (!config) return;
|
|
7953
8062
|
const newNodeId = crypto.randomUUID();
|
|
7954
8063
|
const newNode = {
|
|
@@ -8415,7 +8524,14 @@ exports.MINIMAP_NODE_COLORS = MINIMAP_NODE_COLORS;
|
|
|
8415
8524
|
exports.ModelProviderFlowNode = ModelProviderFlowNode;
|
|
8416
8525
|
exports.NODE_EXECUTION_ACCENT_COLORS = NODE_EXECUTION_ACCENT_COLORS;
|
|
8417
8526
|
exports.NodeCard = NodeCard;
|
|
8527
|
+
exports.NodeCardBadge = NodeCardBadge;
|
|
8528
|
+
exports.NodeCardDeleteAction = NodeCardDeleteAction;
|
|
8529
|
+
exports.NodeCardHeader = NodeCardHeader;
|
|
8530
|
+
exports.NodeCardMeta = NodeCardMeta;
|
|
8418
8531
|
exports.NodeContextMenu = NodeContextMenu;
|
|
8532
|
+
exports.NodeIconBubble = NodeIconBubble;
|
|
8533
|
+
exports.NodeInteractiveCard = NodeInteractiveCard;
|
|
8534
|
+
exports.NodeRunningIndicator = NodeRunningIndicator;
|
|
8419
8535
|
exports.NoteFlowNode = NoteFlowNode;
|
|
8420
8536
|
exports.OpenAIIcon = OpenAIIcon;
|
|
8421
8537
|
exports.PanelContextMenu = PanelContextMenu;
|
|
@@ -8431,6 +8547,7 @@ exports.VariableAggregatorFlowNode = VariableAggregatorFlowNode;
|
|
|
8431
8547
|
exports.VariableAssignerFlowNode = VariableAssignerFlowNode;
|
|
8432
8548
|
exports.WorkflowBuilderProvider = WorkflowBuilderProvider;
|
|
8433
8549
|
exports.WorkflowCanvas = WorkflowCanvas;
|
|
8550
|
+
exports.WorkflowHandle = WorkflowHandle;
|
|
8434
8551
|
exports.Workspace = Workspace;
|
|
8435
8552
|
exports.getCompatibleModels = getCompatibleModels;
|
|
8436
8553
|
exports.getDefaultFrameworkForModel = getDefaultFrameworkForModel;
|
|
@@ -8448,5 +8565,5 @@ exports.useModalStore = useModalStore;
|
|
|
8448
8565
|
exports.useWorkflowBuilderClient = useWorkflowBuilderClient;
|
|
8449
8566
|
exports.useWorkflowBuilderClientOptional = useWorkflowBuilderClientOptional;
|
|
8450
8567
|
exports.useWorkflowStore = useWorkflowStore;
|
|
8451
|
-
//# sourceMappingURL=chunk-
|
|
8452
|
-
//# sourceMappingURL=chunk-
|
|
8568
|
+
//# sourceMappingURL=chunk-EFOXN3LC.js.map
|
|
8569
|
+
//# sourceMappingURL=chunk-EFOXN3LC.js.map
|