weflow-cli 1.8.2 → 1.9.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.
Files changed (100) hide show
  1. package/CHANGELOG.md +342 -0
  2. package/OPERATIONS.md +79 -0
  3. package/README.en.md +9 -2
  4. package/README.md +12 -2
  5. package/bin/weflow-cli-electron.cjs +2 -0
  6. package/bin/weflow-cli.ts +648 -79
  7. package/dist/bin/weflow-cli.js +675 -78
  8. package/dist/bin/weflow-cli.js.map +1 -1
  9. package/dist/mcp-server/http.d.ts +14 -0
  10. package/dist/mcp-server/http.d.ts.map +1 -0
  11. package/dist/mcp-server/http.js +84 -0
  12. package/dist/mcp-server/http.js.map +1 -0
  13. package/dist/mcp-server/httpConfig.d.ts +50 -0
  14. package/dist/mcp-server/httpConfig.d.ts.map +1 -0
  15. package/dist/mcp-server/httpConfig.js +104 -0
  16. package/dist/mcp-server/httpConfig.js.map +1 -0
  17. package/dist/mcp-server/index.d.ts +13 -1
  18. package/dist/mcp-server/index.d.ts.map +1 -1
  19. package/dist/mcp-server/index.js +39 -373
  20. package/dist/mcp-server/index.js.map +1 -1
  21. package/dist/src/panel/server.d.ts.map +1 -1
  22. package/dist/src/panel/server.js +26 -1
  23. package/dist/src/panel/server.js.map +1 -1
  24. package/dist/src/services/assistantEval.d.ts +69 -0
  25. package/dist/src/services/assistantEval.d.ts.map +1 -1
  26. package/dist/src/services/assistantEval.js +270 -8
  27. package/dist/src/services/assistantEval.js.map +1 -1
  28. package/dist/src/services/assistantScenes.d.ts +81 -0
  29. package/dist/src/services/assistantScenes.d.ts.map +1 -0
  30. package/dist/src/services/assistantScenes.js +322 -0
  31. package/dist/src/services/assistantScenes.js.map +1 -0
  32. package/dist/src/services/assistantService.d.ts +14 -4
  33. package/dist/src/services/assistantService.d.ts.map +1 -1
  34. package/dist/src/services/assistantService.js +82 -6
  35. package/dist/src/services/assistantService.js.map +1 -1
  36. package/dist/src/services/assistantSkills.d.ts +94 -0
  37. package/dist/src/services/assistantSkills.d.ts.map +1 -0
  38. package/dist/src/services/assistantSkills.js +330 -0
  39. package/dist/src/services/assistantSkills.js.map +1 -0
  40. package/dist/src/services/assistantTools.d.ts +7 -0
  41. package/dist/src/services/assistantTools.d.ts.map +1 -1
  42. package/dist/src/services/assistantTools.js +770 -61
  43. package/dist/src/services/assistantTools.js.map +1 -1
  44. package/dist/src/services/assistantTrace.d.ts +4 -0
  45. package/dist/src/services/assistantTrace.d.ts.map +1 -1
  46. package/dist/src/services/assistantTrace.js +9 -0
  47. package/dist/src/services/assistantTrace.js.map +1 -1
  48. package/dist/src/services/configService.d.ts +7 -0
  49. package/dist/src/services/configService.d.ts.map +1 -1
  50. package/dist/src/services/configService.js +4 -2
  51. package/dist/src/services/configService.js.map +1 -1
  52. package/dist/src/services/outboundSend.d.ts +53 -0
  53. package/dist/src/services/outboundSend.d.ts.map +1 -0
  54. package/dist/src/services/outboundSend.js +90 -0
  55. package/dist/src/services/outboundSend.js.map +1 -0
  56. package/dist/src/services/pythonBridge.d.ts.map +1 -1
  57. package/dist/src/services/pythonBridge.js +1 -0
  58. package/dist/src/services/pythonBridge.js.map +1 -1
  59. package/dist/src/utils/python.js +2 -2
  60. package/dist/src/utils/python.js.map +1 -1
  61. package/docs/BRANCHES.md +37 -0
  62. package/docs/DECISIONS.md +350 -0
  63. package/docs/EXTENDING.md +29 -3
  64. package/docs/MCP.md +56 -2
  65. package/docs/PROJECT_STATE.md +121 -9
  66. package/mcp-server/http.ts +108 -0
  67. package/mcp-server/httpConfig.ts +126 -0
  68. package/mcp-server/index.ts +344 -681
  69. package/package.json +1 -1
  70. package/resources/panel/ball-position.cjs +48 -2
  71. package/resources/panel/index.html +6 -4
  72. package/resources/panel/main.cjs +137 -5
  73. package/resources/panel/mascot-base.png +0 -0
  74. package/resources/panel/mascot-iris.png +0 -0
  75. package/resources/panel/mascot-peek.png +0 -0
  76. package/resources/panel/panel.css +95 -60
  77. package/resources/panel/preload.cjs +26 -0
  78. package/resources/panel/renderer.js +167 -10
  79. package/scripts/_utils.py +47 -1
  80. package/scripts/backfill_articles.py +202 -21
  81. package/scripts/biz_daily.py +8 -31
  82. package/scripts/bonds.py +331 -0
  83. package/scripts/chat_notes.py +551 -470
  84. package/scripts/chat_stats.py +8 -7
  85. package/scripts/compile_wiki.py +24 -2
  86. package/scripts/export_chat_html.py +3 -1
  87. package/scripts/mcp_bridge.py +6 -7
  88. package/scripts/wechat_voice.py +9 -0
  89. package/scripts/wiki_lint.py +30 -7
  90. package/src/panel/server.ts +25 -1
  91. package/src/services/assistantEval.ts +323 -12
  92. package/src/services/assistantScenes.ts +342 -0
  93. package/src/services/assistantService.ts +81 -6
  94. package/src/services/assistantSkills.ts +364 -0
  95. package/src/services/assistantTools.ts +738 -59
  96. package/src/services/assistantTrace.ts +9 -0
  97. package/src/services/configService.ts +412 -403
  98. package/src/services/outboundSend.ts +126 -0
  99. package/src/services/pythonBridge.ts +1 -0
  100. package/src/utils/python.ts +2 -2
