@datatechsolutions/ui 2.7.140 → 2.8.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.
Files changed (62) hide show
  1. package/dist/chunk-3GDQP6AS.mjs +15 -0
  2. package/dist/chunk-3GDQP6AS.mjs.map +1 -0
  3. package/dist/{chunk-7VN2V7CT.mjs → chunk-6RXLXX5U.mjs} +17 -37
  4. package/dist/chunk-6RXLXX5U.mjs.map +1 -0
  5. package/dist/chunk-7VJ7CMMT.mjs +96 -0
  6. package/dist/chunk-7VJ7CMMT.mjs.map +1 -0
  7. package/dist/{chunk-WXI7OCNY.js → chunk-HVDLO6TN.js} +3860 -602
  8. package/dist/chunk-HVDLO6TN.js.map +1 -0
  9. package/dist/{chunk-SCGWR7XZ.mjs → chunk-NNYNGCT5.mjs} +3583 -324
  10. package/dist/chunk-NNYNGCT5.mjs.map +1 -0
  11. package/dist/chunk-QWG2FMUN.mjs +60 -0
  12. package/dist/chunk-QWG2FMUN.mjs.map +1 -0
  13. package/dist/{chunk-27M5YIVF.js → chunk-RQMB4Q4G.js} +112 -136
  14. package/dist/chunk-RQMB4Q4G.js.map +1 -0
  15. package/dist/chunk-S7KHTUHA.js +65 -0
  16. package/dist/chunk-S7KHTUHA.js.map +1 -0
  17. package/dist/chunk-VUNV25KB.js +18 -0
  18. package/dist/chunk-VUNV25KB.js.map +1 -0
  19. package/dist/chunk-YXN2K77G.js +102 -0
  20. package/dist/chunk-YXN2K77G.js.map +1 -0
  21. package/dist/index.d.mts +45 -5
  22. package/dist/index.d.ts +45 -5
  23. package/dist/index.js +381 -338
  24. package/dist/index.mjs +4 -1
  25. package/dist/lib/i18n-context.d.mts +36 -0
  26. package/dist/lib/i18n-context.d.ts +36 -0
  27. package/dist/lib/i18n-context.js +30 -0
  28. package/dist/lib/i18n-context.js.map +1 -0
  29. package/dist/lib/i18n-context.mjs +5 -0
  30. package/dist/lib/i18n-context.mjs.map +1 -0
  31. package/dist/lib/router-context.d.mts +35 -0
  32. package/dist/lib/router-context.d.ts +35 -0
  33. package/dist/lib/router-context.js +26 -0
  34. package/dist/lib/router-context.js.map +1 -0
  35. package/dist/lib/router-context.mjs +5 -0
  36. package/dist/lib/router-context.mjs.map +1 -0
  37. package/dist/navigation-ANFMVDVW.mjs +2445 -0
  38. package/dist/navigation-ANFMVDVW.mjs.map +1 -0
  39. package/dist/navigation-JQ2TJKKI.js +2447 -0
  40. package/dist/navigation-JQ2TJKKI.js.map +1 -0
  41. package/dist/{use-haptic-RDQNJYBE.js → use-haptic-2SHBMEY5.js} +3 -2
  42. package/dist/{use-haptic-RDQNJYBE.js.map → use-haptic-2SHBMEY5.js.map} +1 -1
  43. package/dist/use-haptic-4UCNQATC.mjs +5 -0
  44. package/dist/{use-haptic-TCMOLPGA.mjs.map → use-haptic-4UCNQATC.mjs.map} +1 -1
  45. package/dist/workflow/graph-node.js +1 -0
  46. package/dist/workflow/graph-node.mjs +1 -0
  47. package/dist/workflow/index.js +135 -133
  48. package/dist/workflow/index.js.map +1 -1
  49. package/dist/workflow/index.mjs +7 -5
  50. package/dist/workflow/index.mjs.map +1 -1
  51. package/dist/workflow/utils.js +1 -0
  52. package/dist/workflow/utils.mjs +1 -0
  53. package/dist/workflow/workflow-canvas.js +7 -4
  54. package/dist/workflow/workflow-canvas.mjs +6 -3
  55. package/dist/workflow/workflow-preview-canvas.js +1 -1
  56. package/dist/workflow/workflow-preview-canvas.mjs +1 -1
  57. package/package.json +12 -4
  58. package/dist/chunk-27M5YIVF.js.map +0 -1
  59. package/dist/chunk-7VN2V7CT.mjs.map +0 -1
  60. package/dist/chunk-SCGWR7XZ.mjs.map +0 -1
  61. package/dist/chunk-WXI7OCNY.js.map +0 -1
  62. package/dist/use-haptic-TCMOLPGA.mjs +0 -4
@@ -1,12 +1,11 @@
1
1
  "use client";
2
2
  'use strict';
3
3
 
4
- var chunkWXI7OCNY_js = require('./chunk-WXI7OCNY.js');
4
+ var chunkHVDLO6TN_js = require('./chunk-HVDLO6TN.js');
5
+ var chunkYXN2K77G_js = require('./chunk-YXN2K77G.js');
5
6
  var chunkNJ6PBGQM_js = require('./chunk-NJ6PBGQM.js');
6
7
  var chunkULPKAD4A_js = require('./chunk-ULPKAD4A.js');
7
8
  var react = require('react');
8
- var nextIntl = require('next-intl');
9
- var dynamic = require('next/dynamic.js');
10
9
  var react$1 = require('@xyflow/react');
11
10
  require('@xyflow/react/dist/style.css');
12
11
  var zustand = require('zustand');
@@ -14,10 +13,6 @@ var solid = require('@heroicons/react/24/solid');
14
13
  var outline = require('@heroicons/react/24/outline');
15
14
  var jsxRuntime = require('react/jsx-runtime');
16
15
 
17
- function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
18
-
19
- var dynamic__default = /*#__PURE__*/_interopDefault(dynamic);
20
-
21
16
  var DEFAULT_PASTE_OFFSET = 40;
