kimi-code-memory-mcp-server 0.1.1 → 0.2.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.
- package/CHANGELOG.md +28 -1
- package/README.en.md +349 -0
- package/README.md +223 -137
- package/assets/contextFlow.svg +144 -0
- package/dist/config.d.ts +13 -0
- package/dist/config.js +13 -0
- package/dist/config.js.map +1 -1
- package/dist/context/wire-context.d.ts +3 -0
- package/dist/context/wire-context.js +20 -50
- package/dist/context/wire-context.js.map +1 -1
- package/dist/dao/constants.d.ts +33 -0
- package/dist/dao/constants.js +17 -0
- package/dist/dao/constants.js.map +1 -0
- package/dist/dao/index-catalog.d.ts +19 -0
- package/dist/dao/index-catalog.js +94 -0
- package/dist/dao/index-catalog.js.map +1 -0
- package/dist/dao/index-reconciler.d.ts +13 -0
- package/dist/dao/index-reconciler.js +162 -0
- package/dist/dao/index-reconciler.js.map +1 -0
- package/dist/dao/index-store.d.ts +31 -0
- package/dist/dao/index-store.js +128 -0
- package/dist/dao/index-store.js.map +1 -0
- package/dist/dao/index.d.ts +12 -31
- package/dist/dao/index.js +50 -404
- package/dist/dao/index.js.map +1 -1
- package/dist/dao/memory-store.js +2 -10
- package/dist/dao/memory-store.js.map +1 -1
- package/dist/dao/memory-tree-renderer.d.ts +22 -0
- package/dist/dao/memory-tree-renderer.js +75 -0
- package/dist/dao/memory-tree-renderer.js.map +1 -0
- package/dist/prompts/index.d.ts +26 -0
- package/dist/prompts/index.js +103 -0
- package/dist/prompts/index.js.map +1 -0
- package/dist/refine/adapter.d.ts +6 -0
- package/dist/refine/adapter.js +28 -0
- package/dist/refine/adapter.js.map +1 -0
- package/dist/refine/constants.d.ts +35 -0
- package/dist/refine/constants.js +107 -0
- package/dist/refine/constants.js.map +1 -0
- package/dist/refine/extractor.d.ts +12 -0
- package/dist/refine/extractor.js +122 -0
- package/dist/refine/extractor.js.map +1 -0
- package/dist/refine/store.d.ts +23 -0
- package/dist/refine/store.js +153 -0
- package/dist/refine/store.js.map +1 -0
- package/dist/refine/types.d.ts +56 -0
- package/dist/refine/types.js +5 -0
- package/dist/refine/types.js.map +1 -0
- package/dist/refined-manager.d.ts +14 -56
- package/dist/refined-manager.js +27 -341
- package/dist/refined-manager.js.map +1 -1
- package/dist/resources/index.d.ts +15 -0
- package/dist/resources/index.js +134 -0
- package/dist/resources/index.js.map +1 -0
- package/dist/server.js +46 -2
- package/dist/server.js.map +1 -1
- package/dist/theme-manager.d.ts +1 -0
- package/dist/theme-manager.js +7 -0
- package/dist/theme-manager.js.map +1 -1
- package/dist/tools/context-tools.d.ts +16 -51
- package/dist/tools/context-tools.js +303 -55
- package/dist/tools/context-tools.js.map +1 -1
- package/dist/tools/index.d.ts +5 -827
- package/dist/tools/index.js +23 -354
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/memory-tools.d.ts +4 -60
- package/dist/tools/memory-tools.js +129 -79
- package/dist/tools/memory-tools.js.map +1 -1
- package/dist/tools/system-tools.d.ts +3 -34
- package/dist/tools/system-tools.js +110 -33
- package/dist/tools/system-tools.js.map +1 -1
- package/dist/tools/theme-tools.d.ts +3 -31
- package/dist/tools/theme-tools.js +101 -22
- package/dist/tools/theme-tools.js.map +1 -1
- package/dist/tools/types.d.ts +21 -0
- package/dist/tools/types.js +13 -0
- package/dist/tools/types.js.map +1 -0
- package/dist/types.d.ts +11 -2
- package/dist/utils/action-entities.d.ts +16 -0
- package/dist/utils/action-entities.js +35 -0
- package/dist/utils/action-entities.js.map +1 -0
- package/dist/utils/date.d.ts +11 -0
- package/dist/utils/date.js +13 -0
- package/dist/utils/date.js.map +1 -0
- package/dist/utils/file-helpers.d.ts +10 -0
- package/dist/utils/file-helpers.js +28 -0
- package/dist/utils/file-helpers.js.map +1 -0
- package/dist/utils/headings.d.ts +5 -0
- package/dist/utils/headings.js +21 -0
- package/dist/utils/headings.js.map +1 -0
- package/dist/utils/search.d.ts +17 -0
- package/dist/utils/search.js +60 -0
- package/dist/utils/search.js.map +1 -0
- package/dist/utils/tools.d.ts +5 -0
- package/dist/utils/tools.js +10 -0
- package/dist/utils/tools.js.map +1 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/vis/api.d.ts +117 -0
- package/dist/vis/api.js +426 -0
- package/dist/vis/api.js.map +1 -0
- package/dist/vis/auto-start.d.ts +12 -0
- package/dist/vis/auto-start.js +87 -0
- package/dist/vis/auto-start.js.map +1 -0
- package/dist/vis/server.d.ts +14 -0
- package/dist/vis/server.js +337 -0
- package/dist/vis/server.js.map +1 -0
- package/dist/vis/static/api.js +57 -0
- package/dist/vis/static/app.js +1468 -0
- package/dist/vis/static/index.html +25 -0
- package/dist/vis/static/state.js +26 -0
- package/dist/vis/static/style.css +1553 -0
- package/dist/vis/static/utils/helpers.js +94 -0
- package/dist/vis/static/utils/markdown.js +81 -0
- package/dist/vis-cli.d.ts +7 -0
- package/dist/vis-cli.js +140 -0
- package/dist/vis-cli.js.map +1 -0
- package/docs/0.agent-memory-market-research.md +354 -0
- package/docs/1.memory-system-proposal-for-kimi-code.md +688 -0
- package/docs/2.memory-architecture-overview.md +417 -0
- package/docs/3.memory-skill-prompt-design.md +430 -0
- package/docs/4.kimi-code-native-evolution-roadmap.md +559 -0
- package/docs/5.decision-guard-design-notes.md +500 -0
- package/docs/ARCHITECTURE.md +2 -2
- package/docs/design-story.md +350 -0
- package/docs/three-layer-memory-model.md +153 -0
- package/docs/three-layer-memory-model.zh-CN.md +153 -0
- package/package.json +12 -6
- package/README.zh-CN.md +0 -292
|
@@ -1,33 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Memory CRUD tools: remember, recall,
|
|
2
|
+
* Memory CRUD tools: remember, recall, search, list, list_tags, delete, move.
|
|
3
3
|
*/
|
|
4
4
|
import fs from 'fs';
|
|
5
5
|
import path from 'path';
|
|
6
|
+
import { adaptHandler } from './types.js';
|
|
6
7
|
import { sanitizeFolder, sanitizeKey, toTitle } from '../utils/validation.js';
|
|
7
|
-
import {
|
|
8
|
-
|
|
9
|
-
return {
|
|
10
|
-
content: [{ type: 'text', text: JSON.stringify(data, null, 2) }],
|
|
11
|
-
isError,
|
|
12
|
-
};
|
|
13
|
-
}
|
|
14
|
-
function safeParseFile(filePath) {
|
|
15
|
-
try {
|
|
16
|
-
const text = fs.readFileSync(filePath, 'utf8');
|
|
17
|
-
return parseFrontmatter(text) || { frontmatter: {}, body: text };
|
|
18
|
-
}
|
|
19
|
-
catch {
|
|
20
|
-
return null;
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
function fileStats(filePath) {
|
|
24
|
-
try {
|
|
25
|
-
return fs.statSync(filePath);
|
|
26
|
-
}
|
|
27
|
-
catch {
|
|
28
|
-
return null;
|
|
29
|
-
}
|
|
30
|
-
}
|
|
8
|
+
import { toolResult } from '../utils/tools.js';
|
|
9
|
+
import { safeParseFile, fileStats } from '../utils/file-helpers.js';
|
|
31
10
|
export function createMemoryTools(ctx) {
|
|
32
11
|
const { storeRoot, indexDao, themeManager, memoryStore } = ctx;
|
|
33
12
|
function resolveFilePath(folder, key) {
|
|
@@ -87,49 +66,6 @@ export function createMemoryTools(ctx) {
|
|
|
87
66
|
updatedAt: readResult.updatedAt || null,
|
|
88
67
|
});
|
|
89
68
|
}
|
|
90
|
-
function handleRecallRecent(args) {
|
|
91
|
-
const n = typeof args.n === 'number' ? Math.max(1, Math.floor(args.n)) : 10;
|
|
92
|
-
const folderFilterRaw = typeof args.folder === 'string' ? args.folder : null;
|
|
93
|
-
const folderFilter = folderFilterRaw ? sanitizeFolder(folderFilterRaw) : null;
|
|
94
|
-
if (folderFilterRaw && !folderFilter) {
|
|
95
|
-
return toolResult({ items: [], error: 'Invalid folder path' }, true);
|
|
96
|
-
}
|
|
97
|
-
const tagFilter = typeof args.tag === 'string' ? args.tag : null;
|
|
98
|
-
const index = indexDao.getIndex();
|
|
99
|
-
const items = [];
|
|
100
|
-
for (const key of Object.keys(index.index)) {
|
|
101
|
-
if (!key.endsWith('.md'))
|
|
102
|
-
continue;
|
|
103
|
-
const value = index.index[key];
|
|
104
|
-
const folder = path.dirname(key);
|
|
105
|
-
const entryKey = path.basename(key, '.md');
|
|
106
|
-
if (folderFilter && folder !== folderFilter)
|
|
107
|
-
continue;
|
|
108
|
-
if (tagFilter && (!Array.isArray(value.tags) || !value.tags.includes(tagFilter)))
|
|
109
|
-
continue;
|
|
110
|
-
const filePath = path.join(storeRoot, key);
|
|
111
|
-
const stats = fileStats(filePath);
|
|
112
|
-
items.push({
|
|
113
|
-
key: entryKey,
|
|
114
|
-
folder,
|
|
115
|
-
title: value.title || toTitle(entryKey),
|
|
116
|
-
tags: Array.isArray(value.tags) ? value.tags : [],
|
|
117
|
-
updatedAt: stats ? stats.mtime.toISOString() : new Date().toISOString(),
|
|
118
|
-
preview: '',
|
|
119
|
-
});
|
|
120
|
-
}
|
|
121
|
-
items.sort((a, b) => new Date(b.updatedAt).getTime() - new Date(a.updatedAt).getTime());
|
|
122
|
-
return toolResult({
|
|
123
|
-
items: items.slice(0, n).map((item) => {
|
|
124
|
-
const filePath = resolveFilePath(item.folder, item.key);
|
|
125
|
-
const parsed = safeParseFile(filePath);
|
|
126
|
-
return {
|
|
127
|
-
...item,
|
|
128
|
-
preview: (parsed?.body || '').slice(0, 400),
|
|
129
|
-
};
|
|
130
|
-
}),
|
|
131
|
-
});
|
|
132
|
-
}
|
|
133
69
|
function handleSearch(args) {
|
|
134
70
|
const query = args.query;
|
|
135
71
|
if (!query || typeof query !== 'string') {
|
|
@@ -195,6 +131,8 @@ export function createMemoryTools(ctx) {
|
|
|
195
131
|
if (folderFilterRaw && !folderFilter) {
|
|
196
132
|
return toolResult({ items: [], error: 'Invalid folder path' }, true);
|
|
197
133
|
}
|
|
134
|
+
const tagFilter = typeof args.tag === 'string' ? args.tag : null;
|
|
135
|
+
const limit = typeof args.limit === 'number' ? Math.max(1, Math.floor(args.limit)) : null;
|
|
198
136
|
const index = indexDao.getIndex();
|
|
199
137
|
const items = [];
|
|
200
138
|
for (const key of Object.keys(index.index)) {
|
|
@@ -204,6 +142,8 @@ export function createMemoryTools(ctx) {
|
|
|
204
142
|
const folder = path.dirname(key);
|
|
205
143
|
if (folderFilter && folder !== folderFilter)
|
|
206
144
|
continue;
|
|
145
|
+
if (tagFilter && (!Array.isArray(value.tags) || !value.tags.includes(tagFilter)))
|
|
146
|
+
continue;
|
|
207
147
|
const filePath = path.join(storeRoot, key);
|
|
208
148
|
const stats = fileStats(filePath);
|
|
209
149
|
items.push({
|
|
@@ -211,11 +151,23 @@ export function createMemoryTools(ctx) {
|
|
|
211
151
|
folder,
|
|
212
152
|
title: value.title || toTitle(path.basename(key, '.md')),
|
|
213
153
|
tags: Array.isArray(value.tags) ? value.tags : [],
|
|
214
|
-
updatedAt: stats ? stats.
|
|
154
|
+
updatedAt: stats ? stats.modifiedAt : new Date().toISOString(),
|
|
215
155
|
size: stats ? stats.size : 0,
|
|
216
156
|
});
|
|
217
157
|
}
|
|
218
158
|
items.sort((a, b) => new Date(b.updatedAt).getTime() - new Date(a.updatedAt).getTime());
|
|
159
|
+
if (limit !== null) {
|
|
160
|
+
return toolResult({
|
|
161
|
+
items: items.slice(0, limit).map((item) => {
|
|
162
|
+
const filePath = resolveFilePath(item.folder, item.key);
|
|
163
|
+
const parsed = safeParseFile(filePath);
|
|
164
|
+
return {
|
|
165
|
+
...item,
|
|
166
|
+
preview: (parsed?.body || '').slice(0, 400),
|
|
167
|
+
};
|
|
168
|
+
}),
|
|
169
|
+
});
|
|
170
|
+
}
|
|
219
171
|
return toolResult({ items });
|
|
220
172
|
}
|
|
221
173
|
async function handleDelete(args) {
|
|
@@ -278,15 +230,113 @@ export function createMemoryTools(ctx) {
|
|
|
278
230
|
await indexDao.moveEntry(oldRelativePath, newRelativePath);
|
|
279
231
|
return toolResult({ success: true, key, newKey, fromFolder: folder, toFolder });
|
|
280
232
|
}
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
233
|
+
const tools = [
|
|
234
|
+
{
|
|
235
|
+
name: 'remember',
|
|
236
|
+
description: 'Write or overwrite a memory entry as a Markdown file with YAML frontmatter.',
|
|
237
|
+
inputSchema: {
|
|
238
|
+
type: 'object',
|
|
239
|
+
properties: {
|
|
240
|
+
key: { type: 'string', description: 'Unique identifier used as filename base' },
|
|
241
|
+
content: {
|
|
242
|
+
type: 'string',
|
|
243
|
+
description: 'Markdown body content. For decisions include rationale, impact, and related files. ' +
|
|
244
|
+
'For rules include scope and consequence. For knowledge include scenario and related files/interfaces. ' +
|
|
245
|
+
'For references include URL and relevance. Example decision: "# Use SQLite\\n\\n## Rationale\\n- Single-file deployment\\n- No extra service\\n\\n## Impact\\nAll cache reads/writes go through src/cache.js.\\n\\n## Related files\\nsrc/cache.js, docs/cache.md"',
|
|
246
|
+
},
|
|
247
|
+
folder: {
|
|
248
|
+
type: 'string',
|
|
249
|
+
description: 'Subfolder under the workspace (default: memory)',
|
|
250
|
+
},
|
|
251
|
+
tags: {
|
|
252
|
+
type: 'array',
|
|
253
|
+
items: { type: 'string' },
|
|
254
|
+
description: 'Tags stored in YAML frontmatter',
|
|
255
|
+
},
|
|
256
|
+
themes: {
|
|
257
|
+
type: 'array',
|
|
258
|
+
items: { type: 'string' },
|
|
259
|
+
description: 'Optional theme names to associate with this memory',
|
|
260
|
+
},
|
|
261
|
+
},
|
|
262
|
+
required: ['key'],
|
|
263
|
+
},
|
|
264
|
+
handler: adaptHandler(handleRemember),
|
|
265
|
+
},
|
|
266
|
+
{
|
|
267
|
+
name: 'recall',
|
|
268
|
+
description: 'Read a memory entry by key and folder.',
|
|
269
|
+
inputSchema: {
|
|
270
|
+
type: 'object',
|
|
271
|
+
properties: {
|
|
272
|
+
key: { type: 'string', description: 'Memory key' },
|
|
273
|
+
folder: { type: 'string', description: 'Subfolder (default: memory)' },
|
|
274
|
+
},
|
|
275
|
+
required: ['key'],
|
|
276
|
+
},
|
|
277
|
+
handler: adaptHandler(handleRecall),
|
|
278
|
+
},
|
|
279
|
+
{
|
|
280
|
+
name: 'search',
|
|
281
|
+
description: 'Case-insensitive keyword search across memory titles and contents.',
|
|
282
|
+
inputSchema: {
|
|
283
|
+
type: 'object',
|
|
284
|
+
properties: {
|
|
285
|
+
query: { type: 'string', description: 'Keyword to search' },
|
|
286
|
+
folder: { type: 'string', description: 'Limit search to a subfolder' },
|
|
287
|
+
},
|
|
288
|
+
required: ['query'],
|
|
289
|
+
},
|
|
290
|
+
handler: adaptHandler(handleSearch),
|
|
291
|
+
},
|
|
292
|
+
{
|
|
293
|
+
name: 'list_tags',
|
|
294
|
+
description: 'List all tags used in the current workspace.',
|
|
295
|
+
inputSchema: { type: 'object', properties: {} },
|
|
296
|
+
handler: adaptHandler(handleListTags),
|
|
297
|
+
},
|
|
298
|
+
{
|
|
299
|
+
name: 'list',
|
|
300
|
+
description: 'List memory entries in the workspace, sorted by most recently updated.',
|
|
301
|
+
inputSchema: {
|
|
302
|
+
type: 'object',
|
|
303
|
+
properties: {
|
|
304
|
+
folder: { type: 'string', description: 'Filter to a specific subfolder' },
|
|
305
|
+
limit: { type: 'number', description: 'Maximum number of entries to return (default: all)' },
|
|
306
|
+
tag: { type: 'string', description: 'Filter to entries containing this tag' },
|
|
307
|
+
},
|
|
308
|
+
},
|
|
309
|
+
handler: adaptHandler(handleList),
|
|
310
|
+
},
|
|
311
|
+
{
|
|
312
|
+
name: 'delete',
|
|
313
|
+
description: 'Delete a memory entry by key and folder.',
|
|
314
|
+
inputSchema: {
|
|
315
|
+
type: 'object',
|
|
316
|
+
properties: {
|
|
317
|
+
key: { type: 'string', description: 'Memory key' },
|
|
318
|
+
folder: { type: 'string', description: 'Subfolder (default: memory)' },
|
|
319
|
+
},
|
|
320
|
+
required: ['key'],
|
|
321
|
+
},
|
|
322
|
+
handler: adaptHandler(handleDelete),
|
|
323
|
+
},
|
|
324
|
+
{
|
|
325
|
+
name: 'move',
|
|
326
|
+
description: 'Move a memory entry to another folder, optionally renaming it.',
|
|
327
|
+
inputSchema: {
|
|
328
|
+
type: 'object',
|
|
329
|
+
properties: {
|
|
330
|
+
key: { type: 'string', description: 'Memory key' },
|
|
331
|
+
folder: { type: 'string', description: 'Source subfolder (default: memory)' },
|
|
332
|
+
toFolder: { type: 'string', description: 'Destination subfolder' },
|
|
333
|
+
newKey: { type: 'string', description: 'Optional new key to rename the memory' },
|
|
334
|
+
},
|
|
335
|
+
required: ['key', 'toFolder'],
|
|
336
|
+
},
|
|
337
|
+
handler: adaptHandler(handleMove),
|
|
338
|
+
},
|
|
339
|
+
];
|
|
340
|
+
return tools;
|
|
291
341
|
}
|
|
292
342
|
//# sourceMappingURL=memory-tools.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-tools.js","sourceRoot":"","sources":["../../src/tools/memory-tools.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AAUxB,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,SAAS,UAAU,CAAC,IAAa,EAAE,OAAO,GAAG,KAAK;IAChD,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;QAChE,OAAO;KACR,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,QAAgB;IACrC,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC/C,OAAO,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACnE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAAC,QAAgB;IACjC,IAAI,CAAC;QACH,OAAO,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,GAAQ;IACxC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,GAAG,CAAC;IAE/D,SAAS,eAAe,CAAC,MAAc,EAAE,GAAW;QAClD,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAChE,CAAC;IAED,KAAK,UAAU,cAAc,CAAC,IAAkB;QAC9C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QACrB,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YACpC,OAAO,UAAU,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,0BAA0B,EAAE,EAAE,IAAI,CAAC,CAAC;QACjF,CAAC;QAED,MAAM,SAAS,GAAG,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC3E,MAAM,MAAM,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,UAAU,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,qBAAqB,EAAE,EAAE,IAAI,CAAC,CAAC;QAC5E,CAAC;QACD,MAAM,OAAO,GAAG,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACrE,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5F,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;YACvC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;YAClD,CAAC,CAAC,EAAE,CAAC;QAEP,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QAC/D,MAAM,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAErC,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;QACtC,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC/C,MAAM,KAAK,GAAG,OAAO,QAAQ,EAAE,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAClF,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,YAAY,CAAC,mBAAmB,CAAC,KAAK,EAAE;gBAC5C,SAAS,EAAE,YAAY;gBACvB,MAAM;gBACN,KAAK;aACN,CAAC,CAAC;QACL,CAAC;QAED,OAAO,UAAU,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,KAAK,UAAU,YAAY,CAAC,IAAgB;QAC1C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QACrB,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YACpC,OAAO,UAAU,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,0BAA0B,EAAE,EAAE,IAAI,CAAC,CAAC;QAC/E,CAAC;QAED,MAAM,SAAS,GAAG,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC3E,MAAM,MAAM,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,UAAU,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,qBAAqB,EAAE,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;QAC/E,CAAC;QAED,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACjD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,UAAU,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;QACnD,CAAC;QAED,MAAM,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAEhD,OAAO,UAAU,CAAC;YAChB,KAAK,EAAE,IAAI;YACX,GAAG;YACH,MAAM;YACN,OAAO,EAAE,UAAU,CAAC,OAAO;YAC3B,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;YAC3D,SAAS,EAAE,UAAU,CAAC,SAAS,IAAI,IAAI;YACvC,SAAS,EAAE,UAAU,CAAC,SAAS,IAAI,IAAI;SACxC,CAAC,CAAC;IACL,CAAC;IAED,SAAS,kBAAkB,CAAC,IAAsB;QAChD,MAAM,CAAC,GAAG,OAAO,IAAI,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5E,MAAM,eAAe,GAAG,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QAC7E,MAAM,YAAY,GAAG,eAAe,CAAC,CAAC,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC9E,IAAI,eAAe,IAAI,CAAC,YAAY,EAAE,CAAC;YACrC,OAAO,UAAU,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,qBAAqB,EAAE,EAAE,IAAI,CAAC,CAAC;QACvE,CAAC;QACD,MAAM,SAAS,GAAG,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;QAEjE,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC;QAClC,MAAM,KAAK,GAAG,EAAE,CAAC;QACjB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3C,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAAE,SAAS;YACnC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAE3C,IAAI,YAAY,IAAI,MAAM,KAAK,YAAY;gBAAE,SAAS;YACtD,IAAI,SAAS,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;gBAAE,SAAS;YAE3F,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;YAC3C,MAAM,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;YAClC,KAAK,CAAC,IAAI,CAAC;gBACT,GAAG,EAAE,QAAQ;gBACb,MAAM;gBACN,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,OAAO,CAAC,QAAQ,CAAC;gBACvC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;gBACjD,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACvE,OAAO,EAAE,EAAE;aACZ,CAAC,CAAC;QACL,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QAExF,OAAO,UAAU,CAAC;YAChB,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBACpC,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;gBACxD,MAAM,MAAM,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;gBACvC,OAAO;oBACL,GAAG,IAAI;oBACP,OAAO,EAAE,CAAC,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;iBAC5C,CAAC;YACJ,CAAC,CAAC;SACH,CAAC,CAAC;IACL,CAAC;IAED,SAAS,YAAY,CAAC,IAAgB;QACpC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACxC,OAAO,UAAU,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,4BAA4B,EAAE,EAAE,IAAI,CAAC,CAAC;QAC9E,CAAC;QACD,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QACnC,MAAM,eAAe,GAAG,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QAC7E,MAAM,YAAY,GAAG,eAAe,CAAC,CAAC,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC9E,IAAI,eAAe,IAAI,CAAC,YAAY,EAAE,CAAC;YACrC,OAAO,UAAU,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,qBAAqB,EAAE,EAAE,IAAI,CAAC,CAAC;QACvE,CAAC;QAED,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC;QAClC,MAAM,KAAK,GAAG,EAAE,CAAC;QACjB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3C,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAAE,SAAS;YACnC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAE3C,IAAI,YAAY,IAAI,MAAM,KAAK,YAAY;gBAAE,SAAS;YAEtD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC/C,MAAM,QAAQ,GAAG,GAAG,KAAK,KAAK,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC;YAEvD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;gBAC3C,MAAM,MAAM,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;gBACvC,MAAM,IAAI,GAAG,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC;gBAChC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;oBAAE,SAAS;gBAEnD,MAAM,OAAO,GAAG,EAAE,CAAC;gBACnB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAClC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;wBACxC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;wBACxC,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC;4BAAE,MAAM;oBACjC,CAAC;gBACH,CAAC;gBACD,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;gBACtD,SAAS;YACX,CAAC;YAED,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,UAAU,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QAC7E,CAAC;QAED,OAAO,UAAU,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAC/B,CAAC;IAED,SAAS,cAAc;QACrB,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;QACzB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3C,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAAE,SAAS;YACnC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC/B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC9B,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,IAAI;oBAAE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;QACD,OAAO,UAAU,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,SAAS,UAAU,CAAC,IAAsB;QACxC,MAAM,eAAe,GAAG,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QAC7E,MAAM,YAAY,GAAG,eAAe,CAAC,CAAC,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC9E,IAAI,eAAe,IAAI,CAAC,YAAY,EAAE,CAAC;YACrC,OAAO,UAAU,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,qBAAqB,EAAE,EAAE,IAAI,CAAC,CAAC;QACvE,CAAC;QACD,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC;QAElC,MAAM,KAAK,GAAG,EAAE,CAAC;QACjB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3C,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAAE,SAAS;YACnC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACjC,IAAI,YAAY,IAAI,MAAM,KAAK,YAAY;gBAAE,SAAS;YAEtD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;YAC3C,MAAM,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;YAClC,KAAK,CAAC,IAAI,CAAC;gBACT,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC;gBAC9B,MAAM;gBACN,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBACxD,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;gBACjD,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACvE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aAC7B,CAAC,CAAC;QACL,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QACxF,OAAO,UAAU,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAC/B,CAAC;IAED,KAAK,UAAU,YAAY,CAAC,IAAgB;QAC1C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QACrB,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YACpC,OAAO,UAAU,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,0BAA0B,EAAE,EAAE,IAAI,CAAC,CAAC;QACjF,CAAC;QAED,MAAM,SAAS,GAAG,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC3E,MAAM,MAAM,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,UAAU,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,qBAAqB,EAAE,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;QACjF,CAAC;QAED,MAAM,QAAQ,GAAG,WAAW,CAAC,eAAe,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC1D,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC5E,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAChD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,UAAU,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,kBAAkB,EAAE,EAAE,IAAI,CAAC,CAAC;QACtF,CAAC;QAED,MAAM,QAAQ,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;QAE/C,OAAO,UAAU,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,UAAU,UAAU,CAAC,IAAc;QACtC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QACrB,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YACpC,OAAO,UAAU,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,0BAA0B,EAAE,EAAE,IAAI,CAAC,CAAC;QACjF,CAAC;QAED,MAAM,SAAS,GAAG,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC3E,MAAM,MAAM,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,UAAU,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,qBAAqB,EAAE,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;QACjF,CAAC;QAED,MAAM,WAAW,GAAG,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;QAC7E,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO,UAAU,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QAC3E,CAAC;QACD,MAAM,QAAQ,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC;QAC7C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,UAAU,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,uBAAuB,EAAE,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;QACnF,CAAC;QAED,MAAM,SAAS,GAAG,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC;QACtE,MAAM,MAAM,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;QAEtC,MAAM,OAAO,GAAG,WAAW,CAAC,eAAe,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACzD,MAAM,QAAQ,GAAG,WAAW,CAAC,eAAe,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAE/D,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,OAAO,UAAU,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,kBAAkB,EAAE,EAAE,IAAI,CAAC,CAAC;QACtF,CAAC;QAED,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,OAAO,UAAU,CACf;gBACE,OAAO,EAAE,KAAK;gBACd,GAAG;gBACH,MAAM;gBACN,QAAQ;gBACR,MAAM;gBACN,KAAK,EAAE,4BAA4B;aACpC,EACD,IAAI,CACL,CAAC;QACJ,CAAC;QAED,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC9E,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAE/E,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;QAEnD,MAAM,QAAQ,CAAC,SAAS,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;QAE3D,OAAO,UAAU,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IAClF,CAAC;IAED,OAAO;QACL,cAAc;QACd,YAAY;QACZ,kBAAkB;QAClB,YAAY;QACZ,cAAc;QACd,UAAU;QACV,YAAY;QACZ,UAAU;KACX,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"memory-tools.js","sourceRoot":"","sources":["../../src/tools/memory-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,37 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* System tools: get_current_workspace, organize_memories, sync_workspace_index, bootstrap_workspace.
|
|
3
3
|
*/
|
|
4
|
-
import type { Ctx
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
content: {
|
|
8
|
-
type: string;
|
|
9
|
-
text: string;
|
|
10
|
-
}[];
|
|
11
|
-
isError: boolean;
|
|
12
|
-
};
|
|
13
|
-
handleOrganize: (args: OrganizeArgs) => Promise<{
|
|
14
|
-
content: {
|
|
15
|
-
type: string;
|
|
16
|
-
text: string;
|
|
17
|
-
}[];
|
|
18
|
-
isError: boolean;
|
|
19
|
-
}>;
|
|
20
|
-
handleSyncWorkspaceIndex: (args: SyncWorkspaceIndexArgs) => Promise<{
|
|
21
|
-
content: {
|
|
22
|
-
type: string;
|
|
23
|
-
text: string;
|
|
24
|
-
}[];
|
|
25
|
-
isError: boolean;
|
|
26
|
-
}>;
|
|
27
|
-
handleBootstrapWorkspace: (args: {
|
|
28
|
-
detailed_rounds?: number;
|
|
29
|
-
summary_rounds?: number;
|
|
30
|
-
}) => Promise<{
|
|
31
|
-
content: {
|
|
32
|
-
type: string;
|
|
33
|
-
text: string;
|
|
34
|
-
}[];
|
|
35
|
-
isError: boolean;
|
|
36
|
-
}>;
|
|
37
|
-
};
|
|
4
|
+
import type { Ctx } from '../types.js';
|
|
5
|
+
import type { ToolDefinition } from './types.js';
|
|
6
|
+
export declare function createSystemTools(ctx: Ctx): ToolDefinition[];
|
|
@@ -3,34 +3,16 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import fs from 'fs';
|
|
5
5
|
import path from 'path';
|
|
6
|
+
import { adaptHandler } from './types.js';
|
|
6
7
|
import { ESSENCE_SIZE_LIMIT } from '../config.js';
|
|
7
8
|
import { loadMcpConfig } from '../context/wire-context.js';
|
|
8
|
-
import {
|
|
9
|
+
import { buildWorkspaceContext } from './context-tools.js';
|
|
10
|
+
import { stringifyFrontmatter } from '../utils/frontmatter.js';
|
|
9
11
|
import { atomicWriteFile } from '../utils/paths.js';
|
|
10
12
|
import { toTitle } from '../utils/validation.js';
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
isError,
|
|
15
|
-
};
|
|
16
|
-
}
|
|
17
|
-
function safeParseFile(filePath) {
|
|
18
|
-
try {
|
|
19
|
-
const text = fs.readFileSync(filePath, 'utf8');
|
|
20
|
-
return parseFrontmatter(text) || { frontmatter: {}, body: text };
|
|
21
|
-
}
|
|
22
|
-
catch {
|
|
23
|
-
return null;
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
function fileStats(filePath) {
|
|
27
|
-
try {
|
|
28
|
-
return fs.statSync(filePath);
|
|
29
|
-
}
|
|
30
|
-
catch {
|
|
31
|
-
return null;
|
|
32
|
-
}
|
|
33
|
-
}
|
|
13
|
+
import { toolResult } from '../utils/tools.js';
|
|
14
|
+
import { safeParseFile, fileStats } from '../utils/file-helpers.js';
|
|
15
|
+
import { maybeStartVisServer, getVisUrl } from '../vis/auto-start.js';
|
|
34
16
|
const ESSENCE = {
|
|
35
17
|
folder: 'essence',
|
|
36
18
|
key: 'essence',
|
|
@@ -45,6 +27,8 @@ const ESSENCE = {
|
|
|
45
27
|
'不强制模板:Agent 自行决定最终结构和章节。',
|
|
46
28
|
'大小提示:工具校验并提示是否超过 15KB,但不阻止保存。',
|
|
47
29
|
'工具不碰 memory/ 源文件:Agent 整理后如需清理或重写源记忆,自行调用 delete / remember。',
|
|
30
|
+
'剔除过时内容:整理时识别并移除已被后续决策覆盖、已失效或仅具临时价值的记忆。',
|
|
31
|
+
'生成精要后,你可以重新组织 memory/ 区的文件内容和目录结构(重命名、移动、合并、拆分),并自行调用 remember / move / delete 等工具执行。',
|
|
48
32
|
].join('\n'),
|
|
49
33
|
};
|
|
50
34
|
export function createSystemTools(ctx) {
|
|
@@ -165,13 +149,29 @@ export function createSystemTools(ctx) {
|
|
|
165
149
|
}
|
|
166
150
|
async function handleBootstrapWorkspace(args) {
|
|
167
151
|
await indexDao.reconcileIndex();
|
|
168
|
-
const
|
|
169
|
-
const contextData = await buildWorkspaceContext(args);
|
|
152
|
+
const contextData = await buildWorkspaceContext(ctx, args);
|
|
170
153
|
const existingEssence = loadEssenceFile();
|
|
171
154
|
const config = loadMcpConfig();
|
|
155
|
+
// Defensive: if the host already loaded this session's turns (e.g. `kimi web`
|
|
156
|
+
// or `kimi -c`), skip returning them again to avoid context duplication.
|
|
157
|
+
let recentContext = contextData.recentContext;
|
|
158
|
+
if (recentContext &&
|
|
159
|
+
args.force !== true &&
|
|
160
|
+
(recentContext.totalTurns > 0 ||
|
|
161
|
+
recentContext.detailedRounds.length > 0 ||
|
|
162
|
+
recentContext.summaryRounds.length > 0)) {
|
|
163
|
+
recentContext = {
|
|
164
|
+
...recentContext,
|
|
165
|
+
detailedRounds: [],
|
|
166
|
+
summaryRounds: [],
|
|
167
|
+
compactionSummaries: [],
|
|
168
|
+
skipped: true,
|
|
169
|
+
reason: 'Session already has turns; skipping detailed/summary rounds to avoid duplicating host-loaded context.',
|
|
170
|
+
};
|
|
171
|
+
}
|
|
172
172
|
return toolResult({
|
|
173
173
|
workspace: contextData.workspace,
|
|
174
|
-
recentContext
|
|
174
|
+
recentContext,
|
|
175
175
|
essence: existingEssence
|
|
176
176
|
? {
|
|
177
177
|
found: true,
|
|
@@ -185,11 +185,88 @@ export function createSystemTools(ctx) {
|
|
|
185
185
|
notesRefs: indexDao.listRefs('notes'),
|
|
186
186
|
});
|
|
187
187
|
}
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
188
|
+
async function handleOpenDashboard() {
|
|
189
|
+
let url = getVisUrl();
|
|
190
|
+
if (!url) {
|
|
191
|
+
const result = await maybeStartVisServer(ctx);
|
|
192
|
+
if (!result.started || !result.url) {
|
|
193
|
+
return toolResult({ success: false, error: result.error || 'Failed to start dashboard' }, true);
|
|
194
|
+
}
|
|
195
|
+
url = result.url;
|
|
196
|
+
}
|
|
197
|
+
const { default: openBrowser } = await import('open');
|
|
198
|
+
await openBrowser(url);
|
|
199
|
+
return toolResult({ success: true, url });
|
|
200
|
+
}
|
|
201
|
+
const tools = [
|
|
202
|
+
{
|
|
203
|
+
name: 'get_current_workspace',
|
|
204
|
+
description: 'Return the current cwd, workspace id and store path.',
|
|
205
|
+
inputSchema: { type: 'object', properties: {} },
|
|
206
|
+
handler: adaptHandler(handleGetCurrentWorkspace),
|
|
207
|
+
},
|
|
208
|
+
{
|
|
209
|
+
name: 'open_memory_dashboard',
|
|
210
|
+
description: 'Opens the memory dashboard in the default browser. Starts the dashboard server if it is not already running.',
|
|
211
|
+
inputSchema: { type: 'object', properties: {} },
|
|
212
|
+
handler: adaptHandler(handleOpenDashboard),
|
|
213
|
+
},
|
|
214
|
+
{
|
|
215
|
+
name: 'organize_memories',
|
|
216
|
+
description: 'Two-stage workspace memory organizer. Empty call returns existing essence + pending memory files + rules. Call with content to store the organized essence.md.',
|
|
217
|
+
inputSchema: {
|
|
218
|
+
type: 'object',
|
|
219
|
+
properties: {
|
|
220
|
+
content: {
|
|
221
|
+
type: 'string',
|
|
222
|
+
description: 'Organized essence Markdown body. Key facts should cite sources inline using `> 来源:memory/<folder>/key`.',
|
|
223
|
+
},
|
|
224
|
+
sources: {
|
|
225
|
+
type: 'array',
|
|
226
|
+
items: { type: 'string' },
|
|
227
|
+
description: 'Optional list of memory/ keys incorporated into the essence, returned in the tool result for tracking.',
|
|
228
|
+
},
|
|
229
|
+
},
|
|
230
|
+
},
|
|
231
|
+
handler: adaptHandler(handleOrganize),
|
|
232
|
+
},
|
|
233
|
+
{
|
|
234
|
+
name: 'sync_workspace_index',
|
|
235
|
+
description: 'Reconciles index.json with the filesystem. Empty call scans and reports mismatches. Call with folderComments to set folder descriptions.',
|
|
236
|
+
inputSchema: {
|
|
237
|
+
type: 'object',
|
|
238
|
+
properties: {
|
|
239
|
+
folderComments: {
|
|
240
|
+
type: 'object',
|
|
241
|
+
description: 'Optional map of folder paths to comments.',
|
|
242
|
+
},
|
|
243
|
+
},
|
|
244
|
+
},
|
|
245
|
+
handler: adaptHandler(handleSyncWorkspaceIndex),
|
|
246
|
+
},
|
|
247
|
+
{
|
|
248
|
+
name: 'bootstrap_workspace',
|
|
249
|
+
description: 'Session bootstrap: loads workspace context, essence, notes refs, and a memory index tree with recent changes marked [new].',
|
|
250
|
+
inputSchema: {
|
|
251
|
+
type: 'object',
|
|
252
|
+
properties: {
|
|
253
|
+
detailed_rounds: {
|
|
254
|
+
type: 'number',
|
|
255
|
+
description: 'Number of most recent rounds to return in full detail.',
|
|
256
|
+
},
|
|
257
|
+
summary_rounds: {
|
|
258
|
+
type: 'number',
|
|
259
|
+
description: 'Number of preceding rounds to return as summaries.',
|
|
260
|
+
},
|
|
261
|
+
force: {
|
|
262
|
+
type: 'boolean',
|
|
263
|
+
description: 'If true, return recent context even when the current session already has turns.',
|
|
264
|
+
},
|
|
265
|
+
},
|
|
266
|
+
},
|
|
267
|
+
handler: adaptHandler(handleBootstrapWorkspace),
|
|
268
|
+
},
|
|
269
|
+
];
|
|
270
|
+
return tools;
|
|
194
271
|
}
|
|
195
272
|
//# sourceMappingURL=system-tools.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system-tools.js","sourceRoot":"","sources":["../../src/tools/system-tools.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"system-tools.js","sourceRoot":"","sources":["../../src/tools/system-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,34 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Theme tracing tools: tag_theme, trace_theme, list_themes, refine_session_turns.
|
|
3
3
|
*/
|
|
4
|
-
import type { Ctx
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
content: {
|
|
8
|
-
type: string;
|
|
9
|
-
text: string;
|
|
10
|
-
}[];
|
|
11
|
-
isError: boolean;
|
|
12
|
-
}>;
|
|
13
|
-
handleTraceTheme: (args: TraceThemeArgs) => Promise<{
|
|
14
|
-
content: {
|
|
15
|
-
type: string;
|
|
16
|
-
text: string;
|
|
17
|
-
}[];
|
|
18
|
-
isError: boolean;
|
|
19
|
-
}>;
|
|
20
|
-
handleListThemes: () => {
|
|
21
|
-
content: {
|
|
22
|
-
type: string;
|
|
23
|
-
text: string;
|
|
24
|
-
}[];
|
|
25
|
-
isError: boolean;
|
|
26
|
-
};
|
|
27
|
-
handleRefineSessionTurns: (args: RefineSessionTurnsArgs) => Promise<{
|
|
28
|
-
content: {
|
|
29
|
-
type: string;
|
|
30
|
-
text: string;
|
|
31
|
-
}[];
|
|
32
|
-
isError: boolean;
|
|
33
|
-
}>;
|
|
34
|
-
};
|
|
4
|
+
import type { Ctx } from '../types.js';
|
|
5
|
+
import type { ToolDefinition } from './types.js';
|
|
6
|
+
export declare function createThemeTools(ctx: Ctx): ToolDefinition[];
|