@datatechsolutions/ui 3.12.1 → 3.13.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 (101) hide show
  1. package/dist/astrlabe/index.js +108 -108
  2. package/dist/astrlabe/index.mjs +4 -4
  3. package/dist/astrlabe/workflow-canvas.js +4 -4
  4. package/dist/astrlabe/workflow-canvas.mjs +3 -3
  5. package/dist/{chunk-HTODLUKG.js → chunk-2ECLDHAT.js} +12 -12
  6. package/dist/{chunk-HTODLUKG.js.map → chunk-2ECLDHAT.js.map} +1 -1
  7. package/dist/{chunk-NQGLSM46.mjs → chunk-4VHFGW7I.mjs} +4 -4
  8. package/dist/{chunk-NQGLSM46.mjs.map → chunk-4VHFGW7I.mjs.map} +1 -1
  9. package/dist/{chunk-ULKZGM2T.js → chunk-5ETT54QS.js} +37 -37
  10. package/dist/{chunk-ULKZGM2T.js.map → chunk-5ETT54QS.js.map} +1 -1
  11. package/dist/{chunk-N5GQIT7A.mjs → chunk-6KDTVSZT.mjs} +7 -7
  12. package/dist/{chunk-N5GQIT7A.mjs.map → chunk-6KDTVSZT.mjs.map} +1 -1
  13. package/dist/{chunk-VYU2FYDE.js → chunk-6YTYD4P5.js} +66 -66
  14. package/dist/{chunk-VYU2FYDE.js.map → chunk-6YTYD4P5.js.map} +1 -1
  15. package/dist/{chunk-YYNGXKUE.mjs → chunk-7TYNV6SY.mjs} +4 -4
  16. package/dist/{chunk-YYNGXKUE.mjs.map → chunk-7TYNV6SY.mjs.map} +1 -1
  17. package/dist/{chunk-RT264BD4.mjs → chunk-AHNH2PMI.mjs} +4 -4
  18. package/dist/{chunk-RT264BD4.mjs.map → chunk-AHNH2PMI.mjs.map} +1 -1
  19. package/dist/{chunk-RBH723MG.mjs → chunk-AKWCT53S.mjs} +4 -4
  20. package/dist/{chunk-RBH723MG.mjs.map → chunk-AKWCT53S.mjs.map} +1 -1
  21. package/dist/{chunk-MYHBXIO2.js → chunk-AMCFAGK3.js} +34 -34
  22. package/dist/{chunk-MYHBXIO2.js.map → chunk-AMCFAGK3.js.map} +1 -1
  23. package/dist/{chunk-UVFWKDRO.mjs → chunk-ANFSQJNI.mjs} +4 -4
  24. package/dist/{chunk-UVFWKDRO.mjs.map → chunk-ANFSQJNI.mjs.map} +1 -1
  25. package/dist/{chunk-BPMYNE7S.mjs → chunk-CSOMZ5UM.mjs} +4 -4
  26. package/dist/{chunk-BPMYNE7S.mjs.map → chunk-CSOMZ5UM.mjs.map} +1 -1
  27. package/dist/{chunk-FKRIQYRG.js → chunk-D5OTZGA2.js} +126 -127
  28. package/dist/chunk-D5OTZGA2.js.map +1 -0
  29. package/dist/{chunk-V3UZCOZI.js → chunk-IIRS5XZY.js} +32 -32
  30. package/dist/{chunk-V3UZCOZI.js.map → chunk-IIRS5XZY.js.map} +1 -1
  31. package/dist/{chunk-Z75CEP4V.js → chunk-K5567JM5.js} +13 -13
  32. package/dist/{chunk-Z75CEP4V.js.map → chunk-K5567JM5.js.map} +1 -1
  33. package/dist/{chunk-OM5NNUD2.mjs → chunk-KWH7JIRP.mjs} +3 -3
  34. package/dist/{chunk-OM5NNUD2.mjs.map → chunk-KWH7JIRP.mjs.map} +1 -1
  35. package/dist/{chunk-MFF37C24.js → chunk-MQDCUBVW.js} +150 -150
  36. package/dist/{chunk-MFF37C24.js.map → chunk-MQDCUBVW.js.map} +1 -1
  37. package/dist/{chunk-OW5LSEHU.mjs → chunk-MSKKNPRE.mjs} +3 -3
  38. package/dist/{chunk-OW5LSEHU.mjs.map → chunk-MSKKNPRE.mjs.map} +1 -1
  39. package/dist/{chunk-PLEWG2L7.js → chunk-N4YT3QA5.js} +15 -15
  40. package/dist/{chunk-PLEWG2L7.js.map → chunk-N4YT3QA5.js.map} +1 -1
  41. package/dist/{chunk-XGAPZT4J.js → chunk-NF5DDM5V.js} +40 -40
  42. package/dist/{chunk-XGAPZT4J.js.map → chunk-NF5DDM5V.js.map} +1 -1
  43. package/dist/{chunk-NK4H3JWN.mjs → chunk-OC4AOYU5.mjs} +4 -4
  44. package/dist/{chunk-NK4H3JWN.mjs.map → chunk-OC4AOYU5.mjs.map} +1 -1
  45. package/dist/{chunk-ID55ABBB.js → chunk-OY5HUZSD.js} +44 -44
  46. package/dist/{chunk-ID55ABBB.js.map → chunk-OY5HUZSD.js.map} +1 -1
  47. package/dist/{chunk-5OZTI7TR.js → chunk-PPIUMCUZ.js} +6 -6
  48. package/dist/{chunk-5OZTI7TR.js.map → chunk-PPIUMCUZ.js.map} +1 -1
  49. package/dist/{chunk-WLNY3GVM.mjs → chunk-QGRTV35L.mjs} +7 -7
  50. package/dist/{chunk-WLNY3GVM.mjs.map → chunk-QGRTV35L.mjs.map} +1 -1
  51. package/dist/{chunk-TDNBO3V7.js → chunk-SDYKXLCU.js} +56 -56
  52. package/dist/{chunk-TDNBO3V7.js.map → chunk-SDYKXLCU.js.map} +1 -1
  53. package/dist/{chunk-5TLKFOEL.mjs → chunk-UPYACFZJ.mjs} +5 -5
  54. package/dist/{chunk-5TLKFOEL.mjs.map → chunk-UPYACFZJ.mjs.map} +1 -1
  55. package/dist/{chunk-EDI46QA7.mjs → chunk-UXHJS2SH.mjs} +4 -5
  56. package/dist/chunk-UXHJS2SH.mjs.map +1 -0
  57. package/dist/{chunk-LRNVB7MO.js → chunk-VI4IUTMX.js} +4 -4
  58. package/dist/{chunk-LRNVB7MO.js.map → chunk-VI4IUTMX.js.map} +1 -1
  59. package/dist/{chunk-4D23CQZM.mjs → chunk-VIB42VMZ.mjs} +5 -5
  60. package/dist/{chunk-4D23CQZM.mjs.map → chunk-VIB42VMZ.mjs.map} +1 -1
  61. package/dist/{chunk-QSCWV47U.js → chunk-WOTKBKS6.js} +31 -31
  62. package/dist/{chunk-QSCWV47U.js.map → chunk-WOTKBKS6.js.map} +1 -1
  63. package/dist/{chunk-YXN2K77G.js → chunk-Y5VN4SPH.js} +26 -3
  64. package/dist/chunk-Y5VN4SPH.js.map +1 -0
  65. package/dist/{chunk-7VJ7CMMT.mjs → chunk-ZEFNBGYI.mjs} +26 -3
  66. package/dist/chunk-ZEFNBGYI.mjs.map +1 -0
  67. package/dist/{chunk-PIIY2Z2O.mjs → chunk-ZRCXDKBE.mjs} +3 -3
  68. package/dist/{chunk-PIIY2Z2O.mjs.map → chunk-ZRCXDKBE.mjs.map} +1 -1
  69. package/dist/index.js +668 -668
  70. package/dist/index.mjs +2 -2
  71. package/dist/lib/i18n-context.d.mts +12 -4
  72. package/dist/lib/i18n-context.d.ts +12 -4
  73. package/dist/lib/i18n-context.js +6 -6
  74. package/dist/lib/i18n-context.mjs +1 -1
  75. package/dist/platform/admin/index.js +10 -10
  76. package/dist/platform/admin/index.mjs +4 -4
  77. package/dist/platform/agents-workspace.js +7 -7
  78. package/dist/platform/agents-workspace.mjs +6 -6
  79. package/dist/platform/app-shell.js +4 -4
  80. package/dist/platform/app-shell.mjs +3 -3
  81. package/dist/platform/auth/index.js +22 -22
  82. package/dist/platform/auth/index.mjs +4 -4
  83. package/dist/platform/billing/index.js +4 -4
  84. package/dist/platform/billing/index.mjs +3 -3
  85. package/dist/platform/impersonation/index.js +4 -4
  86. package/dist/platform/impersonation/index.mjs +3 -3
  87. package/dist/platform/index.d.mts +1 -1
  88. package/dist/platform/index.d.ts +1 -1
  89. package/dist/platform/index.js +96 -96
  90. package/dist/platform/index.mjs +18 -18
  91. package/dist/platform/pages/index.js +346 -346
  92. package/dist/platform/pages/index.mjs +8 -8
  93. package/dist/platform/settings/index.js +7 -7
  94. package/dist/platform/settings/index.mjs +6 -6
  95. package/dist/platform/workflow-canvas-shell.js +5 -5
  96. package/dist/platform/workflow-canvas-shell.mjs +4 -4
  97. package/package.json +2 -1
  98. package/dist/chunk-7VJ7CMMT.mjs.map +0 -1
  99. package/dist/chunk-EDI46QA7.mjs.map +0 -1
  100. package/dist/chunk-FKRIQYRG.js.map +0 -1
  101. package/dist/chunk-YXN2K77G.js.map +0 -1
@@ -1,8 +1,8 @@
1
1
  "use client";
2
2
  'use strict';
3
3
 
4
- var chunkULKZGM2T_js = require('./chunk-ULKZGM2T.js');
5
- var chunkYXN2K77G_js = require('./chunk-YXN2K77G.js');
4
+ var chunk5ETT54QS_js = require('./chunk-5ETT54QS.js');
5
+ var chunkY5VN4SPH_js = require('./chunk-Y5VN4SPH.js');
6
6
  var chunkEZQ2D47U_js = require('./chunk-EZQ2D47U.js');
7
7
  var chunkBHOT22QL_js = require('./chunk-BHOT22QL.js');
