@digitalsee-ai/rcs 1.1.9 → 2.0.0-beta11

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 (184) 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 +4 -8
  9. package/dist/components/digitalsee/workflow/Canvas/actionItemToNodeData.d.ts +1 -6
  10. package/dist/components/digitalsee/workflow/Canvas/constants.d.ts +25 -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 +42 -5
  14. package/dist/components/digitalsee/workflow/Canvas/hooks/useNodeAddCallback.d.ts +2 -3
  15. package/dist/components/digitalsee/workflow/Canvas/hooks/useSaveFlowAfterNodeAdd.d.ts +4 -7
  16. package/dist/components/digitalsee/workflow/Canvas/hooks/useWorkflowCanvasState.d.ts +20 -4
  17. package/dist/components/digitalsee/workflow/Canvas/types.d.ts +19 -21
  18. package/dist/components/digitalsee/workflow/Edges/BaseEdge.d.ts +2 -0
  19. package/dist/components/digitalsee/workflow/Edges/EdgeFactory.d.ts +3 -8
  20. package/dist/components/digitalsee/workflow/Edges/edgeLayout.d.ts +97 -0
  21. package/dist/components/digitalsee/workflow/Handles/CustomHandle.d.ts +1 -0
  22. package/dist/components/digitalsee/workflow/Handles/customHandleConnectable.d.ts +28 -1
  23. package/dist/components/digitalsee/workflow/Nodes/DeclaredNode.d.ts +37 -0
  24. package/dist/components/digitalsee/workflow/Nodes/DynamicNode.d.ts +24 -0
  25. package/dist/components/digitalsee/workflow/Nodes/NodeFactory.d.ts +42 -4
  26. package/dist/components/digitalsee/workflow/Nodes/SuperBaseNode.d.ts +2 -1
  27. package/dist/components/digitalsee/workflow/Nodes/classicPortLayout.d.ts +51 -0
  28. package/dist/components/digitalsee/workflow/Nodes/components/NodeStatusBadge.d.ts +11 -0
  29. package/dist/components/digitalsee/workflow/Nodes/{classicNodePackagePortLayout.d.ts → nodePackagePortLayout.d.ts} +4 -4
  30. package/dist/components/digitalsee/workflow/Nodes/nodeTypeRegistry.d.ts +131 -0
  31. package/dist/components/digitalsee/workflow/Nodes/useNodePackagePorts.d.ts +35 -0
  32. package/dist/components/digitalsee/workflow/NodesConfig/NodePackageConfig/fieldSchemaAdapter.d.ts +14 -0
  33. package/dist/components/digitalsee/workflow/NodesConfig/components/FormFieldRenderer/fields/RichTagInput/help.d.ts +5 -1
  34. package/dist/components/digitalsee/workflow/NodesConfig/components/FormFieldRenderer/fields/TextField/index.d.ts +2 -0
  35. package/dist/components/digitalsee/workflow/NodesConfig/components/FormFieldRenderer/fields/WebhookLabelField/index.d.ts +2 -2
  36. package/dist/components/digitalsee/workflow/NodesConfig/components/FormFieldRenderer/index.d.ts +1 -0
  37. package/dist/components/digitalsee/workflow/NodesConfig/components/NodeTest.d.ts +2 -0
  38. package/dist/components/digitalsee/workflow/NodesConfig/components/NodeTest.helpers.d.ts +11 -0
  39. package/dist/components/digitalsee/workflow/NodesConfig/components/VariableModal/tree-help.d.ts +5 -12
  40. package/dist/components/digitalsee/workflow/NodesConfig/context.d.ts +13 -0
  41. package/dist/components/digitalsee/workflow/NodesConfig/submitPayload.d.ts +10 -17
  42. package/dist/components/digitalsee/workflow/NodesConfig/useClearVariableTargetOnFormMouseDown.d.ts +15 -0
  43. package/dist/components/digitalsee/workflow/NodesConfig/useVariableActiveTarget.d.ts +13 -0
  44. package/dist/components/digitalsee/workflow/Panels/CanvasConfigDebugger.d.ts +1 -1
  45. package/dist/components/digitalsee/workflow/Panels/ModernNodeSelectorPanel/components/CategoryItem.d.ts +1 -1
  46. package/dist/components/digitalsee/workflow/Panels/ModernNodeSelectorPanel/components/CategoryTabs.d.ts +1 -1
  47. package/dist/components/digitalsee/workflow/Panels/ModernNodeSelectorPanel/components/NodeCard.d.ts +1 -1
  48. package/dist/components/digitalsee/workflow/Panels/ModernNodeSelectorPanel/components/NodeItem.d.ts +1 -1
  49. package/dist/components/digitalsee/workflow/Panels/ModernNodeSelectorPanel/components/PanelHeader.d.ts +1 -1
  50. package/dist/components/digitalsee/workflow/Panels/ModernNodeSelectorPanel/hooks/useConnectableNodeSelector.d.ts +5 -8
  51. package/dist/components/digitalsee/workflow/Panels/ModernNodeSelectorPanel/types.d.ts +10 -4
  52. package/dist/components/digitalsee/workflow/Panels/ModernNodeSelectorPanel/utils/connectableDataSource.d.ts +6 -10
  53. package/dist/components/digitalsee/workflow/Panels/SimpleNodeSelectorPanel/components/NodeListItem.d.ts +1 -1
  54. package/dist/components/digitalsee/workflow/api/dip.types.d.ts +30 -1
  55. package/dist/components/digitalsee/workflow/api/index.d.ts +3 -22
  56. package/dist/components/digitalsee/workflow/builtin/controls/ConfigSubflow/index.d.ts +2 -2
  57. package/dist/components/digitalsee/workflow/builtin/globalConfig/index.d.ts +5 -1
  58. package/dist/components/digitalsee/workflow/config/globalConfig.d.ts +1 -5
  59. package/dist/components/digitalsee/workflow/config/layerConfig.d.ts +14 -0
  60. package/dist/components/digitalsee/workflow/config/themeConfig.d.ts +20 -23
  61. package/dist/components/digitalsee/workflow/constants/nodePackageHandles.d.ts +10 -0
  62. package/dist/components/digitalsee/workflow/context/workflowTriggerContext.d.ts +22 -0
  63. package/dist/components/digitalsee/workflow/coverage/acceptanceManifest.d.ts +30 -0
  64. package/dist/components/digitalsee/workflow/coverage/runtimeCoverage.d.ts +34 -0
  65. package/dist/components/digitalsee/workflow/design-system/AiFlowNodeTestPanel.d.ts +24 -0
  66. package/dist/components/digitalsee/workflow/design-system/AiFlowVariableTree.d.ts +34 -0
  67. package/dist/components/digitalsee/workflow/design-system/index.d.ts +3 -0
  68. package/dist/components/digitalsee/workflow/design-system/tokens.d.ts +103 -0
  69. package/dist/components/digitalsee/workflow/enums/canvas.d.ts +0 -12
  70. package/dist/components/digitalsee/workflow/enums/edge.d.ts +4 -2
  71. package/dist/components/digitalsee/workflow/enums/node.d.ts +5 -6
  72. package/dist/components/digitalsee/workflow/enums/workflow.d.ts +1 -1
  73. package/dist/components/digitalsee/workflow/examples/global-config-example.d.ts +1 -1
  74. package/dist/components/digitalsee/workflow/hooks/state.hooks.d.ts +1 -7
  75. package/dist/components/digitalsee/workflow/hooks/use-flow-data-operation.d.ts +1 -1
  76. package/dist/components/digitalsee/workflow/hooks/useCanvasLayout.d.ts +1 -1
  77. package/dist/components/digitalsee/workflow/hooks/useCanvasMode.d.ts +8 -0
  78. package/dist/components/digitalsee/workflow/hooks/useCanvasNavigate.d.ts +10 -0
  79. package/dist/components/digitalsee/workflow/hooks/useHandleConnections.d.ts +11 -1
  80. package/dist/components/digitalsee/workflow/hooks/useVariables.d.ts +8 -1
  81. package/dist/components/digitalsee/workflow/hooks/useWorkflow.d.ts +1 -1
  82. package/dist/components/digitalsee/workflow/index.d.ts +39 -47
  83. package/dist/components/digitalsee/workflow/migration/umi.d.ts +1 -2
  84. package/dist/components/digitalsee/workflow/store/panelSlice.d.ts +64 -0
  85. package/dist/components/digitalsee/workflow/store/workflowSlice.d.ts +3 -2
  86. package/dist/components/digitalsee/workflow/types/Node.d.ts +2 -0
  87. package/dist/components/digitalsee/workflow/types/NodeAddContext.d.ts +1 -1
  88. package/dist/components/digitalsee/workflow/types/Workflow.d.ts +1 -1
  89. package/dist/components/digitalsee/workflow/types/engine.d.ts +29 -12
  90. package/dist/components/digitalsee/workflow/types/flowVersion.d.ts +0 -30
  91. package/dist/components/digitalsee/workflow/utils/connectionCheck.d.ts +30 -0
  92. package/dist/components/digitalsee/workflow/utils/graphLoop.d.ts +12 -0
  93. package/dist/components/digitalsee/workflow/utils/layoutUtils.d.ts +2 -2
  94. package/dist/components/digitalsee/workflow/utils/mcpCanvas.d.ts +0 -40
  95. package/dist/components/digitalsee/workflow/utils/mode.d.ts +18 -0
  96. package/dist/components/digitalsee/workflow/utils/nodeAutoConnect.d.ts +24 -0
  97. package/dist/components/digitalsee/workflow/utils/nodeCommon.d.ts +10 -0
  98. package/dist/components/digitalsee/workflow/utils/nodeHandleLayout.d.ts +83 -0
  99. package/dist/components/digitalsee/workflow/utils/nodePackageConnection.d.ts +28 -0
  100. package/dist/components/digitalsee/workflow/utils/nodePackageGraphValidation.d.ts +29 -0
  101. package/dist/components/digitalsee/workflow/utils/nodePackageSchemaCache.d.ts +15 -0
  102. package/dist/components/digitalsee/workflow/utils/onNodeRemoveHook.d.ts +8 -0
  103. package/dist/components/digitalsee/workflow/utils/triggerNode.d.ts +13 -0
  104. package/dist/components/digitalsee/workflow/utils/workflowConnectionValidator.d.ts +1 -3
  105. package/dist/components/digitalsee/workflow/workflow.story-fixtures.d.ts +50 -0
  106. package/dist/components/dynamic-form/DynamicForm.d.ts +3 -1
  107. package/dist/components/dynamic-form/index.d.ts +0 -3
  108. package/dist/index-6UR19hpE.mjs +282 -0
  109. package/dist/{index-CqZ6Y0AC.mjs → index-DvM_eQdC.mjs} +45732 -48436
  110. package/dist/locales/en-US/common.d.ts +29 -52
  111. package/dist/locales/en-US.d.ts +29 -52
  112. package/dist/locales/zh-CN/common.d.ts +29 -52
  113. package/dist/locales/zh-CN.d.ts +29 -52
  114. package/dist/locales/zh-TW/common.d.ts +29 -52
  115. package/dist/locales/zh-TW.d.ts +29 -52
  116. package/dist/rcs.css +1 -1
  117. package/dist/rcs.es.js +39 -39
  118. package/dist/rcs.umd.js +131 -78
  119. package/package.json +38 -23
  120. package/dist/components/digitalsee/workflow/Canvas/FlowVersionManager.d.ts +0 -17
  121. package/dist/components/digitalsee/workflow/Canvas/NextConfigModalWrapper.d.ts +0 -9
  122. package/dist/components/digitalsee/workflow/Canvas/NextWorkflowCanvas.d.ts +0 -4
  123. package/dist/components/digitalsee/workflow/Canvas/NextWorkflowCanvasHeader.d.ts +0 -17
  124. package/dist/components/digitalsee/workflow/Canvas/hooks/createNodeAddHandlerNext.d.ts +0 -38
  125. package/dist/components/digitalsee/workflow/NextNodesConfigModal/index.d.ts +0 -13
  126. package/dist/components/digitalsee/workflow/Nodes/AISubNode.d.ts +0 -9
  127. package/dist/components/digitalsee/workflow/Nodes/ActionNode.d.ts +0 -13
  128. package/dist/components/digitalsee/workflow/Nodes/AgentNode.d.ts +0 -10
  129. package/dist/components/digitalsee/workflow/Nodes/BrowserNode.d.ts +0 -10
  130. package/dist/components/digitalsee/workflow/Nodes/BuiltinMCPNode.d.ts +0 -9
  131. package/dist/components/digitalsee/workflow/Nodes/ConditionNode.d.ts +0 -13
  132. package/dist/components/digitalsee/workflow/Nodes/CustomNode.d.ts +0 -15
  133. package/dist/components/digitalsee/workflow/Nodes/LoopNode.d.ts +0 -4
  134. package/dist/components/digitalsee/workflow/Nodes/MCPServerNode.d.ts +0 -9
  135. package/dist/components/digitalsee/workflow/Nodes/MCPToolNode.d.ts +0 -9
  136. package/dist/components/digitalsee/workflow/Nodes/NextNodeFactory.d.ts +0 -12
  137. package/dist/components/digitalsee/workflow/Nodes/NextNodes/NextActionNode.d.ts +0 -9
  138. package/dist/components/digitalsee/workflow/Nodes/NextNodes/NextBaseNode.d.ts +0 -16
  139. package/dist/components/digitalsee/workflow/Nodes/NextNodes/NextConditionNode.d.ts +0 -10
  140. package/dist/components/digitalsee/workflow/Nodes/NextNodes/NextLoopNode.d.ts +0 -10
  141. package/dist/components/digitalsee/workflow/Nodes/NextNodes/NextSwitchNode.d.ts +0 -10
  142. package/dist/components/digitalsee/workflow/Nodes/NextNodes/NextTriggerNode.d.ts +0 -9
  143. package/dist/components/digitalsee/workflow/Nodes/SelfLoopNode.d.ts +0 -4
  144. package/dist/components/digitalsee/workflow/Nodes/StartNode.d.ts +0 -1
  145. package/dist/components/digitalsee/workflow/Nodes/SwitchNode.d.ts +0 -13
  146. package/dist/components/digitalsee/workflow/Nodes/TriggerNode.d.ts +0 -10
  147. package/dist/components/digitalsee/workflow/Nodes/components/NextNodeDescription.d.ts +0 -16
  148. package/dist/components/digitalsee/workflow/Nodes/components/NextNodeOperations.d.ts +0 -11
  149. package/dist/components/digitalsee/workflow/Nodes/useClassicNodePackagePorts.d.ts +0 -27
  150. package/dist/components/digitalsee/workflow/NodesConfig/NextNodeConfig/CreateCredentialModal.d.ts +0 -13
  151. package/dist/components/digitalsee/workflow/NodesConfig/NextNodeConfig/CredentialSelect.d.ts +0 -17
  152. package/dist/components/digitalsee/workflow/NodesConfig/NextNodeConfig/ModifyCredentialModal.d.ts +0 -17
  153. package/dist/components/digitalsee/workflow/NodesConfig/NextNodeConfig/fieldSchemaAdapter.d.ts +0 -10
  154. package/dist/components/digitalsee/workflow/NodesConfig/NextNodeConfig/index.d.ts +0 -17
  155. package/dist/components/digitalsee/workflow/NodesConfig/components/NextNodeSettings.d.ts +0 -6
  156. package/dist/components/digitalsee/workflow/NodesConfig/components/NextNodeTest.d.ts +0 -6
  157. package/dist/components/digitalsee/workflow/NodesConfig/components/NextVariableModal/index.d.ts +0 -6
  158. package/dist/components/digitalsee/workflow/NodesConfig/components/NextVariableModal/variable-tree-next.d.ts +0 -49
  159. package/dist/components/digitalsee/workflow/Panels/ModernNodeSelectorPanel/components/EntryTypeSelector.d.ts +0 -8
  160. package/dist/components/digitalsee/workflow/Panels/ModernNodeSelectorPanel/components/NodeCardList.d.ts +0 -20
  161. package/dist/components/digitalsee/workflow/Panels/ModernNodeSelectorPanel/hooks/useNodeActionState.d.ts +0 -28
  162. package/dist/components/digitalsee/workflow/Panels/ModernNodeSelectorPanel/hooks/useNodeSelectorPresentation.d.ts +0 -25
  163. package/dist/components/digitalsee/workflow/Panels/ModernNodeSelectorPanel/utils/filterEdgeInsertActions.d.ts +0 -62
  164. package/dist/components/digitalsee/workflow/Panels/ModernNodeSelectorPanel/utils/queryParams.d.ts +0 -18
  165. package/dist/components/digitalsee/workflow/constants/nextHandles.d.ts +0 -1
  166. package/dist/components/digitalsee/workflow/utils/classicNodePackageConnection.d.ts +0 -28
  167. package/dist/components/digitalsee/workflow/utils/classicNodePackageGraphValidation.d.ts +0 -29
  168. package/dist/components/digitalsee/workflow/utils/nextNodeSchemaCache.d.ts +0 -14
  169. package/dist/components/digitalsee/workflow/utils/queuedNodeConfigOpen.d.ts +0 -12
  170. package/dist/components/dynamic-form/components/SelectWithExpression/index.d.ts +0 -25
  171. package/dist/components/dynamic-form/components/VariableInput/index.d.ts +0 -26
  172. package/dist/components/dynamic-form/components/VariableInput/utils.d.ts +0 -38
  173. package/dist/components/dynamic-form/components/VariableTextarea/index.d.ts +0 -10
  174. package/dist/index-BnE-Ea2s.mjs +0 -312
  175. package/dist/index-BnE-Ea2s.mjs.map +0 -1
  176. package/dist/index-CqZ6Y0AC.mjs.map +0 -1
  177. package/dist/postcss.config.js +0 -1
  178. package/dist/rcs.es.js.map +0 -1
  179. package/dist/rcs.umd.js.map +0 -1
  180. /package/dist/components/digitalsee/workflow/NodesConfig/{NextNodeConfig → NodePackageConfig}/WorkflowNodeSchemaFieldProvider.d.ts +0 -0
  181. /package/dist/components/digitalsee/workflow/NodesConfig/{NextNodeConfig → NodePackageConfig}/fields/WorkflowCodeField.d.ts +0 -0
  182. /package/dist/components/digitalsee/workflow/NodesConfig/{NextNodeConfig → NodePackageConfig}/fields/WorkflowProxyField.d.ts +0 -0
  183. /package/dist/components/digitalsee/workflow/NodesConfig/{NextNodeConfig → NodePackageConfig}/proxyField.d.ts +0 -0
  184. /package/dist/components/digitalsee/workflow/NodesConfig/components/FormFieldRenderer/{next-compatible.d.ts → nodePackage-compatible.d.ts} +0 -0
