@datatechsolutions/ui 2.11.5 → 2.11.7

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.
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  'use strict';
3
3
 
4
- var chunkEVX2CFNL_js = require('./chunk-EVX2CFNL.js');
4
+ var chunk4XID6LOC_js = require('./chunk-4XID6LOC.js');
5
5
  var chunkP4YYEM4B_js = require('./chunk-P4YYEM4B.js');
6
6
  var chunkPWBWP5FJ_js = require('./chunk-PWBWP5FJ.js');
7
7
  var chunkYXN2K77G_js = require('./chunk-YXN2K77G.js');
@@ -2890,239 +2890,214 @@ var GroupFlowNode = react.memo(function GroupFlowNode2({ id, data, selected }) {
2890
2890
  /* @__PURE__ */ jsxRuntime.jsx(WorkflowHandle, { type: "source", position: react$1.Position.Right, id: "right-out", colorClass: "!bg-slate-500" })
2891
2891
  ] });
2892
2892
  });
2893
- var LEGACY_WIDTH_MAP = {
2894
- "max-w-xl": "xl",
2895
- "max-w-2xl": "2xl",
2896
- "max-w-4xl": "4xl",
2897
- "max-w-6xl": "6xl",
2898
- "max-w-full": "full"
2899
- };
2900
- function WorkspaceModal({
2901
- open,
2902
- onClose,
2903
- title,
2904
- subtitle,
2905
- icon,
2906
- gradient = "from-gray-400 to-gray-500",
2907
- maxWidth = "2xl",
2908
- tabs,
2909
- children
2893
+ function ConfigFormActions({
2894
+ cancelLabel,
2895
+ saveLabel,
2896
+ onCancel,
2897
+ onSave,
2898
+ saveDisabled = false
2910
2899
  }) {
2911
- const resolvedSize = LEGACY_WIDTH_MAP[maxWidth] ?? maxWidth;
2912
- return /* @__PURE__ */ jsxRuntime.jsxs(
2913
- chunkEVX2CFNL_js.GlassModalShell,
2914
- {
2915
- open,
2916
- onClose,
2917
- title,
2918
- subtitle,
2919
- icon,
2920
- gradient,
2921
- maxWidth: resolvedSize,
2922
- children: [
2923
- tabs,
2924
- children
2925
- ]
2926
- }
2927
- );
2900
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex justify-end gap-2 border-t border-gray-200 pt-4 dark:border-gray-700", children: [
2901
+ /* @__PURE__ */ jsxRuntime.jsx(chunk4XID6LOC_js.Button, { type: "button", outline: true, onClick: onCancel, children: cancelLabel }),
2902
+ /* @__PURE__ */ jsxRuntime.jsx(chunk4XID6LOC_js.Button, { type: "button", onClick: onSave, disabled: saveDisabled, children: saveLabel })
2903
+ ] });
2928
2904
  }
