@digitalsee-ai/rcs 1.1.8 → 2.0.0-beta2

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.
Files changed (168) hide show
  1. package/README.md +6 -38
  2. package/README.npm.md +37 -0
  3. package/dist/components/digitalsee/JsonRenderer/index.d.ts +1 -1
  4. package/dist/components/digitalsee/workflow/Canvas/FastOperationButtons.d.ts +5 -2
  5. package/dist/components/digitalsee/workflow/Canvas/FullscreenLoading.d.ts +10 -2
  6. package/dist/components/digitalsee/workflow/Canvas/MiniMap.d.ts +1 -1
  7. package/dist/components/digitalsee/workflow/Canvas/NodePlaceholder.d.ts +12 -0
  8. package/dist/components/digitalsee/workflow/Canvas/WorkflowCanvasHeader.d.ts +3 -6
  9. package/dist/components/digitalsee/workflow/Canvas/actionItemToNodeData.d.ts +1 -6
  10. package/dist/components/digitalsee/workflow/Canvas/constants.d.ts +6 -26
  11. package/dist/components/digitalsee/workflow/Canvas/hooks/{classicNodeAddConnection.d.ts → nodePackageAddConnection.d.ts} +3 -3
  12. package/dist/components/digitalsee/workflow/Canvas/hooks/useCanvasApi.d.ts +4 -2
  13. package/dist/components/digitalsee/workflow/Canvas/hooks/useDataLoading.d.ts +33 -4
  14. package/dist/components/digitalsee/workflow/Canvas/hooks/useNodeAddCallback.d.ts +2 -3
  15. package/dist/components/digitalsee/workflow/Canvas/hooks/useWorkflowCanvasState.d.ts +22 -4
  16. package/dist/components/digitalsee/workflow/Canvas/types.d.ts +18 -6
  17. package/dist/components/digitalsee/workflow/Edges/BaseEdge.d.ts +2 -0
  18. package/dist/components/digitalsee/workflow/Edges/EdgeFactory.d.ts +3 -8
  19. package/dist/components/digitalsee/workflow/Edges/edgeLayout.d.ts +73 -0
  20. package/dist/components/digitalsee/workflow/Handles/CustomHandle.d.ts +1 -0
  21. package/dist/components/digitalsee/workflow/Handles/customHandleConnectable.d.ts +19 -0
  22. package/dist/components/digitalsee/workflow/Nodes/DeclaredNode.d.ts +33 -0
  23. package/dist/components/digitalsee/workflow/Nodes/DynamicNode.d.ts +24 -0
  24. package/dist/components/digitalsee/workflow/Nodes/NodeFactory.d.ts +42 -4
  25. package/dist/components/digitalsee/workflow/Nodes/SuperBaseNode.d.ts +2 -1
  26. package/dist/components/digitalsee/workflow/Nodes/classicPortLayout.d.ts +51 -0
  27. package/dist/components/digitalsee/workflow/Nodes/components/NodeStatusBadge.d.ts +11 -0
  28. package/dist/components/digitalsee/workflow/Nodes/{classicNodePackagePortLayout.d.ts → nodePackagePortLayout.d.ts} +4 -4
  29. package/dist/components/digitalsee/workflow/Nodes/nodeTypeRegistry.d.ts +131 -0
  30. package/dist/components/digitalsee/workflow/Nodes/useNodePackagePorts.d.ts +35 -0
  31. package/dist/components/digitalsee/workflow/NodesConfig/NodePackageConfig/fieldSchemaAdapter.d.ts +14 -0
  32. package/dist/components/digitalsee/workflow/NodesConfig/components/FormFieldRenderer/fields/RichTagInput/help.d.ts +5 -1
  33. package/dist/components/digitalsee/workflow/NodesConfig/components/FormFieldRenderer/index.d.ts +1 -0
  34. package/dist/components/digitalsee/workflow/NodesConfig/components/NodeTest.d.ts +2 -0
  35. package/dist/components/digitalsee/workflow/NodesConfig/components/NodeTest.helpers.d.ts +11 -0
  36. package/dist/components/digitalsee/workflow/NodesConfig/components/VariableModal/tree-help.d.ts +5 -12
  37. package/dist/components/digitalsee/workflow/NodesConfig/submitPayload.d.ts +10 -17
  38. package/dist/components/digitalsee/workflow/Panels/CanvasConfigDebugger.d.ts +1 -1
  39. package/dist/components/digitalsee/workflow/Panels/ModernNodeSelectorPanel/components/CategoryItem.d.ts +1 -1
  40. package/dist/components/digitalsee/workflow/Panels/ModernNodeSelectorPanel/components/CategoryTabs.d.ts +1 -1
  41. package/dist/components/digitalsee/workflow/Panels/ModernNodeSelectorPanel/components/NodeCard.d.ts +1 -1
  42. package/dist/components/digitalsee/workflow/Panels/ModernNodeSelectorPanel/components/NodeItem.d.ts +1 -1
  43. package/dist/components/digitalsee/workflow/Panels/ModernNodeSelectorPanel/components/PanelHeader.d.ts +1 -1
  44. package/dist/components/digitalsee/workflow/Panels/ModernNodeSelectorPanel/hooks/useConnectableNodeSelector.d.ts +2 -5
  45. package/dist/components/digitalsee/workflow/Panels/ModernNodeSelectorPanel/types.d.ts +10 -4
  46. package/dist/components/digitalsee/workflow/Panels/ModernNodeSelectorPanel/utils/connectableDataSource.d.ts +6 -10
  47. package/dist/components/digitalsee/workflow/Panels/SimpleNodeSelectorPanel/components/NodeListItem.d.ts +1 -1
  48. package/dist/components/digitalsee/workflow/api/dip.types.d.ts +30 -1
  49. package/dist/components/digitalsee/workflow/api/index.d.ts +3 -22
  50. package/dist/components/digitalsee/workflow/builtin/controls/ConfigSubflow/index.d.ts +2 -2
  51. package/dist/components/digitalsee/workflow/builtin/globalConfig/index.d.ts +5 -1
  52. package/dist/components/digitalsee/workflow/config/globalConfig.d.ts +1 -5
  53. package/dist/components/digitalsee/workflow/config/layerConfig.d.ts +14 -0
  54. package/dist/components/digitalsee/workflow/config/themeConfig.d.ts +19 -23
  55. package/dist/components/digitalsee/workflow/constants/nodePackageHandles.d.ts +10 -0
  56. package/dist/components/digitalsee/workflow/context/workflowTriggerContext.d.ts +22 -0
  57. package/dist/components/digitalsee/workflow/coverage/acceptanceManifest.d.ts +30 -0
  58. package/dist/components/digitalsee/workflow/coverage/runtimeCoverage.d.ts +34 -0
  59. package/dist/components/digitalsee/workflow/design-system/AiFlowNodeTestPanel.d.ts +24 -0
  60. package/dist/components/digitalsee/workflow/design-system/AiFlowVariableTree.d.ts +34 -0
  61. package/dist/components/digitalsee/workflow/design-system/index.d.ts +3 -0
  62. package/dist/components/digitalsee/workflow/design-system/tokens.d.ts +103 -0
  63. package/dist/components/digitalsee/workflow/enums/canvas.d.ts +0 -12
  64. package/dist/components/digitalsee/workflow/enums/edge.d.ts +4 -2
  65. package/dist/components/digitalsee/workflow/enums/node.d.ts +5 -6
  66. package/dist/components/digitalsee/workflow/enums/workflow.d.ts +1 -1
  67. package/dist/components/digitalsee/workflow/examples/global-config-example.d.ts +1 -1
  68. package/dist/components/digitalsee/workflow/hooks/state.hooks.d.ts +1 -7
  69. package/dist/components/digitalsee/workflow/hooks/use-flow-data-operation.d.ts +1 -1
  70. package/dist/components/digitalsee/workflow/hooks/useCanvasLayout.d.ts +1 -1
  71. package/dist/components/digitalsee/workflow/hooks/useCanvasMode.d.ts +8 -0
  72. package/dist/components/digitalsee/workflow/hooks/useHandleConnections.d.ts +9 -1
  73. package/dist/components/digitalsee/workflow/hooks/useVariables.d.ts +1 -0
  74. package/dist/components/digitalsee/workflow/hooks/useWorkflow.d.ts +1 -1
  75. package/dist/components/digitalsee/workflow/index.d.ts +18 -44
  76. package/dist/components/digitalsee/workflow/migration/umi.d.ts +1 -2
  77. package/dist/components/digitalsee/workflow/store/workflowSlice.d.ts +5 -2
  78. package/dist/components/digitalsee/workflow/types/Node.d.ts +2 -0
  79. package/dist/components/digitalsee/workflow/types/Workflow.d.ts +1 -1
  80. package/dist/components/digitalsee/workflow/types/engine.d.ts +21 -12
  81. package/dist/components/digitalsee/workflow/types/flowVersion.d.ts +0 -30
  82. package/dist/components/digitalsee/workflow/utils/connectionCheck.d.ts +30 -0
  83. package/dist/components/digitalsee/workflow/utils/layoutUtils.d.ts +2 -2
  84. package/dist/components/digitalsee/workflow/utils/mcpCanvas.d.ts +0 -40
  85. package/dist/components/digitalsee/workflow/utils/mode.d.ts +18 -0
  86. package/dist/components/digitalsee/workflow/utils/nodeAutoConnect.d.ts +24 -0
  87. package/dist/components/digitalsee/workflow/utils/nodeCommon.d.ts +5 -0
  88. package/dist/components/digitalsee/workflow/utils/nodeHandleLayout.d.ts +83 -0
  89. package/dist/components/digitalsee/workflow/utils/nodePackageConnection.d.ts +28 -0
  90. package/dist/components/digitalsee/workflow/utils/nodePackageGraphValidation.d.ts +29 -0
  91. package/dist/components/digitalsee/workflow/utils/nodePackageSchemaCache.d.ts +15 -0
  92. package/dist/components/digitalsee/workflow/utils/onNodeRemoveHook.d.ts +13 -0
  93. package/dist/components/digitalsee/workflow/utils/triggerNode.d.ts +13 -0
  94. package/dist/components/digitalsee/workflow/utils/workflowConnectionValidator.d.ts +1 -3
  95. package/dist/components/digitalsee/workflow/workflow.story-fixtures.d.ts +50 -0
  96. package/dist/components/dynamic-form/context/VariableSelectorContext.d.ts +17 -16
  97. package/dist/components/dynamic-form/index.d.ts +1 -1
  98. package/dist/index-CBoDAvhq.mjs +285 -0
  99. package/dist/{index-CRdKUD0G.mjs → index-zEq02rJh.mjs} +23582 -25697
  100. package/dist/locales/en-US/common.d.ts +29 -52
  101. package/dist/locales/en-US.d.ts +29 -52
  102. package/dist/locales/zh-CN/common.d.ts +29 -52
  103. package/dist/locales/zh-CN.d.ts +29 -52
  104. package/dist/locales/zh-TW/common.d.ts +29 -52
  105. package/dist/locales/zh-TW.d.ts +29 -52
  106. package/dist/rcs.css +1 -1
  107. package/dist/rcs.es.js +65 -61
  108. package/dist/rcs.umd.js +132 -72
  109. package/package.json +38 -23
  110. package/dist/components/digitalsee/workflow/Canvas/FlowVersionManager.d.ts +0 -16
  111. package/dist/components/digitalsee/workflow/Canvas/NextConfigModalWrapper.d.ts +0 -9
  112. package/dist/components/digitalsee/workflow/Canvas/NextWorkflowCanvas.d.ts +0 -4
  113. package/dist/components/digitalsee/workflow/Canvas/NextWorkflowCanvasHeader.d.ts +0 -15
  114. package/dist/components/digitalsee/workflow/Canvas/hooks/createNodeAddHandlerNext.d.ts +0 -38
  115. package/dist/components/digitalsee/workflow/NextNodesConfigModal/index.d.ts +0 -13
  116. package/dist/components/digitalsee/workflow/Nodes/AISubNode.d.ts +0 -9
  117. package/dist/components/digitalsee/workflow/Nodes/ActionNode.d.ts +0 -13
  118. package/dist/components/digitalsee/workflow/Nodes/AgentNode.d.ts +0 -10
  119. package/dist/components/digitalsee/workflow/Nodes/BrowserNode.d.ts +0 -10
  120. package/dist/components/digitalsee/workflow/Nodes/BuiltinMCPNode.d.ts +0 -9
  121. package/dist/components/digitalsee/workflow/Nodes/ConditionNode.d.ts +0 -13
  122. package/dist/components/digitalsee/workflow/Nodes/CustomNode.d.ts +0 -15
  123. package/dist/components/digitalsee/workflow/Nodes/LoopNode.d.ts +0 -4
  124. package/dist/components/digitalsee/workflow/Nodes/MCPServerNode.d.ts +0 -9
  125. package/dist/components/digitalsee/workflow/Nodes/MCPToolNode.d.ts +0 -9
  126. package/dist/components/digitalsee/workflow/Nodes/NextNodeFactory.d.ts +0 -12
  127. package/dist/components/digitalsee/workflow/Nodes/NextNodes/NextActionNode.d.ts +0 -9
  128. package/dist/components/digitalsee/workflow/Nodes/NextNodes/NextBaseNode.d.ts +0 -16
  129. package/dist/components/digitalsee/workflow/Nodes/NextNodes/NextConditionNode.d.ts +0 -10
  130. package/dist/components/digitalsee/workflow/Nodes/NextNodes/NextLoopNode.d.ts +0 -10
  131. package/dist/components/digitalsee/workflow/Nodes/NextNodes/NextSwitchNode.d.ts +0 -10
  132. package/dist/components/digitalsee/workflow/Nodes/NextNodes/NextTriggerNode.d.ts +0 -9
  133. package/dist/components/digitalsee/workflow/Nodes/SelfLoopNode.d.ts +0 -4
  134. package/dist/components/digitalsee/workflow/Nodes/StartNode.d.ts +0 -1
  135. package/dist/components/digitalsee/workflow/Nodes/SwitchNode.d.ts +0 -13
  136. package/dist/components/digitalsee/workflow/Nodes/TriggerNode.d.ts +0 -10
  137. package/dist/components/digitalsee/workflow/Nodes/components/NextNodeDescription.d.ts +0 -16
  138. package/dist/components/digitalsee/workflow/Nodes/components/NextNodeOperations.d.ts +0 -11
  139. package/dist/components/digitalsee/workflow/Nodes/useClassicNodePackagePorts.d.ts +0 -27
  140. package/dist/components/digitalsee/workflow/NodesConfig/NextNodeConfig/CreateCredentialModal.d.ts +0 -13
  141. package/dist/components/digitalsee/workflow/NodesConfig/NextNodeConfig/CredentialSelect.d.ts +0 -17
  142. package/dist/components/digitalsee/workflow/NodesConfig/NextNodeConfig/ModifyCredentialModal.d.ts +0 -17
  143. package/dist/components/digitalsee/workflow/NodesConfig/NextNodeConfig/fieldSchemaAdapter.d.ts +0 -10
  144. package/dist/components/digitalsee/workflow/NodesConfig/NextNodeConfig/index.d.ts +0 -17
  145. package/dist/components/digitalsee/workflow/NodesConfig/components/NextNodeSettings.d.ts +0 -6
  146. package/dist/components/digitalsee/workflow/NodesConfig/components/NextNodeTest.d.ts +0 -6
  147. package/dist/components/digitalsee/workflow/NodesConfig/components/NextVariableModal/index.d.ts +0 -6
  148. package/dist/components/digitalsee/workflow/NodesConfig/components/NextVariableModal/variable-tree-next.d.ts +0 -49
  149. package/dist/components/digitalsee/workflow/Panels/ModernNodeSelectorPanel/components/EntryTypeSelector.d.ts +0 -8
  150. package/dist/components/digitalsee/workflow/Panels/ModernNodeSelectorPanel/components/NodeCardList.d.ts +0 -20
  151. package/dist/components/digitalsee/workflow/Panels/ModernNodeSelectorPanel/hooks/useNodeActionState.d.ts +0 -28
  152. package/dist/components/digitalsee/workflow/Panels/ModernNodeSelectorPanel/hooks/useNodeSelectorPresentation.d.ts +0 -25
  153. package/dist/components/digitalsee/workflow/Panels/ModernNodeSelectorPanel/utils/queryParams.d.ts +0 -18
  154. package/dist/components/digitalsee/workflow/constants/nextHandles.d.ts +0 -1
  155. package/dist/components/digitalsee/workflow/utils/classicNodePackageConnection.d.ts +0 -28
  156. package/dist/components/digitalsee/workflow/utils/classicNodePackageGraphValidation.d.ts +0 -29
  157. package/dist/components/digitalsee/workflow/utils/nextNodeSchemaCache.d.ts +0 -14
  158. package/dist/components/digitalsee/workflow/utils/queuedNodeConfigOpen.d.ts +0 -12
  159. package/dist/index-CRdKUD0G.mjs.map +0 -1
  160. package/dist/index-rjDBrC08.mjs +0 -312
  161. package/dist/index-rjDBrC08.mjs.map +0 -1
  162. package/dist/rcs.es.js.map +0 -1
  163. package/dist/rcs.umd.js.map +0 -1
  164. /package/dist/components/digitalsee/workflow/NodesConfig/{NextNodeConfig → NodePackageConfig}/WorkflowNodeSchemaFieldProvider.d.ts +0 -0
  165. /package/dist/components/digitalsee/workflow/NodesConfig/{NextNodeConfig → NodePackageConfig}/fields/WorkflowCodeField.d.ts +0 -0
  166. /package/dist/components/digitalsee/workflow/NodesConfig/{NextNodeConfig → NodePackageConfig}/fields/WorkflowProxyField.d.ts +0 -0
  167. /package/dist/components/digitalsee/workflow/NodesConfig/{NextNodeConfig → NodePackageConfig}/proxyField.d.ts +0 -0
  168. /package/dist/components/digitalsee/workflow/NodesConfig/components/FormFieldRenderer/{next-compatible.d.ts → nodePackage-compatible.d.ts} +0 -0