@@ -0,0 +1,24 @@
1
+ import { default as React } from 'react';
2
+ export type AiFlowNodeTestStatus = 'waiting' | 'running' | 'success' | 'failure' | 'ignored' | 'disabled';
3
+ export interface AiFlowNodeTestPanelProps {
4
+ status: AiFlowNodeTestStatus;
5
+ result?: string;
6
+ progress?: number;
7
+ runningAction?: 'run' | 'ignore';
8
+ showAlert?: boolean;
9
+ canEdit?: boolean;
10
+ disabledReason?: string;
11
+ editing?: boolean;
12
+ editableValue?: string;
13
+ onEditableValueChange?: (value: string) => void;
14
+ onRun?: () => void;
15
+ onIgnore?: () => void;
16
+ onReset?: () => void;
17
+ onToggleEdit?: () => void;
18
+ onDismissAlert?: () => void;
19
+ className?: string;
20
+ onClose: () => void;
21
+ onExpandPanel?: (expanded: boolean) => void;
22
+ }
23
+ declare const AiFlowNodeTestPanel: React.FC<AiFlowNodeTestPanelProps>;
24
+ export default AiFlowNodeTestPanel;
@@ -0,0 +1,34 @@
1
+ import { default as React } from 'react';
2
+ export type AiFlowVariableType = 'ARRAY' | 'BOOLEAN' | 'NULL' | 'NUMBER' | 'OBJECT' | 'STRING';
3
+ export type AiFlowVariableNode = {
4
+ key: string;
5
+ name: string;
6
+ label: string;
7
+ type: AiFlowVariableType;
8
+ path: string[];
9
+ value?: string;
10
+ multiValued?: boolean;
11
+ disabled?: boolean;
12
+ root?: boolean;
13
+ iconUrl?: string;
14
+ children?: AiFlowVariableNode[];
15
+ };
16
+ export type AiFlowVariableSection = {
17
+ key: string;
18
+ label: string;
19
+ source: 'global' | 'node';
20
+ nodes: AiFlowVariableNode[];
21
+ };
22
+ export interface AiFlowVariableTreeProps {
23
+ sections: AiFlowVariableSection[];
24
+ state?: 'ready' | 'loading' | 'error';
25
+ errorMessage?: string;
26
+ selectedKey?: string;
27
+ searchable?: boolean;
28
+ defaultExpandAll?: boolean;
29
+ onSelect?: (node: AiFlowVariableNode) => void;
30
+ onRetry?: () => void;
31
+ className?: string;
32
+ }
33
+ declare const AiFlowVariableTree: React.FC<AiFlowVariableTreeProps>;
34
+ export default AiFlowVariableTree;
@@ -0,0 +1,3 @@
1
+ export { type AiFlowNodeTestPanelProps, type AiFlowNodeTestStatus, default as AiFlowNodeTestPanel, } from './AiFlowNodeTestPanel';
2
+ export { type AiFlowVariableNode, type AiFlowVariableSection, type AiFlowVariableTreeProps, type AiFlowVariableType, default as AiFlowVariableTree, } from './AiFlowVariableTree';
3
+ export { AI_FLOW_DESIGN_SYSTEM_VERSION, type AiFlowTokens, aiFlowCssVariables, aiFlowTokens, } from './tokens';
@@ -0,0 +1,103 @@
1
+ export declare const AI_FLOW_DESIGN_SYSTEM_VERSION = "1.0.0";
2
+ /**
3
+ * AI FLOW 语义 Token(权威源)。
4
+ *
5
+ * 组件实现、Storybook 和宿主应用都应使用这里的语义值,不要在业务页面重新定义颜色、
6
+ * 圆角和阴影。CSS 中可使用同名的 `--ai-flow-*` 自定义属性。
7
+ *
8
+ * ⚠️ 此文件是颜色、圆角、阴影、间距等视觉属性的唯一权威来源。
9
+ * 以下两个文件由此派生,三者必须保持同步:
10
+ * - config/themeConfig.ts — Ant Design ThemeConfig
11
+ * - styles/design-system.less — CSS 自定义属性 & Less 变量
12
+ */
13
+ export declare const aiFlowTokens: {
14
+ readonly color: {
15
+ readonly brand: "#2d5bff";
16
+ readonly brandHover: "#1e45e6";
17
+ readonly text: "#0f172a";
18
+ readonly textSecondary: "#334155";
19
+ readonly textMuted: "#64748b";
20
+ readonly textSubtle: "#94a3b8";
21
+ readonly surface: "#ffffff";
22
+ readonly surfaceMuted: "#f8fafc";
23
+ readonly surfaceSunken: "#f1f5f9";
24
+ readonly canvas: "#eef0f4";
25
+ readonly border: "#e2e8f0";
26
+ readonly borderStrong: "#cbd5e1";
27
+ readonly borderSoft: "#eef1f5";
28
+ readonly success: "#16a34a";
29
+ readonly warning: "#d97706";
30
+ readonly danger: "#dc2626";
31
+ readonly runtime: "#0891b2";
32
+ readonly agent: "#6d28d9";
33
+ readonly trigger: "#0f9d6e";
34
+ readonly return: "#7c3aed";
35
+ };
36
+ readonly typography: {
37
+ readonly fontFamily: "-apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', 'Microsoft YaHei', sans-serif";
38
+ readonly monoFamily: "'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace";
39
+ readonly titleSize: 14;
40
+ readonly bodySize: 13;
41
+ readonly captionSize: 11;
42
+ readonly titleWeight: 650;
43
+ readonly bodyWeight: 400;
44
+ };
45
+ readonly radius: {
46
+ readonly tag: 6;
47
+ readonly control: 8;
48
+ readonly popover: 10;
49
+ readonly card: 12;
50
+ readonly node: 13;
51
+ readonly canvas: 14;
52
+ };
53
+ readonly size: {
54
+ readonly controlHeight: 34;
55
+ readonly nodeIcon: 36;
56
+ readonly canvasHeader: 58;
57
+ readonly port: 10;
58
+ };
59
+ readonly spacing: {
60
+ readonly 1: 4;
61
+ readonly 2: 8;
62
+ readonly 3: 12;
63
+ readonly 4: 16;
64
+ readonly 5: 20;
65
+ readonly 6: 24;
66
+ };
67
+ readonly shadow: {
68
+ readonly xs: "0 1px 2px rgba(15, 23, 42, 0.04)";
69
+ readonly sm: "0 1px 3px rgba(15, 23, 42, 0.06), 0 1px 2px rgba(15, 23, 42, 0.04)";
70
+ readonly md: "0 8px 24px -8px rgba(15, 23, 42, 0.18)";
71
+ readonly popover: "0 18px 48px -16px rgba(15, 23, 42, 0.3)";
72
+ };
73
+ readonly motion: {
74
+ readonly fast: "120ms";
75
+ readonly normal: "200ms";
76
+ readonly easing: "cubic-bezier(0.16, 1, 0.3, 1)";
77
+ };
78
+ readonly layer: {
79
+ readonly nestedModal: 1200;
80
+ readonly nestedPopover: 1250;
81
+ readonly fullscreenWorkspace: 1400;
82
+ };
83
+ };
84
+ export declare const aiFlowCssVariables: {
85
+ readonly brand: "--ai-flow-color-brand";
86
+ readonly brandHover: "--ai-flow-color-brand-hover";
87
+ readonly text: "--ai-flow-color-text";
88
+ readonly textSecondary: "--ai-flow-color-text-secondary";
89
+ readonly textMuted: "--ai-flow-color-text-muted";
90
+ readonly surface: "--ai-flow-color-surface";
91
+ readonly surfaceMuted: "--ai-flow-color-surface-muted";
92
+ readonly canvas: "--ai-flow-color-canvas";
93
+ readonly border: "--ai-flow-color-border";
94
+ readonly success: "--ai-flow-color-success";
95
+ readonly warning: "--ai-flow-color-warning";
96
+ readonly danger: "--ai-flow-color-danger";
97
+ readonly radiusControl: "--ai-flow-radius-control";
98
+ readonly radiusNode: "--ai-flow-radius-node";
99
+ readonly shadowSm: "--ai-flow-shadow-sm";
100
+ readonly fontFamily: "--ai-flow-font-family";
101
+ readonly monoFamily: "--ai-flow-font-mono";
102
+ };
103
+ export type AiFlowTokens = typeof aiFlowTokens;
@@ -1,18 +1,6 @@
1
1
  /**
2
2
  * 画布(Canvas)相关枚举
3
3
  */