8
8
  var chunk72SWXOD5_js = require('./chunk-72SWXOD5.js');
@@ -589,7 +589,7 @@ var INSERTABLE_NODES = [
589
589
  { nodeType: "speech_transcriber", nameKey: "speechTranscriberNode", subcategory: "AI" }
590
590
  ];
591
591
  function EdgeInsertPopupComponent({ position, onSelect, onClose }) {
592
- const tWorkflow = chunkYXN2K77G_js.useTranslations("agents.workflow");
592
+ const tWorkflow = chunkY5VN4SPH_js.useTranslations("agents.workflow");
593
593
  const [searchQuery, setSearchQuery] = react.useState("");
594
594
  const popupRef = react.useRef(null);
595
595
  const inputRef = react.useRef(null);
@@ -1237,7 +1237,7 @@ function DatasourceNodeConfigForm({
1237
1237
  onLoadSchema,
1238
1238
  readOnly = false
1239
1239
  }) {
1240
- const t = chunkYXN2K77G_js.useTranslations("agents.workflow.datasourceNodeConfig");
1240
+ const t = chunkY5VN4SPH_js.useTranslations("agents.workflow.datasourceNodeConfig");
1241
1241
  const [activeSectionId, setActiveSectionId] = react.useState("connection");
1242
1242
  const [selectedDatasourceId, setSelectedDatasourceId] = react.useState(config.datasourceId ?? "");
1243
1243
  const [selectedTable, setSelectedTable] = react.useState(config.table ?? "");
@@ -1684,7 +1684,7 @@ function DatasourceNodeConfigForm({
1684
1684
  }
1685
1685
  const logo = getDatasourceLogo(selectedDatasourceId, selectedDatasource?.dialect);
1686
1686
  return /* @__PURE__ */ jsxRuntime.jsx(
1687
- chunkULKZGM2T_js.GlassModal,
1687
+ chunk5ETT54QS_js.GlassModal,
1688
1688
  {
1689
1689
  open,
1690
1690
  onClose: onCancel,
@@ -2060,7 +2060,7 @@ function NodeRunningIndicatorComponent({ nodeId }) {
2060
2060
  }
2061
2061
  var NodeRunningIndicator = react.memo(NodeRunningIndicatorComponent);
2062
2062
  var AgentFlowNode = react.memo(function AgentFlowNode2({ id, data, selected }) {
2063
- const t = chunkYXN2K77G_js.useTranslations("agents");
2063
+ const t = chunkY5VN4SPH_js.useTranslations("agents");
2064
2064
  const isCompact = data.displayMode === "compact";
2065
2065
  if (!data.agent?.name) {
2066
2066
  const agentLabel = data.label;
@@ -2173,7 +2173,7 @@ var CATEGORY_PILL = {
2173
2173
  custom: "bg-amber-500/15 text-amber-700 dark:bg-amber-500/20 dark:text-amber-300"
2174
2174
  };
2175
2175
  var AgentToolFlowNode = react.memo(function AgentToolFlowNode2({ id, data, selected }) {
2176
- const t = chunkYXN2K77G_js.useTranslations("agents.workflow");
2176
+ const t = chunkY5VN4SPH_js.useTranslations("agents.workflow");
2177
2177
  const { agentTool, onRemoveFromCanvas } = data;
2178
2178
  const isCompact = data.displayMode === "compact";
2179
2179
  if (!agentTool?.name) {
@@ -2216,7 +2216,7 @@ var AgentToolFlowNode = react.memo(function AgentToolFlowNode2({ id, data, selec
2216
2216
  event.stopPropagation();
2217
2217
  },
2218
2218
  children: /* @__PURE__ */ jsxRuntime.jsx(
2219
- chunkULKZGM2T_js.ToggleSwitch,
2219
+ chunk5ETT54QS_js.ToggleSwitch,
2220
2220
  {
2221
2221
  checked: Boolean(agentTool.enabled),
2222
2222
  onChange: () => data.onToggle?.(agentTool),
@@ -2256,7 +2256,7 @@ var AgentToolFlowNode = react.memo(function AgentToolFlowNode2({ id, data, selec
2256
2256
  ] });
2257
2257
  });
2258
2258
  var ToolFlowNode = react.memo(function ToolFlowNode2({ id, data, selected }) {
2259
- const t = chunkYXN2K77G_js.useTranslations("admin.tools");
2259
+ const t = chunkY5VN4SPH_js.useTranslations("admin.tools");
2260
2260
  const { tool, onRemoveFromCanvas } = data;
2261
2261
  const isCompact = data.displayMode === "compact";
2262
2262
  if (!tool?.name) {
@@ -2324,7 +2324,7 @@ var ToolFlowNode = react.memo(function ToolFlowNode2({ id, data, selected }) {
2324
2324
  event.preventDefault();
2325
2325
  },
2326
2326
  children: /* @__PURE__ */ jsxRuntime.jsx(
2327
- chunkULKZGM2T_js.ToggleSwitch,
2327
+ chunk5ETT54QS_js.ToggleSwitch,
2328
2328
  {
2329
2329
  checked: Boolean(tool.enabled),
2330
2330
  onChange: () => onToggle(tool),
@@ -2368,7 +2368,7 @@ var ToolFlowNode = react.memo(function ToolFlowNode2({ id, data, selected }) {
2368
2368
  ] });
2369
2369
  });
2370
2370
  var RuleFlowNode = react.memo(function RuleFlowNode2({ id, data, selected }) {
2371
- const t = chunkYXN2K77G_js.useTranslations("admin.rules");
2371
+ const t = chunkY5VN4SPH_js.useTranslations("admin.rules");
2372
2372
  const { rule, onRemoveFromCanvas } = data;
2373
2373
  const isCompact = data.displayMode === "compact";
2374
2374
  if (!rule?.action) {
@@ -2476,7 +2476,7 @@ var RuleFlowNode = react.memo(function RuleFlowNode2({ id, data, selected }) {
2476
2476
  event.preventDefault();
2477
2477
  },
2478
2478
  children: /* @__PURE__ */ jsxRuntime.jsx(
2479
- chunkULKZGM2T_js.ToggleSwitch,
2479
+ chunk5ETT54QS_js.ToggleSwitch,
2480
2480
  {
2481
2481
  checked: Boolean(rule.enabled),
2482
2482
  onChange: () => onToggle(rule),
@@ -2524,7 +2524,7 @@ var RuleFlowNode = react.memo(function RuleFlowNode2({ id, data, selected }) {
2524
2524
  ] });
2525
2525
  });
2526
2526
  var EntityFlowNode = react.memo(function EntityFlowNode2({ id, data, selected }) {
2527
- const t = chunkYXN2K77G_js.useTranslations("agents.workflow");
2527
+ const t = chunkY5VN4SPH_js.useTranslations("agents.workflow");
2528
2528
  const { config, label, onEdit, onRemoveFromCanvas } = data;
2529
2529
  const isCompact = data.displayMode === "compact";
2530
2530
  if (!config || config.type !== "entity") {
@@ -2605,7 +2605,7 @@ var EntityFlowNode = react.memo(function EntityFlowNode2({ id, data, selected })
2605
2605
  ] });
2606
2606
  });
2607
2607
  var StartFlowNode = react.memo(function StartFlowNode2({ id, data, selected }) {
2608
- const t = chunkYXN2K77G_js.useTranslations("agents.workflow");
2608
+ const t = chunkY5VN4SPH_js.useTranslations("agents.workflow");
2609
2609
  const { config, label, onDelete, onEdit } = data;
2610
2610
  const isCompact = data.displayMode === "compact";
2611
2611
  const variableCount = config?.inputVariables?.length ?? 0;
@@ -2649,7 +2649,7 @@ var StartFlowNode = react.memo(function StartFlowNode2({ id, data, selected }) {
2649
2649
  ] });
2650
2650
  });
2651
2651
  var EndFlowNode = react.memo(function EndFlowNode2({ id, data, selected }) {
2652
- const t = chunkYXN2K77G_js.useTranslations("agents.workflow");
2652
+ const t = chunkY5VN4SPH_js.useTranslations("agents.workflow");
2653
2653
  const { config, label, onDelete, onEdit } = data;
2654
2654
  const isCompact = data.displayMode === "compact";
2655
2655
  const variableCount = config?.outputVariables?.length ?? 0;
@@ -2693,7 +2693,7 @@ var EndFlowNode = react.memo(function EndFlowNode2({ id, data, selected }) {
2693
2693
  ] });
2694
2694
  });
2695
2695
  var IfElseFlowNode = react.memo(function IfElseFlowNode2({ id, data, selected }) {
2696
- const t = chunkYXN2K77G_js.useTranslations("agents.workflow");
2696
+ const t = chunkY5VN4SPH_js.useTranslations("agents.workflow");
2697
2697
  const { config, label, onDelete, onEdit } = data;
2698
2698
  const isCompact = data.displayMode === "compact";
2699
2699
  const conditionCount = config?.conditions?.length ?? 0;
@@ -2731,8 +2731,8 @@ var IfElseFlowNode = react.memo(function IfElseFlowNode2({ id, data, selected })
2731
2731
  ] }),
2732
2732
  /* @__PURE__ */ jsxRuntime.jsx(NodeCardDeleteAction, { nodeId: id, onDelete })
2733
2733
  ] }),
2734
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "pointer-events-none absolute -right-12 top-1/2 -translate-y-1/2", children: /* @__PURE__ */ jsxRuntime.jsx(chunkULKZGM2T_js.StatusBadge, { status: "success", label: t("ifBranchLabel"), size: "sm" }) }),
2735
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "pointer-events-none absolute bottom-[-1.9rem] left-1/2 -translate-x-1/2", children: /* @__PURE__ */ jsxRuntime.jsx(chunkULKZGM2T_js.StatusBadge, { status: "error", label: t("elseBranchLabel"), size: "sm" }) })
2734
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "pointer-events-none absolute -right-12 top-1/2 -translate-y-1/2", children: /* @__PURE__ */ jsxRuntime.jsx(chunk5ETT54QS_js.StatusBadge, { status: "success", label: t("ifBranchLabel"), size: "sm" }) }),
2735
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "pointer-events-none absolute bottom-[-1.9rem] left-1/2 -translate-x-1/2", children: /* @__PURE__ */ jsxRuntime.jsx(chunk5ETT54QS_js.StatusBadge, { status: "error", label: t("elseBranchLabel"), size: "sm" }) })
2736
2736
  ]
2737
2737
  }
2738
2738
  ),
@@ -2741,7 +2741,7 @@ var IfElseFlowNode = react.memo(function IfElseFlowNode2({ id, data, selected })
2741
2741
  ] });
