@zhin.js/core 1.0.25 → 1.0.27

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 (202) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/README.md +84 -342
  3. package/lib/adapter.d.ts +17 -0
  4. package/lib/adapter.d.ts.map +1 -1
  5. package/lib/adapter.js +84 -2
  6. package/lib/adapter.js.map +1 -1
  7. package/lib/ai/agent.d.ts +126 -0
  8. package/lib/ai/agent.d.ts.map +1 -0
  9. package/lib/ai/agent.js +645 -0
  10. package/lib/ai/agent.js.map +1 -0
  11. package/lib/ai/context-manager.d.ts +213 -0
  12. package/lib/ai/context-manager.d.ts.map +1 -0
  13. package/lib/ai/context-manager.js +313 -0
  14. package/lib/ai/context-manager.js.map +1 -0
  15. package/lib/ai/conversation-memory.d.ts +181 -0
  16. package/lib/ai/conversation-memory.d.ts.map +1 -0
  17. package/lib/ai/conversation-memory.js +581 -0
  18. package/lib/ai/conversation-memory.js.map +1 -0
  19. package/lib/ai/follow-up.d.ts +131 -0
  20. package/lib/ai/follow-up.d.ts.map +1 -0
  21. package/lib/ai/follow-up.js +265 -0
  22. package/lib/ai/follow-up.js.map +1 -0
  23. package/lib/ai/index.d.ts +29 -0
  24. package/lib/ai/index.d.ts.map +1 -0
  25. package/lib/ai/index.js +34 -0
  26. package/lib/ai/index.js.map +1 -0
  27. package/lib/ai/init.d.ts +30 -0
  28. package/lib/ai/init.d.ts.map +1 -0
  29. package/lib/ai/init.js +424 -0
  30. package/lib/ai/init.js.map +1 -0
  31. package/lib/ai/output.d.ts +93 -0
  32. package/lib/ai/output.d.ts.map +1 -0
  33. package/lib/ai/output.js +176 -0
  34. package/lib/ai/output.js.map +1 -0
  35. package/lib/ai/providers/anthropic.d.ts +23 -0
  36. package/lib/ai/providers/anthropic.d.ts.map +1 -0
  37. package/lib/ai/providers/anthropic.js +322 -0
  38. package/lib/ai/providers/anthropic.js.map +1 -0
  39. package/lib/ai/providers/base.d.ts +43 -0
  40. package/lib/ai/providers/base.d.ts.map +1 -0
  41. package/lib/ai/providers/base.js +135 -0
  42. package/lib/ai/providers/base.js.map +1 -0
  43. package/lib/ai/providers/index.d.ts +12 -0
  44. package/lib/ai/providers/index.d.ts.map +1 -0
  45. package/lib/ai/providers/index.js +9 -0
  46. package/lib/ai/providers/index.js.map +1 -0
  47. package/lib/ai/providers/ollama.d.ts +25 -0
  48. package/lib/ai/providers/ollama.d.ts.map +1 -0
  49. package/lib/ai/providers/ollama.js +243 -0
  50. package/lib/ai/providers/ollama.js.map +1 -0
  51. package/lib/ai/providers/openai.d.ts +46 -0
  52. package/lib/ai/providers/openai.d.ts.map +1 -0
  53. package/lib/ai/providers/openai.js +132 -0
  54. package/lib/ai/providers/openai.js.map +1 -0
  55. package/lib/ai/rate-limiter.d.ts +38 -0
  56. package/lib/ai/rate-limiter.d.ts.map +1 -0
  57. package/lib/ai/rate-limiter.js +86 -0
  58. package/lib/ai/rate-limiter.js.map +1 -0
  59. package/lib/ai/service.d.ts +81 -0
  60. package/lib/ai/service.d.ts.map +1 -0
  61. package/lib/ai/service.js +274 -0
  62. package/lib/ai/service.js.map +1 -0
  63. package/lib/ai/session.d.ts +186 -0
  64. package/lib/ai/session.d.ts.map +1 -0
  65. package/lib/ai/session.js +443 -0
  66. package/lib/ai/session.js.map +1 -0
  67. package/lib/ai/tone-detector.d.ts +19 -0
  68. package/lib/ai/tone-detector.d.ts.map +1 -0
  69. package/lib/ai/tone-detector.js +72 -0
  70. package/lib/ai/tone-detector.js.map +1 -0
  71. package/lib/ai/tools.d.ts +45 -0
  72. package/lib/ai/tools.d.ts.map +1 -0
  73. package/lib/ai/tools.js +206 -0
  74. package/lib/ai/tools.js.map +1 -0
  75. package/lib/ai/types.d.ts +264 -0
  76. package/lib/ai/types.d.ts.map +1 -0
  77. package/lib/ai/types.js +6 -0
  78. package/lib/ai/types.js.map +1 -0
  79. package/lib/ai/user-profile.d.ts +56 -0
  80. package/lib/ai/user-profile.d.ts.map +1 -0
  81. package/lib/ai/user-profile.js +130 -0
  82. package/lib/ai/user-profile.js.map +1 -0
  83. package/lib/ai/zhin-agent.d.ts +165 -0
  84. package/lib/ai/zhin-agent.d.ts.map +1 -0
  85. package/lib/ai/zhin-agent.js +707 -0
  86. package/lib/ai/zhin-agent.js.map +1 -0
  87. package/lib/built/ai-trigger.d.ts.map +1 -1
  88. package/lib/built/ai-trigger.js +7 -3
  89. package/lib/built/ai-trigger.js.map +1 -1
  90. package/lib/built/command.d.ts +33 -17
  91. package/lib/built/command.d.ts.map +1 -1
  92. package/lib/built/command.js +71 -44
  93. package/lib/built/command.js.map +1 -1
  94. package/lib/built/component.d.ts +42 -15
  95. package/lib/built/component.d.ts.map +1 -1
  96. package/lib/built/component.js +84 -52
  97. package/lib/built/component.js.map +1 -1
  98. package/lib/built/config.d.ts +64 -5
  99. package/lib/built/config.d.ts.map +1 -1
  100. package/lib/built/config.js +129 -12
  101. package/lib/built/config.js.map +1 -1
  102. package/lib/built/cron.d.ts +41 -18
  103. package/lib/built/cron.d.ts.map +1 -1
  104. package/lib/built/cron.js +106 -63
  105. package/lib/built/cron.js.map +1 -1
  106. package/lib/built/database.d.ts +55 -6
  107. package/lib/built/database.d.ts.map +1 -1
  108. package/lib/built/database.js +93 -22
  109. package/lib/built/database.js.map +1 -1
  110. package/lib/built/dispatcher.d.ts +118 -0
  111. package/lib/built/dispatcher.d.ts.map +1 -0
  112. package/lib/built/dispatcher.js +196 -0
  113. package/lib/built/dispatcher.js.map +1 -0
  114. package/lib/built/permission.d.ts +45 -5
  115. package/lib/built/permission.d.ts.map +1 -1
  116. package/lib/built/permission.js +56 -11
  117. package/lib/built/permission.js.map +1 -1
  118. package/lib/built/skill.d.ts +117 -0
  119. package/lib/built/skill.d.ts.map +1 -0
  120. package/lib/built/skill.js +191 -0
  121. package/lib/built/skill.js.map +1 -0
  122. package/lib/built/tool.d.ts +71 -164
  123. package/lib/built/tool.d.ts.map +1 -1
  124. package/lib/built/tool.js +212 -297
  125. package/lib/built/tool.js.map +1 -1
  126. package/lib/feature.d.ts +75 -0
  127. package/lib/feature.d.ts.map +1 -0
  128. package/lib/feature.js +69 -0
  129. package/lib/feature.js.map +1 -0
  130. package/lib/index.d.ts +4 -0
  131. package/lib/index.d.ts.map +1 -1
  132. package/lib/index.js +7 -0
  133. package/lib/index.js.map +1 -1
  134. package/lib/plugin.d.ts +25 -17
  135. package/lib/plugin.d.ts.map +1 -1
  136. package/lib/plugin.js +180 -20
  137. package/lib/plugin.js.map +1 -1
  138. package/lib/types.d.ts +4 -9
  139. package/lib/types.d.ts.map +1 -1
  140. package/package.json +6 -6
  141. package/src/adapter.ts +101 -2
  142. package/src/ai/agent.ts +772 -0
  143. package/src/ai/context-manager.ts +440 -0
  144. package/src/ai/conversation-memory.ts +774 -0
  145. package/src/ai/follow-up.ts +357 -0
  146. package/src/ai/index.ts +128 -0
  147. package/src/ai/init.ts +502 -0
  148. package/src/ai/output.ts +261 -0
  149. package/src/ai/providers/anthropic.ts +375 -0
  150. package/src/ai/providers/base.ts +173 -0
  151. package/src/ai/providers/index.ts +13 -0
  152. package/src/ai/providers/ollama.ts +292 -0
  153. package/src/ai/providers/openai.ts +167 -0
  154. package/src/ai/rate-limiter.ts +129 -0
  155. package/src/ai/service.ts +319 -0
  156. package/src/ai/session.ts +544 -0
  157. package/src/ai/tone-detector.ts +89 -0
  158. package/src/ai/tools.ts +218 -0
  159. package/src/ai/types.ts +296 -0
  160. package/src/ai/user-profile.ts +181 -0
  161. package/src/ai/zhin-agent.ts +845 -0
  162. package/src/built/ai-trigger.ts +6 -3
  163. package/src/built/command.ts +75 -69
  164. package/src/built/component.ts +94 -76
  165. package/src/built/config.ts +288 -128
  166. package/src/built/cron.ts +117 -101
  167. package/src/built/database.ts +128 -33
  168. package/src/built/dispatcher.ts +332 -0
  169. package/src/built/permission.ts +146 -54
  170. package/src/built/skill.ts +280 -0
  171. package/src/built/tool.ts +245 -366
  172. package/src/feature.ts +113 -0
  173. package/src/index.ts +7 -0
  174. package/src/plugin.ts +198 -33
  175. package/src/types.ts +6 -10
  176. package/tests/adapter.test.ts +153 -1
  177. package/tests/ai/agent.test.ts +614 -0
  178. package/tests/ai/ai-trigger.test.ts +368 -0
  179. package/tests/ai/context-manager.test.ts +413 -0
  180. package/tests/ai/conversation-memory.test.ts +128 -0
  181. package/tests/ai/follow-up.test.ts +175 -0
  182. package/tests/ai/integration.test.ts +584 -0
  183. package/tests/ai/output.test.ts +128 -0
  184. package/tests/ai/providers.integration.test.ts +227 -0
  185. package/tests/ai/rate-limiter.test.ts +108 -0
  186. package/tests/ai/session.test.ts +375 -0
  187. package/tests/ai/setup.ts +308 -0
  188. package/tests/ai/tone-detector.test.ts +80 -0
  189. package/tests/ai/tool.test.ts +800 -0
  190. package/tests/ai/tools-builtin.test.ts +346 -0
  191. package/tests/ai/user-profile.test.ts +73 -0
  192. package/tests/ai/zhin-agent.test.ts +177 -0
  193. package/tests/config.test.ts +46 -0
  194. package/tests/cron.test.ts +94 -5
  195. package/tests/dispatcher.test.ts +146 -0
  196. package/tests/feature.test.ts +145 -0
  197. package/tests/features-builtin.test.ts +191 -0
  198. package/tests/plugin.test.ts +88 -14
  199. package/tests/skill-feature.test.ts +179 -0
  200. package/tests/tool-feature.test.ts +254 -0
  201. package/test/minimal-bot.ts +0 -31
  202. package/test/stress-test.ts +0 -123
