@datatechsolutions/ui 2.11.6 → 2.11.8
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 +13 -6
- package/dist/astrlabe/index.d.ts +13 -6
- package/dist/astrlabe/index.js +102 -100
- package/dist/astrlabe/index.js.map +1 -1
- package/dist/astrlabe/index.mjs +5 -3
- package/dist/astrlabe/index.mjs.map +1 -1
- package/dist/astrlabe/workflow-canvas.js +2 -2
- package/dist/astrlabe/workflow-canvas.mjs +1 -1
- package/dist/{chunk-E7GVGD4Z.js → chunk-LFWRE3A3.js} +279 -335
- package/dist/chunk-LFWRE3A3.js.map +1 -0
- package/dist/{chunk-TM2UUOQO.mjs → chunk-VWKBMTTC.mjs} +280 -336
- package/dist/chunk-VWKBMTTC.mjs.map +1 -0
- package/package.json +1 -1
- package/dist/chunk-E7GVGD4Z.js.map +0 -1
- package/dist/chunk-TM2UUOQO.mjs.map +0 -1
|
@@ -500,15 +500,12 @@ type SubworkflowStoreActions = {
|
|
|
500
500
|
type SubworkflowStore = SubworkflowStoreState & SubworkflowStoreActions;
|
|
501
501
|
declare const useSubworkflowStore: zustand.UseBoundStore<zustand.StoreApi<SubworkflowStore>>;
|
|
502
502
|
|
|
503
|
-
type ModalType = 'agent' | '
|
|
503
|
+
type ModalType = 'agent' | 'logic-node' | 'pipeline-settings' | null;
|
|
504
504
|
type AgentModalData = {
|
|
505
505
|
agent: AgentWithPrompts;
|
|
506
506
|
models: AgentModel[];
|
|
507
507
|
isCreateMode: boolean;
|
|
508
508
|
};
|
|
509
|
-
type SubworkflowModalData = {
|
|
510
|
-
tool: Subworkflow;
|
|
511
|
-
};
|
|
512
509
|
type LogicNodeModalData = {
|
|
513
510
|
nodeId: string;
|
|
514
511
|
nodeLabel: string;
|
|
@@ -518,19 +515,29 @@ type PipelineSettingsModalData = {
|
|
|
518
515
|
name: string;
|
|
519
516
|
description: string;
|
|
520
517
|
};
|
|
518
|
+
type ModalEntry = {
|
|
519
|
+
type: ModalType;
|
|
520
|
+
agentData: AgentModalData | null;
|
|
521
|
+
logicNodeData: LogicNodeModalData | null;
|
|
522
|
+
pipelineSettingsData: PipelineSettingsModalData | null;
|
|
523
|
+
};
|
|
521
524
|
type ModalStoreState = {
|
|
525
|
+
/** Current active modal (top of stack) */
|
|
522
526
|
activeModal: ModalType;
|
|
523
527
|
agentData: AgentModalData | null;
|
|
524
|
-
subworkflowData: SubworkflowModalData | null;
|
|
525
528
|
logicNodeData: LogicNodeModalData | null;
|
|
526
529
|
pipelineSettingsData: PipelineSettingsModalData | null;
|
|
530
|
+
/** Stack of previous modals (for back-navigation) */
|
|
531
|
+
stack: ModalEntry[];
|
|
527
532
|
};
|
|
528
533
|
type ModalStoreActions = {
|
|
529
534
|
openAgentModal: (agent: AgentWithPrompts, models: AgentModel[], isCreateMode?: boolean) => void;
|
|
530
|
-
openSubworkflowModal: (tool: Subworkflow) => void;
|
|
531
535
|
openLogicNodeModal: (nodeId: string, nodeLabel: string, config: LogicNodeConfig) => void;
|
|
532
536
|
openPipelineSettingsModal: (name: string, description: string) => void;
|
|
537
|
+
/** Close current modal. If stack has entries, restores the previous modal. */
|
|
533
538
|
closeModal: () => void;
|
|
539
|
+
/** Close all modals and clear the stack. */
|
|
540
|
+
closeAllModals: () => void;
|
|
534
541
|
};
|
|
535
542
|
type ModalStore = ModalStoreState & ModalStoreActions;
|
|
536
543
|
declare const useModalStore: zustand.UseBoundStore<zustand.StoreApi<ModalStore>>;
|
package/dist/astrlabe/index.d.ts
CHANGED
|
@@ -500,15 +500,12 @@ type SubworkflowStoreActions = {
|
|
|
500
500
|
type SubworkflowStore = SubworkflowStoreState & SubworkflowStoreActions;
|
|
501
501
|
declare const useSubworkflowStore: zustand.UseBoundStore<zustand.StoreApi<SubworkflowStore>>;
|
|
502
502
|
|
|
503
|
-
type ModalType = 'agent' | '
|
|
503
|
+
type ModalType = 'agent' | 'logic-node' | 'pipeline-settings' | null;
|
|
504
504
|
type AgentModalData = {
|
|
505
505
|
agent: AgentWithPrompts;
|
|
506
506
|
models: AgentModel[];
|
|
507
507
|
isCreateMode: boolean;
|
|
508
508
|
};
|
|
509
|
-
type SubworkflowModalData = {
|
|
510
|
-
tool: Subworkflow;
|
|
511
|
-
};
|
|
512
509
|
type LogicNodeModalData = {
|
|
513
510
|
nodeId: string;
|
|
514
511
|
nodeLabel: string;
|
|
@@ -518,19 +515,29 @@ type PipelineSettingsModalData = {
|
|
|
518
515
|
name: string;
|
|
519
516
|
description: string;
|
|
520
517
|
};
|
|
518
|
+
type ModalEntry = {
|
|
519
|
+
type: ModalType;
|
|
520
|
+
agentData: AgentModalData | null;
|
|
521
|
+
logicNodeData: LogicNodeModalData | null;
|
|
522
|
+
pipelineSettingsData: PipelineSettingsModalData | null;
|
|
523
|
+
};
|
|
521
524
|
type ModalStoreState = {
|
|
525
|
+
/** Current active modal (top of stack) */
|
|
522
526
|
activeModal: ModalType;
|
|
523
527
|
agentData: AgentModalData | null;
|
|
524
|
-
subworkflowData: SubworkflowModalData | null;
|
|
525
528
|
logicNodeData: LogicNodeModalData | null;
|
|
526
529
|
pipelineSettingsData: PipelineSettingsModalData | null;
|
|
530
|
+
/** Stack of previous modals (for back-navigation) */
|
|
531
|
+
stack: ModalEntry[];
|
|
527
532
|
};
|
|
528
533
|
type ModalStoreActions = {
|
|
529
534
|
openAgentModal: (agent: AgentWithPrompts, models: AgentModel[], isCreateMode?: boolean) => void;
|
|
530
|
-
openSubworkflowModal: (tool: Subworkflow) => void;
|
|
531
535
|
openLogicNodeModal: (nodeId: string, nodeLabel: string, config: LogicNodeConfig) => void;
|
|
532
536
|
openPipelineSettingsModal: (name: string, description: string) => void;
|
|
537
|
+
/** Close current modal. If stack has entries, restores the previous modal. */
|
|
533
538
|
closeModal: () => void;
|
|
539
|
+
/** Close all modals and clear the stack. */
|
|
540
|
+
closeAllModals: () => void;
|
|
534
541
|
};
|
|
535
542
|
type ModalStore = ModalStoreState & ModalStoreActions;
|
|
536
543
|
declare const useModalStore: zustand.UseBoundStore<zustand.StoreApi<ModalStore>>;
|
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 chunkLFWRE3A3_js = require('../chunk-LFWRE3A3.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 = chunkLFWRE3A3_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(chunkLFWRE3A3_js.FRAMEWORK_META);
|
|
379
|
+
const compatibleModels = chunkLFWRE3A3_js.getCompatibleModels(models, selectedFramework);
|
|
380
380
|
const handleFrameworkChange = react.useCallback((newFramework) => {
|
|
381
381
|
setSelectedFramework(newFramework);
|
|
382
|
-
if (!
|
|
383
|
-
const compatible =
|
|
382
|
+
if (!chunkLFWRE3A3_js.isModelCompatibleWithFramework(selectedModelId, newFramework)) {
|
|
383
|
+
const compatible = chunkLFWRE3A3_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 = chunkLFWRE3A3_js.FRAMEWORK_META[key];
|
|
395
395
|
const isSelected = key === selectedFramework;
|
|
396
|
-
const compatCount =
|
|
396
|
+
const compatCount = chunkLFWRE3A3_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 = chunkLFWRE3A3_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 = chunkLFWRE3A3_js.useWorkflowStore((state) => state.nodeResults);
|
|
524
524
|
const agentResult = react.useMemo(() => {
|
|
525
525
|
return nodeResults[agentId] ?? null;
|
|
526
526
|
}, [nodeResults, agentId]);
|
|
@@ -549,9 +549,9 @@ function ResultsTab({ agentId, t }) {
|
|
|
549
549
|
}
|
|
550
550
|
function AgentModal({ onSaved }) {
|
|
551
551
|
const t = chunkYXN2K77G_js.useTranslations("agents.workflow");
|
|
552
|
-
const activeModal =
|
|
553
|
-
const agentData =
|
|
554
|
-
const closeModal =
|
|
552
|
+
const activeModal = chunkLFWRE3A3_js.useModalStore((s) => s.activeModal);
|
|
553
|
+
const agentData = chunkLFWRE3A3_js.useModalStore((s) => s.agentData);
|
|
554
|
+
const closeModal = chunkLFWRE3A3_js.useModalStore((s) => s.closeModal);
|
|
555
555
|
const open = activeModal === "agent";
|
|
556
556
|
const agent = agentData?.agent ?? null;
|
|
557
557
|
const models = agentData?.models ?? [];
|
|
@@ -743,6 +743,7 @@ function SubworkflowModal({ onSaved, onMaximize }) {
|
|
|
743
743
|
const markDirty = useSubworkflowStore((s) => s.markDirty);
|
|
744
744
|
const markSaved = useSubworkflowStore((s) => s.markSaved);
|
|
745
745
|
const closeModal = useSubworkflowStore((s) => s.closeModal);
|
|
746
|
+
const agentBehind = chunkLFWRE3A3_js.useModalStore((s) => s.activeModal === "agent" ? s.agentData?.agent?.name : null);
|
|
746
747
|
const isCreateMode = !tool?.toolId;
|
|
747
748
|
const initialGraph = react.useMemo(() => {
|
|
748
749
|
const config = tool?.config;
|
|
@@ -771,9 +772,9 @@ function SubworkflowModal({ onSaved, onMaximize }) {
|
|
|
771
772
|
}, [tool, onSaved, name, category, description, timeoutMs, latestGraphRef, markSaved]);
|
|
772
773
|
if (!tool) return null;
|
|
773
774
|
const categoryKey = category ?? "external";
|
|
774
|
-
const gradient = tool.color ??
|
|
775
|
-
const categoryPill =
|
|
776
|
-
const IconComponent =
|
|
775
|
+
const gradient = tool.color ?? chunkLFWRE3A3_js.CATEGORY_COLORS[categoryKey] ?? chunkLFWRE3A3_js.CATEGORY_COLORS.external;
|
|
776
|
+
const categoryPill = chunkLFWRE3A3_js.CATEGORY_PILL_COLORS[categoryKey] ?? chunkLFWRE3A3_js.CATEGORY_PILL_COLORS.external;
|
|
777
|
+
const IconComponent = chunkLFWRE3A3_js.ICON_MAP[tool.icon ?? ""] ?? outline.ArrowPathRoundedSquareIcon;
|
|
777
778
|
const graph = latestGraphRef.current;
|
|
778
779
|
const startNode = graph.nodes.find((n) => n.type === "start");
|
|
779
780
|
const endNode = graph.nodes.find((n) => n.type === "end");
|
|
@@ -811,12 +812,13 @@ function SubworkflowModal({ onSaved, onMaximize }) {
|
|
|
811
812
|
open,
|
|
812
813
|
onClose: closeModal,
|
|
813
814
|
title: isCreateMode ? t("subworkflowDrawer.createTitle") : name,
|
|
814
|
-
subtitle: t("subworkflowDrawer.subworkflow"),
|
|
815
|
+
subtitle: agentBehind ? `${agentBehind} \u2192 ${t("subworkflowDrawer.subworkflow")}` : t("subworkflowDrawer.subworkflow"),
|
|
815
816
|
label: isCreateMode ? t("subworkflowDrawer.new") : t("subworkflowDrawer.edit"),
|
|
816
817
|
gradient: "from-teal-500 to-cyan-600",
|
|
817
818
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.ArrowPathRoundedSquareIcon, { className: "h-6 w-6 text-white" }),
|
|
818
819
|
maxWidth: "6xl",
|
|
819
820
|
footer,
|
|
821
|
+
zIndex: agentBehind ? "z-[60]" : "z-50",
|
|
820
822
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex h-[80vh] min-h-[600px]", children: [
|
|
821
823
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex w-72 flex-shrink-0 flex-col overflow-y-auto border-r border-white/10", children: [
|
|
822
824
|
isCreateMode ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "border-b border-white/10 bg-gradient-to-br from-teal-500/15 via-cyan-500/8 to-transparent px-4 py-4 dark:from-teal-500/8 dark:via-cyan-500/4", children: [
|
|
@@ -837,7 +839,7 @@ function SubworkflowModal({ onSaved, onMaximize }) {
|
|
|
837
839
|
{
|
|
838
840
|
type: "button",
|
|
839
841
|
onClick: () => setCategory(cat),
|
|
840
|
-
className: `rounded-full px-2 py-1 text-[9px] font-semibold transition-all ${cat === category ? `${
|
|
842
|
+
className: `rounded-full px-2 py-1 text-[9px] font-semibold transition-all ${cat === category ? `${chunkLFWRE3A3_js.CATEGORY_PILL_COLORS[cat] ?? chunkLFWRE3A3_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"}`,
|
|
841
843
|
children: cat
|
|
842
844
|
},
|
|
843
845
|
cat
|
|
@@ -924,7 +926,7 @@ function SubworkflowModal({ onSaved, onMaximize }) {
|
|
|
924
926
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-auto" })
|
|
925
927
|
] }),
|
|
926
928
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-1", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
927
|
-
|
|
929
|
+
chunkLFWRE3A3_js.WorkflowCanvas,
|
|
928
930
|
{
|
|
929
931
|
initialGraph,
|
|
930
932
|
agents: [],
|
|
@@ -976,9 +978,9 @@ function WorkspaceModal({
|
|
|
976
978
|
}
|
|
977
979
|
function PipelineSettingsModal({ onSave }) {
|
|
978
980
|
const t = chunkYXN2K77G_js.useTranslations("agents.workflow");
|
|
979
|
-
const activeModal =
|
|
980
|
-
const data =
|
|
981
|
-
const closeModal =
|
|
981
|
+
const activeModal = chunkLFWRE3A3_js.useModalStore((s) => s.activeModal);
|
|
982
|
+
const data = chunkLFWRE3A3_js.useModalStore((s) => s.pipelineSettingsData);
|
|
983
|
+
const closeModal = chunkLFWRE3A3_js.useModalStore((s) => s.closeModal);
|
|
982
984
|
const open = activeModal === "pipeline-settings";
|
|
983
985
|
const [nameValue, setNameValue] = react.useState("");
|
|
984
986
|
const [descriptionValue, setDescriptionValue] = react.useState("");
|
|
@@ -1161,8 +1163,8 @@ function CollapsibleSection({ title, icon, colorClass, defaultOpen = true, count
|
|
|
1161
1163
|
] });
|
|
1162
1164
|
}
|
|
1163
1165
|
function LogicNodeItemCard({ item, translationFunction }) {
|
|
1164
|
-
const IconComponent =
|
|
1165
|
-
const gradient =
|
|
1166
|
+
const IconComponent = chunkLFWRE3A3_js.LOGIC_ICON_MAP[item.nodeType];
|
|
1167
|
+
const gradient = chunkLFWRE3A3_js.LOGIC_NODE_GRADIENTS[item.nodeType] ?? "from-gray-400 to-gray-500";
|
|
1166
1168
|
const defaultConfig = chunkPWBWP5FJ_js.createDefaultLogicNodeConfig(item.nodeType);
|
|
1167
1169
|
const configJson = defaultConfig ? JSON.stringify(defaultConfig) : void 0;
|
|
1168
1170
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -1402,8 +1404,8 @@ function NodePalette({ agents, tools, agentTools = [], rules, entities = [], onC
|
|
|
1402
1404
|
outputVariable: `${entity.label.replace(/\s+/g, "")}Data`,
|
|
1403
1405
|
limit: entity.defaultLimit
|
|
1404
1406
|
});
|
|
1405
|
-
const EntityIcon =
|
|
1406
|
-
const entityGradient =
|
|
1407
|
+
const EntityIcon = chunkLFWRE3A3_js.getEntityIcon(entity.id);
|
|
1408
|
+
const entityGradient = chunkLFWRE3A3_js.getEntityGradient(entity.id);
|
|
1407
1409
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1408
1410
|
"div",
|
|
1409
1411
|
{
|
|
@@ -1742,9 +1744,9 @@ function formatDuration2(durationMs) {
|
|
|
1742
1744
|
}
|
|
1743
1745
|
function RunPanel({ open, onClose, onRun, onStop }) {
|
|
1744
1746
|
const translations = chunkYXN2K77G_js.useTranslations("agents.workflow.runPanel");
|
|
1745
|
-
const nodes =
|
|
1746
|
-
const isRunning =
|
|
1747
|
-
const nodeResults =
|
|
1747
|
+
const nodes = chunkLFWRE3A3_js.useWorkflowStore((state) => state.nodes);
|
|
1748
|
+
const isRunning = chunkLFWRE3A3_js.useWorkflowStore((state) => state.isRunning);
|
|
1749
|
+
const nodeResults = chunkLFWRE3A3_js.useWorkflowStore((state) => state.nodeResults);
|
|
1748
1750
|
const startNode = nodes.find((node) => node.type === "start");
|
|
1749
1751
|
const hasEndNode = nodes.some((node) => node.type === "end");
|
|
1750
1752
|
const hasValidStartConfig = Boolean(
|
|
@@ -2029,8 +2031,8 @@ function inferVariables(config, nodeType) {
|
|
|
2029
2031
|
}
|
|
2030
2032
|
function VariableInspector({ open, onClose }) {
|
|
2031
2033
|
const translations = chunkYXN2K77G_js.useTranslations("agents.workflow.variableInspector");
|
|
2032
|
-
const nodes =
|
|
2033
|
-
const edges =
|
|
2034
|
+
const nodes = chunkLFWRE3A3_js.useWorkflowStore((state) => state.nodes);
|
|
2035
|
+
const edges = chunkLFWRE3A3_js.useWorkflowStore((state) => state.edges);
|
|
2034
2036
|
const [expandedNodes, setExpandedNodes] = react.useState(/* @__PURE__ */ new Set());
|
|
2035
2037
|
const toggleNodeExpansion = react.useCallback((nodeId) => {
|
|
2036
2038
|
setExpandedNodes((current) => {
|
|
@@ -2092,8 +2094,8 @@ function VariableInspector({ open, onClose }) {
|
|
|
2092
2094
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-2 text-sm text-gray-500 dark:text-gray-400", children: translations("noNodes") })
|
|
2093
2095
|
] }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "divide-y divide-gray-100 dark:divide-gray-800", children: nodeVariableEntries.map((entry) => {
|
|
2094
2096
|
const isExpanded = expandedNodes.has(entry.nodeId);
|
|
2095
|
-
const IconComponent =
|
|
2096
|
-
const gradient =
|
|
2097
|
+
const IconComponent = chunkLFWRE3A3_js.LOGIC_ICON_MAP[entry.nodeType];
|
|
2098
|
+
const gradient = chunkLFWRE3A3_js.LOGIC_NODE_GRADIENTS[entry.nodeType] ?? "from-gray-400 to-gray-500";
|
|
2097
2099
|
const inputVariables = entry.variables.filter((variable) => variable.direction === "input");
|
|
2098
2100
|
const outputVariables = entry.variables.filter((variable) => variable.direction === "output");
|
|
2099
2101
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { "data-testid": `variable-node-${entry.nodeId}`, children: [
|
|
@@ -2159,7 +2161,7 @@ function RunInputDialog({
|
|
|
2159
2161
|
onRun
|
|
2160
2162
|
}) {
|
|
2161
2163
|
const t = chunkYXN2K77G_js.useTranslations("agents.workflow.runInputDialog");
|
|
2162
|
-
const nodes =
|
|
2164
|
+
const nodes = chunkLFWRE3A3_js.useWorkflowStore((state) => state.nodes);
|
|
2163
2165
|
const [values, setValues] = react.useState({});
|
|
2164
2166
|
const inputVariableNames = react.useMemo(() => {
|
|
2165
2167
|
const storeStartNode = nodes.find((node) => node.type === "start");
|
|
@@ -2241,8 +2243,8 @@ function PreviewPanel({ open, onClose, workflowId, loadRuns }) {
|
|
|
2241
2243
|
const [isLoadingRuns, setIsLoadingRuns] = react.useState(false);
|
|
2242
2244
|
const [selectedRun, setSelectedRun] = react.useState(null);
|
|
2243
2245
|
const [selectedNode, setSelectedNode] = react.useState(null);
|
|
2244
|
-
const isRunning =
|
|
2245
|
-
const nodeResults =
|
|
2246
|
+
const isRunning = chunkLFWRE3A3_js.useWorkflowStore((state) => state.isRunning);
|
|
2247
|
+
const nodeResults = chunkLFWRE3A3_js.useWorkflowStore((state) => state.nodeResults);
|
|
2246
2248
|
const refreshRuns = react.useCallback(async () => {
|
|
2247
2249
|
setIsLoadingRuns(true);
|
|
2248
2250
|
try {
|
|
@@ -2398,7 +2400,7 @@ var AutoSaveWorkspace = react.memo(function AutoSaveWorkspace2({
|
|
|
2398
2400
|
onAutoSaveGraph(graph);
|
|
2399
2401
|
}, [onAutoSaveGraph, onGraphSnapshot]);
|
|
2400
2402
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2401
|
-
|
|
2403
|
+
chunkLFWRE3A3_js.Workspace,
|
|
2402
2404
|
{
|
|
2403
2405
|
...workspaceProps,
|
|
2404
2406
|
onGraphChange: handleGraphChange
|
|
@@ -2768,14 +2770,14 @@ function DslImportModal({ open, onClose, onImport }) {
|
|
|
2768
2770
|
}
|
|
2769
2771
|
|
|
2770
2772
|
// src/astrlabe/store/selectors.ts
|
|
2771
|
-
var useCanUndo = () =>
|
|
2772
|
-
var useCanRedo = () =>
|
|
2773
|
-
var useHasCopied = () =>
|
|
2774
|
-
var useContextMenu = () =>
|
|
2775
|
-
var useEditingNodeId = () =>
|
|
2776
|
-
var useSelectedNodeCount = () =>
|
|
2777
|
-
var useIsRunning = () =>
|
|
2778
|
-
var useNodeResults = () =>
|
|
2773
|
+
var useCanUndo = () => chunkLFWRE3A3_js.useWorkflowStore((state) => state.past.length > 0);
|
|
2774
|
+
var useCanRedo = () => chunkLFWRE3A3_js.useWorkflowStore((state) => state.future.length > 0);
|
|
2775
|
+
var useHasCopied = () => chunkLFWRE3A3_js.useWorkflowStore((state) => state.clipboard !== null);
|
|
2776
|
+
var useContextMenu = () => chunkLFWRE3A3_js.useWorkflowStore((state) => state.contextMenu);
|
|
2777
|
+
var useEditingNodeId = () => chunkLFWRE3A3_js.useWorkflowStore((state) => state.editingNodeId);
|
|
2778
|
+
var useSelectedNodeCount = () => chunkLFWRE3A3_js.useWorkflowStore((state) => state.nodes.filter((node) => node.selected).length);
|
|
2779
|
+
var useIsRunning = () => chunkLFWRE3A3_js.useWorkflowStore((state) => state.isRunning);
|
|
2780
|
+
var useNodeResults = () => chunkLFWRE3A3_js.useWorkflowStore((state) => state.nodeResults);
|
|
2779
2781
|
var DEFAULT_MAX_HISTORY = 50;
|
|
2780
2782
|
function useUndoRedo(nodes, edges, setNodes, setEdges, maxHistory = DEFAULT_MAX_HISTORY) {
|
|
2781
2783
|
const pastRef = react.useRef([]);
|
|
@@ -3063,223 +3065,223 @@ Object.defineProperty(exports, "validateWorkflowGraph", {
|
|
|
3063
3065
|
});
|
|
3064
3066
|
Object.defineProperty(exports, "AgentFlowNode", {
|
|
3065
3067
|
enumerable: true,
|
|
3066
|
-
get: function () { return
|
|
3068
|
+
get: function () { return chunkLFWRE3A3_js.AgentFlowNode; }
|
|
3067
3069
|
});
|
|
3068
3070
|
Object.defineProperty(exports, "AgentToolFlowNode", {
|
|
3069
3071
|
enumerable: true,
|
|
3070
|
-
get: function () { return
|
|
3072
|
+
get: function () { return chunkLFWRE3A3_js.AgentToolFlowNode; }
|
|
3071
3073
|
});
|
|
3072
3074
|
Object.defineProperty(exports, "AnswerFlowNode", {
|
|
3073
3075
|
enumerable: true,
|
|
3074
|
-
get: function () { return
|
|
3076
|
+
get: function () { return chunkLFWRE3A3_js.AnswerFlowNode; }
|
|
3075
3077
|
});
|
|
3076
3078
|
Object.defineProperty(exports, "AnthropicIcon", {
|
|
3077
3079
|
enumerable: true,
|
|
3078
|
-
get: function () { return
|
|
3080
|
+
get: function () { return chunkLFWRE3A3_js.AnthropicIcon; }
|
|
3079
3081
|
});
|
|
3080
3082
|
Object.defineProperty(exports, "CodeFlowNode", {
|
|
3081
3083
|
enumerable: true,
|
|
3082
|
-
get: function () { return
|
|
3084
|
+
get: function () { return chunkLFWRE3A3_js.CodeFlowNode; }
|
|
3083
3085
|
});
|
|
3084
3086
|
Object.defineProperty(exports, "CrewAIIcon", {
|
|
3085
3087
|
enumerable: true,
|
|
3086
|
-
get: function () { return
|
|
3088
|
+
get: function () { return chunkLFWRE3A3_js.CrewAIIcon; }
|
|
3087
3089
|
});
|
|
3088
3090
|
Object.defineProperty(exports, "DocumentExtractorFlowNode", {
|
|
3089
3091
|
enumerable: true,
|
|
3090
|
-
get: function () { return
|
|
3092
|
+
get: function () { return chunkLFWRE3A3_js.DocumentExtractorFlowNode; }
|
|
3091
3093
|
});
|
|
3092
3094
|
Object.defineProperty(exports, "EndFlowNode", {
|
|
3093
3095
|
enumerable: true,
|
|
3094
|
-
get: function () { return
|
|
3096
|
+
get: function () { return chunkLFWRE3A3_js.EndFlowNode; }
|
|
3095
3097
|
});
|
|
3096
3098
|
Object.defineProperty(exports, "EntityFlowNode", {
|
|
3097
3099
|
enumerable: true,
|
|
3098
|
-
get: function () { return
|
|
3100
|
+
get: function () { return chunkLFWRE3A3_js.EntityFlowNode; }
|
|
3099
3101
|
});
|
|
3100
3102
|
Object.defineProperty(exports, "FRAMEWORK_META", {
|
|
3101
3103
|
enumerable: true,
|
|
3102
|
-
get: function () { return
|
|
3104
|
+
get: function () { return chunkLFWRE3A3_js.FRAMEWORK_META; }
|
|
3103
3105
|
});
|
|
3104
3106
|
Object.defineProperty(exports, "GoogleADKIcon", {
|
|
3105
3107
|
enumerable: true,
|
|
3106
|
-
get: function () { return
|
|
3108
|
+
get: function () { return chunkLFWRE3A3_js.GoogleADKIcon; }
|
|
3107
3109
|
});
|
|
3108
3110
|
Object.defineProperty(exports, "GroupFlowNode", {
|
|
3109
3111
|
enumerable: true,
|
|
3110
|
-
get: function () { return
|
|
3112
|
+
get: function () { return chunkLFWRE3A3_js.GroupFlowNode; }
|
|
3111
3113
|
});
|
|
3112
3114
|
Object.defineProperty(exports, "HttpRequestFlowNode", {
|
|
3113
3115
|
enumerable: true,
|
|
3114
|
-
get: function () { return
|
|
3116
|
+
get: function () { return chunkLFWRE3A3_js.HttpRequestFlowNode; }
|
|
3115
3117
|
});
|
|
3116
3118
|
Object.defineProperty(exports, "IfElseFlowNode", {
|
|
3117
3119
|
enumerable: true,
|
|
3118
|
-
get: function () { return
|
|
3120
|
+
get: function () { return chunkLFWRE3A3_js.IfElseFlowNode; }
|
|
3119
3121
|
});
|
|
3120
3122
|
Object.defineProperty(exports, "IterationFlowNode", {
|
|
3121
3123
|
enumerable: true,
|
|
3122
|
-
get: function () { return
|
|
3124
|
+
get: function () { return chunkLFWRE3A3_js.IterationFlowNode; }
|
|
3123
3125
|
});
|
|
3124
3126
|
Object.defineProperty(exports, "IterationStartFlowNode", {
|
|
3125
3127
|
enumerable: true,
|
|
3126
|
-
get: function () { return
|
|
3128
|
+
get: function () { return chunkLFWRE3A3_js.IterationStartFlowNode; }
|
|
3127
3129
|
});
|
|
3128
3130
|
Object.defineProperty(exports, "KnowledgeBaseFlowNode", {
|
|
3129
3131
|
enumerable: true,
|
|
3130
|
-
get: function () { return
|
|
3132
|
+
get: function () { return chunkLFWRE3A3_js.KnowledgeBaseFlowNode; }
|
|
3131
3133
|
});
|
|
3132
3134
|
Object.defineProperty(exports, "LOGIC_ICON_MAP", {
|
|
3133
3135
|
enumerable: true,
|
|
3134
|
-
get: function () { return
|
|
3136
|
+
get: function () { return chunkLFWRE3A3_js.LOGIC_ICON_MAP; }
|
|
3135
3137
|
});
|
|
3136
3138
|
Object.defineProperty(exports, "LOGIC_NODE_BADGE_COLORS", {
|
|
3137
3139
|
enumerable: true,
|
|
3138
|
-
get: function () { return
|
|
3140
|
+
get: function () { return chunkLFWRE3A3_js.LOGIC_NODE_BADGE_COLORS; }
|
|
3139
3141
|
});
|
|
3140
3142
|
Object.defineProperty(exports, "LOGIC_NODE_GRADIENTS", {
|
|
3141
3143
|
enumerable: true,
|
|
3142
|
-
get: function () { return
|
|
3144
|
+
get: function () { return chunkLFWRE3A3_js.LOGIC_NODE_GRADIENTS; }
|
|
3143
3145
|
});
|
|
3144
3146
|
Object.defineProperty(exports, "LOGIC_NODE_HANDLE_COLORS", {
|
|
3145
3147
|
enumerable: true,
|
|
3146
|
-
get: function () { return
|
|
3148
|
+
get: function () { return chunkLFWRE3A3_js.LOGIC_NODE_HANDLE_COLORS; }
|
|
3147
3149
|
});
|
|
3148
3150
|
Object.defineProperty(exports, "LangChainIcon", {
|
|
3149
3151
|
enumerable: true,
|
|
3150
|
-
get: function () { return
|
|
3152
|
+
get: function () { return chunkLFWRE3A3_js.LangChainIcon; }
|
|
3151
3153
|
});
|
|
3152
3154
|
Object.defineProperty(exports, "ListOperatorFlowNode", {
|
|
3153
3155
|
enumerable: true,
|
|
3154
|
-
get: function () { return
|
|
3156
|
+
get: function () { return chunkLFWRE3A3_js.ListOperatorFlowNode; }
|
|
3155
3157
|
});
|
|
3156
3158
|
Object.defineProperty(exports, "LogicNodeModal", {
|
|
3157
3159
|
enumerable: true,
|
|
3158
|
-
get: function () { return
|
|
3160
|
+
get: function () { return chunkLFWRE3A3_js.LogicNodeModal; }
|
|
3159
3161
|
});
|
|
3160
3162
|
Object.defineProperty(exports, "MINIMAP_NODE_COLORS", {
|
|
3161
3163
|
enumerable: true,
|
|
3162
|
-
get: function () { return
|
|
3164
|
+
get: function () { return chunkLFWRE3A3_js.MINIMAP_NODE_COLORS; }
|
|
3163
3165
|
});
|
|
3164
3166
|
Object.defineProperty(exports, "NodeCard", {
|
|
3165
3167
|
enumerable: true,
|
|
3166
|
-
get: function () { return
|
|
3168
|
+
get: function () { return chunkLFWRE3A3_js.NodeCard; }
|
|
3167
3169
|
});
|
|
3168
3170
|
Object.defineProperty(exports, "NodeContextMenu", {
|
|
3169
3171
|
enumerable: true,
|
|
3170
|
-
get: function () { return
|
|
3172
|
+
get: function () { return chunkLFWRE3A3_js.NodeContextMenu; }
|
|
3171
3173
|
});
|
|
3172
3174
|
Object.defineProperty(exports, "NoteFlowNode", {
|
|
3173
3175
|
enumerable: true,
|
|
3174
|
-
get: function () { return
|
|
3176
|
+
get: function () { return chunkLFWRE3A3_js.NoteFlowNode; }
|
|
3175
3177
|
});
|
|
3176
3178
|
Object.defineProperty(exports, "OpenAIIcon", {
|
|
3177
3179
|
enumerable: true,
|
|
3178
|
-
get: function () { return
|
|
3180
|
+
get: function () { return chunkLFWRE3A3_js.OpenAIIcon; }
|
|
3179
3181
|
});
|
|
3180
3182
|
Object.defineProperty(exports, "PanelContextMenu", {
|
|
3181
3183
|
enumerable: true,
|
|
3182
|
-
get: function () { return
|
|
3184
|
+
get: function () { return chunkLFWRE3A3_js.PanelContextMenu; }
|
|
3183
3185
|
});
|
|
3184
3186
|
Object.defineProperty(exports, "ParameterExtractorFlowNode", {
|
|
3185
3187
|
enumerable: true,
|
|
3186
|
-
get: function () { return
|
|
3188
|
+
get: function () { return chunkLFWRE3A3_js.ParameterExtractorFlowNode; }
|
|
3187
3189
|
});
|
|
3188
3190
|
Object.defineProperty(exports, "QuestionClassifierFlowNode", {
|
|
3189
3191
|
enumerable: true,
|
|
3190
|
-
get: function () { return
|
|
3192
|
+
get: function () { return chunkLFWRE3A3_js.QuestionClassifierFlowNode; }
|
|
3191
3193
|
});
|
|
3192
3194
|
Object.defineProperty(exports, "RuleFlowNode", {
|
|
3193
3195
|
enumerable: true,
|
|
3194
|
-
get: function () { return
|
|
3196
|
+
get: function () { return chunkLFWRE3A3_js.RuleFlowNode; }
|
|
3195
3197
|
});
|
|
3196
3198
|
Object.defineProperty(exports, "SelectionContextMenu", {
|
|
3197
3199
|
enumerable: true,
|
|
3198
|
-
get: function () { return
|
|
3200
|
+
get: function () { return chunkLFWRE3A3_js.SelectionContextMenu; }
|
|
3199
3201
|
});
|
|
3200
3202
|
Object.defineProperty(exports, "StartFlowNode", {
|
|
3201
3203
|
enumerable: true,
|
|
3202
|
-
get: function () { return
|
|
3204
|
+
get: function () { return chunkLFWRE3A3_js.StartFlowNode; }
|
|
3203
3205
|
});
|
|
3204
3206
|
Object.defineProperty(exports, "StrandsIcon", {
|
|
3205
3207
|
enumerable: true,
|
|
3206
|
-
get: function () { return
|
|
3208
|
+
get: function () { return chunkLFWRE3A3_js.StrandsIcon; }
|
|
3207
3209
|
});
|
|
3208
3210
|
Object.defineProperty(exports, "TemplateTransformFlowNode", {
|
|
3209
3211
|
enumerable: true,
|
|
3210
|
-
get: function () { return
|
|
3212
|
+
get: function () { return chunkLFWRE3A3_js.TemplateTransformFlowNode; }
|
|
3211
3213
|
});
|
|
3212
3214
|
Object.defineProperty(exports, "ToolFlowNode", {
|
|
3213
3215
|
enumerable: true,
|
|
3214
|
-
get: function () { return
|
|
3216
|
+
get: function () { return chunkLFWRE3A3_js.ToolFlowNode; }
|
|
3215
3217
|
});
|
|
3216
3218
|
Object.defineProperty(exports, "VariableAggregatorFlowNode", {
|
|
3217
3219
|
enumerable: true,
|
|
3218
|
-
get: function () { return
|
|
3220
|
+
get: function () { return chunkLFWRE3A3_js.VariableAggregatorFlowNode; }
|
|
3219
3221
|
});
|
|
3220
3222
|
Object.defineProperty(exports, "VariableAssignerFlowNode", {
|
|
3221
3223
|
enumerable: true,
|
|
3222
|
-
get: function () { return
|
|
3224
|
+
get: function () { return chunkLFWRE3A3_js.VariableAssignerFlowNode; }
|
|
3223
3225
|
});
|
|
3224
3226
|
Object.defineProperty(exports, "WorkflowBuilderProvider", {
|
|
3225
3227
|
enumerable: true,
|
|
3226
|
-
get: function () { return
|
|
3228
|
+
get: function () { return chunkLFWRE3A3_js.WorkflowBuilderProvider; }
|
|
3227
3229
|
});
|
|
3228
3230
|
Object.defineProperty(exports, "Workspace", {
|
|
3229
3231
|
enumerable: true,
|
|
3230
|
-
get: function () { return
|
|
3232
|
+
get: function () { return chunkLFWRE3A3_js.Workspace; }
|
|
3231
3233
|
});
|
|
3232
3234
|
Object.defineProperty(exports, "getCompatibleModels", {
|
|
3233
3235
|
enumerable: true,
|
|
3234
|
-
get: function () { return
|
|
3236
|
+
get: function () { return chunkLFWRE3A3_js.getCompatibleModels; }
|
|
3235
3237
|
});
|
|
3236
3238
|
Object.defineProperty(exports, "getDefaultFrameworkForModel", {
|
|
3237
3239
|
enumerable: true,
|
|
3238
|
-
get: function () { return
|
|
3240
|
+
get: function () { return chunkLFWRE3A3_js.getDefaultFrameworkForModel; }
|
|
3239
3241
|
});
|
|
3240
3242
|
Object.defineProperty(exports, "getEntityBadgeColor", {
|
|
3241
3243
|
enumerable: true,
|
|
3242
|
-
get: function () { return
|
|
3244
|
+
get: function () { return chunkLFWRE3A3_js.getEntityBadgeColor; }
|
|
3243
3245
|
});
|
|
3244
3246
|
Object.defineProperty(exports, "getEntityGradient", {
|
|
3245
3247
|
enumerable: true,
|
|
3246
|
-
get: function () { return
|
|
3248
|
+
get: function () { return chunkLFWRE3A3_js.getEntityGradient; }
|
|
3247
3249
|
});
|
|
3248
3250
|
Object.defineProperty(exports, "getEntityHandleColor", {
|
|
3249
3251
|
enumerable: true,
|
|
3250
|
-
get: function () { return
|
|
3252
|
+
get: function () { return chunkLFWRE3A3_js.getEntityHandleColor; }
|
|
3251
3253
|
});
|
|
3252
3254
|
Object.defineProperty(exports, "getEntityIcon", {
|
|
3253
3255
|
enumerable: true,
|
|
3254
|
-
get: function () { return
|
|
3256
|
+
get: function () { return chunkLFWRE3A3_js.getEntityIcon; }
|
|
3255
3257
|
});
|
|
3256
3258
|
Object.defineProperty(exports, "getEntityMinimapColor", {
|
|
3257
3259
|
enumerable: true,
|
|
3258
|
-
get: function () { return
|
|
3260
|
+
get: function () { return chunkLFWRE3A3_js.getEntityMinimapColor; }
|
|
3259
3261
|
});
|
|
3260
3262
|
Object.defineProperty(exports, "getFrameworkMeta", {
|
|
3261
3263
|
enumerable: true,
|
|
3262
|
-
get: function () { return
|
|
3264
|
+
get: function () { return chunkLFWRE3A3_js.getFrameworkMeta; }
|
|
3263
3265
|
});
|
|
3264
3266
|
Object.defineProperty(exports, "isModelCompatibleWithFramework", {
|
|
3265
3267
|
enumerable: true,
|
|
3266
|
-
get: function () { return
|
|
3268
|
+
get: function () { return chunkLFWRE3A3_js.isModelCompatibleWithFramework; }
|
|
3267
3269
|
});
|
|
3268
3270
|
Object.defineProperty(exports, "useModalStore", {
|
|
3269
3271
|
enumerable: true,
|
|
3270
|
-
get: function () { return
|
|
3272
|
+
get: function () { return chunkLFWRE3A3_js.useModalStore; }
|
|
3271
3273
|
});
|
|
3272
3274
|
Object.defineProperty(exports, "useWorkflowBuilderClient", {
|
|
3273
3275
|
enumerable: true,
|
|
3274
|
-
get: function () { return
|
|
3276
|
+
get: function () { return chunkLFWRE3A3_js.useWorkflowBuilderClient; }
|
|
3275
3277
|
});
|
|
3276
3278
|
Object.defineProperty(exports, "useWorkflowBuilderClientOptional", {
|
|
3277
3279
|
enumerable: true,
|
|
3278
|
-
get: function () { return
|
|
3280
|
+
get: function () { return chunkLFWRE3A3_js.useWorkflowBuilderClientOptional; }
|
|
3279
3281
|
});
|
|
3280
3282
|
Object.defineProperty(exports, "useWorkflowStore", {
|
|
3281
3283
|
enumerable: true,
|
|
3282
|
-
get: function () { return
|
|
3284
|
+
get: function () { return chunkLFWRE3A3_js.useWorkflowStore; }
|
|
3283
3285
|
});
|
|
3284
3286
|
Object.defineProperty(exports, "GraphNodeBadge", {
|
|
3285
3287
|
enumerable: true,
|