@digitalsee-ai/rcs 1.1.4 → 1.1.5

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 (23) hide show
  1. package/dist/components/digitalsee/workflow/NodesConfig/components/NodeTest.helpers.d.ts +9 -0
  2. package/dist/components/digitalsee/workflow/Panels/ModernNodeSelectorPanel/components/NodeCardList.d.ts +1 -0
  3. package/dist/components/digitalsee/workflow/Panels/ModernNodeSelectorPanel/components/NodeCardList.test.d.ts +1 -0
  4. package/dist/components/digitalsee/workflow/Panels/ModernNodeSelectorPanel/hooks/useConnectableNodeSelector.d.ts +2 -10
  5. package/dist/components/digitalsee/workflow/Panels/ModernNodeSelectorPanel/utils/connectableActionLoader.d.ts +2 -5
  6. package/dist/components/digitalsee/workflow/Panels/ModernNodeSelectorPanel/utils/connectableDataSource.d.ts +8 -3
  7. package/dist/components/digitalsee/workflow/Panels/ModernNodeSelectorPanel/utils/dataTransformers.d.ts +1 -11
  8. package/dist/components/digitalsee/workflow/config/defaultNodeSelectorConfig.d.ts +0 -1
  9. package/dist/components/digitalsee/workflow/hooks/state.hooks.d.ts +7 -0
  10. package/dist/components/digitalsee/workflow/hooks/state.hooks.test.d.ts +1 -0
  11. package/dist/components/digitalsee/workflow/types/engine.d.ts +1 -2
  12. package/dist/components/digitalsee/workflow/utils/mcpCanvas.d.ts +18 -7
  13. package/dist/{index-DVB8Tfvb.mjs → index-C8aUQi22.mjs} +12233 -12253
  14. package/dist/{index-DVB8Tfvb.mjs.map → index-C8aUQi22.mjs.map} +1 -1
  15. package/dist/{index-DuXBchhk.mjs → index-CTWDrXXQ.mjs} +2 -2
  16. package/dist/{index-DuXBchhk.mjs.map → index-CTWDrXXQ.mjs.map} +1 -1
  17. package/dist/rcs.css +1 -1
  18. package/dist/rcs.es.js +1 -1
  19. package/dist/rcs.umd.js +56 -56
  20. package/dist/rcs.umd.js.map +1 -1
  21. package/package.json +1 -1
  22. package/dist/components/digitalsee/workflow/Panels/ModernNodeSelectorPanel/utils/connectableFallback.d.ts +0 -2
  23. /package/dist/components/digitalsee/workflow/{Panels/ModernNodeSelectorPanel/utils/connectableFallback.test.d.ts → NodesConfig/components/NodeTest.test.d.ts} +0 -0
@@ -2,3 +2,12 @@ import { NodeStatus } from '../../types/Node';
2
2
  export declare const isFailedNodeTestResponse: (data: unknown) => boolean;
3
3
  export declare const getNodeTestStatus: (data: unknown) => NodeStatus.FAILED | NodeStatus.SUCCESS;
4
4
  export declare const formatNodeTestResult: (data: unknown) => string;
