@datatechsolutions/ui 2.11.17 → 2.11.19

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.
@@ -2771,7 +2771,11 @@ var PROVIDER_LOGOS = {
2771
2771
  openai_api: "https://www.svgrepo.com/show/306500/openai.svg",
2772
2772
  google_vertex: SI("googlegemini", "8E75B2"),
2773
2773
  azure_openai: SI("microsoftazure", "0078D4"),
2774
- anthropic_api: SI("anthropic", "D4A27F")
2774
+ anthropic_api: SI("anthropic", "D4A27F"),
2775
+ groq: SI("groq", "000000"),
2776
+ mistral: SI("mistralai", "FF7000"),
2777
+ huggingface: SI("huggingface", "FFD21E"),
2778
+ ollama: SI("ollama", "FFFFFF")
2775
2779
  };
2776
2780
  var PROVIDER_TYPE_LABELS = {
2777
2781
  aws_bedrock: "AWS Bedrock",
@@ -2779,6 +2783,10 @@ var PROVIDER_TYPE_LABELS = {
2779
2783
  google_vertex: "Google Vertex AI",
2780
2784
  azure_openai: "Azure OpenAI",
2781
2785
  anthropic_api: "Anthropic API",
2786
+ groq: "Groq Cloud",
2787
+ mistral: "Mistral AI",
2788
+ huggingface: "Hugging Face",
2789
+ ollama: "Ollama (Local)",
2782
2790
  custom: "Custom"
2783
2791
  };
2784
2792
  var ModelProviderFlowNode = memo(function ModelProviderFlowNode2({ id, data, selected }) {
@@ -5042,7 +5050,11 @@ var PROVIDER_TYPES = [
5042
5050
  { value: "google_vertex", label: "Google Vertex AI" },
5043
5051
  { value: "azure_openai", label: "Azure OpenAI" },
5044
5052
  { value: "anthropic_api", label: "Anthropic API" },
5045
- { value: "custom", label: "Custom" }
5053
+ { value: "groq", label: "Groq Cloud" },
5054
+ { value: "mistral", label: "Mistral AI" },
5055
+ { value: "huggingface", label: "Hugging Face Inference" },
5056
+ { value: "ollama", label: "Ollama (Local)" },
5057
+ { value: "custom", label: "Custom OpenAI-compatible" }
5046
5058
  ];
5047
5059
  var REGION_OPTIONS = {
5048
5060
  aws_bedrock: [
@@ -5052,19 +5064,53 @@ var REGION_OPTIONS = {
5052
5064
  { value: "eu-central-1", label: "Europe (Frankfurt)" },
5053
5065
  { value: "ap-northeast-1", label: "Asia Pacific (Tokyo)" },
5054
5066
  { value: "ap-southeast-1", label: "Asia Pacific (Singapore)" },
5055
- { value: "sa-east-1", label: "South America (S\xE3o Paulo)" }
5067
+ { value: "ap-south-1", label: "Asia Pacific (Mumbai)" },
5068
+ { value: "sa-east-1", label: "South America (S\xE3o Paulo)" },
5069
+ { value: "ca-central-1", label: "Canada (Central)" }
5056
5070
  ],
5057
5071
  google_vertex: [
5058
5072
  { value: "us-central1", label: "US Central (Iowa)" },
5059
5073
  { value: "us-east4", label: "US East (Virginia)" },
5060
5074
  { value: "europe-west4", label: "Europe West (Netherlands)" },
5061
- { value: "asia-northeast1", label: "Asia NE (Tokyo)" }
5075
+ { value: "europe-west1", label: "Europe West (Belgium)" },
5076
+ { value: "asia-northeast1", label: "Asia NE (Tokyo)" },
5077
+ { value: "asia-southeast1", label: "Asia SE (Singapore)" },
5078
+ { value: "southamerica-east1", label: "South America (S\xE3o Paulo)" }
5062
5079
  ],
5063
5080
  azure_openai: [
5064
5081
  { value: "eastus", label: "East US" },
5082
+ { value: "eastus2", label: "East US 2" },
5065
5083
  { value: "westeurope", label: "West Europe" },
5066
5084
  { value: "swedencentral", label: "Sweden Central" },
5067
- { value: "japaneast", label: "Japan East" }
5085
+ { value: "japaneast", label: "Japan East" },
5086
+ { value: "australiaeast", label: "Australia East" },
5087
+ { value: "canadaeast", label: "Canada East" },
5088
+ { value: "uksouth", label: "UK South" }
5089
+ ]
5090
+ };
5091
+ var MODEL_FAMILIES = {
5092
+ aws_bedrock: [
5093
+ { id: "claude", label: "Anthropic Claude", models: ["anthropic.claude-haiku-4-5-v1:0", "anthropic.claude-sonnet-4-6-v1:0", "anthropic.claude-opus-4-6-v1:0"] },
5094
+ { id: "nova", label: "Amazon Nova", models: ["amazon.nova-lite-v1:0", "amazon.nova-pro-v1:0"] },
5095
+ { id: "llama", label: "Meta Llama", models: ["meta.llama3-3-70b-instruct-v1:0"] },
5096
+ { id: "mistral-bedrock", label: "Mistral AI", models: ["mistral.mistral-large-2411-v1:0"] }
5097
+ ],
5098
+ openai_api: [
5099
+ { id: "gpt5", label: "GPT-5 Family", models: ["openai.gpt-5-v1:0", "openai.gpt-5-mini-v1:0"] }
5100
+ ],
5101
+ google_vertex: [
5102
+ { id: "gemini", label: "Gemini Family", models: ["google.gemini-3-flash-v1:0", "google.gemini-3-1-pro-v1:0"] }
5103
+ ],
5104
+ anthropic_api: [
5105
+ { id: "claude-direct", label: "Claude Family", models: ["anthropic.claude-haiku-4-5-v1:0", "anthropic.claude-sonnet-4-6-v1:0", "anthropic.claude-opus-4-6-v1:0"] }
5106
+ ],
5107
+ groq: [
5108
+ { id: "groq-llama", label: "Llama (Groq)", models: ["meta.llama3-3-70b-instruct-v1:0"] },
5109
+ { id: "groq-mixtral", label: "Mixtral (Groq)", models: ["mistral.mixtral-8x7b-v1:0"] }
5110
+ ],
5111
+ mistral: [
5112
+ { id: "mistral-large", label: "Mistral Large", models: ["mistral.mistral-large-2411-v1:0"] },
5113
+ { id: "mistral-small", label: "Mistral Small", models: ["mistral.mistral-small-v1:0"] }
5068
5114
  ]
5069
5115
  };
5070
5116
  function ModelProviderNodeConfigForm({ config, onSave, onCancel }) {
@@ -5075,12 +5121,40 @@ function ModelProviderNodeConfigForm({ config, onSave, onCancel }) {
5075
5121
  const [endpoint, setEndpoint] = useState(config.endpoint ?? "");
5076
5122
  const [credentialRef, setCredentialRef] = useState(config.credentialRef ?? "");
5077
5123
  const [apiKeyRef, setApiKeyRef] = useState(config.apiKeyRef ?? "");
5124
+ const [selectedFamilies, setSelectedFamilies] = useState(() => {
5125
+ const families2 = MODEL_FAMILIES[config.providerType] ?? [];
5126
+ const filter = new Set(config.modelFilter ?? []);
5127
+ const selected = /* @__PURE__ */ new Set();
5128
+ for (const family of families2) {
5129
+ if (family.models.some((m) => filter.has(m)) || filter.size === 0) {
5130
+ selected.add(family.id);
5131
+ }
5132
+ }
5133
+ return selected;
5134
+ });
5078
5135
  const regions = REGION_OPTIONS[providerType] ?? [];
5136
+ const families = MODEL_FAMILIES[providerType] ?? [];
5079
5137
  const showRegion = regions.length > 0;
5080
- const showEndpoint = providerType === "custom" || providerType === "azure_openai";
5081
- const showApiKey = providerType === "openai_api" || providerType === "anthropic_api" || providerType === "custom";
5138
+ const showEndpoint = providerType === "custom" || providerType === "azure_openai" || providerType === "ollama";
5139
+ const showApiKey = ["openai_api", "anthropic_api", "groq", "mistral", "huggingface", "custom"].includes(providerType);
5082
5140
  const showCredentialRef = providerType === "aws_bedrock" || providerType === "google_vertex";
5141
+ const handleToggleFamily = (familyId) => {
5142
+ setSelectedFamilies((previous) => {
5143
+ const next = new Set(previous);
5144
+ if (next.has(familyId)) next.delete(familyId);
5145
+ else next.add(familyId);
5146
+ return next;
5147
+ });
5148
+ };
5149
+ const handleProviderChange = (value) => {
5150
+ const newType = value;
5151
+ setProviderType(newType);
5152
+ setRegion("");
5153
+ const newFamilies = MODEL_FAMILIES[newType] ?? [];
5154
+ setSelectedFamilies(new Set(newFamilies.map((f) => f.id)));
5155
+ };
5083
5156
  const handleSave = () => {
5157
+ const modelFilter = families.filter((f) => selectedFamilies.has(f.id)).flatMap((f) => f.models);
5084
5158
  onSave({
5085
5159
  ...config,
5086
5160
  providerType,
@@ -5088,7 +5162,8 @@ function ModelProviderNodeConfigForm({ config, onSave, onCancel }) {
5088
5162
  region: region || void 0,
5089
5163
  endpoint: endpoint.trim() || void 0,
5090
5164
  credentialRef: credentialRef.trim() || void 0,
5091
- apiKeyRef: apiKeyRef.trim() || void 0
5165
+ apiKeyRef: apiKeyRef.trim() || void 0,
5166
+ modelFilter
5092
5167
  });
5093
5168
  };
5094
5169
  return /* @__PURE__ */ jsxs("div", { className: "space-y-4", children: [
@@ -5107,10 +5182,7 @@ function ModelProviderNodeConfigForm({ config, onSave, onCancel }) {
5107
5182
  {
5108
5183
  label: t("providerTypeLabel"),
5109
5184
  value: providerType,
5110
- onValueChange: (value) => {
5111
- setProviderType(value);
5112
- setRegion("");
5113
- },
5185
+ onValueChange: handleProviderChange,
5114
5186
  options: PROVIDER_TYPES.map((pt) => ({ value: pt.value, label: pt.label }))
5115
5187
  }
5116
5188
  ),
@@ -5130,7 +5202,7 @@ function ModelProviderNodeConfigForm({ config, onSave, onCancel }) {
5130
5202
  label: t("endpointLabel"),
5131
5203
  value: endpoint,
5132
5204
  onValueChange: setEndpoint,
5133
- placeholder: t("endpointPlaceholder")
5205
+ placeholder: providerType === "ollama" ? "http://localhost:11434" : t("endpointPlaceholder")
5134
5206
  }
5135
5207
  ),
5136
5208
  showApiKey && /* @__PURE__ */ jsx(
@@ -5150,9 +5222,34 @@ function ModelProviderNodeConfigForm({ config, onSave, onCancel }) {
5150
5222
  label: t("credentialRefLabel"),
5151
5223
  value: credentialRef,
5152
5224
  onValueChange: setCredentialRef,
5153
- placeholder: t("credentialRefPlaceholder")
5225
+ placeholder: providerType === "aws_bedrock" ? "arn:aws:iam::role/bedrock-role" : t("credentialRefPlaceholder")
5154
5226
  }
5155
5227
  ),
5228
+ families.length > 0 && /* @__PURE__ */ jsxs("div", { children: [
5229
+ /* @__PURE__ */ jsx("label", { className: "mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300", children: t("modelFamiliesLabel") }),
5230
+ /* @__PURE__ */ jsx("div", { className: "space-y-1.5", children: families.map((family) => {
5231
+ const isSelected = selectedFamilies.has(family.id);
5232
+ return /* @__PURE__ */ jsxs(
5233
+ "button",
5234
+ {
5235
+ type: "button",
5236
+ onClick: () => handleToggleFamily(family.id),
5237
+ className: `flex w-full items-center gap-3 rounded-lg border px-3 py-2 text-left transition-all ${isSelected ? "border-indigo-500/30 bg-indigo-50/50 dark:border-indigo-400/20 dark:bg-indigo-500/5" : "border-gray-200/50 hover:border-gray-300 dark:border-white/10 dark:hover:border-white/20"}`,
5238
+ children: [
5239
+ /* @__PURE__ */ jsx("div", { className: `flex h-4 w-4 shrink-0 items-center justify-center rounded ${isSelected ? "bg-indigo-500 text-white" : "border border-gray-300 dark:border-gray-600"}`, children: isSelected && /* @__PURE__ */ jsx("svg", { className: "h-3 w-3", viewBox: "0 0 20 20", fill: "currentColor", children: /* @__PURE__ */ jsx("path", { fillRule: "evenodd", d: "M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z", clipRule: "evenodd" }) }) }),
5240
+ /* @__PURE__ */ jsxs("div", { className: "min-w-0 flex-1", children: [
5241
+ /* @__PURE__ */ jsx("span", { className: "text-xs font-medium text-gray-900 dark:text-white", children: family.label }),
5242
+ /* @__PURE__ */ jsxs("span", { className: "ml-2 text-[10px] text-gray-400 dark:text-gray-500", children: [
5243
+ family.models.length,
5244
+ " models"
5245
+ ] })
5246
+ ] })
5247
+ ]
5248
+ },
5249
+ family.id
5250
+ );
5251
+ }) })
5252
+ ] }),
5156
5253
  /* @__PURE__ */ jsx(
5157
5254
  ConfigFormActions,
5158
5255
  {
@@ -7315,5 +7412,5 @@ function Workspace({
7315
7412
  }
7316
7413
 
7317
7414
  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 };
7318
- //# sourceMappingURL=chunk-57OBMWRA.mjs.map
7319
- //# sourceMappingURL=chunk-57OBMWRA.mjs.map
7415
+ //# sourceMappingURL=chunk-LIYKHVLG.mjs.map
7416
+ //# sourceMappingURL=chunk-LIYKHVLG.mjs.map