4
- /**
5
- * 引擎模式
6
- *
7
- * 当前 AI 连接流主路径是 CLASSIC。日常描述里的“新版节点”通常指
8
- * CLASSIC 模式兼容渲染新版 NodeSchema 的 nodepackage 节点,不是 NEXT 模式。
9
- */
10
- export declare enum EngineMode {
11
- /** 经典模式,使用 ACM 后端;同时承载 nodepackage 节点的新版 schema 兼容渲染 */
12
- CLASSIC = "classic",
13
- /** Next 模式,使用 DIP 后端 + DynamicForm;当前为暂废保留分支 */
14
- NEXT = "next"
15
- }
16
4
  /**
17
5
  * 画布保存状态
18
6
  */
@@ -3,8 +3,10 @@
3
3
  */
4
4
  /**
5
5
  * 边类型
6
+ *
7
+ * 历史上还存在 `EdgeType.AI`,但 AI 协议相关样式由 source handle position 决定
8
+ * (见 `Edges/BaseEdge.tsx` 的 `isVerticalEdge`),不再需要专用 EdgeType。
6
9
  */
7
10
  export declare enum EdgeType {
8
- MAIN = "main",
9
- AI = "ai"
11
+ MAIN = "main"
10
12
  }
@@ -5,8 +5,6 @@
5
5
  * 节点渲染类型(ReactFlow 层概念)