@@ -1,9 +1,10 @@
1
1
  /**
2
- * Tool Service
3
- * 统一的工具管理服务,支持 Tool ↔ Command 互转
2
+ * ToolFeature — 统一的工具管理服务
3
+ * 支持 Tool ↔ Command 互转
4
4
  */
5
+ import { Feature, FeatureJSON } from "../feature.js";
5
6
  import { MessageCommand } from "../command.js";
6
- import { Context, Plugin } from "../plugin.js";
7
+ import { Plugin } from "../plugin.js";
7
8
  import type { Tool, ToolDefinition, RegisteredAdapter, ToolContext, ToolJsonSchema, ToolParametersSchema, PropertySchema, MaybePromise, ToolPermissionLevel, ToolScope } from "../types.js";
8
9
  /**
9
10
  * 权限级别优先级(数字越大权限越高)
@@ -35,29 +36,6 @@ export declare function generatePattern(tool: Tool): string;
35
36
  export declare function extractParamInfo(parameters: ToolJsonSchema): Tool.ParamInfo[];
36
37
  /**
37
38
  * 定义工具的辅助函数(提供类型推断)
38
- *
39
- * 使用泛型参数获得 execute 函数的类型检查,
40
- * 返回通用的 Tool 类型,可直接传给 addTool
41
- *
42
- * @example
43
- * ```typescript
44
- * const myTool = defineTool<{ name: string }>({
45
- * name: 'greet',
46
- * description: '打招呼',
47
- * parameters: {
48
- * type: 'object',
49
- * properties: {
50
- * name: { type: 'string', description: '名字' }
51
- * },
52
- * required: ['name']
53
- * },
54
- * execute: async (args) => {
55
- * return `你好,${args.name}!`; // args.name 有类型提示
56
- * }
57
- * });
58
- *
59
- * plugin.addTool(myTool); // 无需类型断言
60
- * ```
61
39
  */
