@aalis/plugin-tools 0.7.1 → 0.7.3
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/dist/tools.d.ts +10 -4
- package/dist/tools.d.ts.map +1 -1
- package/dist/tools.js +42 -17
- package/dist/tools.js.map +1 -1
- package/package.json +2 -2
package/dist/tools.d.ts
CHANGED
|
@@ -9,7 +9,7 @@ import type { Logger } from '@aalis/core';
|
|
|
9
9
|
*
|
|
10
10
|
* 与 plugin-commands/CommandRegistry 同属"中心 Registry 模式":
|
|
11
11
|
* - 单一 Map<name, Registered> 存储,name 全局唯一(重名警告并覆盖)
|
|
12
|
-
* - register() 返回 disposer
|
|
12
|
+
* - register() 返回 disposer,Context 拆卸时按 contextId 自动注销
|
|
13
13
|
* - 通过 setExecutionGuard() 注入统一权限/安全检查钩子
|
|
14
14
|
*
|
|
15
15
|
* 与 LLM/Storage/Platform 路由器(同名 facade 模式)的差异:
|
|
@@ -22,7 +22,7 @@ export declare class ToolRegistry implements ToolService {
|
|
|
22
22
|
private logger;
|
|
23
23
|
private _guard?;
|
|
24
24
|
constructor(logger: Logger);
|
|
25
|
-
register(tool: Omit<RegisteredTool, 'pluginName'>,
|
|
25
|
+
register(tool: Omit<RegisteredTool, 'pluginName'>, contextId: string): () => void;
|
|
26
26
|
getDefinitions(filter?: {
|
|
27
27
|
groups?: string[];
|
|
28
28
|
}): ToolDefinition[];
|
|
@@ -34,6 +34,12 @@ export declare class ToolRegistry implements ToolService {
|
|
|
34
34
|
* 未指定(或为空)即只给通用工具——多人平台上 public 工具的可达性靠这道闸
|
|
35
35
|
* (docs/concepts/security-model.md);owner 专用平台由平台档显式给 `['*']`。
|
|
36
36
|
*/
|
|
37
|
+
/**
|
|
38
|
+
* 某工具是否对「这组已启用分组」可见。列举面与执行面共用同一判据。
|
|
39
|
+
*
|
|
40
|
+
* 无分组的通用工具恒可见;`'*'` 放开全部分组。
|
|
41
|
+
*/
|
|
42
|
+
private groupAllowed;
|
|
37
43
|
private filtered;
|
|
38
44
|
getAll(): Array<{
|
|
39
45
|
name: string;
|
|
@@ -44,12 +50,12 @@ export declare class ToolRegistry implements ToolService {
|
|
|
44
50
|
risk?: CapabilityRisk;
|
|
45
51
|
groups?: string[];
|
|
46
52
|
}>;
|
|
47
|
-
registerGroup(group: Omit<ToolGroupInfo, 'pluginName'>,
|
|
53
|
+
registerGroup(group: Omit<ToolGroupInfo, 'pluginName'>, contextId: string): () => void;
|
|
48
54
|
getGroups(): ToolGroupInfo[];
|
|
49
55
|
setExecutionGuard(guard: ExecutionGuard): void;
|
|
50
56
|
/** 工具名未命中时,按下划线分词的 token 交集 + 子串关系给出近似建议(最多 3 个)。 */
|
|
51
57
|
private suggestToolNames;
|
|
52
58
|
execute(toolName: string, args: Record<string, unknown>, callCtx: ToolCallContext): Promise<ToolExecutionResult>;
|
|
53
|
-
unregisterByPlugin(
|
|
59
|
+
unregisterByPlugin(contextId: string): void;
|
|
54
60
|
}
|
|
55
61
|
//# 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,EACV,cAAc,EACd,eAAe,EACf,cAAc,EACd,mBAAmB,EACnB,aAAa,EACb,WAAW,EACX,WAAW,EACZ,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C;;;;;;;;;;;;;;GAcG;AACH,qBAAa,YAAa,YAAW,WAAW;IAC9C,OAAO,CAAC,KAAK,CAAqC;IAClD,OAAO,CAAC,OAAO,CAAoC;IACnD,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAAC,CAAiB;gBAEpB,MAAM,EAAE,MAAM;IAM1B,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,cAAc,EAAE,YAAY,CAAC,EAAE,
|
|
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,EACV,cAAc,EACd,eAAe,EACf,cAAc,EACd,mBAAmB,EACnB,aAAa,EACb,WAAW,EACX,WAAW,EACZ,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C;;;;;;;;;;;;;;GAcG;AACH,qBAAa,YAAa,YAAW,WAAW;IAC9C,OAAO,CAAC,KAAK,CAAqC;IAClD,OAAO,CAAC,OAAO,CAAoC;IACnD,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAAC,CAAiB;gBAEpB,MAAM,EAAE,MAAM;IAM1B,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,cAAc,EAAE,YAAY,CAAC,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,IAAI;IAiBjF,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;;;;OAIG;IACH,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,QAAQ;IAOhB,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;KACnB,CAAC;IAeF,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,YAAY,CAAC,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,IAAI;IAYtF,SAAS,IAAI,aAAa,EAAE;IAM5B,iBAAiB,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI;IAI9C,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;IAqE/B,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;CAa5C"}
|
package/dist/tools.js
CHANGED
|
@@ -7,7 +7,7 @@ import { resolveCapabilityPolicy } from '@aalis/api-authority';
|
|
|
7
7
|
*
|
|
8
8
|
* 与 plugin-commands/CommandRegistry 同属"中心 Registry 模式":
|
|
9
9
|
* - 单一 Map<name, Registered> 存储,name 全局唯一(重名警告并覆盖)
|
|
10
|
-
* - register() 返回 disposer
|
|
10
|
+
* - register() 返回 disposer,Context 拆卸时按 contextId 自动注销
|
|
11
11
|
* - 通过 setExecutionGuard() 注入统一权限/安全检查钩子
|
|
12
12
|
*
|
|
13
13
|
* 与 LLM/Storage/Platform 路由器(同名 facade 模式)的差异:
|
|
@@ -23,15 +23,15 @@ export class ToolRegistry {
|
|
|
23
23
|
this.logger = logger.child('tools');
|
|
24
24
|
}
|
|
25
25
|
// ---- 注册 / 注销 ----
|
|
26
|
-
register(tool,
|
|
26
|
+
register(tool, contextId) {
|
|
27
27
|
const name = tool.definition.function.name;
|
|
28
28
|
if (this.tools.has(name)) {
|
|
29
|
-
this.logger.warn(`工具 "${name}" 已存在,将被覆盖 (来自 ${
|
|
29
|
+
this.logger.warn(`工具 "${name}" 已存在,将被覆盖 (来自 ${contextId})`);
|
|
30
30
|
}
|
|
31
|
-
this.tools.set(name, { ...tool, pluginName });
|
|
32
|
-
this.logger.debug(`注册工具: ${name} (来自 ${
|
|
31
|
+
this.tools.set(name, { ...tool, pluginName: contextId });
|
|
32
|
+
this.logger.debug(`注册工具: ${name} (来自 ${contextId})`);
|
|
33
33
|
return () => {
|
|
34
|
-
if (this.tools.get(name)?.pluginName ===
|
|
34
|
+
if (this.tools.get(name)?.pluginName === contextId) {
|
|
35
35
|
this.tools.delete(name);
|
|
36
36
|
this.logger.debug(`注销工具: ${name}`);
|
|
37
37
|
}
|
|
@@ -53,6 +53,18 @@ export class ToolRegistry {
|
|
|
53
53
|
* 未指定(或为空)即只给通用工具——多人平台上 public 工具的可达性靠这道闸
|
|
54
54
|
* (docs/concepts/security-model.md);owner 专用平台由平台档显式给 `['*']`。
|
|
55
55
|
*/
|
|
56
|
+
/**
|
|
57
|
+
* 某工具是否对「这组已启用分组」可见。列举面与执行面共用同一判据。
|
|
58
|
+
*
|
|
59
|
+
* 无分组的通用工具恒可见;`'*'` 放开全部分组。
|
|
60
|
+
*/
|
|
61
|
+
groupAllowed(tool, groups) {
|
|
62
|
+
if (!tool.groups?.length)
|
|
63
|
+
return true;
|
|
64
|
+
if (groups.includes('*'))
|
|
65
|
+
return true;
|
|
66
|
+
return tool.groups.some(g => groups.includes(g));
|
|
67
|
+
}
|
|
56
68
|
filtered(filter) {
|
|
57
69
|
const tools = [...this.tools.values()];
|
|
58
70
|
const enabled = new Set(filter?.groups);
|
|
@@ -74,12 +86,12 @@ export class ToolRegistry {
|
|
|
74
86
|
};
|
|
75
87
|
});
|
|
76
88
|
}
|
|
77
|
-
registerGroup(group,
|
|
78
|
-
const info = { ...group, pluginName };
|
|
89
|
+
registerGroup(group, contextId) {
|
|
90
|
+
const info = { ...group, pluginName: contextId };
|
|
79
91
|
this._groups.set(group.name, info);
|
|
80
|
-
this.logger.debug(`注册工具分组: ${group.name} (来自 ${
|
|
92
|
+
this.logger.debug(`注册工具分组: ${group.name} (来自 ${contextId})`);
|
|
81
93
|
return () => {
|
|
82
|
-
if (this._groups.get(group.name)?.pluginName ===
|
|
94
|
+
if (this._groups.get(group.name)?.pluginName === contextId) {
|
|
83
95
|
this._groups.delete(group.name);
|
|
84
96
|
this.logger.debug(`注销工具分组: ${group.name}`);
|
|
85
97
|
}
|
|
@@ -93,11 +105,14 @@ export class ToolRegistry {
|
|
|
93
105
|
this._guard = guard;
|
|
94
106
|
}
|
|
95
107
|
/** 工具名未命中时,按下划线分词的 token 交集 + 子串关系给出近似建议(最多 3 个)。 */
|
|
96
|
-
suggestToolNames(query) {
|
|
108
|
+
suggestToolNames(query, enabledGroups) {
|
|
97
109
|
const q = query.toLowerCase();
|
|
98
110
|
const qTokens = new Set(q.split(/[_\s-]+/).filter(Boolean));
|
|
99
111
|
const scored = [];
|
|
100
|
-
for (const name of this.tools
|
|
112
|
+
for (const [name, tool] of this.tools) {
|
|
113
|
+
// 不把本会话未暴露分组的工具名建议回模型:那等于替它把闸外的名字念一遍
|
|
114
|
+
if (enabledGroups && !this.groupAllowed(tool, enabledGroups))
|
|
115
|
+
continue;
|
|
101
116
|
const n = name.toLowerCase();
|
|
102
117
|
let score = 0;
|
|
103
118
|
if (n.includes(q) || q.includes(n))
|
|
@@ -118,10 +133,20 @@ export class ToolRegistry {
|
|
|
118
133
|
if (!tool) {
|
|
119
134
|
// LLM 常臆造工具名(如把 send_attachment 叫成 send_image)。给出近似名建议,
|
|
120
135
|
// 让模型本轮直接纠正调用,而不是再花一轮 search_tools 找正确名字。
|
|
121
|
-
const suggestions = this.suggestToolNames(toolName);
|
|
136
|
+
const suggestions = this.suggestToolNames(toolName, callCtx.enabledGroups);
|
|
122
137
|
const hint = suggestions.length > 0 ? `,你是否想用:${suggestions.join(' / ')}` : '';
|
|
123
138
|
return { content: JSON.stringify({ error: `工具 "${toolName}" 未找到${hint}` }) };
|
|
124
139
|
}
|
|
140
|
+
// 分组闸:此前只在列举面(filtered)生效,execute 按名直调完全不校验。被提示注入的
|
|
141
|
+
// 模型可以叫出一个本回合没下发给它的名字(安全模型把 LLM 输出列为不可信),于是
|
|
142
|
+
// onebot 群会话里未暴露分组的工具照样被执行——而「不在 enabledGroups 里故不可达」
|
|
143
|
+
// 正是 http_request 等 public 破坏性工具在多人平台上的前提判据。
|
|
144
|
+
// 只在调用方显式给出 enabledGroups 时生效:mcp-server / workflow 不传该字段,
|
|
145
|
+
// 各自另有暴露面控制,行为不变。
|
|
146
|
+
if (callCtx.enabledGroups && !this.groupAllowed(tool, callCtx.enabledGroups)) {
|
|
147
|
+
// 与「未找到」同形:不向闸外的调用者确认该工具存在
|
|
148
|
+
return { content: JSON.stringify({ error: `工具 "${toolName}" 未找到` }) };
|
|
149
|
+
}
|
|
125
150
|
// 参数 schema 校验:检测缺失必填项 / 多余未知键(LLM 写错参数名时给出明确提示)
|
|
126
151
|
const schemaError = validateToolArgs(toolName, tool.definition, args);
|
|
127
152
|
if (schemaError) {
|
|
@@ -168,15 +193,15 @@ export class ToolRegistry {
|
|
|
168
193
|
return { content: JSON.stringify({ error: message }) };
|
|
169
194
|
}
|
|
170
195
|
}
|
|
171
|
-
unregisterByPlugin(
|
|
196
|
+
unregisterByPlugin(contextId) {
|
|
172
197
|
for (const [name, tool] of this.tools) {
|
|
173
|
-
if (tool.pluginName ===
|
|
198
|
+
if (tool.pluginName === contextId) {
|
|
174
199
|
this.tools.delete(name);
|
|
175
|
-
this.logger.debug(`注销工具: ${name} (
|
|
200
|
+
this.logger.debug(`注销工具: ${name} (Context ${contextId} 拆卸)`);
|
|
176
201
|
}
|
|
177
202
|
}
|
|
178
203
|
for (const [name, group] of this._groups) {
|
|
179
|
-
if (group.pluginName ===
|
|
204
|
+
if (group.pluginName === contextId) {
|
|
180
205
|
this._groups.delete(name);
|
|
181
206
|
}
|
|
182
207
|
}
|
package/dist/tools.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAW/D;;;;;;;;;;;;;;GAcG;AACH,MAAM,OAAO,YAAY;IACf,KAAK,GAAG,IAAI,GAAG,EAA0B,CAAC;IAC1C,OAAO,GAAG,IAAI,GAAG,EAAyB,CAAC;IAC3C,MAAM,CAAS;IACf,MAAM,CAAkB;IAEhC,YAAY,MAAc;QACxB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IAED,oBAAoB;IAEpB,QAAQ,CAAC,IAAwC,EAAE,
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAW/D;;;;;;;;;;;;;;GAcG;AACH,MAAM,OAAO,YAAY;IACf,KAAK,GAAG,IAAI,GAAG,EAA0B,CAAC;IAC1C,OAAO,GAAG,IAAI,GAAG,EAAyB,CAAC;IAC3C,MAAM,CAAS;IACf,MAAM,CAAkB;IAEhC,YAAY,MAAc;QACxB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IAED,oBAAoB;IAEpB,QAAQ,CAAC,IAAwC,EAAE,SAAiB;QAClE,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC3C,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,kBAAkB,SAAS,GAAG,CAAC,CAAC;QAC9D,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,GAAG,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC;QACzD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,IAAI,QAAQ,SAAS,GAAG,CAAC,CAAC;QACrD,OAAO,GAAG,EAAE;YACV,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,UAAU,KAAK,SAAS,EAAE,CAAC;gBACnD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACxB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;YACrC,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IAED,eAAe;IAEf,cAAc,CAAC,MAA8B;QAC3C,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IACtD,CAAC;IAED,YAAY,CAAC,MAA8B;QACzC,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACrC,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI;YAChC,WAAW,EAAE,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW;YAC9C,MAAM,EAAE,CAAC,CAAC,MAAM;SACjB,CAAC,CAAC,CAAC;IACN,CAAC;IAED;;;;OAIG;IACH;;;;OAIG;IACK,YAAY,CAAC,IAAoC,EAAE,MAAyB;QAClF,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM;YAAE,OAAO,IAAI,CAAC;QACtC,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QACtC,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACnD,CAAC;IAEO,QAAQ,CAAC,MAA8B;QAC7C,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QACvC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACxC,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;QACnC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpF,CAAC;IAED,MAAM;QASJ,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YACtC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC;YAC3D,OAAO;gBACL,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI;gBAChC,WAAW,EAAE,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW;gBAC9C,UAAU,EAAE,CAAC,CAAC,UAAU;gBACxB,UAAU;gBACV,OAAO;gBACP,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,4EAA4E;gBAC1F,MAAM,EAAE,CAAC,CAAC,MAAM;aACjB,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,aAAa,CAAC,KAAwC,EAAE,SAAiB;QACvE,MAAM,IAAI,GAAkB,EAAE,GAAG,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;QAChE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,KAAK,CAAC,IAAI,QAAQ,SAAS,GAAG,CAAC,CAAC;QAC7D,OAAO,GAAG,EAAE;YACV,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,UAAU,KAAK,SAAS,EAAE,CAAC;gBAC3D,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAChC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IAED,SAAS;QACP,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACpC,CAAC;IAED,eAAe;IAEf,iBAAiB,CAAC,KAAqB;QACrC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtB,CAAC;IAED,qDAAqD;IAC7C,gBAAgB,CAAC,KAAa,EAAE,aAAiC;QACvE,MAAM,CAAC,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5D,MAAM,MAAM,GAA2C,EAAE,CAAC;QAC1D,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACtC,qCAAqC;YACrC,IAAI,aAAa,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,aAAa,CAAC;gBAAE,SAAS;YACvE,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YAC7B,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAAE,KAAK,IAAI,CAAC,CAAC;YAC/C,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC;gBAAE,IAAI,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;oBAAE,KAAK,IAAI,CAAC,CAAC;YACxE,IAAI,KAAK,GAAG,CAAC;gBAAE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAC9C,CAAC;QACD,OAAO,MAAM;aACV,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;aACjC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;aACX,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,OAAO,CACX,QAAgB,EAChB,IAA6B,EAC7B,OAAwB;QAExB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACtC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,wDAAwD;YACxD,0CAA0C;YAC1C,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;YAC3E,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/E,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,OAAO,QAAQ,QAAQ,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC;QAC/E,CAAC;QAED,mDAAmD;QACnD,4CAA4C;QAC5C,sDAAsD;QACtD,6CAA6C;QAC7C,2DAA2D;QAC3D,kBAAkB;QAClB,IAAI,OAAO,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;YAC7E,2BAA2B;YAC3B,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,OAAO,QAAQ,OAAO,EAAE,CAAC,EAAE,CAAC;QACxE,CAAC;QAED,iDAAiD;QACjD,MAAM,WAAW,GAAG,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QACtE,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,QAAQ,YAAY,WAAW,EAAE,CAAC,CAAC;YAC1D,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;QAC7D,CAAC;QAED,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;QAC9D,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC;gBAC/B,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,MAAM;gBACZ,UAAU;gBACV,OAAO;gBACP,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,SAAS;gBACvC,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,IAAI;gBACJ,MAAM,EAAE,OAAO,CAAC,MAAM;aACvB,CAAC,CAAC;YACH,IAAI,MAAM,EAAE,CAAC;gBACX,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,QAAQ,aAAa,MAAM,EAAE,CAAC,CAAC;gBACtD,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;YACxD,CAAC;QACH,CAAC;QACD,wDAAwD;QACxD,IAAI,OAAO,CAAC,MAAM,EAAE,OAAO;YAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;QAExF,IAAI,CAAC;YACH,IAAI,UAAU,KAAK,YAAY,EAAE,CAAC;gBAChC,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,WAAW,QAAQ,YAAY,OAAO,CAAC,SAAS,aAAa,OAAO,CAAC,QAAQ,IAAI,SAAS,SAAS,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAC1H,CAAC;YACJ,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACjD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,QAAQ,OAAO,CAAC,CAAC;YACzC,yCAAyC;YACzC,IAAI,OAAO,MAAM,KAAK,QAAQ;gBAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;YAC3D,OAAO,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;QAC1F,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,QAAQ,UAAU,OAAO,EAAE,CAAC,CAAC;YACrD,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;QACzD,CAAC;IACH,CAAC;IAED,kBAAkB,CAAC,SAAiB;QAClC,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACtC,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;gBAClC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACxB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,IAAI,aAAa,SAAS,MAAM,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACzC,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;gBACnC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;IACH,CAAC;CACF;AAED;;;;;;GAMG;AACH,SAAS,gBAAgB,CAAC,QAAgB,EAAE,UAA0B,EAAE,IAA6B;IACnG,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC;IAC9C,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAEvD,MAAM,UAAU,GAAG,MAAM,CAAC,UAAiD,CAAC;IAC5E,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAgC,CAAC;IACzD,MAAM,OAAO,GAAG,MAAM,CAAC,oBAAoB,KAAK,KAAK,CAAC;IAEtD,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,QAAQ;IACR,IAAI,QAAQ,IAAI,UAAU,EAAE,CAAC;QAC3B,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,IAAI,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC;gBACnB,MAAM,CAAC,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;IACH,CAAC;IAED,4CAA4C;IAC5C,IAAI,OAAO,IAAI,UAAU,EAAE,CAAC;QAC1B,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1C,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QACxE,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,MAAM,CAAC,IAAI,CACT,UAAU,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;gBAClD,MAAM,QAAQ,WAAW,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACrE,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACrD,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aalis/plugin-tools",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.3",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"devDependencies": {
|
|
31
31
|
"@types/node": "^22.0.0",
|
|
32
32
|
"typescript": "^5.7.0",
|
|
33
|
-
"@aalis/core": "0.
|
|
33
|
+
"@aalis/core": "0.14.0"
|
|
34
34
|
},
|
|
35
35
|
"peerDependencies": {
|
|
36
36
|
"@aalis/core": ">=0.2.0 <1.0.0"
|