@nocobase/ai 2.1.0-alpha.2 → 2.1.0-alpha.20

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 (74) hide show
  1. package/LICENSE +201 -661
  2. package/README.md +79 -10
  3. package/lib/ai-employee-manager/index.d.ts +29 -0
  4. package/lib/ai-employee-manager/index.js +167 -0
  5. package/lib/ai-employee-manager/types.d.ts +56 -0
  6. package/lib/ai-employee-manager/types.js +24 -0
  7. package/lib/ai-manager.d.ts +8 -0
  8. package/lib/ai-manager.js +12 -0
  9. package/lib/index.d.ts +4 -0
  10. package/lib/index.js +8 -0
  11. package/lib/loader/employee.d.ts +36 -0
  12. package/lib/loader/employee.js +207 -0
  13. package/lib/loader/index.d.ts +3 -0
  14. package/lib/loader/index.js +7 -1
  15. package/lib/loader/mcp.d.ts +34 -0
  16. package/lib/loader/mcp.js +108 -0
  17. package/lib/loader/skills.d.ts +42 -0
  18. package/lib/loader/skills.js +138 -0
  19. package/lib/mcp-manager/index.d.ts +43 -0
  20. package/lib/mcp-manager/index.js +341 -0
  21. package/lib/mcp-manager/types.d.ts +61 -0
  22. package/lib/mcp-manager/types.js +24 -0
  23. package/lib/mcp-tools-manager.d.ts +43 -0
  24. package/lib/mcp-tools-manager.js +77 -0
  25. package/lib/skills-manager/index.d.ts +29 -0
  26. package/lib/skills-manager/index.js +169 -0
  27. package/lib/skills-manager/types.d.ts +33 -0
  28. package/lib/skills-manager/types.js +24 -0
  29. package/lib/tools-manager/index.js +3 -0
  30. package/lib/tools-manager/types.d.ts +7 -1
  31. package/package.json +25 -7
  32. package/src/__tests__/ai-employees.test.ts +108 -0
  33. package/src/__tests__/mcp.test.ts +105 -0
  34. package/src/__tests__/resource/ai/ai-employees/index-employee/index.ts +16 -0
  35. package/src/__tests__/resource/ai/ai-employees/index-employee/prompt.md +1 -0
  36. package/src/__tests__/resource/ai/ai-employees/named-file-employee.ts +16 -0
  37. package/src/__tests__/resource/ai/ai-employees/with-skills/index.ts +16 -0
  38. package/src/__tests__/resource/ai/ai-employees/with-skills/skills/analysis/SKILLS.md +6 -0
  39. package/src/__tests__/resource/ai/ai-employees/with-skills-merge/index.ts +17 -0
  40. package/src/__tests__/resource/ai/ai-employees/with-skills-merge/skills/discovered-skill/SKILLS.md +6 -0
  41. package/src/__tests__/resource/ai/ai-employees/with-tools/index.ts +16 -0
  42. package/src/__tests__/resource/ai/ai-employees/with-tools/tools/discoveredTool.ts +23 -0
  43. package/src/__tests__/resource/ai/ai-employees/with-tools-merge/index.ts +16 -0
  44. package/src/__tests__/resource/ai/ai-employees/with-tools-merge/tools/discoveredTool.ts +23 -0
  45. package/src/__tests__/resource/ai/mcp/weather.ts +25 -0
  46. package/src/__tests__/resource/ai/skills/data-modeling/SKILLS.md +24 -0
  47. package/src/__tests__/resource/ai/skills/data-modeling/tools/read.ts +23 -0
  48. package/src/__tests__/resource/ai/skills/data-modeling/tools/search/description.md +1 -0
  49. package/src/__tests__/resource/ai/skills/data-modeling/tools/search/index.ts +23 -0
  50. package/src/__tests__/resource/ai/skills/document/tools/read.ts +1 -1
  51. package/src/__tests__/resource/ai/skills/document/tools/search/index.ts +1 -1
  52. package/src/__tests__/resource/ai/tools/desc/index.ts +1 -1
  53. package/src/__tests__/resource/ai/tools/group/group1.ts +1 -1
  54. package/src/__tests__/resource/ai/tools/group/group2.ts +1 -1
  55. package/src/__tests__/resource/ai/tools/group/group3/index.ts +1 -1
  56. package/src/__tests__/resource/ai/tools/hallow/index.ts +1 -1
  57. package/src/__tests__/resource/ai/tools/print.ts +1 -1
  58. package/src/__tests__/skills.test.ts +55 -0
  59. package/src/__tests__/tools.test.ts +5 -3
  60. package/src/ai-employee-manager/index.ts +148 -0
  61. package/src/ai-employee-manager/types.ts +63 -0
  62. package/src/ai-manager.ts +12 -0
  63. package/src/index.ts +4 -0
  64. package/src/loader/employee.ts +194 -0
  65. package/src/loader/index.ts +3 -0
  66. package/src/loader/mcp.ts +101 -0
  67. package/src/loader/skills.ts +129 -0
  68. package/src/mcp-manager/index.ts +364 -0
  69. package/src/mcp-manager/types.ts +68 -0
  70. package/src/mcp-tools-manager.ts +90 -0
  71. package/src/skills-manager/index.ts +148 -0
  72. package/src/skills-manager/types.ts +38 -0
  73. package/src/tools-manager/index.ts +3 -0
  74. package/src/tools-manager/types.ts +8 -1
@@ -54,6 +54,9 @@ export class DefaultToolsManager implements ToolsManager {
54
54
  const list = _.isArray(options) ? options : [options];
55
55
  for (const item of list) {
56
56
  const toolsEntry = { ...item } as ToolsEntry;
57
+ if (!toolsEntry.from) {
58
+ toolsEntry.from = 'loader';
59
+ }
57
60
  if (!toolsEntry.execution) {
58
61
  toolsEntry.execution = 'backend';
59
62
  }
@@ -21,6 +21,7 @@ export interface ToolsRegistration {
21
21
 
22
22
  export type ToolsOptions = {
23
23
  scope: Scope;
24
+ from?: From;
24
25
  execution?: 'frontend' | 'backend';
25
26
  defaultPermission?: Permission;
26
27
  silence?: boolean;
@@ -33,13 +34,19 @@ export type ToolsOptions = {
33
34
  description: string;
34
35
  schema?: any;
35
36
  };
36
- invoke: (ctx: Context, args: any, id: string) => Promise<any>;
37
+ invoke: (ctx: Context, args: any, runtime: ToolsRuntime) => Promise<any>;
38
+ };
39
+
40
+ export type ToolsRuntime = {
41
+ toolCallId: string;
42
+ writer: (chunk: any) => void;
37
43
  };
38
44
 
39
45
  export type ToolsEntry = ToolsOptions;
40
46
 
41
47
  export type Scope = 'SPECIFIED' | 'GENERAL' | 'CUSTOM';
42
48
  export type Permission = 'ASK' | 'ALLOW';
49
+ export type From = 'loader' | 'workflow' | 'mcp';
43
50
 
44
51
  export type DynamicToolsProvider = (register: ToolsRegistration) => Promise<void>;
45
52