feat(agent): 创作能力 - 接通专业节点发现与插件执行基础

This commit is contained in:
王志伟 committed 2026-09-09 13:01:30 +08:00
1 parent a594c8266f
commit 757d1dd2c7
29 files changed
+617 -88

No files matched your search

@@ -1,5 +1,7 @@
import { hashCanvasAgentSnapshot, type CanvasAgentOp, type CanvasAgentSnapshot } from "./canvas-agent-ops";
import { CanvasNodeType, type CanvasNodeData } from "@/types/canvas";
import { getNodeDefinition } from "./node-registry";
import { isPluginEffectivelyEnabled } from "@/stores/use-plugin-store";
export type CanvasAgentResource = {
nodeId: string;
@@ -151,6 +153,8 @@ export function validateCanvasAgentOps(snapshot: CanvasAgentSnapshot, ops: Canva
};
ops.forEach((op, index) => {
if (op.type === "add_node") {
const definition = getNodeDefinition(op.nodeType || CanvasNodeType.Text);
if (!definition || (definition.plugin && !isPluginEffectivelyEnabled(definition.plugin.pluginId))) issues.push({ index, severity: "error", message: "节点未注册或插件不可用,请重新发现能力" });
validateNodeNumbers(issues, index, op as unknown as Record<string, unknown>);
if (op.id && liveNodeIds.has(op.id)) issues.push({ index, severity: "error", message: `新增节点 id「${op.id}」重复` });
if (op.id) liveNodeIds.add(op.id);