22
17
  var useWorkflowStore = zustand.create((set, get) => ({
23
18
  // ──────────────────────────────────────────────────────────────────────────
@@ -472,7 +467,7 @@ var INSERTABLE_NODES = [
472
467
  { nodeType: "parameter_extractor", nameKey: "parameterExtractorNode", subcategory: "AI" }
473
468
  ];
474
469
  function EdgeInsertPopupComponent({ position, onSelect, onClose }) {
475
- const tWorkflow = nextIntl.useTranslations("agents.workflow");
470
+ const tWorkflow = chunkYXN2K77G_js.useTranslations("agents.workflow");
476
471
  const [searchQuery, setSearchQuery] = react.useState("");
477
472
  const popupRef = react.useRef(null);
478
473
  const inputRef = react.useRef(null);
@@ -1333,7 +1328,7 @@ function NodeRunningIndicatorComponent({ nodeId }) {
1333
1328
  }
1334
1329
  var NodeRunningIndicator = react.memo(NodeRunningIndicatorComponent);
1335
1330
  var AgentFlowNode = react.memo(function AgentFlowNode2({ id, data, selected }) {
1336
- const t = nextIntl.useTranslations("agents");
1331
+ const t = chunkYXN2K77G_js.useTranslations("agents");
1337
1332
  const isCompact = data.displayMode === "compact";
1338
1333
  if (!data.agent?.name) {
1339
1334
  const agentLabel = data.label;
@@ -1429,7 +1424,7 @@ var CATEGORY_PILL = {
1429
1424
  custom: "bg-amber-100 text-amber-700 dark:bg-amber-500/20 dark:text-amber-300"
1430
1425
  };
1431
1426
  var AgentToolFlowNode = react.memo(function AgentToolFlowNode2({ id, data, selected }) {
1432
- const t = nextIntl.useTranslations("agents.workflow");
1427
+ const t = chunkYXN2K77G_js.useTranslations("agents.workflow");
1433
1428
  const { agentTool, onRemoveFromCanvas } = data;
1434
1429
  const isCompact = data.displayMode === "compact";
1435
1430
  if (!agentTool?.name) {
@@ -1506,7 +1501,7 @@ var AgentToolFlowNode = react.memo(function AgentToolFlowNode2({ id, data, selec
1506
1501
  ] });
1507
1502
  });
1508
1503
  var ToolFlowNode = react.memo(function ToolFlowNode2({ id, data, selected }) {
1509
- const t = nextIntl.useTranslations("admin.tools");
1504
+ const t = chunkYXN2K77G_js.useTranslations("admin.tools");
1510
1505
  const { tool, onRemoveFromCanvas } = data;
1511
1506
  const isCompact = data.displayMode === "compact";
1512
1507
  if (!tool?.name) {
@@ -1613,7 +1608,7 @@ var ToolFlowNode = react.memo(function ToolFlowNode2({ id, data, selected }) {
1613
1608
  ] });
1614
1609
  });
1615
1610
  var RuleFlowNode = react.memo(function RuleFlowNode2({ id, data, selected }) {
1616
- const t = nextIntl.useTranslations("admin.rules");
1611
+ const t = chunkYXN2K77G_js.useTranslations("admin.rules");
1617
1612
  const { rule, onRemoveFromCanvas } = data;
1618
1613
  const isCompact = data.displayMode === "compact";
1619
1614
  if (!rule?.action) {
@@ -1764,7 +1759,7 @@ var RuleFlowNode = react.memo(function RuleFlowNode2({ id, data, selected }) {
1764
1759
  ] });
1765
1760
  });
1766
1761
  var EntityFlowNode = react.memo(function EntityFlowNode2({ id, data, selected }) {
1767
- const t = nextIntl.useTranslations("agents.workflow");
1762
+ const t = chunkYXN2K77G_js.useTranslations("agents.workflow");
1768
1763
  const { config, label, onEdit, onRemoveFromCanvas } = data;
1769
1764
  const isCompact = data.displayMode === "compact";
1770
1765
  if (!config || config.type !== "entity") {
@@ -1845,7 +1840,7 @@ var EntityFlowNode = react.memo(function EntityFlowNode2({ id, data, selected })
1845
1840
  ] });
1846
1841
  });
1847
1842
  var StartFlowNode = react.memo(function StartFlowNode2({ id, data, selected }) {
1848
- const t = nextIntl.useTranslations("agents.workflow");
1843
+ const t = chunkYXN2K77G_js.useTranslations("agents.workflow");
1849
1844
  const { config, label, onDelete, onEdit } = data;
1850
1845
  const isCompact = data.displayMode === "compact";
1851
1846
  const variableCount = config?.inputVariables?.length ?? 0;
@@ -1889,7 +1884,7 @@ var StartFlowNode = react.memo(function StartFlowNode2({ id, data, selected }) {
1889
1884
  ] });
1890
1885
  });
1891
1886
  var EndFlowNode = react.memo(function EndFlowNode2({ id, data, selected }) {
1892
- const t = nextIntl.useTranslations("agents.workflow");
1887
+ const t = chunkYXN2K77G_js.useTranslations("agents.workflow");
1893
1888
  const { config, label, onDelete, onEdit } = data;
1894
1889
  const isCompact = data.displayMode === "compact";
1895
1890
  const variableCount = config?.outputVariables?.length ?? 0;
@@ -1933,7 +1928,7 @@ var EndFlowNode = react.memo(function EndFlowNode2({ id, data, selected }) {
1933
1928
  ] });
1934
1929
  });
1935
1930
  var IfElseFlowNode = react.memo(function IfElseFlowNode2({ id, data, selected }) {
1936
- const t = nextIntl.useTranslations("agents.workflow");
1931
+ const t = chunkYXN2K77G_js.useTranslations("agents.workflow");
1937
1932
  const { config, label, onDelete, onEdit } = data;
1938
1933
  const isCompact = data.displayMode === "compact";
1939
1934
  const conditionCount = config?.conditions?.length ?? 0;
@@ -1981,7 +1976,7 @@ var IfElseFlowNode = react.memo(function IfElseFlowNode2({ id, data, selected })
1981
1976
  ] });
1982
1977
  });
1983
1978
  var CodeFlowNode = react.memo(function CodeFlowNode2({ id, data, selected }) {
1984
- const t = nextIntl.useTranslations("agents.workflow");
1979
+ const t = chunkYXN2K77G_js.useTranslations("agents.workflow");
1985
1980
  const { config, label, onDelete, onEdit } = data;
1986
1981
  const isCompact = data.displayMode === "compact";
1987
1982
  const codePreview = config.code ? config.code.slice(0, 30) : "";
@@ -2025,7 +2020,7 @@ var CodeFlowNode = react.memo(function CodeFlowNode2({ id, data, selected }) {
2025
2020
  ] });
2026
2021
  });
2027
2022
  var HttpRequestFlowNode = react.memo(function HttpRequestFlowNode2({ id, data, selected }) {
2028
- const t = nextIntl.useTranslations("agents.workflow");
2023
+ const t = chunkYXN2K77G_js.useTranslations("agents.workflow");
2029
2024
  const { config, label, onDelete, onEdit } = data;
2030
2025
  const isCompact = data.displayMode === "compact";
2031
2026
  const urlPreview = config.url ? config.url.slice(0, 30) : "";
@@ -2066,7 +2061,7 @@ var HttpRequestFlowNode = react.memo(function HttpRequestFlowNode2({ id, data, s
2066
2061
  ] });
2067
2062
  });
2068
2063
  var TemplateTransformFlowNode = react.memo(function TemplateTransformFlowNode2({ id, data, selected }) {
2069
- const t = nextIntl.useTranslations("agents.workflow");
2064
+ const t = chunkYXN2K77G_js.useTranslations("agents.workflow");
2070
2065
  const { config, label, onDelete, onEdit } = data;
2071
2066
  const isCompact = data.displayMode === "compact";
2072
2067
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
@@ -2105,7 +2100,7 @@ var TemplateTransformFlowNode = react.memo(function TemplateTransformFlowNode2({
2105
2100
  ] });
2106
2101
  });
2107
2102
  var IterationFlowNode = react.memo(function IterationFlowNode2({ id, data, selected }) {
2108
- const t = nextIntl.useTranslations("agents.workflow");
2103
+ const t = chunkYXN2K77G_js.useTranslations("agents.workflow");
2109
2104
  const { config, label, onDelete, onEdit } = data;
2110
2105
  const isCompact = data.displayMode === "compact";
2111
2106
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
@@ -2150,7 +2145,7 @@ var IterationFlowNode = react.memo(function IterationFlowNode2({ id, data, selec
2150
2145
  ] });
2151
2146
  });
2152
2147
  var KnowledgeBaseFlowNode = react.memo(function KnowledgeBaseFlowNode2({ id, data, selected }) {
2153
- const t = nextIntl.useTranslations("agents.workflow");
2148
+ const t = chunkYXN2K77G_js.useTranslations("agents.workflow");
2154
2149
  const { config, label, onDelete, onEdit } = data;
2155
2150
  const isCompact = data.displayMode === "compact";
2156
2151
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
@@ -2198,7 +2193,7 @@ var KnowledgeBaseFlowNode = react.memo(function KnowledgeBaseFlowNode2({ id, dat
2198
2193
  ] });
2199
2194
  });
2200
2195
  var AnswerFlowNode = react.memo(function AnswerFlowNode2({ id, data, selected }) {
2201
- const t = nextIntl.useTranslations("agents.workflow");
2196
+ const t = chunkYXN2K77G_js.useTranslations("agents.workflow");
2202
2197
  const { config, label, onDelete, onEdit } = data;
2203
2198
  const isCompact = data.displayMode === "compact";
2204
2199
  const variableCount = config?.outputVariables?.length ?? 0;
@@ -2242,7 +2237,7 @@ var AnswerFlowNode = react.memo(function AnswerFlowNode2({ id, data, selected })
2242
2237
  ] });
2243
2238
  });
2244
2239
  var QuestionClassifierFlowNode = react.memo(function QuestionClassifierFlowNode2({ id, data, selected }) {
2245
- const t = nextIntl.useTranslations("agents.workflow");
2240
+ const t = chunkYXN2K77G_js.useTranslations("agents.workflow");
2246
2241
  const { config, label, onDelete, onEdit } = data;
2247
2242
  const isCompact = data.displayMode === "compact";
2248
2243
  const categoryCount = config?.categories?.length ?? 0;
@@ -2297,7 +2292,7 @@ var QuestionClassifierFlowNode = react.memo(function QuestionClassifierFlowNode2
2297
2292
  ] });
2298
2293
  });