@@ -0,0 +1,33 @@
1
+ import { NodeType } from '../types/Node';
2
+ import { Node, NodeProps } from '@xyflow/react';
3
+ import { default as React } from 'react';
4
+ /**
5
+ * 解析 ReactFlow `node.type` 字符串,拆出 NodeType + nodeKey + version。
6
+ *
7
+ * 规则:
8
+ * - 经典 key(不含 `@`)→ 仅 baseNodeType,nodeKey/nodeVersion 为 undefined
9
+ * - 2 段(`${nodeType}@${nodeKey}`,version 缺省或为 0 也走 3 段)→ 仅 baseNodeType + nodeKey
10
+ * - 3 段(`${nodeType}@${nodeKey}@${version}`,含 @0)→ 全部三段,version=0 也保留
11
+ * - 段数异常或 version 非有限数字 → console.warn 后整体退化为 baseNodeType,
12
+ * 由调用方再按 NodeType 经典描述符兜底渲染
13
+ */
14
+ export declare function parseDescriptorTypeKey(type: string): {
15
+ baseNodeType: NodeType | string;
16
+ nodeKey?: string;
17
+ nodeVersion?: number;
18
+ };
19
+ /**
20
+ * 声明式节点渲染入口。
21
+ *
22
+ * 取代 13 个仅做 SuperBaseNode 包装的细瘦组件(Action/Trigger/Condition/Loop/...)。
23
+ * 节点之间的差异由 CLASSIC_DESCRIPTORS 描述:
24
+ * - className:驱动 *.less 中的节点变体样式
25
+ * - fallbackIcon:data.icon 为空时的回退图标
26
+ * - inputs / outputs / byProtocol:按 (type, protocol) 的静态端口声明
27
+ * (经 resolveNodeHandleConfigs 转为端口元数据:id + 位置 + 方向 + 约束)
28
+ * - useNodePackagePorts:是否走 useNodePackagePorts 加载 schema 端口
29
+ *
30
+ * STICKY 节点不复用此组件,由 NodeFactory 单点特判处理。
31
+ */
32
+ declare const DeclaredNode: React.FC<NodeProps<Node>>;
33
+ export default DeclaredNode;
@@ -0,0 +1,24 @@
1
+ import { NodeType } from '../types/Node';
2
+ import { Node, NodeProps } from '@xyflow/react';
3
+ import { default as React } from 'react';
4
+ /**
5
+ * 解析 ReactFlow `node.type` 字符串,拆出 NodeType + nodeKey + version。
6
+ *
7
+ * 规则:
8
+ * - 经典 key(不含 `@`)→ 仅 baseNodeType,nodeKey/nodeVersion 为 undefined
9
+ * - 2 段(`${nodeType}@${nodeKey}`,version 缺省或为 0 也走 3 段)→ 仅 baseNodeType + nodeKey
10
+ * - 3 段(`${nodeType}@${nodeKey}@${version}`,含 @0)→ 全部三段,version=0 也保留
11
+ * - 段数异常或 version 非有限数字 → console.warn 后整体退化为 baseNodeType,
12
+ * 由调用方再按 NodeType 经典描述符兜底渲染
13
+ */
14
+ export declare function parseDescriptorTypeKey(type: string): {
15
+ baseNodeType: NodeType | string;
16
+ nodeKey?: string;
17
+ nodeVersion?: number;
18
+ };
19
+ /**
20
+ * NodePackage 动态渲染节点
21
+ *
22
+ */
23
+ declare const DynamicNode: React.FC<NodeProps<Node>>;
24
+ export default DynamicNode;
@@ -1,6 +1,5 @@
1
1
  import { NodeData, NodeType } from '../types/Node';
