@nocobase/ai 2.1.0-beta.24 → 2.1.0-beta.25

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.
@@ -94,6 +94,7 @@ const _DefaultAIEmployeeManager = class _DefaultAIEmployeeManager {
94
94
  await this.aiEmployeesModel.create(
95
95
  {
96
96
  username: employee.username,
97
+ category: employee.category ?? "business",
97
98
  nickname: employee.nickname,
98
99
  position: employee.position,
99
100
  avatar: employee.avatar,
@@ -122,8 +123,9 @@ const _DefaultAIEmployeeManager = class _DefaultAIEmployeeManager {
122
123
  var _a;
123
124
  return (_a = s.name) == null ? void 0 : _a.startsWith("workflowCaller-");
124
125
  }) : [];
125
- const mergedTools = /* @__PURE__ */ new Set([...tools, ...employee.tools]);
126
+ const mergedTools = /* @__PURE__ */ new Set([...tools, ...employee.tools ?? []]);
126
127
  const values = {
128
+ category: employee.category ?? current.category,
127
129
  nickname: employee.nickname ?? current.nickname,
128
130
  position: employee.position ?? current.position,
129
131
  avatar: employee.avatar ?? current.avatar,
@@ -131,7 +133,7 @@ const _DefaultAIEmployeeManager = class _DefaultAIEmployeeManager {
131
133
  greeting: employee.greeting ?? current.greeting,
132
134
  defaultPrompt: employee.systemPrompt,
133
135
  skillSettings: {
134
- skills: [...employee.skills],
136
+ skills: [...employee.skills ?? []],
135
137
  tools: [...mergedTools]
136
138
  },
137
139
  sort: employee.sort
@@ -25,6 +25,7 @@ export type AIEmployeeToolSetting = {
25
25
  };
26
26
  export type AIEmployeeOptions = {
27
27
  username: string;
28
+ category?: string;
28
29
  description?: string;
29
30
  skills?: string[];
30
31
  tools?: AIEmployeeToolSetting[];
@@ -121,12 +121,24 @@ const _AIEmployeeLoader = class _AIEmployeeLoader extends import_types.LoadAndRe
121
121
  this.employeeDescriptors = descriptors.filter((item) => Boolean(item));
122
122
  }
123
123
  async register() {
124
+ var _a, _b;
124
125
  if (!this.employeeDescriptors.length) {
125
126
  return;
126
127
  }
127
128
  const { employeeManager } = this.ai;
128
129
  for (const descriptor of this.employeeDescriptors) {
129
- await employeeManager.registerEmployee(descriptor.options);
130
+ try {
131
+ await employeeManager.registerEmployee(descriptor.options);
132
+ (_a = this.log) == null ? void 0 : _a.info(
133
+ `ai employee [${descriptor.options.username}] registered from plugin [${this.options.pluginName}]`
134
+ );
135
+ } catch (e) {
136
+ (_b = this.log) == null ? void 0 : _b.error(
137
+ `ai employee [${descriptor.name}] register ignored: error occur when invoke registerEmployee`,
138
+ e
139
+ );
140
+ continue;
141
+ }
130
142
  }
131
143
  }
132
144
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nocobase/ai",
3
- "version": "2.1.0-beta.24",
3
+ "version": "2.1.0-beta.25",
4
4
  "description": "",
5
5
  "license": "Apache-2.0",
6
6
  "main": "./lib/index.js",
@@ -17,10 +17,10 @@
17
17
  "@langchain/mcp-adapters": "^1.1.3",
18
18
  "@langchain/ollama": "^1.2.2",
19
19
  "@langchain/openai": "^1.2.7",
20
- "@nocobase/data-source-manager": "2.1.0-beta.24",
21
- "@nocobase/logger": "2.1.0-beta.24",
22
- "@nocobase/resourcer": "2.1.0-beta.24",
23
- "@nocobase/utils": "2.1.0-beta.24",
20
+ "@nocobase/data-source-manager": "2.1.0-beta.25",
21
+ "@nocobase/logger": "2.1.0-beta.25",
22
+ "@nocobase/resourcer": "2.1.0-beta.25",
23
+ "@nocobase/utils": "2.1.0-beta.25",
24
24
  "d3-dsv": "2",
25
25
  "fast-glob": "^3.3.2",
26
26
  "flexsearch": "^0.8.2",
@@ -37,5 +37,5 @@
37
37
  "url": "git+https://github.com/nocobase/nocobase.git",
38
38
  "directory": "packages/ai"
39
39
  },
40
- "gitHead": "f77b85530a2d127d9bfe4dca3a26fbb02c1139ba"
40
+ "gitHead": "824f8b8200e9fe086135768934d3ef427b212446"
41
41
  }
@@ -80,6 +80,7 @@ export class DefaultAIEmployeeManager implements AIEmployeeManager {
80
80
  await this.aiEmployeesModel.create(
81
81
  {
82
82
  username: employee.username,
83
+ category: employee.category ?? 'business',
83
84
  nickname: employee.nickname,
84
85
  position: employee.position,
85
86
  avatar: employee.avatar,
@@ -106,8 +107,9 @@ export class DefaultAIEmployeeManager implements AIEmployeeManager {
106
107
  const current = existed.toJSON() as AIEmployeeEntry;
107
108
  let { tools } = current?.skillSettings ?? { tools: [] };
108
109
  tools = tools?.length ? tools.filter((s) => s.name?.startsWith('workflowCaller-')) : [];
109
- const mergedTools = new Set([...tools, ...employee.tools]);
110
+ const mergedTools = new Set([...tools, ...(employee.tools ?? [])]);
110
111
  const values: Record<string, unknown> = {
112
+ category: employee.category ?? current.category,
111
113
  nickname: employee.nickname ?? current.nickname,
112
114
  position: employee.position ?? current.position,
113
115
  avatar: employee.avatar ?? current.avatar,
@@ -115,7 +117,7 @@ export class DefaultAIEmployeeManager implements AIEmployeeManager {
115
117
  greeting: employee.greeting ?? current.greeting,
116
118
  defaultPrompt: employee.systemPrompt,
117
119
  skillSettings: {
118
- skills: [...employee.skills],
120
+ skills: [...(employee.skills ?? [])],
119
121
  tools: [...mergedTools],
120
122
  },
121
123
  sort: employee.sort,
@@ -29,6 +29,7 @@ export type AIEmployeeToolSetting = {
29
29
 
30
30
  export type AIEmployeeOptions = {
31
31
  username: string;
32
+ category?: string;
32
33
  description?: string;
33
34
  skills?: string[];
34
35
  tools?: AIEmployeeToolSetting[];
@@ -109,7 +109,18 @@ export class AIEmployeeLoader extends LoadAndRegister<AIEmployeeLoaderOptions> {
109
109
  }
110
110
  const { employeeManager } = this.ai;
111
111
  for (const descriptor of this.employeeDescriptors) {
112
- await employeeManager.registerEmployee(descriptor.options);
112
+ try {
113
+ await employeeManager.registerEmployee(descriptor.options);
114
+ this.log?.info(
115
+ `ai employee [${descriptor.options.username}] registered from plugin [${this.options.pluginName}]`,
116
+ );
117
+ } catch (e) {
118
+ this.log?.error(
119
+ `ai employee [${descriptor.name}] register ignored: error occur when invoke registerEmployee`,
120
+ e,
121
+ );
122
+ continue;
123
+ }
113
124
  }
114
125
  }
115
126
  }