aws-runtime-bridge 1.7.30 → 1.7.32

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.
@@ -151,43 +151,149 @@ function normalizeUploadedRelativePath(rawPath, fallbackName) {
151
151
  }
152
152
  return path.join(...segments);
153
153
  }
154
- function escapeHtml(rawText) {
155
- return rawText
156
- .replace(/&/g, '&')
157
- .replace(/</g, '&lt;')
158
- .replace(/>/g, '&gt;')
159
- .replace(/"/g, '&quot;')
160
- .replace(/'/g, '&#39;');
161
- }
162
- function decodeXmlText(rawText) {
163
- return rawText
164
- .replace(/&lt;/g, '<')
165
- .replace(/&gt;/g, '>')
166
- .replace(/&quot;/g, '"')
167
- .replace(/&apos;/g, "'")
168
- .replace(/&amp;/g, '&');
169
- }
170
- function docxTextToHtml(documentXml) {
171
- const paragraphMatches = documentXml.match(/<w:p[\s\S]*?<\/w:p>/g) || [];
172
- const paragraphs = paragraphMatches
173
- .map((paragraphXml) => {
174
- const textSegments = [...paragraphXml.matchAll(/<w:t(?:\s[^>]*)?>([\s\S]*?)<\/w:t>/g)]
175
- .map((match) => decodeXmlText(match[1] || ''));
176
- return textSegments.join('');
177
- })
178
- .map((paragraphText) => paragraphText.trim())
179
- .filter(Boolean);
180
- if (paragraphs.length === 0) {
181
- return '<p class="workspace-document-preview__paragraph workspace-document-preview__paragraph--empty">该文档没有可预览的正文内容。</p>';
182
- }
183
- return paragraphs
184
- .map((paragraphText) => `<p class="workspace-document-preview__paragraph">${escapeHtml(paragraphText)}</p>`)
185
- .join('\n');
154
+ function formatModeOctal(mode) {
155
+ return (mode & 0o7777).toString(8).padStart(4, '0');
156
+ }
157
+ function parsePermissionMode(rawMode) {
158
+ const modeText = String(rawMode || '').trim();
159
+ if (!/^[0-7]{3,4}$/.test(modeText)) {
160
+ throw new Error('mode must be a 3 or 4 digit octal string');
161
+ }
162
+ return Number.parseInt(modeText, 8);
163
+ }
164
+ function permissionTriplet(mode, readBit, writeBit, executeBit, specialBit, specialExecute, specialNoExecute) {
165
+ const read = (mode & readBit) !== 0 ? 'r' : '-';
166
+ const write = (mode & writeBit) !== 0 ? 'w' : '-';
167
+ const hasExecute = (mode & executeBit) !== 0;
168
+ const hasSpecial = (mode & specialBit) !== 0;
169
+ const execute = hasSpecial ? (hasExecute ? specialExecute : specialNoExecute) : (hasExecute ? 'x' : '-');
170
+ return `${read}${write}${execute}`;
171
+ }
172
+ function formatPermissions(mode) {
173
+ return [
174
+ permissionTriplet(mode, 0o400, 0o200, 0o100, 0o4000, 's', 'S'),
175
+ permissionTriplet(mode, 0o040, 0o020, 0o010, 0o2000, 's', 'S'),
176
+ permissionTriplet(mode, 0o004, 0o002, 0o001, 0o1000, 't', 'T'),
177
+ ].join('');
178
+ }
179
+ function readPngDimensions(buffer) {
180
+ if (buffer.length < 24 || buffer.toString('hex', 0, 8) !== '89504e470d0a1a0a') {
181
+ return undefined;
182
+ }
183
+ return {
184
+ format: 'png',
185
+ width: buffer.readUInt32BE(16),
186
+ height: buffer.readUInt32BE(20),
187
+ };
188
+ }
189
+ function readGifDimensions(buffer) {
190
+ if (buffer.length < 10 || (buffer.toString('ascii', 0, 6) !== 'GIF87a' && buffer.toString('ascii', 0, 6) !== 'GIF89a')) {
191
+ return undefined;
192
+ }
193
+ return {
194
+ format: 'gif',
195
+ width: buffer.readUInt16LE(6),
196
+ height: buffer.readUInt16LE(8),
197
+ };
198
+ }
199
+ function readJpegDimensions(buffer) {
200
+ if (buffer.length < 4 || buffer[0] !== 0xff || buffer[1] !== 0xd8) {
201
+ return undefined;
202
+ }
203
+ let offset = 2;
204
+ while (offset + 9 < buffer.length) {
205
+ if (buffer[offset] !== 0xff) {
206
+ offset += 1;
207
+ continue;
208
+ }
209
+ const marker = buffer[offset + 1];
210
+ const segmentLength = buffer.readUInt16BE(offset + 2);
211
+ if (segmentLength < 2) {
212
+ return undefined;
213
+ }
214
+ const isStartOfFrame = marker >= 0xc0 && marker <= 0xcf && ![0xc4, 0xc8, 0xcc].includes(marker);
215
+ if (isStartOfFrame && offset + 8 < buffer.length) {
216
+ return {
217
+ format: 'jpeg',
218
+ height: buffer.readUInt16BE(offset + 5),
219
+ width: buffer.readUInt16BE(offset + 7),
220
+ };
221
+ }
222
+ offset += 2 + segmentLength;
223
+ }
224
+ return undefined;
225
+ }
226
+ function readWebpDimensions(buffer) {
227
+ if (buffer.length < 30 || buffer.toString('ascii', 0, 4) !== 'RIFF' || buffer.toString('ascii', 8, 12) !== 'WEBP') {
228
+ return undefined;
229
+ }
230
+ const chunkType = buffer.toString('ascii', 12, 16);
231
+ if (chunkType === 'VP8X' && buffer.length >= 30) {
232
+ return {
233
+ format: 'webp',
234
+ width: 1 + buffer.readUIntLE(24, 3),
235
+ height: 1 + buffer.readUIntLE(27, 3),
236
+ };
237
+ }
238
+ if (chunkType === 'VP8 ' && buffer.length >= 30) {
239
+ return {
240
+ format: 'webp',
241
+ width: buffer.readUInt16LE(26) & 0x3fff,
242
+ height: buffer.readUInt16LE(28) & 0x3fff,
243
+ };
244
+ }
245
+ if (chunkType === 'VP8L' && buffer.length >= 25) {
246
+ const bits = buffer.readUInt32LE(21);
247
+ return {
248
+ format: 'webp',
249
+ width: (bits & 0x3fff) + 1,
250
+ height: ((bits >> 14) & 0x3fff) + 1,
251
+ };
252
+ }
253
+ return undefined;
254
+ }
255
+ async function collectChmodTargets(workspaceRoot, targetPath, recursive) {
256
+ const linkStat = await fs.lstat(targetPath);
257
+ if (linkStat.isSymbolicLink()) {
258
+ throw new Error(`Refusing to change permissions on symbolic link: ${targetPath}`);
259
+ }
260
+ const stat = await fs.stat(targetPath);
261
+ if (!recursive || !stat.isDirectory()) {
262
+ return [targetPath];
263
+ }
264
+ const children = await fs.readdir(targetPath);
265
+ const nestedTargets = await Promise.all(children.map((childName) => {
266
+ const childPath = ensureInsideWorkspace(workspaceRoot, path.join(targetPath, childName));
267
+ return collectChmodTargets(workspaceRoot, childPath, true);
268
+ }));
269
+ return [targetPath, ...nestedTargets.flat()];
270
+ }
271
+ async function ensureSafeChmodTarget(workspaceRoot, targetPath) {
272
+ const linkStat = await fs.lstat(targetPath);
273
+ if (linkStat.isSymbolicLink()) {
274
+ throw new Error(`Refusing to change permissions on symbolic link: ${targetPath}`);
275
+ }
276
+ await ensureRealPathInsideWorkspace(workspaceRoot, targetPath);
277
+ }
278
+ async function readImageProperties(filePath) {
279
+ const header = await fs.open(filePath, 'r');
280
+ try {
281
+ const buffer = Buffer.alloc(512);
282
+ const { bytesRead } = await header.read(buffer, 0, buffer.length, 0);
283
+ const imageHeader = buffer.subarray(0, bytesRead);
284
+ return readPngDimensions(imageHeader)
285
+ || readGifDimensions(imageHeader)
286
+ || readJpegDimensions(imageHeader)
287
+ || readWebpDimensions(imageHeader);
288
+ }
289
+ finally {
290
+ await header.close();
291
+ }
186
292
  }
187
293
  /**
188
294
  * 解析并校验工作区内条目的目标路径。
189
295
  */
190
- async function resolveEntryTarget({ workspacePath, targetPath }) {
296
+ async function resolveEntryTarget({ workspacePath, targetPath }, options = {}) {
191
297
  const { requestedRoot, workspaceRoot } = await resolveWorkspaceRoots(workspacePath);
192
298
  const normalizedTargetPath = String(targetPath || '').trim();
193
299
  if (!normalizedTargetPath) {
@@ -195,7 +301,7 @@ async function resolveEntryTarget({ workspacePath, targetPath }) {
195
301
  }
196
302
  const lexicalTargetPath = resolveRequestedPathInsideWorkspace(requestedRoot, workspaceRoot, normalizedTargetPath);
197
303
  const resolvedTargetPath = await ensureRealPathInsideWorkspace(workspaceRoot, lexicalTargetPath);
198
- if (resolvedTargetPath === workspaceRoot) {
304
+ if (!options.allowWorkspaceRoot && resolvedTargetPath === workspaceRoot) {
199
305
  throw new Error('Workspace root cannot be modified');
200
306
  }
201
307
  return { workspaceRoot, resolvedTargetPath };
@@ -369,6 +475,60 @@ export async function readWorkspaceFile(params) {
369
475
  content
370
476
  };
371
477
  }
478
+ /**
479
+ * 读取工作区条目的属性信息。
480
+ * 主流程:解析安全路径 -> 读取 stat/lstat -> 文件额外尝试解析图片尺寸。
481
+ */
482
+ export async function getWorkspaceEntryProperties(params) {
483
+ const { workspaceRoot, resolvedTargetPath } = await resolveEntryTarget(params, { allowWorkspaceRoot: true });
484
+ const [stat, linkStat] = await Promise.all([
485
+ fs.stat(resolvedTargetPath),
486
+ fs.lstat(resolvedTargetPath),
487
+ ]);
488
+ const image = stat.isFile() ? await readImageProperties(resolvedTargetPath) : undefined;
489
+ return {
490
+ workspacePath: toDisplayPath(workspaceRoot),
491
+ targetPath: toDisplayPath(resolvedTargetPath),
492
+ name: path.basename(resolvedTargetPath),
493
+ isDirectory: stat.isDirectory(),
494
+ isFile: stat.isFile(),
495
+ isSymbolicLink: linkStat.isSymbolicLink(),
496
+ size: stat.size,
497
+ mode: stat.mode,
498
+ modeOctal: formatModeOctal(stat.mode),
499
+ permissions: formatPermissions(stat.mode),
500
+ uid: stat.uid,
501
+ gid: stat.gid,
502
+ atimeMs: stat.atimeMs,
503
+ mtimeMs: stat.mtimeMs,
504
+ ctimeMs: stat.ctimeMs,
505
+ birthtimeMs: stat.birthtimeMs,
506
+ ...(image ? { image } : {}),
507
+ };
508
+ }
509
+ /**
510
+ * 修改工作区条目权限。
511
+ * 主流程:校验八进制权限 -> 解析安全路径 -> 非递归只改目标,递归目录先收集所有非符号链接子项后逐一 chmod。
512
+ */
513
+ export async function chmodWorkspaceEntry(params) {
514
+ const mode = parsePermissionMode(params.mode);
515
+ const recursive = Boolean(params.recursive);
516
+ const { workspaceRoot, resolvedTargetPath } = await resolveEntryTarget(params);
517
+ const targets = await collectChmodTargets(workspaceRoot, resolvedTargetPath, recursive);
518
+ for (const targetPath of targets) {
519
+ await ensureSafeChmodTarget(workspaceRoot, targetPath);
520
+ await fs.chmod(targetPath, mode);
521
+ }
522
+ return {
523
+ ok: true,
524
+ workspacePath: toDisplayPath(workspaceRoot),
525
+ targetPath: toDisplayPath(resolvedTargetPath),
526
+ mode,
527
+ modeOctal: formatModeOctal(mode),
528
+ recursive,
529
+ changedCount: targets.length,
530
+ };
531
+ }
372
532
  /**
373
533
  * 返回工作区内 Word 文档的预览元数据;docx 由前端下载原文件后渲染,旧版 doc 明确提示不支持。
374
534
  */
@@ -3,7 +3,7 @@ import os from 'node:os';
3
3
  import path from 'node:path';
4
4
  import * as tar from 'tar';
5
5
  import { afterAll, beforeAll, describe, expect, it } from 'vitest';
6
- import { createWorkspaceEntry, deleteWorkspaceEntry, extractWorkspaceArchive, listWorkspaceDirectory, moveWorkspaceEntry, previewWorkspaceDocument, readWorkspaceFile, renameWorkspaceEntry, resolveWorkspaceDownloadTarget, streamWorkspaceDirectoryZip, uploadWorkspaceFiles, writeWorkspaceFile, } from './workspace-files.js';
6
+ import { chmodWorkspaceEntry, createWorkspaceEntry, deleteWorkspaceEntry, extractWorkspaceArchive, getWorkspaceEntryProperties, listWorkspaceDirectory, moveWorkspaceEntry, previewWorkspaceDocument, readWorkspaceFile, renameWorkspaceEntry, resolveWorkspaceDownloadTarget, streamWorkspaceDirectoryZip, uploadWorkspaceFiles, writeWorkspaceFile, } from './workspace-files.js';
7
7
  const { ZipArchive } = await import('archiver');
8
8
  function crc32(input) {
9
9
  let crc = 0xffffffff;
@@ -122,7 +122,7 @@ describe('workspace file service', () => {
122
122
  }
123
123
  }));
124
124
  await fs.rm(tempRoot, { recursive: true, force: true, maxRetries: 3, retryDelay: 50 });
125
- }, 30_000);
125
+ }, 60_000);
126
126
  it('lists workspace root when request path is empty', async () => {
127
127
  const result = await listWorkspaceDirectory({
128
128
  workspacePath,
@@ -205,6 +205,77 @@ describe('workspace file service', () => {
205
205
  });
206
206
  await expect(fs.access(renamedDir)).rejects.toThrow();
207
207
  });
208
+ it('returns workspace entry properties with image dimensions', async () => {
209
+ const pngPath = path.join(workspacePath, 'tiny.png');
210
+ const pngBytes = Buffer.from('89504e470d0a1a0a0000000d4948445200000002000000030802000000947ddc6d0000000049454e44ae426082', 'hex');
211
+ await fs.writeFile(pngPath, pngBytes);
212
+ const result = await getWorkspaceEntryProperties({
213
+ workspacePath,
214
+ targetPath: pngPath
215
+ });
216
+ expect(result.workspacePath).toBe(realWorkspacePath);
217
+ expect(result.targetPath).toBe((await fs.realpath(pngPath)).replace(/\\/g, '/'));
218
+ expect(result.name).toBe('tiny.png');
219
+ expect(result.isDirectory).toBe(false);
220
+ expect(result.size).toBe(pngBytes.length);
221
+ expect(result.modeOctal).toMatch(/^[0-7]{4}$/);
222
+ expect(result.permissions).toMatch(/^[r-][w-][xsS-][r-][w-][xsS-][r-][w-][xtT-]$/);
223
+ expect(result.image).toEqual({ format: 'png', width: 2, height: 3 });
224
+ });
225
+ it('returns read-only properties for workspace root', async () => {
226
+ const result = await getWorkspaceEntryProperties({
227
+ workspacePath,
228
+ targetPath: workspacePath
229
+ });
230
+ expect(result.workspacePath).toBe(realWorkspacePath);
231
+ expect(result.targetPath).toBe(realWorkspacePath);
232
+ expect(result.isDirectory).toBe(true);
233
+ expect(result.name).toBe(path.basename(realWorkspacePath));
234
+ });
235
+ it('changes workspace entry permissions non-recursively and recursively', async () => {
236
+ if (process.platform === 'win32') {
237
+ return;
238
+ }
239
+ const permissionDir = path.join(workspacePath, 'permission-dir');
240
+ const nestedPermissionFile = path.join(permissionDir, 'nested.txt');
241
+ await fs.mkdir(permissionDir, { recursive: true });
242
+ await fs.writeFile(nestedPermissionFile, 'nested', 'utf-8');
243
+ const nonRecursiveResult = await chmodWorkspaceEntry({
244
+ workspacePath,
245
+ targetPath: permissionDir,
246
+ mode: '700',
247
+ recursive: false
248
+ });
249
+ expect(nonRecursiveResult.changedCount).toBe(1);
250
+ expect((await fs.stat(permissionDir)).mode & 0o777).toBe(0o700);
251
+ expect((await fs.stat(nestedPermissionFile)).mode & 0o777).not.toBe(0o700);
252
+ const recursiveResult = await chmodWorkspaceEntry({
253
+ workspacePath,
254
+ targetPath: permissionDir,
255
+ mode: '755',
256
+ recursive: true
257
+ });
258
+ expect(recursiveResult.changedCount).toBe(2);
259
+ expect((await fs.stat(permissionDir)).mode & 0o777).toBe(0o755);
260
+ expect((await fs.stat(nestedPermissionFile)).mode & 0o777).toBe(0o755);
261
+ });
262
+ it('rejects recursive permission changes through symlink children', async () => {
263
+ if (process.platform === 'win32') {
264
+ return;
265
+ }
266
+ const outsideSecret = path.join(tempRoot, 'chmod-outside.txt');
267
+ const symlinkDirectory = path.join(workspacePath, 'symlink-permission-dir');
268
+ const symlinkPath = path.join(symlinkDirectory, 'outside-link.txt');
269
+ await fs.writeFile(outsideSecret, 'secret', 'utf-8');
270
+ await fs.mkdir(symlinkDirectory, { recursive: true });
271
+ await fs.symlink(outsideSecret, symlinkPath);
272
+ await expect(chmodWorkspaceEntry({
273
+ workspacePath,
274
+ targetPath: symlinkDirectory,
275
+ mode: '755',
276
+ recursive: true
277
+ })).rejects.toThrow(/symbolic link/i);
278
+ });
208
279
  it('rejects invalid workspace mutations', async () => {
209
280
  await expect(createWorkspaceEntry({
210
281
  workspacePath,
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-server.d.ts","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAsDH,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,qBAAqB,CAAU;IAEvC;;;OAGG;IACH,OAAO,CAAC,mBAAmB;;IAsC3B,OAAO,CAAC,aAAa;IA4CrB;;OAEG;YACW,cAAc;IAiC5B;;OAEG;YACW,eAAe;IA4G7B;;;OAGG;IACH,OAAO,CAAC,6BAA6B;IAuBrC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAIlC;IAEF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAUtC;IAEH;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,uBAAuB;IAgCtC,OAAO,CAAC,iBAAiB;IAWzB,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,qBAAqB;IAU7B,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,YAAY;IAIpB;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAI7B;;;OAGG;YACW,0BAA0B;IAuBxC;;;OAGG;YACW,0BAA0B;IAwBxC;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAsB1B;;;OAGG;YACW,yBAAyB;IAiBvC;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IA4B3B;;;OAGG;YACW,kBAAkB;IAiBhC;;;OAGG;YACW,gBAAgB;IAU9B;;;OAGG;YACW,kBAAkB;IAqChC;;;OAGG;YACW,kBAAkB;IAkBhC;;;OAGG;YACW,kBAAkB;IAuChC;;;OAGG;YACW,kBAAkB;IAQhC;;;OAGG;YACW,oBAAoB;IAqBlC;;;OAGG;YACW,0BAA0B;IASxC;;;OAGG;YACW,2BAA2B;YA6B3B,eAAe;YAWf,mBAAmB;YAOnB,yBAAyB;YA4BzB,iBAAiB;YAgBjB,iBAAiB;IA0B/B;;;;OAIG;YACW,mCAAmC;IAajD,OAAO,CAAC,6BAA6B;IAwBrC,OAAO,CAAC,mCAAmC;IAO3C;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAa/B,OAAO,CAAC,KAAK;IAOb;;;OAGG;YACW,8BAA8B;YAuD9B,gBAAgB;IAW9B;;;OAGG;YACW,6BAA6B;YAwC7B,kBAAkB;YAQlB,qBAAqB;YAUrB,sBAAsB;YAetB,eAAe;YASf,sBAAsB;YAqBtB,uBAAuB;YASvB,wBAAwB;YAUxB,gBAAgB;YAYhB,mBAAmB;IAejC;;OAEG;YACW,qBAAqB;IAiBnC;;;OAGG;IACH,OAAO,CAAC,2BAA2B;IAenC;;;OAGG;IACH,OAAO,CAAC,cAAc;IAMtB;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAa9B;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAcnB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YAgBd,YAAY;IA2C1B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAc9B,OAAO,CAAC,KAAK;CAGd"}
1
+ {"version":3,"file":"mcp-server.d.ts","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAsDH,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,qBAAqB,CAAU;IAEvC;;;OAGG;IACH,OAAO,CAAC,mBAAmB;;IAsC3B,OAAO,CAAC,aAAa;IA4CrB;;OAEG;YACW,cAAc;IAiC5B;;OAEG;YACW,eAAe;IA4G7B;;;OAGG;IACH,OAAO,CAAC,6BAA6B;IAuBrC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAIlC;IAEF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAUtC;IAEH;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,uBAAuB;IAgCtC,OAAO,CAAC,iBAAiB;IAWzB,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,qBAAqB;IAU7B,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,YAAY;IAIpB;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAI7B;;;OAGG;YACW,0BAA0B;IAuBxC;;;OAGG;YACW,0BAA0B;IAwBxC;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAsB1B;;;OAGG;YACW,yBAAyB;IAiBvC;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IA4B3B;;;OAGG;YACW,kBAAkB;IAiBhC;;;OAGG;YACW,gBAAgB;IAU9B;;;OAGG;YACW,kBAAkB;IAqChC;;;OAGG;YACW,kBAAkB;IAkBhC;;;OAGG;YACW,kBAAkB;IAuChC;;;OAGG;YACW,kBAAkB;IAQhC;;;OAGG;YACW,oBAAoB;IAqBlC;;;OAGG;YACW,0BAA0B;IASxC;;;OAGG;YACW,2BAA2B;YA6B3B,eAAe;YAWf,mBAAmB;YAOnB,yBAAyB;YA4BzB,iBAAiB;YAgBjB,iBAAiB;IA0B/B;;;;OAIG;YACW,mCAAmC;IAajD,OAAO,CAAC,6BAA6B;IAwBrC,OAAO,CAAC,mCAAmC;IAO3C;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAa/B,OAAO,CAAC,KAAK;IAOb;;;OAGG;YACW,8BAA8B;YAuD9B,gBAAgB;IAe9B;;;OAGG;YACW,6BAA6B;YAwC7B,kBAAkB;YAQlB,qBAAqB;YAUrB,sBAAsB;YAetB,eAAe;YASf,sBAAsB;YAqBtB,uBAAuB;YASvB,wBAAwB;YAUxB,gBAAgB;YAYhB,mBAAmB;IAejC;;OAEG;YACW,qBAAqB;IAiBnC;;;OAGG;IACH,OAAO,CAAC,2BAA2B;IAenC;;;OAGG;IACH,OAAO,CAAC,cAAc;IAMtB;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAa9B;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAcnB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YAgBd,YAAY;IA2C1B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAc9B,OAAO,CAAC,KAAK;CAGd"}
@@ -719,10 +719,14 @@ export class McpServer {
719
719
  async handleGetMessage() {
720
720
  await this.hydrateUnreadMessagesIfNeeded();
721
721
  const messages = this.messageBuffer.get();
722
+ const memoryNotification = await this.buildMemoryCleanupNotification();
723
+ if (memoryNotification) {
724
+ messages.directMessages.unshift(memoryNotification);
725
+ }
722
726
  return {
723
727
  directMessages: messages.directMessages,
724
728
  groupMessages: messages.groupMessages,
725
- fromBuffer: this.messageBuffer.size() > 0,
729
+ fromBuffer: this.messageBuffer.size() > 0 || !!memoryNotification,
726
730
  };
727
731
  }
728
732
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GAEvB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,0BAA0B,GAC3B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EACL,mBAAmB,EACnB,WAAW,GAUZ,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAgB7D,MAAM,kCAAkC,GAAG,MAAM,CAAC;AAClD,MAAM,yCAAyC,GAAG,GAAG,CAAC;AACtD,MAAM,mCAAmC,GAAG,OAAO,CAAC;AACpD,MAAM,mCAAmC,GAAG,KAAK,CAAC;AAElD,MAAM,OAAO,SAAS;IACZ,MAAM,CAAS;IACf,WAAW,CAAc;IACzB,aAAa,CAAgB;IAC7B,WAAW,CAAkB;IAC7B,eAAe,CAAkB;IACjC,qBAAqB,CAAU;IAEvC;;;OAGG;IACK,mBAAmB,CACzB,MAAoB;QAEpB,OAAO;YACL,EAAE,EAAE,MAAM,CAAC,EAAE;YACb,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;SACxB,CAAC;IACJ,CAAC;IAED;QACE,IAAI,CAAC,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;QACrC,IAAI,CAAC,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;QACzC,MAAM,gBAAgB,GAAG,SAAS,CAAC,uBAAuB,EAAE,CAAC;QAC7D,IAAI,CAAC,WAAW,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC3D,IAAI,CAAC,eAAe,GAAG,IAAI,WAAW,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAClE,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;QAEnC,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CACtB;YACE,IAAI,EAAE,eAAe;YACrB,OAAO,EAAE,kBAAkB;SAC5B,EACD;YACE,YAAY,EAAE;gBACZ,KAAK,EAAE,EAAE;aACV;SACF,CACF,CAAC;QAEF,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAEO,aAAa;QACnB,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;YAC/D,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;QAC9B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACrE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;YAEjD,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CACtC,IAAI,EACJ,IAA+B,CAChC,CAAC;gBACF,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;yBACvB;qBACjB;iBACF,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,YAAY,GAChB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACzD,MAAM,YAAY,GAChB,KAAK,YAAY,mBAAmB;oBAClC,CAAC,CAAC;wBACE,KAAK,EAAE,YAAY;wBACnB,GAAG,KAAK,CAAC,OAAO;qBACjB;oBACH,CAAC,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;gBAC9B,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;yBAC7B;qBACjB;oBACD,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,cAAc,CAC1B,IAAY,EACZ,IAA6B;QAE7B,WAAW;QACX,MAAM,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,iBAAiB,EAAE,CAAC;QAC5D,IAAI,cAAc,EAAE,CAAC;YACnB,cAAc,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;QAC3E,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAEtD,oCAAoC;YACpC,IAAI,cAAc,EAAE,CAAC;gBACnB,cAAc,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;gBACxC,IAAI,IAAI,CAAC,6BAA6B,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC;oBACrD,cAAc,CAAC,cAAc,EAAE,CAAC;gBAClC,CAAC;qBAAM,CAAC;oBACN,cAAc,CAAC,kBAAkB,EAAE,CAAC;gBACtC,CAAC;YACH,CAAC;YAED,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,gBAAgB;YAChB,IAAI,cAAc,EAAE,CAAC;gBACnB,cAAc,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;YACxC,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,eAAe,CAC3B,IAAY,EACZ,IAA6B;QAE7B,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,eAAe;gBAClB,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,kBAAkB,EAAE,CAAC;YAErD,KAAK,iBAAiB;gBACpB,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,kBAAkB,EAAE,CAAC;YAErD,KAAK,aAAa,CAAC,CAAC,CAAC;gBACnB,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;YAC7C,CAAC;YAED,KAAK,YAAY;gBACf,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;YAErC,KAAK,gBAAgB;gBACnB,OAAO,MAAM,IAAI,CAAC,mBAAmB,CACnC,IAAoC,CACrC,CAAC;YAEJ,KAAK,uBAAuB;gBAC1B,OAAO,MAAM,IAAI,CAAC,yBAAyB,CACzC,IAEC,CACF,CAAC;YAEJ,KAAK,YAAY;gBACf,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,IAAgC,CAAC,CAAC;YAEtE,KAAK,cAAc;gBACjB,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAkC,CAAC,CAAC;YAE1E,KAAK,cAAc;gBACjB,OAAO,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAExC,KAAK,aAAa;gBAChB,OAAO,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAEjC,KAAK,gBAAgB;gBACnB,OAAO,MAAM,IAAI,CAAC,kBAAkB,CAClC,IAAmC,CACpC,CAAC;YAEJ,KAAK,mBAAmB;gBACtB,OAAO,MAAM,IAAI,CAAC,qBAAqB,CACrC,IAAsC,CACvC,CAAC;YAEJ,KAAK,SAAS;gBACZ,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;YAE7C,KAAK,YAAY;gBACf,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAE1C,KAAK,oBAAoB;gBACvB,OAAO,MAAM,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;YAEjD,KAAK,oBAAoB;gBACvB,OAAO,MAAM,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;YAEjD,KAAK,qBAAqB;gBACxB,OAAO,MAAM,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;YAElD,KAAK,sBAAsB;gBACzB,OAAO,MAAM,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;YAEnD,KAAK,aAAa;gBAChB,OAAO,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAE3C,KAAK,gBAAgB;gBACnB,OAAO,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;YAE9C,KAAK,eAAe;gBAClB,OAAO,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAE7C,KAAK,aAAa;gBAChB,OAAO,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAE3C,KAAK,eAAe;gBAClB,OAAO,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAE7C,KAAK,eAAe;gBAClB,OAAO,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAE7C,KAAK,eAAe;gBAClB,OAAO,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAE7C,KAAK,eAAe;gBAClB,OAAO,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAE7C,KAAK,kBAAkB;gBACrB,OAAO,MAAM,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;YAE/C,KAAK,yBAAyB;gBAC5B,OAAO,MAAM,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC;YAErD,KAAK,yBAAyB;gBAC5B,OAAO,MAAM,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC;YAEtD;gBACE,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,6BAA6B,CACnC,IAAY,EACZ,MAAe;QAEf,IAAI,IAAI,KAAK,cAAc,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;YACtD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC1C,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,OAAO,GAAG,MAAiC,CAAC;QAClD,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;QAC9C,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;QAC5C,OAAO,CACL,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC;YAC5D,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAC3D,CAAC;IACJ,CAAC;IAED,mCAAmC;IAE3B,MAAM,CAAU,YAAY,GAA0B;QAC5D,WAAW;QACX,iBAAiB;QACjB,QAAQ;KACT,CAAC;IAEM,MAAM,CAAU,iBAAiB,GAAG,IAAI,GAAG,CAAC;QAClD,eAAe;QACf,aAAa;QACb,eAAe;QACf,eAAe;QACf,eAAe;QACf,eAAe;QACf,kBAAkB;QAClB,yBAAyB;QACzB,yBAAyB;KAC1B,CAAC,CAAC;IAEH;;;OAGG;IACK,MAAM,CAAC,uBAAuB;QAIpC,MAAM,cAAc,GAAG,MAAM,CAC3B,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,EAAE,CACxC,CAAC,IAAI,EAAE,CAAC;QACT,IAAI,cAAc,EAAE,CAAC;YACnB,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC;QACpE,CAAC;QAED,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QACtE,MAAM,YAAY,GAChB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,8BAA8B,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;YAC/D,IAAI,CAAC,IAAI,CACP,aAAa,EACb,aAAa,EACb,QAAQ,EACR,gBAAgB,CACjB,CAAC;QACJ,MAAM,QAAQ,GACZ,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,0BAA0B,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;YAC3D,IAAI,CAAC,IAAI,CACP,aAAa,EACb,aAAa,EACb,QAAQ,EACR,QAAQ,CACT,CAAC;QAEJ,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC;IACpC,CAAC;IAEO,iBAAiB,CACvB,IAA6B,EAC7B,GAAW;QAEX,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;QACxB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3D,MAAM,IAAI,KAAK,CAAC,GAAG,GAAG,cAAc,CAAC,CAAC;QACxC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,iBAAiB,CACvB,IAA6B,EAC7B,GAAW;QAEX,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;QACxB,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IACvD,CAAC;IAEO,iBAAiB,CACvB,IAA6B,EAC7B,GAAW;QAEX,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;QACxB,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IACvD,CAAC;IAEO,qBAAqB,CAC3B,IAA6B;QAE7B,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC;QAC/B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IAEO,eAAe,CAAC,KAAc;QACpC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,wBAAwB,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC3D,CAAC;QACD,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAChC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,wBAAwB,KAAK,EAAE,CAAC,CAAC;QACnD,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;IAEO,YAAY,CAAC,KAAa;QAChC,OAAO,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,KAAK,KAAK,CAAC,CAAC;IAC3E,CAAC;IAED;;;OAGG;IACK,qBAAqB,CAAC,UAAsB;QAClD,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;IAC3E,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,0BAA0B,CACtC,KAAsB;QAEtB,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC/B,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAClD,CAAC;QAED,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;YACtB,OAAO,MAAM,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,UAAU,CACnE,KAAK,CACN,CAAC;QACJ,CAAC;QAED,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC;YAC3D,GAAG,KAAK;YACR,WAAW,EAAE,QAAQ;SACtB,CAAC,CAAC;QACH,IAAI,cAAc,EAAE,CAAC;YACnB,OAAO,cAAc,CAAC;QACxB,CAAC;QACD,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAClD,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,0BAA0B,CACtC,KAAsB;QAEtB,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC/B,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC;QACrE,CAAC;QAED,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;YACtB,OAAO;gBACL,KAAK,EAAE,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,WAAW,CAAC;gBACpD,WAAW,EAAE,KAAK,CAAC,WAAW;aAC/B,CAAC;QACJ,CAAC;QAED,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC;YAC3D,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,WAAW,EAAE,QAAQ;SACtB,CAAC,CAAC;QACH,IAAI,cAAc,EAAE,CAAC;YACnB,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,eAAe,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC;QAChE,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC;IACrC,CAAC;IAED;;;OAGG;IACK,kBAAkB,CACxB,aAA0B,EAC1B,SAAsB;QAEtB,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC/B,OAAO,aAAa,CAAC;QACvB,CAAC;QAED,OAAO;YACL,KAAK,EAAE,aAAa,CAAC,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK;YAC3D,QAAQ,EAAE,aAAa,CAAC,QAAQ;YAChC,OAAO,EAAE;gBACP,SAAS,EAAE,aAAa,CAAC,OAAO,CAAC,SAAS;gBAC1C,eAAe,EAAE,aAAa,CAAC,OAAO,CAAC,eAAe;gBACtD,MAAM,EAAE;oBACN,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM;oBAC3B,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK;iBACtC;aACF;SACF,CAAC;IACJ,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,yBAAyB;QACrC,MAAM,CAAC,aAAa,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACnD,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE;YAC3B,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE;SAChC,CAAC,CAAC;QACH,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,WAAW,CAAC,iBAAiB,CACtC,IAAI,CAAC,kBAAkB,CAAC,aAAa,EAAE,SAAS,CAAC,CAClD,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CACT,2CAA2C,EAC3C,KAAK,CACN,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,mBAAmB,CACzB,IAAY,EACZ,IAA6B;QAE7B,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3C,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,SAAS,GAA4B,EAAE,CAAC;QAC9C,MAAM,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAChD,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QAC/D,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACpD,IAAI,GAAG,EAAE,CAAC;YACR,SAAS,CAAC,GAAG,GAAG,GAAG,CAAC;QACtB,CAAC;QACD,IAAI,UAAU,EAAE,CAAC;YACf,SAAS,CAAC,WAAW,GAAG,UAAU,CAAC;QACrC,CAAC;QACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,SAAS,CAAC,KAAK,GAAG,KAAK,CAAC;QAC1B,CAAC;QACD,IAAI,IAAI,KAAK,eAAe,EAAE,CAAC;YAC7B,SAAS,CAAC,aAAa;gBACrB,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QAC5D,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,kBAAkB,CAC9B,IAA6B;QAE7B,MAAM,KAAK,GAAsB;YAC/B,WAAW,EAAE,IAAI,CAAC,eAAe,CAC/B,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,aAAa,CAAC,CAC5C;YACD,GAAG,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC;YACxC,OAAO,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,SAAS,CAAC;SACjD,CAAC;QACF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAC9C,KAAK,CAAC,WAAW,CAClB,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,MAAM,IAAI,CAAC,yBAAyB,EAAE,CAAC;QACvC,OAAO,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,gBAAgB,CAC5B,IAA6B;QAE7B,MAAM,KAAK,GAAoB;YAC7B,GAAG,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC;YACxC,WAAW,EAAE,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC;SAC9C,CAAC;QACF,OAAO,MAAM,IAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC;IACtD,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,kBAAkB,CAC9B,IAA6B;QAE7B,MAAM,UAAU,GACd,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ;YACnC,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,CAAC;QACtC,MAAM,kBAAkB,GACtB,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ;YACnC,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,CAAC;QACtC,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAEtD,IAAI,UAAU,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACzE,CAAC;QACD,IACE,CAAC,kBAAkB;YACnB,CAAC,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,EACnD,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACpE,CAAC;QAED,MAAM,KAAK,GAAsB;YAC/B,GAAG,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC;YACxC,WAAW,EAAE,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC;YAC7C,UAAU,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,YAAY,CAAC;YACtD,UAAU,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,YAAY,CAAC;YACtD,MAAM;SACP,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC;QAC5D,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC;YAC9C,GAAG,KAAK;YACR,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW;SACrD,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,yBAAyB,EAAE,CAAC;QACvC,OAAO,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,kBAAkB,CAC9B,IAA6B;QAE7B,MAAM,KAAK,GAAsB;YAC/B,GAAG,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC;YACxC,WAAW,EAAE,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC;SAC9C,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC;QAC5D,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC;YAC9C,GAAG,KAAK;YACR,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW;SACrD,CAAC,CAAC;QACH,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,IAAI,CAAC,yBAAyB,EAAE,CAAC;QACzC,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,CAAC;IACrB,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,kBAAkB,CAC9B,IAA6B;QAE7B,MAAM,KAAK,GAAsB;YAC/B,KAAK,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC;YAC5C,KAAK,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC;YAC5C,WAAW,EAAE,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC;SAC9C,CAAC;QACF,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;YACtB,OAAO,MAAM,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,YAAY,CACrE,KAAK,CACN,CAAC;QACJ,CAAC;QAED,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC/B,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACpD,CAAC;QAED,MAAM,CAAC,UAAU,EAAE,cAAc,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACrD,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,EAAE,GAAG,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC;YACtE,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC;SACrC,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,MAAM,KAAK,GACT,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QACxE,MAAM,OAAO,GAAG,CAAC,GAAG,UAAU,CAAC,OAAO,EAAE,GAAG,cAAc,CAAC,OAAO,CAAC;aAC/D,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE;YACjB,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC;YAClD,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAClB,OAAO,KAAK,CAAC;YACf,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACd,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;aACD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;aACtD,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnB,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,IAAI,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC;IACtE,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,kBAAkB,CAC9B,IAA6B;QAE7B,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CACtC,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,aAAa,CAAC,CAC5C,CAAC;IACJ,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,oBAAoB,CAChC,IAA6B;QAE7B,MAAM,CAAC,aAAa,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACnD,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE;YAC3B,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE;SAChC,CAAC,CAAC;QACH,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;QAChE,MAAM,UAAU,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;QACpD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO;YACL,WAAW,EAAE,UAAU;YACvB,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,KAAK;YACtC,OAAO,EAAE;gBACP,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC;aACxC;SACF,CAAC;IACJ,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,0BAA0B,CACtC,IAA6B;QAE7B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,oBAAoB,CACzD,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,CACpC,CAAC;QACF,OAAO,EAAE,OAAO,EAAE,CAAC;IACrB,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,2BAA2B,CACvC,IAA6B;QAE7B,MAAM,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAChD,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC/B,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;QAC3D,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC;YAC/C,GAAG;YACH,WAAW,EAAE,iBAAiB;SAC/B,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,qBAAqB,GAAG,EAAE,CAAC,CAAC;QAC9C,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC;YACvD,WAAW,EAAE,QAAQ;YACrB,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,OAAO,EAAE,MAAM,CAAC,OAAO;SACxB,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC;YAClC,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,WAAW,EAAE,iBAAiB;SAC/B,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,yBAAyB,EAAE,CAAC;QACvC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,IAAmB;QAC/C,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YACtD,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACzC,CAAC;QACD,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAC5C,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,MAAM,CACZ,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAAC,IAAuB;QACvD,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,QAAQ,EAAE,CAAC;YAClE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC/C,CAAC;QACD,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IACpD,CAAC;IAEO,KAAK,CAAC,yBAAyB,CACrC,IAEC;QAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1D,MAAM,IAAI,KAAK,CACb,2DAA2D,CAC5D,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YACjC,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,QAAQ,EAAE,CAAC;gBAClE,MAAM,IAAI,KAAK,CAAC,SAAS,KAAK,6BAA6B,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,MACL,IAAI,CAAC,WAON,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,IAAqB;QACnD,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACxD,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC1C,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YACtD,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACzC,CAAC;QACD,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAC7C,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,SAAS,CACf,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,iBAAiB;QAC7B,MAAM,2BAA2B,GAC/B,MAAM,IAAI,CAAC,8BAA8B,EAAE,CAAC;QAC9C,IAAI,2BAA2B,EAAE,CAAC;YAChC,OAAO;gBACL,cAAc,EAAE,CAAC,2BAA2B,CAAC;gBAC7C,aAAa,EAAE,EAAE;gBACjB,UAAU,EAAE,IAAI;aACjB,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,CAAC,mCAAmC,EAAE,CAAC;QAEjD,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC;QAC1C,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,8BAA8B,EAAE,CAAC;QACvE,IAAI,kBAAkB,EAAE,CAAC;YACvB,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;QACtD,CAAC;QAED,OAAO;YACL,cAAc,EAAE,QAAQ,CAAC,cAAc;YACvC,aAAa,EAAE,QAAQ,CAAC,aAAa;YACrC,UAAU,EAAE,IAAI;SACjB,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,mCAAmC;QAC/C,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;YACvC,MAAM,IAAI,CAAC,6BAA6B,CAAC;gBACvC,YAAY,EAAE,IAAI;gBAClB,cAAc,EAAE,IAAI,CAAC,6BAA6B,EAAE;aACrD,CAAC,CAAC;YAEH,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;gBACpC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,mCAAmC,EAAE,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;IACH,CAAC;IAEO,6BAA6B;QACnC,MAAM,WAAW,GAAG,IAAI,CAAC,uBAAuB,CAC9C,gCAAgC,EAChC,kCAAkC,CACnC,CAAC;QACF,MAAM,aAAa,GAAG,IAAI,CAAC,uBAAuB,CAChD,iCAAiC,EACjC,mCAAmC,CACpC,CAAC;QACF,MAAM,kBAAkB,GAAG,IAAI,CAAC,GAAG,CACjC,CAAC,EACD,aAAa,GAAG,mCAAmC,CACpD,CAAC;QAEF,IAAI,WAAW,IAAI,aAAa,EAAE,CAAC;YACjC,MAAM,CAAC,IAAI,CACT,8CAA8C,WAAW,6CAA6C,aAAa,WAAW,kBAAkB,IAAI,CACrJ,CAAC;YACF,OAAO,kBAAkB,CAAC;QAC5B,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;IAEO,mCAAmC;QACzC,OAAO,IAAI,CAAC,uBAAuB,CACjC,uCAAuC,EACvC,yCAAyC,CAC1C,CAAC;IACJ,CAAC;IAED;;;OAGG;IACK,uBAAuB,CAAC,IAAY,EAAE,YAAoB;QAChE,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;YACxB,OAAO,YAAY,CAAC;QACtB,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACxC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;YAC5C,MAAM,CAAC,IAAI,CAAC,eAAe,IAAI,aAAa,YAAY,IAAI,CAAC,CAAC;YAC9D,OAAO,YAAY,CAAC;QACtB,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,KAAK,CAAC,OAAe;QAC3B,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;YACjB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC3B,CAAC;QACD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAChE,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,8BAA8B;QAC1C,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;YAChD,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CACxD,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,IAAI,SAAS,CAAC,QAAQ,CAC5D,CAAC;YACF,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,CAC3D,CAAC,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE,EAAE,CAC1B,SAAS,CAAC,QAAQ;gBAChB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC;qBAChC,MAAM,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC;qBACjD,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC;oBAC/B,UAAU;oBACV,MAAM;oBACN,WAAW;iBACZ,CAAC,CAAC;gBACP,CAAC,CAAC,EAAE,CACT,CAAC;YAEF,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC/D,OAAO,IAAI,CAAC;YACd,CAAC;YAED,MAAM,WAAW,GAAG,aAAa,CAAC,GAAG,CACnC,CAAC,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE,EAAE,CAC1B,GAAG,UAAU,OAAO,SAAS,CAAC,WAAW,yBAAyB,SAAS,CAAC,KAAK,UAAU,SAAS,CAAC,SAAS,IAAI,CACrH,CAAC;YACF,MAAM,aAAa,GAAG,eAAe,CAAC,GAAG,CACvC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE,CACtC,GAAG,UAAU,IAAI,MAAM,UAAU,WAAW,CAAC,KAAK,kBAAkB,WAAW,CAAC,KAAK,UAAU,WAAW,CAAC,SAAS,IAAI,CAC3H,CAAC;YACF,MAAM,cAAc,GAAG;gBACrB,6BAA6B;gBAC7B,4BAA4B;gBAC5B,mBAAmB;gBACnB,2DAA2D;aAC5D,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAEZ,OAAO;gBACL,KAAK,EAAE,kBAAkB,IAAI,CAAC,GAAG,EAAE,EAAE;gBACrC,QAAQ,EAAE,YAAY;gBACtB,UAAU,EAAE,IAAI;gBAChB,UAAU,EAAE,IAAI,CAAC,iBAAiB,EAAE,IAAI,SAAS;gBACjD,OAAO,EAAE,0BAA0B,CAAC,GAAG,WAAW,EAAE,GAAG,aAAa,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,cAAc,GAAG;gBACpG,YAAY,EAAE,KAAK;gBACnB,MAAM,EACJ,iFAAiF;gBACnF,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACpC,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CAAC,iCAAiC,EAAE,KAAK,CAAC,CAAC;YACtD,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,gBAAgB;QAC5B,MAAM,IAAI,CAAC,6BAA6B,EAAE,CAAC;QAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC;QAE1C,OAAO;YACL,cAAc,EAAE,QAAQ,CAAC,cAAc;YACvC,aAAa,EAAE,QAAQ,CAAC,aAAa;YACrC,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC;SAC1C,CAAC;IACJ,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,6BAA6B,CACzC,UAAsC,EAAE;QAExC,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;YAClC,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC;gBAChE,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,KAAK;gBAC3C,cAAc,EAAE,OAAO,CAAC,cAAc;aACvC,CAAC,CAAC;YACH,MAAM,qBAAqB,GAAG,cAAc,CAAC,aAAa,CAAC,MAAM,CAC/D,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CACnD,CAAC;YAEF,IACE,cAAc,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC;gBAC1C,cAAc,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EACzC,CAAC;gBACD,OAAO;YACT,CAAC;YAED,MAAM,sBAAsB,GAAG,cAAc,CAAC,cAAc,CAAC;YAE7D,sBAAsB,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBACzC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACnC,CAAC,CAAC,CAAC;YACH,qBAAqB,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBACxC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACnC,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,IAAI,CACT,2BAA2B,sBAAsB,CAAC,MAAM,QAAQ,qBAAqB,CAAC,MAAM,EAAE,CAC/F,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAAC,IAAsB;QACrD,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,CACxC,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,KAAK,CACX,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,qBAAqB,CACjC,IAAyB;QAEzB,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,eAAe,CAC3C,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,KAAK,CACX,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,sBAAsB,CAClC,IAA6B;QAE7B,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YACpD,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACxC,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,QAAQ,EAAE,CAAC;YAClE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC/C,CAAC;QACD,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAC5C,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,aAAa,CACnB,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,eAAe,CAC3B,IAA6B;QAE7B,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YACpD,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACxC,CAAC;QACD,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvD,CAAC;IAEO,KAAK,CAAC,sBAAsB,CAClC,IAA6B;QAE7B,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACtD,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAC5D,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAC9D,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAClD,MAAM,KAAK,GAAyB;YAClC,cAAc,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,gBAAgB,CAAC;YAC9D,MAAM;YACN,SAAS;YACT,UAAU;YACV,IAAI;YACJ,OAAO,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,SAAS,CAAC;YAChD,UAAU,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,YAAY,CAAC;YACtD,SAAS,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,WAAW,CAAC;YACpD,QAAQ,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,UAAU,CAAC;SACnD,CAAC;QACF,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACxD,CAAC;IAEO,KAAK,CAAC,uBAAuB,CACnC,IAA6B;QAE7B,MAAM,KAAK,GAA0B;YACnC,cAAc,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,gBAAgB,CAAC;SAC/D,CAAC;QACF,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACzD,CAAC;IAEO,KAAK,CAAC,wBAAwB,CACpC,IAA6B;QAE7B,MAAM,KAAK,GAA2B;YACpC,cAAc,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,gBAAgB,CAAC;YAC9D,aAAa,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,eAAe,CAAC;SAC7D,CAAC;QACF,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAC1D,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAC5B,IAA6B;QAE7B,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YACpD,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACxC,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YACpD,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACxC,CAAC;QACD,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACrE,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAC/B,IAA6B;QAE7B,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,QAAQ,EAAE,CAAC;YACpE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChD,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YACpD,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACxC,CAAC;QACD,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,aAAa,CACzC,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,MAAM,CACZ,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,qBAAqB,CACjC,OAAqC;QAErC,IAAI,CAAC,IAAI,CAAC,2BAA2B,CAAC,OAAO,CAAC,EAAE,CAAC;YAC/C,MAAM,CAAC,IAAI,CACT,mDAAmD,CACpD,CAAC;YACF,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,CAAC,IAAI,CACT,qBAAqB,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,OAAO,EAAE,CACpE,CAAC;QACF,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACjC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;OAGG;IACK,2BAA2B,CACjC,OAAqC;QAErC,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAC5C,MAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;YAC7C,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;YAClC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAC/C,CAAC;IAED;;;OAGG;IACK,cAAc,CACpB,OAAqC;QAErC,OAAO,CAAC,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,CAAC;IACvF,CAAC;IAED;;;OAGG;IACK,sBAAsB,CAAC,OAAqB;QAClD,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAC5C,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAChD,OAAO,CACL,CAAC,CAAC,cAAc;YAChB,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ;YACpC,OAAO,CAAC,QAAQ,KAAK,cAAc,CACpC,CAAC;IACJ,CAAC;IAED;;;OAGG;IACK,iBAAiB;QACvB,MAAM,gBAAgB,GAAG,IAAI,CAAC,WAE7B,CAAC;QAEF,IAAI,OAAO,gBAAgB,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;YACpD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,gBAAgB,CAAC,QAAQ,EAAE,CAAC,OAAO,IAAI,IAAI,CAAC;IACrD,CAAC;IAED,iCAAiC;IAEjC,KAAK,CAAC,KAAK;QACT,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;QAC7C,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACrC,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;QAEpC,MAAM,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;QAClD,MAAM,CAAC,IAAI,CACT,qBAAqB,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC/D,CAAC;QACF,MAAM,CAAC,IAAI,CACT,qBAAqB,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,CACvE,CAAC;QAEF,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;IAC5B,CAAC;IAEO,KAAK,CAAC,YAAY;QACxB,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC;QACtD,MAAM,CAAC,IAAI,CAAC,oBAAoB,WAAW,CAAC,QAAQ,GAAG,CAAC,CAAC;QACzD,MAAM,CAAC,IAAI,CACT,yBAAyB,WAAW,CAAC,OAAO,IAAI,QAAQ,GAAG,CAC5D,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QAEzC,IAAI,UAAU,GAAG,CAAC,CAAC;QAEnB,OAAO,IAAI,EAAE,CAAC;YACZ,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;gBACjD,MAAM,CAAC,IAAI,CACT,qBAAqB,MAAM,CAAC,WAAW,KAAK,MAAM,CAAC,OAAO,GAAG,CAC9D,CAAC;gBACF,MAAM,CAAC,IAAI,CAAC,mBAAmB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;gBAEhD,gBAAgB;gBAChB,IAAI,CAAC,sBAAsB,EAAE,CAAC;gBAC9B,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;gBAErC,oBAAoB;gBACpB,MAAM,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,iBAAiB,EAAE,CAAC;gBAC5D,IAAI,cAAc,EAAE,CAAC;oBACnB,cAAc,CAAC,kBAAkB,EAAE,CAAC;gBACtC,CAAC;gBAED,MAAM,IAAI,CAAC,yBAAyB,EAAE,CAAC;gBAEvC,OAAO;YACT,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,YAAY,GAChB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACzD,UAAU,EAAE,CAAC;gBACb,MAAM,CAAC,IAAI,CACT,6BAA6B,UAAU,OAAO,YAAY,EAAE,CAC7D,CAAC;gBACF,MAAM,IAAI,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACK,sBAAsB;QAC5B,MAAM,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;QACtD,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YAC5D,QAAQ,EAAE,KAAK;YACf,cAAc,EAAE,CAAC,OAAoB,EAAE,EAAE;gBACvC,0BAA0B;gBAC1B,MAAM,CAAC,IAAI,CACT,+CAA+C,OAAO,CAAC,WAAW,EAAE,CACrE,CAAC;gBACF,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAChD,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,EAAU;QACtB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;IAC3D,CAAC"}
1
+ {"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"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"}
@@ -918,6 +918,36 @@ describe("McpServer memory tools", () => {
918
918
  assert.match(result.directMessages[0]?.prompt ?? "", /无需持久化/);
919
919
  });
920
920
  });
921
+ it("get_message injects a cleanup notice when listable memory exceeds soft limits", async () => {
922
+ await withMemoryServer(async (server) => {
923
+ const handleToolCall = getHandleToolCall(server);
924
+ Reflect.set(server, "agentClient", {
925
+ fetchUnreadMessages: async () => ({
926
+ directMessages: [],
927
+ groupMessages: [],
928
+ }),
929
+ getState: () => ({ agentId: "agent-self" }),
930
+ getStatusReporter: () => null,
931
+ });
932
+ for (let index = 0; index < 33; index += 1) {
933
+ await handleToolCall.call(server, "create_memory", {
934
+ memory_type: "recently_memory",
935
+ uri: `recent://cleanup-get/${index}`,
936
+ content: `recent ${index}`,
937
+ });
938
+ }
939
+ const result = (await handleToolCall.call(server, "get_message", {}));
940
+ assert.equal(result.fromBuffer, true);
941
+ assert.equal(result.groupMessages.length, 0);
942
+ assert.equal(result.directMessages.length, 1);
943
+ assert.match(result.directMessages[0]?.msgId, /^memory-cleanup-/);
944
+ assert.equal(result.directMessages[0]?.senderId, "MCP-System");
945
+ assert.equal(result.directMessages[0]?.receiverId, "agent-self");
946
+ assert.match(result.directMessages[0]?.content ?? "", /本地 memory 已超过建议容量/);
947
+ assert.match(result.directMessages[0]?.content ?? "", /recently_memory\/recent 类型下当前 33 条 memory/);
948
+ assert.match(result.directMessages[0]?.prompt ?? "", /无需持久化/);
949
+ });
950
+ });
921
951
  it("rejects incomplete memory update arguments", async () => {
922
952
  await withMemoryServer(async (server) => {
923
953
  const handleToolCall = getHandleToolCall(server);