@datatechsolutions/ui 2.11.12 → 2.11.14
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.
- package/dist/astrlabe/index.d.mts +7 -3
- package/dist/astrlabe/index.d.ts +7 -3
- package/dist/astrlabe/index.js +153 -103
- package/dist/astrlabe/index.js.map +1 -1
- package/dist/astrlabe/index.mjs +55 -5
- package/dist/astrlabe/index.mjs.map +1 -1
- package/dist/astrlabe/workflow-canvas.d.mts +1 -1
- package/dist/astrlabe/workflow-canvas.d.ts +1 -1
- package/dist/astrlabe/workflow-canvas.js +2 -2
- package/dist/astrlabe/workflow-canvas.mjs +1 -1
- package/dist/{chunk-LFWRE3A3.js → chunk-JT2JCLN5.js} +20 -7
- package/dist/chunk-JT2JCLN5.js.map +1 -0
- package/dist/{chunk-VWKBMTTC.mjs → chunk-OL7PEDJG.mjs} +20 -7
- package/dist/chunk-OL7PEDJG.mjs.map +1 -0
- package/dist/{workflow-canvas-DSm0iyof.d.ts → workflow-canvas-BUpiBzxZ.d.ts} +11 -1
- package/dist/{workflow-canvas-CJwGehdk.d.mts → workflow-canvas-CooSZh-g.d.mts} +11 -1
- package/package.json +1 -1
- package/dist/chunk-LFWRE3A3.js.map +0 -1
- package/dist/chunk-VWKBMTTC.mjs.map +0 -1
package/dist/astrlabe/index.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
require('../chunk-55H6WZQP.js');
|
|
5
5
|
var chunk3GE3MBUZ_js = require('../chunk-3GE3MBUZ.js');
|
|
6
|
-
var
|
|
6
|
+
var chunkJT2JCLN5_js = require('../chunk-JT2JCLN5.js');
|
|
7
7
|
var chunk4XID6LOC_js = require('../chunk-4XID6LOC.js');
|
|
8
8
|
require('../chunk-S7KHTUHA.js');
|
|
9
9
|
require('../chunk-UZ3CMNUJ.js');
|
|
@@ -83,7 +83,7 @@ function OutputCard({ label, value }) {
|
|
|
83
83
|
function AgentProfileHeader({ agent, models, t, selectedModelId, setSelectedModelId, selectedFramework, temperature, setTemperature, elo, setElo, onChanged }) {
|
|
84
84
|
const modelName = models.find((model) => model.id === selectedModelId)?.name ?? selectedModelId ?? "\u2014";
|
|
85
85
|
const avatarUrl = agent.avatar;
|
|
86
|
-
const frameworkMeta =
|
|
86
|
+
const frameworkMeta = chunkJT2JCLN5_js.getFrameworkMeta(selectedFramework);
|
|
87
87
|
const tierInfo = getEloTier(elo);
|
|
88
88
|
const difficultyConfig = {
|
|
89
89
|
beginner: { color: "bg-cyan-100 text-cyan-700 dark:bg-cyan-900/30 dark:text-cyan-400", labelKey: "agentDrawer.tierBeginner" },
|
|
@@ -375,12 +375,12 @@ function ConfigTab({ agent, models, t, selectedModelId, setSelectedModelId, sele
|
|
|
375
375
|
const isPrecise = temperature <= 0.3;
|
|
376
376
|
const isBalanced = temperature > 0.3 && temperature <= 0.7;
|
|
377
377
|
const isCreative = temperature > 0.7;
|
|
378
|
-
const frameworkKeys = Object.keys(
|
|
379
|
-
const compatibleModels =
|
|
378
|
+
const frameworkKeys = Object.keys(chunkJT2JCLN5_js.FRAMEWORK_META);
|
|
379
|
+
const compatibleModels = chunkJT2JCLN5_js.getCompatibleModels(models, selectedFramework);
|
|
380
380
|
const handleFrameworkChange = react.useCallback((newFramework) => {
|
|
381
381
|
setSelectedFramework(newFramework);
|
|
382
|
-
if (!
|
|
383
|
-
const compatible =
|
|
382
|
+
if (!chunkJT2JCLN5_js.isModelCompatibleWithFramework(selectedModelId, newFramework)) {
|
|
383
|
+
const compatible = chunkJT2JCLN5_js.getCompatibleModels(models, newFramework);
|
|
384
384
|
if (compatible.length > 0) {
|
|
385
385
|
setSelectedModelId(compatible[0].id);
|
|
386
386
|
}
|
|
@@ -391,9 +391,9 @@ function ConfigTab({ agent, models, t, selectedModelId, setSelectedModelId, sele
|
|
|
391
391
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
392
392
|
/* @__PURE__ */ jsxRuntime.jsx("label", { className: "mb-2 block text-xs font-medium text-gray-500 dark:text-gray-400", children: t("agentDrawer.framework") }),
|
|
393
393
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-wrap gap-1.5", children: frameworkKeys.map((key) => {
|
|
394
|
-
const meta =
|
|
394
|
+
const meta = chunkJT2JCLN5_js.FRAMEWORK_META[key];
|
|
395
395
|
const isSelected = key === selectedFramework;
|
|
396
|
-
const compatCount =
|
|
396
|
+
const compatCount = chunkJT2JCLN5_js.getCompatibleModels(models, key).length;
|
|
397
397
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
398
398
|
"button",
|
|
399
399
|
{
|
|
@@ -423,7 +423,7 @@ function ConfigTab({ agent, models, t, selectedModelId, setSelectedModelId, sele
|
|
|
423
423
|
] }),
|
|
424
424
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-2 gap-2", children: models.map((model) => {
|
|
425
425
|
const isSelected = model.id === selectedModelId;
|
|
426
|
-
const isCompatible =
|
|
426
|
+
const isCompatible = chunkJT2JCLN5_js.isModelCompatibleWithFramework(model.id, selectedFramework);
|
|
427
427
|
const { IconComponent, color, providerLabel } = getModelIcon(model.id);
|
|
428
428
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
429
429
|
"button",
|
|
@@ -520,7 +520,7 @@ function ConfigTab({ agent, models, t, selectedModelId, setSelectedModelId, sele
|
|
|
520
520
|
] });
|
|
521
521
|
}
|
|
522
522
|
function ResultsTab({ agentId, t }) {
|
|
523
|
-
const nodeResults =
|
|
523
|
+
const nodeResults = chunkJT2JCLN5_js.useWorkflowStore((state) => state.nodeResults);
|
|
524
524
|
const agentResult = react.useMemo(() => {
|
|
525
525
|
return nodeResults[agentId] ?? null;
|
|
526
526
|
}, [nodeResults, agentId]);
|
|
@@ -547,14 +547,46 @@ function ResultsTab({ agentId, t }) {
|
|
|
547
547
|
] })
|
|
548
548
|
] });
|
|
549
549
|
}
|
|
550
|
+
function ToolsTab({ agentTools, enabledToolIds, onToggle, t }) {
|
|
551
|
+
if (agentTools.length === 0) {
|
|
552
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center justify-center px-4 py-12 text-center", children: [
|
|
553
|
+
/* @__PURE__ */ jsxRuntime.jsx(outline.CommandLineIcon, { className: "mb-2 h-8 w-8 text-gray-400 dark:text-gray-500" }),
|
|
554
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-gray-500 dark:text-gray-400", children: t("agentDrawer.noToolsAvailable") })
|
|
555
|
+
] });
|
|
556
|
+
}
|
|
557
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2 p-4", children: [
|
|
558
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-3 text-xs text-gray-500 dark:text-gray-400", children: t("agentDrawer.toolsDescription") }),
|
|
559
|
+
agentTools.map((tool) => {
|
|
560
|
+
const isEnabled = enabledToolIds.has(tool.agentToolId);
|
|
561
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
562
|
+
"button",
|
|
563
|
+
{
|
|
564
|
+
type: "button",
|
|
565
|
+
onClick: () => onToggle(tool.agentToolId),
|
|
566
|
+
className: `flex w-full items-center gap-3 rounded-xl border px-4 py-3 text-left transition-all ${isEnabled ? "border-amber-500/30 bg-amber-50/50 dark:border-amber-400/20 dark:bg-amber-500/5" : "border-gray-200/50 bg-gray-50/30 hover:border-gray-300 dark:border-white/10 dark:bg-white/[0.02] dark:hover:border-white/20"}`,
|
|
567
|
+
children: [
|
|
568
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: `flex h-8 w-8 shrink-0 items-center justify-center rounded-lg ${isEnabled ? "bg-gradient-to-br from-amber-400 to-orange-500" : "bg-gray-200 dark:bg-gray-700"}`, children: /* @__PURE__ */ jsxRuntime.jsx(outline.CommandLineIcon, { className: `h-4 w-4 ${isEnabled ? "text-white" : "text-gray-500 dark:text-gray-400"}` }) }),
|
|
569
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0 flex-1", children: [
|
|
570
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: `text-sm font-medium ${isEnabled ? "text-gray-900 dark:text-white" : "text-gray-600 dark:text-gray-400"}`, children: tool.name }),
|
|
571
|
+
tool.description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "truncate text-[10px] text-gray-400 dark:text-gray-500", children: tool.description })
|
|
572
|
+
] }),
|
|
573
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: `flex h-5 w-5 shrink-0 items-center justify-center rounded-full transition-all ${isEnabled ? "bg-amber-500 text-white" : "border border-gray-300 dark:border-gray-600"}`, children: isEnabled && /* @__PURE__ */ jsxRuntime.jsx(outline.CheckIcon, { className: "h-3 w-3" }) })
|
|
574
|
+
]
|
|
575
|
+
},
|
|
576
|
+
tool.agentToolId
|
|
577
|
+
);
|
|
578
|
+
})
|
|
579
|
+
] });
|
|
580
|
+
}
|
|
550
581
|
function AgentModal({ onSaved }) {
|
|
551
582
|
const t = chunkYXN2K77G_js.useTranslations("agents.workflow");
|
|
552
|
-
const activeModal =
|
|
553
|
-
const agentData =
|
|
554
|
-
const closeModal =
|
|
583
|
+
const activeModal = chunkJT2JCLN5_js.useModalStore((s) => s.activeModal);
|
|
584
|
+
const agentData = chunkJT2JCLN5_js.useModalStore((s) => s.agentData);
|
|
585
|
+
const closeModal = chunkJT2JCLN5_js.useModalStore((s) => s.closeModal);
|
|
555
586
|
const open = activeModal === "agent";
|
|
556
587
|
const agent = agentData?.agent ?? null;
|
|
557
588
|
const models = agentData?.models ?? [];
|
|
589
|
+
const availableAgentTools = agentData?.agentTools ?? [];
|
|
558
590
|
const isCreateMode = agentData?.isCreateMode ?? false;
|
|
559
591
|
const [activeTab, setActiveTab] = react.useState("config");
|
|
560
592
|
const [selectedModelId, setSelectedModelId] = react.useState("");
|
|
@@ -562,6 +594,7 @@ function AgentModal({ onSaved }) {
|
|
|
562
594
|
const [temperature, setTemperature] = react.useState(0.7);
|
|
563
595
|
const [elo, setElo] = react.useState(1e3);
|
|
564
596
|
const [saved, setSaved] = react.useState(true);
|
|
597
|
+
const [enabledToolIds, setEnabledToolIds] = react.useState(/* @__PURE__ */ new Set());
|
|
565
598
|
const agentId = agent?.agentId ?? agent?.id ?? "";
|
|
566
599
|
react.useEffect(() => {
|
|
567
600
|
if (!agent) return;
|
|
@@ -571,6 +604,8 @@ function AgentModal({ onSaved }) {
|
|
|
571
604
|
setElo(Number(agent.elo ?? 1e3));
|
|
572
605
|
setSaved(!isCreateMode);
|
|
573
606
|
setActiveTab("config");
|
|
607
|
+
const agentToolIds = agent.agentToolIds;
|
|
608
|
+
setEnabledToolIds(new Set(agentToolIds ?? availableAgentTools.filter((t2) => t2.enabled).map((t2) => t2.agentToolId)));
|
|
574
609
|
}, [agentId]);
|
|
575
610
|
const dirty = !saved;
|
|
576
611
|
const markDirty = react.useCallback(() => setSaved(false), []);
|
|
@@ -578,18 +613,31 @@ function AgentModal({ onSaved }) {
|
|
|
578
613
|
const handleClose = react.useCallback(() => {
|
|
579
614
|
closeModal();
|
|
580
615
|
}, [closeModal]);
|
|
616
|
+
const handleToggleTool = react.useCallback((toolId) => {
|
|
617
|
+
setEnabledToolIds((previous) => {
|
|
618
|
+
const next = new Set(previous);
|
|
619
|
+
if (next.has(toolId)) next.delete(toolId);
|
|
620
|
+
else next.add(toolId);
|
|
621
|
+
return next;
|
|
622
|
+
});
|
|
623
|
+
markDirty();
|
|
624
|
+
}, [markDirty]);
|
|
581
625
|
const handleMarkSaved = react.useCallback(() => {
|
|
582
626
|
markSaved();
|
|
583
627
|
onSaved?.();
|
|
584
628
|
}, [markSaved, onSaved]);
|
|
585
629
|
if (!agent) return null;
|
|
586
|
-
const
|
|
630
|
+
const tabList = ["config", "tools", "results"];
|
|
631
|
+
const tabs = /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex border-b border-white/20 dark:border-white/10", children: tabList.map((tab) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
587
632
|
"button",
|
|
588
633
|
{
|
|
589
634
|
type: "button",
|
|
590
635
|
onClick: () => setActiveTab(tab),
|
|
591
636
|
className: `flex-1 px-4 py-2 text-xs font-medium transition-colors ${activeTab === tab ? "border-b-2 border-blue-500 text-blue-600 dark:text-blue-400" : "text-gray-500 hover:text-gray-700 dark:text-gray-400 dark:hover:text-gray-200"}`,
|
|
592
|
-
children:
|
|
637
|
+
children: [
|
|
638
|
+
t(tab === "config" ? "agentDrawer.configTab" : tab === "tools" ? "agentDrawer.toolsTab" : "agentDrawer.resultsTab"),
|
|
639
|
+
tab === "tools" && enabledToolIds.size > 0 && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-1 inline-flex h-4 min-w-4 items-center justify-center rounded-full bg-amber-500/20 px-1 text-[9px] font-bold text-amber-600 dark:text-amber-400", children: enabledToolIds.size })
|
|
640
|
+
]
|
|
593
641
|
},
|
|
594
642
|
tab
|
|
595
643
|
)) });
|
|
@@ -633,7 +681,9 @@ function AgentModal({ onSaved }) {
|
|
|
633
681
|
closeLabel: t("agentDrawer.close"),
|
|
634
682
|
children: [
|
|
635
683
|
/* @__PURE__ */ jsxRuntime.jsx(AgentProfileHeader, { agent, models, t, selectedModelId, setSelectedModelId, selectedFramework, temperature, setTemperature, elo, setElo, onChanged: markDirty }),
|
|
636
|
-
activeTab === "config"
|
|
684
|
+
activeTab === "config" && /* @__PURE__ */ jsxRuntime.jsx(ConfigTab, { agent, models, t, selectedModelId, setSelectedModelId, selectedFramework, setSelectedFramework: (fw) => setSelectedFramework(fw), temperature, setTemperature, dirty, markDirty, markSaved: handleMarkSaved }),
|
|
685
|
+
activeTab === "tools" && /* @__PURE__ */ jsxRuntime.jsx(ToolsTab, { agentTools: availableAgentTools, enabledToolIds, onToggle: handleToggleTool, t }),
|
|
686
|
+
activeTab === "results" && /* @__PURE__ */ jsxRuntime.jsx(ResultsTab, { agentId: agent.agentId, t })
|
|
637
687
|
]
|
|
638
688
|
}
|
|
639
689
|
);
|
|
@@ -743,7 +793,7 @@ function SubworkflowModal({ onSaved, onMaximize }) {
|
|
|
743
793
|
const markDirty = useSubworkflowStore((s) => s.markDirty);
|
|
744
794
|
const markSaved = useSubworkflowStore((s) => s.markSaved);
|
|
745
795
|
const closeModal = useSubworkflowStore((s) => s.closeModal);
|
|
746
|
-
const agentBehind =
|
|
796
|
+
const agentBehind = chunkJT2JCLN5_js.useModalStore((s) => s.activeModal === "agent" ? s.agentData?.agent?.name : null);
|
|
747
797
|
const isCreateMode = !tool?.toolId;
|
|
748
798
|
const initialGraph = react.useMemo(() => {
|
|
749
799
|
const config = tool?.config;
|
|
@@ -772,9 +822,9 @@ function SubworkflowModal({ onSaved, onMaximize }) {
|
|
|
772
822
|
}, [tool, onSaved, name, category, description, timeoutMs, latestGraphRef, markSaved]);
|
|
773
823
|
if (!tool) return null;
|
|
774
824
|
const categoryKey = category ?? "external";
|
|
775
|
-
const gradient = tool.color ??
|
|
776
|
-
const categoryPill =
|
|
777
|
-
const IconComponent =
|
|
825
|
+
const gradient = tool.color ?? chunkJT2JCLN5_js.CATEGORY_COLORS[categoryKey] ?? chunkJT2JCLN5_js.CATEGORY_COLORS.external;
|
|
826
|
+
const categoryPill = chunkJT2JCLN5_js.CATEGORY_PILL_COLORS[categoryKey] ?? chunkJT2JCLN5_js.CATEGORY_PILL_COLORS.external;
|
|
827
|
+
const IconComponent = chunkJT2JCLN5_js.ICON_MAP[tool.icon ?? ""] ?? outline.ArrowPathRoundedSquareIcon;
|
|
778
828
|
const graph = latestGraphRef.current;
|
|
779
829
|
const startNode = graph.nodes.find((n) => n.type === "start");
|
|
780
830
|
const endNode = graph.nodes.find((n) => n.type === "end");
|
|
@@ -839,7 +889,7 @@ function SubworkflowModal({ onSaved, onMaximize }) {
|
|
|
839
889
|
{
|
|
840
890
|
type: "button",
|
|
841
891
|
onClick: () => setCategory(cat),
|
|
842
|
-
className: `rounded-full px-2 py-1 text-[9px] font-semibold transition-all ${cat === category ? `${
|
|
892
|
+
className: `rounded-full px-2 py-1 text-[9px] font-semibold transition-all ${cat === category ? `${chunkJT2JCLN5_js.CATEGORY_PILL_COLORS[cat] ?? chunkJT2JCLN5_js.CATEGORY_PILL_COLORS.external} ring-1 ring-current/20` : "bg-white/30 text-gray-500 hover:bg-white/50 dark:bg-white/5 dark:text-gray-400"}`,
|
|
843
893
|
children: cat
|
|
844
894
|
},
|
|
845
895
|
cat
|
|
@@ -926,7 +976,7 @@ function SubworkflowModal({ onSaved, onMaximize }) {
|
|
|
926
976
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-auto" })
|
|
927
977
|
] }),
|
|
928
978
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-1", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
929
|
-
|
|
979
|
+
chunkJT2JCLN5_js.WorkflowCanvas,
|
|
930
980
|
{
|
|
931
981
|
initialGraph,
|
|
932
982
|
agents: [],
|
|
@@ -984,9 +1034,9 @@ function WorkspaceModal({
|
|
|
984
1034
|
}
|
|
985
1035
|
function PipelineSettingsModal({ onSave }) {
|
|
986
1036
|
const t = chunkYXN2K77G_js.useTranslations("agents.workflow");
|
|
987
|
-
const activeModal =
|
|
988
|
-
const data =
|
|
989
|
-
const closeModal =
|
|
1037
|
+
const activeModal = chunkJT2JCLN5_js.useModalStore((s) => s.activeModal);
|
|
1038
|
+
const data = chunkJT2JCLN5_js.useModalStore((s) => s.pipelineSettingsData);
|
|
1039
|
+
const closeModal = chunkJT2JCLN5_js.useModalStore((s) => s.closeModal);
|
|
990
1040
|
const open = activeModal === "pipeline-settings";
|
|
991
1041
|
const [nameValue, setNameValue] = react.useState("");
|
|
992
1042
|
const [descriptionValue, setDescriptionValue] = react.useState("");
|
|
@@ -1195,8 +1245,8 @@ function CollapsibleSection({ title, icon, colorClass, defaultOpen = true, count
|
|
|
1195
1245
|
] });
|
|
1196
1246
|
}
|
|
1197
1247
|
function LogicNodeItemCard({ item, translationFunction }) {
|
|
1198
|
-
const IconComponent =
|
|
1199
|
-
const gradient =
|
|
1248
|
+
const IconComponent = chunkJT2JCLN5_js.LOGIC_ICON_MAP[item.nodeType];
|
|
1249
|
+
const gradient = chunkJT2JCLN5_js.LOGIC_NODE_GRADIENTS[item.nodeType] ?? "from-gray-400 to-gray-500";
|
|
1200
1250
|
const defaultConfig = chunkPWBWP5FJ_js.createDefaultLogicNodeConfig(item.nodeType);
|
|
1201
1251
|
const configJson = defaultConfig ? JSON.stringify(defaultConfig) : void 0;
|
|
1202
1252
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -1440,8 +1490,8 @@ function NodePalette({ agents, tools, agentTools = [], rules, entities = [], mod
|
|
|
1440
1490
|
limit: entity.defaultLimit
|
|
1441
1491
|
});
|
|
1442
1492
|
const dsLogo = getDatasourceLogo(entity.id);
|
|
1443
|
-
const EntityIcon =
|
|
1444
|
-
const entityGradient =
|
|
1493
|
+
const EntityIcon = chunkJT2JCLN5_js.getEntityIcon(entity.id);
|
|
1494
|
+
const entityGradient = chunkJT2JCLN5_js.getEntityGradient(entity.id);
|
|
1445
1495
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1446
1496
|
"div",
|
|
1447
1497
|
{
|
|
@@ -1813,9 +1863,9 @@ function formatDuration2(durationMs) {
|
|
|
1813
1863
|
}
|
|
1814
1864
|
function RunPanel({ open, onClose, onRun, onStop }) {
|
|
1815
1865
|
const translations = chunkYXN2K77G_js.useTranslations("agents.workflow.runPanel");
|
|
1816
|
-
const nodes =
|
|
1817
|
-
const isRunning =
|
|
1818
|
-
const nodeResults =
|
|
1866
|
+
const nodes = chunkJT2JCLN5_js.useWorkflowStore((state) => state.nodes);
|
|
1867
|
+
const isRunning = chunkJT2JCLN5_js.useWorkflowStore((state) => state.isRunning);
|
|
1868
|
+
const nodeResults = chunkJT2JCLN5_js.useWorkflowStore((state) => state.nodeResults);
|
|
1819
1869
|
const startNode = nodes.find((node) => node.type === "start");
|
|
1820
1870
|
const hasEndNode = nodes.some((node) => node.type === "end");
|
|
1821
1871
|
const hasValidStartConfig = Boolean(
|
|
@@ -2100,8 +2150,8 @@ function inferVariables(config, nodeType) {
|
|
|
2100
2150
|
}
|
|
2101
2151
|
function VariableInspector({ open, onClose }) {
|
|
2102
2152
|
const translations = chunkYXN2K77G_js.useTranslations("agents.workflow.variableInspector");
|
|
2103
|
-
const nodes =
|
|
2104
|
-
const edges =
|
|
2153
|
+
const nodes = chunkJT2JCLN5_js.useWorkflowStore((state) => state.nodes);
|
|
2154
|
+
const edges = chunkJT2JCLN5_js.useWorkflowStore((state) => state.edges);
|
|
2105
2155
|
const [expandedNodes, setExpandedNodes] = react.useState(/* @__PURE__ */ new Set());
|
|
2106
2156
|
const toggleNodeExpansion = react.useCallback((nodeId) => {
|
|
2107
2157
|
setExpandedNodes((current) => {
|
|
@@ -2163,8 +2213,8 @@ function VariableInspector({ open, onClose }) {
|
|
|
2163
2213
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-2 text-sm text-gray-500 dark:text-gray-400", children: translations("noNodes") })
|
|
2164
2214
|
] }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "divide-y divide-gray-100 dark:divide-gray-800", children: nodeVariableEntries.map((entry) => {
|
|
2165
2215
|
const isExpanded = expandedNodes.has(entry.nodeId);
|
|
2166
|
-
const IconComponent =
|
|
2167
|
-
const gradient =
|
|
2216
|
+
const IconComponent = chunkJT2JCLN5_js.LOGIC_ICON_MAP[entry.nodeType];
|
|
2217
|
+
const gradient = chunkJT2JCLN5_js.LOGIC_NODE_GRADIENTS[entry.nodeType] ?? "from-gray-400 to-gray-500";
|
|
2168
2218
|
const inputVariables = entry.variables.filter((variable) => variable.direction === "input");
|
|
2169
2219
|
const outputVariables = entry.variables.filter((variable) => variable.direction === "output");
|
|
2170
2220
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { "data-testid": `variable-node-${entry.nodeId}`, children: [
|
|
@@ -2230,7 +2280,7 @@ function RunInputDialog({
|
|
|
2230
2280
|
onRun
|
|
2231
2281
|
}) {
|
|
2232
2282
|
const t = chunkYXN2K77G_js.useTranslations("agents.workflow.runInputDialog");
|
|
2233
|
-
const nodes =
|
|
2283
|
+
const nodes = chunkJT2JCLN5_js.useWorkflowStore((state) => state.nodes);
|
|
2234
2284
|
const [values, setValues] = react.useState({});
|
|
2235
2285
|
const inputVariableNames = react.useMemo(() => {
|
|
2236
2286
|
const storeStartNode = nodes.find((node) => node.type === "start");
|
|
@@ -2312,8 +2362,8 @@ function PreviewPanel({ open, onClose, workflowId, loadRuns }) {
|
|
|
2312
2362
|
const [isLoadingRuns, setIsLoadingRuns] = react.useState(false);
|
|
2313
2363
|
const [selectedRun, setSelectedRun] = react.useState(null);
|
|
2314
2364
|
const [selectedNode, setSelectedNode] = react.useState(null);
|
|
2315
|
-
const isRunning =
|
|
2316
|
-
const nodeResults =
|
|
2365
|
+
const isRunning = chunkJT2JCLN5_js.useWorkflowStore((state) => state.isRunning);
|
|
2366
|
+
const nodeResults = chunkJT2JCLN5_js.useWorkflowStore((state) => state.nodeResults);
|
|
2317
2367
|
const refreshRuns = react.useCallback(async () => {
|
|
2318
2368
|
setIsLoadingRuns(true);
|
|
2319
2369
|
try {
|
|
@@ -2469,7 +2519,7 @@ var AutoSaveWorkspace = react.memo(function AutoSaveWorkspace2({
|
|
|
2469
2519
|
onAutoSaveGraph(graph);
|
|
2470
2520
|
}, [onAutoSaveGraph, onGraphSnapshot]);
|
|
2471
2521
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2472
|
-
|
|
2522
|
+
chunkJT2JCLN5_js.Workspace,
|
|
2473
2523
|
{
|
|
2474
2524
|
...workspaceProps,
|
|
2475
2525
|
onGraphChange: handleGraphChange
|
|
@@ -2842,14 +2892,14 @@ function DslImportModal({ open, onClose, onImport }) {
|
|
|
2842
2892
|
}
|
|
2843
2893
|
|
|
2844
2894
|
// src/astrlabe/store/selectors.ts
|
|
2845
|
-
var useCanUndo = () =>
|
|
2846
|
-
var useCanRedo = () =>
|
|
2847
|
-
var useHasCopied = () =>
|
|
2848
|
-
var useContextMenu = () =>
|
|
2849
|
-
var useEditingNodeId = () =>
|
|
2850
|
-
var useSelectedNodeCount = () =>
|
|
2851
|
-
var useIsRunning = () =>
|
|
2852
|
-
var useNodeResults = () =>
|
|
2895
|
+
var useCanUndo = () => chunkJT2JCLN5_js.useWorkflowStore((state) => state.past.length > 0);
|
|
2896
|
+
var useCanRedo = () => chunkJT2JCLN5_js.useWorkflowStore((state) => state.future.length > 0);
|
|
2897
|
+
var useHasCopied = () => chunkJT2JCLN5_js.useWorkflowStore((state) => state.clipboard !== null);
|
|
2898
|
+
var useContextMenu = () => chunkJT2JCLN5_js.useWorkflowStore((state) => state.contextMenu);
|
|
2899
|
+
var useEditingNodeId = () => chunkJT2JCLN5_js.useWorkflowStore((state) => state.editingNodeId);
|
|
2900
|
+
var useSelectedNodeCount = () => chunkJT2JCLN5_js.useWorkflowStore((state) => state.nodes.filter((node) => node.selected).length);
|
|
2901
|
+
var useIsRunning = () => chunkJT2JCLN5_js.useWorkflowStore((state) => state.isRunning);
|
|
2902
|
+
var useNodeResults = () => chunkJT2JCLN5_js.useWorkflowStore((state) => state.nodeResults);
|
|
2853
2903
|
var DEFAULT_MAX_HISTORY = 50;
|
|
2854
2904
|
function useUndoRedo(nodes, edges, setNodes, setEdges, maxHistory = DEFAULT_MAX_HISTORY) {
|
|
2855
2905
|
const pastRef = react.useRef([]);
|
|
@@ -3137,223 +3187,223 @@ Object.defineProperty(exports, "validateWorkflowGraph", {
|
|
|
3137
3187
|
});
|
|
3138
3188
|
Object.defineProperty(exports, "AgentFlowNode", {
|
|
3139
3189
|
enumerable: true,
|
|
3140
|
-
get: function () { return
|
|
3190
|
+
get: function () { return chunkJT2JCLN5_js.AgentFlowNode; }
|
|
3141
3191
|
});
|
|
3142
3192
|
Object.defineProperty(exports, "AgentToolFlowNode", {
|
|
3143
3193
|
enumerable: true,
|
|
3144
|
-
get: function () { return
|
|
3194
|
+
get: function () { return chunkJT2JCLN5_js.AgentToolFlowNode; }
|
|
3145
3195
|
});
|
|
3146
3196
|
Object.defineProperty(exports, "AnswerFlowNode", {
|
|
3147
3197
|
enumerable: true,
|
|
3148
|
-
get: function () { return
|
|
3198
|
+
get: function () { return chunkJT2JCLN5_js.AnswerFlowNode; }
|
|
3149
3199
|
});
|
|
3150
3200
|
Object.defineProperty(exports, "AnthropicIcon", {
|
|
3151
3201
|
enumerable: true,
|
|
3152
|
-
get: function () { return
|
|
3202
|
+
get: function () { return chunkJT2JCLN5_js.AnthropicIcon; }
|
|
3153
3203
|
});
|
|
3154
3204
|
Object.defineProperty(exports, "CodeFlowNode", {
|
|
3155
3205
|
enumerable: true,
|
|
3156
|
-
get: function () { return
|
|
3206
|
+
get: function () { return chunkJT2JCLN5_js.CodeFlowNode; }
|
|
3157
3207
|
});
|
|
3158
3208
|
Object.defineProperty(exports, "CrewAIIcon", {
|
|
3159
3209
|
enumerable: true,
|
|
3160
|
-
get: function () { return
|
|
3210
|
+
get: function () { return chunkJT2JCLN5_js.CrewAIIcon; }
|
|
3161
3211
|
});
|
|
3162
3212
|
Object.defineProperty(exports, "DocumentExtractorFlowNode", {
|
|
3163
3213
|
enumerable: true,
|
|
3164
|
-
get: function () { return
|
|
3214
|
+
get: function () { return chunkJT2JCLN5_js.DocumentExtractorFlowNode; }
|
|
3165
3215
|
});
|
|
3166
3216
|
Object.defineProperty(exports, "EndFlowNode", {
|
|
3167
3217
|
enumerable: true,
|
|
3168
|
-
get: function () { return
|
|
3218
|
+
get: function () { return chunkJT2JCLN5_js.EndFlowNode; }
|
|
3169
3219
|
});
|
|
3170
3220
|
Object.defineProperty(exports, "EntityFlowNode", {
|
|
3171
3221
|
enumerable: true,
|
|
3172
|
-
get: function () { return
|
|
3222
|
+
get: function () { return chunkJT2JCLN5_js.EntityFlowNode; }
|
|
3173
3223
|
});
|
|
3174
3224
|
Object.defineProperty(exports, "FRAMEWORK_META", {
|
|
3175
3225
|
enumerable: true,
|
|
3176
|
-
get: function () { return
|
|
3226
|
+
get: function () { return chunkJT2JCLN5_js.FRAMEWORK_META; }
|
|
3177
3227
|
});
|
|
3178
3228
|
Object.defineProperty(exports, "GoogleADKIcon", {
|
|
3179
3229
|
enumerable: true,
|
|
3180
|
-
get: function () { return
|
|
3230
|
+
get: function () { return chunkJT2JCLN5_js.GoogleADKIcon; }
|
|
3181
3231
|
});
|
|
3182
3232
|
Object.defineProperty(exports, "GroupFlowNode", {
|
|
3183
3233
|
enumerable: true,
|
|
3184
|
-
get: function () { return
|
|
3234
|
+
get: function () { return chunkJT2JCLN5_js.GroupFlowNode; }
|
|
3185
3235
|
});
|
|
3186
3236
|
Object.defineProperty(exports, "HttpRequestFlowNode", {
|
|
3187
3237
|
enumerable: true,
|
|
3188
|
-
get: function () { return
|
|
3238
|
+
get: function () { return chunkJT2JCLN5_js.HttpRequestFlowNode; }
|
|
3189
3239
|
});
|
|
3190
3240
|
Object.defineProperty(exports, "IfElseFlowNode", {
|
|
3191
3241
|
enumerable: true,
|
|
3192
|
-
get: function () { return
|
|
3242
|
+
get: function () { return chunkJT2JCLN5_js.IfElseFlowNode; }
|
|
3193
3243
|
});
|
|
3194
3244
|
Object.defineProperty(exports, "IterationFlowNode", {
|
|
3195
3245
|
enumerable: true,
|
|
3196
|
-
get: function () { return
|
|
3246
|
+
get: function () { return chunkJT2JCLN5_js.IterationFlowNode; }
|
|
3197
3247
|
});
|
|
3198
3248
|
Object.defineProperty(exports, "IterationStartFlowNode", {
|
|
3199
3249
|
enumerable: true,
|
|
3200
|
-
get: function () { return
|
|
3250
|
+
get: function () { return chunkJT2JCLN5_js.IterationStartFlowNode; }
|
|
3201
3251
|
});
|
|
3202
3252
|
Object.defineProperty(exports, "KnowledgeBaseFlowNode", {
|
|
3203
3253
|
enumerable: true,
|
|
3204
|
-
get: function () { return
|
|
3254
|
+
get: function () { return chunkJT2JCLN5_js.KnowledgeBaseFlowNode; }
|
|
3205
3255
|
});
|
|
3206
3256
|
Object.defineProperty(exports, "LOGIC_ICON_MAP", {
|
|
3207
3257
|
enumerable: true,
|
|
3208
|
-
get: function () { return
|
|
3258
|
+
get: function () { return chunkJT2JCLN5_js.LOGIC_ICON_MAP; }
|
|
3209
3259
|
});
|
|
3210
3260
|
Object.defineProperty(exports, "LOGIC_NODE_BADGE_COLORS", {
|
|
3211
3261
|
enumerable: true,
|
|
3212
|
-
get: function () { return
|
|
3262
|
+
get: function () { return chunkJT2JCLN5_js.LOGIC_NODE_BADGE_COLORS; }
|
|
3213
3263
|
});
|
|
3214
3264
|
Object.defineProperty(exports, "LOGIC_NODE_GRADIENTS", {
|
|
3215
3265
|
enumerable: true,
|
|
3216
|
-
get: function () { return
|
|
3266
|
+
get: function () { return chunkJT2JCLN5_js.LOGIC_NODE_GRADIENTS; }
|
|
3217
3267
|
});
|
|
3218
3268
|
Object.defineProperty(exports, "LOGIC_NODE_HANDLE_COLORS", {
|
|
3219
3269
|
enumerable: true,
|
|
3220
|
-
get: function () { return
|
|
3270
|
+
get: function () { return chunkJT2JCLN5_js.LOGIC_NODE_HANDLE_COLORS; }
|
|
3221
3271
|
});
|
|
3222
3272
|
Object.defineProperty(exports, "LangChainIcon", {
|
|
3223
3273
|
enumerable: true,
|
|
3224
|
-
get: function () { return
|
|
3274
|
+
get: function () { return chunkJT2JCLN5_js.LangChainIcon; }
|
|
3225
3275
|
});
|
|
3226
3276
|
Object.defineProperty(exports, "ListOperatorFlowNode", {
|
|
3227
3277
|
enumerable: true,
|
|
3228
|
-
get: function () { return
|
|
3278
|
+
get: function () { return chunkJT2JCLN5_js.ListOperatorFlowNode; }
|
|
3229
3279
|
});
|
|
3230
3280
|
Object.defineProperty(exports, "LogicNodeModal", {
|
|
3231
3281
|
enumerable: true,
|
|
3232
|
-
get: function () { return
|
|
3282
|
+
get: function () { return chunkJT2JCLN5_js.LogicNodeModal; }
|
|
3233
3283
|
});
|
|
3234
3284
|
Object.defineProperty(exports, "MINIMAP_NODE_COLORS", {
|
|
3235
3285
|
enumerable: true,
|
|
3236
|
-
get: function () { return
|
|
3286
|
+
get: function () { return chunkJT2JCLN5_js.MINIMAP_NODE_COLORS; }
|
|
3237
3287
|
});
|
|
3238
3288
|
Object.defineProperty(exports, "NodeCard", {
|
|
3239
3289
|
enumerable: true,
|
|
3240
|
-
get: function () { return
|
|
3290
|
+
get: function () { return chunkJT2JCLN5_js.NodeCard; }
|
|
3241
3291
|
});
|
|
3242
3292
|
Object.defineProperty(exports, "NodeContextMenu", {
|
|
3243
3293
|
enumerable: true,
|
|
3244
|
-
get: function () { return
|
|
3294
|
+
get: function () { return chunkJT2JCLN5_js.NodeContextMenu; }
|
|
3245
3295
|
});
|
|
3246
3296
|
Object.defineProperty(exports, "NoteFlowNode", {
|
|
3247
3297
|
enumerable: true,
|
|
3248
|
-
get: function () { return
|
|
3298
|
+
get: function () { return chunkJT2JCLN5_js.NoteFlowNode; }
|
|
3249
3299
|
});
|
|
3250
3300
|
Object.defineProperty(exports, "OpenAIIcon", {
|
|
3251
3301
|
enumerable: true,
|
|
3252
|
-
get: function () { return
|
|
3302
|
+
get: function () { return chunkJT2JCLN5_js.OpenAIIcon; }
|
|
3253
3303
|
});
|
|
3254
3304
|
Object.defineProperty(exports, "PanelContextMenu", {
|
|
3255
3305
|
enumerable: true,
|
|
3256
|
-
get: function () { return
|
|
3306
|
+
get: function () { return chunkJT2JCLN5_js.PanelContextMenu; }
|
|
3257
3307
|
});
|
|
3258
3308
|
Object.defineProperty(exports, "ParameterExtractorFlowNode", {
|
|
3259
3309
|
enumerable: true,
|
|
3260
|
-
get: function () { return
|
|
3310
|
+
get: function () { return chunkJT2JCLN5_js.ParameterExtractorFlowNode; }
|
|
3261
3311
|
});
|
|
3262
3312
|
Object.defineProperty(exports, "QuestionClassifierFlowNode", {
|
|
3263
3313
|
enumerable: true,
|
|
3264
|
-
get: function () { return
|
|
3314
|
+
get: function () { return chunkJT2JCLN5_js.QuestionClassifierFlowNode; }
|
|
3265
3315
|
});
|
|
3266
3316
|
Object.defineProperty(exports, "RuleFlowNode", {
|
|
3267
3317
|
enumerable: true,
|
|
3268
|
-
get: function () { return
|
|
3318
|
+
get: function () { return chunkJT2JCLN5_js.RuleFlowNode; }
|
|
3269
3319
|
});
|
|
3270
3320
|
Object.defineProperty(exports, "SelectionContextMenu", {
|
|
3271
3321
|
enumerable: true,
|
|
3272
|
-
get: function () { return
|
|
3322
|
+
get: function () { return chunkJT2JCLN5_js.SelectionContextMenu; }
|
|
3273
3323
|
});
|
|
3274
3324
|
Object.defineProperty(exports, "StartFlowNode", {
|
|
3275
3325
|
enumerable: true,
|
|
3276
|
-
get: function () { return
|
|
3326
|
+
get: function () { return chunkJT2JCLN5_js.StartFlowNode; }
|
|
3277
3327
|
});
|
|
3278
3328
|
Object.defineProperty(exports, "StrandsIcon", {
|
|
3279
3329
|
enumerable: true,
|
|
3280
|
-
get: function () { return
|
|
3330
|
+
get: function () { return chunkJT2JCLN5_js.StrandsIcon; }
|
|
3281
3331
|
});
|
|
3282
3332
|
Object.defineProperty(exports, "TemplateTransformFlowNode", {
|
|
3283
3333
|
enumerable: true,
|
|
3284
|
-
get: function () { return
|
|
3334
|
+
get: function () { return chunkJT2JCLN5_js.TemplateTransformFlowNode; }
|
|
3285
3335
|
});
|
|
3286
3336
|
Object.defineProperty(exports, "ToolFlowNode", {
|
|
3287
3337
|
enumerable: true,
|
|
3288
|
-
get: function () { return
|
|
3338
|
+
get: function () { return chunkJT2JCLN5_js.ToolFlowNode; }
|
|
3289
3339
|
});
|
|
3290
3340
|
Object.defineProperty(exports, "VariableAggregatorFlowNode", {
|
|
3291
3341
|
enumerable: true,
|
|
3292
|
-
get: function () { return
|
|
3342
|
+
get: function () { return chunkJT2JCLN5_js.VariableAggregatorFlowNode; }
|
|
3293
3343
|
});
|
|
3294
3344
|
Object.defineProperty(exports, "VariableAssignerFlowNode", {
|
|
3295
3345
|
enumerable: true,
|
|
3296
|
-
get: function () { return
|
|
3346
|
+
get: function () { return chunkJT2JCLN5_js.VariableAssignerFlowNode; }
|
|
3297
3347
|
});
|
|
3298
3348
|
Object.defineProperty(exports, "WorkflowBuilderProvider", {
|
|
3299
3349
|
enumerable: true,
|
|
3300
|
-
get: function () { return
|
|
3350
|
+
get: function () { return chunkJT2JCLN5_js.WorkflowBuilderProvider; }
|
|
3301
3351
|
});
|
|
3302
3352
|
Object.defineProperty(exports, "Workspace", {
|
|
3303
3353
|
enumerable: true,
|
|
3304
|
-
get: function () { return
|
|
3354
|
+
get: function () { return chunkJT2JCLN5_js.Workspace; }
|
|
3305
3355
|
});
|
|
3306
3356
|
Object.defineProperty(exports, "getCompatibleModels", {
|
|
3307
3357
|
enumerable: true,
|
|
3308
|
-
get: function () { return
|
|
3358
|
+
get: function () { return chunkJT2JCLN5_js.getCompatibleModels; }
|
|
3309
3359
|
});
|
|
3310
3360
|
Object.defineProperty(exports, "getDefaultFrameworkForModel", {
|
|
3311
3361
|
enumerable: true,
|
|
3312
|
-
get: function () { return
|
|
3362
|
+
get: function () { return chunkJT2JCLN5_js.getDefaultFrameworkForModel; }
|
|
3313
3363
|
});
|
|
3314
3364
|
Object.defineProperty(exports, "getEntityBadgeColor", {
|
|
3315
3365
|
enumerable: true,
|
|
3316
|
-
get: function () { return
|
|
3366
|
+
get: function () { return chunkJT2JCLN5_js.getEntityBadgeColor; }
|
|
3317
3367
|
});
|
|
3318
3368
|
Object.defineProperty(exports, "getEntityGradient", {
|
|
3319
3369
|
enumerable: true,
|
|
3320
|
-
get: function () { return
|
|
3370
|
+
get: function () { return chunkJT2JCLN5_js.getEntityGradient; }
|
|
3321
3371
|
});
|
|
3322
3372
|
Object.defineProperty(exports, "getEntityHandleColor", {
|
|
3323
3373
|
enumerable: true,
|
|
3324
|
-
get: function () { return
|
|
3374
|
+
get: function () { return chunkJT2JCLN5_js.getEntityHandleColor; }
|
|
3325
3375
|
});
|
|
3326
3376
|
Object.defineProperty(exports, "getEntityIcon", {
|
|
3327
3377
|
enumerable: true,
|
|
3328
|
-
get: function () { return
|
|
3378
|
+
get: function () { return chunkJT2JCLN5_js.getEntityIcon; }
|
|
3329
3379
|
});
|
|
3330
3380
|
Object.defineProperty(exports, "getEntityMinimapColor", {
|
|
3331
3381
|
enumerable: true,
|
|
3332
|
-
get: function () { return
|
|
3382
|
+
get: function () { return chunkJT2JCLN5_js.getEntityMinimapColor; }
|
|
3333
3383
|
});
|
|
3334
3384
|
Object.defineProperty(exports, "getFrameworkMeta", {
|
|
3335
3385
|
enumerable: true,
|
|
3336
|
-
get: function () { return
|
|
3386
|
+
get: function () { return chunkJT2JCLN5_js.getFrameworkMeta; }
|
|
3337
3387
|
});
|
|
3338
3388
|
Object.defineProperty(exports, "isModelCompatibleWithFramework", {
|
|
3339
3389
|
enumerable: true,
|
|
3340
|
-
get: function () { return
|
|
3390
|
+
get: function () { return chunkJT2JCLN5_js.isModelCompatibleWithFramework; }
|
|
3341
3391
|
});
|
|
3342
3392
|
Object.defineProperty(exports, "useModalStore", {
|
|
3343
3393
|
enumerable: true,
|
|
3344
|
-
get: function () { return
|
|
3394
|
+
get: function () { return chunkJT2JCLN5_js.useModalStore; }
|
|
3345
3395
|
});
|
|
3346
3396
|
Object.defineProperty(exports, "useWorkflowBuilderClient", {
|
|
3347
3397
|
enumerable: true,
|
|
3348
|
-
get: function () { return
|
|
3398
|
+
get: function () { return chunkJT2JCLN5_js.useWorkflowBuilderClient; }
|
|
3349
3399
|
});
|
|
3350
3400
|
Object.defineProperty(exports, "useWorkflowBuilderClientOptional", {
|
|
3351
3401
|
enumerable: true,
|
|
3352
|
-
get: function () { return
|
|
3402
|
+
get: function () { return chunkJT2JCLN5_js.useWorkflowBuilderClientOptional; }
|
|
3353
3403
|
});
|
|
3354
3404
|
Object.defineProperty(exports, "useWorkflowStore", {
|
|
3355
3405
|
enumerable: true,
|
|
3356
|
-
get: function () { return
|
|
3406
|
+
get: function () { return chunkJT2JCLN5_js.useWorkflowStore; }
|
|
3357
3407
|
});
|
|
3358
3408
|
Object.defineProperty(exports, "GraphNodeBadge", {
|
|
3359
3409
|
enumerable: true,
|