@datatechsolutions/ui 2.11.14 → 2.11.15

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,5 +1,5 @@
1
1
  import 'react/jsx-runtime';
2
2
  import 'react';
3
- export { j as Workspace, h as WorkspaceProps } from '../workflow-canvas-CooSZh-g.mjs';
3
+ export { j as Workspace, h as WorkspaceProps } from '../workflow-canvas-Dfj5MOAY.mjs';
4
4
  import '@xyflow/react';
5
5
  import './contracts.mjs';
@@ -1,5 +1,5 @@
1
1
  import 'react/jsx-runtime';
2
2
  import 'react';
3
- export { j as Workspace, h as WorkspaceProps } from '../workflow-canvas-BUpiBzxZ.js';
3
+ export { j as Workspace, h as WorkspaceProps } from '../workflow-canvas-CEfOHTzN.js';
4
4
  import '@xyflow/react';
5
5
  import './contracts.js';
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  'use strict';
3
3
 
4
- var chunkJT2JCLN5_js = require('../chunk-JT2JCLN5.js');
4
+ var chunkWB5CWGXD_js = require('../chunk-WB5CWGXD.js');
5
5
  require('../chunk-4XID6LOC.js');
6
6
  require('../chunk-S7KHTUHA.js');
7
7
  require('../chunk-UZ3CMNUJ.js');
@@ -13,7 +13,7 @@ require('../chunk-YXN2K77G.js');
13
13
 
14
14
  Object.defineProperty(exports, "Workspace", {
15
15
  enumerable: true,
16
- get: function () { return chunkJT2JCLN5_js.Workspace; }
16
+ get: function () { return chunkWB5CWGXD_js.Workspace; }
17
17
  });
18
18
  //# sourceMappingURL=workflow-canvas.js.map
19
19
  //# sourceMappingURL=workflow-canvas.js.map
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- export { Workspace } from '../chunk-OL7PEDJG.mjs';
2
+ export { Workspace } from '../chunk-NTXIFTIQ.mjs';
3
3
  import '../chunk-46ZM5VJJ.mjs';
4
4
  import '../chunk-QWG2FMUN.mjs';
5
5
  import '../chunk-D2JF6C3E.mjs';
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import { GlassModalShell, ContextMenu, FormInput, FormTextarea, FormSelect, Button, IconButton } from './chunk-46ZM5VJJ.mjs';
2
+ import { GlassModalShell, ContextMenu, FormInput, FormSelect, FormTextarea, Button, IconButton } from './chunk-46ZM5VJJ.mjs';
3
3
  import { GraphNodeHeader, GraphNodeMeta, GraphNodeBadge, GraphNodeIconBubble } from './chunk-OZNTQROP.mjs';
4
4
  import { getAgentTier, createDefaultLogicNodeConfig, applyDagreLayout } from './chunk-TLPPVL3W.mjs';
5
5
  import { useTranslations, I18nProvider, createI18nFromMessages } from './chunk-7VJ7CMMT.mjs';