2929
- function StartNodeConfigForm({ config, onSave, onCancel }) {
2930
- const t = chunkYXN2K77G_js.useTranslations("agents.workflow.startNodeConfig");
2931
- const [inputVariables, setInputVariables] = react.useState([...config.inputVariables]);
2905
+ var COLOR_CLASSES = {
2906
+ green: {
2907
+ badge: "bg-green-100 text-green-700 dark:bg-green-500/20 dark:text-green-300",
2908
+ input: "focus:border-green-400 focus:ring-green-400/20",
2909
+ row: "border-green-200/30 dark:border-green-500/15",
2910
+ add: "text-green-600 hover:text-green-700 dark:text-green-400 dark:hover:text-green-300",
2911
+ dot: "bg-green-500"
2912
+ },
2913
+ blue: {
2914
+ badge: "bg-blue-100 text-blue-700 dark:bg-blue-500/20 dark:text-blue-300",
2915
+ input: "focus:border-blue-400 focus:ring-blue-400/20",
2916
+ row: "border-blue-200/30 dark:border-blue-500/15",
2917
+ add: "text-blue-600 hover:text-blue-700 dark:text-blue-400 dark:hover:text-blue-300",
2918
+ dot: "bg-blue-500"
2919
+ },
2920
+ purple: {
2921
+ badge: "bg-purple-100 text-purple-700 dark:bg-purple-500/20 dark:text-purple-300",
2922
+ input: "focus:border-purple-400 focus:ring-purple-400/20",
2923
+ row: "border-purple-200/30 dark:border-purple-500/15",
2924
+ add: "text-purple-600 hover:text-purple-700 dark:text-purple-400 dark:hover:text-purple-300",
2925
+ dot: "bg-purple-500"
2926
+ },
2927
+ red: {
2928
+ badge: "bg-red-100 text-red-700 dark:bg-red-500/20 dark:text-red-300",
2929
+ input: "focus:border-red-400 focus:ring-red-400/20",
2930
+ row: "border-red-200/30 dark:border-red-500/15",
2931
+ add: "text-red-600 hover:text-red-700 dark:text-red-400 dark:hover:text-red-300",
2932
+ dot: "bg-red-500"
2933
+ },
2934
+ teal: {
2935
+ badge: "bg-teal-100 text-teal-700 dark:bg-teal-500/20 dark:text-teal-300",
2936
+ input: "focus:border-teal-400 focus:ring-teal-400/20",
2937
+ row: "border-teal-200/30 dark:border-teal-500/15",
2938
+ add: "text-teal-600 hover:text-teal-700 dark:text-teal-400 dark:hover:text-teal-300",
2939
+ dot: "bg-teal-500"
2940
+ }
2941
+ };
2942
+ function VariableListEditor({
2943
+ variables,
2944
+ onChange,
2945
+ placeholder = "Variable name",
2946
+ label,
2947
+ addLabel = "Add",
2948
+ color = "green",
2949
+ numbered = false,
2950
+ editable = false,
2951
+ max = 0
2952
+ }) {
2932
2953
  const [newVariable, setNewVariable] = react.useState("");
2933
- const handleAddVariable = () => {
2954
+ const inputRef = react.useRef(null);
2955
+ const colors = COLOR_CLASSES[color];
2956
+ const canAdd = max === 0 || variables.length < max;
2957
+ const handleAdd = react.useCallback(() => {
2934
2958
  const trimmed = newVariable.trim();
2935
- if (trimmed && !inputVariables.includes(trimmed)) {
2936
- setInputVariables([...inputVariables, trimmed]);
2937
- setNewVariable("");
2938
- }
2939
- };
2940
- const handleRemoveVariable = (variable) => {
2941
- setInputVariables(inputVariables.filter((existingVariable) => existingVariable !== variable));
2942
- };
2943
- const handleKeyDown = (event) => {
2959
+ if (!trimmed || variables.includes(trimmed)) return;
2960
+ onChange([...variables, trimmed]);
2961
+ setNewVariable("");
2962
+ inputRef.current?.focus();
2963
+ }, [newVariable, variables, onChange]);
2964
+ const handleRemove = react.useCallback((index) => {
2965
+ onChange(variables.filter((_, i) => i !== index));
2966
+ }, [variables, onChange]);
2967
+ const handleEdit = react.useCallback((index, value) => {
2968
+ const updated = [...variables];
2969
+ updated[index] = value;
2970
+ onChange(updated);
2971
+ }, [variables, onChange]);
2972
+ const handleKeyDown = react.useCallback((event) => {
2944
2973
  if (event.key === "Enter") {
2945
2974
  event.preventDefault();
2946
- handleAddVariable();
2975
+ handleAdd();
2947
2976
  }
2948
- };
2977
+ }, [handleAdd]);
2978
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
2979
+ label && /* @__PURE__ */ jsxRuntime.jsx("label", { className: "mb-2 block text-xs font-medium text-gray-500 dark:text-gray-400", children: label }),
2980
+ variables.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-2 space-y-1", children: variables.map((variable, index) => /* @__PURE__ */ jsxRuntime.jsxs(
2981
+ "div",
2982
+ {
2983
+ className: `group flex items-center gap-2 rounded-lg border px-2.5 py-1.5 transition-colors ${colors.row} hover:bg-white/5`,
2984
+ children: [
2985
+ numbered ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: `inline-flex h-5 min-w-5 items-center justify-center rounded-full text-[10px] font-bold ${colors.badge}`, children: index + 1 }) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: `h-1.5 w-1.5 shrink-0 rounded-full ${colors.dot}` }),
2986
+ editable ? /* @__PURE__ */ jsxRuntime.jsx(
2987
+ "input",
2988
+ {
2989
+ type: "text",
2990
+ value: variable,
2991
+ onChange: (event) => handleEdit(index, event.target.value),
2992
+ className: `flex-1 rounded-md border-0 bg-transparent px-1 py-0.5 text-sm font-medium text-gray-900 outline-none ${colors.input} focus:ring-1 dark:text-white`
2993
+ }
2994
+ ) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex-1 text-sm font-medium text-gray-900 dark:text-white", children: variable }),
2995
+ /* @__PURE__ */ jsxRuntime.jsx(
2996
+ "button",
2997
+ {
2998
+ type: "button",
2999
+ onClick: () => handleRemove(index),
3000
+ className: "shrink-0 rounded p-0.5 text-gray-400 opacity-0 transition-all hover:bg-red-100 hover:text-red-500 group-hover:opacity-100 dark:hover:bg-red-500/10 dark:hover:text-red-400",
3001
+ "aria-label": `Remove ${variable}`,
3002
+ children: /* @__PURE__ */ jsxRuntime.jsx(outline.XMarkIcon, { className: "h-3.5 w-3.5" })
3003
+ }
3004
+ )
3005
+ ]
3006
+ },
3007
+ `${index}-${variable}`
3008
+ )) }),
3009
+ canAdd && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
3010
+ /* @__PURE__ */ jsxRuntime.jsx(
3011
+ "input",
3012
+ {
3013
+ ref: inputRef,
3014
+ type: "text",
3015
+ value: newVariable,
3016
+ onChange: (event) => setNewVariable(event.target.value),
3017
+ onKeyDown: handleKeyDown,
3018
+ placeholder,
3019
+ className: "flex-1 rounded-lg border border-gray-200/50 bg-gray-50/50 px-3 py-1.5 text-sm text-gray-700 outline-none transition-colors placeholder:text-gray-400 focus:border-gray-300 focus:ring-1 focus:ring-gray-300/30 dark:border-white/10 dark:bg-white/5 dark:text-gray-300 dark:placeholder:text-gray-600"
3020
+ }
3021
+ ),
3022
+ /* @__PURE__ */ jsxRuntime.jsxs(
3023
+ "button",
3024
+ {
3025
+ type: "button",
3026
+ onClick: handleAdd,
3027
+ disabled: !newVariable.trim(),
3028
+ className: `flex items-center gap-1 rounded-lg px-3 py-1.5 text-xs font-semibold transition-all disabled:cursor-not-allowed disabled:opacity-40 ${colors.add} hover:bg-white/10`,
3029
+ children: [
3030
+ /* @__PURE__ */ jsxRuntime.jsx(outline.PlusIcon, { className: "h-3.5 w-3.5" }),
3031
+ addLabel
3032
+ ]
3033
+ }
3034
+ )
3035
+ ] }),
3036
+ variables.length === 0 && !canAdd && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-gray-400 dark:text-gray-500", children: "No variables defined" })
3037
+ ] });
3038
+ }
3039
+ function StartNodeConfigForm({ config, onSave, onCancel }) {
3040
+ const t = chunkYXN2K77G_js.useTranslations("agents.workflow.startNodeConfig");
3041
+ const [inputVariables, setInputVariables] = react.useState([...config.inputVariables]);
2949
3042
  const handleSave = () => {
2950
3043
  onSave({ ...config, inputVariables });
2951
3044
  };
2952
3045
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
2953
3046
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
2954
- /* @__PURE__ */ jsxRuntime.jsx("label", { className: "mb-1 block text-sm font-medium text-gray-700 dark:text-gray-300", children: t("inputVariablesLabel") }),
2955
3047
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-2 text-xs text-gray-500 dark:text-gray-400", children: t("inputVariablesHelp") }),
2956
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
2957
- /* @__PURE__ */ jsxRuntime.jsx(
2958
- chunkEVX2CFNL_js.Input,
2959
- {
2960
- value: newVariable,
2961
- onChange: (event) => setNewVariable(event.target.value),
2962
- onKeyDown: handleKeyDown,
2963
- placeholder: t("variablePlaceholder"),
2964
- className: "flex-1"
2965
- }
2966
- ),
2967
- /* @__PURE__ */ jsxRuntime.jsx(
2968
- chunkEVX2CFNL_js.Button,
2969
- {
2970
- type: "button",
2971
- onClick: handleAddVariable,
2972
- outline: true,
2973
- size: "sm",
2974
- children: t("addVariable")
2975
- }
2976
- )
2977
- ] }),
2978
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-2 flex flex-wrap gap-2", children: inputVariables.map((variable) => /* @__PURE__ */ jsxRuntime.jsxs(
2979
- "span",
2980
- {
2981
- className: "inline-flex items-center gap-1 rounded-full bg-green-100 px-2.5 py-1 text-xs font-medium text-green-700 dark:bg-green-500/20 dark:text-green-300",
2982
- children: [
2983
- variable,
2984
- /* @__PURE__ */ jsxRuntime.jsx(
2985
- chunkEVX2CFNL_js.IconButton,
2986
- {
2987
- icon: /* @__PURE__ */ jsxRuntime.jsx(outline.XMarkIcon, { className: "h-3 w-3" }),
2988
- label: `Remove ${variable}`,
2989
- onClick: () => handleRemoveVariable(variable),
2990
- variant: "ghost",
2991
- size: "sm",
2992
- className: "!p-0"
2993
- }
2994
- )
2995
- ]
2996
- },
2997
- variable
2998
- )) })
2999
- ] }),
3000
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex justify-end gap-2 border-t border-gray-200 pt-4 dark:border-gray-700", children: [
3001
- /* @__PURE__ */ jsxRuntime.jsx(
3002
- chunkEVX2CFNL_js.Button,
3003
- {
3004
- type: "button",
3005
- onClick: onCancel,
3006
- outline: true,
3007
- size: "sm",
3008
- children: t("cancel")
3009
- }
3010
- ),
3011
3048
  /* @__PURE__ */ jsxRuntime.jsx(
3012
- chunkEVX2CFNL_js.Button,
3049
+ VariableListEditor,
3013
3050
  {
3014
- type: "button",
3015
- onClick: handleSave,
3016
- color: "ios-glass-blue",
3017
- size: "sm",
3018
- children: t("save")
3051
+ variables: inputVariables,
3052
+ onChange: setInputVariables,
3053
+ label: t("inputVariablesLabel"),
3054
+ placeholder: t("variablePlaceholder"),
3055
+ addLabel: t("addVariable"),
3056
+ color: "green"
3019
3057
  }
3020
3058
  )