2
- import { Node, XYPosition } from '@xyflow/react';
3
- import { ComponentType } from 'react';
2
+ import { Node, NodeTypes, XYPosition } from '@xyflow/react';
4
3
  export type { NodeData } from '../types/Node';
5
4
  export interface BackendNodeData {
6
5
  node_type: string;
@@ -15,10 +14,49 @@ export interface BackendNodeData {
15
14
  properties: any;
16
15
  }
17
16
  declare class NodeFactory {
18
- static getNodeTypes(): Record<NodeType, ComponentType<any>>;
17
+ /**
18
+ * 节点 → ReactFlow 组件注册表。
19
+ *
20
+ * 历史:每个 NodeType 拥有独立 wrapper(如 ActionNode / TriggerNode …),
21
+ * 各自重复 SuperBaseNode 的包装 + 端口声明;现已统一收敛到 DeclaredNode
22
+ * + nodeTypeRegistry.ts 中声明式描述。
23
+ *
24
+ * 现在:
25
+ * - STICKY 走独立组件(不挂端口)
26
+ * - 其余 NodeType 枚举值注册 DeclaredNode 作为经典 wrapper
27
+ * - 每个已注册到 {@link nodeTypeRegistry} 的动态 descriptorId 注册独立 versioned wrapper
28
+ * (key = `${nodeType}@${nodeKey}@${version}`),实现不同版本/不同 nodepackage
29
+ * 类型在同一画布共存而互不污染。
30
+ */
31
+ static getNodeTypes(): NodeTypes;
19
32
  static mapTypeToBackendType(type: NodeType | string): string;
20
- static createNode(type: NodeType, id: string, data: NodeData, position?: XYPosition): Node<NodeData>;
33
+ static createNode(type: NodeType | string, id: string, data: NodeData, position?: XYPosition): Node<NodeData>;
21
34
  static toBackendFormat(node: Node<NodeData>): BackendNodeData;
22
35
  private static extractNodeProperties;
23
36
  }
24
37
  export default NodeFactory;
38
+ /**
39
+ * 订阅注册表变更的 React hook。
40
+ *
41
+ * - 首次返回当前已合并的经典+动态 wrapper
42
+ * - 运行期新增/注销动态描述符时返回新 map,触发 ReactFlow 重建 nodeTypes
43
+ * - `initialSeed` 仅在首次挂载时与内置 map 合并;运行期以 registry 为准
44
+ */
45
+ export declare function useNodeTypes(initialSeed?: NodeTypes): NodeTypes;
46
+ /**
47
+ * 确保某个 (nodeType, nodeKey, version) 组合的 ReactFlow wrapper 已注册。
48
+ *
49
+ * 入参 data 必须包含以下字段(任一缺失即跳过):
50
+ * - `action_key` 或 `nodeKey`:nodepackage 节点标识,缺省视为经典节点
51
+ * - `node_type` 或 `type`:用于在 CLASSIC_DESCRIPTORS 查找 base 描述符
52
+ * - `action_ver` 或 `nodeVersion`:schema 版本号;缺省或非数字时 descriptorId 省略末段
53
+ *
54
+ * 行为:
55
+ * - 缺 action_key:console.warn 后返回 null,调用方回退到 NodeType 经典描述符
56
+ * - 已注册:立即返回 identity(幂等)
57
+ * - 未注册:从 {@link nodePackageSchemaCache} 拉取 schema(命中即同步返回 / 否则远端拉取);
58
+ * schema 拉取失败仅 console.error,wrapper 仍按 base 注册(行为修复留待后续 PR)
59
+ *
60
+ * 该函数必须在 ReactFlow `addNodes` 之前 await 完成,否则节点会因 type 未注册被丢弃。
61
+ */
62
+ export declare function ensureNodeTypeRegistered(data: Record<string, unknown>): Promise<string | null>;
@@ -24,7 +24,8 @@ export interface BaseNodeProps {
24
24
  data: NodeData;
25
25
  type?: NodeType;
26
26
  selected?: boolean;
27
- icon?: React.ReactNode;
27
+ fallbackIcon?: React.ReactNode;
28
+ iconUri?: string;
28
29
  color?: string;
29
30
  inputs?: HandleConfig[];
30
31
  outputs?: HandleConfig[];
@@ -0,0 +1,51 @@
1
+ import { DipPortSchema } from '../api/dip';
2
+ import { HandleConfig } from './SuperBaseNode';
3
+ import { HandleType } from '../types/Handle';
4
+ import { default as React } from 'react';
5
+ /**
6
+ * 经典节点静态端口声明。
7
+ *
8
+ * 形态对齐 NodePackage nodeSchema 的 {@link DipPortSchema}
9
+ * (name / displayName / type / maxConnections / position…),
10
+ * 另含经典渲染所需的视觉扩展(shape / category / style)。
11
+ * 每份声明都是确定值,由 (NodeType, protocol) 组合静态索引,不再依赖节点数据判断。
12
+ */
13
+ export interface NodePortSchema extends Omit<DipPortSchema, 'protocol'> {
14
+ /** 连接协议;缺省 'main' */
15
+ protocol?: string;
16
+ /** 方向覆盖;缺省 inputs→target / outputs→source */
17
+ handleType?: HandleType;
18
+ /** 视觉形状(AI slave 菱形桩等) */
19
+ shape?: 'circle' | 'square' | 'rhombus';
20
+ /** CustomHandle 类别(AI slave 桩为 'slave') */
21
+ category?: 'main' | 'secondary' | 'slave';
22
+ /** 手工定位样式(如 { top: '33%' } / { left: '35%' });缺省不注入,由 CustomHandle 预设样式定位 */
23
+ style?: React.CSSProperties;
24
+ /** isMain 覆盖;缺省 name === 'main' */
25
+ isMain?: boolean;
26
+ }
27
+ /** (type, protocol) 维度的端口覆盖声明;省略一侧即继承 type 级默认。 */
28
+ export interface NodePortsDeclaration {
29
+ inputs?: NodePortSchema[];
30
+ outputs?: NodePortSchema[];
31
+ }
32
+ /**
33
+ * 节点自身端口间的自动连线声明。
34
+ *
35
+ * 添加节点后读取并按协议校验,自动创建节点自身的 source -> target 连线
36
+ * (如 LOOP 的 `loop -> input` 自环边)。未声明的节点默认不自动连线。
37
+ */
38
+ export interface NodeAutoConnectRule {
39
+ /** 连线起点:节点自身端口名 */
40
+ source: string;
41
+ /** 连线终点:节点自身端口名 */
42
+ target: string;
43
+ }
44
+ /**
45
+ * 静态端口声明 → SuperBaseNode 所需的 handle 配置。
46
+ *
47
+ * 纯函数、无数据依赖;声明只读,调用方可安全缓存转换结果。
48
+ * style 仅透传声明值,未声明时由 CustomHandle 预设样式定位
49
+ * (避免给 top/bottom 端口注入 top 偏移破坏布局)。
50
+ */
51
+ export declare function createClassicHandleConfigs(ports: NodePortSchema[] | undefined, side: 'input' | 'output'): HandleConfig[];
@@ -0,0 +1,11 @@
1
+ import { NodeStatus } from '../../types/Node';
2
+ import { default as React } from 'react';
3
+ export interface NodeStatusBadgeProps {
4
+ status: NodeStatus;
5
+ disabled?: boolean;
6
+ }
7
+ /**
8
+ * 节点状态统一展示在标题行中,与卡片边缘的连接锚点保持视觉分离。
9
+ */
10
+ declare const NodeStatusBadge: React.FC<NodeStatusBadgeProps>;
11
+ export default NodeStatusBadge;
@@ -1,18 +1,18 @@
1
1
  import { DipNodeSchema } from '../api/dip';
2
2
  import { HandleConfig } from './SuperBaseNode';
3
- export interface ClassicNodePackagePortLayout {
3
+ export interface NodePackagePortLayout {
4
4
  inputs: HandleConfig[];
5
5
  outputs: HandleConfig[];
6
6
  height: number;
7
7
  compact: boolean;
8
8
  }
9
9
  /**
10
- * 按端口较多的一侧计算 CLASSIC nodepackage 节点高度。
10
+ * 按端口较多的一侧计算 NodePackage 节点高度。
11
11
  *
12
12
  * 1–6 个端口保持 72px;7–12 个端口按 24px 递增;超过 12 个端口
13
13
  * 使用 16px 紧凑步长,并在极端 Schema 下限制节点最大高度。
14
14
  */
15
- export declare function getClassicNodePackageHeight(portCount: number): {
15
+ export declare function getNodePackagePortHeight(portCount: number): {
16
16
  height: number;
17
17
  compact: boolean;
18
18
  };
@@ -20,4 +20,4 @@ export declare function getClassicNodePackageHeight(portCount: number): {
20
20
  * 将 NodeSchema 的 inputs/outputs 转为 SuperBaseNode 所需的 handle 配置。
21
21
  * 不补造默认端口,空数组即代表该方向没有端口。
22
22
  */
23
- export declare function createClassicNodePackagePortLayout(schema: Pick<DipNodeSchema, 'inputs' | 'outputs'>): ClassicNodePackagePortLayout;
23
+ export declare function createNodePackagePortLayout(schema: Pick<DipNodeSchema, 'inputs' | 'outputs'>): NodePackagePortLayout;
@@ -0,0 +1,131 @@
1
+ import { NodeAutoConnectRule, NodePortSchema, NodePortsDeclaration } from './classicPortLayout';
2
+ import { HandleConfig } from './SuperBaseNode';
3
+ import { NodeType } from '../types/Node';
4
+ import { resolveSwitchNodePackagePortSchema, SwitchNodePackageBranch } from '../utils/switchNodePackage';
5
+ import { Node } from '@xyflow/react';
6
+ import { default as React } from 'react';
7
+ import { DipPortSchema } from '../api/dip';
8
+ export type NodeLegacyData = Record<string, unknown> | undefined | null;
9
+ export interface NodeTypeDescriptor {
10
+ type: NodeType | string;
11
+ className: string;
12
+ fallbackIcon: React.ReactNode;
13
+ /** type 级默认输入端口声明(node.data.protocol 缺失或未命中 byProtocol 时使用) */
14
+ inputs: NodePortSchema[];
15
+ /** type 级默认输出端口声明 */
16
+ outputs: NodePortSchema[];
17
+ /** (type, protocol) 维度端口覆盖;protocol 读取 node.data.protocol */
18
+ byProtocol?: Record<string, NodePortsDeclaration>;
19
+ /** 节点自身端口间的自动连线声明(添加节点后创建,如 LOOP 的 loop -> input 自环);缺省不自动连线 */
20
+ autoConnect?: NodeAutoConnectRule[];
21
+ useNodePackagePorts: boolean;
22
+ /** 动态 nodepackage 节点的 nodeKey(仅动态描述符有) */
23
+ nodeKey?: string;
24
+ /** 动态 nodepackage 节点的 schema 版本号(仅动态描述符有) */
25
+ nodeVersion?: number;
26
+ /** 描述符唯一 id,等于 `${type}@${nodeKey}@${nodeVersion}`(仅动态描述符有) */
27
+ descriptorId?: string;
28
+ }
29
+ /**
30
+ * 经典静态描述符:NodeType 枚举值 → 描述符。
31
+ *
32
+ * 每个确定的 (NodeType, protocol) 组合对应一份确定的端口布局等配置:
33
+ * - inputs / outputs:type 级默认端口声明
34
+ * - byProtocol:按 node.data.protocol 覆盖端口(如 MCP return-variable 无出桩、
35
+ * AI 子节点按协议出对应桩位),取代历史散落在工厂函数里的 isMcpXXX 等节点判断
36
+ *
37
+ * 节点系统重构后,这一份仍代表「无 nodeKey/version 时的回退行为」;
38
+ * 动态 nodepackage 描述符通过 {@link dynamicDescriptors} 独立存储,
39
+ * 查询时由 {@link getNodeTypeDescriptor} 合并两者。
40
+ */
41
+ export declare const CLASSIC_DESCRIPTORS: Record<NodeType, NodeTypeDescriptor>;
42
+ /**
43
+ * 把 (nodeType, nodeKey, version) 拼成描述符 id。
44
+ *
45
+ * 规则:
46
+ * - 缺 nodeKey:返回 null(不注册,由 NodeType 经典描述符兜底)
47
+ * - 缺 version / version 非有限数字:返回 `${nodeType}@${nodeKey}`(2 段)
48
+ * - version === 0 或其他有限数字:返回 `${nodeType}@${nodeKey}@${version}`(3 段,含 @0)
49
+ */
50
+ export declare function buildDescriptorId(nodeKey: string, version?: number | null): string | null;
51
+ /**
52
+ * 注册动态描述符的入参。
53
+ *
54
+ * 与 `NodeTypeDescriptor` 的区别:baseNodeType 只用于查找 base 描述符并继承字段,
55
+ * 不会以 `type` 形式写入 dynamic 描述符——避免误导使用方。
56
+ */
57
+ export interface RegisterNodeTypeDescriptorOptions {
58
+ /** 后端返回的 node_type,用于在 CLASSIC_DESCRIPTORS 查找 base 描述符 */
59
+ baseNodeType: NodeType | string;
60
+ /** nodepackage 节点 action_key,缺省时注册被跳过 */
61
+ nodeKey: string;
62
+ /** nodepackage 节点 schema 版本号(含 0)。缺省时 descriptorId 省略末段 */
63
+ nodeVersion?: number;
64
+ }
65
+ /**
66
+ * 注册动态描述符,返回生成的 descriptorId。
67
+ *
68
+ * - 缺 nodeKey:console.warn 后返回 null,由调用方回退到 NodeType 经典描述符
69
+ * - 同 id 重复注册视为幂等,不会重复触发 listeners
70
+ * - dynamic 描述符继承 base 描述符的全部字段(className / fallbackIcon /
71
+ * useNodePackagePorts / inputs / outputs / byProtocol),仅 metadata 不同
72
+ */
73
+ export declare function registerNodeTypeDescriptor(options: RegisterNodeTypeDescriptorOptions): string | null;
74
+ /**
75
+ * 列出当前已注册的所有动态描述符 id(仅动态部分,不含经典)。
76
+ */
77
+ export declare function listRegisteredDescriptorIds(): string[];
78
+ /**
79
+ * 监听注册表变更;返回取消订阅函数。
80
+ *
81
+ * 通知按帧合并,同一 tick 内多次 register 只触发一次回调,
82
+ * 避免 ReactFlow 在批量添加节点过程中重复重建 nodeTypes。
83
+ */
84
+ export declare function subscribeNodeTypeRegistry(listener: () => void): () => void;
85
+ /**
86
+ * 查询节点描述符:经典 NodeType → CUSTOM 兜底。
87
+ *
88
+ * 调用方应当把 ReactFlow `node.type` 原样传入:
89
+ * - 经典节点 `type = "ActionNode"` → 命中 CLASSIC_DESCRIPTORS
90
+ * - nodepackage 节点 `type = "ActionNode@plugin.http@3"` → 兜底 CUSTOM 描述符
91
+ * (nodepackage 的端口/样式由 nodePackageSchemaCache 驱动,见 DynamicNode)
92
+ *
93
+ * 不再接收 data 参数:descriptorId 已包含完整身份信息,无需再用 data 反推。
94
+ */
95
+ export declare function getNodeTypeDescriptor(type: NodeType | string): NodeTypeDescriptor;
96
+ /**
97
+ * 从节点数据读取 protocol(仅非空字符串有效,其余视为未携带)。
98
+ */
99
+ export declare function getNodeProtocol(data?: NodeLegacyData): string | undefined;
100
+ /**
101
+ * 按 (type, protocol) 解析静态端口声明;protocol 取自 data.protocol,
102
+ * 缺失或未命中 byProtocol 时回退 type 级默认。
103
+ */
104
+ export declare function resolveNodePorts(type: NodeType | string, data?: NodeLegacyData): Required<NodePortsDeclaration>;
105
+ /**
106
+ * 按 (type, protocol) 解析渲染用 handle 配置;声明为静态确定值,转换结果模块级缓存。
107
+ */
108
+ export declare function resolveNodeHandleConfigs(type: NodeType | string, data?: NodeLegacyData): {
109
+ inputs: HandleConfig[];
110
+ outputs: HandleConfig[];
111
+ };
112
+ export declare function peekSchemaHandleInfo(node: Node, handleName: string): DipPortSchema | null;
113
+ export declare function peekHandleInfoByProtocol(node: Node, protocol: string, isInput: boolean, preferredName?: string): DipPortSchema | null;
114
+ /**
115
+ * 测试与单测 hook:清空动态注册表。
116
+ *
117
+ * 业务侧不应调用;保留导出仅供测试隔离用例使用。
118
+ */
119
+ export declare function __resetDynamicNodeTypeDescriptorsForTests(): void;
120
+ /**
121
+ * 根据节点实例的 branches 配置构造 Switch legacy outputs,
122
+ * 端口 id 与 style 推导保持与原 SwitchNode 行为一致。
123
+ */
124
+ export declare function buildSwitchLegacyOutputs(data?: NodeLegacyData): HandleConfig[];
125
+ /**
126
+ * 读取节点实例的 Switch 分支原始数据(仅 branches,不做端口映射)。
127
+ * 供 resolveSwitchNodePackagePortSchema 的 curried resolver 复用同一份数据源。
128
+ */
129
+ export declare function readSwitchBranches(data?: NodeLegacyData): SwitchNodePackageBranch[];
130
+ export declare function branchesToLegacyOutputs(branches: SwitchNodePackageBranch[]): HandleConfig[];
131
+ export { resolveSwitchNodePackagePortSchema };
@@ -0,0 +1,35 @@
1
+ import { DipNodeSchema } from '../api/dip';
2
+ import { HandleConfig } from './SuperBaseNode';
3
+ import { NodeData, NodeType } from '../types/Node';
4
+ type PortLoadStatus = 'legacy' | 'loading' | 'ready' | 'error';
5
+ interface UseNodePackagePortsOptions {
6
+ nodeType: NodeType | string;
7
+ data: NodeData;
8
+ legacyInputs: HandleConfig[];
9
+ legacyOutputs: HandleConfig[];
10
+ resolvePortSchema?: (schema: DipNodeSchema) => Pick<DipNodeSchema, 'inputs' | 'outputs'>;
11
+ /**
12
+ * 已由 ReactFlow `node.type` 解析出的 nodeKey(仅 dynamic descriptorId 路径提供)。
13
+ * 命中时跳过 data 上的 action_key / nodeKey / inlineSchema 推断。
14
+ */
15
+ overrideNodeKey?: string;
16
+ /** 已由 ReactFlow `node.type` 解析出的 schema 版本号(仅 dynamic descriptorId 路径提供)。 */
17
+ overrideNodeVersion?: number;
18
+ }
19
+ interface NodePackagePortsResult {
20
+ inputs: HandleConfig[];
21
+ outputs: HandleConfig[];
22
+ height?: number;
23
+ status: PortLoadStatus;
24
+ isNodePackage: boolean;
25
+ schema: DipNodeSchema | null;
26
+ }
27
+ /**
28
+ * 为 NodePackage 节点加载 NodeSchema 并生成动态端口。
29
+ *
30
+ * 仅当宿主开启 connectable 能力且节点被判定为 NodePackage(action_id <= 0)时生效;
31
+ * 其它节点完整保留 legacy 端口。Schema 通过 {@link peekNodePackageSchema} 从全局 cache 同步读取,
32
+ * 未命中时由 {@link getNodePackageSchema} 远端拉取(已通过 connectable 列表预热 cache)。
33
+ */
34
+ export declare function useNodePackagePorts({ nodeType, data, legacyInputs, legacyOutputs, resolvePortSchema, overrideNodeKey, overrideNodeVersion, }: UseNodePackagePortsOptions): NodePackagePortsResult;
35
+ export {};
@@ -0,0 +1,14 @@
1
+ import { FieldDef, FormSchema, VisibleWhen } from '../../../../dynamic-form/types/form-schema';
2
+ import { DipDisplayCondition, DipFieldSchema } from '../../api/dip';
3
+ /**
4
+ * 将后端 DisplayCondition 转为 DynamicForm VisibleWhen
5
+ */
6
+ export declare function convertDisplayCondition(condition: DipDisplayCondition | null | undefined): VisibleWhen | undefined;
7
+ /**
8
+ * 转换单个 DIP FieldSchema → DynamicForm FieldDef
9
+ */
10
+ export declare function convertFieldSchema(field: DipFieldSchema): FieldDef;
11
+ /**
12
+ * 将 DIP FieldSchema 数组转换为 DynamicForm FormSchema
13
+ */
14
+ export declare function convertFieldsToFormSchema(fields: DipFieldSchema[]): FormSchema;
@@ -1,3 +1,7 @@
1
1
  export declare const TAG_TESTER: RegExp;
2
2
  export declare const strToElm: (value: any, capturePattern: any) => any;
3
- export declare const parseInitValue: (value: any, capturePattern: any) => any;
3
+ export declare const parseInitValue: (value: any, capturePattern: any) => {
4
+ type: string;
5
+ className: string;
6
+ children: any;
7
+ }[];
@@ -14,6 +14,7 @@ interface IFormFieldRendererProps {
14
14
  onSubmit(properties: any, isRunNodeTest?: boolean): void;
15
15
  onNodePackageValuesChange?: (properties: Record<string, unknown>) => void;
16
16
  mcpMode?: boolean;
17
+ preRender?: React.ReactNode;
17
18
  }
18
19
  /**
19
20
  * @description 动作节点配置表单渲染器,负责解析后台 schema、保存配置以及触发节点测试。
@@ -1,6 +1,8 @@
1
1
  interface NodeTestProps {
2
2
  nodeId: string;
3
3
  beforeHook?: (isRunNodeTest?: boolean, ignore?: boolean, output?: string) => void;
4
+ onClose: () => void;
5
+ onExpandPanel: (expand: boolean) => void;
4
6
  }
5
7
  declare const NodeTest: import('react').ForwardRefExoticComponent<NodeTestProps & import('react').RefAttributes<unknown>>;
6
8
  export default NodeTest;
@@ -1,4 +1,14 @@
1
1
  import { NodeStatus } from '../../types/Node';
2
+ interface NodeTestAvailabilityInput {
3
+ canEdit: boolean;
4
+ nodeType?: string;
5
+ protocol?: string;
6
+ }
7
+ export interface NodeTestAvailability {
8
+ disabled: boolean;
9
+ reason?: string;
10
+ }
11
+ export declare const getNodeTestAvailability: ({ canEdit, nodeType, protocol, }: NodeTestAvailabilityInput) => NodeTestAvailability;
2
12
  export declare const isFailedNodeTestResponse: (data: unknown) => boolean;
3
13
  export declare const getNodeTestStatus: (data: unknown) => NodeStatus.FAILED | NodeStatus.SUCCESS;
4
14
  export declare const formatNodeTestResult: (data: unknown) => string;
@@ -11,3 +21,4 @@ export type SampleValidation = {
11
21
  };
12
22
  /** 校验「使用样本数据」的输入:非空 + 合法 JSON,返回规整后的文本或错误文案。 */
13
23
  export declare const validateSampleData: (raw: string) => SampleValidation;
24
+ export {};
@@ -18,23 +18,16 @@ interface Output {
18
18
  value: null | string;
19
19
  }
20
20
  export declare enum Type {
21
+ Array = "ARRAY",
21
22
  Boolean = "BOOLEAN",
23
+ Null = "NULL",
22
24
  Number = "NUMBER",
23
25
  Object = "OBJECT",
24
26
  String = "STRING"
25
27
  }
26
- export declare const ColorMap: {
27
- BOOLEAN: string;
28
- NUMBER: string;
29
- OBJECT: string;
30
- STRING: string;
31
- };
32
- export declare const TypeTagMap: {
33
- BOOLEAN: string;
34
- NUMBER: string;
35
- OBJECT: string;
36
- STRING: string;
37
- };
28
+ export declare const ColorMap: Record<string, string>;
29
+ export declare const TypeTagMap: Record<string, string>;
30
+ export declare const getVariableTypeLabel: (type: string, multiValued?: boolean) => string;
38
31
  export declare const transformServerTree2Local: (serverData: VarDatum[]) => {
39
32
  label: string;
40
33
  sub_params: Output[];
@@ -1,23 +1,16 @@
1
- import { NodeType } from '../types/Node';
2
1
  type AnyRecord = Record<string, any>;
3
- export declare function isMcpGatewayNodeType(nodeType?: string | null): nodeType is NodeType;
4
- export declare function getMcpGatewayActionKey(nodeType?: string | null): string;
5
- export declare function isNextCompatibleNodeType(nodeType?: string | null): nodeType is NodeType;
6
2
  /**
7
- * 判断 classic 画布中的节点是否需要用新版 NodeSchema 渲染/保存。
3
+ * 判断节点是否属于 NodePackage 节点(有新版 NodeSchema 描述)。
8
4
  *
9
- * 返回 true 的含义不是 EngineMode.NEXT 节点,而是 nodepackage 节点:
10
- * classic 配置面板里要启用 DynamicForm + NodeSchema 兼容链路。
11
- * 判定顺序按后端数据可信度从强到弱:
5
+ * 唯一强信号:data.action_id 是否 <= 0。
6
+ * - action_id <= 0(含 undefined / NaN / 0 / 负数)→ NodePackage(dynamic wrapper 路径)
7
+ * - action_id > 0 → 经典(NodeType 经典描述符路径)
12
8
  *
13
- * 1. `config_schema/properties.sub_params` 是旧节点强信号,直接走旧表单。
14
- * 2. `action_id/id > 0` 是旧节点强信号;`action_id/id <= 0` 才可能是新版节点。
15
- * 3. 没有 `action_key/nodeKey` 的节点不能拉新版 schema,仍走旧表单。
16
- * 4. 老 Loop/If/Switch 保存后没有 `sub_params`,但会出现控制节点业务配置,
17
- * 这些也必须继续走专用控制表单。
9
+ * 该规则与 {@link useDataLoading.preloadClassicNodeSchemas} / {@link useDataLoading.ensureClassicNodeTypesRegistered}
10
+ * 的过滤条件保持一致。Schema 本身已不再写入 node.data,因此不再读取 data.node_schema 作为信号。
18
11
  */
19
- export declare function isClassicNextCompatibleNode(nodeType: string | undefined, data?: AnyRecord): boolean;
20
- export declare function unwrapNextCompatiblePropertiesEnvelope(value: unknown): AnyRecord;
21
- export declare function getNextCompatibleSubmittedProperties(values: unknown): AnyRecord;
22
- export declare function getNextCompatibleAccountId(values: unknown): any;
12
+ export declare function isNodePackageNode(data?: AnyRecord): boolean;
13
+ export declare function unwrapNodePackagePropertiesEnvelope(value: unknown): AnyRecord;
14
+ export declare function getNodePackageSubmittedProperties(values: unknown): AnyRecord;
15
+ export declare function getNodePackageAccountId(values: unknown): any;
23
16
  export {};
@@ -1,5 +1,5 @@
1
- import { default as React } from 'react';
2
1
  import { CanvasEngineConfig } from '../types/engine';
2
+ import { default as React } from 'react';
3
3
  export interface CanvasConfigDebuggerProps {
4
4
  /**
5
5
  * 当前画布配置(部分配置即可)
@@ -1,5 +1,5 @@
1
- import { default as React } from 'react';
2
1
  import { CategoryItem as CategoryItemType } from '../types';
2
+ import { default as React } from 'react';
3
3
  interface CategoryItemProps {
4
4
  category: CategoryItemType;
5
5
  onClick: (category: CategoryItemType) => void;
@@ -7,7 +7,7 @@ interface CategoryTabsProps {
7
7
  onChange: (category: CategoryItem) => void;
8
8
  }
9
9
  /**
10
- * @description 分类标签组件,承载“全部 + 分类”平铺的快捷筛选。
10
+ * @description 分类标签组件,承载“全部 + 分类”平铺的快捷筛选。
11
11
  * @param {CategoryTabsProps} props 分类与交互参数。
12
12
  * @returns {JSX.Element} Tab 渲染结果。
13
13
  */
@@ -1,5 +1,5 @@
1
- import { default as React } from 'react';
2
1
  import { ActionItem, NodeTypeItem } from '../types';
2
+ import { default as React } from 'react';
3
3
  interface NodeCardProps {
4
4
  node: NodeTypeItem;
5
5
  expanded: boolean;
@@ -1,5 +1,5 @@
1
- import { default as React } from 'react';
2
1
  import { NodeTypeItem } from '../types';
2
+ import { default as React } from 'react';
3
3
  interface NodeItemProps {
4
4
  node: NodeTypeItem;
5
5
  onClick: (node: NodeTypeItem) => void;
@@ -1,5 +1,5 @@
1
- import { default as React } from 'react';
2
1
  import { CategoryItem, NodeTypeItem } from '../types';
2
+ import { default as React } from 'react';
3
3
  interface PanelHeaderProps {
4
4
  currentCategory: CategoryItem | null;
5
5
  categoryPath: CategoryItem[];
@@ -3,13 +3,11 @@ import { NodeAddInfo } from '../../../types/NodeAddContext';
3
3
  type SearchHandler = NonNullable<ModernNodeSelectorProps['onSearch']>;
4
4
  type CategoryHandler = NonNullable<ModernNodeSelectorProps['onFetchCategories']>;
5
5
  type NodeCategoryHandler = NonNullable<ModernNodeSelectorProps['onFetchNodesByCategory']>;
6
- type EntryMode = 'automation' | 'mcp' | null;
7
6
  interface FetchNodeActionOptions {
8
7
  suppressLoading?: boolean;
9
8
  }
10
9
  interface UseConnectableNodeSelectorProps {
11
10
  nodeSelectorVisible: boolean;
12
- entryMode: EntryMode;
13
11
  effectiveNodeAddInfo?: NodeAddInfo | null;
14
12
  workflowId?: string;
15
13
  onSearch?: SearchHandler;
@@ -20,13 +18,12 @@ interface UseConnectableNodeSelectorProps {
20
18
  /**
21
19
  * @description 为 NodePackage 连线场景选择数据源,并封装查询与边中插入求交。
22
20
  */
23
- export declare function useConnectableNodeSelector({ nodeSelectorVisible, entryMode, effectiveNodeAddInfo, workflowId, onSearch, onFetchCategories, onFetchNodesByCategory, fetchLegacyNodeActions, }: UseConnectableNodeSelectorProps): {
21
+ export declare function useConnectableNodeSelector({ nodeSelectorVisible, effectiveNodeAddInfo, workflowId, onSearch, onFetchCategories, onFetchNodesByCategory, }: UseConnectableNodeSelectorProps): {
24
22
  actionRequestContextKey: string;
25
23
  connectableContext: import('../utils/connectableQuery').ConnectableQueryContext;
26
- useConnectableDataSource: boolean;
27
24
  onSearch: (params?: LinkSearchParams) => Promise<NodeFetchResult>;
28
25
  onFetchCategories: (type?: import('../types').CategoryRequestType) => Promise<import('../types').CategoryItem[]>;
29
26
  onFetchNodesByCategory: (params?: LinkSearchParams) => Promise<NodeFetchResult>;
30
- fetchNodeActions: (node: NodeTypeItem, options?: FetchNodeActionOptions) => Promise<ActionItem[]>;
27
+ fetchNodeActions: (node: NodeTypeItem, _options?: FetchNodeActionOptions) => Promise<ActionItem[]>;
31
28
  };
32
29
  export {};