@aalis/api-tools 0.8.1 → 0.8.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/index.d.ts CHANGED
@@ -114,7 +114,7 @@ export interface ToolGroupInfo {
114
114
  * 由 plugin-tools 创建 ToolRegistry 并注册为服务。
115
115
  */
116
116
  export interface ToolService {
117
- register(tool: Omit<RegisteredTool, 'pluginName'>, pluginName: string): () => void;
117
+ register(tool: Omit<RegisteredTool, 'pluginName'>, contextId: string): () => void;
118
118
  /**
119
119
  * 获取工具定义列表
120
120
  * @param filter 可选过滤条件
@@ -142,17 +142,20 @@ export interface ToolService {
142
142
  execute(toolName: string, args: Record<string, unknown>, callCtx: ToolCallContext): Promise<ToolExecutionResult>;
143
143
  /** 注入执行守卫,用于能力裁决与 restricted 二次确认 */
144
144
  setExecutionGuard(guard: ExecutionGuard): void;
145
- unregisterByPlugin(pluginName: string): void;
145
+ unregisterByPlugin(contextId: string): void;
146
146
  /** 注册工具分组 */
147
- registerGroup(group: Omit<ToolGroupInfo, 'pluginName'>, pluginName: string): () => void;
147
+ registerGroup(group: Omit<ToolGroupInfo, 'pluginName'>, contextId: string): () => void;
148
148
  /** 获取所有已注册的工具分组 */
149
149
  getGroups(): ToolGroupInfo[];
150
150
  }
151
151
  /** ToolService 绑定到当前 Context 的便捷视图(pluginName 自动填充) */
152
152
  export interface ScopedToolService {
153
- /** 注册工具。服务未就绪时通过 whenService 自动延迟到就绪后执行(与原 mixin 语义一致)。 */
153
+ /**
154
+ * 注册工具。服务未就绪时延迟到就绪后执行,提供者换人自动重挂。
155
+ * 同一 Context 内同名是**替换**:新登记顶掉旧登记,旧登记的退订闭包随即失效(不会误删新登记)。
156
+ */
154
157
  register(tool: Omit<RegisteredTool, 'pluginName'>): () => void;
155
- /** 注册工具分组。服务未就绪时通过 whenService 自动延迟。 */
158
+ /** 注册工具分组。就绪 / 重挂 / 同名替换语义同 {@link register}。 */
156
159
  registerGroup(group: Omit<ToolGroupInfo, 'pluginName'>): () => void;
157
160
  getDefinitions: ToolService['getDefinitions'];
158
161
  getSummaries: ToolService['getSummaries'];
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACpH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAK3C,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACpC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,oBAAoB,CAAC,EAAE,OAAO,CAAC;KAChC,CAAC;CACH;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,YAAY,CAAC;CACxB;AAID,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,qCAAqC;IACrC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7C,yCAAyC;IACzC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;;OAIG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,+BAA+B;AAC/B,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc;IACd,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,mCAAmC;IACnC,KAAK,EAAE,OAAO,GAAG,KAAK,CAAC;IACvB,iCAAiC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,cAAc,CAAC;IAC3B,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,eAAe,KAAK,OAAO,CAAC,MAAM,GAAG,mBAAmB,CAAC,CAAC;IACxG,UAAU,EAAE,MAAM,CAAC;IACnB,uDAAuD;IACvD,UAAU,CAAC,EAAE,oBAAoB,CAAC;IAClC,oEAAoE;IACpE,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,sEAAsE;IACtE,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,+BAA+B;IAC/B,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,8BAA8B;AAC9B,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,aAAa;AACb,MAAM,WAAW,aAAa;IAC5B,yCAAyC;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,iCAAiC;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW;IACX,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe;IACf,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,cAAc,EAAE,YAAY,CAAC,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,IAAI,CAAC;IAEnF;;;;;OAKG;IACH,cAAc,CAAC,MAAM,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,cAAc,EAAE,CAAC;IAEjE,YAAY,CAAC,MAAM,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,WAAW,EAAE,CAAC;IAE5D,MAAM,IAAI,KAAK,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;QACnB,iEAAiE;QACjE,UAAU,EAAE,oBAAoB,CAAC;QACjC,yBAAyB;QACzB,OAAO,CAAC,EAAE,iBAAiB,CAAC;QAC5B,0EAA0E;QAC1E,IAAI,CAAC,EAAE,cAAc,CAAC;QACtB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;KACnB,CAAC,CAAC;IAEH,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAEjH,qCAAqC;IACrC,iBAAiB,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI,CAAC;IAE/C,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAE7C,aAAa;IACb,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,YAAY,CAAC,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,IAAI,CAAC;IACxF,mBAAmB;IACnB,SAAS,IAAI,aAAa,EAAE,CAAC;CAC9B;AAkBD,uDAAuD;AACvD,MAAM,WAAW,iBAAiB;IAChC,2DAA2D;IAC3D,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,cAAc,EAAE,YAAY,CAAC,GAAG,MAAM,IAAI,CAAC;IAC/D,wCAAwC;IACxC,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,YAAY,CAAC,GAAG,MAAM,IAAI,CAAC;IACpE,cAAc,EAAE,WAAW,CAAC,gBAAgB,CAAC,CAAC;IAC9C,YAAY,EAAE,WAAW,CAAC,cAAc,CAAC,CAAC;IAC1C,MAAM,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC9B,SAAS,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;IACpC,OAAO,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IAChC,iBAAiB,EAAE,WAAW,CAAC,mBAAmB,CAAC,CAAC;IACpD,2CAA2C;IAC3C,QAAQ,CAAC,GAAG,EAAE,WAAW,GAAG,SAAS,CAAC;CACvC;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAW5E;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,mBAAmB,GAAG,mBAAmB,CAE/F;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,iBAAiB,CA2B9D;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,iBAAiB,CAS7F;AAID,OAAO,QAAQ,aAAa,CAAC;IAC3B,UAAU,WAAW;QACnB,cAAc,EAAE,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;KAC5C;CACF;AAOD,OAAO,QAAQ,aAAa,CAAC;IAC3B,UAAU,cAAc;QACtB,KAAK,EAAE,WAAW,CAAC;KACpB;CACF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACpH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAK3C,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACpC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,oBAAoB,CAAC,EAAE,OAAO,CAAC;KAChC,CAAC;CACH;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,YAAY,CAAC;CACxB;AAID,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,qCAAqC;IACrC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7C,yCAAyC;IACzC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;;OAIG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,+BAA+B;AAC/B,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc;IACd,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,mCAAmC;IACnC,KAAK,EAAE,OAAO,GAAG,KAAK,CAAC;IACvB,iCAAiC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,cAAc,CAAC;IAC3B,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,eAAe,KAAK,OAAO,CAAC,MAAM,GAAG,mBAAmB,CAAC,CAAC;IACxG,UAAU,EAAE,MAAM,CAAC;IACnB,uDAAuD;IACvD,UAAU,CAAC,EAAE,oBAAoB,CAAC;IAClC,oEAAoE;IACpE,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,sEAAsE;IACtE,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,+BAA+B;IAC/B,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,8BAA8B;AAC9B,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,aAAa;AACb,MAAM,WAAW,aAAa;IAC5B,yCAAyC;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,iCAAiC;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW;IACX,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe;IACf,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,cAAc,EAAE,YAAY,CAAC,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,IAAI,CAAC;IAElF;;;;;OAKG;IACH,cAAc,CAAC,MAAM,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,cAAc,EAAE,CAAC;IAEjE,YAAY,CAAC,MAAM,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,WAAW,EAAE,CAAC;IAE5D,MAAM,IAAI,KAAK,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;QACnB,iEAAiE;QACjE,UAAU,EAAE,oBAAoB,CAAC;QACjC,yBAAyB;QACzB,OAAO,CAAC,EAAE,iBAAiB,CAAC;QAC5B,0EAA0E;QAC1E,IAAI,CAAC,EAAE,cAAc,CAAC;QACtB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;KACnB,CAAC,CAAC;IAEH,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAEjH,qCAAqC;IACrC,iBAAiB,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI,CAAC;IAE/C,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAE5C,aAAa;IACb,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,YAAY,CAAC,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,IAAI,CAAC;IACvF,mBAAmB;IACnB,SAAS,IAAI,aAAa,EAAE,CAAC;CAC9B;AAgBD,uDAAuD;AACvD,MAAM,WAAW,iBAAiB;IAChC;;;OAGG;IACH,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,cAAc,EAAE,YAAY,CAAC,GAAG,MAAM,IAAI,CAAC;IAC/D,iDAAiD;IACjD,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,YAAY,CAAC,GAAG,MAAM,IAAI,CAAC;IACpE,cAAc,EAAE,WAAW,CAAC,gBAAgB,CAAC,CAAC;IAC9C,YAAY,EAAE,WAAW,CAAC,cAAc,CAAC,CAAC;IAC1C,MAAM,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC9B,SAAS,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;IACpC,OAAO,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IAChC,iBAAiB,EAAE,WAAW,CAAC,mBAAmB,CAAC,CAAC;IACpD,2CAA2C;IAC3C,QAAQ,CAAC,GAAG,EAAE,WAAW,GAAG,SAAS,CAAC;CACvC;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAW5E;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,mBAAmB,GAAG,mBAAmB,CAE/F;AAiED,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,iBAAiB,CA4D9D;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,iBAAiB,CAa7F;AAID,OAAO,QAAQ,aAAa,CAAC;IAC3B,UAAU,WAAW;QACnB,cAAc,EAAE,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;KAC5C;CACF;AAOD,OAAO,QAAQ,aAAa,CAAC;IAC3B,UAAU,cAAc;QACtB,KAAK,EAAE,WAAW,CAAC;KACpB;CACF"}
package/dist/index.js CHANGED
@@ -42,8 +42,49 @@ export function wrapUntrustedContent(content, source) {
42
42
  export function asToolExecutionResult(result) {
43
43
  return typeof result === 'string' ? { content: result } : result;
44
44
  }
45
+ const bindings = new WeakMap();
46
+ function bind(ctx) {
47
+ const existing = bindings.get(ctx);
48
+ if (existing)
49
+ return existing;
50
+ const b = { svc: undefined, tools: new Map(), groups: new Map() };
51
+ bindings.set(ctx, b);
52
+ const contextId = ctx.id;
53
+ ctx.whenService('tools', s => {
54
+ b.svc = s;
55
+ for (const e of b.groups.values())
56
+ e.off = s.registerGroup(e.item, contextId);
57
+ for (const e of b.tools.values())
58
+ e.off = s.register(e.item, contextId);
59
+ return () => {
60
+ b.svc = undefined;
61
+ for (const e of [...b.tools.values(), ...b.groups.values()]) {
62
+ e.off?.();
63
+ e.off = undefined;
64
+ }
65
+ };
66
+ });
67
+ return b;
68
+ }
69
+ /**
70
+ * 向绑定加一条登记:同名先摘旧登记(替换语义,与 core 对贡献点的同键替换同口径);提供者在场立即登记。
71
+ * 返回的退订按条目身份比对——被同名替换后的旧闭包是 no-op。
72
+ */
73
+ function addBound(map, key, item, registerNow, current) {
74
+ map.get(key)?.off?.();
75
+ const svc = current();
76
+ const entry = { item, off: svc ? registerNow(svc) : undefined };
77
+ map.set(key, entry);
78
+ return () => {
79
+ if (map.get(key) !== entry)
80
+ return;
81
+ map.delete(key);
82
+ entry.off?.();
83
+ entry.off = undefined;
84
+ };
85
+ }
45
86
  export function useToolService(ctx) {
46
- const pluginName = ctx.id;
87
+ const contextId = ctx.id;
47
88
  /** 用于读 API:服务未就绪时抛错。 */
48
89
  function need() {
49
90
  const s = ctx.getService('tools');
@@ -52,9 +93,32 @@ export function useToolService(ctx) {
52
93
  }
53
94
  return s;
54
95
  }
96
+ /**
97
+ * 关闭后登记:与 core 登记面同口径(warn + no-op)。判据是「绑定挂不上」而非裸 `ctx.disposed`——
98
+ * 拆卸窗口内(等在飞 apply)已挂载的绑定仍能登记且随撤回段一起摘净;没绑定或已撤回的才真挂不上。
99
+ */
100
+ function refused(key) {
101
+ if (!ctx.disposed || bindings.get(ctx)?.svc)
102
+ return undefined;
103
+ ctx.logger.warn(`Context "${contextId}" 已 dispose,忽略 tools 登记 "${key}"`);
104
+ return () => { };
105
+ }
55
106
  return {
56
- register: tool => ctx.whenService('tools', s => s.register(tool, pluginName)),
57
- registerGroup: group => ctx.whenService('tools', s => s.registerGroup(group, pluginName)),
107
+ register: tool => {
108
+ const name = tool.definition.function.name;
109
+ const refuse = refused(name);
110
+ if (refuse)
111
+ return refuse;
112
+ const b = bind(ctx);
113
+ return addBound(b.tools, name, tool, s => s.register(tool, contextId), () => b.svc);
114
+ },
115
+ registerGroup: group => {
116
+ const refuse = refused(group.name);
117
+ if (refuse)
118
+ return refuse;
119
+ const b = bind(ctx);
120
+ return addBound(b.groups, group.name, group, s => s.registerGroup(group, contextId), () => b.svc);
121
+ },
58
122
  getDefinitions: (...args) => need().getDefinitions(...args),
59
123
  getSummaries: (...args) => need().getSummaries(...args),
60
124
  getAll: (...args) => need().getAll(...args),
@@ -79,6 +143,10 @@ export function toolsWithGroups(tools, groups) {
79
143
  ...tool,
80
144
  groups: [...(tool.groups ?? []), ...groups],
81
145
  }),
146
+ // 展开会把 getter 求值成构造时的快照;raw 必须活取才能跟着提供者换人
147
+ get raw() {
148
+ return tools.raw;
149
+ },
82
150
  };
83
151
  }
84
152
  //# 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,0BAA0B;AAC1B,EAAE;AACF,sBAAsB;AACtB,gDAAgD;AAChD,4DAA4D;AAC5D,uCAAuC;AACvC,+BAA+B;AAC/B,sBAAsB;AACtB,8DAA8D;AAC9D,2DAA2D;AAC3D,EAAE;AACF,6DAA6D;AAC7D,6CAA6C;AAC7C,EAAE;AACF,iCAAiC;AAuMjC;;;;;;;;;;GAUG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAe,EAAE,MAAc;IAClE,oDAAoD;IACpD,8CAA8C;IAC9C,uCAAuC;IACvC,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACnE,OAAO,CACL,aAAa,UAAU,aAAa;QACpC,oCAAoC;QACpC,4CAA4C;QAC5C,OAAO,CACR,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAAoC;IACxE,OAAO,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,GAAY;IACzC,MAAM,UAAU,GAAG,GAAG,CAAC,EAAE,CAAC;IAE1B,wBAAwB;IACxB,SAAS,IAAI;QACX,MAAM,CAAC,GAAG,GAAG,CAAC,UAAU,CAAc,OAAO,CAAC,CAAC;QAC/C,IAAI,CAAC,CAAC,EAAE,CAAC;YACP,MAAM,IAAI,KAAK,CACb,+FAA+F,CAChG,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IAED,OAAO;QACL,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,WAAW,CAAc,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC1F,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,WAAW,CAAc,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QACtG,cAAc,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC;QAC3D,YAAY,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;QACvD,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;QAC3C,SAAS,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;QACjD,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;QAC7C,iBAAiB,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC;QACjE,IAAI,GAAG;YACL,OAAO,GAAG,CAAC,UAAU,CAAc,OAAO,CAAC,CAAC;QAC9C,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,KAAwB,EAAE,MAAgB;IACxE,OAAO;QACL,GAAG,KAAK;QACR,QAAQ,EAAE,IAAI,CAAC,EAAE,CACf,KAAK,CAAC,QAAQ,CAAC;YACb,GAAG,IAAI;YACP,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,GAAG,MAAM,CAAC;SAC5C,CAAC;KACL,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aalis/api-tools",
3
- "version": "0.8.1",
3
+ "version": "0.8.3",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -24,7 +24,7 @@
24
24
  "devDependencies": {
25
25
  "@types/node": "^22.0.0",
26
26
  "typescript": "^5.7.0",
27
- "@aalis/core": "0.12.1"
27
+ "@aalis/core": "0.15.0"
28
28
  },
29
29
  "aalis": {
30
30
  "types": true