2299
2294
  var ParameterExtractorFlowNode = react.memo(function ParameterExtractorFlowNode2({ id, data, selected }) {
2300
- const t = nextIntl.useTranslations("agents.workflow");
2295
+ const t = chunkYXN2K77G_js.useTranslations("agents.workflow");
2301
2296
  const { config, label, onDelete, onEdit } = data;
2302
2297
  const isCompact = data.displayMode === "compact";
2303
2298
  const parameterCount = config?.parameters?.length ?? 0;
@@ -2342,7 +2337,7 @@ var ParameterExtractorFlowNode = react.memo(function ParameterExtractorFlowNode2
2342
2337
  ] });
2343
2338
  });
2344
2339
  var VariableAssignerFlowNode = react.memo(function VariableAssignerFlowNode2({ id, data, selected }) {
2345
- const t = nextIntl.useTranslations("agents.workflow");
2340
+ const t = chunkYXN2K77G_js.useTranslations("agents.workflow");
2346
2341
  const { config, label, onDelete, onEdit } = data;
2347
2342
  const isCompact = data.displayMode === "compact";
2348
2343
  const assignmentCount = config?.assignments?.length ?? 0;
@@ -2387,7 +2382,7 @@ var VariableAssignerFlowNode = react.memo(function VariableAssignerFlowNode2({ i
2387
2382
  ] });
2388
2383
  });
2389
2384
  var VariableAggregatorFlowNode = react.memo(function VariableAggregatorFlowNode2({ id, data, selected }) {
2390
- const t = nextIntl.useTranslations("agents.workflow");
2385
+ const t = chunkYXN2K77G_js.useTranslations("agents.workflow");
2391
2386
  const { config, label, onDelete, onEdit } = data;
2392
2387
  const isCompact = data.displayMode === "compact";
2393
2388
  const inputCount = config?.inputVariables?.length ?? 1;
@@ -2432,7 +2427,7 @@ var VariableAggregatorFlowNode = react.memo(function VariableAggregatorFlowNode2
2432
2427
  ] });
2433
2428
  });
2434
2429
  var DocumentExtractorFlowNode = react.memo(function DocumentExtractorFlowNode2({ id, data, selected }) {
2435
- const t = nextIntl.useTranslations("agents.workflow");
2430
+ const t = chunkYXN2K77G_js.useTranslations("agents.workflow");
2436
2431
  const { config, label, onDelete, onEdit } = data;
2437
2432
  const isCompact = data.displayMode === "compact";
2438
2433
  const extractionMode = config.extractionMode;
@@ -2473,7 +2468,7 @@ var DocumentExtractorFlowNode = react.memo(function DocumentExtractorFlowNode2({
2473
2468
  ] });
2474
2469
  });
2475
2470
  var ListOperatorFlowNode = react.memo(function ListOperatorFlowNode2({ id, data, selected }) {
2476
- const t = nextIntl.useTranslations("agents.workflow");
2471
+ const t = chunkYXN2K77G_js.useTranslations("agents.workflow");
2477
2472
  const { config, label, onDelete, onEdit } = data;
2478
2473
  const isCompact = data.displayMode === "compact";
2479
2474
  const operationName = config.operation;
@@ -2514,7 +2509,7 @@ var ListOperatorFlowNode = react.memo(function ListOperatorFlowNode2({ id, data,
2514
2509
  ] });
2515
2510
  });
