@cicctencent/agent-core 1.0.17 → 1.0.20

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 (71) hide show
  1. package/dist/cjs/agent/compaction.d.ts +26 -0
  2. package/dist/cjs/agent/compaction.d.ts.map +1 -0
  3. package/dist/cjs/agent/compaction.js +95 -0
  4. package/dist/cjs/agent/compaction.js.map +1 -0
  5. package/dist/cjs/agent/engine.d.ts +8 -9
  6. package/dist/cjs/agent/engine.d.ts.map +1 -1
  7. package/dist/cjs/agent/engine.js +37 -75
  8. package/dist/cjs/agent/engine.js.map +1 -1
  9. package/dist/cjs/agent/history-manager.d.ts.map +1 -1
  10. package/dist/cjs/agent/history-manager.js +1 -4
  11. package/dist/cjs/agent/history-manager.js.map +1 -1
  12. package/dist/cjs/agent/types.d.ts +2 -0
  13. package/dist/cjs/agent/types.d.ts.map +1 -1
  14. package/dist/cjs/agent/types.js.map +1 -1
  15. package/dist/cjs/index.d.ts +3 -1
  16. package/dist/cjs/index.d.ts.map +1 -1
  17. package/dist/cjs/index.js +9 -4
  18. package/dist/cjs/index.js.map +1 -1
  19. package/dist/cjs/skill/frontmatter.d.ts +18 -0
  20. package/dist/cjs/skill/frontmatter.d.ts.map +1 -0
  21. package/dist/cjs/skill/frontmatter.js +332 -0
  22. package/dist/cjs/skill/frontmatter.js.map +1 -0
  23. package/dist/cjs/skill/manager.d.ts +59 -6
  24. package/dist/cjs/skill/manager.d.ts.map +1 -1
  25. package/dist/cjs/skill/manager.js +391 -83
  26. package/dist/cjs/skill/manager.js.map +1 -1
  27. package/dist/cjs/skill/types.d.ts +30 -0
  28. package/dist/cjs/skill/types.d.ts.map +1 -1
  29. package/dist/cjs/store/file-tool-result-store.d.ts +5 -0
  30. package/dist/cjs/store/file-tool-result-store.d.ts.map +1 -1
  31. package/dist/cjs/store/file-tool-result-store.js +14 -0
  32. package/dist/cjs/store/file-tool-result-store.js.map +1 -1
  33. package/dist/cjs/utils/token-counter.d.ts.map +1 -1
  34. package/dist/cjs/utils/token-counter.js +20 -16
  35. package/dist/cjs/utils/token-counter.js.map +1 -1
  36. package/dist/esm/agent/compaction.d.ts +26 -0
  37. package/dist/esm/agent/compaction.d.ts.map +1 -0
  38. package/dist/esm/agent/compaction.js +91 -0
  39. package/dist/esm/agent/compaction.js.map +1 -0
  40. package/dist/esm/agent/engine.d.ts +8 -9
  41. package/dist/esm/agent/engine.d.ts.map +1 -1
  42. package/dist/esm/agent/engine.js +36 -74
  43. package/dist/esm/agent/engine.js.map +1 -1
  44. package/dist/esm/agent/history-manager.d.ts.map +1 -1
  45. package/dist/esm/agent/history-manager.js +1 -4
  46. package/dist/esm/agent/history-manager.js.map +1 -1
  47. package/dist/esm/agent/types.d.ts +2 -0
  48. package/dist/esm/agent/types.d.ts.map +1 -1
  49. package/dist/esm/agent/types.js.map +1 -1
  50. package/dist/esm/index.d.ts +3 -1
  51. package/dist/esm/index.d.ts.map +1 -1
  52. package/dist/esm/index.js +1 -0
  53. package/dist/esm/index.js.map +1 -1
  54. package/dist/esm/skill/frontmatter.d.ts +18 -0
  55. package/dist/esm/skill/frontmatter.d.ts.map +1 -0
  56. package/dist/esm/skill/frontmatter.js +326 -0
  57. package/dist/esm/skill/frontmatter.js.map +1 -0
  58. package/dist/esm/skill/manager.d.ts +59 -6
  59. package/dist/esm/skill/manager.d.ts.map +1 -1
  60. package/dist/esm/skill/manager.js +391 -83
  61. package/dist/esm/skill/manager.js.map +1 -1
  62. package/dist/esm/skill/types.d.ts +30 -0
  63. package/dist/esm/skill/types.d.ts.map +1 -1
  64. package/dist/esm/store/file-tool-result-store.d.ts +5 -0
  65. package/dist/esm/store/file-tool-result-store.d.ts.map +1 -1
  66. package/dist/esm/store/file-tool-result-store.js +14 -0
  67. package/dist/esm/store/file-tool-result-store.js.map +1 -1
  68. package/dist/esm/utils/token-counter.d.ts.map +1 -1
  69. package/dist/esm/utils/token-counter.js +20 -16
  70. package/dist/esm/utils/token-counter.js.map +1 -1
  71. package/package.json +7 -4