@@ -8,7 +8,7 @@ import { Position, NodeResizer, MarkerType, useReactFlow, getBezierPath, BaseEdg
8
8
  import '@xyflow/react/dist/style.css';
9
9
  import { create } from 'zustand';
10
10
  import { PlusIcon, XMarkIcon } from '@heroicons/react/24/solid';
11
- import { Bars2Icon, CursorArrowRaysIcon, HandRaisedIcon, MagnifyingGlassPlusIcon, MagnifyingGlassMinusIcon, ArrowsPointingInIcon, ArrowUturnLeftIcon, ArrowUturnRightIcon, MapIcon, Squares2X2Icon, ArrowsRightLeftIcon, CommandLineIcon, ExclamationTriangleIcon, CpuChipIcon, TrashIcon, WrenchScrewdriverIcon, NewspaperIcon, ChartBarIcon, CloudIcon, ScaleIcon, AdjustmentsHorizontalIcon, CircleStackIcon, PlayIcon, StopIcon, ArrowsPointingOutIcon, CodeBracketIcon, GlobeAltIcon, DocumentTextIcon, ArrowPathIcon, BookOpenIcon, ChatBubbleLeftRightIcon, QuestionMarkCircleIcon, AdjustmentsVerticalIcon, Square3Stack3DIcon, DocumentMagnifyingGlassIcon, ListBulletIcon, PlayCircleIcon, PencilSquareIcon, ServerStackIcon, RectangleGroupIcon, ChevronDownIcon, ChevronUpIcon, PresentationChartBarIcon, ChartPieIcon, ChartBarSquareIcon, CurrencyDollarIcon, ShieldCheckIcon, ClipboardDocumentCheckIcon, FireIcon, ShoppingBagIcon, UsersIcon, BuildingStorefrontIcon, PencilIcon, DocumentDuplicateIcon, ClipboardDocumentIcon, ClipboardIcon, PlusIcon as PlusIcon$1, XMarkIcon as XMarkIcon$1 } from '@heroicons/react/24/outline';
11
+ import { Bars2Icon, CursorArrowRaysIcon, HandRaisedIcon, MagnifyingGlassPlusIcon, MagnifyingGlassMinusIcon, ArrowsPointingInIcon, ArrowUturnLeftIcon, ArrowUturnRightIcon, MapIcon, Squares2X2Icon, ArrowsRightLeftIcon, CommandLineIcon, ExclamationTriangleIcon, CpuChipIcon, TrashIcon, WrenchScrewdriverIcon, NewspaperIcon, ChartBarIcon, CloudIcon, ScaleIcon, AdjustmentsHorizontalIcon, CircleStackIcon, PlayIcon, StopIcon, ArrowsPointingOutIcon, CodeBracketIcon, GlobeAltIcon, DocumentTextIcon, ArrowPathIcon, BookOpenIcon, ChatBubbleLeftRightIcon, QuestionMarkCircleIcon, AdjustmentsVerticalIcon, Square3Stack3DIcon, DocumentMagnifyingGlassIcon, ListBulletIcon, PlayCircleIcon, PencilSquareIcon, ServerStackIcon, KeyIcon, RectangleGroupIcon, ChevronDownIcon, ChevronUpIcon, PresentationChartBarIcon, ChartPieIcon, ChartBarSquareIcon, CurrencyDollarIcon, ShieldCheckIcon, ClipboardDocumentCheckIcon, FireIcon, ShoppingBagIcon, UsersIcon, BuildingStorefrontIcon, PencilIcon, DocumentDuplicateIcon, ClipboardDocumentIcon, ClipboardIcon, PlusIcon as PlusIcon$1, XMarkIcon as XMarkIcon$1 } from '@heroicons/react/24/outline';
12
12
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
13
13
 
14
14
  var DEFAULT_PASTE_OFFSET = 40;
@@ -338,6 +338,7 @@ var LOGIC_NODE_GRADIENTS = {
338
338
  note: "from-yellow-400 to-amber-500",
339
339
  entity: "from-blue-400 to-cyan-500",
340
340
  datasource: "from-cyan-500 to-blue-600",
341
+ model_provider: "from-rose-500 to-pink-600",
341
342
  group: "from-slate-400 to-gray-500"
342
343
  };
343
344
  var LOGIC_NODE_BADGE_COLORS = {
@@ -360,6 +361,7 @@ var LOGIC_NODE_BADGE_COLORS = {
360
361
  note: "bg-yellow-100 text-yellow-700 dark:bg-yellow-500/20 dark:text-yellow-300",
361
362
  entity: "bg-blue-100 text-blue-700 dark:bg-blue-500/20 dark:text-blue-300",
362
363
  datasource: "bg-cyan-100 text-cyan-700 dark:bg-cyan-500/20 dark:text-cyan-300",
364
+ model_provider: "bg-rose-100 text-rose-700 dark:bg-rose-500/20 dark:text-rose-300",
363
365
  group: "bg-slate-100 text-slate-700 dark:bg-slate-500/20 dark:text-slate-300"
364
366
  };
365
367
  var LOGIC_NODE_BADGE_SOFT_COLORS = {
@@ -382,6 +384,7 @@ var LOGIC_NODE_BADGE_SOFT_COLORS = {
382
384
  note: "bg-yellow-50 text-yellow-600 dark:bg-yellow-500/20 dark:text-yellow-400",
383
385
  entity: "bg-blue-50 text-blue-600 dark:bg-blue-500/20 dark:text-blue-400",
384
386
  datasource: "bg-cyan-50 text-cyan-600 dark:bg-cyan-500/20 dark:text-cyan-400",
387
+ model_provider: "bg-rose-50 text-rose-600 dark:bg-rose-500/20 dark:text-rose-400",
385
388
  group: "bg-slate-50 text-slate-600 dark:bg-slate-500/20 dark:text-slate-400"
386
389
  };
387
390
  var LOGIC_ICON_MAP = {
@@ -404,6 +407,7 @@ var LOGIC_ICON_MAP = {
404
407
  note: PencilSquareIcon,
405
408
  entity: CircleStackIcon,
406
409
  datasource: ServerStackIcon,
410
+ model_provider: KeyIcon,
407
411
  group: RectangleGroupIcon
408
412
  };
409
413
  var NODE_SELECTED_CLASS = "node-card-selected";
@@ -431,7 +435,8 @@ var NODE_BORDER_COLORS = {
431
435
  document_extractor: "border-rose-300/50 dark:border-rose-600/50",
432
436
  list_operator: "border-lime-300/50 dark:border-lime-600/50",
433
437
  note: "border-gray-200/50 dark:border-gray-700/50",
434
- datasource: "border-cyan-300/50 dark:border-cyan-600/50"
438
+ datasource: "border-cyan-300/50 dark:border-cyan-600/50",
439
+ model_provider: "border-rose-300/50 dark:border-rose-600/50"
435
440
  };
436
441
  function getNodeStateClass(selected, nodeType, customBorder) {
437
442
  if (selected) return NODE_SELECTED_CLASS;
@@ -462,6 +467,7 @@ var MINIMAP_NODE_COLORS = {
462
467
  note: "#eab308",
463
468
  entity: "#3b82f6",
464
469
  datasource: "#06b6d4",
470
+ model_provider: "#f43f5e",
465
471
  group: "#64748b"
466
472
  };
467
473
  var LOGIC_NODE_HANDLE_COLORS = {
@@ -484,6 +490,7 @@ var LOGIC_NODE_HANDLE_COLORS = {
484
490
  note: "!bg-yellow-500",
485
491
  entity: "!bg-blue-500",
486
492
  datasource: "!bg-cyan-500",
493
+ model_provider: "!bg-rose-500",
487
494
  group: "!bg-slate-500"
488
495
  };
489
496
  var INSERTABLE_NODES = [
@@ -2758,6 +2765,75 @@ var DatasourceFlowNode = memo(function DatasourceFlowNode2({ id, data, selected
2758
2765
  /* @__PURE__ */ jsx(WorkflowHandle, { type: "source", position: Position.Right, id: "right-out", colorClass: "!bg-cyan-400" })
2759
2766
  ] });
2760
2767
  });
2768
+ var PROVIDER_TYPE_LABELS = {
2769
+ aws_bedrock: "AWS Bedrock",
2770
+ openai_api: "OpenAI API",
2771
+ google_vertex: "Google Vertex AI",
2772
+ azure_openai: "Azure OpenAI",
2773
+ anthropic_api: "Anthropic API",
2774
+ custom: "Custom"
2775
+ };
2776
+ var ModelProviderFlowNode = memo(function ModelProviderFlowNode2({ id, data, selected }) {
2777
+ const config = data.config;
2778
+ const isCompact = data.displayMode === "compact";
2779
+ if (!config) {
2780
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
2781
+ /* @__PURE__ */ jsx(NodeRunningIndicator, { nodeId: id }),
2782
+ /* @__PURE__ */ jsx(WorkflowHandle, { type: "target", position: Position.Left, id: "left-in", colorClass: "!bg-gray-400 dark:!bg-gray-500" }),
2783
+ /* @__PURE__ */ jsx(WorkflowHandle, { type: "target", position: Position.Top, id: "top-in", colorClass: "!bg-gray-400 dark:!bg-gray-500" }),
2784
+ /* @__PURE__ */ jsx(NodeCard, { variant: "error", nodeType: "model_provider", width: "w-[280px]", children: /* @__PURE__ */ jsx(
2785
+ NodeCardHeader,
2786
+ {
2787
+ icon: /* @__PURE__ */ jsx(ExclamationTriangleIcon, { className: "h-6 w-6 text-white" }),
2788
+ title: data.label || "Model Provider",
2789
+ description: "Not configured",
2790
+ iconClassName: "flex h-11 w-11 items-center justify-center rounded-xl bg-gradient-to-br from-amber-400 to-orange-500 shadow-lg"
2791
+ }
2792
+ ) }),
2793
+ /* @__PURE__ */ jsx(WorkflowHandle, { type: "source", position: Position.Right, id: "right-out", colorClass: "!bg-rose-500" }),
2794
+ /* @__PURE__ */ jsx(WorkflowHandle, { type: "source", position: Position.Bottom, id: "bottom-out", colorClass: "!bg-rose-500" })
2795
+ ] });
2796
+ }
2797
+ const providerLabel = PROVIDER_TYPE_LABELS[config.providerType] ?? config.providerType;
2798
+ const displayName = config.name || providerLabel;
2799
+ const regionLabel = config.region ? config.region : void 0;
2800
+ const isConfigured = !!(config.credentialRef || config.apiKeyRef);
2801
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
2802
+ /* @__PURE__ */ jsx(NodeRunningIndicator, { nodeId: id }),
2803
+ /* @__PURE__ */ jsx(WorkflowHandle, { type: "target", position: Position.Left, id: "left-in", colorClass: "!bg-gray-400 dark:!bg-gray-500" }),
2804
+ /* @__PURE__ */ jsx(WorkflowHandle, { type: "target", position: Position.Top, id: "top-in", colorClass: "!bg-gray-400 dark:!bg-gray-500" }),
2805
+ /* @__PURE__ */ jsx(
2806
+ "button",
2807
+ {
2808
+ type: "button",
2809
+ onClick: () => data.onEdit?.(id),
2810
+ className: "w-full text-left",
2811
+ children: /* @__PURE__ */ jsxs(NodeCard, { compact: isCompact, selected, nodeType: "model_provider", width: "w-[280px]", children: [
2812
+ /* @__PURE__ */ jsx(
2813
+ NodeCardHeader,
2814
+ {
2815
+ icon: /* @__PURE__ */ jsx(KeyIcon, { className: "h-6 w-6 text-white" }),
2816
+ title: displayName,
2817
+ description: providerLabel,
2818
+ iconClassName: "flex h-11 w-11 items-center justify-center rounded-xl bg-gradient-to-br from-rose-500 to-pink-600 shadow-lg"
2819
+ }
2820
+ ),
2821
+ /* @__PURE__ */ jsx(NodeCardMeta, { compact: isCompact, children: /* @__PURE__ */ jsxs("div", { className: "flex flex-wrap items-center gap-1.5", children: [
2822
+ /* @__PURE__ */ jsx(NodeCardBadge, { className: "rounded-full bg-rose-100 px-2 py-0.5 text-[10px] font-semibold text-rose-700 dark:bg-rose-500/20 dark:text-rose-300", children: providerLabel }),
2823
+ regionLabel && /* @__PURE__ */ jsx(NodeCardBadge, { className: "rounded-full bg-gray-100 px-2 py-0.5 text-[10px] font-medium text-gray-600 dark:bg-white/10 dark:text-gray-300", children: regionLabel }),
2824
+ /* @__PURE__ */ jsx(NodeCardBadge, { className: `rounded-full px-2 py-0.5 text-[10px] font-medium ${isConfigured ? "bg-green-100 text-green-700 dark:bg-green-500/20 dark:text-green-300" : "bg-amber-100 text-amber-700 dark:bg-amber-500/20 dark:text-amber-300"}`, children: isConfigured ? "Configured" : "Setup needed" }),
2825
+ config.modelFilter && config.modelFilter.length > 0 && /* @__PURE__ */ jsxs(NodeCardBadge, { className: "rounded-full bg-gray-100 px-2 py-0.5 text-[10px] font-medium text-gray-600 dark:bg-white/10 dark:text-gray-300", children: [
2826
+ config.modelFilter.length,
2827
+ " models"
2828
+ ] })
2829
+ ] }) })
2830
+ ] })
2831
+ }
2832
+ ),
2833
+ /* @__PURE__ */ jsx(WorkflowHandle, { type: "source", position: Position.Right, id: "right-out", colorClass: "!bg-rose-500" }),
2834
+ /* @__PURE__ */ jsx(WorkflowHandle, { type: "source", position: Position.Bottom, id: "bottom-out", colorClass: "!bg-rose-500" })
2835
+ ] });
2836
+ });
2761
2837
  var GROUP_COLORS = {
2762
2838
  indigo: {
2763
2839
  border: "border-indigo-300/50 dark:border-indigo-600/50",
@@ -4951,6 +5027,135 @@ function GroupNodeConfigForm({ config, onSave, onCancel }) {
4951
5027
  )
4952
5028
  ] });
