@datatechsolutions/ui 2.11.19 → 2.11.21
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/contracts.d.mts +7 -3
- package/dist/astrlabe/contracts.d.ts +7 -3
- package/dist/astrlabe/index.d.mts +17 -13
- package/dist/astrlabe/index.d.ts +17 -13
- package/dist/astrlabe/index.js +147 -131
- package/dist/astrlabe/index.js.map +1 -1
- package/dist/astrlabe/index.mjs +14 -10
- package/dist/astrlabe/index.mjs.map +1 -1
- 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/{chunk-4XID6LOC.js → chunk-6N5UGKD7.js} +89 -13
- package/dist/chunk-6N5UGKD7.js.map +1 -0
- package/dist/{chunk-4X7ITYP2.js → chunk-E6ALKSGA.js} +238 -97
- package/dist/chunk-E6ALKSGA.js.map +1 -0
- package/dist/{chunk-46ZM5VJJ.mjs → chunk-XKLU32S3.mjs} +88 -15
- package/dist/chunk-XKLU32S3.mjs.map +1 -0
- package/dist/{chunk-LIYKHVLG.mjs → chunk-Z3U6JAA7.mjs} +193 -56
- package/dist/chunk-Z3U6JAA7.mjs.map +1 -0
- package/dist/index.d.mts +37 -2
- package/dist/index.d.ts +37 -2
- package/dist/index.js +739 -727
- package/dist/index.mjs +2 -2
- package/dist/{workflow-canvas-CEfOHTzN.d.ts → workflow-canvas-Dn7U7P92.d.ts} +9 -9
- package/dist/{workflow-canvas-Dfj5MOAY.d.mts → workflow-canvas-Mlbo6q5K.d.mts} +9 -9
- package/package.json +1 -1
- package/dist/chunk-46ZM5VJJ.mjs.map +0 -1
- package/dist/chunk-4X7ITYP2.js.map +0 -1
- package/dist/chunk-4XID6LOC.js.map +0 -1
- package/dist/chunk-LIYKHVLG.mjs.map +0 -1
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
|
-
var
|
|
4
|
+
var chunk6N5UGKD7_js = require('./chunk-6N5UGKD7.js');
|
|
5
|
+
var chunkYXN2K77G_js = require('./chunk-YXN2K77G.js');
|
|
5
6
|
var chunkP4YYEM4B_js = require('./chunk-P4YYEM4B.js');
|
|
6
7
|
var chunkPWBWP5FJ_js = require('./chunk-PWBWP5FJ.js');
|
|
7
|
-
var chunkYXN2K77G_js = require('./chunk-YXN2K77G.js');
|
|
8
8
|
var react = require('react');
|
|
9
9
|
var react$1 = require('@xyflow/react');
|
|
10
10
|
require('@xyflow/react/dist/style.css');
|
|
@@ -472,6 +472,24 @@ var MINIMAP_NODE_COLORS = {
|
|
|
472
472
|
model_provider: "#64748b",
|
|
473
473
|
group: "#64748b"
|
|
474
474
|
};
|
|
475
|
+
var NODE_EXECUTION_ACCENT_COLORS = {
|
|
476
|
+
...MINIMAP_NODE_COLORS
|
|
477
|
+
};
|
|
478
|
+
function hexToRgb(hexColor) {
|
|
479
|
+
const normalizedHex = hexColor.replace("#", "");
|
|
480
|
+
const parsed = Number.parseInt(normalizedHex, 16);
|
|
481
|
+
if (Number.isNaN(parsed) || normalizedHex.length !== 6) {
|
|
482
|
+
return [99, 102, 241];
|
|
483
|
+
}
|
|
484
|
+
return [parsed >> 16 & 255, parsed >> 8 & 255, parsed & 255];
|
|
485
|
+
}
|
|
486
|
+
function getNodeExecutionAccent(nodeType) {
|
|
487
|
+
return NODE_EXECUTION_ACCENT_COLORS[nodeType ?? ""] ?? NODE_EXECUTION_ACCENT_COLORS.agent;
|
|
488
|
+
}
|
|
489
|
+
function getNodeExecutionAccentRgb(nodeType) {
|
|
490
|
+
const [red, green, blue] = hexToRgb(getNodeExecutionAccent(nodeType));
|
|
491
|
+
return `${red}, ${green}, ${blue}`;
|
|
492
|
+
}
|
|
475
493
|
var LOGIC_NODE_HANDLE_COLORS = {
|
|
476
494
|
start: "!bg-green-500",
|
|
477
495
|
end: "!bg-red-500",
|
|
@@ -1174,6 +1192,35 @@ function isModelCompatibleWithFramework(modelId, framework) {
|
|
|
1174
1192
|
const provider = modelId.split(".")[0];
|
|
1175
1193
|
return allowed.includes(provider);
|
|
1176
1194
|
}
|
|
1195
|
+
var PROVIDER_TYPE_TO_MODEL_PROVIDERS = {
|
|
1196
|
+
aws_bedrock: ["anthropic", "amazon", "meta", "mistral"],
|
|
1197
|
+
openai_api: ["openai"],
|
|
1198
|
+
google_vertex: ["google"],
|
|
1199
|
+
azure_openai: ["openai"],
|
|
1200
|
+
anthropic_api: ["anthropic"],
|
|
1201
|
+
groq: ["meta", "mistral"],
|
|
1202
|
+
mistral: ["mistral"],
|
|
1203
|
+
huggingface: ["meta", "mistral"],
|
|
1204
|
+
ollama: ["meta", "mistral"],
|
|
1205
|
+
// Also handle raw provider names (from ModelProvider.provider field)
|
|
1206
|
+
anthropic: ["anthropic"],
|
|
1207
|
+
amazon: ["anthropic", "amazon", "meta"],
|
|
1208
|
+
google: ["google"],
|
|
1209
|
+
openai: ["openai"],
|
|
1210
|
+
meta: ["meta"]
|
|
1211
|
+
};
|
|
1212
|
+
function isFrameworkCompatibleWithProviders(framework, providerTypes) {
|
|
1213
|
+
const allowed = FRAMEWORK_ALLOWED_PROVIDERS[framework];
|
|
1214
|
+
if (!allowed || allowed === "all") return true;
|
|
1215
|
+
const availableModelProviders = /* @__PURE__ */ new Set();
|
|
1216
|
+
for (const providerType of providerTypes) {
|
|
1217
|
+
const mapped = PROVIDER_TYPE_TO_MODEL_PROVIDERS[providerType];
|
|
1218
|
+
if (mapped) {
|
|
1219
|
+
for (const mp of mapped) availableModelProviders.add(mp);
|
|
1220
|
+
}
|
|
1221
|
+
}
|
|
1222
|
+
return allowed.some((allowedProvider) => availableModelProviders.has(allowedProvider));
|
|
1223
|
+
}
|
|
1177
1224
|
function getCompatibleModels(models, framework) {
|
|
1178
1225
|
const allowed = FRAMEWORK_ALLOWED_PROVIDERS[framework];
|
|
1179
1226
|
if (!allowed || allowed === "all") return models;
|
|
@@ -1217,6 +1264,7 @@ function NodeCard({
|
|
|
1217
1264
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1218
1265
|
"div",
|
|
1219
1266
|
{
|
|
1267
|
+
"data-workflow-node-type": nodeType,
|
|
1220
1268
|
className: `group relative ${width} rounded-xl border liquid-surface ${compact ? "min-h-[84px] p-3" : "p-4"} transition-all ${getNodeStateClass(selected, nodeType, customBorder)}${className ? ` ${className}` : ""}`,
|
|
1221
1269
|
style,
|
|
1222
1270
|
role,
|
|
@@ -1357,17 +1405,48 @@ function WorkflowDynamicHandles({
|
|
|
1357
1405
|
}
|
|
1358
1406
|
function NodeRunningIndicatorComponent({ nodeId }) {
|
|
1359
1407
|
const nodeResult = useWorkflowStore((state) => state.nodeResults[nodeId]);
|
|
1408
|
+
const containerRef = react.useRef(null);
|
|
1409
|
+
const [nodeType, setNodeType] = react.useState("agent");
|
|
1410
|
+
const accentColor = react.useMemo(() => getNodeExecutionAccent(nodeType), [nodeType]);
|
|
1411
|
+
const accentRgb = react.useMemo(() => getNodeExecutionAccentRgb(nodeType), [nodeType]);
|
|
1412
|
+
react.useEffect(() => {
|
|
1413
|
+
const indicatorElement = containerRef.current;
|
|
1414
|
+
if (!indicatorElement) return;
|
|
1415
|
+
const nodeWrapper = indicatorElement.closest(".react-flow__node");
|
|
1416
|
+
if (!nodeWrapper) return;
|
|
1417
|
+
const wrapperClass = Array.from(nodeWrapper.classList).find(
|
|
1418
|
+
(className) => className.startsWith("react-flow__node-") && className !== "react-flow__node"
|
|
1419
|
+
);
|
|
1420
|
+
if (!wrapperClass) return;
|
|
1421
|
+
setNodeType(wrapperClass.replace("react-flow__node-", ""));
|
|
1422
|
+
}, []);
|
|
1360
1423
|
if (!nodeResult) return null;
|
|
1361
1424
|
const { status, durationMs } = nodeResult;
|
|
1362
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "absolute -right-1 -top-1 z-10 flex items-center gap-1", children: [
|
|
1425
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { ref: containerRef, className: "absolute -right-1 -top-1 z-10 flex items-center gap-1", children: [
|
|
1363
1426
|
status === "pending" && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex h-5 w-5 items-center justify-center rounded-full border border-gray-300 bg-white shadow-sm dark:border-gray-600 dark:bg-gray-800", children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "h-2 w-2 rounded-full bg-gray-400 dark:bg-gray-500" }) }),
|
|
1364
|
-
status === "running" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1365
|
-
|
|
1366
|
-
|
|
1367
|
-
|
|
1368
|
-
|
|
1427
|
+
status === "running" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1428
|
+
"span",
|
|
1429
|
+
{
|
|
1430
|
+
className: "flex h-5 w-5 items-center justify-center rounded-full border bg-white shadow-sm dark:bg-gray-800",
|
|
1431
|
+
style: {
|
|
1432
|
+
borderColor: `rgba(${accentRgb}, 0.55)`,
|
|
1433
|
+
boxShadow: `0 0 0 1px rgba(${accentRgb}, 0.16), 0 6px 16px rgba(${accentRgb}, 0.18)`
|
|
1434
|
+
},
|
|
1435
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs("svg", { className: "h-3 w-3 animate-spin", style: { color: accentColor }, viewBox: "0 0 24 24", fill: "none", children: [
|
|
1436
|
+
/* @__PURE__ */ jsxRuntime.jsx("circle", { className: "opacity-25", cx: "12", cy: "12", r: "10", stroke: "currentColor", strokeWidth: "4" }),
|
|
1437
|
+
/* @__PURE__ */ jsxRuntime.jsx("path", { className: "opacity-75", fill: "currentColor", d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z" })
|
|
1438
|
+
] })
|
|
1439
|
+
}
|
|
1440
|
+
),
|
|
1441
|
+
status === "success" && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex h-5 w-5 items-center justify-center rounded-full border border-emerald-300 bg-emerald-50 shadow-sm dark:border-emerald-600 dark:bg-emerald-900/30", children: /* @__PURE__ */ jsxRuntime.jsx("svg", { className: "h-3 w-3 text-emerald-600 dark:text-emerald-400", 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" }) }) }),
|
|
1369
1442
|
status === "error" && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex h-5 w-5 items-center justify-center rounded-full border border-red-300 bg-red-50 shadow-sm dark:border-red-600 dark:bg-red-900/30", children: /* @__PURE__ */ jsxRuntime.jsx("svg", { className: "h-3 w-3 text-red-600 dark:text-red-400", viewBox: "0 0 20 20", fill: "currentColor", children: /* @__PURE__ */ jsxRuntime.jsx("path", { fillRule: "evenodd", d: "M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z", clipRule: "evenodd" }) }) }),
|
|
1370
|
-
(status === "success" || status === "error") && durationMs !== void 0 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1443
|
+
(status === "success" || status === "error") && durationMs !== void 0 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1444
|
+
"span",
|
|
1445
|
+
{
|
|
1446
|
+
className: `rounded-full px-1.5 py-0.5 text-[9px] font-medium shadow-sm ${status === "success" ? "bg-emerald-50 text-emerald-700 dark:bg-emerald-900/20 dark:text-emerald-300" : "bg-gray-100 text-gray-500 dark:bg-gray-800 dark:text-gray-400"}`,
|
|
1447
|
+
children: durationMs < 1e3 ? `${durationMs}ms` : `${(durationMs / 1e3).toFixed(1)}s`
|
|
1448
|
+
}
|
|
1449
|
+
)
|
|
1371
1450
|
] });
|
|
1372
1451
|
}
|
|
1373
1452
|
var NodeRunningIndicator = react.memo(NodeRunningIndicatorComponent);
|
|
@@ -2692,7 +2771,7 @@ var NoteFlowNode = react.memo(function NoteFlowNode2({ data, selected }) {
|
|
|
2692
2771
|
});
|
|
2693
2772
|
var DatasourceFlowNode = react.memo(function DatasourceFlowNode2({ id, data, selected }) {
|
|
2694
2773
|
const t = chunkYXN2K77G_js.useTranslations("agents.workflow");
|
|
2695
|
-
const { config, label, onEdit, onRemoveFromCanvas } = data;
|
|
2774
|
+
const { config, label, datasource, readOnly = false, onEdit, onRemoveFromCanvas } = data;
|
|
2696
2775
|
const isCompact = data.displayMode === "compact";
|
|
2697
2776
|
if (!config || config.type !== "datasource") {
|
|
2698
2777
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
@@ -2712,56 +2791,92 @@ var DatasourceFlowNode = react.memo(function DatasourceFlowNode2({ id, data, sel
|
|
|
2712
2791
|
}
|
|
2713
2792
|
const columnCount = config.selectedColumns?.length ?? 0;
|
|
2714
2793
|
const filterCount = config.filterVariables ? Object.keys(config.filterVariables).length : 0;
|
|
2794
|
+
const visibleColumns = config.selectedColumns.slice(0, 3);
|
|
2795
|
+
const filterEntries = Object.entries(config.filterVariables ?? {});
|
|
2796
|
+
const content = /* @__PURE__ */ jsxRuntime.jsxs(NodeCard, { compact: isCompact, selected, nodeType: "datasource", children: [
|
|
2797
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start gap-3", children: [
|
|
2798
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-10 w-10 items-center justify-center rounded-xl bg-gradient-to-br from-cyan-500 to-blue-600 shadow-lg", children: /* @__PURE__ */ jsxRuntime.jsx(outline.ServerStackIcon, { className: "h-5 w-5 text-white" }) }),
|
|
2799
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0 flex-1", children: [
|
|
2800
|
+
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-sm font-semibold text-gray-900 dark:text-white", children: label }),
|
|
2801
|
+
!isCompact && /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "mt-0.5 text-xs text-gray-500 dark:text-gray-400", children: [
|
|
2802
|
+
datasource?.name ?? config.datasourceId,
|
|
2803
|
+
" \xB7 ",
|
|
2804
|
+
config.table
|
|
2805
|
+
] })
|
|
2806
|
+
] })
|
|
2807
|
+
] }),
|
|
2808
|
+
/* @__PURE__ */ jsxRuntime.jsxs(NodeCardMeta, { compact: isCompact, children: [
|
|
2809
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap items-center gap-2", children: [
|
|
2810
|
+
config.dialect && /* @__PURE__ */ jsxRuntime.jsx(NodeCardBadge, { className: "inline-flex items-center rounded-full px-2 py-0.5 text-[10px] font-semibold bg-cyan-100 text-cyan-700 dark:bg-cyan-900/30 dark:text-cyan-300", children: config.dialect }),
|
|
2811
|
+
readOnly && /* @__PURE__ */ jsxRuntime.jsx(NodeCardBadge, { className: "inline-flex items-center rounded-full px-2 py-0.5 text-[10px] font-medium bg-slate-100 text-slate-700 dark:bg-slate-500/20 dark:text-slate-300", children: "Sample Data" }),
|
|
2812
|
+
/* @__PURE__ */ jsxRuntime.jsx(NodeCardBadge, { className: "inline-flex items-center rounded-full px-2 py-0.5 text-[10px] font-medium bg-cyan-100 text-cyan-700 dark:bg-cyan-900/30 dark:text-cyan-300", children: config.table }),
|
|
2813
|
+
/* @__PURE__ */ jsxRuntime.jsx(NodeCardBadge, { className: "inline-flex items-center rounded-full px-2 py-0.5 text-[10px] font-medium bg-blue-50 text-blue-700 dark:bg-blue-900/25 dark:text-blue-300", children: config.outputVariable }),
|
|
2814
|
+
columnCount > 0 && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-[10px] text-gray-400 dark:text-gray-500", children: [
|
|
2815
|
+
columnCount,
|
|
2816
|
+
" ",
|
|
2817
|
+
t("datasourceColumns")
|
|
2818
|
+
] }),
|
|
2819
|
+
config.limit > 0 && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-[10px] text-gray-400 dark:text-gray-500", children: t("datasourceLimit", { count: config.limit }) }),
|
|
2820
|
+
filterCount > 0 && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-[10px] text-gray-400 dark:text-gray-500", children: [
|
|
2821
|
+
filterCount,
|
|
2822
|
+
" ",
|
|
2823
|
+
t("datasourceFilters")
|
|
2824
|
+
] })
|
|
2825
|
+
] }),
|
|
2826
|
+
!isCompact && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-2 flex flex-wrap items-center gap-1.5", children: [
|
|
2827
|
+
visibleColumns.map((column) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
2828
|
+
NodeCardBadge,
|
|
2829
|
+
{
|
|
2830
|
+
className: "inline-flex items-center rounded-full px-2 py-0.5 text-[10px] font-medium bg-white/70 text-slate-600 dark:bg-white/5 dark:text-slate-300",
|
|
2831
|
+
children: column
|
|
2832
|
+
},
|
|
2833
|
+
column
|
|
2834
|
+
)),
|
|
2835
|
+
columnCount > visibleColumns.length && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-[10px] text-gray-400 dark:text-gray-500", children: [
|
|
2836
|
+
"+",
|
|
2837
|
+
columnCount - visibleColumns.length,
|
|
2838
|
+
" more"
|
|
2839
|
+
] })
|
|
2840
|
+
] }),
|
|
2841
|
+
!isCompact && filterEntries.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-2 flex flex-wrap items-center gap-1.5", children: filterEntries.map(([field, variableName]) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2842
|
+
NodeCardBadge,
|
|
2843
|
+
{
|
|
2844
|
+
className: "inline-flex items-center rounded-full px-2 py-0.5 text-[10px] font-medium bg-cyan-50 text-cyan-700 dark:bg-cyan-900/20 dark:text-cyan-300",
|
|
2845
|
+
children: [
|
|
2846
|
+
field,
|
|
2847
|
+
" \u2192 ",
|
|
2848
|
+
variableName
|
|
2849
|
+
]
|
|
2850
|
+
},
|
|
2851
|
+
`${field}:${variableName}`
|
|
2852
|
+
)) }),
|
|
2853
|
+
onRemoveFromCanvas && /* @__PURE__ */ jsxRuntime.jsx(
|
|
2854
|
+
"span",
|
|
2855
|
+
{
|
|
2856
|
+
role: "button",
|
|
2857
|
+
tabIndex: 0,
|
|
2858
|
+
onClick: (event) => {
|
|
2859
|
+
event.stopPropagation();
|
|
2860
|
+
event.preventDefault();
|
|
2861
|
+
onRemoveFromCanvas(id);
|
|
2862
|
+
},
|
|
2863
|
+
className: "nodrag nopan cursor-pointer rounded-lg p-1 opacity-0 transition hover:bg-red-50 group-hover:opacity-100 dark:hover:bg-red-900/20",
|
|
2864
|
+
"aria-label": t("removeFromCanvas"),
|
|
2865
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(outline.TrashIcon, { className: "h-3.5 w-3.5 text-red-600 dark:text-red-400" })
|
|
2866
|
+
}
|
|
2867
|
+
)
|
|
2868
|
+
] })
|
|
2869
|
+
] });
|
|
2715
2870
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
2716
2871
|
/* @__PURE__ */ jsxRuntime.jsx(NodeRunningIndicator, { nodeId: id }),
|
|
2717
2872
|
/* @__PURE__ */ jsxRuntime.jsx(WorkflowHandle, { type: "target", position: react$1.Position.Left, id: "left-in", colorClass: "!bg-cyan-400" }),
|
|
2718
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2873
|
+
readOnly || !onEdit ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-full", children: content }) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
2719
2874
|
"button",
|
|
2720
2875
|
{
|
|
2721
2876
|
type: "button",
|
|
2722
|
-
onClick: () => onEdit
|
|
2877
|
+
onClick: () => onEdit(id),
|
|
2723
2878
|
className: "w-full text-left",
|
|
2724
|
-
children:
|
|
2725
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start gap-3", children: [
|
|
2726
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-10 w-10 items-center justify-center rounded-xl bg-gradient-to-br from-cyan-500 to-blue-600 shadow-lg", children: /* @__PURE__ */ jsxRuntime.jsx(outline.ServerStackIcon, { className: "h-5 w-5 text-white" }) }),
|
|
2727
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0 flex-1", children: [
|
|
2728
|
-
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-sm font-semibold text-gray-900 dark:text-white", children: label }),
|
|
2729
|
-
!isCompact && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-0.5 text-xs text-gray-500 dark:text-gray-400", children: config.table ?? config.datasourceId })
|
|
2730
|
-
] })
|
|
2731
|
-
] }),
|
|
2732
|
-
/* @__PURE__ */ jsxRuntime.jsxs(NodeCardMeta, { compact: isCompact, children: [
|
|
2733
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
2734
|
-
config.dialect && /* @__PURE__ */ jsxRuntime.jsx(NodeCardBadge, { className: "inline-flex items-center rounded-full px-2 py-0.5 text-[10px] font-semibold bg-cyan-100 text-cyan-700 dark:bg-cyan-900/30 dark:text-cyan-300", children: config.dialect }),
|
|
2735
|
-
config.table && /* @__PURE__ */ jsxRuntime.jsx(NodeCardBadge, { className: "inline-flex items-center rounded-full px-2 py-0.5 text-[10px] font-medium bg-cyan-100 text-cyan-700 dark:bg-cyan-900/30 dark:text-cyan-300", children: config.table }),
|
|
2736
|
-
columnCount > 0 && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-[10px] text-gray-400 dark:text-gray-500", children: [
|
|
2737
|
-
columnCount,
|
|
2738
|
-
" ",
|
|
2739
|
-
t("datasourceColumns")
|
|
2740
|
-
] }),
|
|
2741
|
-
config.limit > 0 && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-[10px] text-gray-400 dark:text-gray-500", children: t("datasourceLimit", { count: config.limit }) }),
|
|
2742
|
-
filterCount > 0 && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-[10px] text-gray-400 dark:text-gray-500", children: [
|
|
2743
|
-
filterCount,
|
|
2744
|
-
" ",
|
|
2745
|
-
t("datasourceFilters")
|
|
2746
|
-
] })
|
|
2747
|
-
] }),
|
|
2748
|
-
onRemoveFromCanvas && /* @__PURE__ */ jsxRuntime.jsx(
|
|
2749
|
-
"span",
|
|
2750
|
-
{
|
|
2751
|
-
role: "button",
|
|
2752
|
-
tabIndex: 0,
|
|
2753
|
-
onClick: (event) => {
|
|
2754
|
-
event.stopPropagation();
|
|
2755
|
-
event.preventDefault();
|
|
2756
|
-
onRemoveFromCanvas(id);
|
|
2757
|
-
},
|
|
2758
|
-
className: "nodrag nopan cursor-pointer rounded-lg p-1 opacity-0 transition hover:bg-red-50 group-hover:opacity-100 dark:hover:bg-red-900/20",
|
|
2759
|
-
"aria-label": t("removeFromCanvas"),
|
|
2760
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(outline.TrashIcon, { className: "h-3.5 w-3.5 text-red-600 dark:text-red-400" })
|
|
2761
|
-
}
|
|
2762
|
-
)
|
|
2763
|
-
] })
|
|
2764
|
-
] })
|
|
2879
|
+
children: content
|
|
2765
2880
|
}
|
|
2766
2881
|
),
|
|
2767
2882
|
/* @__PURE__ */ jsxRuntime.jsx(WorkflowHandle, { type: "source", position: react$1.Position.Right, id: "right-out", colorClass: "!bg-cyan-400" })
|
|
@@ -3039,8 +3154,8 @@ function ConfigFormActions({
|
|
|
3039
3154
|
saveDisabled = false
|
|
3040
3155
|
}) {
|
|
3041
3156
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex justify-end gap-2 border-t border-gray-200 pt-4 dark:border-gray-700", children: [
|
|
3042
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3043
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3157
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunk6N5UGKD7_js.Button, { type: "button", outline: true, onClick: onCancel, children: cancelLabel }),
|
|
3158
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunk6N5UGKD7_js.Button, { type: "button", onClick: onSave, disabled: saveDisabled, children: saveLabel })
|
|
3044
3159
|
] });
|
|
3045
3160
|
}
|
|
3046
3161
|
var COLOR_CLASSES = {
|
|
@@ -3287,7 +3402,7 @@ function IfElseNodeConfigForm({ config, onSave, onCancel }) {
|
|
|
3287
3402
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-3 flex items-center justify-between", children: [
|
|
3288
3403
|
/* @__PURE__ */ jsxRuntime.jsx("label", { className: "text-sm font-medium text-gray-700 dark:text-gray-300", children: t("conditionsLabel") }),
|
|
3289
3404
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3290
|
-
|
|
3405
|
+
chunk6N5UGKD7_js.Button,
|
|
3291
3406
|
{
|
|
3292
3407
|
type: "button",
|
|
3293
3408
|
onClick: handleAddCondition,
|
|
@@ -3298,7 +3413,7 @@ function IfElseNodeConfigForm({ config, onSave, onCancel }) {
|
|
|
3298
3413
|
/* @__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: [
|
|
3299
3414
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid flex-1 grid-cols-3 gap-2", children: [
|
|
3300
3415
|
/* @__PURE__ */ jsxRuntime.jsx("div", { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
3301
|
-
|
|
3416
|
+
chunk6N5UGKD7_js.FormInput,
|
|
3302
3417
|
{
|
|
3303
3418
|
type: "text",
|
|
3304
3419
|
label: t("variableLabel"),
|
|
@@ -3309,7 +3424,7 @@ function IfElseNodeConfigForm({ config, onSave, onCancel }) {
|
|
|
3309
3424
|
}
|
|
3310
3425
|
) }),
|
|
3311
3426
|
/* @__PURE__ */ jsxRuntime.jsx("div", { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
3312
|
-
|
|
3427
|
+
chunk6N5UGKD7_js.FormSelect,
|
|
3313
3428
|
{
|
|
3314
3429
|
label: t("operatorLabel"),
|
|
3315
3430
|
value: condition.operator,
|
|
@@ -3319,7 +3434,7 @@ function IfElseNodeConfigForm({ config, onSave, onCancel }) {
|
|
|
3319
3434
|
}
|
|
3320
3435
|
) }),
|
|
3321
3436
|
/* @__PURE__ */ jsxRuntime.jsx("div", { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
3322
|
-
|
|
3437
|
+
chunk6N5UGKD7_js.FormInput,
|
|
3323
3438
|
{
|
|
3324
3439
|
type: "text",
|
|
3325
3440
|
label: t("valueLabel"),
|
|
@@ -3331,7 +3446,7 @@ function IfElseNodeConfigForm({ config, onSave, onCancel }) {
|
|
|
3331
3446
|
) })
|
|
3332
3447
|
] }),
|
|
3333
3448
|
conditions.length > 1 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
3334
|
-
|
|
3449
|
+
chunk6N5UGKD7_js.IconButton,
|
|
3335
3450
|
{
|
|
3336
3451
|
onClick: () => handleRemoveCondition(index),
|
|
3337
3452
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.TrashIcon, { className: "h-4 w-4" }),
|
|
@@ -3486,7 +3601,7 @@ function HttpRequestNodeConfigForm({ config, onSave, onCancel }) {
|
|
|
3486
3601
|
};
|
|
3487
3602
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
3488
3603
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3489
|
-
|
|
3604
|
+
chunk6N5UGKD7_js.FormSelect,
|
|
3490
3605
|
{
|
|
3491
3606
|
label: t("methodLabel"),
|
|
3492
3607
|
value: method,
|
|
@@ -3495,7 +3610,7 @@ function HttpRequestNodeConfigForm({ config, onSave, onCancel }) {
|
|
|
3495
3610
|
}
|
|
3496
3611
|
),
|
|
3497
3612
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3498
|
-
|
|
3613
|
+
chunk6N5UGKD7_js.FormInput,
|
|
3499
3614
|
{
|
|
3500
3615
|
type: "text",
|
|
3501
3616
|
label: t("urlLabel"),
|
|
@@ -3508,7 +3623,7 @@ function HttpRequestNodeConfigForm({ config, onSave, onCancel }) {
|
|
|
3508
3623
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-2 flex items-center justify-between", children: [
|
|
3509
3624
|
/* @__PURE__ */ jsxRuntime.jsx("label", { className: "text-sm font-medium text-gray-700 dark:text-gray-300", children: t("headersLabel") }),
|
|
3510
3625
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3511
|
-
|
|
3626
|
+
chunk6N5UGKD7_js.Button,
|
|
3512
3627
|
{
|
|
3513
3628
|
type: "button",
|
|
3514
3629
|
onClick: handleAddHeader,
|
|
@@ -3518,7 +3633,7 @@ function HttpRequestNodeConfigForm({ config, onSave, onCancel }) {
|
|
|
3518
3633
|
] }),
|
|
3519
3634
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-2", children: headerEntries.map((entry, index) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
3520
3635
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3521
|
-
|
|
3636
|
+
chunk6N5UGKD7_js.FormInput,
|
|
3522
3637
|
{
|
|
3523
3638
|
type: "text",
|
|
3524
3639
|
value: entry.key,
|
|
@@ -3528,7 +3643,7 @@ function HttpRequestNodeConfigForm({ config, onSave, onCancel }) {
|
|
|
3528
3643
|
}
|
|
3529
3644
|
),
|
|
3530
3645
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3531
|
-
|
|
3646
|
+
chunk6N5UGKD7_js.FormInput,
|
|
3532
3647
|
{
|
|
3533
3648
|
type: "text",
|
|
3534
3649
|
value: entry.value,
|
|
@@ -3538,7 +3653,7 @@ function HttpRequestNodeConfigForm({ config, onSave, onCancel }) {
|
|
|
3538
3653
|
}
|
|
3539
3654
|
),
|
|
3540
3655
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3541
|
-
|
|
3656
|
+
chunk6N5UGKD7_js.IconButton,
|
|
3542
3657
|
{
|
|
3543
3658
|
onClick: () => handleRemoveHeader(index),
|
|
3544
3659
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.TrashIcon, { className: "h-4 w-4" }),
|
|
@@ -3550,7 +3665,7 @@ function HttpRequestNodeConfigForm({ config, onSave, onCancel }) {
|
|
|
3550
3665
|
] }, index)) })
|
|
3551
3666
|
] }),
|
|
3552
3667
|
method !== "GET" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
3553
|
-
|
|
3668
|
+
chunk6N5UGKD7_js.FormTextarea,
|
|
3554
3669
|
{
|
|
3555
3670
|
label: t("bodyLabel"),
|
|
3556
3671
|
value: body,
|
|
@@ -3561,7 +3676,7 @@ function HttpRequestNodeConfigForm({ config, onSave, onCancel }) {
|
|
|
3561
3676
|
}
|
|
3562
3677
|
),
|
|
3563
3678
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3564
|
-
|
|
3679
|
+
chunk6N5UGKD7_js.FormInput,
|
|
3565
3680
|
{
|
|
3566
3681
|
type: "number",
|
|
3567
3682
|
label: t("timeoutLabel"),
|
|
@@ -3592,7 +3707,7 @@ function TemplateTransformNodeConfigForm({ config, onSave, onCancel }) {
|
|
|
3592
3707
|
};
|
|
3593
3708
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
3594
3709
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3595
|
-
|
|
3710
|
+
chunk6N5UGKD7_js.FormTextarea,
|
|
3596
3711
|
{
|
|
3597
3712
|
label: t("templateLabel"),
|
|
3598
3713
|
value: template,
|
|
@@ -3603,7 +3718,7 @@ function TemplateTransformNodeConfigForm({ config, onSave, onCancel }) {
|
|
|
3603
3718
|
}
|
|
3604
3719
|
),
|
|
3605
3720
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3606
|
-
|
|
3721
|
+
chunk6N5UGKD7_js.FormInput,
|
|
3607
3722
|
{
|
|
3608
3723
|
type: "text",
|
|
3609
3724
|
label: t("outputVariableLabel"),
|
|
@@ -3632,7 +3747,7 @@ function IterationNodeConfigForm({ config, onSave, onCancel }) {
|
|
|
3632
3747
|
};
|
|
3633
3748
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
3634
3749
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3635
|
-
|
|
3750
|
+
chunk6N5UGKD7_js.FormInput,
|
|
3636
3751
|
{
|
|
3637
3752
|
type: "text",
|
|
3638
3753
|
label: t("iteratorVariableLabel"),
|
|
@@ -3642,7 +3757,7 @@ function IterationNodeConfigForm({ config, onSave, onCancel }) {
|
|
|
3642
3757
|
}
|
|
3643
3758
|
),
|
|
3644
3759
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3645
|
-
|
|
3760
|
+
chunk6N5UGKD7_js.FormInput,
|
|
3646
3761
|
{
|
|
3647
3762
|
type: "number",
|
|
3648
3763
|
label: t("maxIterationsLabel"),
|
|
@@ -3673,7 +3788,7 @@ function KnowledgeBaseNodeConfigForm({ config, onSave, onCancel }) {
|
|
|
3673
3788
|
};
|
|
3674
3789
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
3675
3790
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3676
|
-
|
|
3791
|
+
chunk6N5UGKD7_js.FormInput,
|
|
3677
3792
|
{
|
|
3678
3793
|
type: "text",
|
|
3679
3794
|
label: t("sourceIdLabel"),
|
|
@@ -3683,7 +3798,7 @@ function KnowledgeBaseNodeConfigForm({ config, onSave, onCancel }) {
|
|
|
3683
3798
|
}
|
|
3684
3799
|
),
|
|
3685
3800
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3686
|
-
|
|
3801
|
+
chunk6N5UGKD7_js.FormInput,
|
|
3687
3802
|
{
|
|
3688
3803
|
type: "number",
|
|
3689
3804
|
label: t("topKLabel"),
|
|
@@ -3694,7 +3809,7 @@ function KnowledgeBaseNodeConfigForm({ config, onSave, onCancel }) {
|
|
|
3694
3809
|
}
|
|
3695
3810
|
),
|
|
3696
3811
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3697
|
-
|
|
3812
|
+
chunk6N5UGKD7_js.FormInput,
|
|
3698
3813
|
{
|
|
3699
3814
|
type: "number",
|
|
3700
3815
|
label: t("similarityThresholdLabel"),
|
|
@@ -3725,7 +3840,7 @@ function AnswerNodeConfigForm({ config, onSave, onCancel }) {
|
|
|
3725
3840
|
};
|
|
3726
3841
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
3727
3842
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3728
|
-
|
|
3843
|
+
chunk6N5UGKD7_js.FormTextarea,
|
|
3729
3844
|
{
|
|
3730
3845
|
label: t("outputTemplateLabel"),
|
|
3731
3846
|
hint: t("outputTemplateHelp"),
|
|
@@ -4159,7 +4274,7 @@ function VariableAggregatorNodeConfigForm({ config, onSave, onCancel }) {
|
|
|
4159
4274
|
}
|
|
4160
4275
|
),
|
|
4161
4276
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4162
|
-
|
|
4277
|
+
chunk6N5UGKD7_js.FormInput,
|
|
4163
4278
|
{
|
|
4164
4279
|
type: "text",
|
|
4165
4280
|
label: t("outputVariableLabel"),
|
|
@@ -4169,7 +4284,7 @@ function VariableAggregatorNodeConfigForm({ config, onSave, onCancel }) {
|
|
|
4169
4284
|
}
|
|
4170
4285
|
),
|
|
4171
4286
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4172
|
-
|
|
4287
|
+
chunk6N5UGKD7_js.FormSelect,
|
|
4173
4288
|
{
|
|
4174
4289
|
label: t("aggregationModeLabel"),
|
|
4175
4290
|
value: aggregationMode,
|
|
@@ -4202,7 +4317,7 @@ function DocumentExtractorNodeConfigForm({ config, onSave, onCancel }) {
|
|
|
4202
4317
|
};
|
|
4203
4318
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
4204
4319
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4205
|
-
|
|
4320
|
+
chunk6N5UGKD7_js.FormSelect,
|
|
4206
4321
|
{
|
|
4207
4322
|
label: t("extractionModeLabel"),
|
|
4208
4323
|
value: extractionMode,
|
|
@@ -4211,7 +4326,7 @@ function DocumentExtractorNodeConfigForm({ config, onSave, onCancel }) {
|
|
|
4211
4326
|
}
|
|
4212
4327
|
),
|
|
4213
4328
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4214
|
-
|
|
4329
|
+
chunk6N5UGKD7_js.FormInput,
|
|
4215
4330
|
{
|
|
4216
4331
|
type: "text",
|
|
4217
4332
|
label: t("outputVariableLabel"),
|
|
@@ -4388,7 +4503,7 @@ function IterationStartNodeConfigForm({ config, onSave, onCancel }) {
|
|
|
4388
4503
|
};
|
|
4389
4504
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
4390
4505
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4391
|
-
|
|
4506
|
+
chunk6N5UGKD7_js.FormInput,
|
|
4392
4507
|
{
|
|
4393
4508
|
type: "text",
|
|
4394
4509
|
label: t("iteratorVariableLabel"),
|
|
@@ -4398,7 +4513,7 @@ function IterationStartNodeConfigForm({ config, onSave, onCancel }) {
|
|
|
4398
4513
|
}
|
|
4399
4514
|
),
|
|
4400
4515
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4401
|
-
|
|
4516
|
+
chunk6N5UGKD7_js.FormInput,
|
|
4402
4517
|
{
|
|
4403
4518
|
type: "text",
|
|
4404
4519
|
label: t("itemVariableLabel"),
|
|
@@ -4408,7 +4523,7 @@ function IterationStartNodeConfigForm({ config, onSave, onCancel }) {
|
|
|
4408
4523
|
}
|
|
4409
4524
|
),
|
|
4410
4525
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4411
|
-
|
|
4526
|
+
chunk6N5UGKD7_js.FormInput,
|
|
4412
4527
|
{
|
|
4413
4528
|
type: "text",
|
|
4414
4529
|
label: t("indexVariableLabel"),
|
|
@@ -5002,7 +5117,7 @@ function GroupNodeConfigForm({ config, onSave, onCancel }) {
|
|
|
5002
5117
|
};
|
|
5003
5118
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
5004
5119
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5005
|
-
|
|
5120
|
+
chunk6N5UGKD7_js.FormInput,
|
|
5006
5121
|
{
|
|
5007
5122
|
type: "text",
|
|
5008
5123
|
label: translations("labelField"),
|
|
@@ -5012,7 +5127,7 @@ function GroupNodeConfigForm({ config, onSave, onCancel }) {
|
|
|
5012
5127
|
}
|
|
5013
5128
|
),
|
|
5014
5129
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5015
|
-
|
|
5130
|
+
chunk6N5UGKD7_js.FormTextarea,
|
|
5016
5131
|
{
|
|
5017
5132
|
label: translations("descriptionField"),
|
|
5018
5133
|
value: description,
|
|
@@ -5170,7 +5285,7 @@ function ModelProviderNodeConfigForm({ config, onSave, onCancel }) {
|
|
|
5170
5285
|
};
|
|
5171
5286
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
5172
5287
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5173
|
-
|
|
5288
|
+
chunk6N5UGKD7_js.FormInput,
|
|
5174
5289
|
{
|
|
5175
5290
|
type: "text",
|
|
5176
5291
|
label: t("nameLabel"),
|
|
@@ -5180,7 +5295,7 @@ function ModelProviderNodeConfigForm({ config, onSave, onCancel }) {
|
|
|
5180
5295
|
}
|
|
5181
5296
|
),
|
|
5182
5297
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5183
|
-
|
|
5298
|
+
chunk6N5UGKD7_js.FormSelect,
|
|
5184
5299
|
{
|
|
5185
5300
|
label: t("providerTypeLabel"),
|
|
5186
5301
|
value: providerType,
|
|
@@ -5189,7 +5304,7 @@ function ModelProviderNodeConfigForm({ config, onSave, onCancel }) {
|
|
|
5189
5304
|
}
|
|
5190
5305
|
),
|
|
5191
5306
|
showRegion && /* @__PURE__ */ jsxRuntime.jsx(
|
|
5192
|
-
|
|
5307
|
+
chunk6N5UGKD7_js.FormSelect,
|
|
5193
5308
|
{
|
|
5194
5309
|
label: t("regionLabel"),
|
|
5195
5310
|
value: region,
|
|
@@ -5198,7 +5313,7 @@ function ModelProviderNodeConfigForm({ config, onSave, onCancel }) {
|
|
|
5198
5313
|
}
|
|
5199
5314
|
),
|
|
5200
5315
|
showEndpoint && /* @__PURE__ */ jsxRuntime.jsx(
|
|
5201
|
-
|
|
5316
|
+
chunk6N5UGKD7_js.FormInput,
|
|
5202
5317
|
{
|
|
5203
5318
|
type: "text",
|
|
5204
5319
|
label: t("endpointLabel"),
|
|
@@ -5208,7 +5323,7 @@ function ModelProviderNodeConfigForm({ config, onSave, onCancel }) {
|
|
|
5208
5323
|
}
|
|
5209
5324
|
),
|
|
5210
5325
|
showApiKey && /* @__PURE__ */ jsxRuntime.jsx(
|
|
5211
|
-
|
|
5326
|
+
chunk6N5UGKD7_js.FormInput,
|
|
5212
5327
|
{
|
|
5213
5328
|
type: "password",
|
|
5214
5329
|
label: t("apiKeyLabel"),
|
|
@@ -5218,7 +5333,7 @@ function ModelProviderNodeConfigForm({ config, onSave, onCancel }) {
|
|
|
5218
5333
|
}
|
|
5219
5334
|
),
|
|
5220
5335
|
showCredentialRef && /* @__PURE__ */ jsxRuntime.jsx(
|
|
5221
|
-
|
|
5336
|
+
chunk6N5UGKD7_js.FormInput,
|
|
5222
5337
|
{
|
|
5223
5338
|
type: "text",
|
|
5224
5339
|
label: t("credentialRefLabel"),
|
|
@@ -5362,7 +5477,7 @@ function LogicNodeModal({ onSave, entities = [], datasources = [], onLoadTables,
|
|
|
5362
5477
|
}
|
|
5363
5478
|
};
|
|
5364
5479
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
5365
|
-
|
|
5480
|
+
chunk6N5UGKD7_js.GlassModalShell,
|
|
5366
5481
|
{
|
|
5367
5482
|
open,
|
|
5368
5483
|
onClose: closeModal,
|
|
@@ -5422,7 +5537,7 @@ function NodeContextMenu({ position, targetId, onClose, onEdit, onDuplicate, onC
|
|
|
5422
5537
|
}
|
|
5423
5538
|
];
|
|
5424
5539
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
5425
|
-
|
|
5540
|
+
chunk6N5UGKD7_js.ContextMenu,
|
|
5426
5541
|
{
|
|
5427
5542
|
position,
|
|
5428
5543
|
onClose,
|
|
@@ -5479,7 +5594,7 @@ function PanelContextMenu({ position, onClose, onPaste, onSelectAll, onFitView,
|
|
|
5479
5594
|
}
|
|
5480
5595
|
];
|
|
5481
5596
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
5482
|
-
|
|
5597
|
+
chunk6N5UGKD7_js.ContextMenu,
|
|
5483
5598
|
{
|
|
5484
5599
|
position,
|
|
5485
5600
|
onClose,
|
|
@@ -5626,7 +5741,7 @@ function SelectionContextMenu({
|
|
|
5626
5741
|
}
|
|
5627
5742
|
];
|
|
5628
5743
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
5629
|
-
|
|
5744
|
+
chunk6N5UGKD7_js.ContextMenu,
|
|
5630
5745
|
{
|
|
5631
5746
|
position,
|
|
5632
5747
|
onClose,
|
|
@@ -6034,6 +6149,28 @@ function WorkflowCanvasInner({
|
|
|
6034
6149
|
}
|
|
6035
6150
|
};
|
|
6036
6151
|
}
|
|
6152
|
+
if (savedNode.type === "datasource") {
|
|
6153
|
+
const datasourceConfig = savedNode.data.config;
|
|
6154
|
+
const datasourceEntity = datasourceConfig ? entityMap.get(datasourceConfig.datasourceId) : void 0;
|
|
6155
|
+
const extendedNodeData = savedNode.data;
|
|
6156
|
+
return {
|
|
6157
|
+
id: savedNode.id,
|
|
6158
|
+
type: "datasource",
|
|
6159
|
+
position: savedNode.position,
|
|
6160
|
+
data: {
|
|
6161
|
+
config: datasourceConfig,
|
|
6162
|
+
datasource: datasourceEntity ? {
|
|
6163
|
+
id: datasourceEntity.id,
|
|
6164
|
+
name: datasourceEntity.label,
|
|
6165
|
+
dialect: datasourceConfig?.dialect ?? "unknown"
|
|
6166
|
+
} : void 0,
|
|
6167
|
+
label: savedNode.data.label,
|
|
6168
|
+
readOnly: extendedNodeData.readOnly === true,
|
|
6169
|
+
onEdit: extendedNodeData.readOnly === true ? void 0 : handleEditLogicNode,
|
|
6170
|
+
onRemoveFromCanvas: handleRemoveNodeFromCanvas
|
|
6171
|
+
}
|
|
6172
|
+
};
|
|
6173
|
+
}
|
|
6037
6174
|
if (savedNode.type === "group") {
|
|
6038
6175
|
const groupConfig = savedNode.data.config;
|
|
6039
6176
|
const defaultGroupConfig = {
|
|
@@ -7442,6 +7579,7 @@ exports.ListOperatorFlowNode = ListOperatorFlowNode;
|
|
|
7442
7579
|
exports.LogicNodeModal = LogicNodeModal;
|
|
7443
7580
|
exports.MINIMAP_NODE_COLORS = MINIMAP_NODE_COLORS;
|
|
7444
7581
|
exports.ModelProviderFlowNode = ModelProviderFlowNode;
|
|
7582
|
+
exports.NODE_EXECUTION_ACCENT_COLORS = NODE_EXECUTION_ACCENT_COLORS;
|
|
7445
7583
|
exports.NodeCard = NodeCard;
|
|
7446
7584
|
exports.NodeContextMenu = NodeContextMenu;
|
|
7447
7585
|
exports.NoteFlowNode = NoteFlowNode;
|
|
@@ -7468,10 +7606,13 @@ exports.getEntityHandleColor = getEntityHandleColor;
|
|
|
7468
7606
|
exports.getEntityIcon = getEntityIcon;
|
|
7469
7607
|
exports.getEntityMinimapColor = getEntityMinimapColor;
|
|
7470
7608
|
exports.getFrameworkMeta = getFrameworkMeta;
|
|
7609
|
+
exports.getNodeExecutionAccent = getNodeExecutionAccent;
|
|
7610
|
+
exports.getNodeExecutionAccentRgb = getNodeExecutionAccentRgb;
|
|
7611
|
+
exports.isFrameworkCompatibleWithProviders = isFrameworkCompatibleWithProviders;
|
|
7471
7612
|
exports.isModelCompatibleWithFramework = isModelCompatibleWithFramework;
|
|
7472
7613
|
exports.useModalStore = useModalStore;
|
|
7473
7614
|
exports.useWorkflowBuilderClient = useWorkflowBuilderClient;
|
|
7474
7615
|
exports.useWorkflowBuilderClientOptional = useWorkflowBuilderClientOptional;
|
|
7475
7616
|
exports.useWorkflowStore = useWorkflowStore;
|
|
7476
|
-
//# sourceMappingURL=chunk-
|
|
7477
|
-
//# sourceMappingURL=chunk-
|
|
7617
|
+
//# sourceMappingURL=chunk-E6ALKSGA.js.map
|
|
7618
|
+
//# sourceMappingURL=chunk-E6ALKSGA.js.map
|