2516
2511
  var IterationStartFlowNode = react.memo(function IterationStartFlowNode2({ id, data, selected }) {
2517
- const t = nextIntl.useTranslations("agents.workflow");
2512
+ const t = chunkYXN2K77G_js.useTranslations("agents.workflow");
2518
2513
  const { config, label, onDelete, onEdit } = data;
2519
2514
  const isCompact = data.displayMode === "compact";
2520
2515
  const iteratorVariable = config.iteratorVariable;
@@ -2576,7 +2571,7 @@ var NOTE_ICON_COLORS = {
2576
2571
  purple: "text-purple-600 dark:text-purple-400"
2577
2572
  };
2578
2573
  var NoteFlowNode = react.memo(function NoteFlowNode2({ data, selected }) {
2579
- const t = nextIntl.useTranslations("agents.workflow");
2574
+ const t = chunkYXN2K77G_js.useTranslations("agents.workflow");
2580
2575
  const { config } = data;
2581
2576
  const [isEditing, setIsEditing] = react.useState(false);
2582
2577
  const [noteText, setNoteText] = react.useState(config.text);
@@ -2693,7 +2688,7 @@ var GROUP_COLORS = {
2693
2688
  }
2694
2689
  };
2695
2690
  var GroupFlowNode = react.memo(function GroupFlowNode2({ id, data, selected }) {
2696
- const translations = nextIntl.useTranslations("agents.workflow");
2691
+ const translations = chunkYXN2K77G_js.useTranslations("agents.workflow");
2697
2692
  const { config, label, onEdit, onToggleExpand, onRemoveFromCanvas } = data;
2698
2693
  const colorScheme = GROUP_COLORS[config.color] ?? GROUP_COLORS.slate;
2699
2694
  const handleToggleExpand = react.useCallback(
@@ -2830,7 +2825,7 @@ function WorkspaceDrawer({
2830
2825
  children
2831
2826
  }) {
2832
2827
  return /* @__PURE__ */ jsxRuntime.jsx(
2833
- chunkWXI7OCNY_js.EntityDrawer,
2828
+ chunkHVDLO6TN_js.EntityDrawer,
2834
2829
  {
2835
2830
  open,
2836
2831
  onClose,
@@ -2845,7 +2840,7 @@ function WorkspaceDrawer({
2845
2840
  );
2846
2841
  }
2847
2842
  function StartNodeConfigForm({ config, onSave, onCancel }) {
2848
- const t = nextIntl.useTranslations("agents.workflow.startNodeConfig");
2843
+ const t = chunkYXN2K77G_js.useTranslations("agents.workflow.startNodeConfig");
2849
2844
  const [inputVariables, setInputVariables] = react.useState([...config.inputVariables]);
2850
2845
  const [newVariable, setNewVariable] = react.useState("");
2851
2846
  const handleAddVariable = () => {
@@ -2873,7 +2868,7 @@ function StartNodeConfigForm({ config, onSave, onCancel }) {
2873
2868
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-2 text-xs text-gray-500 dark:text-gray-400", children: t("inputVariablesHelp") }),
2874
2869
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
2875
2870
  /* @__PURE__ */ jsxRuntime.jsx(
2876
- chunkWXI7OCNY_js.Input,
2871
+ chunkHVDLO6TN_js.Input,
2877
2872
  {
2878
2873
  value: newVariable,
2879
2874
  onChange: (event) => setNewVariable(event.target.value),
@@ -2883,7 +2878,7 @@ function StartNodeConfigForm({ config, onSave, onCancel }) {
2883
2878
  }
2884
2879
  ),
2885
2880
  /* @__PURE__ */ jsxRuntime.jsx(
2886
- chunkWXI7OCNY_js.Button,
2881
+ chunkHVDLO6TN_js.Button,
2887
2882
  {
2888
2883
  type: "button",
2889
2884
  onClick: handleAddVariable,
@@ -2900,7 +2895,7 @@ function StartNodeConfigForm({ config, onSave, onCancel }) {
2900
2895
  children: [
2901
2896
  variable,
2902
2897
  /* @__PURE__ */ jsxRuntime.jsx(
2903
- chunkWXI7OCNY_js.IconButton,
2898
+ chunkHVDLO6TN_js.IconButton,
2904
2899
  {
2905
2900
  icon: /* @__PURE__ */ jsxRuntime.jsx(outline.XMarkIcon, { className: "h-3 w-3" }),
2906
2901
  label: `Remove ${variable}`,
@@ -2917,7 +2912,7 @@ function StartNodeConfigForm({ config, onSave, onCancel }) {
2917
2912
  ] }),
2918
2913
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex justify-end gap-2 border-t border-gray-200 pt-4 dark:border-gray-700", children: [
2919
2914
  /* @__PURE__ */ jsxRuntime.jsx(
2920
- chunkWXI7OCNY_js.Button,
2915
+ chunkHVDLO6TN_js.Button,
2921
2916
  {
2922
2917
  type: "button",
2923
2918
  onClick: onCancel,
@@ -2927,7 +2922,7 @@ function StartNodeConfigForm({ config, onSave, onCancel }) {
2927
2922
  }
2928
2923
  ),
2929
2924
  /* @__PURE__ */ jsxRuntime.jsx(
2930
- chunkWXI7OCNY_js.Button,
2925
+ chunkHVDLO6TN_js.Button,
2931
2926
  {
2932
2927
  type: "button",
2933
2928
  onClick: handleSave,
@@ -2940,7 +2935,7 @@ function StartNodeConfigForm({ config, onSave, onCancel }) {
2940
2935
  ] });
2941
2936
  }
2942
2937
  function EndNodeConfigForm({ config, onSave, onCancel }) {
2943
- const t = nextIntl.useTranslations("agents.workflow.endNodeConfig");
2938
+ const t = chunkYXN2K77G_js.useTranslations("agents.workflow.endNodeConfig");
2944
2939
  const [outputVariables, setOutputVariables] = react.useState([...config.outputVariables]);
2945
2940
  const [newVariable, setNewVariable] = react.useState("");
2946
2941
  const handleAddVariable = () => {
@@ -3039,8 +3034,8 @@ function ConfigFormActions({
3039
3034
  saveDisabled = false
3040
3035
  }) {
3041
3036
  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(chunkWXI7OCNY_js.Button, { type: "button", outline: true, onClick: onCancel, children: cancelLabel }),
3043
- /* @__PURE__ */ jsxRuntime.jsx(chunkWXI7OCNY_js.Button, { type: "button", onClick: onSave, disabled: saveDisabled, children: saveLabel })
3037
+ /* @__PURE__ */ jsxRuntime.jsx(chunkHVDLO6TN_js.Button, { type: "button", outline: true, onClick: onCancel, children: cancelLabel }),
3038
+ /* @__PURE__ */ jsxRuntime.jsx(chunkHVDLO6TN_js.Button, { type: "button", onClick: onSave, disabled: saveDisabled, children: saveLabel })
3044
3039
  ] });
3045
3040
  }
3046
3041
  var OPERATOR_OPTIONS = [
@@ -3053,7 +3048,7 @@ var OPERATOR_OPTIONS = [
3053
3048
  { value: "is_not_empty", labelKey: "operatorIsNotEmpty" }
3054
3049
  ];
3055
3050
  function IfElseNodeConfigForm({ config, onSave, onCancel }) {
3056
- const t = nextIntl.useTranslations("agents.workflow.ifElseNodeConfig");
3051
+ const t = chunkYXN2K77G_js.useTranslations("agents.workflow.ifElseNodeConfig");
3057
3052
  const [conditions, setConditions] = react.useState(
3058
3053
  config.conditions.map((condition) => ({
3059
3054
  variable: condition.variable,
@@ -3089,7 +3084,7 @@ function IfElseNodeConfigForm({ config, onSave, onCancel }) {
3089
3084
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-3 flex items-center justify-between", children: [
3090
3085
  /* @__PURE__ */ jsxRuntime.jsx("label", { className: "text-sm font-medium text-gray-700 dark:text-gray-300", children: t("conditionsLabel") }),
3091
3086
  /* @__PURE__ */ jsxRuntime.jsx(
3092
- chunkWXI7OCNY_js.Button,
3087
+ chunkHVDLO6TN_js.Button,
3093
3088
  {
3094
3089
  type: "button",
3095
3090
  onClick: handleAddCondition,
@@ -3100,7 +3095,7 @@ function IfElseNodeConfigForm({ config, onSave, onCancel }) {
3100
3095
  /* @__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: [
3101
3096
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid flex-1 grid-cols-3 gap-2", children: [
3102
3097
  /* @__PURE__ */ jsxRuntime.jsx("div", { children: /* @__PURE__ */ jsxRuntime.jsx(
3103
- chunkWXI7OCNY_js.FormInput,
3098
+ chunkHVDLO6TN_js.FormInput,
3104
3099
  {
3105
3100
  type: "text",
3106
3101
  label: t("variableLabel"),
@@ -3111,7 +3106,7 @@ function IfElseNodeConfigForm({ config, onSave, onCancel }) {
3111
3106
  }
3112
3107
  ) }),
3113
3108
  /* @__PURE__ */ jsxRuntime.jsx("div", { children: /* @__PURE__ */ jsxRuntime.jsx(
3114
- chunkWXI7OCNY_js.FormSelect,
3109
+ chunkHVDLO6TN_js.FormSelect,
3115
3110
  {
3116
3111
  label: t("operatorLabel"),
3117
3112
  value: condition.operator,
@@ -3121,7 +3116,7 @@ function IfElseNodeConfigForm({ config, onSave, onCancel }) {
3121
3116
  }
3122
3117
  ) }),
3123
3118
  /* @__PURE__ */ jsxRuntime.jsx("div", { children: /* @__PURE__ */ jsxRuntime.jsx(
3124
- chunkWXI7OCNY_js.FormInput,
3119
+ chunkHVDLO6TN_js.FormInput,
3125
3120
  {
3126
3121
  type: "text",
3127
3122
  label: t("valueLabel"),
@@ -3133,7 +3128,7 @@ function IfElseNodeConfigForm({ config, onSave, onCancel }) {
3133
3128
  ) })
3134
3129
  ] }),
3135
3130
  conditions.length > 1 && /* @__PURE__ */ jsxRuntime.jsx(
3136
- chunkWXI7OCNY_js.IconButton,
3131
+ chunkHVDLO6TN_js.IconButton,
3137
3132
  {
3138
3133
  onClick: () => handleRemoveCondition(index),
3139
3134
  icon: /* @__PURE__ */ jsxRuntime.jsx(outline.TrashIcon, { className: "h-4 w-4" }),
@@ -3191,7 +3186,7 @@ function IfElseNodeConfigForm({ config, onSave, onCancel }) {
3191
3186
  }
3192
3187
  var LANGUAGE_OPTIONS = ["javascript", "python", "typescript"];
3193
3188
  function CodeNodeConfigForm({ config, onSave, onCancel }) {
3194
- const t = nextIntl.useTranslations("agents.workflow.codeNodeConfig");
3189
+ const t = chunkYXN2K77G_js.useTranslations("agents.workflow.codeNodeConfig");
3195
3190
  const [language, setLanguage] = react.useState(config.language);
3196
3191
  const [code, setCode] = react.useState(config.code);
3197
3192
  const handleSave = () => {
@@ -3259,7 +3254,7 @@ function entriesToHeaders(entries) {
3259
3254
  return headers;
3260
3255
  }
3261
3256
  function HttpRequestNodeConfigForm({ config, onSave, onCancel }) {
3262
- const t = nextIntl.useTranslations("agents.workflow.httpRequestNodeConfig");
3257
+ const t = chunkYXN2K77G_js.useTranslations("agents.workflow.httpRequestNodeConfig");
3263
3258
  const [method, setMethod] = react.useState(config.method);
3264
3259
  const [url, setUrl] = react.useState(config.url);
3265
3260
  const [headerEntries, setHeaderEntries] = react.useState(headersToEntries(config.headers));
@@ -3288,7 +3283,7 @@ function HttpRequestNodeConfigForm({ config, onSave, onCancel }) {
3288
3283
  };
3289
3284
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
3290
3285
  /* @__PURE__ */ jsxRuntime.jsx(
3291
- chunkWXI7OCNY_js.FormSelect,
3286
+ chunkHVDLO6TN_js.FormSelect,
3292
3287
  {
3293
3288
  label: t("methodLabel"),
3294
3289
  value: method,
@@ -3297,7 +3292,7 @@ function HttpRequestNodeConfigForm({ config, onSave, onCancel }) {
3297
3292
  }
3298
3293
  ),
3299
3294
  /* @__PURE__ */ jsxRuntime.jsx(
3300
- chunkWXI7OCNY_js.FormInput,
3295
+ chunkHVDLO6TN_js.FormInput,
3301
3296
  {
3302
3297
  type: "text",
3303
3298
  label: t("urlLabel"),
@@ -3310,7 +3305,7 @@ function HttpRequestNodeConfigForm({ config, onSave, onCancel }) {
3310
3305
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-2 flex items-center justify-between", children: [
3311
3306
  /* @__PURE__ */ jsxRuntime.jsx("label", { className: "text-sm font-medium text-gray-700 dark:text-gray-300", children: t("headersLabel") }),
3312
3307
  /* @__PURE__ */ jsxRuntime.jsx(
3313
- chunkWXI7OCNY_js.Button,
3308
+ chunkHVDLO6TN_js.Button,
3314
3309
  {
3315
3310
  type: "button",
3316
3311
  onClick: handleAddHeader,
@@ -3320,7 +3315,7 @@ function HttpRequestNodeConfigForm({ config, onSave, onCancel }) {
3320
3315
  ] }),
3321
3316
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-2", children: headerEntries.map((entry, index) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
3322
3317
  /* @__PURE__ */ jsxRuntime.jsx(
3323
- chunkWXI7OCNY_js.FormInput,
3318
+ chunkHVDLO6TN_js.FormInput,
3324
3319
  {
3325
3320
  type: "text",
3326
3321
  value: entry.key,
@@ -3330,7 +3325,7 @@ function HttpRequestNodeConfigForm({ config, onSave, onCancel }) {
3330
3325
  }
3331
3326
  ),
3332
3327
  /* @__PURE__ */ jsxRuntime.jsx(
3333
- chunkWXI7OCNY_js.FormInput,
3328
+ chunkHVDLO6TN_js.FormInput,
3334
3329
  {
3335
3330
  type: "text",
3336
3331
  value: entry.value,
@@ -3340,7 +3335,7 @@ function HttpRequestNodeConfigForm({ config, onSave, onCancel }) {
3340
3335
  }
3341
3336
  ),
3342
3337
  /* @__PURE__ */ jsxRuntime.jsx(
3343
- chunkWXI7OCNY_js.IconButton,
3338
+ chunkHVDLO6TN_js.IconButton,
3344
3339
  {
3345
3340
  onClick: () => handleRemoveHeader(index),
3346
3341
  icon: /* @__PURE__ */ jsxRuntime.jsx(outline.TrashIcon, { className: "h-4 w-4" }),
@@ -3352,7 +3347,7 @@ function HttpRequestNodeConfigForm({ config, onSave, onCancel }) {
3352
3347
  ] }, index)) })
3353
3348
  ] }),
3354
3349
  method !== "GET" && /* @__PURE__ */ jsxRuntime.jsx(
3355
- chunkWXI7OCNY_js.FormTextarea,
3350
+ chunkHVDLO6TN_js.FormTextarea,
3356
3351
  {
3357
3352
  label: t("bodyLabel"),
3358
3353
  value: body,
@@ -3363,7 +3358,7 @@ function HttpRequestNodeConfigForm({ config, onSave, onCancel }) {
3363
3358
  }
3364
3359
  ),
3365
3360
  /* @__PURE__ */ jsxRuntime.jsx(
3366
- chunkWXI7OCNY_js.FormInput,
3361
+ chunkHVDLO6TN_js.FormInput,
3367
3362
  {
3368
3363
  type: "number",
3369
3364
  label: t("timeoutLabel"),
@@ -3386,7 +3381,7 @@ function HttpRequestNodeConfigForm({ config, onSave, onCancel }) {
3386
3381
  ] });
3387
3382
  }
3388
3383
  function TemplateTransformNodeConfigForm({ config, onSave, onCancel }) {
3389
- const t = nextIntl.useTranslations("agents.workflow.templateTransformNodeConfig");
3384
+ const t = chunkYXN2K77G_js.useTranslations("agents.workflow.templateTransformNodeConfig");
3390
3385
  const [template, setTemplate] = react.useState(config.template);
3391
3386
  const [outputVariable, setOutputVariable] = react.useState(config.outputVariable);
3392
3387
  const handleSave = () => {
@@ -3394,7 +3389,7 @@ function TemplateTransformNodeConfigForm({ config, onSave, onCancel }) {
3394
3389
  };
3395
3390
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
3396
3391
  /* @__PURE__ */ jsxRuntime.jsx(
3397
- chunkWXI7OCNY_js.FormTextarea,
3392
+ chunkHVDLO6TN_js.FormTextarea,
3398
3393
  {
3399
3394
  label: t("templateLabel"),
3400
3395
  value: template,
@@ -3405,7 +3400,7 @@ function TemplateTransformNodeConfigForm({ config, onSave, onCancel }) {
3405
3400
  }
3406
3401
  ),
3407
3402
  /* @__PURE__ */ jsxRuntime.jsx(
3408
- chunkWXI7OCNY_js.FormInput,
3403
+ chunkHVDLO6TN_js.FormInput,
3409
3404
  {
3410
3405
  type: "text",
3411
3406
  label: t("outputVariableLabel"),
@@ -3426,7 +3421,7 @@ function TemplateTransformNodeConfigForm({ config, onSave, onCancel }) {
3426
3421
  ] });
3427
3422
  }
3428
3423
  function IterationNodeConfigForm({ config, onSave, onCancel }) {
3429
- const t = nextIntl.useTranslations("agents.workflow.iterationNodeConfig");
3424
+ const t = chunkYXN2K77G_js.useTranslations("agents.workflow.iterationNodeConfig");
3430
3425
  const [iteratorVariable, setIteratorVariable] = react.useState(config.iteratorVariable);
3431
3426
  const [maxIterations, setMaxIterations] = react.useState(config.maxIterations);
3432
3427
  const handleSave = () => {
@@ -3434,7 +3429,7 @@ function IterationNodeConfigForm({ config, onSave, onCancel }) {
3434
3429
  };
3435
3430
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
3436
3431
  /* @__PURE__ */ jsxRuntime.jsx(
3437
- chunkWXI7OCNY_js.FormInput,
3432
+ chunkHVDLO6TN_js.FormInput,
3438
3433
  {
3439
3434
  type: "text",
3440
3435
  label: t("iteratorVariableLabel"),
@@ -3444,7 +3439,7 @@ function IterationNodeConfigForm({ config, onSave, onCancel }) {
3444
3439
  }
3445
3440
  ),
3446
3441
  /* @__PURE__ */ jsxRuntime.jsx(
3447
- chunkWXI7OCNY_js.FormInput,
3442
+ chunkHVDLO6TN_js.FormInput,
3448
3443
  {
3449
3444
  type: "number",
3450
3445
  label: t("maxIterationsLabel"),
@@ -3466,7 +3461,7 @@ function IterationNodeConfigForm({ config, onSave, onCancel }) {
3466
3461
  ] });
3467
3462
  }
3468
3463
  function KnowledgeBaseNodeConfigForm({ config, onSave, onCancel }) {
3469
- const t = nextIntl.useTranslations("agents.workflow.knowledgeBaseNodeConfig");
3464
+ const t = chunkYXN2K77G_js.useTranslations("agents.workflow.knowledgeBaseNodeConfig");
3470
3465
  const [sourceId, setSourceId] = react.useState(config.sourceId);
3471
3466
  const [topK, setTopK] = react.useState(config.topK);
3472
3467
  const [similarityThreshold, setSimilarityThreshold] = react.useState(config.similarityThreshold);
@@ -3475,7 +3470,7 @@ function KnowledgeBaseNodeConfigForm({ config, onSave, onCancel }) {
3475
3470
  };
3476
3471
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
3477
3472
  /* @__PURE__ */ jsxRuntime.jsx(
3478
- chunkWXI7OCNY_js.FormInput,
3473
+ chunkHVDLO6TN_js.FormInput,
3479
3474
  {
3480
3475
  type: "text",
3481
3476
  label: t("sourceIdLabel"),
@@ -3485,7 +3480,7 @@ function KnowledgeBaseNodeConfigForm({ config, onSave, onCancel }) {
3485
3480
  }
3486
3481
  ),
3487
3482
  /* @__PURE__ */ jsxRuntime.jsx(
3488
- chunkWXI7OCNY_js.FormInput,
3483
+ chunkHVDLO6TN_js.FormInput,
3489
3484
  {
3490
3485
  type: "number",
3491
3486
  label: t("topKLabel"),
@@ -3496,7 +3491,7 @@ function KnowledgeBaseNodeConfigForm({ config, onSave, onCancel }) {
3496
3491
  }
3497
3492
  ),
3498
3493
  /* @__PURE__ */ jsxRuntime.jsx(
3499
- chunkWXI7OCNY_js.FormInput,
3494
+ chunkHVDLO6TN_js.FormInput,
3500
3495
  {
3501
3496
  type: "number",
3502
3497
  label: t("similarityThresholdLabel"),
@@ -3519,7 +3514,7 @@ function KnowledgeBaseNodeConfigForm({ config, onSave, onCancel }) {
3519
3514
  ] });
3520
3515
  }
3521
3516
  function AnswerNodeConfigForm({ config, onSave, onCancel }) {
3522
- const t = nextIntl.useTranslations("agents.workflow.answerNodeConfig");
3517
+ const t = chunkYXN2K77G_js.useTranslations("agents.workflow.answerNodeConfig");
3523
3518
  const [outputTemplate, setOutputTemplate] = react.useState(config.outputTemplate);
3524
3519
  const [outputVariables, setOutputVariables] = react.useState([...config.outputVariables]);
3525
3520
  const [newVariable, setNewVariable] = react.useState("");
@@ -3544,7 +3539,7 @@ function AnswerNodeConfigForm({ config, onSave, onCancel }) {
3544
3539
  };
3545
3540
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
3546
3541
  /* @__PURE__ */ jsxRuntime.jsx(
3547
- chunkWXI7OCNY_js.FormTextarea,
3542
+ chunkHVDLO6TN_js.FormTextarea,
3548
3543
  {
3549
3544
  label: t("outputTemplateLabel"),
3550
3545
  hint: t("outputTemplateHelp"),
@@ -3559,7 +3554,7 @@ function AnswerNodeConfigForm({ config, onSave, onCancel }) {
3559
3554
  /* @__PURE__ */ jsxRuntime.jsx("label", { className: "mb-1 block text-sm font-medium text-gray-700 dark:text-gray-300", children: t("outputVariablesLabel") }),
3560
3555
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
3561
3556
  /* @__PURE__ */ jsxRuntime.jsx(
3562
- chunkWXI7OCNY_js.FormInput,
3557
+ chunkHVDLO6TN_js.FormInput,
3563
3558
  {
3564
3559
  type: "text",
3565
3560
  value: newVariable,
@@ -3570,7 +3565,7 @@ function AnswerNodeConfigForm({ config, onSave, onCancel }) {
3570
3565
  }
3571
3566
  ),
3572
3567
  /* @__PURE__ */ jsxRuntime.jsx(
3573
- chunkWXI7OCNY_js.Button,
3568
+ chunkHVDLO6TN_js.Button,
3574
3569
  {
3575
3570
  type: "button",
3576
3571
  onClick: handleAddVariable,
@@ -3585,7 +3580,7 @@ function AnswerNodeConfigForm({ config, onSave, onCancel }) {
3585
3580
  children: [
3586
3581
  variable,
3587
3582
  /* @__PURE__ */ jsxRuntime.jsx(
3588
- chunkWXI7OCNY_js.IconButton,
3583
+ chunkHVDLO6TN_js.IconButton,
3589
3584
  {
3590
3585
  onClick: () => handleRemoveVariable(variable),
3591
3586
  icon: /* @__PURE__ */ jsxRuntime.jsx(outline.XMarkIcon, { className: "h-3 w-3" }),
@@ -3611,7 +3606,7 @@ function AnswerNodeConfigForm({ config, onSave, onCancel }) {
3611
3606
  ] });
3612
3607
  }
3613
3608
  function QuestionClassifierNodeConfigForm({ config, onSave, onCancel }) {
3614
- const t = nextIntl.useTranslations("agents.workflow.questionClassifierNodeConfig");
3609
+ const t = chunkYXN2K77G_js.useTranslations("agents.workflow.questionClassifierNodeConfig");
3615
3610
  const [modelId, setModelId] = react.useState(config.modelId);
3616
3611
  const [instructions, setInstructions] = react.useState(config.instructions);
3617
3612
  const [categories, setCategories] = react.useState(
@@ -3743,7 +3738,7 @@ function QuestionClassifierNodeConfigForm({ config, onSave, onCancel }) {
3743
3738
  }
3744
3739
  var PARAMETER_TYPES = ["string", "number", "boolean", "array"];
3745
3740
  function ParameterExtractorNodeConfigForm({ config, onSave, onCancel }) {
3746
- const t = nextIntl.useTranslations("agents.workflow.parameterExtractorNodeConfig");
3741
+ const t = chunkYXN2K77G_js.useTranslations("agents.workflow.parameterExtractorNodeConfig");
3747
3742
  const [modelId, setModelId] = react.useState(config.modelId);
3748
3743
  const [parameters, setParameters] = react.useState(
3749
3744
  config.parameters.map((parameter) => ({ ...parameter }))
@@ -3886,7 +3881,7 @@ function ParameterExtractorNodeConfigForm({ config, onSave, onCancel }) {
3886
3881
  ] });
3887
3882
  }
3888
3883
  function VariableAssignerNodeConfigForm({ config, onSave, onCancel }) {
3889
- const t = nextIntl.useTranslations("agents.workflow.variableAssignerNodeConfig");
3884
+ const t = chunkYXN2K77G_js.useTranslations("agents.workflow.variableAssignerNodeConfig");
3890
3885
  const [assignments, setAssignments] = react.useState(
3891
3886
  config.assignments.map((assignment) => ({ ...assignment }))
3892
3887
  );
@@ -3989,7 +3984,7 @@ function VariableAssignerNodeConfigForm({ config, onSave, onCancel }) {
3989
3984
  }
3990
3985
  var AGGREGATION_MODES = ["array", "object", "concatenate"];
3991
3986
  function VariableAggregatorNodeConfigForm({ config, onSave, onCancel }) {
3992
- const t = nextIntl.useTranslations("agents.workflow.variableAggregatorNodeConfig");
3987
+ const t = chunkYXN2K77G_js.useTranslations("agents.workflow.variableAggregatorNodeConfig");
3993
3988
  const [inputVariables, setInputVariables] = react.useState([...config.inputVariables]);
3994
3989
  const [outputVariable, setOutputVariable] = react.useState(config.outputVariable);
3995
3990
  const [aggregationMode, setAggregationMode] = react.useState(config.aggregationMode);
@@ -4021,7 +4016,7 @@ function VariableAggregatorNodeConfigForm({ config, onSave, onCancel }) {
4021
4016
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-1 block text-sm font-medium text-gray-700 dark:text-gray-300", children: t("inputVariablesLabel") }),
4022
4017
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
4023
4018
  /* @__PURE__ */ jsxRuntime.jsx(
4024
- chunkWXI7OCNY_js.FormInput,
4019
+ chunkHVDLO6TN_js.FormInput,
4025
4020
  {
4026
4021
  type: "text",
4027
4022
  value: newVariable,
@@ -4032,7 +4027,7 @@ function VariableAggregatorNodeConfigForm({ config, onSave, onCancel }) {
4032
4027
  }
4033
4028
  ),
4034
4029
  /* @__PURE__ */ jsxRuntime.jsx(
4035
- chunkWXI7OCNY_js.Button,
4030
+ chunkHVDLO6TN_js.Button,
4036
4031
  {
4037
4032
  type: "button",
4038
4033
  onClick: handleAddVariable,
@@ -4040,10 +4035,10 @@ function VariableAggregatorNodeConfigForm({ config, onSave, onCancel }) {
4040
4035
  }
4041
4036
  )
4042
4037
  ] }),
4043
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-3 space-y-2", children: inputVariables.map((variable, index) => /* @__PURE__ */ jsxRuntime.jsx(chunkWXI7OCNY_js.Card, { className: "border-purple-200/70 dark:border-purple-500/30", children: /* @__PURE__ */ jsxRuntime.jsx(chunkWXI7OCNY_js.CardContent, { className: "p-3", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
4038
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-3 space-y-2", children: inputVariables.map((variable, index) => /* @__PURE__ */ jsxRuntime.jsx(chunkHVDLO6TN_js.Card, { className: "border-purple-200/70 dark:border-purple-500/30", children: /* @__PURE__ */ jsxRuntime.jsx(chunkHVDLO6TN_js.CardContent, { className: "p-3", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
4044
4039
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "inline-flex min-w-6 items-center justify-center rounded-full bg-purple-100 px-1.5 py-0.5 text-[10px] font-semibold text-purple-700 dark:bg-purple-500/20 dark:text-purple-300", children: index + 1 }),
4045
4040
  /* @__PURE__ */ jsxRuntime.jsx(
4046
- chunkWXI7OCNY_js.FormInput,
4041
+ chunkHVDLO6TN_js.FormInput,
4047
4042
  {
4048
4043
  type: "text",
4049
4044
  value: variable,
@@ -4053,7 +4048,7 @@ function VariableAggregatorNodeConfigForm({ config, onSave, onCancel }) {
4053
4048
  }
4054
4049
  ),
4055
4050
  /* @__PURE__ */ jsxRuntime.jsx(
4056
- chunkWXI7OCNY_js.IconButton,
4051
+ chunkHVDLO6TN_js.IconButton,
4057
4052
  {
4058
4053
  icon: /* @__PURE__ */ jsxRuntime.jsx(outline.XMarkIcon, { className: "h-3 w-3" }),
4059
4054
  label: `Remove ${variable || index + 1}`,
@@ -4065,7 +4060,7 @@ function VariableAggregatorNodeConfigForm({ config, onSave, onCancel }) {
4065
4060
  ] }) }) }, `${index}-${variable}`)) })
4066
4061
  ] }),
4067
4062
  /* @__PURE__ */ jsxRuntime.jsx(
4068
- chunkWXI7OCNY_js.FormInput,
4063
+ chunkHVDLO6TN_js.FormInput,
4069
4064
  {
4070
4065
  type: "text",
4071
4066
  label: t("outputVariableLabel"),
@@ -4075,7 +4070,7 @@ function VariableAggregatorNodeConfigForm({ config, onSave, onCancel }) {
4075
4070
  }
4076
4071
  ),
4077
4072
  /* @__PURE__ */ jsxRuntime.jsx(
4078
- chunkWXI7OCNY_js.FormSelect,
4073
+ chunkHVDLO6TN_js.FormSelect,
4079
4074
  {
4080
4075
  label: t("aggregationModeLabel"),
4081
4076
  value: aggregationMode,
@@ -4100,7 +4095,7 @@ function VariableAggregatorNodeConfigForm({ config, onSave, onCancel }) {
4100
4095
  }
4101
4096
  var EXTRACTION_MODES = ["text", "table", "structured"];
4102
4097
  function DocumentExtractorNodeConfigForm({ config, onSave, onCancel }) {
4103
- const t = nextIntl.useTranslations("agents.workflow.documentExtractorNodeConfig");
4098
+ const t = chunkYXN2K77G_js.useTranslations("agents.workflow.documentExtractorNodeConfig");
4104
4099
  const [extractionMode, setExtractionMode] = react.useState(config.extractionMode);
4105
4100
  const [outputVariable, setOutputVariable] = react.useState(config.outputVariable);
4106
4101
  const handleSave = () => {
@@ -4108,7 +4103,7 @@ function DocumentExtractorNodeConfigForm({ config, onSave, onCancel }) {
4108
4103
  };
4109
4104
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
4110
4105
  /* @__PURE__ */ jsxRuntime.jsx(
4111
- chunkWXI7OCNY_js.FormSelect,
4106
+ chunkHVDLO6TN_js.FormSelect,
4112
4107
  {
4113
4108
  label: t("extractionModeLabel"),
4114
4109
  value: extractionMode,
@@ -4117,7 +4112,7 @@ function DocumentExtractorNodeConfigForm({ config, onSave, onCancel }) {
4117
4112
  }
4118
4113
  ),
4119
4114
  /* @__PURE__ */ jsxRuntime.jsx(
4120
- chunkWXI7OCNY_js.FormInput,
4115
+ chunkHVDLO6TN_js.FormInput,
4121
4116
  {
4122
4117
  type: "text",
4123
4118
  label: t("outputVariableLabel"),
@@ -4140,7 +4135,7 @@ function DocumentExtractorNodeConfigForm({ config, onSave, onCancel }) {
4140
4135
  var OPERATION_OPTIONS = ["filter", "map", "sort", "limit", "deduplicate", "flatten"];
4141
4136
  var SORT_ORDER_OPTIONS = ["asc", "desc"];
4142
4137
  function ListOperatorNodeConfigForm({ config, onSave, onCancel }) {
4143
- const t = nextIntl.useTranslations("agents.workflow.listOperatorNodeConfig");
4138
+ const t = chunkYXN2K77G_js.useTranslations("agents.workflow.listOperatorNodeConfig");
4144
4139
  const [operation, setOperation] = react.useState(config.operation);
4145
4140
  const [inputVariable, setInputVariable] = react.useState(config.inputVariable);
4146
4141
  const [outputVariable, setOutputVariable] = react.useState(config.outputVariable);
@@ -4285,7 +4280,7 @@ function ListOperatorNodeConfigForm({ config, onSave, onCancel }) {
4285
4280
  ] });
4286
4281
  }
4287
4282
  function IterationStartNodeConfigForm({ config, onSave, onCancel }) {
4288
- const t = nextIntl.useTranslations("agents.workflow.iterationStartNodeConfig");
4283
+ const t = chunkYXN2K77G_js.useTranslations("agents.workflow.iterationStartNodeConfig");
4289
4284
  const [iteratorVariable, setIteratorVariable] = react.useState(config.iteratorVariable);
4290
4285
  const [itemVariable, setItemVariable] = react.useState(config.itemVariable);
4291
4286
  const [indexVariable, setIndexVariable] = react.useState(config.indexVariable);
@@ -4294,7 +4289,7 @@ function IterationStartNodeConfigForm({ config, onSave, onCancel }) {
4294
4289
  };
4295
4290
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
4296
4291
  /* @__PURE__ */ jsxRuntime.jsx(
4297
- chunkWXI7OCNY_js.FormInput,
4292
+ chunkHVDLO6TN_js.FormInput,
4298
4293
  {
4299
4294
  type: "text",
4300
4295
  label: t("iteratorVariableLabel"),
@@ -4304,7 +4299,7 @@ function IterationStartNodeConfigForm({ config, onSave, onCancel }) {
4304
4299
  }
4305
4300
  ),
4306
4301
  /* @__PURE__ */ jsxRuntime.jsx(
4307
- chunkWXI7OCNY_js.FormInput,
4302
+ chunkHVDLO6TN_js.FormInput,
4308
4303
  {
4309
4304
  type: "text",
4310
4305
  label: t("itemVariableLabel"),
@@ -4314,7 +4309,7 @@ function IterationStartNodeConfigForm({ config, onSave, onCancel }) {
4314
4309
  }
4315
4310
  ),
4316
4311
  /* @__PURE__ */ jsxRuntime.jsx(
4317
- chunkWXI7OCNY_js.FormInput,
4312
+ chunkHVDLO6TN_js.FormInput,
4318
4313
  {
4319
4314
  type: "text",
4320
4315
  label: t("indexVariableLabel"),
@@ -4343,7 +4338,7 @@ var FIELD_TYPE_BADGE_COLORS = {
4343
4338
  array: "bg-teal-100 text-teal-600 dark:bg-teal-500/20 dark:text-teal-300"
4344
4339
  };
4345
4340
  function EntityNodeConfigForm({ config, entities = [], onSave, onCancel }) {
4346
- const t = nextIntl.useTranslations("agents.workflow.entityNodeConfig");
4341
+ const t = chunkYXN2K77G_js.useTranslations("agents.workflow.entityNodeConfig");
4347
4342
  const [selectedFields, setSelectedFields] = react.useState([...config.selectedFields]);
4348
4343
  const [outputVariable, setOutputVariable] = react.useState(config.outputVariable);
4349
4344
  const [limit, setLimit] = react.useState(config.limit);
@@ -4570,7 +4565,7 @@ var GROUP_COLOR_OPTIONS = [
4570
4565
  { value: "slate", ring: "ring-slate-500", fill: "bg-slate-500" }
4571
4566
  ];
4572
4567
  function GroupNodeConfigForm({ config, onSave, onCancel }) {
4573
- const translations = nextIntl.useTranslations("agents.workflow.groupNodeConfig");
4568
+ const translations = chunkYXN2K77G_js.useTranslations("agents.workflow.groupNodeConfig");
4574
4569
  const [formLabel, setFormLabel] = react.useState(config.label);
4575
4570
  const [description, setDescription] = react.useState(config.description ?? "");
4576
4571
  const [color, setColor] = react.useState(config.color);
@@ -4586,7 +4581,7 @@ function GroupNodeConfigForm({ config, onSave, onCancel }) {
4586
4581
  };
4587
4582
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
4588
4583
  /* @__PURE__ */ jsxRuntime.jsx(
4589
- chunkWXI7OCNY_js.FormInput,
4584
+ chunkHVDLO6TN_js.FormInput,
4590
4585
  {
4591
4586
  type: "text",
4592
4587
  label: translations("labelField"),
@@ -4596,7 +4591,7 @@ function GroupNodeConfigForm({ config, onSave, onCancel }) {
4596
4591
  }
4597
4592
  ),
4598
4593
  /* @__PURE__ */ jsxRuntime.jsx(
4599
- chunkWXI7OCNY_js.FormTextarea,
4594
+ chunkHVDLO6TN_js.FormTextarea,
4600
4595
  {
4601
4596
  label: translations("descriptionField"),
4602
4597
  value: description,
@@ -4651,7 +4646,7 @@ var NODE_TITLE_KEYS = {
4651
4646
  group: "groupNodeConfig"
4652
4647
  };
4653
4648
  function LogicNodeDrawer({ onSave, entities = [] }) {
4654
- const t = nextIntl.useTranslations("agents.workflow");
4649
+ const t = chunkYXN2K77G_js.useTranslations("agents.workflow");
4655
4650
  const activeDrawer = useDrawerStore((s) => s.activeDrawer);
4656
4651
  const logicNodeData = useDrawerStore((s) => s.logicNodeData);
4657
4652
  const closeDrawer = useDrawerStore((s) => s.closeDrawer);
@@ -4724,7 +4719,7 @@ function LogicNodeDrawer({ onSave, entities = [] }) {
4724
4719
  );
4725
4720
  }
4726
4721
  function NodeContextMenu({ position, targetId, onClose, onEdit, onDuplicate, onCopy, onDelete }) {
4727
- const translations = nextIntl.useTranslations("agents.workflow.contextMenu");
4722
+ const translations = chunkYXN2K77G_js.useTranslations("agents.workflow.contextMenu");
4728
4723
  const entries = [
4729
4724
  {
4730
4725
  key: "edit",
@@ -4769,7 +4764,7 @@ function NodeContextMenu({ position, targetId, onClose, onEdit, onDuplicate, onC
4769
4764
  }
4770
4765
  ];
4771
4766
  return /* @__PURE__ */ jsxRuntime.jsx(
4772
- chunkWXI7OCNY_js.ContextMenu,
4767
+ chunkHVDLO6TN_js.ContextMenu,
4773
4768
  {
4774
4769
  position,
4775
4770
  onClose,
@@ -4780,7 +4775,7 @@ function NodeContextMenu({ position, targetId, onClose, onEdit, onDuplicate, onC
4780
4775
  );
4781
4776
  }
4782
4777
  function PanelContextMenu({ position, onClose, onPaste, onSelectAll, onFitView, onAddNote, flowPosition, hasClipboardContent }) {
4783
- const translations = nextIntl.useTranslations("agents.workflow.contextMenu");
4778
+ const translations = chunkYXN2K77G_js.useTranslations("agents.workflow.contextMenu");
4784
4779
  const entries = [
4785
4780
  {
4786
4781
  key: "paste",
@@ -4826,7 +4821,7 @@ function PanelContextMenu({ position, onClose, onPaste, onSelectAll, onFitView,
4826
4821
  }
4827
4822
  ];
4828
4823
  return /* @__PURE__ */ jsxRuntime.jsx(
4829
- chunkWXI7OCNY_js.ContextMenu,
4824
+ chunkHVDLO6TN_js.ContextMenu,
4830
4825
  {
4831
4826
  position,
4832
4827
  onClose,
@@ -4846,7 +4841,7 @@ function SelectionContextMenu({
4846
4841
  onAlign,
4847
4842
  onDistribute
4848
4843
  }) {
4849
- const translations = nextIntl.useTranslations("agents.workflow.contextMenu");
4844
+ const translations = chunkYXN2K77G_js.useTranslations("agents.workflow.contextMenu");
4850
4845
  const entries = [
4851
4846
  {
4852
4847
  key: "copy",
@@ -4973,7 +4968,7 @@ function SelectionContextMenu({
4973
4968
  }
4974
4969
  ];
4975
4970
  return /* @__PURE__ */ jsxRuntime.jsx(
4976
- chunkWXI7OCNY_js.ContextMenu,
4971
+ chunkHVDLO6TN_js.ContextMenu,
4977
4972
  {
4978
4973
  position,
4979
4974
  onClose,
@@ -5047,18 +5042,9 @@ function DistributeVerticalIcon({ className }) {
5047
5042
  /* @__PURE__ */ jsxRuntime.jsx("rect", { x: "8", y: "17", width: "8", height: "4", rx: "1" })
5048
5043
  ] });
5049
5044
  }
5050
- var ReactFlow = dynamic__default.default(
5051
- () => import('@xyflow/react').then((module) => module.ReactFlow),
5052
- { ssr: false }
5053
- );
5054
- var Background = dynamic__default.default(
5055
- () => import('@xyflow/react').then((module) => module.Background),
5056
- { ssr: false }
5057
- );
5058
- var MiniMap = dynamic__default.default(
5059
- () => import('@xyflow/react').then((module) => module.MiniMap),
5060
- { ssr: false }
5061
- );
5045
+ var ReactFlow = react.lazy(() => import('@xyflow/react').then((module) => ({ default: module.ReactFlow })));
5046
+ var Background = react.lazy(() => import('@xyflow/react').then((module) => ({ default: module.Background })));
5047
+ var MiniMap = react.lazy(() => import('@xyflow/react').then((module) => ({ default: module.MiniMap })));
5062
5048
  var BUILT_IN_NODE_TYPES = {
5063
5049
  agent: AgentFlowNode,
5064
5050
  agent_tool: AgentToolFlowNode,
@@ -5148,7 +5134,7 @@ function WorkflowCanvasInner({
5148
5134
  renderLogicNodeDrawer: _renderLogicNodeDrawer
5149
5135
  }) {
5150
5136
  const { screenToFlowPosition, getNode, toObject, fitView, zoomIn, zoomOut, zoomTo } = react$1.useReactFlow();
5151
- const tWorkflow = nextIntl.useTranslations("agents.workflow");
5137
+ const tWorkflow = chunkYXN2K77G_js.useTranslations("agents.workflow");
5152
5138
  const sortedAgents = react.useMemo(() => [...agents].sort((agentA, agentB) => (agentA.order ?? 0) - (agentB.order ?? 0)), [agents]);
5153
5139
  const [selectedAgentId, setSelectedAgentId] = react.useState(null);
5154
5140
  const openAgentDrawerAction = useDrawerStore((s) => s.openAgentDrawer);
@@ -6750,27 +6736,17 @@ function Workspace({
6750
6736
  const resolvedModels = canvasProps.models ?? bootstrapModels;
6751
6737
  const resolvedTools = canvasProps.tools ?? bootstrapTools;
6752
6738
  const resolvedRules = canvasProps.rules ?? bootstrapRules;
6753
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: className ?? "h-full w-full", children: /* @__PURE__ */ jsxRuntime.jsx(
6754
- nextIntl.NextIntlClientProvider,
6739
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: className ?? "h-full w-full", children: /* @__PURE__ */ jsxRuntime.jsx(chunkYXN2K77G_js.I18nProvider, { value: chunkYXN2K77G_js.createI18nFromMessages(locale, messages), children: /* @__PURE__ */ jsxRuntime.jsx(
6740
+ WorkflowCanvas,
6755
6741
  {
6756
- locale,
6757
- messages,
6758
- getMessageFallback: ({ namespace, key }) => namespace ? `${namespace}.${key}` : key,
6759
- onError: () => {
6760
- },
6761
- children: /* @__PURE__ */ jsxRuntime.jsx(
6762
- WorkflowCanvas,
6763
- {
6764
- ...canvasProps,
6765
- initialGraph: resolvedGraph,
6766
- agents: resolvedAgents,
6767
- models: resolvedModels,
6768
- tools: resolvedTools,
6769
- rules: resolvedRules
6770
- }
6771
- )
6742
+ ...canvasProps,
6743
+ initialGraph: resolvedGraph,
6744
+ agents: resolvedAgents,
6745
+ models: resolvedModels,
6746
+ tools: resolvedTools,
6747
+ rules: resolvedRules
6772
6748
  }
6773
- ) });
6749
+ ) }) });
6774
6750
  }
6775
6751
 
6776
6752
  exports.AgentFlowNode = AgentFlowNode;
@@ -6833,5 +6809,5 @@ exports.useDrawerStore = useDrawerStore;
6833
6809
  exports.useWorkflowBuilderClient = useWorkflowBuilderClient;
6834
6810
  exports.useWorkflowBuilderClientOptional = useWorkflowBuilderClientOptional;
6835
6811
  exports.useWorkflowStore = useWorkflowStore;
6836
- //# sourceMappingURL=chunk-27M5YIVF.js.map
6837
- //# sourceMappingURL=chunk-27M5YIVF.js.map
6812
+ //# sourceMappingURL=chunk-RQMB4Q4G.js.map
6813
+ //# sourceMappingURL=chunk-RQMB4Q4G.js.map