aws-runtime-bridge 1.7.29 → 1.7.31
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/dist/routes/file-browser.d.ts.map +1 -1
- package/dist/routes/file-browser.js +41 -3
- package/dist/routes/git.d.ts +5 -0
- package/dist/routes/git.d.ts.map +1 -1
- package/dist/routes/git.js +37 -2
- package/dist/routes/git.test.js +20 -1
- package/dist/services/workspace-files.d.ts +48 -0
- package/dist/services/workspace-files.d.ts.map +1 -1
- package/dist/services/workspace-files.js +194 -34
- package/dist/services/workspace-files.test.js +73 -2
- package/package/aws-client-agent-mcp/dist/mcp-server.d.ts.map +1 -1
- package/package/aws-client-agent-mcp/dist/mcp-server.js +5 -1
- package/package/aws-client-agent-mcp/dist/mcp-server.js.map +1 -1
- package/package/aws-client-agent-mcp/dist/mcp-server.test.js +30 -0
- package/package/aws-client-agent-mcp/dist/mcp-server.test.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-browser.d.ts","sourceRoot":"","sources":["../../src/routes/file-browser.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,OAAO,MAAM,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"file-browser.d.ts","sourceRoot":"","sources":["../../src/routes/file-browser.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,OAAO,MAAM,MAAM,QAAQ,CAAC;AAyB5B,eAAO,MAAM,iBAAiB,4CAAW,CAAC;AAE1C,eAAO,MAAM,2BAA2B,OAAO,CAAC;AAUhD,UAAU,eAAe;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,UAAU,mBAAmB;IAC3B,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,eAAe,EAAE,CAAC;CAC1B;AAKD,UAAU,iBAAkB,SAAQ,eAAe;IACjD,QAAQ,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC/B,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,UAAU,qBAAsB,SAAQ,mBAAmB;IACzD,QAAQ,EAAE,MAAM,CAAC;IACjB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,IAAI,EAAE,iBAAiB,EAAE,CAAC;CAC3B;AAED,UAAU,aAAa;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,OAAO,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAiBD,wBAAgB,kCAAkC,CAAC,KAAK,EAAE,MAAM,CAAC,WAAW,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CAUvI;AAED,wBAAgB,iCAAiC,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,EAAE,CAgBzF;AAyFD;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,WAAW,SAAK,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAkB5F;AAoCD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,EAAE,CAuBpE;AAWD,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,OAAO,CAWhH"}
|
|
@@ -3,16 +3,16 @@
|
|
|
3
3
|
*
|
|
4
4
|
* 提供文件系统浏览功能
|
|
5
5
|
*/
|
|
6
|
-
import os from 'node:os';
|
|
7
6
|
import { createReadStream, promises as fs } from 'node:fs';
|
|
7
|
+
import os from 'node:os';
|
|
8
8
|
import path from 'node:path';
|
|
9
9
|
import { Router } from 'express';
|
|
10
10
|
import multer from 'multer';
|
|
11
11
|
import { allowHostFileBrowser } from '../config.js';
|
|
12
12
|
import { validateToken } from '../middleware/auth.js';
|
|
13
|
-
import {
|
|
14
|
-
import { createWorkspaceEntry, deleteWorkspaceEntry, extractWorkspaceArchive, listWorkspaceDirectory, moveWorkspaceEntry, previewWorkspaceDocument, readWorkspaceFile, renameWorkspaceEntry, resolveWorkspaceDownloadTarget, streamWorkspaceDirectoryZip, uploadWorkspaceFiles, writeWorkspaceFile, } from '../services/workspace-files.js';
|
|
13
|
+
import { chmodWorkspaceEntry, createWorkspaceEntry, deleteWorkspaceEntry, extractWorkspaceArchive, getWorkspaceEntryProperties, listWorkspaceDirectory, moveWorkspaceEntry, previewWorkspaceDocument, readWorkspaceFile, renameWorkspaceEntry, resolveWorkspaceDownloadTarget, streamWorkspaceDirectoryZip, uploadWorkspaceFiles, writeWorkspaceFile, } from '../services/workspace-files.js';
|
|
15
14
|
import { unwatchWorkspaceFile, watchWorkspaceFile } from '../services/workspace-watch.js';
|
|
15
|
+
import { createLogger } from '../utils/logger.js';
|
|
16
16
|
const log = createLogger('file-browser');
|
|
17
17
|
export const fileBrowserRouter = Router();
|
|
18
18
|
export const WORKSPACE_UPLOAD_FILE_LIMIT = 2000;
|
|
@@ -414,6 +414,44 @@ fileBrowserRouter.post('/workspace/read', validateToken, async (req, res) => {
|
|
|
414
414
|
res.status(400).json({ error: err.message });
|
|
415
415
|
}
|
|
416
416
|
});
|
|
417
|
+
/**
|
|
418
|
+
* 读取工作区文件或目录属性。
|
|
419
|
+
* POST /api/file-browser/workspace/properties
|
|
420
|
+
*/
|
|
421
|
+
fileBrowserRouter.post('/workspace/properties', validateToken, async (req, res) => {
|
|
422
|
+
try {
|
|
423
|
+
const { workspacePath, targetPath } = req.body || {};
|
|
424
|
+
res.json(await getWorkspaceEntryProperties({
|
|
425
|
+
workspacePath: String(workspacePath || ''),
|
|
426
|
+
targetPath: String(targetPath || '')
|
|
427
|
+
}));
|
|
428
|
+
}
|
|
429
|
+
catch (error) {
|
|
430
|
+
const err = error;
|
|
431
|
+
log.error('failed to get workspace entry properties:', err);
|
|
432
|
+
res.status(400).json({ error: err.message });
|
|
433
|
+
}
|
|
434
|
+
});
|
|
435
|
+
/**
|
|
436
|
+
* 修改工作区文件或目录权限。
|
|
437
|
+
* POST /api/file-browser/workspace/chmod
|
|
438
|
+
*/
|
|
439
|
+
fileBrowserRouter.post('/workspace/chmod', validateToken, async (req, res) => {
|
|
440
|
+
try {
|
|
441
|
+
const { workspacePath, targetPath, mode, recursive } = req.body || {};
|
|
442
|
+
res.json(await chmodWorkspaceEntry({
|
|
443
|
+
workspacePath: String(workspacePath || ''),
|
|
444
|
+
targetPath: String(targetPath || ''),
|
|
445
|
+
mode: String(mode || ''),
|
|
446
|
+
recursive: Boolean(recursive)
|
|
447
|
+
}));
|
|
448
|
+
}
|
|
449
|
+
catch (error) {
|
|
450
|
+
const err = error;
|
|
451
|
+
log.error('failed to chmod workspace entry:', err);
|
|
452
|
+
res.status(400).json({ error: err.message });
|
|
453
|
+
}
|
|
454
|
+
});
|
|
417
455
|
/**
|
|
418
456
|
* 在目录选择器当前位置创建文件夹。
|
|
419
457
|
* POST /api/file-browser/directory-picker/create
|
package/dist/routes/git.d.ts
CHANGED
|
@@ -4,6 +4,11 @@
|
|
|
4
4
|
* 提供 Git Stash 快照的创建、列表、恢复和删除功能
|
|
5
5
|
*/
|
|
6
6
|
export declare const gitRouter: import("express-serve-static-core").Router;
|
|
7
|
+
/**
|
|
8
|
+
* 解析 Git 命令超时时间。
|
|
9
|
+
* 主流程:优先使用环境变量,非法或过小配置回落到默认值,避免 Git 检测请求长期挂起。
|
|
10
|
+
*/
|
|
11
|
+
export declare function resolveGitCommandTimeoutMs(): number;
|
|
7
12
|
export declare function assertGitWorkspacePathAccessible(workspacePath: string): Promise<void>;
|
|
8
13
|
type GitDiffFileStatus = 'modified' | 'added' | 'deleted' | 'renamed';
|
|
9
14
|
/**
|
package/dist/routes/git.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../../src/routes/git.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../../src/routes/git.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AASH,eAAO,MAAM,SAAS,4CAAW,CAAC;AAIlC;;;GAGG;AACH,wBAAgB,0BAA0B,IAAI,MAAM,CAOnD;AAWD,wBAAsB,gCAAgC,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAe3F;AASD,KAAK,iBAAiB,GAAG,UAAU,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC;AAEtE;;;GAGG;AACH,wBAAgB,+BAA+B,CAC7C,MAAM,EAAE,iBAAiB,EACzB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,OAAO,GACpB,OAAO,CAMT;AAED;;;GAGG;AACH,wBAAgB,mCAAmC,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAK3E;AAED,wBAAgB,uCAAuC,IAAI,MAAM,CAEhE;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAKjE;AAED,UAAU,cAAc;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAWzE"}
|
package/dist/routes/git.js
CHANGED
|
@@ -8,7 +8,20 @@ import { spawn } from 'node:child_process';
|
|
|
8
8
|
import { promises as fs } from 'node:fs';
|
|
9
9
|
import path from 'node:path';
|
|
10
10
|
import { validateToken } from '../middleware/auth.js';
|
|
11
|
+
import { logger } from '../utils/logger.js';
|
|
11
12
|
export const gitRouter = Router();
|
|
13
|
+
const DEFAULT_GIT_COMMAND_TIMEOUT_MS = 10_000;
|
|
14
|
+
/**
|
|
15
|
+
* 解析 Git 命令超时时间。
|
|
16
|
+
* 主流程:优先使用环境变量,非法或过小配置回落到默认值,避免 Git 检测请求长期挂起。
|
|
17
|
+
*/
|
|
18
|
+
export function resolveGitCommandTimeoutMs() {
|
|
19
|
+
const configured = Number(process.env.AWS_RUNTIME_GIT_COMMAND_TIMEOUT_MS);
|
|
20
|
+
if (Number.isFinite(configured) && configured >= 1_000) {
|
|
21
|
+
return configured;
|
|
22
|
+
}
|
|
23
|
+
return DEFAULT_GIT_COMMAND_TIMEOUT_MS;
|
|
24
|
+
}
|
|
12
25
|
export async function assertGitWorkspacePathAccessible(workspacePath) {
|
|
13
26
|
let stat;
|
|
14
27
|
try {
|
|
@@ -79,6 +92,18 @@ export function parseLatestGitStash(output) {
|
|
|
79
92
|
*/
|
|
80
93
|
async function execGitCommand(workspacePath, args) {
|
|
81
94
|
return new Promise((resolve) => {
|
|
95
|
+
let settled = false;
|
|
96
|
+
let timeout = null;
|
|
97
|
+
const finish = (result) => {
|
|
98
|
+
if (settled) {
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
settled = true;
|
|
102
|
+
if (timeout) {
|
|
103
|
+
clearTimeout(timeout);
|
|
104
|
+
}
|
|
105
|
+
resolve(result);
|
|
106
|
+
};
|
|
82
107
|
const child = spawn('git', args, {
|
|
83
108
|
cwd: workspacePath,
|
|
84
109
|
stdio: ['ignore', 'pipe', 'pipe'],
|
|
@@ -91,11 +116,21 @@ async function execGitCommand(workspacePath, args) {
|
|
|
91
116
|
child.stderr?.on('data', (chunk) => {
|
|
92
117
|
stderr += String(chunk || '');
|
|
93
118
|
});
|
|
119
|
+
timeout = setTimeout(() => {
|
|
120
|
+
const timeoutMs = resolveGitCommandTimeoutMs();
|
|
121
|
+
logger.warn(`[runtime-bridge] git command timed out after ${timeoutMs}ms: git ${args.join(' ')} (cwd=${workspacePath})`);
|
|
122
|
+
child.kill('SIGKILL');
|
|
123
|
+
finish({
|
|
124
|
+
stdout,
|
|
125
|
+
stderr: stderr || `git command timed out after ${timeoutMs}ms`,
|
|
126
|
+
exitCode: 124,
|
|
127
|
+
});
|
|
128
|
+
}, resolveGitCommandTimeoutMs());
|
|
94
129
|
child.on('error', (error) => {
|
|
95
|
-
|
|
130
|
+
finish({ stdout: '', stderr: error.message, exitCode: 1 });
|
|
96
131
|
});
|
|
97
132
|
child.on('close', (code) => {
|
|
98
|
-
|
|
133
|
+
finish({ stdout, stderr, exitCode: code ?? 1 });
|
|
99
134
|
});
|
|
100
135
|
});
|
|
101
136
|
}
|
package/dist/routes/git.test.js
CHANGED
|
@@ -5,7 +5,7 @@ import { mkdtemp, rm, writeFile } from 'node:fs/promises';
|
|
|
5
5
|
import { tmpdir } from 'node:os';
|
|
6
6
|
import path from 'node:path';
|
|
7
7
|
import { describe, expect, it } from 'vitest';
|
|
8
|
-
import { assertGitWorkspacePathAccessible, createMissingInitialCommitSnapshotError, isGitStashNoChangesOutput, isGitStashMissingInitialCommitError, parseLatestGitStash, shouldIncludeGitDiffSummaryFile, } from './git.js';
|
|
8
|
+
import { assertGitWorkspacePathAccessible, createMissingInitialCommitSnapshotError, isGitStashNoChangesOutput, isGitStashMissingInitialCommitError, parseLatestGitStash, resolveGitCommandTimeoutMs, shouldIncludeGitDiffSummaryFile, } from './git.js';
|
|
9
9
|
describe('git stash operations', () => {
|
|
10
10
|
function parseStashList(output) {
|
|
11
11
|
const stashes = [];
|
|
@@ -66,6 +66,25 @@ describe('git stash operations', () => {
|
|
|
66
66
|
});
|
|
67
67
|
});
|
|
68
68
|
describe('git command validation', () => {
|
|
69
|
+
it('falls back to a safe git command timeout for invalid configuration', () => {
|
|
70
|
+
const previous = process.env.AWS_RUNTIME_GIT_COMMAND_TIMEOUT_MS;
|
|
71
|
+
try {
|
|
72
|
+
process.env.AWS_RUNTIME_GIT_COMMAND_TIMEOUT_MS = 'not-a-number';
|
|
73
|
+
expect(resolveGitCommandTimeoutMs()).toBe(10_000);
|
|
74
|
+
process.env.AWS_RUNTIME_GIT_COMMAND_TIMEOUT_MS = '999';
|
|
75
|
+
expect(resolveGitCommandTimeoutMs()).toBe(10_000);
|
|
76
|
+
process.env.AWS_RUNTIME_GIT_COMMAND_TIMEOUT_MS = '1500';
|
|
77
|
+
expect(resolveGitCommandTimeoutMs()).toBe(1500);
|
|
78
|
+
}
|
|
79
|
+
finally {
|
|
80
|
+
if (previous === undefined) {
|
|
81
|
+
delete process.env.AWS_RUNTIME_GIT_COMMAND_TIMEOUT_MS;
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
process.env.AWS_RUNTIME_GIT_COMMAND_TIMEOUT_MS = previous;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
});
|
|
69
88
|
it('validates workspacePath requirement', () => {
|
|
70
89
|
const validateInput = (body) => {
|
|
71
90
|
if (!body.workspacePath || !String(body.workspacePath).trim()) {
|
|
@@ -85,6 +85,44 @@ interface ExtractWorkspaceArchiveParams extends WorkspacePathParams {
|
|
|
85
85
|
archivePath: string;
|
|
86
86
|
outputPath?: string;
|
|
87
87
|
}
|
|
88
|
+
interface ChmodWorkspaceEntryParams extends WorkspacePathParams {
|
|
89
|
+
targetPath: string;
|
|
90
|
+
mode: string;
|
|
91
|
+
recursive?: boolean;
|
|
92
|
+
}
|
|
93
|
+
export interface WorkspaceImageProperties {
|
|
94
|
+
format: 'png' | 'jpeg' | 'gif' | 'webp';
|
|
95
|
+
width: number;
|
|
96
|
+
height: number;
|
|
97
|
+
}
|
|
98
|
+
export interface WorkspaceEntryPropertiesResult {
|
|
99
|
+
workspacePath: string;
|
|
100
|
+
targetPath: string;
|
|
101
|
+
name: string;
|
|
102
|
+
isDirectory: boolean;
|
|
103
|
+
isFile: boolean;
|
|
104
|
+
isSymbolicLink: boolean;
|
|
105
|
+
size: number;
|
|
106
|
+
mode: number;
|
|
107
|
+
modeOctal: string;
|
|
108
|
+
permissions: string;
|
|
109
|
+
uid?: number;
|
|
110
|
+
gid?: number;
|
|
111
|
+
atimeMs: number;
|
|
112
|
+
mtimeMs: number;
|
|
113
|
+
ctimeMs: number;
|
|
114
|
+
birthtimeMs: number;
|
|
115
|
+
image?: WorkspaceImageProperties;
|
|
116
|
+
}
|
|
117
|
+
export interface ChmodWorkspaceEntryResult {
|
|
118
|
+
ok: true;
|
|
119
|
+
workspacePath: string;
|
|
120
|
+
targetPath: string;
|
|
121
|
+
mode: number;
|
|
122
|
+
modeOctal: string;
|
|
123
|
+
recursive: boolean;
|
|
124
|
+
changedCount: number;
|
|
125
|
+
}
|
|
88
126
|
/**
|
|
89
127
|
* 列出工作区目录内容。
|
|
90
128
|
*/
|
|
@@ -93,6 +131,16 @@ export declare function listWorkspaceDirectory(params: WorkspacePathParams): Pro
|
|
|
93
131
|
* 读取工作区中的文本文件。
|
|
94
132
|
*/
|
|
95
133
|
export declare function readWorkspaceFile(params: WorkspaceFileParams): Promise<ReadWorkspaceFileResult>;
|
|
134
|
+
/**
|
|
135
|
+
* 读取工作区条目的属性信息。
|
|
136
|
+
* 主流程:解析安全路径 -> 读取 stat/lstat -> 文件额外尝试解析图片尺寸。
|
|
137
|
+
*/
|
|
138
|
+
export declare function getWorkspaceEntryProperties(params: DeleteWorkspaceEntryParams): Promise<WorkspaceEntryPropertiesResult>;
|
|
139
|
+
/**
|
|
140
|
+
* 修改工作区条目权限。
|
|
141
|
+
* 主流程:校验八进制权限 -> 解析安全路径 -> 非递归只改目标,递归目录先收集所有非符号链接子项后逐一 chmod。
|
|
142
|
+
*/
|
|
143
|
+
export declare function chmodWorkspaceEntry(params: ChmodWorkspaceEntryParams): Promise<ChmodWorkspaceEntryResult>;
|
|
96
144
|
/**
|
|
97
145
|
* 返回工作区内 Word 文档的预览元数据;docx 由前端下载原文件后渲染,旧版 doc 明确提示不支持。
|
|
98
146
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace-files.d.ts","sourceRoot":"","sources":["../../src/services/workspace-files.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAqDH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,OAAO,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,4BAA4B;IAC3C,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,iBAAiB,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,uBAAuB;IACtC,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,8BAA8B;IAC7C,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,GAAG,aAAa,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,uBAAuB;IACtC,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,6BAA6B;IAC5C,EAAE,EAAE,IAAI,CAAC;IACT,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,UAAU,mBAAmB;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,mBAAmB;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,UAAU,wBAAyB,SAAQ,mBAAmB;IAC5D,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,0BAA2B,SAAQ,mBAAmB;IAC9D,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,UAAU,0BAA2B,SAAQ,mBAAmB;IAC9D,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,wBAAyB,SAAQ,mBAAmB;IAC5D,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,UAAU,0BAA2B,SAAQ,mBAAmB;IAC9D,UAAU,EAAE,MAAM,CAAC;CACpB;
|
|
1
|
+
{"version":3,"file":"workspace-files.d.ts","sourceRoot":"","sources":["../../src/services/workspace-files.ts"],"names":[],"mappings":"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"}
|
|
@@ -151,43 +151,149 @@ function normalizeUploadedRelativePath(rawPath, fallbackName) {
|
|
|
151
151
|
}
|
|
152
152
|
return path.join(...segments);
|
|
153
153
|
}
|
|
154
|
-
function
|
|
155
|
-
return
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
if (
|
|
181
|
-
return
|
|
182
|
-
}
|
|
183
|
-
return
|
|
184
|
-
|
|
185
|
-
.
|
|
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
|
-
},
|
|
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;
|
|
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":"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"}
|
|
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);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-server.test.js","sourceRoot":"","sources":["../src/mcp-server.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mcp-server.test.js","sourceRoot":"","sources":["../src/mcp-server.test.ts"],"names":[],"mappings":"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"}
|