@nocobase/ai 2.1.0-alpha.7 → 2.1.0-alpha.9

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.
@@ -8,9 +8,11 @@
8
8
  */
9
9
  import { DocumentManager } from './document-manager';
10
10
  import { ToolsManager } from './tools-manager';
11
+ import { McpToolsManager } from './mcp-tools-manager';
11
12
  export declare class AIManager {
12
13
  protected readonly app: any;
13
14
  documentManager: DocumentManager;
14
15
  toolsManager: ToolsManager;
16
+ mcpToolsManager: McpToolsManager;
15
17
  constructor(app: any);
16
18
  }
package/lib/ai-manager.js CHANGED
@@ -32,14 +32,17 @@ __export(ai_manager_exports, {
32
32
  module.exports = __toCommonJS(ai_manager_exports);
33
33
  var import_document_manager = require("./document-manager");
34
34
  var import_tools_manager = require("./tools-manager");
35
+ var import_mcp_tools_manager = require("./mcp-tools-manager");
35
36
  const _AIManager = class _AIManager {
36
37
  constructor(app) {
37
38
  this.app = app;
38
39
  this.documentManager = new import_document_manager.DocumentManager();
39
40
  this.toolsManager = new import_tools_manager.DefaultToolsManager();
41
+ this.mcpToolsManager = new import_mcp_tools_manager.McpToolsManager();
40
42
  }
41
43
  documentManager;
42
44
  toolsManager;
45
+ mcpToolsManager;
43
46
  };
44
47
  __name(_AIManager, "AIManager");
45
48
  let AIManager = _AIManager;
package/lib/index.d.ts CHANGED
@@ -8,5 +8,6 @@
8
8
  */
9
9
  export * from './ai-manager';
10
10
  export * from './document-manager';
11
+ export * from './mcp-tools-manager';
11
12
  export * from './tools-manager';
12
13
  export * from './loader';
package/lib/index.js CHANGED
@@ -25,12 +25,14 @@ var src_exports = {};
25
25
  module.exports = __toCommonJS(src_exports);
26
26
  __reExport(src_exports, require("./ai-manager"), module.exports);
27
27
  __reExport(src_exports, require("./document-manager"), module.exports);
28
+ __reExport(src_exports, require("./mcp-tools-manager"), module.exports);
28
29
  __reExport(src_exports, require("./tools-manager"), module.exports);
29
30
  __reExport(src_exports, require("./loader"), module.exports);
30
31
  // Annotate the CommonJS export names for ESM import in node:
31
32
  0 && (module.exports = {
32
33
  ...require("./ai-manager"),
33
34
  ...require("./document-manager"),
35
+ ...require("./mcp-tools-manager"),
34
36
  ...require("./tools-manager"),
35
37
  ...require("./loader")
36
38
  });
@@ -0,0 +1,24 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+ export type McpTool = {
10
+ name: string;
11
+ description: string;
12
+ inputSchema?: any;
13
+ call: (args: Record<string, any>, context?: McpToolCallContext) => Promise<any>;
14
+ };
15
+ export type McpToolCallContext = {
16
+ token?: string;
17
+ headers?: Record<string, string | string[] | undefined>;
18
+ };
19
+ export declare class McpToolsManager {
20
+ private tools;
21
+ registerTools(tools: McpTool[]): void;
22
+ listTools(): McpTool[];
23
+ getTool(name: string): McpTool;
24
+ }
@@ -0,0 +1,53 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+
10
+ var __defProp = Object.defineProperty;
11
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
12
+ var __getOwnPropNames = Object.getOwnPropertyNames;
13
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
14
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
15
+ var __export = (target, all) => {
16
+ for (var name in all)
17
+ __defProp(target, name, { get: all[name], enumerable: true });
18
+ };
19
+ var __copyProps = (to, from, except, desc) => {
20
+ if (from && typeof from === "object" || typeof from === "function") {
21
+ for (let key of __getOwnPropNames(from))
22
+ if (!__hasOwnProp.call(to, key) && key !== except)
23
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
24
+ }
25
+ return to;
26
+ };
27
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
+ var mcp_tools_manager_exports = {};
29
+ __export(mcp_tools_manager_exports, {
30
+ McpToolsManager: () => McpToolsManager
31
+ });
32
+ module.exports = __toCommonJS(mcp_tools_manager_exports);
33
+ var import_utils = require("@nocobase/utils");
34
+ const _McpToolsManager = class _McpToolsManager {
35
+ tools = new import_utils.Registry();
36
+ registerTools(tools) {
37
+ for (const tool of tools) {
38
+ this.tools.register(tool.name, tool);
39
+ }
40
+ }
41
+ listTools() {
42
+ return [...this.tools.getValues()];
43
+ }
44
+ getTool(name) {
45
+ return this.tools.get(name);
46
+ }
47
+ };
48
+ __name(_McpToolsManager, "McpToolsManager");
49
+ let McpToolsManager = _McpToolsManager;
50
+ // Annotate the CommonJS export names for ESM import in node:
51
+ 0 && (module.exports = {
52
+ McpToolsManager
53
+ });
package/package.json CHANGED
@@ -1,21 +1,36 @@
1
1
  {
2
2
  "name": "@nocobase/ai",
3
- "version": "2.1.0-alpha.7",
3
+ "version": "2.1.0-alpha.9",
4
4
  "description": "",
5
5
  "license": "Apache-2.0",
6
6
  "main": "./lib/index.js",
7
7
  "types": "./lib/index.d.ts",
8
8
  "dependencies": {
9
- "@nocobase/logger": "2.1.0-alpha.7",
10
- "@nocobase/resourcer": "2.1.0-alpha.7",
11
- "@nocobase/utils": "2.1.0-alpha.7",
9
+ "@langchain/anthropic": "^1.3.17",
10
+ "@langchain/classic": "^1.0.21",
11
+ "@langchain/community": "^1.1.0",
12
+ "@langchain/core": "^1.1.24",
13
+ "@langchain/deepseek": "^1.0.11",
14
+ "@langchain/google-genai": "^2.1.18",
15
+ "@langchain/langgraph": "^1.1.4",
16
+ "@langchain/langgraph-checkpoint": "^1.0.0",
17
+ "@langchain/ollama": "^1.2.2",
18
+ "@langchain/openai": "^1.2.7",
19
+ "@nocobase/logger": "2.1.0-alpha.9",
20
+ "@nocobase/resourcer": "2.1.0-alpha.9",
21
+ "@nocobase/utils": "2.1.0-alpha.9",
12
22
  "fast-glob": "^3.3.2",
13
- "flexsearch": "^0.8.2"
23
+ "flexsearch": "^0.8.2",
24
+ "langchain": "^1.2.24",
25
+ "mammoth": "^1.10.0",
26
+ "officeparser": "^5.2.0",
27
+ "pdf-parse": "^1.1.1",
28
+ "word-extractor": "^1.0.4"
14
29
  },
15
30
  "repository": {
16
31
  "type": "git",
17
32
  "url": "git+https://github.com/nocobase/nocobase.git",
18
33
  "directory": "packages/ai"
19
34
  },
20
- "gitHead": "fe825ef778c0d9a941e8517d6443ffc012238391"
35
+ "gitHead": "f9c6c53772bd5002fa419188d15ab227224f1962"
21
36
  }
package/src/ai-manager.ts CHANGED
@@ -9,13 +9,16 @@
9
9
 
10
10
  import { DocumentManager } from './document-manager';
11
11
  import { DefaultToolsManager, ToolsManager } from './tools-manager';
12
+ import { McpToolsManager } from './mcp-tools-manager';
12
13
 
13
14
  export class AIManager {
14
15
  documentManager: DocumentManager;
15
16
  toolsManager: ToolsManager;
17
+ mcpToolsManager: McpToolsManager;
16
18
 
17
19
  constructor(protected readonly app: any) {
18
20
  this.documentManager = new DocumentManager();
19
21
  this.toolsManager = new DefaultToolsManager();
22
+ this.mcpToolsManager = new McpToolsManager();
20
23
  }
21
24
  }
package/src/index.ts CHANGED
@@ -9,5 +9,6 @@
9
9
 
10
10
  export * from './ai-manager';
11
11
  export * from './document-manager';
12
+ export * from './mcp-tools-manager';
12
13
  export * from './tools-manager';
13
14
  export * from './loader';
@@ -0,0 +1,40 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+
10
+ import { Registry } from '@nocobase/utils';
11
+
12
+ export type McpTool = {
13
+ name: string;
14
+ description: string;
15
+ inputSchema?: any;
16
+ call: (args: Record<string, any>, context?: McpToolCallContext) => Promise<any>;
17
+ };
18
+
19
+ export type McpToolCallContext = {
20
+ token?: string;
21
+ headers?: Record<string, string | string[] | undefined>;
22
+ };
23
+
24
+ export class McpToolsManager {
25
+ private tools = new Registry<McpTool>();
26
+
27
+ registerTools(tools: McpTool[]) {
28
+ for (const tool of tools) {
29
+ this.tools.register(tool.name, tool);
30
+ }
31
+ }
32
+
33
+ listTools() {
34
+ return [...this.tools.getValues()];
35
+ }
36
+
37
+ getTool(name: string) {
38
+ return this.tools.get(name);
39
+ }
40
+ }