6
6
  */
7
7
  export declare enum NodeType {
8
- /** 开始节点 */
9
- START = "START",
10
8
  /** 触发节点 */
11
9
  TRIGGER = "StartEventNode",
12
10
  /** 动作节点 */
@@ -17,11 +15,8 @@ export declare enum NodeType {
17
15
  LOOP = "LoopNode",
18
16
  /** 自环节点 */
19
17
  SELF_LOOP = "SelfLoopNode",
20
- /** MCP服务节点 */
21
18
  MCPServer = "MCPServerNode",
22
- /** MCP网关触发节点 */
23
19
  MCP_TRIGGER_NODE = "MCP_TRIGGER_NODE",
24
- /** 内置MCP节点 */
25
20
  BuiltinMCP = "BuiltinMCPNode",
26
21
  /** 向量存储节点 */
27
22
  VECTOR_STORE = "VectorStoreNode",
@@ -42,7 +37,11 @@ export declare enum NodeType {
42
37
  /**
43
38
  * 自定义节点类型(内部扩展用)
44
39
  */
45
- CUSTOM = "custom"
40
+ CUSTOM = "custom",
41
+ /**
42
+ * 动态 NodePackage节点
43
+ */
44
+ DYNAMIC = "dynamic"
46
45
  }
47
46
  /**
48
47
  * 节点运行状态
@@ -87,4 +87,4 @@ export declare enum ConditionCompare {
87
87
  */
88
88
  is_not_null = "is_not_null"
89
89
  }
90
- export { CanvasLayoutSource, CanvasLayoutTarget, EngineMode, SaveStatus, } from './canvas';
90
+ export { CanvasLayoutSource, CanvasLayoutTarget, SaveStatus, } from './canvas';
@@ -6,7 +6,7 @@
6
6
  export declare function WorkflowPageExample(): import("react/jsx-runtime").JSX.Element;
7
7
  export declare const setupCustomClient: () => void;
8
8
  export declare function useWorkflowAuth(): {
9
- updateToken: (token: string) => void;
9
+ updateToken: (_token: string) => void;
10
10
  clearToken: () => void;
11
11
  };
12
12
  export declare function LoginExample(): import("react/jsx-runtime").JSX.Element;
@@ -1,9 +1,3 @@
1
- import { FlowStatus } from '../NodesConfig/define/flow';
2
- /**
3
- * 判断当前流程是否允许编辑。
4
- *
5
- * 已发布及发布中的流程始终只读,不能因启用版本管理而绕过状态限制。
6
- */
7
- export declare const resolveFlowEditable: (isLocked: boolean, opStatus: FlowStatus) => boolean;
8
1
  export declare const useFlowEditable: () => boolean;
9
2
  export declare const useCurrentFlowId: () => string;
3
+ export declare const useCurrentFlowMeta: () => Record<string, unknown>;
@@ -1,6 +1,6 @@
1
1
  export declare const useFlowDataOperation: () => {
2
2
  getNodes: () => import('@xyflow/react').Node[];
3
- removeNodes: (nids: string[]) => void;
3
+ removeNodes: (nodeIds: string[]) => void;
4
4
  removeEdges: (edgeIds: string[]) => void;
5
5
  addEdges: (newEdges: any[]) => void;
6
6
  addNodes: (newNodes: any[]) => void;
@@ -1,5 +1,5 @@
1
- import { CanvasLayoutResult } from '../utils/layoutUtils';
2
1
  import { CanvasLayoutTarget } from '../enums/workflow';
2
+ import { CanvasLayoutResult } from '../utils/layoutUtils';
3
3
  export declare const useCanvasLayout: (id?: string) => {
4
4
  layout: (target?: CanvasLayoutTarget, shouldFitView?: boolean) => CanvasLayoutResult;
5
5
  autoLayout: (shouldFitView?: boolean) => CanvasLayoutResult;
@@ -0,0 +1,8 @@
1
+ import { WorkflowCanvasMode } from '../types/engine';
2
+ /**
3
+ * 画布模式统一读取入口。
4
+ *
5
+ * canvas.mode 已在入口(index.tsx)由 resolveCanvasMode 收敛旧 props 后写入,
6
+ * 下游一律经由此 hook 读取,缺省回退 edit。
7
+ */
8
+ export declare const useCanvasMode: () => WorkflowCanvasMode;
@@ -0,0 +1,10 @@
1
+ import { CanvasNavigate } from '../types/engine';
2
+ /**
3
+ * 画布 URL 跳转统一出口。
4
+ *
5
+ * 优先级:
6
+ * 1. http(s) 开头的外部绝对链接 → 库内直接 window.open,不打扰宿主;
7
+ * 2. 相对路径(站内路由)→ 由宿主 onNavigate 决定如何跳转;
8
+ * 3. 宿主未提供 onNavigate 时 → 回退到历史行为(window.open / history.push)。
9
+ */
10
+ export declare const useCanvasNavigate: () => CanvasNavigate;
@@ -1,5 +1,15 @@
1
1
  import { HandleDirection } from '../enums/handle';
2
+ import { Edge } from '@xyflow/react';
3
+ /**
4
+ * 过滤指定 Handle 上的边,用于 maxConnections 计数。
5
+ *
6
+ * 回环类连线不占 target 桩的 maxConnections 名额:
7
+ * 1. 自环边(source === target,如 LOOP 的 loop -> input);
8
+ * 2. 多节点回环边(源节点位于本节点下游,即存在 本节点 -> ... -> 源节点 通路)。
9
+ * handleStatus 仍将其视为已连接样式。
10
+ */
11
+ export declare const filterHandleConnections: (edges: readonly Edge[], nodeId: string, handleId: string, handleType: HandleDirection) => Edge[];
2
12
  export declare function useHandleConnections(): {
3
- getHandleConnections: (nodeId: string, handleId: string, handleType: HandleDirection) => import('@xyflow/react').Edge[];
13
+ getHandleConnections: (nodeId: string, handleId: string, handleType: HandleDirection) => Edge[];
4
14
  handleStatus: (nodeId: string, handleId: string) => "default" | "connected";
5
15
  };
@@ -28,11 +28,18 @@ interface UseVariablesOptions {
28
28
  enabled?: boolean;
29
29
  includeGlobalVariables?: boolean;
30
30
  }
31
- interface UseVariablesReturn {
31
+ export interface UseVariablesReturn {
32
32
  globalVariables: EnhancedGlobalVariable[];
33
33
  nodeVariables: EnhancedVarDatum[];
34
34
  isLoading: boolean;
35
+ isGlobalLoading: boolean;
36
+ isNodeLoading: boolean;
37
+ error: Error | null;
38
+ globalError: Error | null;
39
+ nodeError: Error | null;
35
40
  refresh: () => void;
41
+ refreshGlobal: () => void;
42
+ refreshNode: () => void;
36
43
  }
37
44
  /**
38
45
  * 加载 classic 变量面板需要展示的全局变量和节点变量。
@@ -17,7 +17,6 @@ export declare function useWorkflow(id?: string): {
17
17
  onEdgesChange: OnEdgesChange;
18
18
  onConnect: OnConnect;
19
19
  onEdgeUpdate: (oldEdge: Edge<EdgeData>, newConnection: Connection) => void;
20
- addNodes: (newNodes: Node[]) => void;
21
20
  addEdges: (newEdges: Edge[]) => void;
22
21
  removeNodes: (nodeIds: string[]) => void;
23
22
  removeEdges: (edgeIds: string[]) => void;
@@ -31,4 +30,5 @@ export declare function useWorkflow(id?: string): {
31
30
  isLocked: boolean;
32
31
  setLocked: (locked: boolean) => void;
33
32
  autoSaveFlow: () => void;
33
+ flowMetadata: Record<string, unknown>;
34
34
  };
@@ -1,7 +1,7 @@
1
+ import { WorkflowLoadResponse } from './Canvas/constants';
1
2
  import { default as defaultCanvasEngineConfig } from './config/defaultCanvasEngineConfig';
2
- import { CanvasEngineConfig, DeepPartial, CanvasAPI, HistoryNavigator, HttpClient } from './types/engine';
3
+ import { CanvasEngineConfig, DeepPartial, WorkflowCanvasMode, CanvasAPI, CanvasNavigate, HistoryNavigator, HttpClient } from './types/engine';
3
4
  import { mergeConfig } from './utils/mergeConfig';
4
- import { EngineMode } from './enums/workflow';
5
5
  import { FlowDraftPayload } from './types/flowVersion';
6
6
  import { LocaleType } from '../../../locales';
7
7
  /**
@@ -17,35 +17,14 @@ export interface DigitalseeWorkFlowProps {
17
17
  */
18
18
  workflowId?: string;
19
19
  /**
20
- * 是否只读模式
20
+ * 画布模式(默认 'edit')
21
21
  *
22
- * @description 只读模式下禁用所有编辑能力
22
+ * @description edit=可编辑可改名;flow=不能改名字、返回 history.back();preview=只读展示、不渲染 Header
23
23
  */
24
- readOnly?: boolean;
25
- /**
26
- * 是否预览模式
27
- *
28
- * @description 预览模式下仅展示,不允许交互
29
- */
30
- preview?: boolean;
31
- /**
32
- * 预览使用的工作流 ID
33
- */
34
- previewId?: string;
35
- /**
36
- * 是否应用流模式
37
- */
38
- appFlowMode?: boolean;
39
- /**
40
- * 是否链接模式
41
- */
42
- linkMode?: boolean;
24
+ mode?: WorkflowCanvasMode;
43
25
  /**
44
26
  * 保存回调
45
27
  *
46
- * 仅在用户主动保存时触发(工具栏保存、发布前落草稿、canvasApi.saveFlow),
47
- * 节点新增等内部自动保存不会调用,避免宿主 toast 刷屏。
48
- *
49
28
  * @param workflow 当前工作流数据
50
29
  */
51
30
  onSave?: (workflow: FlowDraftPayload) => void | Promise<void>;
@@ -66,23 +45,12 @@ export interface DigitalseeWorkFlowProps {
66
45
  *
67
46
  * @description Defaults to zh-CN when omitted
68
47
  */
69
- locale?: LocaleType;
70
- /**
71
- * Base URL for workflow service APIs
72
- *
73
- * @description When provided, all internal API calls will prepend this URL
74
- */
75
- apiBaseUrl?: string;
76
- /**
77
- * Authorization token for workflow service APIs
78
- *
79
- * @description Injected as the Authorization header for every API call
80
- */
81
- apiToken?: string;
48
+ locale?: LocaleType | string;
82
49
  /**
83
50
  * HTTP 客户端实例
84
51
  *
85
- * @description 用于执行所有 HTTP 请求,可传入自定义的 HTTP 客户端(如 axios 实例)
52
+ * @description 用于执行所有 HTTP 请求,可传入自定义的 HTTP 客户端(如 axios 实例)。
53
+ * 认证(token 等)与地址(baseUrl 等)完全由该客户端负责
86
54
  */
87
55
  httpClient?: HttpClient;
88
56
  /**
@@ -92,13 +60,34 @@ export interface DigitalseeWorkFlowProps {
92
60
  */
93
61
  history?: HistoryNavigator;
94
62
  /**
95
- * 引擎模式
63
+ * 画布 URL 跳转回调
64
+ *
65
+ * @description 画布内部需要跳转站内页面(告警日志 / 子流程 / OAuth 应用管理等相对路径)时调用,
66
+ * 由宿主决定如何处理。http(s) 外部链接由画布直接打开、不经此回调。未提供时画布回退到默认跳转行为。
67
+ *
68
+ * @param url 目标 URL
69
+ * @param openInNewTab 是否需要新标签页打开
70
+ */
71
+ onNavigate?: CanvasNavigate;
72
+ /**
73
+ * 宿主响应连接流下线逻辑
74
+ * @param workflowId
75
+ * @returns 是否成功下线
76
+ */
77
+ onOffline?: (workflowId: string) => Promise<boolean>;
78
+ /**
79
+ * 由宿主提供的工作流数据加载方法
96
80
  *
97
- * @description 'classic' 是当前 AI 连接流主路径,使用 ACM 后端,并兼容渲染
98
- * nodepackage 节点的新版 NodeSchema 配置;'next' 是暂废保留的 DIP 直连分支。
99
- * @default 'classic'
81
+ * @description 提供后,画布加载数据时将调用它替代内部 API(需同时传入 workflowId)。
82
+ * workflowId 参数仅作透传参考,宿主可忽略并自行决定加载内容。
83
+ * 返回数据须符合 ACM 流程格式,见 WorkflowLoadResponse。
84
+ * 加载失败时宿主应 throw / reject,画布会展示失败浮层并支持重试。
85
+ */
86
+ onLoad?: (workflowId?: string) => Promise<WorkflowLoadResponse>;
87
+ /**
88
+ * 场景值
100
89
  */
101
- engineMode?: EngineMode;
90
+ scene?: string;
102
91
  }
103
92
  /**
104
93
  * DigitalseeWorkFlow 工作流画布组件
@@ -107,20 +96,23 @@ export interface DigitalseeWorkFlowProps {
107
96
  */
108
97
  declare const DigitalseeWorkFlow: (props: DigitalseeWorkFlowProps) => any;
109
98
  export type { WorkflowHttpClient } from './api';
99
+ export type { WorkflowLoadResponse } from './Canvas/constants';
110
100
  export { configureWorkflow, getGlobalWorkflowConfig, resetGlobalWorkflowConfig, } from './config/globalConfig';
111
101
  export * from './config/themeConfig';
112
102
  export { useCanvasApi } from './context/canvasApiContext';
113
103
  export { useCanvasConfig } from './context/canvasConfig';
104
+ export * from './design-system';
114
105
  export { default as EdgeFactory } from './Edges/EdgeFactory';
115
106
  export { NodeStatus, NodeType } from './enums/node';
116
- export { EngineMode, WorkflowOpStatus } from './enums/workflow';
107
+ export { WorkflowOpStatus } from './enums/workflow';
117
108
  export { default as HandleFactory } from './Handles/HandleFactory';
118
109
  export { useCanvasLayout } from './hooks/useCanvasLayout';
119
110
  export { useUndo } from './hooks/useUndo';
120
111
  export { useWorkflow } from './hooks/useWorkflow';
112
+ export { default as AiFlowNodeStatusBadge, type NodeStatusBadgeProps as AiFlowNodeStatusBadgeProps, } from './Nodes/components/NodeStatusBadge';
121
113
  export { default as NodeFactory } from './Nodes/NodeFactory';
122
114
  export * from './types/Edge';
123
- export type { CanvasAPI, CanvasEngineConfig, DeepPartial, HistoryNavigator, HttpClient, } from './types/engine';
115
+ export type { CanvasAPI, CanvasEngineConfig, CanvasNavigate, DeepPartial, HistoryNavigator, HttpClient, } from './types/engine';
124
116
  export * from './types/flowVersion';
125
117
  export * from './types/Node';
126
118
  export * from './types/Workflow';
@@ -1,7 +1,6 @@
1
1
  import { FormattedMessage } from 'react-intl';
2
2
  import * as history from 'history';
3
3
  declare const context: history.BrowserHistory;
4
- export { FormattedMessage };
5
- export { context as history };
4
+ export { context as history, FormattedMessage };
6
5
  export declare function Link(props: any): import("react/jsx-runtime").JSX.Element;
7
6
  export declare const useSearchParams: (url?: string) => URLSearchParams[];
@@ -32,18 +32,34 @@ export declare const panelSlice: import('@reduxjs/toolkit').Slice<PanelState, {
32
32
  };
33
33
  };
34
34
  sourceNode?: {
35
+ position: {
36
+ x: number;
37
+ y: number;
38
+ };
35
39
  data: {
36
40
  [x: string]: unknown;
37
41
  };
38
42
  id: string;
39
43
  type?: string;
44
+ measured?: {
45
+ width?: number;
46
+ height?: number;
47
+ };
40
48
  };
41
49
  targetNode?: {
50
+ position: {
51
+ x: number;
52
+ y: number;
53
+ };
42
54
  data: {
43
55
  [x: string]: unknown;
44
56
  };
45
57
  id: string;
46
58
  type?: string;
59
+ measured?: {
60
+ width?: number;
61
+ height?: number;
62
+ };
47
63
  };
48
64
  trigger?: boolean;
49
65
  protocol?: string;
@@ -75,18 +91,34 @@ export declare const panelSlice: import('@reduxjs/toolkit').Slice<PanelState, {
75
91
  };
76
92
  };
77
93
  sourceNode?: {
94
+ position: {
95
+ x: number;
96
+ y: number;
97
+ };
78
98
  data: {
79
99
  [x: string]: unknown;
80
100
  };
81
101
  id: string;
82
102
  type?: string;
103
+ measured?: {
104
+ width?: number;
105
+ height?: number;
106
+ };
83
107
  };
84
108
  targetNode?: {
109
+ position: {
110
+ x: number;
111
+ y: number;
112
+ };
85
113
  data: {
86
114
  [x: string]: unknown;
87
115
  };
88
116
  id: string;
89
117
  type?: string;
118
+ measured?: {
119
+ width?: number;
120
+ height?: number;
121
+ };
90
122
  };
91
123
  trigger?: boolean;
92
124
  protocol?: string;
@@ -118,18 +150,34 @@ export declare const panelSlice: import('@reduxjs/toolkit').Slice<PanelState, {
118
150
  };
119
151
  };
120
152
  sourceNode?: {
153
+ position: {
154
+ x: number;
155
+ y: number;
156
+ };
121
157
  data: {
122
158
  [x: string]: unknown;
123
159
  };
124
160
  id: string;
125
161
  type?: string;
162
+ measured?: {
163
+ width?: number;
164
+ height?: number;
165
+ };
126
166
  };
127
167
  targetNode?: {
168
+ position: {
169
+ x: number;
170
+ y: number;
171
+ };
128
172
  data: {
129
173
  [x: string]: unknown;
130
174
  };
131
175
  id: string;
132
176
  type?: string;
177
+ measured?: {
178
+ width?: number;
179
+ height?: number;
180
+ };
133
181
  };
134
182
  trigger?: boolean;
135
183
  protocol?: string;
@@ -161,18 +209,34 @@ export declare const panelSlice: import('@reduxjs/toolkit').Slice<PanelState, {
161
209
  };
162
210
  };
163
211
  sourceNode?: {
212
+ position: {
213
+ x: number;
214
+ y: number;
215
+ };
164
216
  data: {
165
217
  [x: string]: unknown;
166
218
  };
167
219
  id: string;
168
220
  type?: string;
221
+ measured?: {
222
+ width?: number;
223
+ height?: number;
224
+ };
169
225
  };
170
226
  targetNode?: {
227
+ position: {
228
+ x: number;
229
+ y: number;
230
+ };
171
231
  data: {
172
232
  [x: string]: unknown;
173
233
  };
174
234
  id: string;
175
235
  type?: string;
236
+ measured?: {
237
+ width?: number;
238
+ height?: number;
239
+ };
176
240
  };
177
241
  trigger?: boolean;
178
242
  protocol?: string;