3021
- ] })
3059
+ ] }),
3060
+ /* @__PURE__ */ jsxRuntime.jsx(
3061
+ ConfigFormActions,
3062
+ {
3063
+ cancelLabel: t("cancel"),
3064
+ saveLabel: t("save"),
3065
+ onCancel,
3066
+ onSave: handleSave
3067
+ }
3068
+ )
3022
3069
  ] });
3023
3070
  }
3024
3071
  function EndNodeConfigForm({ config, onSave, onCancel }) {
3025
3072
  const t = chunkYXN2K77G_js.useTranslations("agents.workflow.endNodeConfig");
3026
3073
  const [outputVariables, setOutputVariables] = react.useState([...config.outputVariables]);
3027
- const [newVariable, setNewVariable] = react.useState("");
3028
- const handleAddVariable = () => {
3029
- const trimmed = newVariable.trim();
3030
- if (trimmed && !outputVariables.includes(trimmed)) {
3031
- setOutputVariables([...outputVariables, trimmed]);
3032
- setNewVariable("");
3033
- }
3034
- };
3035
- const handleRemoveVariable = (variable) => {
3036
- setOutputVariables(outputVariables.filter((existingVariable) => existingVariable !== variable));
3037
- };
3038
- const handleKeyDown = (event) => {
3039
- if (event.key === "Enter") {
3040
- event.preventDefault();
3041
- handleAddVariable();
3042
- }
3043
- };
3044
3074
  const handleSave = () => {
3045
3075
  onSave({ ...config, outputVariables });
3046
3076
  };
3047
3077
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
3048
3078
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
3049
- /* @__PURE__ */ jsxRuntime.jsx("label", { className: "mb-1 block text-sm font-medium text-gray-700 dark:text-gray-300", children: t("outputVariablesLabel") }),
3050
3079
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-2 text-xs text-gray-500 dark:text-gray-400", children: t("outputVariablesHelp") }),
3051
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
3052
- /* @__PURE__ */ jsxRuntime.jsx(
3053
- "input",
3054
- {
3055
- type: "text",
3056
- value: newVariable,
3057
- onChange: (event) => setNewVariable(event.target.value),
3058
- onKeyDown: handleKeyDown,
3059
- placeholder: t("variablePlaceholder"),
3060
- className: "w-full flex-1 rounded-lg border border-gray-300 bg-white px-3 py-2 text-sm text-gray-900 placeholder-gray-400 outline-none focus:border-indigo-400 focus:ring-2 focus:ring-indigo-400/20 dark:border-gray-600 dark:bg-gray-800 dark:text-white dark:placeholder-gray-500"
3061
- }
3062
- ),
3063
- /* @__PURE__ */ jsxRuntime.jsx(
3064
- "button",
3065
- {
3066
- type: "button",
3067
- onClick: handleAddVariable,
3068
- className: "text-sm text-indigo-600 hover:text-indigo-700 dark:text-indigo-400",
3069
- children: t("addVariable")
3070
- }
3071
- )
3072
- ] }),
3073
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-2 flex flex-wrap gap-2", children: outputVariables.map((variable) => /* @__PURE__ */ jsxRuntime.jsxs(
3074
- "span",
3075
- {
3076
- className: "inline-flex items-center gap-1 rounded-full bg-red-100 px-2.5 py-1 text-xs font-medium text-red-700 dark:bg-red-500/20 dark:text-red-300",
3077
- children: [
3078
- variable,
3079
- /* @__PURE__ */ jsxRuntime.jsx(
3080
- "button",
3081
- {
3082
- type: "button",
3083
- onClick: () => handleRemoveVariable(variable),
3084
- className: "text-sm text-red-500 hover:text-red-600",
3085
- "aria-label": `Remove ${variable}`,
3086
- children: /* @__PURE__ */ jsxRuntime.jsx(outline.XMarkIcon, { className: "h-3 w-3" })
3087
- }
3088
- )
3089
- ]
3090
- },
3091
- variable
3092
- )) })
3093
- ] }),
3094
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex justify-end gap-2 pt-4 border-t border-gray-200 dark:border-gray-700", children: [
3095
3080
  /* @__PURE__ */ jsxRuntime.jsx(
3096
- "button",
3081
+ VariableListEditor,
3097
3082
  {
3098
- type: "button",
3099
- onClick: onCancel,
3100
- className: "rounded-lg border border-gray-300 px-4 py-2 text-sm font-medium text-gray-700 hover:bg-gray-50 dark:border-gray-600 dark:text-gray-300 dark:hover:bg-gray-800",
3101
- children: t("cancel")
3102
- }
3103
- ),
3104
- /* @__PURE__ */ jsxRuntime.jsx(
3105
- "button",
3106
- {
3107
- type: "button",
3108
- onClick: handleSave,
3109
- className: "rounded-lg bg-indigo-600 px-4 py-2 text-sm font-medium text-white hover:bg-indigo-700 dark:bg-indigo-500 dark:hover:bg-indigo-600",
3110
- children: t("save")
3083
+ variables: outputVariables,
3084
+ onChange: setOutputVariables,
3085
+ label: t("outputVariablesLabel"),
3086
+ placeholder: t("variablePlaceholder"),
3087
+ addLabel: t("addVariable"),
3088
+ color: "red"
3111
3089
  }
3112
3090
  )
