@aalis/plugin-tools 0.8.0 → 0.10.0
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.
- package/README.md +1 -1
- package/dist/background-tools.d.ts +6 -0
- package/dist/background-tools.d.ts.map +1 -0
- package/dist/background-tools.js +85 -0
- package/dist/background-tools.js.map +1 -0
- package/dist/background.d.ts +189 -0
- package/dist/background.d.ts.map +1 -0
- package/dist/background.js +605 -0
- package/dist/background.js.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +78 -6
- package/dist/index.js.map +1 -1
- package/dist/tools.d.ts +24 -13
- package/dist/tools.d.ts.map +1 -1
- package/dist/tools.js +163 -39
- package/dist/tools.js.map +1 -1
- package/package.json +19 -6
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;IA4CI,yDAAyD;;;;IAIzD,kDAAkD;;IAElD,6BAA6B;;;AAfjC,wBAqDG"}
|
package/dist/index.js
CHANGED
|
@@ -1,14 +1,86 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { sessionManager } from '@aalis/api-session-manager';
|
|
2
|
+
import { storage } from '@aalis/api-storage';
|
|
3
|
+
import { backgroundTasks, tools } from '@aalis/api-tools';
|
|
4
|
+
import { config, definePlugin, events, lifecycle, logger, optional, provide } from '@aalis/core';
|
|
5
|
+
import { defineConfig, parseConfig } from '@aalis/schema-config';
|
|
6
|
+
import { BackgroundTasks, DEFAULT_LIMITS } from './background.js';
|
|
3
7
|
import { ToolRegistry } from './tools.js';
|
|
8
|
+
const configSchema = defineConfig({
|
|
9
|
+
background: {
|
|
10
|
+
label: '后台任务',
|
|
11
|
+
fields: {
|
|
12
|
+
maxWaitSeconds: {
|
|
13
|
+
type: 'number',
|
|
14
|
+
label: '前台最多等待(秒)',
|
|
15
|
+
default: DEFAULT_LIMITS.maxWaitSeconds,
|
|
16
|
+
min: 1,
|
|
17
|
+
// 计时器能表示的最长时限(2147483647 毫秒):超过时 Node 按 1 毫秒算,等于立即转后台
|
|
18
|
+
max: 2_147_483,
|
|
19
|
+
integer: true,
|
|
20
|
+
description: '可转后台的工具调用在前台最多等多少秒,模型给的 waitSeconds 超过它按它算;到时还没结束就转到后台',
|
|
21
|
+
},
|
|
22
|
+
maxPerSession: {
|
|
23
|
+
type: 'number',
|
|
24
|
+
label: '每个会话同时在跑的上限',
|
|
25
|
+
default: DEFAULT_LIMITS.maxPerSession,
|
|
26
|
+
min: 1,
|
|
27
|
+
integer: true,
|
|
28
|
+
description: '同一会话里对话回合中同时在跑的可转后台工具调用(前台与后台一起数),满了时新的调用在执行之前就被拒绝;不在对话回合里的调用不会转后台,不占名额',
|
|
29
|
+
},
|
|
30
|
+
},
|
|
31
|
+
},
|
|
32
|
+
});
|
|
4
33
|
export default definePlugin({
|
|
5
34
|
name: '@aalis/plugin-tools',
|
|
6
35
|
displayName: '工具注册表',
|
|
7
36
|
subsystem: 'agent',
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
37
|
+
configSchema,
|
|
38
|
+
provides: [tools, backgroundTasks],
|
|
39
|
+
uses: {
|
|
40
|
+
logger,
|
|
41
|
+
provide,
|
|
42
|
+
/** 后台任务的 tool:output、background:changed 与结束通知;会话删除与停机 */
|
|
43
|
+
events,
|
|
44
|
+
lifecycle,
|
|
45
|
+
config,
|
|
46
|
+
/** 会话设置项「工具分组」登记在会话管理上;没有会话管理时各会话只拿到不属于任何分组的工具 */
|
|
47
|
+
sessionManager: optional(sessionManager),
|
|
48
|
+
/** 后台任务登记写进插件数据;没有时只记在内存里 */
|
|
49
|
+
storage: optional(storage),
|
|
50
|
+
},
|
|
51
|
+
apply(caps) {
|
|
52
|
+
const { logger, events, lifecycle, sessionManager } = caps;
|
|
53
|
+
const cfg = parseConfig(configSchema, caps.config.use, logger.use);
|
|
54
|
+
sessionManager.use.registerSetting({
|
|
55
|
+
key: 'enabledToolGroups',
|
|
56
|
+
field: {
|
|
57
|
+
type: 'multiselect',
|
|
58
|
+
label: '工具分组',
|
|
59
|
+
dynamicOptions: 'toolGroups',
|
|
60
|
+
allowCustom: true,
|
|
61
|
+
description: '这个会话能用的工具分组,* 为全部;没设置或为空时只给不属于任何分组的工具',
|
|
62
|
+
},
|
|
63
|
+
appliesTo: ['owner', 'room', 'task'],
|
|
64
|
+
prominence: 'common',
|
|
65
|
+
order: 30,
|
|
66
|
+
unset: '只给不属于任何分组的工具',
|
|
67
|
+
});
|
|
68
|
+
const tasks = new BackgroundTasks({ logger: logger.use, events: events.use, limits: cfg.background });
|
|
69
|
+
events.use.on('session:deleted', sessionId => tasks.deleteSession(sessionId));
|
|
70
|
+
events.use.on('app:stopping', () => tasks.shutdown());
|
|
71
|
+
// 停接新活时:在跑的落成 aborted 并写盘,这时依赖的存储还在
|
|
72
|
+
lifecycle.use.onDrain(() => tasks.close());
|
|
73
|
+
// 登记表读回一次:optional 依赖不参与激活顺序,存储可能晚于本插件上线,有了插件数据根才读
|
|
74
|
+
const store = caps.storage.use;
|
|
75
|
+
let restoring = false;
|
|
76
|
+
caps.storage.follow(() => {
|
|
77
|
+
if (restoring || !store.listRoots().some(root => root.name === 'pluginData'))
|
|
78
|
+
return;
|
|
79
|
+
restoring = true;
|
|
80
|
+
void tasks.restore(store.own);
|
|
81
|
+
});
|
|
82
|
+
caps.provide.use(tools, new ToolRegistry(logger.use, tasks));
|
|
83
|
+
caps.provide.use(backgroundTasks, tasks);
|
|
12
84
|
},
|
|
13
85
|
});
|
|
14
86
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/tools.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { CapabilityConfirm, CapabilityRisk, CapabilityVisibility, ExecutionGuard } from '@aalis/api-authority';
|
|
2
|
-
import type
|
|
2
|
+
import { type RegisteredTool, type ToolCallContext, type ToolDefinition, type ToolDisplay, type ToolExecutionResult, type ToolGroupInfo, type ToolService, type ToolSummary } from '@aalis/api-tools';
|
|
3
3
|
import type { Logger } from '@aalis/core';
|
|
4
|
+
import { type BackgroundTasks } from './background.js';
|
|
4
5
|
/**
|
|
5
6
|
* 工具注册表 —— 管理 AI 可调用工具的注册、查询、执行
|
|
6
7
|
*
|
|
@@ -8,39 +9,44 @@ import type { Logger } from '@aalis/core';
|
|
|
8
9
|
* 消费方声明 @aalis/api-tools 的 `tools` 描述符,经绑定接口注册与查询。
|
|
9
10
|
*
|
|
10
11
|
* 与 plugin-commands/CommandRegistry 同属"中心 Registry 模式":
|
|
11
|
-
* -
|
|
12
|
-
* - register()
|
|
12
|
+
* - 一张登记表,name 全局唯一(重名警告并覆盖),另加四个自带的后台任务工具:它们的名字保留,同名登记被拒并告警
|
|
13
|
+
* - register() 返回退订,退订按条目身份,由绑定门面在激活撤回时调用
|
|
13
14
|
* - 通过 setExecutionGuard() 注入统一权限/安全检查钩子
|
|
14
15
|
*
|
|
15
|
-
*
|
|
16
|
-
* - 这里没有"多个底层 provider"概念——所有工具都直接落到这个 Map
|
|
17
|
-
* - 因此不需要枚举 'tools' 的全部提供者,也不需要 'router' capability
|
|
16
|
+
* 声明了 background 的工具由执行器转后台(见 background.ts);四个后台任务工具只在可见的工具里有可转后台的时才可见。
|
|
18
17
|
*/
|
|
19
18
|
export declare class ToolRegistry implements ToolService {
|
|
20
19
|
private tools;
|
|
20
|
+
private readonly taskTools;
|
|
21
21
|
private _groups;
|
|
22
22
|
private logger;
|
|
23
|
+
private readonly tasks;
|
|
23
24
|
private _guard?;
|
|
24
|
-
constructor(logger: Logger);
|
|
25
|
+
constructor(logger: Logger, tasks: BackgroundTasks);
|
|
25
26
|
register(tool: Omit<RegisteredTool, 'pluginName'>, contextId: string): () => void;
|
|
27
|
+
/** 发给模型的声明与让出时限:声明了 background、参数表里没有同名项的补上两项参数;有同名项的当作没声明 */
|
|
28
|
+
private declare;
|
|
26
29
|
getDefinitions(filter?: {
|
|
27
30
|
groups?: string[];
|
|
28
31
|
}): ToolDefinition[];
|
|
29
32
|
getSummaries(filter?: {
|
|
30
33
|
groups?: string[];
|
|
31
34
|
}): ToolSummary[];
|
|
32
|
-
/**
|
|
33
|
-
* 分组过滤:无分组的通用工具恒可见;带分组的只在命中 `groups` 时可见,`'*'` 表示全部分组。
|
|
34
|
-
* 未指定(或为空)即只给通用工具——多人平台上 public 工具的可达性靠这道闸
|
|
35
|
-
* (docs/concepts/security-model.md);owner 专用平台由平台档显式给 `['*']`。
|
|
36
|
-
*/
|
|
37
35
|
/**
|
|
38
36
|
* 某工具是否对「这组已启用分组」可见。列举面与执行面共用同一判据。
|
|
39
37
|
*
|
|
40
38
|
* 无分组的通用工具恒可见;`'*'` 放开全部分组。
|
|
41
39
|
*/
|
|
42
40
|
private groupAllowed;
|
|
41
|
+
/**
|
|
42
|
+
* 分组过滤:无分组的通用工具恒可见;带分组的只在命中 `groups` 时可见,`'*'` 表示全部分组。
|
|
43
|
+
* 未指定(或为空)即只给通用工具——多人平台上 public 工具的可达性靠这道闸
|
|
44
|
+
* (docs/concepts/security-model.md);owner 专用平台由平台档显式给 `['*']`。
|
|
45
|
+
* 可见的工具里有可转后台的,才连同四个后台任务工具
|
|
46
|
+
*/
|
|
43
47
|
private filtered;
|
|
48
|
+
/** 后台任务工具:执行面与列举面同一判据;调用方没给 enabledGroups 时不过分组闸,有可转后台的工具即可用 */
|
|
49
|
+
private taskTool;
|
|
44
50
|
getAll(): Array<{
|
|
45
51
|
name: string;
|
|
46
52
|
description: string;
|
|
@@ -49,12 +55,17 @@ export declare class ToolRegistry implements ToolService {
|
|
|
49
55
|
confirm?: CapabilityConfirm;
|
|
50
56
|
risk?: CapabilityRisk;
|
|
51
57
|
groups?: string[];
|
|
58
|
+
display?: ToolDisplay;
|
|
52
59
|
}>;
|
|
53
60
|
registerGroup(group: Omit<ToolGroupInfo, 'pluginName'>, contextId: string): () => void;
|
|
54
61
|
getGroups(): ToolGroupInfo[];
|
|
55
|
-
setExecutionGuard(guard: ExecutionGuard): void;
|
|
62
|
+
setExecutionGuard(guard: ExecutionGuard | undefined): void;
|
|
56
63
|
/** 工具名未命中时,按下划线分词的 token 交集 + 子串关系给出近似建议(最多 3 个)。 */
|
|
57
64
|
private suggestToolNames;
|
|
58
65
|
execute(toolName: string, args: Record<string, unknown>, callCtx: ToolCallContext): Promise<ToolExecutionResult>;
|
|
66
|
+
/** 过执行守卫;拒绝时回原因。守卫可能等过一轮 owner 审批:期间回合若已中止(latest-wins / 手动 abort),不替死回合执行 */
|
|
67
|
+
private guard;
|
|
68
|
+
/** 跑工具:字符串结果归一为统一形态,带图结果只保留非空 images(空数组等于没图);抛错转成 { error },不冒泡 */
|
|
69
|
+
private invoke;
|
|
59
70
|
}
|
|
60
71
|
//# sourceMappingURL=tools.d.ts.map
|
package/dist/tools.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEpH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEpH,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,WAAW,EAEjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,KAAK,eAAe,EAA4C,MAAM,iBAAiB,CAAC;AAUjG;;;;;;;;;;;;GAYG;AACH,qBAAa,YAAa,YAAW,WAAW;IAC9C,OAAO,CAAC,KAAK,CAA4B;IACzC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqB;IAC/C,OAAO,CAAC,OAAO,CAAoC;IACnD,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAkB;IACxC,OAAO,CAAC,MAAM,CAAC,CAAiB;gBAEpB,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe;IAalD,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,cAAc,EAAE,YAAY,CAAC,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,IAAI;IAsBjF,8DAA8D;IAC9D,OAAO,CAAC,OAAO;IA8Bf,cAAc,CAAC,MAAM,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,cAAc,EAAE;IAIhE,YAAY,CAAC,MAAM,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,WAAW,EAAE;IAQ3D;;;;OAIG;IACH,OAAO,CAAC,YAAY;IAMpB;;;;;OAKG;IACH,OAAO,CAAC,QAAQ;IAKhB,gEAAgE;IAChE,OAAO,CAAC,QAAQ;IAShB,MAAM,IAAI,KAAK,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,oBAAoB,CAAC;QACjC,OAAO,CAAC,EAAE,iBAAiB,CAAC;QAC5B,IAAI,CAAC,EAAE,cAAc,CAAC;QACtB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;QAClB,OAAO,CAAC,EAAE,WAAW,CAAC;KACvB,CAAC;IAgBF,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,YAAY,CAAC,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,IAAI;IAWtF,SAAS,IAAI,aAAa,EAAE;IAM5B,iBAAiB,CAAC,KAAK,EAAE,cAAc,GAAG,SAAS,GAAG,IAAI;IAI1D,qDAAqD;IACrD,OAAO,CAAC,gBAAgB;IAmBlB,OAAO,CACX,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,mBAAmB,CAAC;IA4E/B,8EAA8E;YAChE,KAAK;IAsCnB,oEAAoE;YACtD,MAAM;CAiBrB"}
|
package/dist/tools.js
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
import { resolveCapabilityPolicy } from '@aalis/api-authority';
|
|
1
|
+
import { capabilityMinLevel, DEFAULT_AUTHORITY, resolveCapabilityPolicy } from '@aalis/api-authority';
|
|
2
|
+
import { takenBackgroundParams, } from '@aalis/api-tools';
|
|
3
|
+
import { DEFAULT_YIELD_SECONDS, inTurn } from './background.js';
|
|
4
|
+
import { backgroundTaskTools } from './background-tools.js';
|
|
2
5
|
/**
|
|
3
6
|
* 工具注册表 —— 管理 AI 可调用工具的注册、查询、执行
|
|
4
7
|
*
|
|
@@ -6,55 +9,89 @@ import { resolveCapabilityPolicy } from '@aalis/api-authority';
|
|
|
6
9
|
* 消费方声明 @aalis/api-tools 的 `tools` 描述符,经绑定接口注册与查询。
|
|
7
10
|
*
|
|
8
11
|
* 与 plugin-commands/CommandRegistry 同属"中心 Registry 模式":
|
|
9
|
-
* -
|
|
10
|
-
* - register()
|
|
12
|
+
* - 一张登记表,name 全局唯一(重名警告并覆盖),另加四个自带的后台任务工具:它们的名字保留,同名登记被拒并告警
|
|
13
|
+
* - register() 返回退订,退订按条目身份,由绑定门面在激活撤回时调用
|
|
11
14
|
* - 通过 setExecutionGuard() 注入统一权限/安全检查钩子
|
|
12
15
|
*
|
|
13
|
-
*
|
|
14
|
-
* - 这里没有"多个底层 provider"概念——所有工具都直接落到这个 Map
|
|
15
|
-
* - 因此不需要枚举 'tools' 的全部提供者,也不需要 'router' capability
|
|
16
|
+
* 声明了 background 的工具由执行器转后台(见 background.ts);四个后台任务工具只在可见的工具里有可转后台的时才可见。
|
|
16
17
|
*/
|
|
17
18
|
export class ToolRegistry {
|
|
18
19
|
tools = new Map();
|
|
20
|
+
taskTools;
|
|
19
21
|
_groups = new Map();
|
|
20
22
|
logger;
|
|
23
|
+
tasks;
|
|
21
24
|
_guard;
|
|
22
|
-
constructor(logger) {
|
|
25
|
+
constructor(logger, tasks) {
|
|
23
26
|
this.logger = logger.child('tools');
|
|
27
|
+
this.tasks = tasks;
|
|
28
|
+
this.taskTools = new Map(backgroundTaskTools(this.tasks).map(tool => [
|
|
29
|
+
tool.definition.function.name,
|
|
30
|
+
{ tool: { ...tool, pluginName: '@aalis/plugin-tools' }, definition: tool.definition },
|
|
31
|
+
]));
|
|
24
32
|
}
|
|
25
33
|
// ---- 注册 / 注销 ----
|
|
26
34
|
register(tool, contextId) {
|
|
27
35
|
const name = tool.definition.function.name;
|
|
36
|
+
if (this.taskTools.has(name)) {
|
|
37
|
+
this.logger.warn(`工具名 "${name}" 留给后台任务工具,${contextId} 的这个登记已忽略`);
|
|
38
|
+
return () => { };
|
|
39
|
+
}
|
|
28
40
|
if (this.tools.has(name)) {
|
|
29
41
|
this.logger.warn(`工具 "${name}" 已存在,将被覆盖 (来自 ${contextId})`);
|
|
30
42
|
}
|
|
31
|
-
const entry = { ...tool, pluginName: contextId };
|
|
43
|
+
const entry = { tool: { ...tool, pluginName: contextId }, ...this.declare(tool) };
|
|
32
44
|
this.tools.set(name, entry);
|
|
33
45
|
this.logger.debug(`注册工具: ${name} (来自 ${contextId})`);
|
|
34
|
-
// 退订按条目引用比对:同名重注册后,旧退订闭包不得误删新登记(按 name + contextId
|
|
46
|
+
// 退订按条目引用比对:同名重注册后,旧退订闭包不得误删新登记(按 name + contextId 比对会)。
|
|
47
|
+
// 这个登记在跑的调用随撤回一并中止(所属插件停用),不论它是否已被同名登记顶掉
|
|
35
48
|
return () => {
|
|
49
|
+
this.tasks.withdraw(entry, name);
|
|
36
50
|
if (this.tools.get(name) !== entry)
|
|
37
51
|
return;
|
|
38
52
|
this.tools.delete(name);
|
|
39
53
|
this.logger.debug(`注销工具: ${name}`);
|
|
40
54
|
};
|
|
41
55
|
}
|
|
56
|
+
/** 发给模型的声明与让出时限:声明了 background、参数表里没有同名项的补上两项参数;有同名项的当作没声明 */
|
|
57
|
+
declare(tool) {
|
|
58
|
+
const fn = tool.definition.function;
|
|
59
|
+
if (!tool.background)
|
|
60
|
+
return { definition: tool.definition };
|
|
61
|
+
const taken = takenBackgroundParams(fn.parameters);
|
|
62
|
+
if (taken.length > 0) {
|
|
63
|
+
this.logger.warn(`工具 "${fn.name}" 的参数表里已有 ${taken.join('、')},当作不可转后台`);
|
|
64
|
+
return { definition: tool.definition };
|
|
65
|
+
}
|
|
66
|
+
const yieldSeconds = tool.background.yieldSeconds ?? DEFAULT_YIELD_SECONDS;
|
|
67
|
+
const max = this.tasks.limits.maxWaitSeconds;
|
|
68
|
+
const properties = {
|
|
69
|
+
...fn.parameters.properties,
|
|
70
|
+
runInBackground: {
|
|
71
|
+
type: 'boolean',
|
|
72
|
+
description: '立即转到后台:先回给你任务 id,不等结果,结束时会通知你。明知要很久的(构建、下载、长驻进程)用它',
|
|
73
|
+
},
|
|
74
|
+
waitSeconds: {
|
|
75
|
+
type: 'number',
|
|
76
|
+
description: `前台最多等多少秒,到时还没结束就转到后台(默认 ${Math.min(yieldSeconds, max)},最多 ${max})`,
|
|
77
|
+
},
|
|
78
|
+
};
|
|
79
|
+
return {
|
|
80
|
+
yieldSeconds,
|
|
81
|
+
definition: { ...tool.definition, function: { ...fn, parameters: { ...fn.parameters, properties } } },
|
|
82
|
+
};
|
|
83
|
+
}
|
|
42
84
|
// ---- 查询 ----
|
|
43
85
|
getDefinitions(filter) {
|
|
44
|
-
return this.filtered(filter).map(
|
|
86
|
+
return this.filtered(filter).map(e => e.definition);
|
|
45
87
|
}
|
|
46
88
|
getSummaries(filter) {
|
|
47
|
-
return this.filtered(filter).map(t => ({
|
|
89
|
+
return this.filtered(filter).map(({ tool: t }) => ({
|
|
48
90
|
name: t.definition.function.name,
|
|
49
91
|
description: t.definition.function.description,
|
|
50
92
|
groups: t.groups,
|
|
51
93
|
}));
|
|
52
94
|
}
|
|
53
|
-
/**
|
|
54
|
-
* 分组过滤:无分组的通用工具恒可见;带分组的只在命中 `groups` 时可见,`'*'` 表示全部分组。
|
|
55
|
-
* 未指定(或为空)即只给通用工具——多人平台上 public 工具的可达性靠这道闸
|
|
56
|
-
* (docs/concepts/security-model.md);owner 专用平台由平台档显式给 `['*']`。
|
|
57
|
-
*/
|
|
58
95
|
/**
|
|
59
96
|
* 某工具是否对「这组已启用分组」可见。列举面与执行面共用同一判据。
|
|
60
97
|
*
|
|
@@ -67,15 +104,26 @@ export class ToolRegistry {
|
|
|
67
104
|
return true;
|
|
68
105
|
return tool.groups.some(g => groups.includes(g));
|
|
69
106
|
}
|
|
107
|
+
/**
|
|
108
|
+
* 分组过滤:无分组的通用工具恒可见;带分组的只在命中 `groups` 时可见,`'*'` 表示全部分组。
|
|
109
|
+
* 未指定(或为空)即只给通用工具——多人平台上 public 工具的可达性靠这道闸
|
|
110
|
+
* (docs/concepts/security-model.md);owner 专用平台由平台档显式给 `['*']`。
|
|
111
|
+
* 可见的工具里有可转后台的,才连同四个后台任务工具
|
|
112
|
+
*/
|
|
70
113
|
filtered(filter) {
|
|
71
|
-
const
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
114
|
+
const visible = [...this.tools.values()].filter(e => this.groupAllowed(e.tool, filter?.groups ?? []));
|
|
115
|
+
return visible.some(e => e.yieldSeconds !== undefined) ? [...visible, ...this.taskTools.values()] : visible;
|
|
116
|
+
}
|
|
117
|
+
/** 后台任务工具:执行面与列举面同一判据;调用方没给 enabledGroups 时不过分组闸,有可转后台的工具即可用 */
|
|
118
|
+
taskTool(name, groups) {
|
|
119
|
+
const entry = this.taskTools.get(name);
|
|
120
|
+
if (!entry)
|
|
121
|
+
return undefined;
|
|
122
|
+
const available = [...this.tools.values()].some(e => e.yieldSeconds !== undefined && (!groups || this.groupAllowed(e.tool, groups)));
|
|
123
|
+
return available ? entry : undefined;
|
|
76
124
|
}
|
|
77
125
|
getAll() {
|
|
78
|
-
return
|
|
126
|
+
return this.filtered({ groups: ['*'] }).map(({ tool: t }) => {
|
|
79
127
|
const { visibility, confirm } = resolveCapabilityPolicy(t);
|
|
80
128
|
return {
|
|
81
129
|
name: t.definition.function.name,
|
|
@@ -85,6 +133,7 @@ export class ToolRegistry {
|
|
|
85
133
|
confirm,
|
|
86
134
|
risk: t.risk, // 原始风险透传:让 authority 区分 sensitive(朋友) / dangerous(信任),否则二者都折成 restricted=信任
|
|
87
135
|
groups: t.groups,
|
|
136
|
+
display: t.display,
|
|
88
137
|
};
|
|
89
138
|
});
|
|
90
139
|
}
|
|
@@ -111,7 +160,7 @@ export class ToolRegistry {
|
|
|
111
160
|
const q = query.toLowerCase();
|
|
112
161
|
const qTokens = new Set(q.split(/[_\s-]+/).filter(Boolean));
|
|
113
162
|
const scored = [];
|
|
114
|
-
for (const [name, tool] of this.tools) {
|
|
163
|
+
for (const [name, { tool }] of this.tools) {
|
|
115
164
|
// 不把本会话未暴露分组的工具名建议回模型:那等于替它把闸外的名字念一遍
|
|
116
165
|
if (enabledGroups && !this.groupAllowed(tool, enabledGroups))
|
|
117
166
|
continue;
|
|
@@ -131,14 +180,15 @@ export class ToolRegistry {
|
|
|
131
180
|
.map(s => s.name);
|
|
132
181
|
}
|
|
133
182
|
async execute(toolName, args, callCtx) {
|
|
134
|
-
const
|
|
135
|
-
if (!
|
|
183
|
+
const entry = this.tools.get(toolName) ?? this.taskTool(toolName, callCtx.enabledGroups);
|
|
184
|
+
if (!entry) {
|
|
136
185
|
// LLM 常臆造工具名(如把 send_attachment 叫成 send_image)。给出近似名建议,
|
|
137
186
|
// 让模型本轮直接纠正调用,而不是再花一轮 search_tools 找正确名字。
|
|
138
187
|
const suggestions = this.suggestToolNames(toolName, callCtx.enabledGroups);
|
|
139
188
|
const hint = suggestions.length > 0 ? `,你是否想用:${suggestions.join(' / ')}` : '';
|
|
140
|
-
return
|
|
189
|
+
return failure(`工具 "${toolName}" 未找到${hint}`);
|
|
141
190
|
}
|
|
191
|
+
const { tool } = entry;
|
|
142
192
|
// 分组闸:此前只在列举面(filtered)生效,execute 按名直调完全不校验。被提示注入的
|
|
143
193
|
// 模型可以叫出一个本回合没下发给它的名字(安全模型把 LLM 输出列为不可信),于是
|
|
144
194
|
// onebot 群会话里未暴露分组的工具照样被执行——而「不在 enabledGroups 里故不可达」
|
|
@@ -147,14 +197,64 @@ export class ToolRegistry {
|
|
|
147
197
|
// 各自另有暴露面控制,行为不变。
|
|
148
198
|
if (callCtx.enabledGroups && !this.groupAllowed(tool, callCtx.enabledGroups)) {
|
|
149
199
|
// 与「未找到」同形:不向闸外的调用者确认该工具存在
|
|
150
|
-
return
|
|
200
|
+
return failure(`工具 "${toolName}" 未找到`);
|
|
201
|
+
}
|
|
202
|
+
// 可转后台的工具:执行器的两项参数先取出,再做参数校验、过守卫、交给工具(审批事实里没有它们)
|
|
203
|
+
let toolArgs = args;
|
|
204
|
+
let plan;
|
|
205
|
+
if (entry.yieldSeconds !== undefined) {
|
|
206
|
+
const taken = takeFlags(args);
|
|
207
|
+
if (typeof taken === 'string')
|
|
208
|
+
return failure(taken);
|
|
209
|
+
if (taken.runInBackground && !inTurn(callCtx)) {
|
|
210
|
+
return failure('不在对话回合里的调用不能转后台:没有可以通知的对话');
|
|
211
|
+
}
|
|
212
|
+
toolArgs = taken.args;
|
|
213
|
+
plan = {
|
|
214
|
+
waitSeconds: Math.min(taken.waitSeconds ?? entry.yieldSeconds, this.tasks.limits.maxWaitSeconds),
|
|
215
|
+
immediate: taken.runInBackground,
|
|
216
|
+
};
|
|
151
217
|
}
|
|
152
218
|
// 参数 schema 校验:检测缺失必填项 / 多余未知键(LLM 写错参数名时给出明确提示)
|
|
153
|
-
const schemaError = validateToolArgs(toolName, tool.definition,
|
|
219
|
+
const schemaError = validateToolArgs(toolName, tool.definition, toolArgs);
|
|
154
220
|
if (schemaError) {
|
|
155
221
|
this.logger.warn(`工具 ${toolName} 参数校验失败: ${schemaError}`);
|
|
156
|
-
return
|
|
222
|
+
return failure(schemaError);
|
|
223
|
+
}
|
|
224
|
+
// 同一会话里在跑的可转后台调用满了时,在过守卫之前就拒绝(不为执行不了的调用发审批)
|
|
225
|
+
const call = plan && this.tasks.admit(callCtx, entry, plan);
|
|
226
|
+
if (typeof call === 'string')
|
|
227
|
+
return { content: call };
|
|
228
|
+
// 占到的位置没交给 run 的(守卫拒绝或抛错、已中止)一律让出
|
|
229
|
+
let handedOver = false;
|
|
230
|
+
try {
|
|
231
|
+
// 等审批期间这次调用可能已被中止(工具撤回登记、会话删除、执行器停用)
|
|
232
|
+
const refused = (await this.guard(tool, toolArgs, callCtx)) ??
|
|
233
|
+
(call?.controller.signal.aborted ? '调用已中止,未执行' : undefined);
|
|
234
|
+
if (refused !== undefined)
|
|
235
|
+
return failure(refused);
|
|
236
|
+
if (resolveCapabilityPolicy(tool).visibility === 'restricted') {
|
|
237
|
+
this.logger.info(`受限工具执行: ${toolName} session=${callCtx.sessionId} platform=${callCtx.platform ?? 'unknown'} args=${JSON.stringify(toolArgs)}`);
|
|
238
|
+
}
|
|
239
|
+
if (!call)
|
|
240
|
+
return this.invoke(tool, toolArgs, { ...callCtx, output: this.tasks.outputFor(callCtx) });
|
|
241
|
+
handedOver = true;
|
|
242
|
+
return this.tasks.run(call, {
|
|
243
|
+
tool: toolName,
|
|
244
|
+
args,
|
|
245
|
+
ctx: callCtx,
|
|
246
|
+
display: tool.display,
|
|
247
|
+
invoke: ctx => this.invoke(tool, toolArgs, ctx),
|
|
248
|
+
});
|
|
157
249
|
}
|
|
250
|
+
finally {
|
|
251
|
+
if (call && !handedOver)
|
|
252
|
+
this.tasks.release(call);
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
/** 过执行守卫;拒绝时回原因。守卫可能等过一轮 owner 审批:期间回合若已中止(latest-wins / 手动 abort),不替死回合执行 */
|
|
256
|
+
async guard(tool, args, callCtx) {
|
|
257
|
+
const toolName = tool.definition.function.name;
|
|
158
258
|
const { visibility, confirm } = resolveCapabilityPolicy(tool);
|
|
159
259
|
if (this._guard) {
|
|
160
260
|
const denied = await this._guard({
|
|
@@ -168,23 +268,31 @@ export class ToolRegistry {
|
|
|
168
268
|
userId: callCtx.userId,
|
|
169
269
|
actor: callCtx.actor,
|
|
170
270
|
args,
|
|
271
|
+
turnId: callCtx.turnId,
|
|
272
|
+
callId: callCtx.callId,
|
|
273
|
+
inbound: callCtx.inbound,
|
|
171
274
|
signal: callCtx.signal,
|
|
172
275
|
});
|
|
173
276
|
if (denied) {
|
|
174
277
|
this.logger.warn(`工具 ${toolName} 被执行守卫拦截: ${denied}`);
|
|
175
|
-
return
|
|
278
|
+
return denied;
|
|
176
279
|
}
|
|
177
280
|
}
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
281
|
+
else if (confirm || capabilityMinLevel({ risk: tool.risk, visibility }) > DEFAULT_AUTHORITY) {
|
|
282
|
+
// 没有守卫(未装权限插件)时 fail-closed:等同人人都是默认等级、没人能确认。
|
|
283
|
+
// 需要更高等级或需要确认的工具一律拒绝,默认等级可用且无需确认的照常执行。
|
|
284
|
+
const reason = `工具 "${toolName}" 需要权限校验或确认,但未安装权限插件 @aalis/plugin-authority,已拒绝执行`;
|
|
285
|
+
this.logger.warn(reason);
|
|
286
|
+
return reason;
|
|
287
|
+
}
|
|
288
|
+
return callCtx.signal?.aborted ? '回合已中止,未执行' : undefined;
|
|
289
|
+
}
|
|
290
|
+
/** 跑工具:字符串结果归一为统一形态,带图结果只保留非空 images(空数组等于没图);抛错转成 { error },不冒泡 */
|
|
291
|
+
async invoke(tool, args, ctx) {
|
|
292
|
+
const toolName = tool.definition.function.name;
|
|
181
293
|
try {
|
|
182
|
-
|
|
183
|
-
this.logger.info(`受限工具执行: ${toolName} session=${callCtx.sessionId} platform=${callCtx.platform ?? 'unknown'} args=${JSON.stringify(args)}`);
|
|
184
|
-
}
|
|
185
|
-
const result = await tool.handler(args, callCtx);
|
|
294
|
+
const result = await tool.handler(args, ctx);
|
|
186
295
|
this.logger.debug(`工具 ${toolName} 执行成功`);
|
|
187
|
-
// 字符串结果归一为统一形态;带图结果只保留非空 images(空数组等于没图)
|
|
188
296
|
if (typeof result === 'string')
|
|
189
297
|
return { content: result };
|
|
190
298
|
return result.images && result.images.length > 0 ? result : { content: result.content };
|
|
@@ -192,10 +300,26 @@ export class ToolRegistry {
|
|
|
192
300
|
catch (err) {
|
|
193
301
|
const message = err instanceof Error ? err.message : String(err);
|
|
194
302
|
this.logger.error(`工具 ${toolName} 执行失败: ${message}`);
|
|
195
|
-
return
|
|
303
|
+
return failure(message);
|
|
196
304
|
}
|
|
197
305
|
}
|
|
198
306
|
}
|
|
307
|
+
const failure = (message) => ({ content: JSON.stringify({ error: message }) });
|
|
308
|
+
/** 取出执行器的两项参数并核对类型:回剩下交给工具的参数,类型不对时回错误 */
|
|
309
|
+
function takeFlags(args) {
|
|
310
|
+
const { runInBackground, waitSeconds, ...rest } = args;
|
|
311
|
+
if (runInBackground !== undefined && typeof runInBackground !== 'boolean')
|
|
312
|
+
return 'runInBackground 要是布尔值';
|
|
313
|
+
if (waitSeconds !== undefined &&
|
|
314
|
+
!(typeof waitSeconds === 'number' && Number.isFinite(waitSeconds) && waitSeconds >= 0)) {
|
|
315
|
+
return 'waitSeconds 要是不小于 0 的秒数';
|
|
316
|
+
}
|
|
317
|
+
return {
|
|
318
|
+
args: rest,
|
|
319
|
+
runInBackground: runInBackground === true,
|
|
320
|
+
...(waitSeconds !== undefined ? { waitSeconds } : {}),
|
|
321
|
+
};
|
|
322
|
+
}
|
|
199
323
|
/**
|
|
200
324
|
* 轻量工具参数校验:
|
|
201
325
|
* - 检测 required 字段是否缺失
|
package/dist/tools.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aalis/plugin-tools",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.10.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -24,25 +24,38 @@
|
|
|
24
24
|
"dist"
|
|
25
25
|
],
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"@aalis/api-authority": ">=0.
|
|
28
|
-
"@aalis/api-tools": ">=0.
|
|
27
|
+
"@aalis/api-authority": ">=0.11.0 <1.0.0",
|
|
28
|
+
"@aalis/api-tools": ">=0.11.0 <1.0.0",
|
|
29
|
+
"@aalis/api-session-manager": ">=0.11.0 <1.0.0",
|
|
30
|
+
"@aalis/api-storage": ">=0.8.0 <1.0.0",
|
|
31
|
+
"@aalis/schema-config": ">=0.15.0 <1.0.0",
|
|
32
|
+
"@aalis/schema-message": ">=0.10.0 <1.0.0",
|
|
33
|
+
"@aalis/util-text-normalize": ">=0.5.2 <1.0.0"
|
|
29
34
|
},
|
|
30
35
|
"devDependencies": {
|
|
31
36
|
"@types/node": "^22.0.0",
|
|
32
37
|
"typescript": "^5.7.0",
|
|
33
|
-
"@aalis/core": "0.
|
|
38
|
+
"@aalis/core": "0.20.0"
|
|
34
39
|
},
|
|
35
40
|
"peerDependencies": {
|
|
36
|
-
"@aalis/core": ">=0.
|
|
41
|
+
"@aalis/core": ">=0.20.0 <1.0.0"
|
|
37
42
|
},
|
|
38
43
|
"aalis": {
|
|
39
44
|
"service": {
|
|
40
45
|
"provides": [
|
|
41
|
-
"tools"
|
|
46
|
+
"tools",
|
|
47
|
+
"background-tasks"
|
|
42
48
|
],
|
|
43
49
|
"required": [
|
|
50
|
+
"config",
|
|
51
|
+
"events",
|
|
52
|
+
"lifecycle",
|
|
44
53
|
"logger",
|
|
45
54
|
"provide"
|
|
55
|
+
],
|
|
56
|
+
"optional": [
|
|
57
|
+
"session-manager",
|
|
58
|
+
"storage"
|
|
46
59
|
]
|
|
47
60
|
}
|
|
48
61
|
},
|