2742
2742
  });
2743
2743
  var CodeFlowNode = react.memo(function CodeFlowNode2({ id, data, selected }) {
2744
- const t = chunkYXN2K77G_js.useTranslations("agents.workflow");
2744
+ const t = chunkY5VN4SPH_js.useTranslations("agents.workflow");
2745
2745
  const { config, label, onDelete, onEdit } = data;
2746
2746
  const isCompact = data.displayMode === "compact";
2747
2747
  const isScripted = "language" in config;
@@ -2787,7 +2787,7 @@ var CodeFlowNode = react.memo(function CodeFlowNode2({ id, data, selected }) {
2787
2787
  ] });
2788
2788
  });
2789
2789
  var HttpRequestFlowNode = react.memo(function HttpRequestFlowNode2({ id, data, selected }) {
2790
- const t = chunkYXN2K77G_js.useTranslations("agents.workflow");
2790
+ const t = chunkY5VN4SPH_js.useTranslations("agents.workflow");
2791
2791
  const { config, label, onDelete, onEdit } = data;
2792
2792
  const isCompact = data.displayMode === "compact";
2793
2793
  const urlPreview = config.url ? config.url.slice(0, 30) : "";
@@ -2828,7 +2828,7 @@ var HttpRequestFlowNode = react.memo(function HttpRequestFlowNode2({ id, data, s
2828
2828
  ] });
2829
2829
  });
2830
2830
  var TemplateTransformFlowNode = react.memo(function TemplateTransformFlowNode2({ id, data, selected }) {
2831
- const t = chunkYXN2K77G_js.useTranslations("agents.workflow");
2831
+ const t = chunkY5VN4SPH_js.useTranslations("agents.workflow");
2832
2832
  const { config, label, onDelete, onEdit } = data;
2833
2833
  const isCompact = data.displayMode === "compact";
2834
2834
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
@@ -2867,7 +2867,7 @@ var TemplateTransformFlowNode = react.memo(function TemplateTransformFlowNode2({
2867
2867
  ] });
2868
2868
  });
2869
2869
  var IterationFlowNode = react.memo(function IterationFlowNode2({ id, data, selected }) {
2870
- const t = chunkYXN2K77G_js.useTranslations("agents.workflow");
2870
+ const t = chunkY5VN4SPH_js.useTranslations("agents.workflow");
2871
2871
  const { config, label, onDelete, onEdit } = data;
2872
2872
  const isCompact = data.displayMode === "compact";
2873
2873
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
@@ -2912,7 +2912,7 @@ var IterationFlowNode = react.memo(function IterationFlowNode2({ id, data, selec
2912
2912
  ] });
2913
2913
  });
2914
2914
  var KnowledgeBaseFlowNode = react.memo(function KnowledgeBaseFlowNode2({ id, data, selected }) {
2915
- const t = chunkYXN2K77G_js.useTranslations("agents.workflow");
2915
+ const t = chunkY5VN4SPH_js.useTranslations("agents.workflow");
2916
2916
  const { config, label, onDelete, onEdit } = data;
2917
2917
  const isCompact = data.displayMode === "compact";
2918
2918
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
@@ -2960,7 +2960,7 @@ var KnowledgeBaseFlowNode = react.memo(function KnowledgeBaseFlowNode2({ id, dat
2960
2960
  ] });
2961
2961
  });
2962
2962
  var AnswerFlowNode = react.memo(function AnswerFlowNode2({ id, data, selected }) {
2963
- const t = chunkYXN2K77G_js.useTranslations("agents.workflow");
2963
+ const t = chunkY5VN4SPH_js.useTranslations("agents.workflow");
2964
2964
  const { config, label, onDelete, onEdit } = data;
2965
2965
  const isCompact = data.displayMode === "compact";
2966
2966
  const variableCount = config?.outputVariables?.length ?? 0;
@@ -3004,7 +3004,7 @@ var AnswerFlowNode = react.memo(function AnswerFlowNode2({ id, data, selected })
3004
3004
  ] });
3005
3005
  });
3006
3006
  var QuestionClassifierFlowNode = react.memo(function QuestionClassifierFlowNode2({ id, data, selected }) {
3007
- const t = chunkYXN2K77G_js.useTranslations("agents.workflow");
3007
+ const t = chunkY5VN4SPH_js.useTranslations("agents.workflow");
3008
3008
  const { config, label, onDelete, onEdit } = data;
3009
3009
  const isCompact = data.displayMode === "compact";
3010
3010
  const categoryCount = config?.categories?.length ?? 0;
@@ -3059,7 +3059,7 @@ var QuestionClassifierFlowNode = react.memo(function QuestionClassifierFlowNode2
3059
3059
  ] });
3060
3060
  });
3061
3061
  var ParameterExtractorFlowNode = react.memo(function ParameterExtractorFlowNode2({ id, data, selected }) {
3062
- const t = chunkYXN2K77G_js.useTranslations("agents.workflow");
3062
+ const t = chunkY5VN4SPH_js.useTranslations("agents.workflow");
3063
3063
  const { config, label, onDelete, onEdit } = data;
3064
3064
  const isCompact = data.displayMode === "compact";
3065
3065
  const parameterCount = config?.parameters?.length ?? 0;
@@ -3104,7 +3104,7 @@ var ParameterExtractorFlowNode = react.memo(function ParameterExtractorFlowNode2
3104
3104
  ] });
3105
3105
  });
3106
3106
  var VariableAssignerFlowNode = react.memo(function VariableAssignerFlowNode2({ id, data, selected }) {
3107
- const t = chunkYXN2K77G_js.useTranslations("agents.workflow");
3107
+ const t = chunkY5VN4SPH_js.useTranslations("agents.workflow");
3108
3108
  const { config, label, onDelete, onEdit } = data;
3109
3109
  const isCompact = data.displayMode === "compact";
3110
3110
  const assignmentCount = config?.assignments?.length ?? 0;
@@ -3149,7 +3149,7 @@ var VariableAssignerFlowNode = react.memo(function VariableAssignerFlowNode2({ i
3149
3149
  ] });
3150
3150
  });
3151
3151
  var VariableAggregatorFlowNode = react.memo(function VariableAggregatorFlowNode2({ id, data, selected }) {
3152
- const t = chunkYXN2K77G_js.useTranslations("agents.workflow");
3152
+ const t = chunkY5VN4SPH_js.useTranslations("agents.workflow");
3153
3153
  const { config, label, onDelete, onEdit } = data;
3154
3154
  const isCompact = data.displayMode === "compact";
3155
3155
  const inputCount = config?.inputVariables?.length ?? 1;
@@ -3194,7 +3194,7 @@ var VariableAggregatorFlowNode = react.memo(function VariableAggregatorFlowNode2
3194
3194
  ] });
3195
3195
  });
3196
3196
  var DocumentExtractorFlowNode = react.memo(function DocumentExtractorFlowNode2({ id, data, selected }) {
3197
- const t = chunkYXN2K77G_js.useTranslations("agents.workflow");
3197
+ const t = chunkY5VN4SPH_js.useTranslations("agents.workflow");
3198
3198
  const { config, label, onDelete, onEdit } = data;
3199
3199
  const isCompact = data.displayMode === "compact";
3200
3200
  const extractionMode = config.extractionMode;
@@ -3235,7 +3235,7 @@ var DocumentExtractorFlowNode = react.memo(function DocumentExtractorFlowNode2({
3235
3235
  ] });
3236
3236
  });
3237
3237
  var ListOperatorFlowNode = react.memo(function ListOperatorFlowNode2({ id, data, selected }) {
3238
- const t = chunkYXN2K77G_js.useTranslations("agents.workflow");
3238
+ const t = chunkY5VN4SPH_js.useTranslations("agents.workflow");
3239
3239
  const { config, label, onDelete, onEdit } = data;
3240
3240
  const isCompact = data.displayMode === "compact";
3241
3241
  const operationName = config.operation;
@@ -3276,7 +3276,7 @@ var ListOperatorFlowNode = react.memo(function ListOperatorFlowNode2({ id, data,
3276
3276
  ] });
3277
3277
  });