62
40
  export declare function defineTool<TArgs extends Record<string, any> = Record<string, any>>(tool: ToolDefinition<TArgs>): Tool;
63
41
  /**
@@ -71,129 +49,30 @@ interface ParamDef {
71
49
  /**
72
50
  * ZhinTool 类
73
51
  * 提供类似 MessageCommand 的链式调用风格来定义工具
74
- *
75
- * @example
76
- * ```typescript
77
- * const weatherTool = new ZhinTool('weather')
78
- * .desc('查询天气信息')
79
- * .param('city', { type: 'string', description: '城市名称' }, true)
80
- * .param('days', { type: 'number', description: '预报天数' })
81
- * .platform('qq', 'telegram')
82
- * .scope('group', 'private')
83
- * .permission('user')
84
- * // AI 调用时执行(必须)
85
- * .execute(async (args, ctx) => {
86
- * return `${args.city} 的天气是晴天`;
87
- * })
88
- * // 可选:命令回调(与 MessageCommand.action 一致)
89
- * // 如果定义了此回调,会生成 Command
90
- * .action(async (message, result) => {
91
- * return `命令执行: ${result.params.city}`;
92
- * });
93
- *
94
- * plugin.addTool(weatherTool);
95
- * ```
96
52
  */
97
53
  export declare class ZhinTool {
98
54
  #private;
99
- /**
100
- * 创建工具实例
101
- * @param name 工具名称(唯一标识,建议使用 snake_case)
102
- */
103
55
  constructor(name: string);
104
- /** 获取工具名称 */
105
56
  get name(): string;
106
- /** 获取工具描述 */
107
57
  get description(): string;
108
- /** 获取有序的参数列表 */
109
58
  get params(): ParamDef[];
110
- /**
111
- * 设置工具描述
112
- * @param description 工具描述(供 AI 和帮助系统使用)
113
- */
114
59
  desc(description: string): this;
115
- /**
116
- * 添加参数(按调用顺序保持有序)
117
- * @param name 参数名称
118
- * @param schema 参数 Schema(类型、描述等)
119
- * @param required 是否必填(默认 false)
120
- */
121
60
  param(name: string, schema: PropertySchema, required?: boolean): this;
122
- /**
123
- * 设置支持的平台
124
- * @param platforms 平台名称列表(如 'qq', 'telegram')
125
- */
126
61
  platform(...platforms: string[]): this;
127
- /**
128
- * 设置支持的场景
129
- * @param scopes 场景类型列表('private', 'group', 'channel')
130
- */
131
62
  scope(...scopes: ToolScope[]): this;
132
- /**
133
- * 设置权限级别
134
- * @param level 权限级别('user', 'group_admin', 'group_owner', 'bot_admin', 'owner')
135
- */
136
63
  permission(level: ToolPermissionLevel): this;
137
- /**
138
- * 添加旧版权限要求(兼容 MessageCommand)
139
- * @param permissions 权限字符串列表
140
- */
141
64
  permit(...permissions: string[]): this;
142
- /**
143
- * 添加标签
144
- * @param tags 标签列表
145
- */
146
65
  tag(...tags: string[]): this;
147
- /**
148
- * 设置是否隐藏
149
- * @param value 是否隐藏(默认 true)
150
- */
66
+ keyword(...keywords: string[]): this;
151
67
  hidden(value?: boolean): this;
152
- /**
153
- * 设置使用说明(命令配置)
154
- * @param usage 使用说明列表
155
- */
156
68
  usage(...usage: string[]): this;
157
- /**
158
- * 设置示例(命令配置)
159
- * @param examples 示例列表
160
- */
161
69
  examples(...examples: string[]): this;
162
- /**
163
- * 设置别名(命令配置)
164
- * @param alias 别名列表
165
- */
166
70
  alias(...alias: string[]): this;
167
- /**
168
- * 设置自定义命令模式
169
- * @param pattern 命令模式(如 'weather <city> [days]')
170
- */
171
71
  pattern(pattern: string): this;
172
- /**
173
- * 设置 AI 工具执行函数
174
- * @param callback 执行回调,入参是 (args, context)
175
- */
176
72
  execute(callback: (args: Record<string, any>, context?: ToolContext) => MaybePromise<any>): this;
177
- /**
178
- * 设置命令回调(可选,与 MessageCommand.action 一致)
179
- * 如果定义了此回调,会自动生成 Command
180
- * 入参是 (message, matchResult)
181
- *
182
- * @param callback 命令回调
183
- */
184
73
  action(callback: MessageCommand.Callback<RegisteredAdapter>): this;
185
- /**
186
- * 转换为 Tool 对象
187
- */
188
74
  toTool(): Tool;
189
- /**
190
- * 获取 action 回调(命令回调,如果有)
191
- */
192
75
  getActionCallback(): MessageCommand.Callback<RegisteredAdapter> | undefined;
193
- /**
194
- * 转换为 JSON 格式(供 AI 使用,不包含 execute 函数)
195
- * 符合 OpenAI Function Calling 规范
196
- */
197
76
  toJSON(): {
198
77
  name: string;
199
78
  description: string;
@@ -203,13 +82,7 @@ export declare class ZhinTool {
203
82
  permissionLevel?: ToolPermissionLevel;
204
83
  tags?: string[];
205
84
  };
206
- /**
207
- * 输出帮助信息(类似 MessageCommand)
208
- */
209
85
  get help(): string;
210
- /**
211
- * 输出简短信息
212
- */
213
86
  toString(): string;
214
87
  }
215
88
  export declare function isZhinTool(obj: any): obj is ZhinTool;
@@ -218,7 +91,7 @@ export declare function isZhinTool(obj: any): obj is ZhinTool;
218
91
  */
219
92
  export type ToolInput = Tool | ZhinTool;
220
93
  /**
221
- * ToolService 扩展方法类型
94
+ * ToolContext 扩展方法类型
222
95
  */
223
96
  export interface ToolContextExtensions {
224
97
  /** 添加工具(自动生成命令) */
@@ -231,51 +104,85 @@ declare module "../plugin.js" {
231
104
  interface Extensions extends ToolContextExtensions {
232
105
  }
233
106
  interface Contexts {
234
- tool: ToolService;
107
+ tool: ToolFeature;
235
108
  }
236
109
  }
237
110
  }
238
111
  /**
239
- * 工具服务
112
+ * 将 Tool 转换为 MessageCommand
113
+ */
114
+ declare function toolToCommand(tool: Tool): MessageCommand<RegisteredAdapter>;
115
+ /**
116
+ * 将 MessageCommand 转换为 Tool
240
117
  */
241
- export interface ToolService {
242
- /** 所有注册的工具 */
243
- readonly tools: Map<string, Tool>;
244
- /** 工具对应的命令(如果生成了) */
245
- readonly toolCommands: Map<string, MessageCommand<RegisteredAdapter>>;
246
- /** 添加工具(支持 Tool 对象或 ZhinTool 实例) */
247
- add(tool: ToolInput, pluginName: string, generateCommand?: boolean): () => void;
248
- /** 移除工具 */
249
- remove(name: string): boolean;
250
- /** 获取工具 */
118
+ declare function commandToToolFn(command: MessageCommand<RegisteredAdapter>, pluginName: string): Tool;
119
+ export declare class ToolFeature extends Feature<Tool> {
120
+ #private;
121
+ readonly name: "tool";
122
+ readonly icon = "Wrench";
123
+ readonly desc = "\u5DE5\u5177";
124
+ /** 按名称索引 */
125
+ readonly byName: Map<string, Tool>;
126
+ /** 工具对应的命令 */
127
+ readonly toolCommands: Map<string, MessageCommand<"process">>;
128
+ /**
129
+ * 添加工具
130
+ * @param toolInput 工具或 ZhinTool 实例
131
+ * @param pluginName 注册插件名
132
+ * @param generateCommand 是否生成命令(默认 true)
133
+ */
134
+ addTool(toolInput: ToolInput, pluginName: string, generateCommand?: boolean): () => void;
135
+ /**
136
+ * 移除工具
137
+ */
138
+ removeTool(name: string): boolean;
139
+ /**
140
+ * 获取工具
141
+ */
251
142
  get(name: string): Tool | undefined;
252
- /** 获取所有工具 */
143
+ /**
144
+ * 获取所有工具
145
+ */
253
146
  getAll(): Tool[];
254
- /** 根据标签过滤工具 */
147
+ /**
148
+ * 根据标签过滤工具
149
+ */
255
150
  getByTags(tags: string[]): Tool[];
256
- /** 执行工具 */
151
+ /**
152
+ * 执行工具
153
+ */
257
154
  execute(name: string, args: Record<string, any>, context?: ToolContext): Promise<any>;
258
- /** 将 Command 转换为 Tool */
155
+ /**
156
+ * 将 Command 转换为 Tool
157
+ */
259
158
  commandToTool(command: MessageCommand<RegisteredAdapter>, pluginName: string): Tool;
260
- /** 收集所有可用工具(包括从 Command 转换的) */
159
+ /**
160
+ * 收集所有可用工具(包括从 Command 转换的)
161
+ */
261
162
  collectAll(plugin: Plugin): Tool[];
262
163
  /**
263
164
  * 根据上下文过滤工具
264
- * 检查平台、场景、权限是否匹配
265
165
  */
266
166
  filterByContext(tools: Tool[], context: ToolContext): Tool[];
167
+ /**
168
+ * 按插件名获取工具
169
+ */
170
+ getToolsByPlugin(pluginName: string): Tool[];
171
+ /**
172
+ * 兼容旧接口:tools Map
173
+ */
174
+ get tools(): Map<string, Tool>;
175
+ /**
176
+ * 序列化为 JSON
177
+ */
178
+ toJSON(pluginName?: string): FeatureJSON;
179
+ /**
180
+ * 提供给 Plugin.prototype 的扩展方法
181
+ */
182
+ get extensions(): {
183
+ addTool(tool: ToolInput): () => void;
184
+ addToolOnly(tool: ToolInput): () => void;
185
+ };
267
186
  }
268
- /**
269
- * 将 Tool 转换为 MessageCommand
270
- */
271
- declare function toolToCommand(tool: Tool): MessageCommand<RegisteredAdapter>;
272
- /**
273
- * 将 MessageCommand 转换为 Tool
274
- */
275
- declare function commandToTool(command: MessageCommand<RegisteredAdapter>, pluginName: string): Tool;
276
- /**
277
- * 创建工具服务 Context
278
- */
279
- export declare function createToolService(): Context<'tool', ToolContextExtensions>;
280
- export { toolToCommand, commandToTool, canAccessTool, inferPermissionLevel, hasPermissionLevel, PERMISSION_LEVEL_PRIORITY, };
187
+ export { toolToCommand, commandToToolFn as commandToTool, canAccessTool, inferPermissionLevel, hasPermissionLevel, PERMISSION_LEVEL_PRIORITY, };
281
188
  //# sourceMappingURL=tool.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../../src/built/tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C,OAAO,EAAE,OAAO,EAAE,MAAM,EAAa,MAAM,cAAc,CAAC;AAC1D,OAAO,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,iBAAiB,EAAkB,WAAW,EAAE,cAAc,EAAE,oBAAoB,EAAE,cAAc,EAAE,YAAY,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAO5M;;GAEG;AACH,QAAA,MAAM,yBAAyB,EAAE,MAAM,CAAC,mBAAmB,EAAE,MAAM,CAMlE,CAAC;AAEF;;;GAGG;AACH,iBAAS,kBAAkB,CAAC,SAAS,EAAE,mBAAmB,EAAE,aAAa,EAAE,mBAAmB,GAAG,OAAO,CAEvG;AAED;;GAEG;AACH,iBAAS,oBAAoB,CAAC,OAAO,EAAE,WAAW,GAAG,mBAAmB,CAYvE;AAED;;GAEG;AACH,iBAAS,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAwBhE;AAMD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAoClD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,cAAc,GAAG,IAAI,CAAC,SAAS,EAAE,CAY7E;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,UAAU,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAChF,IAAI,EAAE,cAAc,CAAC,KAAK,CAAC,GAC1B,IAAI,CAGN;AAMD;;GAEG;AACH,UAAU,QAAQ;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,cAAc,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qBAAa,QAAQ;;IAkBnB;;;OAGG;gBACS,IAAI,EAAE,MAAM;IAIxB,aAAa;IACb,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,aAAa;IACb,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,gBAAgB;IAChB,IAAI,MAAM,IAAI,QAAQ,EAAE,CAEvB;IAED;;;OAGG;IACH,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAK/B;;;;;OAKG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,QAAQ,GAAE,OAAe,GAAG,IAAI;IAW5E;;;OAGG;IACH,QAAQ,CAAC,GAAG,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI;IAKtC;;;OAGG;IACH,KAAK,CAAC,GAAG,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI;IAKnC;;;OAGG;IACH,UAAU,CAAC,KAAK,EAAE,mBAAmB,GAAG,IAAI;IAK5C;;;OAGG;IACH,MAAM,CAAC,GAAG,WAAW,EAAE,MAAM,EAAE,GAAG,IAAI;IAKtC;;;OAGG;IACH,GAAG,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI;IAK5B;;;OAGG;IACH,MAAM,CAAC,KAAK,GAAE,OAAc,GAAG,IAAI;IAKnC;;;OAGG;IACH,KAAK,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI;IAK/B;;;OAGG;IACH,QAAQ,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI;IAKrC;;;OAGG;IACH,KAAK,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI;IAK/B;;;OAGG;IACH,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAK9B;;;OAGG;IACH,OAAO,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,EAAE,WAAW,KAAK,YAAY,CAAC,GAAG,CAAC,GAAG,IAAI;IAKhG;;;;;;OAMG;IACH,MAAM,CAAC,QAAQ,EAAE,cAAc,CAAC,QAAQ,CAAC,iBAAiB,CAAC,GAAG,IAAI;IA8DlE;;OAEG;IACH,MAAM,IAAI,IAAI;IAmCd;;OAEG;IACH,iBAAiB,IAAI,cAAc,CAAC,QAAQ,CAAC,iBAAiB,CAAC,GAAG,SAAS;IAI3E;;;OAGG;IACH,MAAM,IAAI;QACR,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,oBAAoB,CAAC;QACjC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;QACrB,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;QACrB,eAAe,CAAC,EAAE,mBAAmB,CAAC;QACtC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;KACjB;IAgBD;;OAEG;IACH,IAAI,IAAI,IAAI,MAAM,CA8CjB;IAED;;OAEG;IACH,QAAQ,IAAI,MAAM;CAGnB;AAID,wBAAgB,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,QAAQ,CAEpD;AAMD;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,QAAQ,CAAC;AAExC;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,mBAAmB;IACnB,OAAO,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,IAAI,CAAC;IACrC,kBAAkB;IAClB,WAAW,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,IAAI,CAAC;CAC1C;AAGD,OAAO,QAAQ,cAAc,CAAC;IAC5B,UAAU,MAAM,CAAC;QACf,UAAU,UAAW,SAAQ,qBAAqB;SAAG;QACrD,UAAU,QAAQ;YAChB,IAAI,EAAE,WAAW,CAAC;SACnB;KACF;CACF;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,cAAc;IACd,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAElC,qBAAqB;IACrB,QAAQ,CAAC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAEtE,oCAAoC;IACpC,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,OAAO,GAAG,MAAM,IAAI,CAAC;IAEhF,WAAW;IACX,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAE9B,WAAW;IACX,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAEpC,aAAa;IACb,MAAM,IAAI,IAAI,EAAE,CAAC;IAEjB,eAAe;IACf,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,CAAC;IAElC,WAAW;IACX,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAEtF,yBAAyB;IACzB,aAAa,CAAC,OAAO,EAAE,cAAc,CAAC,iBAAiB,CAAC,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAEpF,gCAAgC;IAChC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,EAAE,CAAC;IAEnC;;;OAGG;IACH,eAAe,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,WAAW,GAAG,IAAI,EAAE,CAAC;CAC9D;AAED;;GAEG;AACH,iBAAS,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,cAAc,CAAC,iBAAiB,CAAC,CAyDpE;AAED;;GAEG;AACH,iBAAS,aAAa,CACpB,OAAO,EAAE,cAAc,CAAC,iBAAiB,CAAC,EAC1C,UAAU,EAAE,MAAM,GACjB,IAAI,CA4CN;AA4FD;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAAC,MAAM,EAAE,qBAAqB,CAAC,CA0K1E;AAID,OAAO,EACL,aAAa,EACb,aAAa,EACb,aAAa,EACb,oBAAoB,EACpB,kBAAkB,EAClB,yBAAyB,GAC1B,CAAC"}
1
+ {"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../../src/built/tool.ts"],"names":[],"mappings":"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"}