@@ -0,0 +1,330 @@
1
+ /**
2
+ * 助手能用的技能包(Skills)—— 发现、解析、四态降级、正文读取。
3
+ *
4
+ * **技能是内容,不是代码**:本模块只把 `SKILL.md` 当**资料**交给模型(给路径、给正文),
5
+ * 不执行其中任何东西、不给模型增加任何新工具。这是 P4「插件/适配器机制」验收标准的
6
+ * 保守落地:「第三方扩展无法直接读取配置、数据库或任意文件;扩展能被单独禁用」。
7
+ * 想给助手加能力要走 `docs/EXTENDING.md` 的 Recipe A(加工具),不是往技能里塞脚本。
8
+ *
9
+ * 口径来源:技能格式与 Anthropic Agent Skills 一致(`name` + `description` frontmatter),
10
+ * 我们只**读**它,不发明新格式 —— 这样用户已经装在 `~/.claude/skills` 下的技能直接可用。
11
+ *
12
+ * 三个实测得来的硬约束(别按直觉改):
13
+ * 1. **只解析文件开头那一段 `---`**。实测用户的技能正文里也有 `categories:`/`created:`/
14
+ * `tags:` 这些行(`memory-organizer`、`obsidian-wiki-workflow`),扫全文会把它们当字段读进来。
15
+ * 2. **必须处理 YAML 块标量**。真实技能里 `description: >-` / `description: |` 后面跟着缩进的
16
+ * 多行正文,不处理的话 description 就变成 `>-` 两个字。
17
+ * 3. **ID 规范要比 Anthropic 宽**。他们的 `^[a-z0-9]+(-[a-z0-9]+)*$` 会把用户自己的
18
+ * `clz_docx_to_mp`、`agent-dialog_management`、`ylx_onehub_usage_monitor` 判为不合规 ——
19
+ * 那些是真实在用的技能,所以不合规只**警告**,不丢弃。
20
+ */
21
+ import { existsSync, readdirSync, readFileSync, statSync } from 'fs';
22
+ import { join } from 'path';
23
+ import { homedir } from 'os';
24
+ import { configService } from './configService.js';
25
+ import { expandHomePath } from '../utils/pathUtils.js';
26
+ /** 技能正文一次最多交给模型多少字(`read_skill`):足够长,又不至于把上下文吃掉 */
27
+ export const SKILL_BODY_LIMIT = 8192;
28
+ /**
29
+ * 我们接受的 ID:小写字母、数字、点、下划线、连字符 —— 比 Anthropic 规范宽(见文件头第 3 条)。
30
+ */
31
+ const ID_RE = /^[a-z0-9][a-z0-9._-]*$/;
32
+ /**
33
+ * Anthropic Agent Skills 的严格规范。**只用来说话,不用来拒绝**:
34
+ * 不合规的 ID 照样能用(用户的 `clz_docx_to_mp` 就在用),但 `skill check` 要讲出来,
35
+ * 免得他以为这些能直接搬去别的 Agent 用。
36
+ */
37
+ const SPEC_ID_RE = /^[a-z0-9]+(-[a-z0-9]+)*$/;
38
+ // ---------- 根目录 ----------
39
+ /**
40
+ * 技能根目录清单。优先级:环境变量 > 配置键 > 默认两个根。
41
+ *
42
+ * 默认两个根是有意的:`~/.claude/skills` 让用户**已有的**技能立刻可用,
43
+ * `~/.weflow-cli/skills` 是本项目自己的落脚点(现在多半是空的)。
44
+ *
45
+ * 注意 `configService.get()` 只展开**开头**那个 `~`,逗号分隔的清单里第二个 `~` 它不管,
46
+ * 所以这里逐段自己调 `expandHomePath`(踩过:不展开会让第二个根静默不存在)。
47
+ */
48
+ export function skillRoots() {
49
+ const env = String(process.env.WEFLOW_ASSISTANT_SKILL_DIRS || '').trim();
50
+ const raw = env || String(configService.get('skillDirs') || '').trim();
51
+ if (raw) {
52
+ return raw.split(/[,;]/)
53
+ .map(part => expandHomePath(part.trim().replace(/^["']|["']$/g, '')))
54
+ .filter(Boolean);
55
+ }
56
+ return [join(homedir(), '.claude', 'skills'), join(homedir(), '.weflow-cli', 'skills')];
57
+ }
58
+ /** 配置键 `skillDisabled`:用户侧的禁用名单(技能自己也能声明 `enabled: false`) */
59
+ export function disabledIds() {
60
+ const raw = String(configService.get('skillDisabled') || '').trim();
61
+ if (!raw)
62
+ return [];
63
+ return raw.split(/[,;]/).map(part => part.trim()).filter(Boolean);
64
+ }
65
+ /**
66
+ * 只解析开头那一段 `---`。返回 null 表示**这一段不成立**(不是"没有字段")——
67
+ * 调用方要把这种情况报出来,不要当成"这个技能没写描述"。
68
+ */
69
+ export function parseFrontmatter(text) {
70
+ const t = String(text || '').replace(/^/, '');
71
+ const lines = t.split(/\r?\n/);
72
+ if (!/^---[ \t]*$/.test(lines[0] || ''))
73
+ return null;
74
+ let end = -1;
75
+ for (let i = 1; i < lines.length; i += 1) {
76
+ if (/^---[ \t]*$/.test(lines[i])) {
77
+ end = i;
78
+ break;
79
+ }
80
+ }
81
+ if (end === -1)
82
+ return null; // 开头有 --- 却没有收尾:残缺,宁可报错也不猜
83
+ const fields = {};
84
+ const lists = {};
85
+ let blockKey = null; // 正在收的块标量(`description: >-` 这类)
86
+ let blockMode = 'folded';
87
+ let blockLines = [];
88
+ let listKey = null; // 正在收的列表(`triggers:` 这类)
89
+ const closeBlock = () => {
90
+ if (!blockKey)
91
+ return;
92
+ // `>` 折行(空格连接),`|` 保留换行。`-` 后缀(`>-`/`|-`)表示去掉末尾换行,这里一并处理。
93
+ fields[blockKey] = (blockMode === 'literal' ? blockLines.join('\n') : blockLines.join(' ')).trim();
94
+ blockKey = null;
95
+ blockLines = [];
96
+ };
97
+ const closeList = () => {
98
+ if (listKey && lists[listKey]?.length === 0)
99
+ lists[listKey] = [];
100
+ listKey = null;
101
+ };
102
+ for (let i = 1; i < end; i += 1) {
103
+ const raw = lines[i];
104
+ const line = raw.replace(/\s+$/, '');
105
+ if (!line.trim() || /^\s*#/.test(line))
106
+ continue;
107
+ const indented = /^\s/.test(line);
108
+ if (indented) {
109
+ const item = /^\s+-\s*(.*)$/.exec(line);
110
+ if (item && listKey) {
111
+ lists[listKey].push(stripQuotes(item[1].trim()));
112
+ continue;
113
+ }
114
+ if (blockKey) {
115
+ blockLines.push(line.replace(/^\s+/, ''));
116
+ continue;
117
+ }
118
+ continue; // 嵌套映射(如 `metadata:` 下缩进的 `type: skill`)——只认扁平的,嵌套的忽略
119
+ }
120
+ closeBlock();
121
+ closeList();
122
+ const m = /^([A-Za-z][A-Za-z0-9_.-]*)\s*:\s*(.*)$/.exec(line);
123
+ if (!m)
124
+ continue;
125
+ const key = m[1];
126
+ const value = m[2].trim();
127
+ if (/^[|>][-+]?$/.test(value)) {
128
+ blockKey = key;
129
+ blockMode = value.startsWith('|') ? 'literal' : 'folded';
130
+ continue;
131
+ }
132
+ if (value === '') {
133
+ // 空值:后面若是缩进的 `- ` 就是列表,否则就是个空字段
134
+ lists[key] = lists[key] || [];
135
+ listKey = key;
136
+ fields[key] = '';
137
+ continue;
138
+ }
139
+ fields[key] = stripQuotes(value);
140
+ }
141
+ closeBlock();
142
+ closeList();
143
+ return { fields, lists };
144
+ }
145
+ function stripQuotes(value) {
146
+ return String(value || '').replace(/^["']|["']$/g, '');
147
+ }
148
+ // ---------- 扫描 ----------
149
+ export function scanSkills(roots = skillRoots()) {
150
+ const skills = [];
151
+ const unreadable = [];
152
+ const conflicts = [];
153
+ const missingRoots = [];
154
+ const seen = new Map();
155
+ for (const root of roots) {
156
+ let entries = [];
157
+ try {
158
+ if (!existsSync(root) || !statSync(root).isDirectory()) {
159
+ missingRoots.push(root);
160
+ continue;
161
+ }
162
+ entries = readdirSync(root);
163
+ }
164
+ catch {
165
+ missingRoots.push(root);
166
+ continue;
167
+ }
168
+ for (const entry of entries) {
169
+ const file = join(root, entry, 'SKILL.md');
170
+ const dir = join(root, entry);
171
+ // 只认 `<root>/<id>/SKILL.md`。**符号链接是跟的**(有意):在 git 仓库里开发技能、
172
+ // 再 `ln -s` 到技能根目录是常见做法,拒掉会让人觉得"我的技能怎么不见了"。
173
+ // 软链是用户自己放的(扩展造不出来),而 `read_skill` 只可能读到名字叫 `SKILL.md`
174
+ // 的文件,所以这条不是一个可被扩展利用的越界口子。
175
+ try {
176
+ if (!statSync(dir).isDirectory())
177
+ continue;
178
+ if (!existsSync(file) || !statSync(file).isFile())
179
+ continue;
180
+ }
181
+ catch {
182
+ continue;
183
+ }
184
+ let text = '';
185
+ try {
186
+ text = readFileSync(file, 'utf8');
187
+ }
188
+ catch (error) {
189
+ unreadable.push({ file, reason: `读不了:${error.message}` });
190
+ continue;
191
+ }
192
+ const fm = parseFrontmatter(text);
193
+ if (!fm) {
194
+ unreadable.push({ file, reason: '开头的 --- frontmatter 段缺失或不闭合' });
195
+ continue;
196
+ }
197
+ const notes = [];
198
+ const id = entry;
199
+ if (!ID_RE.test(id)) {
200
+ // 连我们这套宽规则都不满足(大写、空格、中文…):仍然保留,但要说出来
201
+ notes.push('ID 含非规范字符(不是小写字母/数字/点/下划线/连字符),本机可用,但别的 Agent 可能不认');
202
+ }
203
+ else if (!SPEC_ID_RE.test(id)) {
204
+ // 实测用户有 3 个这种 ID(clz_docx_to_mp 等)。可用,但搬去别的 Agent 会不合规。
205
+ notes.push('ID 不符合 Anthropic Agent Skills 规范(只允许小写字母/数字/单个连字符),本机可用,搬去别的 Agent 可能不认');
206
+ }
207
+ const description = String(fm.fields.description || '').trim();
208
+ if (!description)
209
+ notes.push('frontmatter 里没有 description —— 模型只能靠它判断这个技能是干什么的');
210
+ if (seen.has(id)) {
211
+ conflicts.push({ id, winner: seen.get(id), loser: file });
212
+ continue; // 靠前的根胜出;后一个只报冲突,不覆盖
213
+ }
214
+ seen.set(id, file);
215
+ skills.push({
216
+ id,
217
+ name: String(fm.fields.name || id).trim() || id,
218
+ description,
219
+ version: String(fm.fields.version || '').trim(),
220
+ file,
221
+ root,
222
+ selfDisabled: String(fm.fields.enabled || '').trim().toLowerCase() === 'false',
223
+ triggers: fm.lists.triggers || [],
224
+ notes,
225
+ });
226
+ }
227
+ }
228
+ skills.sort((a, b) => a.id.localeCompare(b.id));
229
+ return { skills, unreadable, conflicts, missingRoots };
230
+ }
231
+ export function findSkill(id, scan = scanSkills()) {
232
+ return scan.skills.find(s => s.id === id);
233
+ }
234
+ // ---------- 四态降级 ----------
235
+ export function skillState(skill, disabled = disabledIds()) {
236
+ if (skill.selfDisabled || disabled.includes(skill.id))
237
+ return 'disabled';
238
+ return 'ready';
239
+ }
240
+ /**
241
+ * 把技能渲染成给模型的一句话。四态,每一态都**说实话**:
242
+ * 缺文件不阻断(照 WeChatBridge 的做法:继续做,但要求模型在回答里说明这块没做)。
243
+ */
244
+ export function describeSkill(id, scan = scanSkills()) {
245
+ const skill = findSkill(id, scan);
246
+ if (!skill) {
247
+ return {
248
+ state: 'missing',
249
+ line: `技能「${id}」不可用(本机没有这个技能),请直接完成,并在回答里说明哪部分没做。`,
250
+ };
251
+ }
252
+ const state = skillState(skill);
253
+ if (state === 'disabled') {
254
+ return { state, line: `技能「${skill.name}」已被用户禁用,不要使用它。` };
255
+ }
256
+ return {
257
+ state,
258
+ line: `技能「${skill.name}」:说明文件在 \`${skill.file}\`,请先读它再严格按其执行。`,
259
+ };
260
+ }
261
+ /**
262
+ * 解析 `{{skill:<id>}}` 行内引用。**只认这一种形式**,别的 `{{...}}` 原样保留
263
+ * (本仓没有模板引擎,不要让人以为这是通用的)。
264
+ * 未知 id **不静默删掉** —— 显式告诉模型"你引用了不存在的技能"。
265
+ */
266
+ export function renderSkillRefs(text, scan = scanSkills()) {
267
+ return String(text || '').replace(/\{\{skill:([^}]+)\}\}/g, (_all, rawId) => {
268
+ const id = rawId.trim();
269
+ const { line } = describeSkill(id, scan);
270
+ return line;
271
+ });
272
+ }
273
+ /** 一个场景/一段文本实际引用了哪些技能:行内引用 ∪ 显式声明(去重、保序) */
274
+ export function referencedSkillIds(text, declared = []) {
275
+ const ids = [];
276
+ const push = (id) => { if (id && !ids.includes(id))
277
+ ids.push(id); };
278
+ for (const m of String(text || '').matchAll(/\{\{skill:([^}]+)\}\}/g))
279
+ push(m[1].trim());
280
+ for (const id of declared)
281
+ push(String(id || '').trim());
282
+ return ids;
283
+ }
284
+ /**
285
+ * 读某个技能的 `SKILL.md` 正文。
286
+ *
287
+ * **路径限界**:只从扫描结果里取路径,绝不接受调用方拼出来的路径。也就是说
288
+ * `read_skill('../config.json')` 这类根本走不到文件系统 —— 因为 `../config.json`
289
+ * 不是任何一个扫描出来的技能 id。这条是 P4 验收标准的现场,有测试逐个盯着。
290
+ */
291
+ export function readSkillBody(id, scan = scanSkills()) {
292
+ const skill = findSkill(id, scan);
293
+ if (!skill)
294
+ return { ok: false, text: `本机没有技能「${id}」。可以用 list_skills 看有哪些。` };
295
+ if (skillState(skill) === 'disabled') {
296
+ return { ok: false, text: `技能「${skill.id}」已被禁用,不读取它的内容。` };
297
+ }
298
+ let text = '';
299
+ try {
300
+ text = readFileSync(skill.file, 'utf8');
301
+ }
302
+ catch (error) {
303
+ return { ok: false, text: `技能「${skill.id}」的说明文件读不了:${error.message}` };
304
+ }
305
+ const truncated = text.length > SKILL_BODY_LIMIT;
306
+ return {
307
+ ok: true,
308
+ text: truncated ? `${text.slice(0, SKILL_BODY_LIMIT)}\n\n…(正文过长,已截断到 ${SKILL_BODY_LIMIT} 字)` : text,
309
+ truncated,
310
+ };
311
+ }
312
+ // ---------- 提示词目录 ----------
313
+ /** 只列名字 + 描述 + 状态。27 个技能的正文全塞进每轮提示词是浪费,正文按需 `read_skill`。 */
314
+ export function skillCatalogueLines(scan = scanSkills(), limit = 40) {
315
+ const disabled = disabledIds();
316
+ const usable = scan.skills.filter(s => skillState(s, disabled) === 'ready');
317
+ const lines = usable.slice(0, limit).map(s => {
318
+ const desc = s.description.length > 80 ? `${s.description.slice(0, 80)}…` : s.description;
319
+ return `· ${s.id}(${s.name}):${desc || '(无描述)'}`;
320
+ });
321
+ const hidden = usable.length - lines.length;
322
+ const off = scan.skills.length - usable.length;
323
+ const notes = [];
324
+ if (hidden > 0)
325
+ notes.push(`另有 ${hidden} 个技能未列出`);
326
+ if (off > 0)
327
+ notes.push(`${off} 个技能被禁用`);
328
+ return notes.length ? [...lines, `(${notes.join(';')})`] : lines;
329
+ }
330
+ //# sourceMappingURL=assistantSkills.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assistantSkills.js","sourceRoot":"","sources":["../../../src/services/assistantSkills.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAA;AACpE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAA;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAEtD,mDAAmD;AACnD,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAA;AAEpC;;GAEG;AACH,MAAM,KAAK,GAAG,wBAAwB,CAAA;AACtC;;;;GAIG;AACH,MAAM,UAAU,GAAG,0BAA0B,CAAA;AAiC7C,4BAA4B;AAE5B;;;;;;;;GAQG;AACH,MAAM,UAAU,UAAU;IACxB,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,2BAA2B,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;IACxE,MAAM,GAAG,GAAG,GAAG,IAAI,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;IACtE,IAAI,GAAG,EAAE,CAAC;QACR,OAAO,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC;aACrB,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,CAAC;aACpE,MAAM,CAAC,OAAO,CAAC,CAAA;IACpB,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAA;AACzF,CAAC;AAED,8DAA8D;AAC9D,MAAM,UAAU,WAAW;IACzB,MAAM,GAAG,GAAG,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;IACnE,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,CAAA;IACnB,OAAO,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;AACnE,CAAC;AASD;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;IAC9C,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IAC9B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAAE,OAAO,IAAI,CAAA;IACpD,IAAI,GAAG,GAAG,CAAC,CAAC,CAAA;IACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACzC,IAAI,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAAC,GAAG,GAAG,CAAC,CAAC;YAAC,MAAK;QAAC,CAAC;IACtD,CAAC;IACD,IAAI,GAAG,KAAK,CAAC,CAAC;QAAE,OAAO,IAAI,CAAA,CAAG,2BAA2B;IAEzD,MAAM,MAAM,GAA2B,EAAE,CAAA;IACzC,MAAM,KAAK,GAA6B,EAAE,CAAA;IAC1C,IAAI,QAAQ,GAAkB,IAAI,CAAA,CAAK,gCAAgC;IACvE,IAAI,SAAS,GAAyB,QAAQ,CAAA;IAC9C,IAAI,UAAU,GAAa,EAAE,CAAA;IAC7B,IAAI,OAAO,GAAkB,IAAI,CAAA,CAAM,yBAAyB;IAEhE,MAAM,UAAU,GAAG,GAAG,EAAE;QACtB,IAAI,CAAC,QAAQ;YAAE,OAAM;QACrB,0DAA0D;QAC1D,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;QAClG,QAAQ,GAAG,IAAI,CAAA;QACf,UAAU,GAAG,EAAE,CAAA;IACjB,CAAC,CAAA;IACD,MAAM,SAAS,GAAG,GAAG,EAAE;QACrB,IAAI,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,KAAK,CAAC;YAAE,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAA;QAChE,OAAO,GAAG,IAAI,CAAA;IAChB,CAAC,CAAA;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAChC,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;QACpB,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;QACpC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,SAAQ;QAEhD,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACjC,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACvC,IAAI,IAAI,IAAI,OAAO,EAAE,CAAC;gBAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBAAC,SAAQ;YAAC,CAAC;YACnF,IAAI,QAAQ,EAAE,CAAC;gBAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;gBAAC,SAAQ;YAAC,CAAC;YACrE,SAAQ,CAAG,sDAAsD;QACnE,CAAC;QAED,UAAU,EAAE,CAAA;QACZ,SAAS,EAAE,CAAA;QAEX,MAAM,CAAC,GAAG,wCAAwC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC7D,IAAI,CAAC,CAAC;YAAE,SAAQ;QAChB,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;QAChB,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;QAEzB,IAAI,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,QAAQ,GAAG,GAAG,CAAA;YACd,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAA;YACxD,SAAQ;QACV,CAAC;QACD,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;YACjB,gCAAgC;YAChC,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,CAAA;YAC7B,OAAO,GAAG,GAAG,CAAA;YACb,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAA;YAChB,SAAQ;QACV,CAAC;QACD,MAAM,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,CAAA;IAClC,CAAC;IACD,UAAU,EAAE,CAAA;IACZ,SAAS,EAAE,CAAA;IACX,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAA;AAC1B,CAAC;AAED,SAAS,WAAW,CAAC,KAAa;IAChC,OAAO,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAA;AACxD,CAAC;AAED,2BAA2B;AAE3B,MAAM,UAAU,UAAU,CAAC,KAAK,GAAG,UAAU,EAAE;IAC7C,MAAM,MAAM,GAAgB,EAAE,CAAA;IAC9B,MAAM,UAAU,GAA4B,EAAE,CAAA;IAC9C,MAAM,SAAS,GAA2B,EAAE,CAAA;IAC5C,MAAM,YAAY,GAAa,EAAE,CAAA;IACjC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAkB,CAAA;IAEtC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,OAAO,GAAa,EAAE,CAAA;QAC1B,IAAI,CAAC;YACH,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;gBAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAAC,SAAQ;YAAC,CAAC;YAC7F,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,CAAA;QAC7B,CAAC;QAAC,MAAM,CAAC;YACP,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACvB,SAAQ;QACV,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,CAAC,CAAA;YAC1C,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;YAC7B,2DAA2D;YAC3D,4CAA4C;YAC5C,uDAAuD;YACvD,2BAA2B;YAC3B,IAAI,CAAC;gBACH,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE;oBAAE,SAAQ;gBAC1C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE;oBAAE,SAAQ;YAC7D,CAAC;YAAC,MAAM,CAAC;gBACP,SAAQ;YACV,CAAC;YACD,IAAI,IAAI,GAAG,EAAE,CAAA;YACb,IAAI,CAAC;gBACH,IAAI,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;YACnC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAQ,KAAe,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;gBACpE,SAAQ;YACV,CAAC;YACD,MAAM,EAAE,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAA;YACjC,IAAI,CAAC,EAAE,EAAE,CAAC;gBACR,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,6BAA6B,EAAE,CAAC,CAAA;gBAChE,SAAQ;YACV,CAAC;YACD,MAAM,KAAK,GAAa,EAAE,CAAA;YAC1B,MAAM,EAAE,GAAG,KAAK,CAAA;YAChB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;gBACpB,qCAAqC;gBACrC,KAAK,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAA;YAClE,CAAC;iBAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;gBAChC,wDAAwD;gBACxD,KAAK,CAAC,IAAI,CAAC,yEAAyE,CAAC,CAAA;YACvF,CAAC;YACD,MAAM,WAAW,GAAG,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;YAC9D,IAAI,CAAC,WAAW;gBAAE,KAAK,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAA;YAEhF,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;gBACjB,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;gBAC1D,SAAQ,CAAG,qBAAqB;YAClC,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;YAClB,MAAM,CAAC,IAAI,CAAC;gBACV,EAAE;gBACF,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE;gBAC/C,WAAW;gBACX,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;gBAC/C,IAAI;gBACJ,IAAI;gBACJ,YAAY,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,OAAO;gBAC9E,QAAQ,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE;gBACjC,KAAK;aACN,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IACD,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IAC/C,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,CAAA;AACxD,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,EAAU,EAAE,OAAkB,UAAU,EAAE;IAClE,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;AAC3C,CAAC;AAED,6BAA6B;AAE7B,MAAM,UAAU,UAAU,CAAC,KAAgB,EAAE,QAAQ,GAAG,WAAW,EAAE;IACnE,IAAI,KAAK,CAAC,YAAY,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAAE,OAAO,UAAU,CAAA;IACxE,OAAO,OAAO,CAAA;AAChB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,EAAU,EAAE,OAAkB,UAAU,EAAE;IACtE,MAAM,KAAK,GAAG,SAAS,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;IACjC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO;YACL,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE,MAAM,EAAE,oCAAoC;SACnD,CAAA;IACH,CAAC;IACD,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;IAC/B,IAAI,KAAK,KAAK,UAAU,EAAE,CAAC;QACzB,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC,IAAI,gBAAgB,EAAE,CAAA;IAC1D,CAAC;IACD,OAAO;QACL,KAAK;QACL,IAAI,EAAE,MAAM,KAAK,CAAC,IAAI,aAAa,KAAK,CAAC,IAAI,iBAAiB;KAC/D,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,IAAY,EAAE,OAAkB,UAAU,EAAE;IAC1E,OAAO,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,wBAAwB,EAAE,CAAC,IAAI,EAAE,KAAa,EAAE,EAAE;QAClF,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI,EAAE,CAAA;QACvB,MAAM,EAAE,IAAI,EAAE,GAAG,aAAa,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;QACxC,OAAO,IAAI,CAAA;IACb,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,4CAA4C;AAC5C,MAAM,UAAU,kBAAkB,CAAC,IAAY,EAAE,WAAqB,EAAE;IACtE,MAAM,GAAG,GAAa,EAAE,CAAA;IACxB,MAAM,IAAI,GAAG,CAAC,EAAU,EAAE,EAAE,GAAG,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA,CAAC,CAAC,CAAA;IAC1E,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,wBAAwB,CAAC;QAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;IACxF,KAAK,MAAM,EAAE,IAAI,QAAQ;QAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;IACxD,OAAO,GAAG,CAAA;AACZ,CAAC;AAMD;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,EAAU,EAAE,OAAkB,UAAU,EAAE;IACtE,MAAM,KAAK,GAAG,SAAS,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;IACjC,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,yBAAyB,EAAE,CAAA;IAC7E,IAAI,UAAU,CAAC,KAAK,CAAC,KAAK,UAAU,EAAE,CAAC;QACrC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC,EAAE,gBAAgB,EAAE,CAAA;IAC5D,CAAC;IACD,IAAI,IAAI,GAAG,EAAE,CAAA;IACb,IAAI,CAAC;QACH,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IACzC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC,EAAE,aAAc,KAAe,CAAC,OAAO,EAAE,EAAE,CAAA;IACnF,CAAC;IACD,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,GAAG,gBAAgB,CAAA;IAChD,OAAO;QACL,EAAE,EAAE,IAAI;QACR,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,gBAAgB,CAAC,mBAAmB,gBAAgB,KAAK,CAAC,CAAC,CAAC,IAAI;QACnG,SAAS;KACV,CAAA;AACH,CAAC;AAED,8BAA8B;AAE9B,6DAA6D;AAC7D,MAAM,UAAU,mBAAmB,CAAC,OAAkB,UAAU,EAAE,EAAE,KAAK,GAAG,EAAE;IAC5E,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAA;IAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,QAAQ,CAAC,KAAK,OAAO,CAAC,CAAA;IAC3E,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;QAC3C,MAAM,IAAI,GAAG,CAAC,CAAC,WAAW,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAA;QACzF,OAAO,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,OAAO,EAAE,CAAA;IAClD,CAAC,CAAC,CAAA;IACF,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAA;IAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;IAC9C,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,IAAI,MAAM,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,MAAM,MAAM,SAAS,CAAC,CAAA;IACjD,IAAI,GAAG,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,SAAS,CAAC,CAAA;IACxC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;AAClE,CAAC"}
@@ -1,4 +1,11 @@
1
1
  import type { AssistantMemory } from './assistantMemory.js';
2
+ /**
3
+ * 总览索引在哪:**在概念目录的上一层**——`Wiki/Concepts/` 的兄弟是 `Wiki/00-Overview.md`。
4
+ *
5
+ * 抽成函数是为了能直接测:这段路径写错过一次(写成 `join(dir, '00-Overview.md')`,于是一直读不到),
6
+ * 而当时那条测试只能断言「有内容或没有」这种形状——真实机器上有索引、CI 上没有,两条路都绿。
7
+ */
8
+ export declare function wikiIndexPath(conceptDir: string): string;
2
9
  /**
3
10
  * 概念名 → 文件名。**与 `compile_wiki` 是同一套规则**(非法字符换下划线、截到 60 字)。
4
11
  *
@@ -1 +1 @@
1
- {"version":3,"file":"assistantTools.d.ts","sourceRoot":"","sources":["../../../src/services/assistantTools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"assistantTools.d.ts","sourceRoot":"","sources":["../../../src/services/assistantTools.ts"],"names":[],"mappings":"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"}