3113
- ] })
3114
- ] });
3115
- }
3116
- function ConfigFormActions({
3117
- cancelLabel,
3118
- saveLabel,
3119
- onCancel,
3120
- onSave,
3121
- saveDisabled = false
3122
- }) {
3123
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex justify-end gap-2 border-t border-gray-200 pt-4 dark:border-gray-700", children: [
3124
- /* @__PURE__ */ jsxRuntime.jsx(chunkEVX2CFNL_js.Button, { type: "button", outline: true, onClick: onCancel, children: cancelLabel }),
3125
- /* @__PURE__ */ jsxRuntime.jsx(chunkEVX2CFNL_js.Button, { type: "button", onClick: onSave, disabled: saveDisabled, children: saveLabel })
3091
+ ] }),
3092
+ /* @__PURE__ */ jsxRuntime.jsx(
3093
+ ConfigFormActions,
3094
+ {
3095
+ cancelLabel: t("cancel"),
3096
+ saveLabel: t("save"),
3097
+ onCancel,
3098
+ onSave: handleSave
3099
+ }
3100
+ )
3126
3101
  ] });
3127
3102
  }
3128
3103
  var OPERATOR_OPTIONS = [
@@ -3171,7 +3146,7 @@ function IfElseNodeConfigForm({ config, onSave, onCancel }) {
3171
3146
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-3 flex items-center justify-between", children: [
3172
3147
  /* @__PURE__ */ jsxRuntime.jsx("label", { className: "text-sm font-medium text-gray-700 dark:text-gray-300", children: t("conditionsLabel") }),
3173
3148
  /* @__PURE__ */ jsxRuntime.jsx(
3174
- chunkEVX2CFNL_js.Button,
3149
+ chunk4XID6LOC_js.Button,
3175
3150
  {
3176
3151
  type: "button",
3177
3152
  onClick: handleAddCondition,
@@ -3182,7 +3157,7 @@ function IfElseNodeConfigForm({ config, onSave, onCancel }) {
3182
3157
  /* @__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: [
3183
3158
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid flex-1 grid-cols-3 gap-2", children: [
3184
3159
  /* @__PURE__ */ jsxRuntime.jsx("div", { children: /* @__PURE__ */ jsxRuntime.jsx(
3185
- chunkEVX2CFNL_js.FormInput,
3160
+ chunk4XID6LOC_js.FormInput,
3186
3161
  {
3187
3162
  type: "text",
3188
3163
  label: t("variableLabel"),
@@ -3193,7 +3168,7 @@ function IfElseNodeConfigForm({ config, onSave, onCancel }) {
3193
3168
  }
3194
3169
  ) }),
3195
3170
  /* @__PURE__ */ jsxRuntime.jsx("div", { children: /* @__PURE__ */ jsxRuntime.jsx(
3196
- chunkEVX2CFNL_js.FormSelect,
3171
+ chunk4XID6LOC_js.FormSelect,
3197
3172
  {
3198
3173
  label: t("operatorLabel"),
3199
3174
  value: condition.operator,
@@ -3203,7 +3178,7 @@ function IfElseNodeConfigForm({ config, onSave, onCancel }) {
3203
3178
  }
3204
3179
  ) }),
3205
3180
  /* @__PURE__ */ jsxRuntime.jsx("div", { children: /* @__PURE__ */ jsxRuntime.jsx(
3206
- chunkEVX2CFNL_js.FormInput,
3181
+ chunk4XID6LOC_js.FormInput,
3207
3182
  {
3208
3183
  type: "text",
3209
3184
  label: t("valueLabel"),
@@ -3215,7 +3190,7 @@ function IfElseNodeConfigForm({ config, onSave, onCancel }) {
3215
3190
  ) })
3216
3191
  ] }),
3217
3192
  conditions.length > 1 && /* @__PURE__ */ jsxRuntime.jsx(
3218
- chunkEVX2CFNL_js.IconButton,
3193
+ chunk4XID6LOC_js.IconButton,
3219
3194
  {
3220
3195
  onClick: () => handleRemoveCondition(index),
3221
3196
  icon: /* @__PURE__ */ jsxRuntime.jsx(outline.TrashIcon, { className: "h-4 w-4" }),
@@ -3370,7 +3345,7 @@ function HttpRequestNodeConfigForm({ config, onSave, onCancel }) {
3370
3345
  };
3371
3346
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
3372
3347
  /* @__PURE__ */ jsxRuntime.jsx(
3373
- chunkEVX2CFNL_js.FormSelect,
3348
+ chunk4XID6LOC_js.FormSelect,
3374
3349
  {
3375
3350
  label: t("methodLabel"),
3376
3351
  value: method,
@@ -3379,7 +3354,7 @@ function HttpRequestNodeConfigForm({ config, onSave, onCancel }) {
3379
3354
  }
3380
3355
  ),
3381
3356
  /* @__PURE__ */ jsxRuntime.jsx(
3382
- chunkEVX2CFNL_js.FormInput,
3357
+ chunk4XID6LOC_js.FormInput,
3383
3358
  {
3384
3359
  type: "text",
3385
3360
  label: t("urlLabel"),
@@ -3392,7 +3367,7 @@ function HttpRequestNodeConfigForm({ config, onSave, onCancel }) {
3392
3367
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-2 flex items-center justify-between", children: [
3393
3368
  /* @__PURE__ */ jsxRuntime.jsx("label", { className: "text-sm font-medium text-gray-700 dark:text-gray-300", children: t("headersLabel") }),
3394
3369
  /* @__PURE__ */ jsxRuntime.jsx(
3395
- chunkEVX2CFNL_js.Button,
3370
+ chunk4XID6LOC_js.Button,
3396
3371
  {
3397
3372
  type: "button",
3398
3373
  onClick: handleAddHeader,
@@ -3402,7 +3377,7 @@ function HttpRequestNodeConfigForm({ config, onSave, onCancel }) {
3402
3377
  ] }),
3403
3378
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-2", children: headerEntries.map((entry, index) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
3404
3379
  /* @__PURE__ */ jsxRuntime.jsx(
3405
- chunkEVX2CFNL_js.FormInput,
3380
+ chunk4XID6LOC_js.FormInput,
3406
3381
  {
3407
3382
  type: "text",
3408
3383
  value: entry.key,
@@ -3412,7 +3387,7 @@ function HttpRequestNodeConfigForm({ config, onSave, onCancel }) {
3412
3387
  }
3413
3388
  ),
3414
3389
  /* @__PURE__ */ jsxRuntime.jsx(
3415
- chunkEVX2CFNL_js.FormInput,
3390
+ chunk4XID6LOC_js.FormInput,
3416
3391
  {
3417
3392
  type: "text",
3418
3393
  value: entry.value,
@@ -3422,7 +3397,7 @@ function HttpRequestNodeConfigForm({ config, onSave, onCancel }) {
3422
3397
  }
3423
3398
  ),
3424
3399
  /* @__PURE__ */ jsxRuntime.jsx(
3425
- chunkEVX2CFNL_js.IconButton,
3400
+ chunk4XID6LOC_js.IconButton,
3426
3401
  {
3427
3402
  onClick: () => handleRemoveHeader(index),
3428
3403
  icon: /* @__PURE__ */ jsxRuntime.jsx(outline.TrashIcon, { className: "h-4 w-4" }),
@@ -3434,7 +3409,7 @@ function HttpRequestNodeConfigForm({ config, onSave, onCancel }) {
3434
3409
  ] }, index)) })
3435
3410
  ] }),
3436
3411
  method !== "GET" && /* @__PURE__ */ jsxRuntime.jsx(
3437
- chunkEVX2CFNL_js.FormTextarea,
3412
+ chunk4XID6LOC_js.FormTextarea,
3438
3413
  {
3439
3414
  label: t("bodyLabel"),
3440
3415
  value: body,
@@ -3445,7 +3420,7 @@ function HttpRequestNodeConfigForm({ config, onSave, onCancel }) {
3445
3420
  }
3446
3421
  ),
3447
3422
  /* @__PURE__ */ jsxRuntime.jsx(
3448
- chunkEVX2CFNL_js.FormInput,
3423
+ chunk4XID6LOC_js.FormInput,
3449
3424
  {
3450
3425
  type: "number",
3451
3426
  label: t("timeoutLabel"),
@@ -3476,7 +3451,7 @@ function TemplateTransformNodeConfigForm({ config, onSave, onCancel }) {
3476
3451
  };
3477
3452
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
3478
3453
  /* @__PURE__ */ jsxRuntime.jsx(
3479
- chunkEVX2CFNL_js.FormTextarea,
3454
+ chunk4XID6LOC_js.FormTextarea,
3480
3455
  {
3481
3456
  label: t("templateLabel"),
3482
3457
  value: template,
@@ -3487,7 +3462,7 @@ function TemplateTransformNodeConfigForm({ config, onSave, onCancel }) {
3487
3462
  }
3488
3463
  ),
3489
3464
  /* @__PURE__ */ jsxRuntime.jsx(
3490
- chunkEVX2CFNL_js.FormInput,
3465
+ chunk4XID6LOC_js.FormInput,
3491
3466
  {
3492
3467
  type: "text",
3493
3468
  label: t("outputVariableLabel"),
@@ -3516,7 +3491,7 @@ function IterationNodeConfigForm({ config, onSave, onCancel }) {
3516
3491
  };
3517
3492
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
3518
3493
  /* @__PURE__ */ jsxRuntime.jsx(
3519
- chunkEVX2CFNL_js.FormInput,
3494
+ chunk4XID6LOC_js.FormInput,
3520
3495
  {
3521
3496
  type: "text",
3522
3497
  label: t("iteratorVariableLabel"),
@@ -3526,7 +3501,7 @@ function IterationNodeConfigForm({ config, onSave, onCancel }) {
3526
3501
  }
3527
3502
  ),
3528
3503
  /* @__PURE__ */ jsxRuntime.jsx(
3529
- chunkEVX2CFNL_js.FormInput,
3504
+ chunk4XID6LOC_js.FormInput,
3530
3505
  {
3531
3506
  type: "number",
3532
3507
  label: t("maxIterationsLabel"),
@@ -3557,7 +3532,7 @@ function KnowledgeBaseNodeConfigForm({ config, onSave, onCancel }) {
3557
3532
  };
3558
3533
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
3559
3534
  /* @__PURE__ */ jsxRuntime.jsx(
3560
- chunkEVX2CFNL_js.FormInput,
3535
+ chunk4XID6LOC_js.FormInput,
3561
3536
  {
3562
3537
  type: "text",
3563
3538
  label: t("sourceIdLabel"),
@@ -3567,7 +3542,7 @@ function KnowledgeBaseNodeConfigForm({ config, onSave, onCancel }) {
3567
3542
  }
3568
3543
  ),
3569
3544
  /* @__PURE__ */ jsxRuntime.jsx(
3570
- chunkEVX2CFNL_js.FormInput,
3545
+ chunk4XID6LOC_js.FormInput,
3571
3546
  {
3572
3547
  type: "number",
3573
3548
  label: t("topKLabel"),
@@ -3578,7 +3553,7 @@ function KnowledgeBaseNodeConfigForm({ config, onSave, onCancel }) {
3578
3553
  }
3579
3554
  ),
3580
3555
  /* @__PURE__ */ jsxRuntime.jsx(
3581
- chunkEVX2CFNL_js.FormInput,
3556
+ chunk4XID6LOC_js.FormInput,
3582
3557
  {
3583
3558
  type: "number",
3584
3559
  label: t("similarityThresholdLabel"),
@@ -3604,29 +3579,12 @@ function AnswerNodeConfigForm({ config, onSave, onCancel }) {
3604
3579
  const t = chunkYXN2K77G_js.useTranslations("agents.workflow.answerNodeConfig");
3605
3580
  const [outputTemplate, setOutputTemplate] = react.useState(config.outputTemplate);
3606
3581
  const [outputVariables, setOutputVariables] = react.useState([...config.outputVariables]);
3607
- const [newVariable, setNewVariable] = react.useState("");
3608
- const handleAddVariable = () => {
3609
- const trimmed = newVariable.trim();
3610
- if (trimmed && !outputVariables.includes(trimmed)) {
3611
- setOutputVariables([...outputVariables, trimmed]);
3612
- setNewVariable("");
3613
- }
3614
- };
3615
- const handleRemoveVariable = (variable) => {
3616
- setOutputVariables(outputVariables.filter((existingVariable) => existingVariable !== variable));
3617
- };
3618
- const handleKeyDown = (event) => {
3619
- if (event.key === "Enter") {
3620
- event.preventDefault();
3621
- handleAddVariable();
3622
- }
3623
- };
3624
3582
  const handleSave = () => {
3625
3583
  onSave({ ...config, outputTemplate, outputVariables });
3626
3584
  };
3627
3585
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
3628
3586
  /* @__PURE__ */ jsxRuntime.jsx(
3629
- chunkEVX2CFNL_js.FormTextarea,
3587
+ chunk4XID6LOC_js.FormTextarea,
3630
3588
  {
3631
3589
  label: t("outputTemplateLabel"),
3632
3590
  hint: t("outputTemplateHelp"),
@@ -3637,50 +3595,17 @@ function AnswerNodeConfigForm({ config, onSave, onCancel }) {
3637
3595
  className: "font-mono text-xs"
3638
3596
  }
3639
3597
  ),
3640
- /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
3641
- /* @__PURE__ */ jsxRuntime.jsx("label", { className: "mb-1 block text-sm font-medium text-gray-700 dark:text-gray-300", children: t("outputVariablesLabel") }),
3642
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
3643
- /* @__PURE__ */ jsxRuntime.jsx(
3644
- chunkEVX2CFNL_js.FormInput,
3645
- {
3646
- type: "text",
3647
- value: newVariable,
3648
- onValueChange: setNewVariable,
3649
- onKeyDown: handleKeyDown,
3650
- placeholder: t("variablePlaceholder"),
3651
- className: "flex-1"
3652
- }
3653
- ),
3654
- /* @__PURE__ */ jsxRuntime.jsx(
3655
- chunkEVX2CFNL_js.Button,
3656
- {
3657
- type: "button",
3658
- onClick: handleAddVariable,
3659
- children: t("addVariable")
3660
- }
3661
- )
3662
- ] }),
3663
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-2 flex flex-wrap gap-2", children: outputVariables.map((variable) => /* @__PURE__ */ jsxRuntime.jsxs(
3664
- "span",
3665
- {
3666
- className: "inline-flex items-center gap-1 rounded-full bg-blue-100 px-2.5 py-1 text-xs font-medium text-blue-700 dark:bg-blue-500/20 dark:text-blue-300",
3667
- children: [
3668
- variable,
3669
- /* @__PURE__ */ jsxRuntime.jsx(
3670
- chunkEVX2CFNL_js.IconButton,
3671
- {
3672
- onClick: () => handleRemoveVariable(variable),
3673
- icon: /* @__PURE__ */ jsxRuntime.jsx(outline.XMarkIcon, { className: "h-3 w-3" }),
3674
- label: `Remove ${variable}`,
3675
- size: "sm",
3676
- color: "ios-red"
3677
- }
3678
- )
3679
- ]
3680
- },
3681
- variable
3682
- )) })
3683
- ] }),
3598
+ /* @__PURE__ */ jsxRuntime.jsx(
3599
+ VariableListEditor,
3600
+ {
3601
+ variables: outputVariables,
3602
+ onChange: setOutputVariables,
3603
+ label: t("outputVariablesLabel"),
3604
+ placeholder: t("variablePlaceholder"),
3605
+ addLabel: t("addVariable"),
3606
+ color: "blue"
3607
+ }
3608
+ ),
3684
3609
  /* @__PURE__ */ jsxRuntime.jsx(
3685
3610
  ConfigFormActions,
3686
3611
  {
@@ -4075,79 +4000,25 @@ function VariableAggregatorNodeConfigForm({ config, onSave, onCancel }) {
4075
4000
  const [inputVariables, setInputVariables] = react.useState([...config.inputVariables]);
4076
4001
  const [outputVariable, setOutputVariable] = react.useState(config.outputVariable);
4077
4002
  const [aggregationMode, setAggregationMode] = react.useState(config.aggregationMode);
4078
- const [newVariable, setNewVariable] = react.useState("");
4079
- const handleAddVariable = () => {
4080
- const trimmed = newVariable.trim();
4081
- if (trimmed && !inputVariables.includes(trimmed)) {
4082
- setInputVariables([...inputVariables, trimmed]);
4083
- setNewVariable("");
4084
- }
4085
- };
4086
- const handleRemoveVariable = (index) => {
4087
- setInputVariables(inputVariables.filter((_, variableIndex) => variableIndex !== index));
4088
- };
4089
- const handleVariableChange = (index, value) => {
4090
- setInputVariables(inputVariables.map((variable, variableIndex) => variableIndex === index ? value : variable));
4091
- };
4092
- const handleKeyDown = (event) => {
4093
- if (event.key === "Enter") {
4094
- event.preventDefault();
4095
- handleAddVariable();
4096
- }
4097
- };
4098
4003
  const handleSave = () => {
4099
4004
  onSave({ ...config, inputVariables, outputVariable, aggregationMode });
4100
4005
  };
4101
4006
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
4102
- /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
4103
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-1 block text-sm font-medium text-gray-700 dark:text-gray-300", children: t("inputVariablesLabel") }),
4104
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
4105
- /* @__PURE__ */ jsxRuntime.jsx(
4106
- chunkEVX2CFNL_js.FormInput,
4107
- {
4108
- type: "text",
4109
- value: newVariable,
4110
- onValueChange: setNewVariable,
4111
- onKeyDown: handleKeyDown,
4112
- placeholder: t("variablePlaceholder"),
4113
- className: "flex-1"
4114
- }
4115
- ),
4116
- /* @__PURE__ */ jsxRuntime.jsx(
4117
- chunkEVX2CFNL_js.Button,
4118
- {
4119
- type: "button",
4120
- onClick: handleAddVariable,
4121
- children: t("addInputVariable")
4122
- }
4123
- )
4124
- ] }),
4125
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-3 space-y-2", children: inputVariables.map((variable, index) => /* @__PURE__ */ jsxRuntime.jsx(chunkEVX2CFNL_js.Card, { className: "border-purple-200/70 dark:border-purple-500/30", children: /* @__PURE__ */ jsxRuntime.jsx(chunkEVX2CFNL_js.CardContent, { className: "p-3", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
4126
- /* @__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 }),
4127
- /* @__PURE__ */ jsxRuntime.jsx(
4128
- chunkEVX2CFNL_js.FormInput,
4129
- {
4130
- type: "text",
4131
- value: variable,
4132
- onValueChange: (value) => handleVariableChange(index, value),
4133
- placeholder: t("variablePlaceholder"),
4134
- className: "flex-1"
4135
- }
4136
- ),
4137
- /* @__PURE__ */ jsxRuntime.jsx(
4138
- chunkEVX2CFNL_js.IconButton,
4139
- {
4140
- icon: /* @__PURE__ */ jsxRuntime.jsx(outline.XMarkIcon, { className: "h-3 w-3" }),
4141
- label: `Remove ${variable || index + 1}`,
4142
- onClick: () => handleRemoveVariable(index),
4143
- size: "sm",
4144
- color: "ios-red"
4145
- }
4146
- )
4147
- ] }) }) }, `${index}-${variable}`)) })
4148
- ] }),
4149
4007
  /* @__PURE__ */ jsxRuntime.jsx(
4150
- chunkEVX2CFNL_js.FormInput,
4008
+ VariableListEditor,
4009
+ {
4010
+ variables: inputVariables,
4011
+ onChange: setInputVariables,
4012
+ label: t("inputVariablesLabel"),
4013
+ placeholder: t("variablePlaceholder"),
4014
+ addLabel: t("addInputVariable"),
4015
+ color: "purple",
4016
+ numbered: true,
4017
+ editable: true
4018
+ }
4019
+ ),
4020
+ /* @__PURE__ */ jsxRuntime.jsx(
4021
+ chunk4XID6LOC_js.FormInput,
4151
4022
  {
4152
4023
  type: "text",
4153
4024
  label: t("outputVariableLabel"),
@@ -4157,7 +4028,7 @@ function VariableAggregatorNodeConfigForm({ config, onSave, onCancel }) {
4157
4028
  }
4158
4029
  ),
4159
4030
  /* @__PURE__ */ jsxRuntime.jsx(
4160
- chunkEVX2CFNL_js.FormSelect,
4031
+ chunk4XID6LOC_js.FormSelect,
4161
4032
  {
4162
4033
  label: t("aggregationModeLabel"),
4163
4034
  value: aggregationMode,
@@ -4190,7 +4061,7 @@ function DocumentExtractorNodeConfigForm({ config, onSave, onCancel }) {
4190
4061
  };
4191
4062
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
4192
4063
  /* @__PURE__ */ jsxRuntime.jsx(
4193
- chunkEVX2CFNL_js.FormSelect,
4064
+ chunk4XID6LOC_js.FormSelect,
4194
4065
  {
4195
4066
  label: t("extractionModeLabel"),
4196
4067
  value: extractionMode,
@@ -4199,7 +4070,7 @@ function DocumentExtractorNodeConfigForm({ config, onSave, onCancel }) {
4199
4070
  }
4200
4071
  ),
4201
4072
  /* @__PURE__ */ jsxRuntime.jsx(
4202
- chunkEVX2CFNL_js.FormInput,
4073
+ chunk4XID6LOC_js.FormInput,
4203
4074
  {
4204
4075
  type: "text",
4205
4076
  label: t("outputVariableLabel"),
@@ -4376,7 +4247,7 @@ function IterationStartNodeConfigForm({ config, onSave, onCancel }) {
4376
4247
  };
4377
4248
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
4378
4249
  /* @__PURE__ */ jsxRuntime.jsx(
4379
- chunkEVX2CFNL_js.FormInput,
4250
+ chunk4XID6LOC_js.FormInput,
4380
4251
  {
4381
4252
  type: "text",
4382
4253
  label: t("iteratorVariableLabel"),
@@ -4386,7 +4257,7 @@ function IterationStartNodeConfigForm({ config, onSave, onCancel }) {
4386
4257
  }
4387
4258
  ),
4388
4259
  /* @__PURE__ */ jsxRuntime.jsx(
4389
- chunkEVX2CFNL_js.FormInput,
4260
+ chunk4XID6LOC_js.FormInput,
4390
4261
  {
4391
4262
  type: "text",
4392
4263
  label: t("itemVariableLabel"),
@@ -4396,7 +4267,7 @@ function IterationStartNodeConfigForm({ config, onSave, onCancel }) {
4396
4267
  }
4397
4268
  ),
4398
4269
  /* @__PURE__ */ jsxRuntime.jsx(
4399
- chunkEVX2CFNL_js.FormInput,
4270
+ chunk4XID6LOC_js.FormInput,
4400
4271
  {
4401
4272
  type: "text",
4402
4273
  label: t("indexVariableLabel"),
@@ -4990,7 +4861,7 @@ function GroupNodeConfigForm({ config, onSave, onCancel }) {
4990
4861
  };
4991
4862
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
4992
4863
  /* @__PURE__ */ jsxRuntime.jsx(
4993
- chunkEVX2CFNL_js.FormInput,
4864
+ chunk4XID6LOC_js.FormInput,
4994
4865
  {
4995
4866
  type: "text",
4996
4867
  label: translations("labelField"),
@@ -5000,7 +4871,7 @@ function GroupNodeConfigForm({ config, onSave, onCancel }) {
5000
4871
  }
5001
4872
  ),
5002
4873
  /* @__PURE__ */ jsxRuntime.jsx(
5003
- chunkEVX2CFNL_js.FormTextarea,
4874
+ chunk4XID6LOC_js.FormTextarea,
5004
4875
  {
5005
4876
  label: translations("descriptionField"),
5006
4877
  value: description,
@@ -5129,14 +5000,16 @@ function LogicNodeModal({ onSave, entities = [], datasources = [], onLoadTables,
5129
5000
  }
5130
5001
  };
5131
5002
  return /* @__PURE__ */ jsxRuntime.jsx(
5132
- WorkspaceModal,
5003
+ chunk4XID6LOC_js.GlassModalShell,
5133
5004
  {
5134
5005
  open,
5135
5006
  onClose: closeModal,
5136
5007
  title,
5137
5008
  subtitle: nodeLabel,
5009
+ label: t("nodeConfig"),
5138
5010
  icon: IconComponent ? /* @__PURE__ */ jsxRuntime.jsx(IconComponent, { className: "h-5 w-5 text-white" }) : void 0,
5139
5011
  gradient,
5012
+ maxWidth: "2xl",
5140
5013
  children: renderForm()
5141
5014
  }
5142
5015
  );
@@ -5187,7 +5060,7 @@ function NodeContextMenu({ position, targetId, onClose, onEdit, onDuplicate, onC
5187
5060
  }
5188
5061
  ];
5189
5062
  return /* @__PURE__ */ jsxRuntime.jsx(
5190
- chunkEVX2CFNL_js.ContextMenu,
5063
+ chunk4XID6LOC_js.ContextMenu,
5191
5064
  {
5192
5065
  position,
5193
5066
  onClose,
@@ -5244,7 +5117,7 @@ function PanelContextMenu({ position, onClose, onPaste, onSelectAll, onFitView,
5244
5117
  }
5245
5118
  ];
5246
5119
  return /* @__PURE__ */ jsxRuntime.jsx(
5247
- chunkEVX2CFNL_js.ContextMenu,
5120
+ chunk4XID6LOC_js.ContextMenu,
5248
5121
  {
5249
5122
  position,
5250
5123
  onClose,
@@ -5391,7 +5264,7 @@ function SelectionContextMenu({
5391
5264
  }
5392
5265
  ];
5393
5266
  return /* @__PURE__ */ jsxRuntime.jsx(
5394
- chunkEVX2CFNL_js.ContextMenu,
5267
+ chunk4XID6LOC_js.ContextMenu,
5395
5268
  {
5396
5269
  position,
5397
5270
  onClose,
@@ -7220,7 +7093,6 @@ exports.VariableAssignerFlowNode = VariableAssignerFlowNode;
7220
7093
  exports.WorkflowBuilderProvider = WorkflowBuilderProvider;
7221
7094
  exports.WorkflowCanvas = WorkflowCanvas;
7222
7095
  exports.Workspace = Workspace;
7223
- exports.WorkspaceModal = WorkspaceModal;
7224
7096
  exports.getCompatibleModels = getCompatibleModels;
7225
7097
  exports.getDefaultFrameworkForModel = getDefaultFrameworkForModel;
7226
7098
  exports.getEntityBadgeColor = getEntityBadgeColor;
@@ -7234,5 +7106,5 @@ exports.useModalStore = useModalStore;
7234
7106
  exports.useWorkflowBuilderClient = useWorkflowBuilderClient;
7235
7107
  exports.useWorkflowBuilderClientOptional = useWorkflowBuilderClientOptional;
7236
7108
  exports.useWorkflowStore = useWorkflowStore;
7237
- //# sourceMappingURL=chunk-BONTO5LJ.js.map
7238
- //# sourceMappingURL=chunk-BONTO5LJ.js.map
7109
+ //# sourceMappingURL=chunk-TKLALDY4.js.map
7110
+ //# sourceMappingURL=chunk-TKLALDY4.js.map