@@ -0,0 +1,332 @@
1
+ "use strict";
2
+ // ============================================================
3
+ // 轻量 YAML Frontmatter 解析器
4
+ // ============================================================
5
+ // 支持 Agent Skills 规范(agentskills.io)所需的 YAML 子集:
6
+ // - 单行标量: `key: value`
7
+ // - 带引号字符串: `key: "value"` / `key: 'value'`
8
+ // - 多行折叠: `key: >-` / `key: >`(换行折叠为空格)
9
+ // - 多行保留: `key: |-` / `key: |`(保留换行)
10
+ // - 嵌套 map(一层): `metadata:` 后跟缩进的 `sub: value`
11
+ // - 行内数组: `key: [a, b, c]`
12
+ // - 块状数组: `key:` 后跟 `- item` 行
13
+ // - 数字/布尔/null 自动转型(version: 1.1.0 这类保留为字符串)
14
+ //
15
+ // 设计目标:零依赖、行为可预期、对非法输入降级为字符串而非抛错。
16
+ // ============================================================
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.parseFrontmatter = parseFrontmatter;
19
+ exports.fmString = fmString;
20
+ exports.fmStringArray = fmStringArray;
21
+ exports.fmMap = fmMap;
22
+ /** 统计行首空格数(tab 按 2 空格计) */
23
+ function countIndent(line) {
24
+ let n = 0;
25
+ for (const ch of line) {
26
+ if (ch === ' ')
27
+ n += 1;
28
+ else if (ch === '\t')
29
+ n += 2;
30
+ else
31
+ break;
32
+ }
33
+ return n;
34
+ }
35
+ /** 去除行内注释(仅在值非引号包裹且 # 前有空格时) */
36
+ function stripInlineComment(value) {
37
+ const trimmed = value.trim();
38
+ if (trimmed.startsWith('"') || trimmed.startsWith("'"))
39
+ return value;
40
+ const idx = value.indexOf(' #');
41
+ return idx > 0 ? value.substring(0, idx) : value;
42
+ }
43
+ /** 解析标量:引号字符串 / 数字 / 布尔 / null / 行内数组 / 普通字符串 */
44
+ function parseScalar(raw) {
45
+ const v = stripInlineComment(raw).trim();
46
+ if (v === '')
47
+ return '';
48
+ // 行内数组 [a, b, c]
49
+ if (v.startsWith('[') && v.endsWith(']')) {
50
+ return parseInlineArray(v);
51
+ }
52
+ // 双引号
53
+ if (v.startsWith('"') && v.endsWith('"') && v.length >= 2) {
54
+ return v.slice(1, -1).replace(/\\"/g, '"').replace(/\\n/g, '\n');
55
+ }
56
+ // 单引号
57
+ if (v.startsWith("'") && v.endsWith("'") && v.length >= 2) {
58
+ return v.slice(1, -1).replace(/''/g, "'");
59
+ }
60
+ // null / 空
61
+ if (v === 'null' || v === '~')
62
+ return null;
63
+ // 布尔
64
+ if (v === 'true')
65
+ return true;
66
+ if (v === 'false')
67
+ return false;
68
+ // 数字(严格整数或小数;version: 1.1.0 不匹配,保留字符串)
69
+ if (/^-?\d+$/.test(v))
70
+ return parseInt(v, 10);
71
+ if (/^-?\d+\.\d+$/.test(v))
72
+ return parseFloat(v);
73
+ // 普通字符串
74
+ return v;
75
+ }
76
+ /** 解析行内数组 `[a, b, "c,d"]`,支持引号内逗号 */
77
+ function parseInlineArray(v) {
78
+ const inner = v.slice(1, -1).trim();
79
+ if (!inner)
80
+ return [];
81
+ const items = [];
82
+ let cur = '';
83
+ let inQuote = null;
84
+ for (let i = 0; i < inner.length; i++) {
85
+ const ch = inner[i];
86
+ if (inQuote) {
87
+ if (ch === inQuote && inner[i - 1] !== '\\')
88
+ inQuote = null;
89
+ else
90
+ cur += ch;
91
+ }
92
+ else if (ch === '"' || ch === "'") {
93
+ inQuote = ch;
94
+ }
95
+ else if (ch === ',') {
96
+ if (cur.trim())
97
+ items.push(cur.trim());
98
+ cur = '';
99
+ }
100
+ else {
101
+ cur += ch;
102
+ }
103
+ }
104
+ if (cur.trim())
105
+ items.push(cur.trim());
106
+ return items;
107
+ }
108
+ /**
109
+ * 读取多行标量(`>` 折叠 / `|` 保留),从 startIdx 开始读取所有缩进续行。
110
+ * 返回解析后的字符串与下一待处理行索引。
111
+ */
112
+ function readMultiline(lines, startIdx, folded, keepTrailingNewline) {
113
+ const collected = [];
114
+ let i = startIdx;
115
+ let baseIndent = -1;
116
+ while (i < lines.length) {
117
+ const line = lines[i];
118
+ const indent = countIndent(line);
119
+ // 遇到非空且顶格的行 → 多行块结束
120
+ if (line.trim() !== '' && indent === 0)
121
+ break;
122
+ if (line.trim() !== '') {
123
+ if (baseIndent === -1)
124
+ baseIndent = indent;
125
+ collected.push(line.substring(Math.min(baseIndent, line.length)));
126
+ }
127
+ else {
128
+ collected.push('');
129
+ }
130
+ i++;
131
+ }
132
+ // 去除尾部空行
133
+ while (collected.length > 0 && collected[collected.length - 1] === '') {
134
+ collected.pop();
135
+ }
136
+ let value;
137
+ if (folded) {
138
+ // 折叠:单换行变空格,空行变换行
139
+ const out = [];
140
+ for (let k = 0; k < collected.length; k++) {
141
+ const cur = collected[k];
142
+ if (cur === '') {
143
+ out.push('\n');
144
+ }
145
+ else {
146
+ out.push(cur);
147
+ const nextLine = collected[k + 1];
148
+ if (nextLine !== undefined && nextLine !== '')
149
+ out.push(' ');
150
+ }
151
+ }
152
+ value = out.join('');
153
+ }
154
+ else {
155
+ value = collected.join('\n');
156
+ }
157
+ if (keepTrailingNewline)
158
+ value += '\n';
159
+ return { value, next: i };
160
+ }
161
+ /**
162
+ * 读取嵌套结构(缩进的 map 或块状数组),从 startIdx 开始。
163
+ * 返回嵌套对象/数组与下一待处理行索引。
164
+ */
165
+ function readNested(lines, startIdx) {
166
+ // 探测:找到第一个非空缩进行,判断是 map(含冒号)还是数组(- 开头)
167
+ let i = startIdx;
168
+ let baseIndent = -1;
169
+ const blockLines = [];
170
+ while (i < lines.length) {
171
+ const line = lines[i];
172
+ const indent = countIndent(line);
173
+ if (line.trim() !== '' && indent === 0)
174
+ break;
175
+ if (line.trim() !== '') {
176
+ if (baseIndent === -1)
177
+ baseIndent = indent;
178
+ blockLines.push(line.substring(Math.min(baseIndent, line.length)));
179
+ }
180
+ else {
181
+ blockLines.push('');
182
+ }
183
+ i++;
184
+ }
185
+ const firstMeaningful = blockLines.find(l => l.trim() !== '');
186
+ if (firstMeaningful === undefined) {
187
+ return { value: null, next: i };
188
+ }
189
+ // 块状数组(- item)
190
+ if (firstMeaningful.trim().startsWith('- ')) {
191
+ const arr = blockLines
192
+ .map(l => l.trim())
193
+ .filter(l => l.startsWith('- '))
194
+ .map(l => parseScalar(l.substring(2)))
195
+ .map(v => (typeof v === 'string' ? v : String(v)));
196
+ return { value: arr, next: i };
197
+ }
198
+ // 嵌套 map
199
+ if (firstMeaningful.includes(':')) {
200
+ const obj = {};
201
+ let j = 0;
202
+ while (j < blockLines.length) {
203
+ const l = blockLines[j];
204
+ if (l.trim() === '') {
205
+ j++;
206
+ continue;
207
+ }
208
+ const m = l.match(/^([A-Za-z0-9_-]+)\s*:\s*(.*)$/);
209
+ if (!m) {
210
+ j++;
211
+ continue;
212
+ }
213
+ const subKey = m[1];
214
+ const subRest = m[2];
215
+ if (subRest === '>' || subRest === '>-' || subRest === '|' || subRest === '|-') {
216
+ const folded = subRest.startsWith('>');
217
+ const { value, next } = readMultiline(blockLines, j + 1, folded, subRest === '|');
218
+ obj[subKey] = value;
219
+ j = next;
220
+ continue;
221
+ }
222
+ if (subRest === '') {
223
+ const { value, next } = readNested(blockLines, j + 1);
224
+ obj[subKey] = value;
225
+ j = next;
226
+ continue;
227
+ }
228
+ obj[subKey] = parseScalar(subRest);
229
+ j++;
230
+ }
231
+ return { value: obj, next: i };
232
+ }
233
+ // 无法识别 → 返回 null
234
+ return { value: null, next: i };
235
+ }
236
+ /** 解析 YAML 块为键值对象 */
237
+ function parseYamlBlock(block) {
238
+ const lines = block.split('\n');
239
+ const root = {};
240
+ let i = 0;
241
+ while (i < lines.length) {
242
+ const line = lines[i];
243
+ if (line.trim() === '' || line.trim().startsWith('#')) {
244
+ i++;
245
+ continue;
246
+ }
247
+ const indent = countIndent(line);
248
+ if (indent !== 0) {
249
+ i++;
250
+ continue;
251
+ }
252
+ const m = line.match(/^([A-Za-z0-9_-]+)\s*:\s*(.*)$/);
253
+ if (!m) {
254
+ i++;
255
+ continue;
256
+ }
257
+ const key = m[1];
258
+ const rest = m[2].trimEnd();
259
+ if (rest === '>' || rest === '>-' || rest === '|' || rest === '|-') {
260
+ const folded = rest.startsWith('>');
261
+ const { value, next } = readMultiline(lines, i + 1, folded, rest === '|');
262
+ root[key] = value;
263
+ i = next;
264
+ continue;
265
+ }
266
+ if (rest === '') {
267
+ const { value, next } = readNested(lines, i + 1);
268
+ root[key] = value;
269
+ i = next;
270
+ continue;
271
+ }
272
+ root[key] = parseScalar(rest);
273
+ i++;
274
+ }
275
+ return root;
276
+ }
277
+ /**
278
+ * 解析含 frontmatter 的 Markdown 文本。
279
+ * 无 frontmatter 时返回 `{ data: {}, body: raw }`。
280
+ */
281
+ function parseFrontmatter(raw) {
282
+ const normalized = (raw || '').replace(/\r\n/g, '\n');
283
+ const match = normalized.match(/^---\s*\n([\s\S]*?)\n---\s*\n?([\s\S]*)$/);
284
+ if (!match) {
285
+ return { data: {}, body: raw };
286
+ }
287
+ return { data: parseYamlBlock(match[1]), body: match[2] };
288
+ }
289
+ // ---- 字段读取辅助(统一处理命名变体与类型) ----
290
+ /** 读取字符串字段(兼容下划线/驼峰命名),缺失返回 '' */
291
+ function fmString(data, ...keys) {
292
+ for (const k of keys) {
293
+ const v = data[k];
294
+ if (v === undefined || v === null)
295
+ continue;
296
+ return typeof v === 'string' ? v : String(v);
297
+ }
298
+ return '';
299
+ }
300
+ /** 读取字符串数组字段(兼容数组/逗号分隔/行内数组),缺失返回 [] */
301
+ function fmStringArray(data, ...keys) {
302
+ for (const k of keys) {
303
+ const v = data[k];
304
+ if (v === undefined || v === null)
305
+ continue;
306
+ if (Array.isArray(v))
307
+ return v.map(String).filter(Boolean);
308
+ if (typeof v === 'string') {
309
+ const s = v.trim();
310
+ if (!s)
311
+ return [];
312
+ if (s.startsWith('[')) {
313
+ try {
314
+ return parseInlineArray(s);
315
+ }
316
+ catch { /* fallthrough */ }
317
+ }
318
+ return s.split(',').map(t => t.trim()).filter(Boolean);
319
+ }
320
+ return [String(v)];
321
+ }
322
+ return [];
323
+ }
324
+ /** 读取嵌套 map 字段(metadata),缺失返回 undefined */
325
+ function fmMap(data, key) {
326
+ const v = data[key];
327
+ if (v && typeof v === 'object' && !Array.isArray(v)) {
328
+ return v;
329
+ }
330
+ return undefined;
331
+ }
332
+ //# sourceMappingURL=frontmatter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"frontmatter.js","sourceRoot":"","sources":["../../../src/skill/frontmatter.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { Skill, SkillManifest, SkillSource } from './types.js';
1
+ import type { Skill, SkillManifest, SkillSource, SkillResources } from './types.js';
2
2
  /** 懒加载配置 */
3
3
  interface LazyLoadConfig {
4
4
  /** content LRU 缓存容量(默认 30) */
@@ -16,6 +16,8 @@ export declare class SkillManager {
16
16
  private nameIndex;
17
17
  /** content LRU 缓存(懒加载时按需填充) */
18
18
  private contentCache;
19
+ /** 嵌套子包扫描结果缓存:packageDir -> Skill[] */
20
+ private nestedSkillsCache;
19
21
  /** 是否启用懒加载 */
20
22
  private lazy;
21
23
  /** 记录加载的目录,用于 reload */
@@ -37,6 +39,25 @@ export declare class SkillManager {
37
39
  * - lazy=false(默认):全量读取,保持向后兼容
38
40
  */
39
41
  loadFromDir(dir: string, source: SkillSource, connectorId?: string): void;
42
+ /** 扫描目录包的资源清单(scripts/ references/ assets/ skills/),返回相对路径(POSIX 风格) */
43
+ static scanPackageResources(packageDir: string): SkillResources;
44
+ /** 扫描嵌套子包(skills/ 目录下的子目录含 SKILL.md) */
45
+ private static scanNestedPackages;
46
+ /**
47
+ * 扫描嵌套子包并返回完整的 Skill 对象列表
48
+ * @param parentPkgDir 父包的物化目录
49
+ * @param parentRuntimeId 父包的运行时 ID
50
+ * @param parentPath 父包的 path
51
+ * @returns 嵌套子包列表
52
+ */
53
+ static scanNestedSkills(parentPkgDir: string, parentRuntimeId: string, parentPath: string): Skill[];
54
+ /**
55
+ * 加载单个标准目录包(含 SKILL.md 的目录)。
56
+ * 自动扫描资源目录并注册资源清单。
57
+ * @param relId 相对于加载根目录的嵌套 id(如 `master-investment/modules/zk-strategy`);
58
+ * 无连接器时直接作为 storageId,确保不同层级的同名目录互不覆盖。
59
+ */
60
+ loadPackageDir(packageDir: string, relId: string, source: SkillSource, connectorId?: string): void;
40
61
  /** 手动注册 Skill(全量,含 content) */
41
62
  register(skill: Skill): void;
42
63
  /**
@@ -81,8 +102,38 @@ export declare class SkillManager {
81
102
  cachedContentCount: number;
82
103
  lazyMode: boolean;
83
104
  };
105
+ /**
106
+ * 注册 Skill 包的资源清单与根目录(标准目录包形态)。
107
+ * 供管理端注入运行时 Skill 时调用,或 loadFromDir 扫描目录包时自动调用。
108
+ */
109
+ registerPackageResources(skillId: string, resources: SkillResources, packageDir: string): void;
110
+ /** 列出 Skill 的资源清单(无则返回 null) */
111
+ listResources(skillIdOrName: string): SkillResources | null;
112
+ /**
113
+ * 按需加载 Skill 资源文件文本内容(references/ assets/ 等)。
114
+ * 仅允许读取 packageDir 内的文件,含路径穿越防护。
115
+ */
116
+ loadResource(skillIdOrName: string, resourcePath: string): string | null;
117
+ /** 获取资源文件绝对路径(供执行/二进制读取),含路径穿越防护 */
118
+ resolveResourcePathByName(skillIdOrName: string, resourcePath: string): string | null;
119
+ /** 解析脚本绝对路径(scripts/ 下),供脚本执行工具调用 */
120
+ resolveScriptPath(skillIdOrName: string, scriptRel: string): string | null;
121
+ /** 内部:解析并校验资源路径,确保位于 packageDir 内(防路径穿越) */
122
+ private resolveResourcePath;
84
123
  /** 重新加载(文件变更后刷新) */
85
124
  reload(): void;
125
+ /**
126
+ * 清除嵌套子包缓存
127
+ * @param packageDir 包目录路径,不传则清除所有缓存
128
+ */
129
+ clearNestedSkillsCache(packageDir?: string): void;
130
+ /**
131
+ * 获取嵌套子包缓存统计信息
132
+ */
133
+ getNestedSkillsCacheStats(): {
134
+ size: number;
135
+ keys: string[];
136
+ };
86
137
  /**
87
138
  * 从磁盘懒加载 content
88
139
  * 支持 Markdown 文件(含 front matter)和纯文本
@@ -97,15 +148,17 @@ export declare class SkillManager {
97
148
  private toManifest;
98
149
  /**
99
150
  * 仅解析 front matter(不读 content),用于懒加载模式
100
- * 通过读取文件前 N 字节提取 YAML front matter,避免加载整个文件
151
+ * 通过读取文件前 32KB 提取 YAML front matter,避免加载整个文件。
152
+ * 使用标准解析器,兼容嵌套 map / 多行折叠语法。
101
153
  */
102
154
  private parseManifest;
155
+ /**
156
+ * 由解析后的 frontmatter data 构建 SkillManifest(公共逻辑,parse/parseManifest 复用)。
157
+ * content 字段由调用方按需补充(parse 全量 / parseManifest 仅清单)。
158
+ */
159
+ private buildManifest;
103
160
  /** 解析完整的 Markdown 文件(含 content),用于兼容模式 */
104
161
  private parse;
105
- /** 解析 referenced_skills 字段 */
106
- private parseReferencedSkills;
107
- private extractField;
108
- private parseTags;
109
162
  }
110
163
  export {};
111
164
  //# sourceMappingURL=manager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../../src/skill/manager.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAiDpE,YAAY;AACZ,UAAU,cAAc;IACtB,8BAA8B;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kDAAkD;IAClD,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,qBAAa,YAAY;IACvB,wCAAwC;IACxC,OAAO,CAAC,SAAS,CAAoC;IACrD;;;OAGG;IACH,OAAO,CAAC,SAAS,CAA6B;IAC9C,+BAA+B;IAC/B,OAAO,CAAC,YAAY,CAAmB;IACvC,cAAc;IACd,OAAO,CAAC,IAAI,CAAU;IACtB,wBAAwB;IACxB,OAAO,CAAC,UAAU,CAAyE;gBAE/E,MAAM,CAAC,EAAE,cAAc;IAKnC;;;OAGG;IACH,MAAM,CAAC,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM;IAItE;;OAEG;IACH,MAAM,CAAC,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAMnE;;;;;OAKG;IACH,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI;IAqDzE,+BAA+B;IAC/B,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAQ5B;;;OAGG;IACH,OAAO,CAAC,aAAa;IASrB,eAAe;IACf,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAY5B;;;;;;OAMG;IACH,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS;IAmBlC;;OAEG;IACH,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAIlD;;;OAGG;IACH,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,oBAAoB;IAS5B;;;OAGG;IACH,eAAe,IAAI,aAAa,EAAE;IAIlC,qCAAqC;IACrC,MAAM,IAAI,KAAK,EAAE;IAIjB,YAAY;IACZ,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,EAAE;IAM9B,sBAAsB;IACtB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAYlC,eAAe;IACf,aAAa,IAAI;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,kBAAkB,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE;IAQzF,oBAAoB;IACpB,MAAM,IAAI,IAAI;IAad;;;OAGG;IACH,OAAO,CAAC,WAAW;IAiBnB;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAY/B,iCAAiC;IACjC,OAAO,CAAC,UAAU;IASlB;;;OAGG;IACH,OAAO,CAAC,aAAa;IAyDrB,0CAA0C;IAC1C,OAAO,CAAC,KAAK;IA8Cb,8BAA8B;IAC9B,OAAO,CAAC,qBAAqB;IAM7B,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,SAAS;CASlB"}
1
+ {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../../src/skill/manager.ts"],"names":[],"mappings":"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"}