5
+ export type SampleValidation = {
6
+ ok: true;
7
+ formatted: string;
8
+ } | {
9
+ ok: false;
10
+ error: string;
11
+ };
12
+ /** 校验「使用样本数据」的输入:非空 + 合法 JSON,返回规整后的文本或错误文案。 */
13
+ export declare const validateSampleData: (raw: string) => SampleValidation;
@@ -8,6 +8,7 @@ interface NodeCardListProps {
8
8
  expandedNodeIds: string[];
9
9
  nodeActionsMap: Record<string, NodeActionMeta>;
10
10
  searchText: string;
11
+ isInitialLoading: boolean;
11
12
  isLoadingNodes: boolean;
12
13
  hasMore: boolean;
13
14
  onNodeToggle: (node: NodeTypeItem) => void;
@@ -18,22 +18,14 @@ interface UseConnectableNodeSelectorProps {
18
18
  fetchLegacyNodeActions: (node: NodeTypeItem, options?: FetchNodeActionOptions) => Promise<ActionItem[]>;
19
19
  }
20
20
  /**
21
- * @description 为 NodePackage 连线场景选择数据源,并封装查询、边中插入求交与旧接口回退。
21
+ * @description 为 NodePackage 连线场景选择数据源,并封装查询与边中插入求交。
22
22
  */
23
23
  export declare function useConnectableNodeSelector({ nodeSelectorVisible, entryMode, effectiveNodeAddInfo, workflowId, onSearch, onFetchCategories, onFetchNodesByCategory, fetchLegacyNodeActions, }: UseConnectableNodeSelectorProps): {
24
24
  actionRequestContextKey: string;
25
25
  connectableContext: import('../utils/connectableQuery').ConnectableQueryContext;
26
26
  useConnectableDataSource: boolean;
27
27
  onSearch: (params?: LinkSearchParams) => Promise<NodeFetchResult>;
28
- onFetchCategories: (type?: import('../types').CategoryRequestType) => Promise<import('../types').CategoryItem[] | {
29
- id: any;
30
- name: any;
31
- description: any;
32
- icon: any;
33
- search_action: any;
34
- children: any;
35
- nodes: any[];
36
- }[]>;
28
+ onFetchCategories: (type?: import('../types').CategoryRequestType) => Promise<import('../types').CategoryItem[]>;
37
29
  onFetchNodesByCategory: (params?: LinkSearchParams) => Promise<NodeFetchResult>;
38
30
  fetchNodeActions: (node: NodeTypeItem, options?: FetchNodeActionOptions) => Promise<ActionItem[]>;
39
31
  };
@@ -3,14 +3,11 @@ import { ActionItem, NodeFetchResult, NodeTypeItem } from '../types';
3
3
  interface LoadConnectableNodeActionsOptions {
4
4
  node: NodeTypeItem;
5
5
  query: QueryConnectableNodePackageDto | null;
6
- fallbackToLegacy: boolean;
7
6
  fetchConnectablePage: (query: QueryConnectableNodePackageDto) => Promise<NodeFetchResult>;
8
- fetchLegacyActions: () => Promise<ActionItem[]>;
9
7
  filterPage?: (page: NodeFetchResult) => NodeFetchResult;
10
8
  }
11
9
  /**
12
- * 加载连接器动作;connectable 查询不可用或明确未发布时回退旧 `/actions/v2`。
13
- * 不能回退 `/links/search`,因为该接口在 linkId 场景不会加载 matchedActions。
10
+ * 加载连接器动作;connectable 查询不存在(工作流未保存)时返回空列表。
14
11
  */
15
- export declare function loadConnectableNodeActions({ node, query, fallbackToLegacy, fetchConnectablePage, fetchLegacyActions, filterPage, }: LoadConnectableNodeActionsOptions): Promise<ActionItem[]>;
12
+ export declare function loadConnectableNodeActions({ node, query, fetchConnectablePage, filterPage, }: LoadConnectableNodeActionsOptions): Promise<ActionItem[]>;
16
13
  export {};
@@ -8,8 +8,13 @@ interface ConnectableDataSourceInput {
8
8
  }
9
9
  /** 将初始化入口选择转换为实际查询上下文;MCP Server 仍属于触发节点。 */
10
10
  export declare function resolveNodeSelectorEntryContext(nodeAddInfo: NodeAddInfo | null | undefined, entryMode: EntryMode): NodeAddInfo | null | undefined;
11
- /** 初始化 MCP Server 入口是唯一允许携带 protocol 使用 connectable 接口的特殊入口。 */
11
+ /**
12
+ * MCP Server 初始化入口和 BUILTIN_MCP 工具桩快捷入口允许携带 protocol 使用 connectable 接口。
13
+ * 其余带 protocol 的专项入口(如 AI_LANGUAGE_MODEL)仍沿用旧接口。
14
+ */
12
15
  export declare function shouldUseConnectableDataSource({ enabled, hasContext, entryMode, protocol, }: ConnectableDataSourceInput): boolean;
13
- /** MCP Server 初始化入口固定查询 mcp 场景,其他入口沿用宿主配置。 */
14
- export declare function resolveConnectableRequestScene(configuredScene: string, entryMode: EntryMode): string;
16
+ /**
17
+ * MCP Server 初始化入口、MCP Server 画布和 BUILTIN_MCP 旧端口均查询 mcp 场景。
18
+ */
19
+ export declare function resolveConnectableRequestScene(configuredScene: string, entryMode: EntryMode, protocol?: string | null, isMcpServerCanvas?: boolean): string;
15
20
  export {};
@@ -1,5 +1,5 @@
1
1
  import { QueryConnectableNodePackageDto } from '../../../api/connectable.types';
2
- import { ActionItem, ApiActionItem, CategoryItem, CategoryRequestType, ConnectorInfo, LinkSearchParams, NodeFetchResult } from '../types';
2
+ import { ActionItem, ApiActionItem, CategoryItem, ConnectorInfo, NodeFetchResult } from '../types';
3
3
  export declare const transformAction: (action: ApiActionItem, connector: ConnectorInfo) => ActionItem;
4
4
  /**
5
5
  * 将 connectable 分类响应转换成现有面板模型。
@@ -11,13 +11,3 @@ export declare const transformConnectableCategoriesResponse: (response: unknown)
11
11
  export declare const transformConnectablePluginResponse: (response: unknown) => NodeFetchResult;
12
12
  export declare const fetchConnectableCategories: (query: QueryConnectableNodePackageDto) => Promise<CategoryItem[]>;
13
13
  export declare const fetchConnectableNodes: (query: QueryConnectableNodePackageDto) => Promise<NodeFetchResult>;
14
- export declare const fetchNodesByCategory: (params?: LinkSearchParams) => Promise<NodeFetchResult>;
15
- export declare const fetchCategories: (type?: CategoryRequestType) => Promise<CategoryItem[] | {
16
- id: any;
17
- name: any;
18
- description: any;
19
- icon: any;
20
- search_action: any;
21
- children: any;
22
- nodes: any[];
23
- }[]>;
@@ -3,7 +3,6 @@ export declare const defaultNodeSelectorConfig: {
3
3
  readonly connectable: {
4
4
  readonly enabled: false;
5
5
  readonly scene: "normal";
6
- readonly fallbackToLegacy: true;
7
6
  readonly debug: false;
8
7
  };
9
8
  };
@@ -1,2 +1,9 @@
1
+ import { FlowStatus } from '../NodesConfig/define/flow';
2
+ /**
3
+ * 判断当前流程是否允许编辑。
4
+ *
5
+ * 已发布及发布中的流程始终只读,不能因启用版本管理而绕过状态限制。
6
+ */
7
+ export declare const resolveFlowEditable: (isLocked: boolean, opStatus: FlowStatus) => boolean;
1
8
  export declare const useFlowEditable: () => boolean;
2
9
  export declare const useCurrentFlowId: () => string;
@@ -29,12 +29,11 @@ export interface CanvasEngineConfig {
29
29
  /**
30
30
  * NodePackage 可连线候选能力配置。
31
31
  *
32
- * 默认关闭,由 CLASSIC/ACM 宿主显式启用,便于在接口联调异常时快速回退旧候选链路。
32
+ * 默认关闭,由 CLASSIC/ACM 宿主显式启用。
33
33
  */
34
34
  export interface NodeSelectorConnectableConfig {
35
35
  enabled: boolean;
36
36
  scene: string;
37
- fallbackToLegacy: boolean;
38
37
  debug: boolean;
39
38
  }
40
39
  export interface NodeSelectorConfig {
@@ -9,15 +9,16 @@ export declare const MCP_ACTION_PAGE_SIZE = 10;
9
9
  export declare const MCP_SERVER_PROTOCOL = NodeProtocol.MCP_SERVER;
10
10
  export declare const MCP_MAX_TOOLS_PER_SERVER = 20;
11
11
  export declare const MCP_TOOL_MAX_DOWNSTREAM = 1;
12
- export declare const MCP_CANVAS_TARGET_HANDLE = "top";
13
12
  export declare const MCP_RETURN_VARIABLE_ACTION_KEY = "dip.core.mcp.return-variable";
14
- export declare const isMcpServerNode: (node?: Pick<Node, "type"> | null) => boolean;
13
+ export declare const MCP_SERVER_ACTION_KEY = "dip.core.trigger.mcp-server";
14
+ type McpNodeIdentity = Pick<Node, 'type'> & Partial<Pick<Node, 'data'>>;
15
+ export declare const isMcpServerNode: (node?: McpNodeIdentity | null) => boolean;
15
16
  export declare const isMcpToolNode: (node?: Pick<Node, "type"> | null) => boolean;
16
17
  export declare const isMcpReturnVariableNode: (node?: (Pick<Node, "data"> & {
17
18
  data?: Record<string, unknown>;
18
19
  }) | null) => boolean;
19
20
  export declare const isMcpCanvas: (nodes: Array<Pick<Node, "type">>) => boolean;
20
- export declare const isMcpServerCanvas: (nodes: Array<Pick<Node, "type">>) => boolean;
21
+ export declare const isMcpServerCanvas: (nodes: McpNodeIdentity[]) => boolean;
21
22
  export declare const markMcpServerCanvasNode: <T extends Node>(node: T) => T;
22
23
  export declare const isMcpServerToolHandle: (handleId?: string | null) => handleId is HandleConnectionType.BUILTIN_MCP;
23
24
  export declare const isMcpToolChainHandle: (handleId?: string | null) => handleId is "main" | HandleConnectionType.OUTPUT;
@@ -25,9 +26,19 @@ export declare const getDirectMcpToolCount: (serverId: string, nodes: Array<Pick
25
26
  export declare const canAddMoreMcpTools: (serverId: string, nodes: Array<Pick<Node, "id" | "type">>, edges: Array<Pick<Edge, "source" | "target">>) => boolean;
26
27
  export declare const getMcpToolDownstreamCount: (toolId: string, edges: Array<Pick<Edge, "source" | "sourceHandle">>) => number;
27
28
  export declare const canAddMcpToolDownstream: (toolId: string, edges: Array<Pick<Edge, "source" | "sourceHandle">>) => boolean;
28
- export declare const isMcpServerToToolConnection: (sourceNode?: Pick<Node, "type"> | null, targetNode?: Pick<Node, "type"> | null, sourceHandle?: string | null) => boolean;
29
+ export declare const isMcpServerToToolConnection: (sourceNode?: McpNodeIdentity | null, targetNode?: Pick<Node, "type"> | null, _sourceHandle?: string | null) => boolean;
29
30
  export declare const isMcpToolToExecutionConnection: (sourceNode?: Pick<Node, "id" | "type"> | null, targetNode?: Pick<Node, "id" | "type"> | null, sourceHandle?: string | null) => boolean;
30
31
  export declare const getNodeTypeById: (nodes: Array<Pick<Node, "id" | "type">>, nodeId?: string | null) => string;
31
- export declare const resolveMcpCanvasTargetHandle: (nodes: Array<Pick<Node, "type">>, fallback?: string | null) => string;
32
- export declare const normalizeMcpCanvasEdge: <T extends Pick<Edge, "targetHandle">>(nodes: Array<Pick<Node, "type">>, edge: T) => T;
33
- export declare const normalizeMcpCanvasEdges: <T extends Pick<Edge, "targetHandle">>(nodes: Array<Pick<Node, "type">>, edges: T[]) => T[];
32
+ /** MCP 画布只改变端口布局,连接端口 ID 必须始终保留 NodeSchema 的真实名称。 */
33
+ export declare const resolveMcpCanvasTargetHandle: (_nodes: McpNodeIdentity[], fallback?: string | null) => string;
34
+ /** 保存前不得把 Schema 端口改写成视觉方向名称。 */
35
+ export declare const normalizeMcpCanvasEdge: <T extends Pick<Edge, "targetHandle">>(_nodes: McpNodeIdentity[], edge: T) => T;
36
+ export declare const normalizeMcpCanvasEdges: <T extends Pick<Edge, "targetHandle">>(nodes: McpNodeIdentity[], edges: T[]) => T[];
37
+ /**
38
+ * 升级旧版 MCP 画布的虚拟方向端口。
39
+ *
40
+ * 旧实现会在 MCP Server 画布中把 output/top 或 builtin_mcp/top 当作真实端口保存;
41
+ * 新版必须恢复为 NodeSchema 的 main/main,下一次保存时写回正确数据。
42
+ */
43
+ export declare const upgradeLegacyMcpCanvasEdges: <T extends Pick<Edge, "sourceHandle" | "targetHandle">>(nodes: McpNodeIdentity[], edges: T[]) => T[];
44
+ export {};