3278
3278
  var IterationStartFlowNode = react.memo(function IterationStartFlowNode2({ id, data, selected }) {
3279
- const t = chunkYXN2K77G_js.useTranslations("agents.workflow");
3279
+ const t = chunkY5VN4SPH_js.useTranslations("agents.workflow");
3280
3280
  const { config, label, onDelete, onEdit } = data;
3281
3281
  const isCompact = data.displayMode === "compact";
3282
3282
  const iteratorVariable = config.iteratorVariable;
@@ -3338,7 +3338,7 @@ var NOTE_ICON_COLORS = {
3338
3338
  purple: "text-purple-600 dark:text-purple-400"
3339
3339
  };
3340
3340
  var NoteFlowNode = react.memo(function NoteFlowNode2({ data, selected }) {
3341
- const t = chunkYXN2K77G_js.useTranslations("agents.workflow");
3341
+ const t = chunkY5VN4SPH_js.useTranslations("agents.workflow");
3342
3342
  const { config } = data;
3343
3343
  const [isEditing, setIsEditing] = react.useState(false);
3344
3344
  const [noteText, setNoteText] = react.useState(config.text);
@@ -3432,7 +3432,7 @@ function getDatasourceLogo2(datasourceId, dialect) {
3432
3432
  return null;
3433
3433
  }
3434
3434
  var DatasourceFlowNode = react.memo(function DatasourceFlowNode2({ id, data, selected }) {
3435
- const t = chunkYXN2K77G_js.useTranslations("agents.workflow");
3435
+ const t = chunkY5VN4SPH_js.useTranslations("agents.workflow");
3436
3436
  const { config, label, datasource, readOnly = false, onEdit, onRemoveFromCanvas } = data;
3437
3437
  const isCompact = data.displayMode === "compact";
3438
3438
  if (!config || config.type !== "datasource") {
@@ -3476,7 +3476,7 @@ var DatasourceFlowNode = react.memo(function DatasourceFlowNode2({ id, data, sel
3476
3476
  event.preventDefault();
3477
3477
  },
3478
3478
  children: /* @__PURE__ */ jsxRuntime.jsx(
3479
- chunkULKZGM2T_js.ToggleSwitch,
3479
+ chunk5ETT54QS_js.ToggleSwitch,
3480
3480
  {
3481
3481
  checked: true,
3482
3482
  onChange: () => {
@@ -3585,7 +3585,7 @@ var GROUP_COLORS = {
3585
3585
  }
3586
3586
  };
3587
3587
  var GroupFlowNode = react.memo(function GroupFlowNode2({ id, data, selected }) {
3588
- const translations = chunkYXN2K77G_js.useTranslations("agents.workflow");
3588
+ const translations = chunkY5VN4SPH_js.useTranslations("agents.workflow");
3589
3589
  const { config, label, onEdit, onToggleExpand, onRemoveFromCanvas } = data;
3590
3590
  const colorScheme = GROUP_COLORS[config.color] ?? GROUP_COLORS.slate;
3591
3591
  const handleToggleExpand = react.useCallback(
@@ -3667,7 +3667,6 @@ var GroupFlowNode = react.memo(function GroupFlowNode2({ id, data, selected }) {
3667
3667
  "div",
3668
3668
  {
3669
3669
  className: `group relative h-full w-full overflow-hidden rounded-xl border liquid-surface ${getNodeStateClass(selected, void 0, colorScheme.border)} transition-all`,
3670
- style: { minWidth: config.width, minHeight: config.height },
3671
3670
  children: [
3672
3671
  /* @__PURE__ */ jsxRuntime.jsxs(
3673
3672
  "div",
@@ -3795,7 +3794,7 @@ var SpeechTranscriberFlowNode = react.memo(function SpeechTranscriberFlowNode2({
3795
3794
  ] });
3796
3795
  });
3797
3796
  var DashboardOutputFlowNode = react.memo(function DashboardOutputFlowNode2({ id, data, selected }) {
3798
- const t = chunkYXN2K77G_js.useTranslations("agents.workflow");
3797
+ const t = chunkY5VN4SPH_js.useTranslations("agents.workflow");
3799
3798
  const { config, label, onDelete, onEdit } = data;
3800
3799
  const isCompact = data.displayMode === "compact";
3801
3800
  const source = config?.dashboardFrom ? `\u2190 ${config.dashboardFrom}` : config?.dashboard ? "inline" : "unset";
@@ -3981,7 +3980,7 @@ function VariableListEditor({
3981
3980
  ] });
3982
3981
  }
3983
3982
  function StartNodeConfigForm({ config, onSave, onCancel }) {
3984
- const t = chunkYXN2K77G_js.useTranslations("agents.workflow.startNodeConfig");
3983
+ const t = chunkY5VN4SPH_js.useTranslations("agents.workflow.startNodeConfig");
3985
3984
  const [inputVariables, setInputVariables] = react.useState([...config.inputVariables]);
3986
3985
  const handleSave = () => {
3987
3986
  onSave({ ...config, inputVariables });
@@ -4013,7 +4012,7 @@ function StartNodeConfigForm({ config, onSave, onCancel }) {
4013
4012
  ] });
4014
4013
  }
4015
4014
  function EndNodeConfigForm({ config, onSave, onCancel }) {
4016
- const t = chunkYXN2K77G_js.useTranslations("agents.workflow.endNodeConfig");
4015
+ const t = chunkY5VN4SPH_js.useTranslations("agents.workflow.endNodeConfig");
4017
4016
  const [outputVariables, setOutputVariables] = react.useState([...config.outputVariables]);
4018
4017
  const handleSave = () => {
4019
4018
  onSave({ ...config, outputVariables });
@@ -4054,7 +4053,7 @@ var OPERATOR_OPTIONS = [
4054
4053
  { value: "is_not_empty", labelKey: "operatorIsNotEmpty" }
4055
4054
  ];
4056
4055
  function IfElseNodeConfigForm({ config, onSave, onCancel }) {
4057
- const t = chunkYXN2K77G_js.useTranslations("agents.workflow.ifElseNodeConfig");
4056
+ const t = chunkY5VN4SPH_js.useTranslations("agents.workflow.ifElseNodeConfig");
4058
4057
  const [conditions, setConditions] = react.useState(
4059
4058
  config.conditions.map((condition) => ({
4060
4059
  variable: condition.variable,
@@ -4101,7 +4100,7 @@ function IfElseNodeConfigForm({ config, onSave, onCancel }) {
4101
4100
  /* @__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: [
4102
4101
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid flex-1 grid-cols-3 gap-2", children: [
4103
4102
  /* @__PURE__ */ jsxRuntime.jsx("div", { children: /* @__PURE__ */ jsxRuntime.jsx(
4104
- chunkULKZGM2T_js.FormInput,
4103
+ chunk5ETT54QS_js.FormInput,
4105
4104
  {
4106
4105
  type: "text",
4107
4106
  label: t("variableLabel"),
@@ -4112,7 +4111,7 @@ function IfElseNodeConfigForm({ config, onSave, onCancel }) {
4112
4111
  }
4113
4112
  ) }),
4114
4113
  /* @__PURE__ */ jsxRuntime.jsx("div", { children: /* @__PURE__ */ jsxRuntime.jsx(
4115
- chunkULKZGM2T_js.FormSelect,
4114
+ chunk5ETT54QS_js.FormSelect,
4116
4115
  {
4117
4116
  label: t("operatorLabel"),
4118
4117
  value: condition.operator,
@@ -4122,7 +4121,7 @@ function IfElseNodeConfigForm({ config, onSave, onCancel }) {
4122
4121
  }
4123
4122
  ) }),
4124
4123
  /* @__PURE__ */ jsxRuntime.jsx("div", { children: /* @__PURE__ */ jsxRuntime.jsx(
4125
- chunkULKZGM2T_js.FormInput,
4124
+ chunk5ETT54QS_js.FormInput,
4126
4125
  {
4127
4126
  type: "text",
4128
4127
  label: t("valueLabel"),
@@ -4207,7 +4206,7 @@ function hasOperation(config) {
4207
4206
  return "operation" in config && typeof config.operation === "string";
4208
4207
  }
4209
4208
  function CodeNodeConfigForm({ config, onSave, onCancel }) {
4210
- const t = chunkYXN2K77G_js.useTranslations("agents.workflow.codeNodeConfig");
4209
+ const t = chunkY5VN4SPH_js.useTranslations("agents.workflow.codeNodeConfig");
4211
4210
  const initialMode = hasOperation(config) ? "operation" : "scripted";
4212
4211
  const [mode, setMode] = react.useState(initialMode);
4213
4212
  const [language, setLanguage] = react.useState(
@@ -4475,7 +4474,7 @@ function entriesToHeaders(entries) {
4475
4474
  return headers;
4476
4475
  }
4477
4476
  function HttpRequestNodeConfigForm({ config, onSave, onCancel }) {
4478
- const t = chunkYXN2K77G_js.useTranslations("agents.workflow.httpRequestNodeConfig");
4477
+ const t = chunkY5VN4SPH_js.useTranslations("agents.workflow.httpRequestNodeConfig");
4479
4478
  const [method, setMethod] = react.useState(config.method);
4480
4479
  const [url, setUrl] = react.useState(config.url);
4481
4480
  const [headerEntries, setHeaderEntries] = react.useState(headersToEntries(config.headers));
@@ -4506,7 +4505,7 @@ function HttpRequestNodeConfigForm({ config, onSave, onCancel }) {
4506
4505
  };
4507
4506
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
4508
4507
  /* @__PURE__ */ jsxRuntime.jsx(
4509
- chunkULKZGM2T_js.FormSelect,
4508
+ chunk5ETT54QS_js.FormSelect,
4510
4509
  {
4511
4510
  label: t("methodLabel"),
4512
4511
  value: method,
@@ -4515,7 +4514,7 @@ function HttpRequestNodeConfigForm({ config, onSave, onCancel }) {
4515
4514
  }
4516
4515
  ),
4517
4516
  /* @__PURE__ */ jsxRuntime.jsx(
4518
- chunkULKZGM2T_js.FormInput,
4517
+ chunk5ETT54QS_js.FormInput,
4519
4518
  {
4520
4519
  type: "text",
4521
4520
  label: t("urlLabel"),
@@ -4538,7 +4537,7 @@ function HttpRequestNodeConfigForm({ config, onSave, onCancel }) {
4538
4537
  ] }),
4539
4538
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-2", children: headerEntries.map((entry, index) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
4540
4539
  /* @__PURE__ */ jsxRuntime.jsx(
4541
- chunkULKZGM2T_js.FormInput,
4540
+ chunk5ETT54QS_js.FormInput,
4542
4541
  {
4543
4542
  type: "text",
4544
4543
  value: entry.key,
@@ -4548,7 +4547,7 @@ function HttpRequestNodeConfigForm({ config, onSave, onCancel }) {
4548
4547
  }
4549
4548
  ),
4550
4549
  /* @__PURE__ */ jsxRuntime.jsx(
4551
- chunkULKZGM2T_js.FormInput,
4550
+ chunk5ETT54QS_js.FormInput,
4552
4551
  {
4553
4552
  type: "text",
4554
4553
  value: entry.value,
@@ -4570,7 +4569,7 @@ function HttpRequestNodeConfigForm({ config, onSave, onCancel }) {
4570
4569
  ] }, index)) })
4571
4570
  ] }),
4572
4571
  method !== "GET" && /* @__PURE__ */ jsxRuntime.jsx(
4573
- chunkULKZGM2T_js.FormTextarea,
4572
+ chunk5ETT54QS_js.FormTextarea,
4574
4573
  {
4575
4574
  label: t("bodyLabel"),
4576
4575
  value: body,
@@ -4581,7 +4580,7 @@ function HttpRequestNodeConfigForm({ config, onSave, onCancel }) {
4581
4580
  }
4582
4581
  ),
4583
4582
  /* @__PURE__ */ jsxRuntime.jsx(
4584
- chunkULKZGM2T_js.FormInput,
4583
+ chunk5ETT54QS_js.FormInput,
4585
4584
  {
4586
4585
  type: "number",
4587
4586
  label: t("timeoutLabel"),
@@ -4593,7 +4592,7 @@ function HttpRequestNodeConfigForm({ config, onSave, onCancel }) {
4593
4592
  }
4594
4593
  ),
4595
4594
  /* @__PURE__ */ jsxRuntime.jsx(
4596
- chunkULKZGM2T_js.FormSelect,
4595
+ chunk5ETT54QS_js.FormSelect,
4597
4596
  {
4598
4597
  label: t("parseResponseLabel"),
4599
4598
  value: parseResponse,
@@ -4616,7 +4615,7 @@ function HttpRequestNodeConfigForm({ config, onSave, onCancel }) {
4616
4615
  ] });
4617
4616
  }
4618
4617
  function S3WriteNodeConfigForm({ config, onSave, onCancel }) {
4619
- const t = chunkYXN2K77G_js.useTranslations("agents.workflow.s3WriteNodeConfig");
4618
+ const t = chunkY5VN4SPH_js.useTranslations("agents.workflow.s3WriteNodeConfig");
4620
4619
  const [bucket, setBucket] = react.useState(config.bucket ?? "");
4621
4620
  const [key, setKey] = react.useState(config.key ?? "");
4622
4621
  const [sourceUrl, setSourceUrl] = react.useState(config.sourceUrl ?? "");
@@ -4638,7 +4637,7 @@ function S3WriteNodeConfigForm({ config, onSave, onCancel }) {
4638
4637
  };
4639
4638
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
4640
4639
  /* @__PURE__ */ jsxRuntime.jsx(
4641
- chunkULKZGM2T_js.FormInput,
4640
+ chunk5ETT54QS_js.FormInput,
4642
4641
  {
4643
4642
  type: "text",
4644
4643
  label: t("bucketLabel"),
@@ -4648,7 +4647,7 @@ function S3WriteNodeConfigForm({ config, onSave, onCancel }) {
4648
4647
  }
4649
4648
  ),
4650
4649
  /* @__PURE__ */ jsxRuntime.jsx(
4651
- chunkULKZGM2T_js.FormInput,
4650
+ chunk5ETT54QS_js.FormInput,
4652
4651
  {
4653
4652
  type: "text",
4654
4653
  label: t("keyLabel"),
@@ -4659,7 +4658,7 @@ function S3WriteNodeConfigForm({ config, onSave, onCancel }) {
4659
4658
  ),
4660
4659
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "rounded-lg border border-cyan-200/40 bg-cyan-50/40 px-3 py-2 text-[11px] text-cyan-900 dark:border-cyan-500/30 dark:bg-cyan-500/10 dark:text-cyan-100", children: t("sourceOrBodyHint") }),
4661
4660
  /* @__PURE__ */ jsxRuntime.jsx(
4662
- chunkULKZGM2T_js.FormInput,
4661
+ chunk5ETT54QS_js.FormInput,
4663
4662
  {
4664
4663
  type: "text",
4665
4664
  label: t("sourceUrlLabel"),
@@ -4669,7 +4668,7 @@ function S3WriteNodeConfigForm({ config, onSave, onCancel }) {
4669
4668
  }
4670
4669
  ),
4671
4670
  /* @__PURE__ */ jsxRuntime.jsx(
4672
- chunkULKZGM2T_js.FormTextarea,
4671
+ chunk5ETT54QS_js.FormTextarea,
4673
4672
  {
4674
4673
  label: t("bodyLabel"),
4675
4674
  value: body,
@@ -4680,7 +4679,7 @@ function S3WriteNodeConfigForm({ config, onSave, onCancel }) {
4680
4679
  }
4681
4680
  ),
4682
4681
  /* @__PURE__ */ jsxRuntime.jsx(
4683
- chunkULKZGM2T_js.FormInput,
4682
+ chunk5ETT54QS_js.FormInput,
4684
4683
  {
4685
4684
  type: "text",
4686
4685
  label: t("contentTypeLabel"),
@@ -4690,7 +4689,7 @@ function S3WriteNodeConfigForm({ config, onSave, onCancel }) {
4690
4689
  }
4691
4690
  ),
4692
4691
  /* @__PURE__ */ jsxRuntime.jsx(
4693
- chunkULKZGM2T_js.FormInput,
4692
+ chunk5ETT54QS_js.FormInput,
4694
4693
  {
4695
4694
  type: "number",
4696
4695
  label: t("timeoutLabel"),
@@ -4701,7 +4700,7 @@ function S3WriteNodeConfigForm({ config, onSave, onCancel }) {
4701
4700
  }
4702
4701
  ),
4703
4702
  /* @__PURE__ */ jsxRuntime.jsx(
4704
- chunkULKZGM2T_js.FormInput,
4703
+ chunk5ETT54QS_js.FormInput,
4705
4704
  {
4706
4705
  type: "text",
4707
4706
  label: t("connectionIdLabel"),
@@ -4722,7 +4721,7 @@ function S3WriteNodeConfigForm({ config, onSave, onCancel }) {
4722
4721
  ] });
4723
4722
  }
4724
4723
  function TemplateTransformNodeConfigForm({ config, onSave, onCancel }) {
4725
- const t = chunkYXN2K77G_js.useTranslations("agents.workflow.templateTransformNodeConfig");
4724
+ const t = chunkY5VN4SPH_js.useTranslations("agents.workflow.templateTransformNodeConfig");
4726
4725
  const [template, setTemplate] = react.useState(config.template);
4727
4726
  const [outputVariable, setOutputVariable] = react.useState(config.outputVariable);
4728
4727
  const handleSave = () => {
@@ -4730,7 +4729,7 @@ function TemplateTransformNodeConfigForm({ config, onSave, onCancel }) {
4730
4729
  };
4731
4730
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
4732
4731
  /* @__PURE__ */ jsxRuntime.jsx(
4733
- chunkULKZGM2T_js.FormTextarea,
4732
+ chunk5ETT54QS_js.FormTextarea,
4734
4733
  {
4735
4734
  label: t("templateLabel"),
4736
4735
  value: template,
@@ -4741,7 +4740,7 @@ function TemplateTransformNodeConfigForm({ config, onSave, onCancel }) {
4741
4740
  }
4742
4741
  ),
4743
4742
  /* @__PURE__ */ jsxRuntime.jsx(
4744
- chunkULKZGM2T_js.FormInput,
4743
+ chunk5ETT54QS_js.FormInput,
4745
4744
  {
4746
4745
  type: "text",
4747
4746
  label: t("outputVariableLabel"),
@@ -4762,7 +4761,7 @@ function TemplateTransformNodeConfigForm({ config, onSave, onCancel }) {
4762
4761
  ] });
4763
4762
  }
4764
4763
  function IterationNodeConfigForm({ config, onSave, onCancel }) {
4765
- const t = chunkYXN2K77G_js.useTranslations("agents.workflow.iterationNodeConfig");
4764
+ const t = chunkY5VN4SPH_js.useTranslations("agents.workflow.iterationNodeConfig");
4766
4765
  const [iteratorVariable, setIteratorVariable] = react.useState(config.iteratorVariable);
4767
4766
  const [maxIterations, setMaxIterations] = react.useState(config.maxIterations);
4768
4767
  const handleSave = () => {
@@ -4770,7 +4769,7 @@ function IterationNodeConfigForm({ config, onSave, onCancel }) {
4770
4769
  };
4771
4770
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
4772
4771
  /* @__PURE__ */ jsxRuntime.jsx(
4773
- chunkULKZGM2T_js.FormInput,
4772
+ chunk5ETT54QS_js.FormInput,
4774
4773
  {
4775
4774
  type: "text",
4776
4775
  label: t("iteratorVariableLabel"),
@@ -4780,7 +4779,7 @@ function IterationNodeConfigForm({ config, onSave, onCancel }) {
4780
4779
  }
4781
4780
  ),
4782
4781
  /* @__PURE__ */ jsxRuntime.jsx(
4783
- chunkULKZGM2T_js.FormInput,
4782
+ chunk5ETT54QS_js.FormInput,
4784
4783
  {
4785
4784
  type: "number",
4786
4785
  label: t("maxIterationsLabel"),
@@ -4802,7 +4801,7 @@ function IterationNodeConfigForm({ config, onSave, onCancel }) {
4802
4801
  ] });
4803
4802
  }
4804
4803
  function KnowledgeBaseNodeConfigForm({ config, onSave, onCancel }) {
4805
- const t = chunkYXN2K77G_js.useTranslations("agents.workflow.knowledgeBaseNodeConfig");
4804
+ const t = chunkY5VN4SPH_js.useTranslations("agents.workflow.knowledgeBaseNodeConfig");
4806
4805
  const [sourceId, setSourceId] = react.useState(config.sourceId);
4807
4806
  const [topK, setTopK] = react.useState(config.topK);
4808
4807
  const [similarityThreshold, setSimilarityThreshold] = react.useState(config.similarityThreshold);
@@ -4811,7 +4810,7 @@ function KnowledgeBaseNodeConfigForm({ config, onSave, onCancel }) {
4811
4810
  };
4812
4811
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
4813
4812
  /* @__PURE__ */ jsxRuntime.jsx(
4814
- chunkULKZGM2T_js.FormInput,
4813
+ chunk5ETT54QS_js.FormInput,
4815
4814
  {
4816
4815
  type: "text",
4817
4816
  label: t("sourceIdLabel"),
@@ -4821,7 +4820,7 @@ function KnowledgeBaseNodeConfigForm({ config, onSave, onCancel }) {
4821
4820
  }
4822
4821
  ),
4823
4822
  /* @__PURE__ */ jsxRuntime.jsx(
4824
- chunkULKZGM2T_js.FormInput,
4823
+ chunk5ETT54QS_js.FormInput,
4825
4824
  {
4826
4825
  type: "number",
4827
4826
  label: t("topKLabel"),
@@ -4832,7 +4831,7 @@ function KnowledgeBaseNodeConfigForm({ config, onSave, onCancel }) {
4832
4831
  }
4833
4832
  ),
4834
4833
  /* @__PURE__ */ jsxRuntime.jsx(
4835
- chunkULKZGM2T_js.FormInput,
4834
+ chunk5ETT54QS_js.FormInput,
4836
4835
  {
4837
4836
  type: "number",
4838
4837
  label: t("similarityThresholdLabel"),
@@ -4855,7 +4854,7 @@ function KnowledgeBaseNodeConfigForm({ config, onSave, onCancel }) {
4855
4854
  ] });
4856
4855
  }
4857
4856
  function AnswerNodeConfigForm({ config, onSave, onCancel }) {
4858
- const t = chunkYXN2K77G_js.useTranslations("agents.workflow.answerNodeConfig");
4857
+ const t = chunkY5VN4SPH_js.useTranslations("agents.workflow.answerNodeConfig");
4859
4858
  const [outputTemplate, setOutputTemplate] = react.useState(config.outputTemplate);
4860
4859
  const [outputVariables, setOutputVariables] = react.useState([...config.outputVariables]);
4861
4860
  const handleSave = () => {
@@ -4863,7 +4862,7 @@ function AnswerNodeConfigForm({ config, onSave, onCancel }) {
4863
4862
  };
4864
4863
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
4865
4864
  /* @__PURE__ */ jsxRuntime.jsx(
4866
- chunkULKZGM2T_js.FormTextarea,
4865
+ chunk5ETT54QS_js.FormTextarea,
4867
4866
  {
4868
4867
  label: t("outputTemplateLabel"),
4869
4868
  hint: t("outputTemplateHelp"),
@@ -4897,7 +4896,7 @@ function AnswerNodeConfigForm({ config, onSave, onCancel }) {
4897
4896
  ] });
4898
4897
  }
4899
4898
  function QuestionClassifierNodeConfigForm({ config, onSave, onCancel }) {
4900
- const t = chunkYXN2K77G_js.useTranslations("agents.workflow.questionClassifierNodeConfig");
4899
+ const t = chunkY5VN4SPH_js.useTranslations("agents.workflow.questionClassifierNodeConfig");
4901
4900
  const [modelId, setModelId] = react.useState(config.modelId);
4902
4901
  const [instructions, setInstructions] = react.useState(config.instructions);
4903
4902
  const [categories, setCategories] = react.useState(
@@ -5029,7 +5028,7 @@ function QuestionClassifierNodeConfigForm({ config, onSave, onCancel }) {
5029
5028
  }
5030
5029
  var PARAMETER_TYPES = ["string", "number", "boolean", "array"];
5031
5030
  function ParameterExtractorNodeConfigForm({ config, onSave, onCancel }) {
5032
- const t = chunkYXN2K77G_js.useTranslations("agents.workflow.parameterExtractorNodeConfig");
5031
+ const t = chunkY5VN4SPH_js.useTranslations("agents.workflow.parameterExtractorNodeConfig");
5033
5032
  const [modelId, setModelId] = react.useState(config.modelId);
5034
5033
  const [parameters, setParameters] = react.useState(
5035
5034
  config.parameters.map((parameter) => ({ ...parameter }))
@@ -5172,7 +5171,7 @@ function ParameterExtractorNodeConfigForm({ config, onSave, onCancel }) {
5172
5171
  ] });
5173
5172
  }
5174
5173
  function VariableAssignerNodeConfigForm({ config, onSave, onCancel }) {
5175
- const t = chunkYXN2K77G_js.useTranslations("agents.workflow.variableAssignerNodeConfig");
5174
+ const t = chunkY5VN4SPH_js.useTranslations("agents.workflow.variableAssignerNodeConfig");
5176
5175
  const [assignments, setAssignments] = react.useState(
5177
5176
  config.assignments.map((assignment) => ({ ...assignment }))
5178
5177
  );
@@ -5275,7 +5274,7 @@ function VariableAssignerNodeConfigForm({ config, onSave, onCancel }) {
5275
5274
  }
5276
5275
  var AGGREGATION_MODES = ["array", "object", "concatenate"];
5277
5276
  function VariableAggregatorNodeConfigForm({ config, onSave, onCancel }) {
5278
- const t = chunkYXN2K77G_js.useTranslations("agents.workflow.variableAggregatorNodeConfig");
5277
+ const t = chunkY5VN4SPH_js.useTranslations("agents.workflow.variableAggregatorNodeConfig");
5279
5278
  const [inputVariables, setInputVariables] = react.useState([...config.inputVariables]);
5280
5279
  const [outputVariable, setOutputVariable] = react.useState(config.outputVariable);
5281
5280
  const [aggregationMode, setAggregationMode] = react.useState(config.aggregationMode);
@@ -5297,7 +5296,7 @@ function VariableAggregatorNodeConfigForm({ config, onSave, onCancel }) {
5297
5296
  }
5298
5297
  ),
5299
5298
  /* @__PURE__ */ jsxRuntime.jsx(
5300
- chunkULKZGM2T_js.FormInput,
5299
+ chunk5ETT54QS_js.FormInput,
5301
5300
  {
5302
5301
  type: "text",
5303
5302
  label: t("outputVariableLabel"),
@@ -5307,7 +5306,7 @@ function VariableAggregatorNodeConfigForm({ config, onSave, onCancel }) {
5307
5306
  }
5308
5307
  ),
5309
5308
  /* @__PURE__ */ jsxRuntime.jsx(
5310
- chunkULKZGM2T_js.FormSelect,
5309
+ chunk5ETT54QS_js.FormSelect,
5311
5310
  {
5312
5311
  label: t("aggregationModeLabel"),
5313
5312
  value: aggregationMode,
@@ -5332,7 +5331,7 @@ function VariableAggregatorNodeConfigForm({ config, onSave, onCancel }) {
5332
5331
  }
5333
5332
  var EXTRACTION_MODES = ["text", "table", "structured"];
5334
5333
  function DocumentExtractorNodeConfigForm({ config, onSave, onCancel }) {
5335
- const t = chunkYXN2K77G_js.useTranslations("agents.workflow.documentExtractorNodeConfig");
5334
+ const t = chunkY5VN4SPH_js.useTranslations("agents.workflow.documentExtractorNodeConfig");
5336
5335
  const [extractionMode, setExtractionMode] = react.useState(config.extractionMode);
5337
5336
  const [outputVariable, setOutputVariable] = react.useState(config.outputVariable);
5338
5337
  const handleSave = () => {
@@ -5340,7 +5339,7 @@ function DocumentExtractorNodeConfigForm({ config, onSave, onCancel }) {
5340
5339
  };
5341
5340
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
5342
5341
  /* @__PURE__ */ jsxRuntime.jsx(
5343
- chunkULKZGM2T_js.FormSelect,
5342
+ chunk5ETT54QS_js.FormSelect,
5344
5343
  {
5345
5344
  label: t("extractionModeLabel"),
5346
5345
  value: extractionMode,
@@ -5349,7 +5348,7 @@ function DocumentExtractorNodeConfigForm({ config, onSave, onCancel }) {
5349
5348
  }
5350
5349
  ),
5351
5350
  /* @__PURE__ */ jsxRuntime.jsx(
5352
- chunkULKZGM2T_js.FormInput,
5351
+ chunk5ETT54QS_js.FormInput,
5353
5352
  {
5354
5353
  type: "text",
5355
5354
  label: t("outputVariableLabel"),
@@ -5372,7 +5371,7 @@ function DocumentExtractorNodeConfigForm({ config, onSave, onCancel }) {
5372
5371
  var OPERATION_OPTIONS2 = ["filter", "map", "sort", "limit", "deduplicate", "flatten"];
5373
5372
  var SORT_ORDER_OPTIONS = ["asc", "desc"];
5374
5373
  function ListOperatorNodeConfigForm({ config, onSave, onCancel }) {
5375
- const t = chunkYXN2K77G_js.useTranslations("agents.workflow.listOperatorNodeConfig");
5374
+ const t = chunkY5VN4SPH_js.useTranslations("agents.workflow.listOperatorNodeConfig");
5376
5375
  const [operation, setOperation] = react.useState(config.operation);
5377
5376
  const [inputVariable, setInputVariable] = react.useState(config.inputVariable);
5378
5377
  const [outputVariable, setOutputVariable] = react.useState(config.outputVariable);
@@ -5517,7 +5516,7 @@ function ListOperatorNodeConfigForm({ config, onSave, onCancel }) {
5517
5516
  ] });
5518
5517
  }
5519
5518
  function IterationStartNodeConfigForm({ config, onSave, onCancel }) {
5520
- const t = chunkYXN2K77G_js.useTranslations("agents.workflow.iterationStartNodeConfig");
5519
+ const t = chunkY5VN4SPH_js.useTranslations("agents.workflow.iterationStartNodeConfig");
5521
5520
  const [iteratorVariable, setIteratorVariable] = react.useState(config.iteratorVariable);
5522
5521
  const [itemVariable, setItemVariable] = react.useState(config.itemVariable);
5523
5522
  const [indexVariable, setIndexVariable] = react.useState(config.indexVariable);
@@ -5526,7 +5525,7 @@ function IterationStartNodeConfigForm({ config, onSave, onCancel }) {
5526
5525
  };
5527
5526
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
5528
5527
  /* @__PURE__ */ jsxRuntime.jsx(
5529
- chunkULKZGM2T_js.FormInput,
5528
+ chunk5ETT54QS_js.FormInput,
5530
5529
  {
5531
5530
  type: "text",
5532
5531
  label: t("iteratorVariableLabel"),
@@ -5536,7 +5535,7 @@ function IterationStartNodeConfigForm({ config, onSave, onCancel }) {
5536
5535
  }
5537
5536
  ),
5538
5537
  /* @__PURE__ */ jsxRuntime.jsx(
5539
- chunkULKZGM2T_js.FormInput,
5538
+ chunk5ETT54QS_js.FormInput,
5540
5539
  {
5541
5540
  type: "text",
5542
5541
  label: t("itemVariableLabel"),
@@ -5546,7 +5545,7 @@ function IterationStartNodeConfigForm({ config, onSave, onCancel }) {
5546
5545
  }
5547
5546
  ),
5548
5547
  /* @__PURE__ */ jsxRuntime.jsx(
5549
- chunkULKZGM2T_js.FormInput,
5548
+ chunk5ETT54QS_js.FormInput,
5550
5549
  {
5551
5550
  type: "text",
5552
5551
  label: t("indexVariableLabel"),
@@ -5575,7 +5574,7 @@ var FIELD_TYPE_BADGE_COLORS = {
5575
5574
  array: "bg-teal-500/15 text-teal-700 dark:bg-teal-500/20 dark:text-teal-300"
5576
5575
  };
5577
5576
  function EntityNodeConfigForm({ config, entities = [], onSave, onCancel }) {
5578
- const t = chunkYXN2K77G_js.useTranslations("agents.workflow.entityNodeConfig");
5577
+ const t = chunkY5VN4SPH_js.useTranslations("agents.workflow.entityNodeConfig");
5579
5578
  const [selectedFields, setSelectedFields] = react.useState([...config.selectedFields]);
5580
5579
  const [outputVariable, setOutputVariable] = react.useState(config.outputVariable);
5581
5580
  const [limit, setLimit] = react.useState(config.limit);
@@ -5802,7 +5801,7 @@ var GROUP_COLOR_OPTIONS = [
5802
5801
  { value: "slate", ring: "ring-slate-500", fill: "bg-slate-500" }
5803
5802
  ];
5804
5803
  function GroupNodeConfigForm({ config, onSave, onCancel }) {
5805
- const translations = chunkYXN2K77G_js.useTranslations("agents.workflow.groupNodeConfig");
5804
+ const translations = chunkY5VN4SPH_js.useTranslations("agents.workflow.groupNodeConfig");
5806
5805
  const [formLabel, setFormLabel] = react.useState(config.label);
5807
5806
  const [description, setDescription] = react.useState(config.description ?? "");
5808
5807
  const [color, setColor] = react.useState(config.color);
@@ -5818,7 +5817,7 @@ function GroupNodeConfigForm({ config, onSave, onCancel }) {
5818
5817
  };
5819
5818
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
5820
5819
  /* @__PURE__ */ jsxRuntime.jsx(
5821
- chunkULKZGM2T_js.FormInput,
5820
+ chunk5ETT54QS_js.FormInput,
5822
5821
  {
5823
5822
  type: "text",
5824
5823
  label: translations("labelField"),
@@ -5828,7 +5827,7 @@ function GroupNodeConfigForm({ config, onSave, onCancel }) {
5828
5827
  }
5829
5828
  ),
5830
5829
  /* @__PURE__ */ jsxRuntime.jsx(
5831
- chunkULKZGM2T_js.FormTextarea,
5830
+ chunk5ETT54QS_js.FormTextarea,
5832
5831
  {
5833
5832
  label: translations("descriptionField"),
5834
5833
  value: description,
@@ -5863,7 +5862,7 @@ function GroupNodeConfigForm({ config, onSave, onCancel }) {
5863
5862
  ] });
5864
5863
  }
5865
5864
  function RuleNodeConfigForm({ config, onSave, onCancel, availableRules }) {
5866
- const t = chunkYXN2K77G_js.useTranslations("agents.workflow.ruleNodeConfig");
5865
+ const t = chunkY5VN4SPH_js.useTranslations("agents.workflow.ruleNodeConfig");
5867
5866
  const [ruleId, setRuleId] = react.useState(config.ruleId ?? "");
5868
5867
  const [priority, setPriority] = react.useState(config.priority ?? 1);
5869
5868
  const [enabled, setEnabled] = react.useState(config.enabled ?? true);
@@ -5886,7 +5885,7 @@ function RuleNodeConfigForm({ config, onSave, onCancel, availableRules }) {
5886
5885
  ]
5887
5886
  }
5888
5887
  ) : /* @__PURE__ */ jsxRuntime.jsx(
5889
- chunkULKZGM2T_js.FormInput,
5888
+ chunk5ETT54QS_js.FormInput,
5890
5889
  {
5891
5890
  type: "text",
5892
5891
  value: ruleId,
@@ -5902,7 +5901,7 @@ function RuleNodeConfigForm({ config, onSave, onCancel, availableRules }) {
5902
5901
  ] }),
5903
5902
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-2 gap-3", children: [
5904
5903
  /* @__PURE__ */ jsxRuntime.jsx(
5905
- chunkULKZGM2T_js.FormInput,
5904
+ chunk5ETT54QS_js.FormInput,
5906
5905
  {
5907
5906
  type: "number",
5908
5907
  label: t("priorityLabel", { _: "Priority" }),
@@ -5942,7 +5941,7 @@ function AgentNodeConfigForm({
5942
5941
  availableAgents,
5943
5942
  availableConnections
5944
5943
  }) {
5945
- const t = chunkYXN2K77G_js.useTranslations("agents.workflow.agentNodeConfig");
5944
+ const t = chunkY5VN4SPH_js.useTranslations("agents.workflow.agentNodeConfig");
5946
5945
  const [agentId, setAgentId] = react.useState(config.agentId ?? "");
5947
5946
  const [connectionId, setConnectionId] = react.useState(config.connectionId ?? "");
5948
5947
  const [modelId, setModelId] = react.useState(config.modelId ?? "");
@@ -5974,7 +5973,7 @@ function AgentNodeConfigForm({
5974
5973
  }));
5975
5974
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
5976
5975
  agentOptions.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx(
5977
- chunkULKZGM2T_js.FormSelect,
5976
+ chunk5ETT54QS_js.FormSelect,
5978
5977
  {
5979
5978
  label: t("agentLabel", { _: "Agent" }),
5980
5979
  value: agentId,
@@ -5982,7 +5981,7 @@ function AgentNodeConfigForm({
5982
5981
  options: [{ value: "", label: t("agentPickPrompt", { _: "Choose an agent\u2026" }) }, ...agentOptions]
5983
5982
  }
5984
5983
  ) : /* @__PURE__ */ jsxRuntime.jsx(
5985
- chunkULKZGM2T_js.FormInput,
5984
+ chunk5ETT54QS_js.FormInput,
5986
5985
  {
5987
5986
  type: "text",
5988
5987
  label: t("agentIdLabel", { _: "Agent ID" }),
@@ -5992,7 +5991,7 @@ function AgentNodeConfigForm({
5992
5991
  }
5993
5992
  ),
5994
5993
  connOptions.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx(
5995
- chunkULKZGM2T_js.FormSelect,
5994
+ chunk5ETT54QS_js.FormSelect,
5996
5995
  {
5997
5996
  label: t("connectionLabel", { _: "Model provider connection" }),
5998
5997
  value: connectionId,
@@ -6000,7 +5999,7 @@ function AgentNodeConfigForm({
6000
5999
  options: [{ value: "", label: t("connectionPickPrompt", { _: "Inline model (no connection)" }) }, ...connOptions]
6001
6000
  }
6002
6001
  ) : /* @__PURE__ */ jsxRuntime.jsx(
6003
- chunkULKZGM2T_js.FormInput,
6002
+ chunk5ETT54QS_js.FormInput,
6004
6003
  {
6005
6004
  type: "text",
6006
6005
  label: t("connectionIdLabel", { _: "Connection ID" }),
@@ -6010,7 +6009,7 @@ function AgentNodeConfigForm({
6010
6009
  }
6011
6010
  ),
6012
6011
  /* @__PURE__ */ jsxRuntime.jsx(
6013
- chunkULKZGM2T_js.FormInput,
6012
+ chunk5ETT54QS_js.FormInput,
6014
6013
  {
6015
6014
  type: "text",
6016
6015
  label: t("modelIdLabel", { _: "Model override (optional)" }),
@@ -6020,7 +6019,7 @@ function AgentNodeConfigForm({
6020
6019
  }
6021
6020
  ),
6022
6021
  /* @__PURE__ */ jsxRuntime.jsx(
6023
- chunkULKZGM2T_js.FormTextarea,
6022
+ chunk5ETT54QS_js.FormTextarea,
6024
6023
  {
6025
6024
  label: t("systemPromptLabel", { _: "System prompt" }),
6026
6025
  value: systemPrompt,
@@ -6030,7 +6029,7 @@ function AgentNodeConfigForm({
6030
6029
  }
6031
6030
  ),
6032
6031
  /* @__PURE__ */ jsxRuntime.jsx(
6033
- chunkULKZGM2T_js.FormTextarea,
6032
+ chunk5ETT54QS_js.FormTextarea,
6034
6033
  {
6035
6034
  label: t("userPromptLabel", { _: "User prompt" }),
6036
6035
  value: userPrompt,
@@ -6041,7 +6040,7 @@ function AgentNodeConfigForm({
6041
6040
  ),
6042
6041
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-2 gap-3", children: [
6043
6042
  /* @__PURE__ */ jsxRuntime.jsx(
6044
- chunkULKZGM2T_js.FormInput,
6043
+ chunk5ETT54QS_js.FormInput,
6045
6044
  {
6046
6045
  type: "number",
6047
6046
  label: t("maxTokensLabel", { _: "Max output tokens" }),
@@ -6053,7 +6052,7 @@ function AgentNodeConfigForm({
6053
6052
  }
6054
6053
  ),
6055
6054
  /* @__PURE__ */ jsxRuntime.jsx(
6056
- chunkULKZGM2T_js.FormInput,
6055
+ chunk5ETT54QS_js.FormInput,
6057
6056
  {
6058
6057
  type: "number",
6059
6058
  label: t("temperatureLabel", { _: "Temperature" }),
@@ -6078,7 +6077,7 @@ function AgentNodeConfigForm({
6078
6077
  }
6079
6078
  var AUDIO_FORMATS = ["auto", "mp3", "wav", "m4a", "webm", "ogg", "flac", "mp4", "mpga"];
6080
6079
  function AudioInputNodeConfigForm({ config, onSave, onCancel }) {
6081
- const t = chunkYXN2K77G_js.useTranslations("agents.workflow.audioInputNodeConfig");
6080
+ const t = chunkY5VN4SPH_js.useTranslations("agents.workflow.audioInputNodeConfig");
6082
6081
  const [url, setUrl] = react.useState(config.url ?? "");
6083
6082
  const [format, setFormat] = react.useState(config.format && config.format.length > 0 ? config.format : "auto");
6084
6083
  const handleSave = () => {
@@ -6090,7 +6089,7 @@ function AudioInputNodeConfigForm({ config, onSave, onCancel }) {
6090
6089
  };
6091
6090
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
6092
6091
  /* @__PURE__ */ jsxRuntime.jsx(
6093
- chunkULKZGM2T_js.FormInput,
6092
+ chunk5ETT54QS_js.FormInput,
6094
6093
  {
6095
6094
  type: "text",
6096
6095
  label: t("urlLabel"),
@@ -6100,7 +6099,7 @@ function AudioInputNodeConfigForm({ config, onSave, onCancel }) {
6100
6099
  }
6101
6100
  ),
6102
6101
  /* @__PURE__ */ jsxRuntime.jsx(
6103
- chunkULKZGM2T_js.FormSelect,
6102
+ chunk5ETT54QS_js.FormSelect,
6104
6103
  {
6105
6104
  label: t("formatLabel"),
6106
6105
  value: format,
@@ -6125,7 +6124,7 @@ var RESPONSE_FORMATS = [
6125
6124
  "text"
6126
6125
  ];
6127
6126
  function SpeechTranscriberNodeConfigForm({ config, onSave, onCancel }) {
6128
- const t = chunkYXN2K77G_js.useTranslations("agents.workflow.speechTranscriberNodeConfig");
6127
+ const t = chunkY5VN4SPH_js.useTranslations("agents.workflow.speechTranscriberNodeConfig");
6129
6128
  const [audioUrl, setAudioUrl] = react.useState(config.audioUrl ?? "");
6130
6129
  const [model, setModel] = react.useState(config.model ?? "whisper-1");
6131
6130
  const [language, setLanguage] = react.useState(config.language ?? "");
@@ -6149,7 +6148,7 @@ function SpeechTranscriberNodeConfigForm({ config, onSave, onCancel }) {
6149
6148
  };
6150
6149
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
6151
6150
  /* @__PURE__ */ jsxRuntime.jsx(
6152
- chunkULKZGM2T_js.FormInput,
6151
+ chunk5ETT54QS_js.FormInput,
6153
6152
  {
6154
6153
  type: "text",
6155
6154
  label: t("audioUrlLabel"),
@@ -6159,7 +6158,7 @@ function SpeechTranscriberNodeConfigForm({ config, onSave, onCancel }) {
6159
6158
  }
6160
6159
  ),
6161
6160
  /* @__PURE__ */ jsxRuntime.jsx(
6162
- chunkULKZGM2T_js.FormInput,
6161
+ chunk5ETT54QS_js.FormInput,
6163
6162
  {
6164
6163
  type: "text",
6165
6164
  label: t("modelLabel"),
@@ -6169,7 +6168,7 @@ function SpeechTranscriberNodeConfigForm({ config, onSave, onCancel }) {
6169
6168
  }
6170
6169
  ),
6171
6170
  /* @__PURE__ */ jsxRuntime.jsx(
6172
- chunkULKZGM2T_js.FormInput,
6171
+ chunk5ETT54QS_js.FormInput,
6173
6172
  {
6174
6173
  type: "text",
6175
6174
  label: t("languageLabel"),
@@ -6179,7 +6178,7 @@ function SpeechTranscriberNodeConfigForm({ config, onSave, onCancel }) {
6179
6178
  }
6180
6179
  ),
6181
6180
  /* @__PURE__ */ jsxRuntime.jsx(
6182
- chunkULKZGM2T_js.FormTextarea,
6181
+ chunk5ETT54QS_js.FormTextarea,
6183
6182
  {
6184
6183
  label: t("promptLabel"),
6185
6184
  value: prompt,
@@ -6189,7 +6188,7 @@ function SpeechTranscriberNodeConfigForm({ config, onSave, onCancel }) {
6189
6188
  }
6190
6189
  ),
6191
6190
  /* @__PURE__ */ jsxRuntime.jsx(
6192
- chunkULKZGM2T_js.FormSelect,
6191
+ chunk5ETT54QS_js.FormSelect,
6193
6192
  {
6194
6193
  label: t("responseFormatLabel"),
6195
6194
  value: responseFormat,
@@ -6198,7 +6197,7 @@ function SpeechTranscriberNodeConfigForm({ config, onSave, onCancel }) {
6198
6197
  }
6199
6198
  ),
6200
6199
  /* @__PURE__ */ jsxRuntime.jsx(
6201
- chunkULKZGM2T_js.FormInput,
6200
+ chunk5ETT54QS_js.FormInput,
6202
6201
  {
6203
6202
  type: "text",
6204
6203
  label: t("endpointLabel"),
@@ -6208,7 +6207,7 @@ function SpeechTranscriberNodeConfigForm({ config, onSave, onCancel }) {
6208
6207
  }
6209
6208
  ),
6210
6209
  /* @__PURE__ */ jsxRuntime.jsx(
6211
- chunkULKZGM2T_js.FormInput,
6210
+ chunk5ETT54QS_js.FormInput,
6212
6211
  {
6213
6212
  type: "number",
6214
6213
  label: t("timeoutLabel"),
@@ -6231,7 +6230,7 @@ function SpeechTranscriberNodeConfigForm({ config, onSave, onCancel }) {
6231
6230
  ] });
6232
6231
  }
6233
6232
  function DashboardOutputNodeConfigForm({ config, onSave, onCancel }) {
6234
- const t = chunkYXN2K77G_js.useTranslations("agents.workflow.dashboardOutputNodeConfig");
6233
+ const t = chunkY5VN4SPH_js.useTranslations("agents.workflow.dashboardOutputNodeConfig");
6235
6234
  const initialMode = config.dashboard ? "inline" : "reference";
6236
6235
  const [mode, setMode] = react.useState(initialMode);
6237
6236
  const [dashboardFrom, setDashboardFrom] = react.useState(config.dashboardFrom ?? "");
@@ -6345,7 +6344,7 @@ var NODE_TITLE_KEYS = {
6345
6344
  dashboard_output: "dashboardOutputNodeConfig"
6346
6345
  };
6347
6346
  function LogicNodeModal({ onSave, entities = [], datasources = [], onLoadTables, onLoadSchema }) {
6348
- const t = chunkYXN2K77G_js.useTranslations("agents.workflow");
6347
+ const t = chunkY5VN4SPH_js.useTranslations("agents.workflow");
6349
6348
  const activeModal = useModalStore((s) => s.activeModal);
6350
6349
  const logicNodeData = useModalStore((s) => s.logicNodeData);
6351
6350
  const closeModal = useModalStore((s) => s.closeModal);
@@ -6423,7 +6422,7 @@ function LogicNodeModal({ onSave, entities = [], datasources = [], onLoadTables,
6423
6422
  };
6424
6423
  const isExperimental = isExperimentalNodeType(config.type);
6425
6424
  return /* @__PURE__ */ jsxRuntime.jsxs(
6426
- chunkULKZGM2T_js.GlassModal,
6425
+ chunk5ETT54QS_js.GlassModal,
6427
6426
  {
6428
6427
  open,
6429
6428
  onClose: closeModal,
@@ -6449,7 +6448,7 @@ function LogicNodeModal({ onSave, entities = [], datasources = [], onLoadTables,
6449
6448
  );
6450
6449
  }
6451
6450
  function NodeContextMenu({ position, targetId, onClose, onEdit, onDuplicate, onCopy, onDelete }) {
6452
- const translations = chunkYXN2K77G_js.useTranslations("agents.workflow.contextMenu");
6451
+ const translations = chunkY5VN4SPH_js.useTranslations("agents.workflow.contextMenu");
6453
6452
  const entries = [
6454
6453
  {
6455
6454
  key: "edit",
@@ -6494,7 +6493,7 @@ function NodeContextMenu({ position, targetId, onClose, onEdit, onDuplicate, onC
6494
6493
  }
6495
6494
  ];
6496
6495
  return /* @__PURE__ */ jsxRuntime.jsx(
6497
- chunkULKZGM2T_js.ContextMenu,
6496
+ chunk5ETT54QS_js.ContextMenu,
6498
6497
  {
6499
6498
  position,
6500
6499
  onClose,
@@ -6505,7 +6504,7 @@ function NodeContextMenu({ position, targetId, onClose, onEdit, onDuplicate, onC
6505
6504
  );
6506
6505
  }
6507
6506
  function PanelContextMenu({ position, onClose, onPaste, onSelectAll, onFitView, onAddNote, flowPosition, hasClipboardContent }) {
6508
- const translations = chunkYXN2K77G_js.useTranslations("agents.workflow.contextMenu");
6507
+ const translations = chunkY5VN4SPH_js.useTranslations("agents.workflow.contextMenu");
6509
6508
  const entries = [
6510
6509
  {
6511
6510
  key: "paste",
@@ -6551,7 +6550,7 @@ function PanelContextMenu({ position, onClose, onPaste, onSelectAll, onFitView,
6551
6550
  }
6552
6551
  ];
6553
6552
  return /* @__PURE__ */ jsxRuntime.jsx(
6554
- chunkULKZGM2T_js.ContextMenu,
6553
+ chunk5ETT54QS_js.ContextMenu,
6555
6554
  {
6556
6555
  position,
6557
6556
  onClose,
@@ -6571,7 +6570,7 @@ function SelectionContextMenu({
6571
6570
  onAlign,
6572
6571
  onDistribute
6573
6572
  }) {
6574
- const translations = chunkYXN2K77G_js.useTranslations("agents.workflow.contextMenu");
6573
+ const translations = chunkY5VN4SPH_js.useTranslations("agents.workflow.contextMenu");
6575
6574
  const entries = [
6576
6575
  {
6577
6576
  key: "copy",
@@ -6698,7 +6697,7 @@ function SelectionContextMenu({
6698
6697
  }
6699
6698
  ];
6700
6699
  return /* @__PURE__ */ jsxRuntime.jsx(
6701
- chunkULKZGM2T_js.ContextMenu,
6700
+ chunk5ETT54QS_js.ContextMenu,
6702
6701
  {
6703
6702
  position,
6704
6703
  onClose,
@@ -6880,7 +6879,7 @@ function WorkflowCanvasInner({
6880
6879
  renderLogicNodeModal: _renderLogicNodeModal
6881
6880
  }) {
6882
6881
  const { screenToFlowPosition, getNode, toObject, fitView, zoomIn, zoomOut, zoomTo } = react$1.useReactFlow();
6883
- const tWorkflow = chunkYXN2K77G_js.useTranslations("agents.workflow");
6882
+ const tWorkflow = chunkY5VN4SPH_js.useTranslations("agents.workflow");
6884
6883
  const sortedAgents = react.useMemo(() => [...agents].sort((agentA, agentB) => (agentA.order ?? 0) - (agentB.order ?? 0)), [agents]);
6885
6884
  const [selectedAgentId, setSelectedAgentId] = react.useState(null);
6886
6885
  const openAgentModalAction = useModalStore((s) => s.openAgentModal);
@@ -8571,7 +8570,7 @@ function Workspace({
8571
8570
  const resolvedModels = canvasProps.models ?? bootstrapModels;
8572
8571
  const resolvedTools = canvasProps.tools ?? bootstrapTools;
8573
8572
  const resolvedRules = canvasProps.rules ?? bootstrapRules;
8574
- 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(
8573
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: className ?? "h-full w-full", children: /* @__PURE__ */ jsxRuntime.jsx(chunkY5VN4SPH_js.I18nProvider, { value: chunkY5VN4SPH_js.createI18nFromMessages(locale, messages), children: /* @__PURE__ */ jsxRuntime.jsx(
8575
8574
  WorkflowCanvas,
8576
8575
  {
8577
8576
  ...canvasProps,
@@ -8656,5 +8655,5 @@ exports.useModalStore = useModalStore;
8656
8655
  exports.useWorkflowBuilderClient = useWorkflowBuilderClient;
8657
8656
  exports.useWorkflowBuilderClientOptional = useWorkflowBuilderClientOptional;
8658
8657
  exports.useWorkflowStore = useWorkflowStore;
8659
- //# sourceMappingURL=chunk-FKRIQYRG.js.map
8660
- //# sourceMappingURL=chunk-FKRIQYRG.js.map
8658
+ //# sourceMappingURL=chunk-D5OTZGA2.js.map
8659
+ //# sourceMappingURL=chunk-D5OTZGA2.js.map