4953
5029
  }
5030
+ var PROVIDER_TYPES = [
5031
+ { value: "aws_bedrock", label: "AWS Bedrock" },
5032
+ { value: "openai_api", label: "OpenAI API" },
5033
+ { value: "google_vertex", label: "Google Vertex AI" },
5034
+ { value: "azure_openai", label: "Azure OpenAI" },
5035
+ { value: "anthropic_api", label: "Anthropic API" },
5036
+ { value: "custom", label: "Custom" }
5037
+ ];
5038
+ var REGION_OPTIONS = {
5039
+ aws_bedrock: [
5040
+ { value: "us-east-1", label: "US East (N. Virginia)" },
5041
+ { value: "us-west-2", label: "US West (Oregon)" },
5042
+ { value: "eu-west-1", label: "Europe (Ireland)" },
5043
+ { value: "eu-central-1", label: "Europe (Frankfurt)" },
5044
+ { value: "ap-northeast-1", label: "Asia Pacific (Tokyo)" },
5045
+ { value: "ap-southeast-1", label: "Asia Pacific (Singapore)" },
5046
+ { value: "sa-east-1", label: "South America (S\xE3o Paulo)" }
5047
+ ],
5048
+ google_vertex: [
5049
+ { value: "us-central1", label: "US Central (Iowa)" },
5050
+ { value: "us-east4", label: "US East (Virginia)" },
5051
+ { value: "europe-west4", label: "Europe West (Netherlands)" },
5052
+ { value: "asia-northeast1", label: "Asia NE (Tokyo)" }
5053
+ ],
5054
+ azure_openai: [
5055
+ { value: "eastus", label: "East US" },
5056
+ { value: "westeurope", label: "West Europe" },
5057
+ { value: "swedencentral", label: "Sweden Central" },
5058
+ { value: "japaneast", label: "Japan East" }
5059
+ ]
5060
+ };
5061
+ function ModelProviderNodeConfigForm({ config, onSave, onCancel }) {
5062
+ const t = useTranslations("agents.workflow.modelProviderNodeConfig");
5063
+ const [providerType, setProviderType] = useState(config.providerType);
5064
+ const [name, setName] = useState(config.name ?? "");
5065
+ const [region, setRegion] = useState(config.region ?? "");
5066
+ const [endpoint, setEndpoint] = useState(config.endpoint ?? "");
5067
+ const [credentialRef, setCredentialRef] = useState(config.credentialRef ?? "");
5068
+ const [apiKeyRef, setApiKeyRef] = useState(config.apiKeyRef ?? "");
5069
+ const regions = REGION_OPTIONS[providerType] ?? [];
5070
+ const showRegion = regions.length > 0;
5071
+ const showEndpoint = providerType === "custom" || providerType === "azure_openai";
5072
+ const showApiKey = providerType === "openai_api" || providerType === "anthropic_api" || providerType === "custom";
5073
+ const showCredentialRef = providerType === "aws_bedrock" || providerType === "google_vertex";
5074
+ const handleSave = () => {
5075
+ onSave({
5076
+ ...config,
5077
+ providerType,
5078
+ name: name.trim() || void 0,
5079
+ region: region || void 0,
5080
+ endpoint: endpoint.trim() || void 0,
5081
+ credentialRef: credentialRef.trim() || void 0,
5082
+ apiKeyRef: apiKeyRef.trim() || void 0
5083
+ });
5084
+ };
5085
+ return /* @__PURE__ */ jsxs("div", { className: "space-y-4", children: [
5086
+ /* @__PURE__ */ jsx(
5087
+ FormInput,
5088
+ {
5089
+ type: "text",
5090
+ label: t("nameLabel"),
5091
+ value: name,
5092
+ onValueChange: setName,
5093
+ placeholder: t("namePlaceholder")
5094
+ }
5095
+ ),
5096
+ /* @__PURE__ */ jsx(
5097
+ FormSelect,
5098
+ {
5099
+ label: t("providerTypeLabel"),
5100
+ value: providerType,
5101
+ onValueChange: (value) => {
5102
+ setProviderType(value);
5103
+ setRegion("");
5104
+ },
5105
+ options: PROVIDER_TYPES.map((pt) => ({ value: pt.value, label: pt.label }))
5106
+ }
5107
+ ),
5108
+ showRegion && /* @__PURE__ */ jsx(
5109
+ FormSelect,
5110
+ {
5111
+ label: t("regionLabel"),
5112
+ value: region,
5113
+ onValueChange: setRegion,
5114
+ options: [{ value: "", label: t("selectRegion") }, ...regions]
5115
+ }
5116
+ ),
5117
+ showEndpoint && /* @__PURE__ */ jsx(
5118
+ FormInput,
5119
+ {
5120
+ type: "text",
5121
+ label: t("endpointLabel"),
5122
+ value: endpoint,
5123
+ onValueChange: setEndpoint,
5124
+ placeholder: t("endpointPlaceholder")
5125
+ }
5126
+ ),
5127
+ showApiKey && /* @__PURE__ */ jsx(
5128
+ FormInput,
5129
+ {
5130
+ type: "password",
5131
+ label: t("apiKeyLabel"),
5132
+ value: apiKeyRef,
5133
+ onValueChange: setApiKeyRef,
5134
+ placeholder: t("apiKeyPlaceholder")
5135
+ }
5136
+ ),
5137
+ showCredentialRef && /* @__PURE__ */ jsx(
5138
+ FormInput,
5139
+ {
5140
+ type: "text",
5141
+ label: t("credentialRefLabel"),
5142
+ value: credentialRef,
5143
+ onValueChange: setCredentialRef,
5144
+ placeholder: t("credentialRefPlaceholder")
5145
+ }
5146
+ ),
5147
+ /* @__PURE__ */ jsx(
5148
+ ConfigFormActions,
5149
+ {
5150
+ cancelLabel: t("cancel"),
5151
+ saveLabel: t("save"),
5152
+ onCancel,
5153
+ onSave: handleSave,
5154
+ saveDisabled: !providerType
5155
+ }
5156
+ )
5157
+ ] });
5158
+ }
4954
5159
  var NODE_TITLE_KEYS = {
4955
5160
  start: "startNodeConfig",
4956
5161
  end: "endNodeConfig",
@@ -4970,7 +5175,8 @@ var NODE_TITLE_KEYS = {
4970
5175
  iteration_start: "iterationStartNodeConfig",
4971
5176
  entity: "entityNodeConfig",
4972
5177
  datasource: "datasourceNodeConfig",
4973
- group: "groupNodeConfig"
5178
+ group: "groupNodeConfig",
5179
+ model_provider: "modelProviderNodeConfig"
4974
5180
  };
4975
5181
  function LogicNodeModal({ onSave, entities = [], datasources = [], onLoadTables, onLoadSchema }) {
4976
5182
  const t = useTranslations("agents.workflow");
@@ -5041,6 +5247,8 @@ function LogicNodeModal({ onSave, entities = [], datasources = [], onLoadTables,
5041
5247
  return /* @__PURE__ */ jsx(EntityNodeConfigForm, { config, entities, onSave: handleSave, onCancel: closeModal });
5042
5248
  case "group":
5043
5249
  return /* @__PURE__ */ jsx(GroupNodeConfigForm, { config, onSave: handleSave, onCancel: closeModal });
5250
+ case "model_provider":
5251
+ return /* @__PURE__ */ jsx(ModelProviderNodeConfigForm, { config, onSave: handleSave, onCancel: closeModal });
5044
5252
  default:
5045
5253
  return null;
5046
5254
  }
@@ -5411,6 +5619,7 @@ var BUILT_IN_NODE_TYPES = {
5411
5619
  iteration_start: IterationStartFlowNode,
5412
5620
  note: NoteFlowNode,
5413
5621
  datasource: DatasourceFlowNode,
5622
+ model_provider: ModelProviderFlowNode,
5414
5623
  group: GroupFlowNode
5415
5624
  };
5416
5625
  var ALL_LOGIC_NODE_TYPES = [
@@ -5436,6 +5645,7 @@ var ALL_LOGIC_NODE_TYPES = [
5436
5645
  "rule",
5437
5646
  "entity",
5438
5647
  "datasource",
5648
+ "model_provider",
5439
5649
  "group"
5440
5650
  ];
5441
5651
  function isLogicNodeType(nodeType) {
@@ -7095,6 +7305,6 @@ function Workspace({
7095
7305
  ) }) });
7096
7306
  }
7097
7307
 
7098
- export { AgentFlowNode, AgentToolFlowNode, AnswerFlowNode, AnthropicIcon, CATEGORY_COLORS, CATEGORY_PILL_COLORS, CodeFlowNode, CrewAIIcon, DocumentExtractorFlowNode, EndFlowNode, EntityFlowNode, FRAMEWORK_META, GoogleADKIcon, GroupFlowNode, HttpRequestFlowNode, ICON_MAP, IfElseFlowNode, IterationFlowNode, IterationStartFlowNode, KnowledgeBaseFlowNode, LOGIC_ICON_MAP, LOGIC_NODE_BADGE_COLORS, LOGIC_NODE_GRADIENTS, LOGIC_NODE_HANDLE_COLORS, LangChainIcon, ListOperatorFlowNode, LogicNodeModal, MINIMAP_NODE_COLORS, NodeCard, NodeContextMenu, NoteFlowNode, OpenAIIcon, PanelContextMenu, ParameterExtractorFlowNode, QuestionClassifierFlowNode, RuleFlowNode, SelectionContextMenu, StartFlowNode, StrandsIcon, TemplateTransformFlowNode, ToolFlowNode, VariableAggregatorFlowNode, VariableAssignerFlowNode, WorkflowBuilderProvider, WorkflowCanvas, Workspace, getCompatibleModels, getDefaultFrameworkForModel, getEntityBadgeColor, getEntityGradient, getEntityHandleColor, getEntityIcon, getEntityMinimapColor, getFrameworkMeta, isModelCompatibleWithFramework, useModalStore, useWorkflowBuilderClient, useWorkflowBuilderClientOptional, useWorkflowStore };
7099
- //# sourceMappingURL=chunk-OL7PEDJG.mjs.map
7100
- //# sourceMappingURL=chunk-OL7PEDJG.mjs.map
7308
+ export { AgentFlowNode, AgentToolFlowNode, AnswerFlowNode, AnthropicIcon, CATEGORY_COLORS, CATEGORY_PILL_COLORS, CodeFlowNode, CrewAIIcon, DocumentExtractorFlowNode, EndFlowNode, EntityFlowNode, FRAMEWORK_META, GoogleADKIcon, GroupFlowNode, HttpRequestFlowNode, ICON_MAP, IfElseFlowNode, IterationFlowNode, IterationStartFlowNode, KnowledgeBaseFlowNode, LOGIC_ICON_MAP, LOGIC_NODE_BADGE_COLORS, LOGIC_NODE_GRADIENTS, LOGIC_NODE_HANDLE_COLORS, LangChainIcon, ListOperatorFlowNode, LogicNodeModal, MINIMAP_NODE_COLORS, ModelProviderFlowNode, NodeCard, NodeContextMenu, NoteFlowNode, OpenAIIcon, PanelContextMenu, ParameterExtractorFlowNode, QuestionClassifierFlowNode, RuleFlowNode, SelectionContextMenu, StartFlowNode, StrandsIcon, TemplateTransformFlowNode, ToolFlowNode, VariableAggregatorFlowNode, VariableAssignerFlowNode, WorkflowBuilderProvider, WorkflowCanvas, Workspace, getCompatibleModels, getDefaultFrameworkForModel, getEntityBadgeColor, getEntityGradient, getEntityHandleColor, getEntityIcon, getEntityMinimapColor, getFrameworkMeta, isModelCompatibleWithFramework, useModalStore, useWorkflowBuilderClient, useWorkflowBuilderClientOptional, useWorkflowStore };
7309
+ //# sourceMappingURL=chunk-NTXIFTIQ.mjs.map
7310
+ //# sourceMappingURL=chunk-NTXIFTIQ.mjs.map