@datatechsolutions/ui 2.11.10 → 2.11.12

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.
@@ -1073,6 +1073,32 @@ function PipelineSettingsModal({ onSave }) {
1073
1073
  }
1074
1074
  );
1075
1075
  }
1076
+ var SI = (slug, color) => `https://cdn.simpleicons.org/${slug}/${color}`;
1077
+ var DATASOURCE_LOGOS = {
1078
+ bigquery: "https://www.svgrepo.com/show/375546/bigquery.svg",
1079
+ postgres: "https://www.svgrepo.com/show/354200/postgresql.svg",
1080
+ snowflake: "https://www.svgrepo.com/show/354381/snowflake-icon.svg",
1081
+ mongodb: "https://www.svgrepo.com/show/373845/mongo.svg",
1082
+ redis: "https://www.svgrepo.com/show/354272/redis.svg",
1083
+ mysql: "https://www.svgrepo.com/show/373848/mysql.svg",
1084
+ clickhouse: SI("clickhouse", "FFCC01"),
1085
+ elasticsearch: "https://www.svgrepo.com/show/353735/elasticsearch.svg",
1086
+ duckdb: SI("duckdb", "FFF000")
1087
+ };
1088
+ function getDatasourceLogo(entityId) {
1089
+ const lower = entityId.toLowerCase();
1090
+ for (const [key, url] of Object.entries(DATASOURCE_LOGOS)) {
1091
+ if (lower.includes(key)) return url;
1092
+ }
1093
+ return null;
1094
+ }
1095
+ var PROVIDER_LOGOS = {
1096
+ anthropic: SI("anthropic", "D4A27F"),
1097
+ amazon: "https://www.svgrepo.com/show/448266/aws.svg",
1098
+ google: SI("googlegemini", "8E75B2"),
1099
+ openai: "https://www.svgrepo.com/show/306500/openai.svg",
1100
+ meta: SI("meta", "0668E1")
1101
+ };
1076
1102
  function onDragStart(event, nodeType, entityId, label, config) {
1077
1103
  event.dataTransfer.setData("nodeType", nodeType);
1078
1104
  event.dataTransfer.setData("entityId", entityId);
@@ -1413,6 +1439,7 @@ function NodePalette({ agents, tools, agentTools = [], rules, entities = [], mod
1413
1439
  outputVariable: `${entity.label.replace(/\s+/g, "")}Data`,
1414
1440
  limit: entity.defaultLimit
1415
1441
  });
1442
+ const dsLogo = getDatasourceLogo(entity.id);
1416
1443
  const EntityIcon = getEntityIcon(entity.id);
1417
1444
  const entityGradient = getEntityGradient(entity.id);
1418
1445
  return /* @__PURE__ */ jsxs(
@@ -1422,7 +1449,7 @@ function NodePalette({ agents, tools, agentTools = [], rules, entities = [], mod
1422
1449
  onDragStart: (event) => onDragStart(event, "entity", entity.id, entity.label, defaultConfig),
1423
1450
  className: "liquid-surface group flex items-center gap-2 rounded-lg px-3 py-2 transition-all cursor-grab hover:shadow-md active:cursor-grabbing",
1424
1451
  children: [
1425
- /* @__PURE__ */ jsx("div", { className: `flex h-6 w-6 items-center justify-center rounded-md bg-gradient-to-br ${entityGradient} shadow-sm`, children: /* @__PURE__ */ jsx(EntityIcon, { className: "h-3.5 w-3.5 text-white" }) }),
1452
+ dsLogo ? /* @__PURE__ */ jsx("div", { className: "flex h-6 w-6 shrink-0 items-center justify-center rounded-md bg-white/10 p-1", children: /* @__PURE__ */ jsx("img", { src: dsLogo, alt: "", className: "h-4 w-4 object-contain", loading: "lazy" }) }) : /* @__PURE__ */ jsx("div", { className: `flex h-6 w-6 items-center justify-center rounded-md bg-gradient-to-br ${entityGradient} shadow-sm`, children: /* @__PURE__ */ jsx(EntityIcon, { className: "h-3.5 w-3.5 text-white" }) }),
1426
1453
  /* @__PURE__ */ jsxs("div", { className: "min-w-0 flex-1", children: [
1427
1454
  /* @__PURE__ */ jsx("p", { className: "truncate text-xs font-medium text-gray-900 dark:text-white", children: entity.label }),
1428
1455
  /* @__PURE__ */ jsxs("p", { className: "truncate text-[10px] text-gray-400 dark:text-gray-500", children: [
@@ -1445,27 +1472,30 @@ function NodePalette({ agents, tools, agentTools = [], rules, entities = [], mod
1445
1472
  icon: /* @__PURE__ */ jsx(KeyIcon, { className: "h-3 w-3" }),
1446
1473
  colorClass: "text-rose-600 dark:text-rose-400",
1447
1474
  count: filteredProviders.length,
1448
- children: filteredProviders.map((provider) => /* @__PURE__ */ jsxs(
1449
- "div",
1450
- {
1451
- className: "liquid-surface group flex items-center gap-2 rounded-lg px-3 py-2 transition-all cursor-pointer hover:shadow-md",
1452
- onClick: () => onConfigureProvider?.(provider.id),
1453
- role: "button",
1454
- tabIndex: 0,
1455
- children: [
1456
- /* @__PURE__ */ jsx("div", { className: "flex h-6 w-6 items-center justify-center rounded-md bg-gradient-to-br from-rose-400 to-pink-500 shadow-sm", children: /* @__PURE__ */ jsx(KeyIcon, { className: "h-3.5 w-3.5 text-white" }) }),
1457
- /* @__PURE__ */ jsxs("div", { className: "min-w-0 flex-1", children: [
1458
- /* @__PURE__ */ jsx("p", { className: "truncate text-xs font-medium text-gray-900 dark:text-white", children: provider.name }),
1459
- /* @__PURE__ */ jsxs("p", { className: "truncate text-[10px] text-gray-400 dark:text-gray-500", children: [
1460
- provider.modelCount,
1461
- " models"
1462
- ] })
1463
- ] }),
1464
- provider.configured ? /* @__PURE__ */ jsx("span", { className: "rounded-full bg-green-100 px-1.5 py-0.5 text-[9px] font-medium text-green-600 dark:bg-green-500/10 dark:text-green-400", children: t("configured") }) : /* @__PURE__ */ jsx("span", { className: "rounded-full bg-amber-100 px-1.5 py-0.5 text-[9px] font-medium text-amber-600 dark:bg-amber-500/10 dark:text-amber-400", children: t("setup") })
1465
- ]
1466
- },
1467
- provider.id
1468
- ))
1475
+ children: filteredProviders.map((provider) => {
1476
+ const providerLogo = PROVIDER_LOGOS[provider.provider];
1477
+ return /* @__PURE__ */ jsxs(
1478
+ "div",
1479
+ {
1480
+ className: "liquid-surface group flex items-center gap-2 rounded-lg px-3 py-2 transition-all cursor-pointer hover:shadow-md",
1481
+ onClick: () => onConfigureProvider?.(provider.id),
1482
+ role: "button",
1483
+ tabIndex: 0,
1484
+ children: [
1485
+ providerLogo ? /* @__PURE__ */ jsx("div", { className: "flex h-6 w-6 shrink-0 items-center justify-center rounded-md bg-white/10 p-1", children: /* @__PURE__ */ jsx("img", { src: providerLogo, alt: "", className: "h-4 w-4 object-contain", loading: "lazy" }) }) : /* @__PURE__ */ jsx("div", { className: "flex h-6 w-6 items-center justify-center rounded-md bg-gradient-to-br from-rose-400 to-pink-500 shadow-sm", children: /* @__PURE__ */ jsx(KeyIcon, { className: "h-3.5 w-3.5 text-white" }) }),
1486
+ /* @__PURE__ */ jsxs("div", { className: "min-w-0 flex-1", children: [
1487
+ /* @__PURE__ */ jsx("p", { className: "truncate text-xs font-medium text-gray-900 dark:text-white", children: provider.name }),
1488
+ /* @__PURE__ */ jsxs("p", { className: "truncate text-[10px] text-gray-400 dark:text-gray-500", children: [
1489
+ provider.modelCount,
1490
+ " models"
1491
+ ] })
1492
+ ] }),
1493
+ provider.configured ? /* @__PURE__ */ jsx("span", { className: "rounded-full bg-green-100 px-1.5 py-0.5 text-[9px] font-medium text-green-600 dark:bg-green-500/10 dark:text-green-400", children: t("configured") }) : /* @__PURE__ */ jsx("span", { className: "rounded-full bg-amber-100 px-1.5 py-0.5 text-[9px] font-medium text-amber-600 dark:bg-amber-500/10 dark:text-amber-400", children: t("setup") })
1494
+ ]
1495
+ },
1496
+ provider.id
1497
+ );
1498
+ })
1469
1499
  }
1470
1500
  ),
1471
1501
  /* @__PURE__ */ jsxs(