@opensumi/ide-ai-native 3.9.1-next-1749023860.0 → 3.9.1-next-1749115679.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/lib/browser/mcp/mcp-server.feature.registry.d.ts.map +1 -1
- package/lib/browser/mcp/mcp-server.feature.registry.js +7 -1
- package/lib/browser/mcp/mcp-server.feature.registry.js.map +1 -1
- package/lib/browser/mcp/tools/createNewFileWithText.d.ts +1 -3
- package/lib/browser/mcp/tools/createNewFileWithText.d.ts.map +1 -1
- package/lib/browser/mcp/tools/createNewFileWithText.js +14 -40
- package/lib/browser/mcp/tools/createNewFileWithText.js.map +1 -1
- package/lib/browser/mcp/tools/fileSearch.d.ts.map +1 -1
- package/lib/browser/mcp/tools/fileSearch.js +9 -5
- package/lib/browser/mcp/tools/fileSearch.js.map +1 -1
- package/lib/browser/mcp/tools/grepSearch.d.ts.map +1 -1
- package/lib/browser/mcp/tools/grepSearch.js +22 -10
- package/lib/browser/mcp/tools/grepSearch.js.map +1 -1
- package/lib/browser/mcp/tools/handlers/CreateNewFileWithText.d.ts +15 -0
- package/lib/browser/mcp/tools/handlers/CreateNewFileWithText.d.ts.map +1 -0
- package/lib/browser/mcp/tools/handlers/CreateNewFileWithText.js +53 -0
- package/lib/browser/mcp/tools/handlers/CreateNewFileWithText.js.map +1 -0
- package/lib/browser/mcp/tools/handlers/ListDir.js +1 -1
- package/lib/browser/mcp/tools/handlers/ListDir.js.map +1 -1
- package/lib/browser/mcp/tools/handlers/ReadFile.js +1 -1
- package/lib/browser/mcp/tools/handlers/ReadFile.js.map +1 -1
- package/lib/browser/mcp/tools/handlers/RunCommand.d.ts +11 -1
- package/lib/browser/mcp/tools/handlers/RunCommand.d.ts.map +1 -1
- package/lib/browser/mcp/tools/handlers/RunCommand.js +11 -4
- package/lib/browser/mcp/tools/handlers/RunCommand.js.map +1 -1
- package/lib/browser/mcp/tools/listDir.d.ts.map +1 -1
- package/lib/browser/mcp/tools/listDir.js +19 -15
- package/lib/browser/mcp/tools/listDir.js.map +1 -1
- package/lib/node/mcp-server.sse.d.ts +187 -1
- package/lib/node/mcp-server.sse.d.ts.map +1 -1
- package/lib/node/mcp-server.sse.js +2 -2
- package/lib/node/mcp-server.sse.js.map +1 -1
- package/lib/node/mcp-server.stdio.d.ts +187 -1
- package/lib/node/mcp-server.stdio.d.ts.map +1 -1
- package/package.json +26 -26
- package/src/browser/mcp/mcp-server.feature.registry.ts +6 -1
- package/src/browser/mcp/tools/createNewFileWithText.ts +17 -46
- package/src/browser/mcp/tools/fileSearch.ts +8 -5
- package/src/browser/mcp/tools/grepSearch.ts +32 -21
- package/src/browser/mcp/tools/handlers/CreateNewFileWithText.ts +49 -0
- package/src/browser/mcp/tools/handlers/ListDir.ts +2 -2
- package/src/browser/mcp/tools/handlers/ReadFile.ts +2 -2
- package/src/browser/mcp/tools/handlers/RunCommand.ts +21 -14
- package/src/browser/mcp/tools/listDir.ts +15 -12
- package/src/node/mcp-server.sse.ts +1 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-server.feature.registry.d.ts","sourceRoot":"","sources":["../../../src/browser/mcp/mcp-server.feature.registry.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,kBAAkB,EAAE,4BAA4B,EAAa,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAU1G,qBACa,iBAAkB,YAAW,kBAAkB;IAC1D,OAAO,CAAC,KAAK,CAA2B;IACxC,OAAO,CAAC,cAAc,CAA8D;IAEpF,OAAO,CAAC,kBAAkB,CAGxB;IAGF,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAU;IAGrC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAc;IAEzC,OAAO,KAAK,MAAM,GAEjB;IAED,+BAA+B;IAC/B,IAAI,iBAAiB,CAAC,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,EAErE;IAED,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,SAA0B,GAAG,iBAAiB,GAAG,SAAS;IAI7F,eAAe,CAAC,IAAI,EAAE,iBAAiB,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"mcp-server.feature.registry.d.ts","sourceRoot":"","sources":["../../../src/browser/mcp/mcp-server.feature.registry.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,kBAAkB,EAAE,4BAA4B,EAAa,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAU1G,qBACa,iBAAkB,YAAW,kBAAkB;IAC1D,OAAO,CAAC,KAAK,CAA2B;IACxC,OAAO,CAAC,cAAc,CAA8D;IAEpF,OAAO,CAAC,kBAAkB,CAGxB;IAGF,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAU;IAGrC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAc;IAEzC,OAAO,KAAK,MAAM,GAEjB;IAED,+BAA+B;IAC/B,IAAI,iBAAiB,CAAC,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,EAErE;IAED,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,SAA0B,GAAG,iBAAiB,GAAG,SAAS;IAI7F,eAAe,CAAC,IAAI,EAAE,iBAAiB,GAAG,IAAI;IAS9C,qBAAqB,CACnB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,4BAA4B,CAAC,EACjD,UAAU,SAA0B,GACnC,IAAI;IAIP,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC,EAAE,CAAC,4BAA4B,CAAC,GAAG,SAAS;IAIlF,WAAW,IAAI,iBAAiB,EAAE;IAI5B,WAAW,CACf,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,GAAG,GACR,OAAO,CAAC;QACT,OAAO,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,EAAE,CAAC;QAC1C,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,CAAC;IAuBF,OAAO,CAAC,cAAc;CAavB"}
|
|
@@ -31,7 +31,13 @@ let MCPServerRegistry = class MCPServerRegistry {
|
|
|
31
31
|
return this.tools.find((tool) => (0, utils_1.getToolName)(tool.name, serverName) === name);
|
|
32
32
|
}
|
|
33
33
|
registerMCPTool(tool) {
|
|
34
|
-
this.tools.
|
|
34
|
+
const existingIndex = this.tools.findIndex((t) => t.name === tool.name);
|
|
35
|
+
if (existingIndex !== -1) {
|
|
36
|
+
this.tools[existingIndex] = tool;
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
this.tools.push(tool);
|
|
40
|
+
}
|
|
35
41
|
}
|
|
36
42
|
registerToolComponent(name, component, serverName = common_1.BUILTIN_MCP_SERVER_NAME) {
|
|
37
43
|
this.toolComponents[(0, utils_1.getToolName)(name, serverName)] = component;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-server.feature.registry.js","sourceRoot":"","sources":["../../../src/browser/mcp/mcp-server.feature.registry.ts"],"names":[],"mappings":";;;;AAAA,iCAAiC;AACjC,qCAAqD;AACrD,+DAAgF;AAEhF,yCAAuD;AACvD,8CAAiD;AAGjD,MAAM,aAAa;IACjB,YAA6B,MAAe;QAAf,WAAM,GAAN,MAAM,CAAS;IAAG,CAAC;IAEhD,UAAU,CAAC,OAAe;QACxB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC;CACF;AAGM,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IAAvB;QACG,UAAK,GAAwB,EAAE,CAAC;QAChC,mBAAc,GAA2D,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"mcp-server.feature.registry.js","sourceRoot":"","sources":["../../../src/browser/mcp/mcp-server.feature.registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import { IMCPServerRegistry, MCPServerContribution, MCPToolDefinition } from '../../types';
|
|
2
2
|
export declare class CreateNewFileWithTextTool implements MCPServerContribution {
|
|
3
|
-
private readonly
|
|
4
|
-
private readonly fileService;
|
|
5
|
-
private applyService;
|
|
3
|
+
private readonly createNewFileWithTextHandler;
|
|
6
4
|
registerMCPServer(registry: IMCPServerRegistry): void;
|
|
7
5
|
getToolDefinition(): MCPToolDefinition;
|
|
8
6
|
private handler;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createNewFileWithText.d.ts","sourceRoot":"","sources":["../../../../src/browser/mcp/tools/createNewFileWithText.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"createNewFileWithText.d.ts","sourceRoot":"","sources":["../../../../src/browser/mcp/tools/createNewFileWithText.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,kBAAkB,EAAa,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAetG,qBACa,yBAA0B,YAAW,qBAAqB;IAErE,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAA+B;IAE5E,iBAAiB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,IAAI;IAKrD,iBAAiB,IAAI,iBAAiB;YAiBxB,OAAO;CAetB"}
|
|
@@ -5,15 +5,18 @@ const tslib_1 = require("tslib");
|
|
|
5
5
|
const zod_1 = require("zod");
|
|
6
6
|
const di_1 = require("@opensumi/di");
|
|
7
7
|
const ide_core_common_1 = require("@opensumi/ide-core-common");
|
|
8
|
-
const ide_file_service_1 = require("@opensumi/ide-file-service");
|
|
9
|
-
const ide_workspace_1 = require("@opensumi/ide-workspace");
|
|
10
8
|
const types_1 = require("../../types");
|
|
11
|
-
const base_apply_service_1 = require("../base-apply.service");
|
|
12
9
|
const EditFile_1 = require("./components/EditFile");
|
|
13
|
-
const
|
|
10
|
+
const CreateNewFileWithText_1 = require("./handlers/CreateNewFileWithText");
|
|
11
|
+
const inputSchema = zod_1.z
|
|
12
|
+
.object({
|
|
14
13
|
target_file: zod_1.z.string().describe('The relative path where the file should be created'),
|
|
15
14
|
code_edit: zod_1.z.string().describe('The content to write into the new file'),
|
|
16
|
-
})
|
|
15
|
+
})
|
|
16
|
+
.transform((data) => ({
|
|
17
|
+
targetFile: data.target_file,
|
|
18
|
+
codeEdit: data.code_edit,
|
|
19
|
+
}));
|
|
17
20
|
let CreateNewFileWithTextTool = class CreateNewFileWithTextTool {
|
|
18
21
|
registerMCPServer(registry) {
|
|
19
22
|
registry.registerMCPTool(this.getToolDefinition());
|
|
@@ -36,31 +39,10 @@ let CreateNewFileWithTextTool = class CreateNewFileWithTextTool {
|
|
|
36
39
|
}
|
|
37
40
|
async handler(args, logger) {
|
|
38
41
|
try {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
if (!workspaceRoots || workspaceRoots.length === 0) {
|
|
42
|
-
logger.appendLine('Error: Cannot determine project directory');
|
|
43
|
-
return {
|
|
44
|
-
content: [{ type: 'text', text: "can't find project dir" }],
|
|
45
|
-
isError: true,
|
|
46
|
-
};
|
|
47
|
-
}
|
|
48
|
-
// 构建完整的文件路径
|
|
49
|
-
const rootUri = ide_core_common_1.URI.parse(workspaceRoots[0].uri);
|
|
50
|
-
const fullPath = ide_core_common_1.path.join(rootUri.codeUri.fsPath, args.target_file);
|
|
51
|
-
const fileUri = ide_core_common_1.URI.file(fullPath);
|
|
52
|
-
// 创建父目录
|
|
53
|
-
const parentDir = ide_core_common_1.path.dirname(fullPath);
|
|
54
|
-
const parentUri = ide_core_common_1.URI.file(parentDir);
|
|
55
|
-
await this.fileService.createFolder(parentUri.toString());
|
|
56
|
-
// 创建文件
|
|
57
|
-
await this.fileService.createFile(fileUri.toString());
|
|
58
|
-
// 使用 applyService 写入文件内容
|
|
59
|
-
const codeBlock = await this.applyService.registerCodeBlock(args.target_file, args.code_edit, args.toolCallId);
|
|
60
|
-
await this.applyService.apply(codeBlock);
|
|
61
|
-
logger.appendLine(`Successfully created file at: ${args.target_file}`);
|
|
42
|
+
await this.createNewFileWithTextHandler.handler(args, args.toolCallId);
|
|
43
|
+
logger.appendLine(`Successfully created file at: ${args.targetFile}`);
|
|
62
44
|
return {
|
|
63
|
-
content: [{ type: 'text', text: '
|
|
45
|
+
content: [{ type: 'text', text: 'create file with text success' }],
|
|
64
46
|
};
|
|
65
47
|
}
|
|
66
48
|
catch (error) {
|
|
@@ -74,17 +56,9 @@ let CreateNewFileWithTextTool = class CreateNewFileWithTextTool {
|
|
|
74
56
|
};
|
|
75
57
|
exports.CreateNewFileWithTextTool = CreateNewFileWithTextTool;
|
|
76
58
|
tslib_1.__decorate([
|
|
77
|
-
(0, di_1.Autowired)(
|
|
78
|
-
tslib_1.__metadata("design:type",
|
|
79
|
-
], CreateNewFileWithTextTool.prototype, "
|
|
80
|
-
tslib_1.__decorate([
|
|
81
|
-
(0, di_1.Autowired)(ide_file_service_1.IFileServiceClient),
|
|
82
|
-
tslib_1.__metadata("design:type", Object)
|
|
83
|
-
], CreateNewFileWithTextTool.prototype, "fileService", void 0);
|
|
84
|
-
tslib_1.__decorate([
|
|
85
|
-
(0, di_1.Autowired)(base_apply_service_1.BaseApplyService),
|
|
86
|
-
tslib_1.__metadata("design:type", base_apply_service_1.BaseApplyService)
|
|
87
|
-
], CreateNewFileWithTextTool.prototype, "applyService", void 0);
|
|
59
|
+
(0, di_1.Autowired)(CreateNewFileWithText_1.CreateNewFileWithTextHandler),
|
|
60
|
+
tslib_1.__metadata("design:type", CreateNewFileWithText_1.CreateNewFileWithTextHandler)
|
|
61
|
+
], CreateNewFileWithTextTool.prototype, "createNewFileWithTextHandler", void 0);
|
|
88
62
|
exports.CreateNewFileWithTextTool = CreateNewFileWithTextTool = tslib_1.__decorate([
|
|
89
63
|
(0, ide_core_common_1.Domain)(types_1.MCPServerContribution)
|
|
90
64
|
], CreateNewFileWithTextTool);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createNewFileWithText.js","sourceRoot":"","sources":["../../../../src/browser/mcp/tools/createNewFileWithText.ts"],"names":[],"mappings":";;;;AAAA,6BAAwB;AAExB,qCAAyC;AACzC,+
|
|
1
|
+
{"version":3,"file":"createNewFileWithText.js","sourceRoot":"","sources":["../../../../src/browser/mcp/tools/createNewFileWithText.ts"],"names":[],"mappings":";;;;AAAA,6BAAwB;AAExB,qCAAyC;AACzC,+DAAmD;AAEnD,uCAAsG;AAEtG,oDAA8D;AAC9D,4EAAgF;AAEhF,MAAM,WAAW,GAAG,OAAC;KAClB,MAAM,CAAC;IACN,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oDAAoD,CAAC;IACtF,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;CACzE,CAAC;KACD,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACpB,UAAU,EAAE,IAAI,CAAC,WAAW;IAC5B,QAAQ,EAAE,IAAI,CAAC,SAAS;CACzB,CAAC,CAAC,CAAC;AAGC,IAAM,yBAAyB,GAA/B,MAAM,yBAAyB;IAIpC,iBAAiB,CAAC,QAA4B;QAC5C,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;QACnD,QAAQ,CAAC,qBAAqB,CAAC,2BAA2B,EAAE,gCAAqB,CAAC,CAAC;IACrF,CAAC;IAED,iBAAiB;QACf,OAAO;YACL,IAAI,EAAE,2BAA2B;YACjC,KAAK,EAAE,aAAa;YACpB,KAAK,EAAE,CAAC;YACR,WAAW,EACT,iHAAiH;gBACjH,iEAAiE;gBACjE,yCAAyC;gBACzC,2DAA2D;gBAC3D,2EAA2E;gBAC3E,yEAAyE;YAC3E,WAAW;YACX,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;SACjC,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,OAAO,CAAC,IAA0D,EAAE,MAAiB;QACjG,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,4BAA4B,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YACvE,MAAM,CAAC,UAAU,CAAC,iCAAiC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;YACtE,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,+BAA+B,EAAE,CAAC;aACnE,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,UAAU,CAAC,+BAA+B,KAAK,EAAE,CAAC,CAAC;YAC1D,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;gBAChD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAA;AAzCY,8DAAyB;AAEnB;IADhB,IAAA,cAAS,EAAC,oDAA4B,CAAC;sCACO,oDAA4B;+EAAC;oCAFjE,yBAAyB;IADrC,IAAA,wBAAM,EAAC,6BAAqB,CAAC;GACjB,yBAAyB,CAyCrC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fileSearch.d.ts","sourceRoot":"","sources":["../../../../src/browser/mcp/tools/fileSearch.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,kBAAkB,EAAa,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAatG,qBACa,cAAe,YAAW,qBAAqB;IAE1D,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAoB;IAGrD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAqB;IAGvD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAsB;IAE1D,iBAAiB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,IAAI;IAKrD,iBAAiB,IAAI,iBAAiB;YAYxB,OAAO;
|
|
1
|
+
{"version":3,"file":"fileSearch.d.ts","sourceRoot":"","sources":["../../../../src/browser/mcp/tools/fileSearch.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,kBAAkB,EAAa,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAatG,qBACa,cAAe,YAAW,qBAAqB;IAE1D,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAoB;IAGrD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAqB;IAGvD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAsB;IAE1D,iBAAiB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,IAAI;IAKrD,iBAAiB,IAAI,iBAAiB;YAYxB,OAAO;IAuDrB,OAAO,CAAC,cAAc;CAKvB"}
|
|
@@ -36,6 +36,7 @@ let FileSearchTool = class FileSearchTool {
|
|
|
36
36
|
};
|
|
37
37
|
}
|
|
38
38
|
async handler(args, logger) {
|
|
39
|
+
var _a;
|
|
39
40
|
if (!args.query) {
|
|
40
41
|
throw new Error('No fileSearch parameters provided. Need to give a query.');
|
|
41
42
|
}
|
|
@@ -62,11 +63,14 @@ let FileSearchTool = class FileSearchTool {
|
|
|
62
63
|
};
|
|
63
64
|
});
|
|
64
65
|
const messages = this.chatInternalService.sessionModel.history.getMessages();
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
66
|
+
const messageId = (_a = messages[messages.length - 1]) === null || _a === void 0 ? void 0 : _a.id;
|
|
67
|
+
if (messageId) {
|
|
68
|
+
this.chatInternalService.sessionModel.history.setMessageAdditional(messageId, {
|
|
69
|
+
[args.toolCallId]: {
|
|
70
|
+
files,
|
|
71
|
+
},
|
|
72
|
+
});
|
|
73
|
+
}
|
|
70
74
|
logger.appendLine(`Found ${files.length} files matching "${args.query}"`);
|
|
71
75
|
return {
|
|
72
76
|
content: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fileSearch.js","sourceRoot":"","sources":["../../../../src/browser/mcp/tools/fileSearch.ts"],"names":[],"mappings":";;;;AAAA,6BAAwB;AAExB,qCAAyC;AACzC,wGAA6F;AAC7F,+DAAwD;AACxD,qFAAmG;AACnG,iEAAiG;AACjG,2DAA4D;AAE5D,4CAAuD;AACvD,4EAAuE;AACvE,uCAAsG;AAEtG,wEAA0E;AAE1E,MAAM,WAAW,GAAG,OAAC,CAAC,MAAM,CAAC;IAC3B,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IAC1D,WAAW,EAAE,OAAC;SACX,MAAM,EAAE;SACR,QAAQ,CAAC,iGAAiG,CAAC;CAC/G,CAAC,CAAC;AAEH,MAAM,WAAW,GAAG,EAAE,CAAC;AAGhB,IAAM,cAAc,GAApB,MAAM,cAAc;IAUzB,iBAAiB,CAAC,QAA4B;QAC5C,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;QACnD,QAAQ,CAAC,qBAAqB,CAAC,aAAa,EAAE,4CAAuB,CAAC,CAAC;IACzE,CAAC;IAED,iBAAiB;QACf,OAAO;YACL,IAAI,EAAE,aAAa;YACnB,KAAK,EAAE,cAAc;YACrB,KAAK,EAAE,CAAC;YACR,WAAW,EACT,sPAAsP;YACxP,WAAW;YACX,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;SACjC,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,OAAO,CAAC,IAA0D,EAAE,MAAiB
|
|
1
|
+
{"version":3,"file":"fileSearch.js","sourceRoot":"","sources":["../../../../src/browser/mcp/tools/fileSearch.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grepSearch.d.ts","sourceRoot":"","sources":["../../../../src/browser/mcp/tools/grepSearch.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,kBAAkB,EAAa,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"grepSearch.d.ts","sourceRoot":"","sources":["../../../../src/browser/mcp/tools/grepSearch.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,kBAAkB,EAAa,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AA4BtG,qBACa,cAAe,YAAW,qBAAqB;IAE1D,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAoB;IAGrD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA6B;IAG3D,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAsB;IAE1D,iBAAiB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,IAAI;IAKrD,iBAAiB,IAAI,iBAAiB;YAaxB,OAAO;CAoEtB"}
|
|
@@ -12,7 +12,8 @@ const common_1 = require("../../../common");
|
|
|
12
12
|
const chat_internal_service_1 = require("../../chat/chat.internal.service");
|
|
13
13
|
const types_1 = require("../../types");
|
|
14
14
|
const ExpandableFileList_1 = require("./components/ExpandableFileList");
|
|
15
|
-
const inputSchema = zod_1.z
|
|
15
|
+
const inputSchema = zod_1.z
|
|
16
|
+
.object({
|
|
16
17
|
query: zod_1.z.string().describe('The regex pattern to search for'),
|
|
17
18
|
case_sensitive: zod_1.z.boolean().optional().describe('Whether the search should be case sensitive'),
|
|
18
19
|
include_pattern: zod_1.z
|
|
@@ -24,7 +25,14 @@ const inputSchema = zod_1.z.object({
|
|
|
24
25
|
.string()
|
|
25
26
|
.optional()
|
|
26
27
|
.describe('One sentence explanation as to why this tool is being used, and how it contributes to the goal.'),
|
|
27
|
-
})
|
|
28
|
+
})
|
|
29
|
+
.transform((data) => ({
|
|
30
|
+
query: data.query,
|
|
31
|
+
caseSensitive: data.case_sensitive,
|
|
32
|
+
includePattern: data.include_pattern,
|
|
33
|
+
excludePattern: data.exclude_pattern,
|
|
34
|
+
explanation: data.explanation,
|
|
35
|
+
}));
|
|
28
36
|
const MAX_RESULTS = 50;
|
|
29
37
|
let GrepSearchTool = class GrepSearchTool {
|
|
30
38
|
registerMCPServer(registry) {
|
|
@@ -56,9 +64,9 @@ let GrepSearchTool = class GrepSearchTool {
|
|
|
56
64
|
// 使用 OpenSumi 的文件搜索 API
|
|
57
65
|
const searchPattern = args.query;
|
|
58
66
|
await this.searchService.doSearch(searchPattern, {
|
|
59
|
-
isMatchCase: !!args.
|
|
60
|
-
include: (_a = args.
|
|
61
|
-
exclude: (_b = args.
|
|
67
|
+
isMatchCase: !!args.caseSensitive,
|
|
68
|
+
include: (_a = args.includePattern) === null || _a === void 0 ? void 0 : _a.split(','),
|
|
69
|
+
exclude: (_b = args.excludePattern) === null || _b === void 0 ? void 0 : _b.split(','),
|
|
62
70
|
maxResults: MAX_RESULTS,
|
|
63
71
|
isUseRegexp: true,
|
|
64
72
|
isToggleOpen: false,
|
|
@@ -69,6 +77,7 @@ let GrepSearchTool = class GrepSearchTool {
|
|
|
69
77
|
}, ide_core_common_1.CancellationToken.None);
|
|
70
78
|
const deferred = new ide_core_common_1.Deferred();
|
|
71
79
|
this.searchService.onDidChange(() => {
|
|
80
|
+
var _a;
|
|
72
81
|
if (this.searchService.isSearching) {
|
|
73
82
|
return;
|
|
74
83
|
}
|
|
@@ -91,11 +100,14 @@ let GrepSearchTool = class GrepSearchTool {
|
|
|
91
100
|
}
|
|
92
101
|
deferred.resolve(results.join('\n\n'));
|
|
93
102
|
const messages = this.chatInternalService.sessionModel.history.getMessages();
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
103
|
+
const messageId = (_a = messages[messages.length - 1]) === null || _a === void 0 ? void 0 : _a.id;
|
|
104
|
+
if (messageId) {
|
|
105
|
+
this.chatInternalService.sessionModel.history.setMessageAdditional(messageId, {
|
|
106
|
+
[args.toolCallId]: {
|
|
107
|
+
files,
|
|
108
|
+
},
|
|
109
|
+
});
|
|
110
|
+
}
|
|
99
111
|
});
|
|
100
112
|
const text = await deferred.promise;
|
|
101
113
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grepSearch.js","sourceRoot":"","sources":["../../../../src/browser/mcp/tools/grepSearch.ts"],"names":[],"mappings":";;;;AAAA,6BAAwB;AAExB,qCAAyC;AACzC,+DAAgF;AAChF,qDAAwF;AACxF,oFAA6F;AAC7F,2DAA4D;AAE5D,4CAAuD;AACvD,4EAAuE;AACvE,uCAAsG;AAEtG,wEAA0E;AAE1E,MAAM,WAAW,GAAG,OAAC,
|
|
1
|
+
{"version":3,"file":"grepSearch.js","sourceRoot":"","sources":["../../../../src/browser/mcp/tools/grepSearch.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { CodeBlockData } from '../../../../common/types';
|
|
2
|
+
/**
|
|
3
|
+
* 创建新文件处理器
|
|
4
|
+
* 用于处理创建新文件并写入内容的操作
|
|
5
|
+
*/
|
|
6
|
+
export declare class CreateNewFileWithTextHandler {
|
|
7
|
+
private readonly workspaceService;
|
|
8
|
+
private readonly fileService;
|
|
9
|
+
private applyService;
|
|
10
|
+
handler(params: {
|
|
11
|
+
targetFile: string;
|
|
12
|
+
codeEdit: string;
|
|
13
|
+
}, toolCallId: string): Promise<CodeBlockData>;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=CreateNewFileWithText.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CreateNewFileWithText.d.ts","sourceRoot":"","sources":["../../../../../src/browser/mcp/tools/handlers/CreateNewFileWithText.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAGzD;;;GAGG;AACH,qBACa,4BAA4B;IAEvC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAoB;IAGrD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAqB;IAGjD,OAAO,CAAC,YAAY,CAAmB;IAEjC,OAAO,CAAC,MAAM,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;CAyB5G"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CreateNewFileWithTextHandler = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const di_1 = require("@opensumi/di");
|
|
6
|
+
const ide_core_common_1 = require("@opensumi/ide-core-common");
|
|
7
|
+
const ide_file_service_1 = require("@opensumi/ide-file-service");
|
|
8
|
+
const ide_workspace_1 = require("@opensumi/ide-workspace");
|
|
9
|
+
const base_apply_service_1 = require("../../base-apply.service");
|
|
10
|
+
/**
|
|
11
|
+
* 创建新文件处理器
|
|
12
|
+
* 用于处理创建新文件并写入内容的操作
|
|
13
|
+
*/
|
|
14
|
+
let CreateNewFileWithTextHandler = class CreateNewFileWithTextHandler {
|
|
15
|
+
async handler(params, toolCallId) {
|
|
16
|
+
// 获取工作区根目录
|
|
17
|
+
const workspaceRoots = this.workspaceService.tryGetRoots();
|
|
18
|
+
if (!workspaceRoots || workspaceRoots.length === 0) {
|
|
19
|
+
throw new Error("can't find project dir");
|
|
20
|
+
}
|
|
21
|
+
// 构建完整的文件路径
|
|
22
|
+
const rootUri = ide_core_common_1.URI.parse(workspaceRoots[0].uri);
|
|
23
|
+
const fullPath = ide_core_common_1.path.join(rootUri.codeUri.fsPath, params.targetFile);
|
|
24
|
+
const fileUri = ide_core_common_1.URI.file(fullPath);
|
|
25
|
+
// 创建父目录
|
|
26
|
+
const parentDir = ide_core_common_1.path.dirname(fullPath);
|
|
27
|
+
const parentUri = ide_core_common_1.URI.file(parentDir);
|
|
28
|
+
await this.fileService.createFolder(parentUri.toString());
|
|
29
|
+
// 创建文件
|
|
30
|
+
await this.fileService.createFile(fileUri.toString());
|
|
31
|
+
// 使用 applyService 写入文件内容
|
|
32
|
+
const codeBlock = await this.applyService.registerCodeBlock(params.targetFile, params.codeEdit, toolCallId);
|
|
33
|
+
await this.applyService.apply(codeBlock);
|
|
34
|
+
return codeBlock;
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
exports.CreateNewFileWithTextHandler = CreateNewFileWithTextHandler;
|
|
38
|
+
tslib_1.__decorate([
|
|
39
|
+
(0, di_1.Autowired)(ide_workspace_1.IWorkspaceService),
|
|
40
|
+
tslib_1.__metadata("design:type", Object)
|
|
41
|
+
], CreateNewFileWithTextHandler.prototype, "workspaceService", void 0);
|
|
42
|
+
tslib_1.__decorate([
|
|
43
|
+
(0, di_1.Autowired)(ide_file_service_1.IFileServiceClient),
|
|
44
|
+
tslib_1.__metadata("design:type", Object)
|
|
45
|
+
], CreateNewFileWithTextHandler.prototype, "fileService", void 0);
|
|
46
|
+
tslib_1.__decorate([
|
|
47
|
+
(0, di_1.Autowired)(base_apply_service_1.BaseApplyService),
|
|
48
|
+
tslib_1.__metadata("design:type", base_apply_service_1.BaseApplyService)
|
|
49
|
+
], CreateNewFileWithTextHandler.prototype, "applyService", void 0);
|
|
50
|
+
exports.CreateNewFileWithTextHandler = CreateNewFileWithTextHandler = tslib_1.__decorate([
|
|
51
|
+
(0, di_1.Injectable)()
|
|
52
|
+
], CreateNewFileWithTextHandler);
|
|
53
|
+
//# sourceMappingURL=CreateNewFileWithText.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CreateNewFileWithText.js","sourceRoot":"","sources":["../../../../../src/browser/mcp/tools/handlers/CreateNewFileWithText.ts"],"names":[],"mappings":";;;;AAAA,qCAAqD;AACrD,+DAAsD;AACtD,iEAAgE;AAChE,2DAA4D;AAG5D,iEAA4D;AAE5D;;;GAGG;AAEI,IAAM,4BAA4B,GAAlC,MAAM,4BAA4B;IAUvC,KAAK,CAAC,OAAO,CAAC,MAAgD,EAAE,UAAkB;QAChF,WAAW;QACX,MAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC;QAC3D,IAAI,CAAC,cAAc,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnD,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC5C,CAAC;QAED,YAAY;QACZ,MAAM,OAAO,GAAG,qBAAG,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACjD,MAAM,QAAQ,GAAG,sBAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;QACtE,MAAM,OAAO,GAAG,qBAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEnC,QAAQ;QACR,MAAM,SAAS,GAAG,sBAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACzC,MAAM,SAAS,GAAG,qBAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtC,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;QAE1D,OAAO;QACP,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QAEtD,yBAAyB;QACzB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC5G,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACzC,OAAO,SAAS,CAAC;IACnB,CAAC;CACF,CAAA;AAnCY,oEAA4B;AAEtB;IADhB,IAAA,cAAS,EAAC,iCAAiB,CAAC;;sEACwB;AAGpC;IADhB,IAAA,cAAS,EAAC,qCAAkB,CAAC;;iEACmB;AAGzC;IADP,IAAA,cAAS,EAAC,qCAAgB,CAAC;sCACN,qCAAgB;kEAAC;uCAR5B,4BAA4B;IADxC,IAAA,eAAU,GAAE;GACA,4BAA4B,CAmCxC"}
|
|
@@ -58,7 +58,7 @@ let ListDirHandler = class ListDirHandler {
|
|
|
58
58
|
throw new Error('No list dir parameters provided. Need to give at least the path.');
|
|
59
59
|
}
|
|
60
60
|
// 解析相对路径
|
|
61
|
-
const absolutePath =
|
|
61
|
+
const absolutePath = ide_core_browser_1.path.join(this.appConfig.workspaceDir, relativeWorkspacePath);
|
|
62
62
|
const fileStat = await this.fileSystemService.getFileStat(absolutePath, true);
|
|
63
63
|
// 验证路径有效性
|
|
64
64
|
if (!fileStat || !fileStat.isDirectory) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListDir.js","sourceRoot":"","sources":["../../../../../src/browser/mcp/tools/handlers/ListDir.ts"],"names":[],"mappings":";;;;AAAA,qCAAqD;AACrD,
|
|
1
|
+
{"version":3,"file":"ListDir.js","sourceRoot":"","sources":["../../../../../src/browser/mcp/tools/handlers/ListDir.ts"],"names":[],"mappings":"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"}
|
|
@@ -67,7 +67,7 @@ let FileHandler = FileHandler_1 = class FileHandler {
|
|
|
67
67
|
if (!fileParams) {
|
|
68
68
|
throw new Error('No read file parameters provided. Need to give at least the path.');
|
|
69
69
|
}
|
|
70
|
-
const uri = new ide_core_common_1.URI(
|
|
70
|
+
const uri = new ide_core_common_1.URI(ide_core_common_1.path.join(this.appConfig.workspaceDir, fileParams.relativeWorkspacePath));
|
|
71
71
|
if (!uri) {
|
|
72
72
|
const similarFiles = await this.findSimilarFiles(fileParams.relativeWorkspacePath, 3);
|
|
73
73
|
throw this.createFileNotFoundError(fileParams.relativeWorkspacePath, similarFiles);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReadFile.js","sourceRoot":"","sources":["../../../../../src/browser/mcp/tools/handlers/ReadFile.ts"],"names":[],"mappings":";;;;;AAAA,qCAAqD;AACrD,wGAA0G;AAC1G,iEAAuD;AACvD,+
|
|
1
|
+
{"version":3,"file":"ReadFile.js","sourceRoot":"","sources":["../../../../../src/browser/mcp/tools/handlers/ReadFile.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import z from 'zod';
|
|
|
2
2
|
import { AppConfig, PreferenceService } from '@opensumi/ide-core-browser';
|
|
3
3
|
import { ITerminalController, ITerminalGroupViewService } from '@opensumi/ide-terminal-next';
|
|
4
4
|
import { MCPLogger } from '../../../types';
|
|
5
|
-
export declare const inputSchema: z.ZodObject<{
|
|
5
|
+
export declare const inputSchema: z.ZodEffects<z.ZodObject<{
|
|
6
6
|
command: z.ZodString;
|
|
7
7
|
is_background: z.ZodBoolean;
|
|
8
8
|
explanation: z.ZodString;
|
|
@@ -17,6 +17,16 @@ export declare const inputSchema: z.ZodObject<{
|
|
|
17
17
|
explanation: string;
|
|
18
18
|
is_background: boolean;
|
|
19
19
|
require_user_approval: boolean;
|
|
20
|
+
}>, {
|
|
21
|
+
command: string;
|
|
22
|
+
isBackground: boolean;
|
|
23
|
+
explanation: string;
|
|
24
|
+
requireUserApproval: boolean;
|
|
25
|
+
}, {
|
|
26
|
+
command: string;
|
|
27
|
+
explanation: string;
|
|
28
|
+
is_background: boolean;
|
|
29
|
+
require_user_approval: boolean;
|
|
20
30
|
}>;
|
|
21
31
|
export declare class RunCommandHandler {
|
|
22
32
|
protected readonly terminalController: ITerminalController;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RunCommand.d.ts","sourceRoot":"","sources":["../../../../../src/browser/mcp/tools/handlers/RunCommand.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AAGpB,OAAO,EAA6B,SAAS,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AACrG,OAAO,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAI7F,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAO3C,eAAO,MAAM,WAAW
|
|
1
|
+
{"version":3,"file":"RunCommand.d.ts","sourceRoot":"","sources":["../../../../../src/browser/mcp/tools/handlers/RunCommand.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AAGpB,OAAO,EAA6B,SAAS,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AACrG,OAAO,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAI7F,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAO3C,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;EAkBnB,CAAC;AAEN,qBACa,iBAAiB;IAE5B,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,mBAAmB,CAAC;IAG3D,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAGxC,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,yBAAyB,CAAC;IAG3D,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAExD,OAAO,CAAC,mBAAmB,CAAwC;IAEnE,OAAO,CAAC,UAAU,CAAK;IAEvB,oBAAoB,CAAC,OAAO,EAAE,MAAM;;;;;IAQpC,OAAO,CAAC,gBAAgB;IAYlB,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,GAAG;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,EAAE,MAAM,EAAE,SAAS;kBA2BpD,OAAO;iBAAW;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,EAAE;;IAuCzF,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO;CAQjD"}
|
|
@@ -12,7 +12,8 @@ const color = {
|
|
|
12
12
|
italic: '\x1b[3m',
|
|
13
13
|
reset: '\x1b[0m',
|
|
14
14
|
};
|
|
15
|
-
exports.inputSchema = zod_1.default
|
|
15
|
+
exports.inputSchema = zod_1.default
|
|
16
|
+
.object({
|
|
16
17
|
command: zod_1.default.string().describe('The terminal command to execute'),
|
|
17
18
|
is_background: zod_1.default.boolean().describe('Whether the command should be run in the background'),
|
|
18
19
|
explanation: zod_1.default
|
|
@@ -21,7 +22,13 @@ exports.inputSchema = zod_1.default.object({
|
|
|
21
22
|
require_user_approval: zod_1.default
|
|
22
23
|
.boolean()
|
|
23
24
|
.describe("Whether the user must approve the command before it is executed. Only set this to false if the command is safe and if it matches the user's requirements for commands that should be executed automatically."),
|
|
24
|
-
})
|
|
25
|
+
})
|
|
26
|
+
.transform((data) => ({
|
|
27
|
+
command: data.command,
|
|
28
|
+
isBackground: data.is_background,
|
|
29
|
+
explanation: data.explanation,
|
|
30
|
+
requireUserApproval: data.require_user_approval,
|
|
31
|
+
}));
|
|
25
32
|
let RunCommandHandler = class RunCommandHandler {
|
|
26
33
|
constructor() {
|
|
27
34
|
this.approvalDeferredMap = new Map();
|
|
@@ -44,7 +51,7 @@ let RunCommandHandler = class RunCommandHandler {
|
|
|
44
51
|
}
|
|
45
52
|
async handler(args, logger) {
|
|
46
53
|
logger.appendLine(`Executing command: ${args.command}`);
|
|
47
|
-
if (this.isAlwaysApproval(args.
|
|
54
|
+
if (this.isAlwaysApproval(args.requireUserApproval)) {
|
|
48
55
|
const def = new promises_1.Deferred();
|
|
49
56
|
this.approvalDeferredMap.set(args.toolCallId, def);
|
|
50
57
|
const approval = await def.promise;
|
|
@@ -67,7 +74,7 @@ let RunCommandHandler = class RunCommandHandler {
|
|
|
67
74
|
this.terminalController.showTerminalPanel();
|
|
68
75
|
const result = [];
|
|
69
76
|
const def = new promises_1.Deferred();
|
|
70
|
-
if (args.
|
|
77
|
+
if (args.isBackground) {
|
|
71
78
|
def.resolve({
|
|
72
79
|
isError: false,
|
|
73
80
|
content: [{ type: 'text', text: `Successful run command ${args.command} in background.` }],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RunCommand.js","sourceRoot":"","sources":["../../../../../src/browser/mcp/tools/handlers/RunCommand.ts"],"names":[],"mappings":";;;;AAAA,sDAAoB;AAEpB,qCAAqD;AACrD,iEAAqG;AACrG,mEAA6F;AAC7F,+DAA4D;AAE5D,wDAA2E;AAG3E,MAAM,KAAK,GAAG;IACZ,MAAM,EAAE,SAAS;IACjB,KAAK,EAAE,SAAS;CACjB,CAAC;AAEW,QAAA,WAAW,GAAG,aAAC,
|
|
1
|
+
{"version":3,"file":"RunCommand.js","sourceRoot":"","sources":["../../../../../src/browser/mcp/tools/handlers/RunCommand.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listDir.d.ts","sourceRoot":"","sources":["../../../../src/browser/mcp/tools/listDir.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,kBAAkB,EAAa,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAmBtG,qBACa,WAAY,YAAW,qBAAqB;IAEvD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAGhD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAsB;IAE1D,iBAAiB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,IAAI;IAKrD,iBAAiB,IAAI,iBAAiB;YAYxB,OAAO;
|
|
1
|
+
{"version":3,"file":"listDir.d.ts","sourceRoot":"","sources":["../../../../src/browser/mcp/tools/listDir.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,kBAAkB,EAAa,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAmBtG,qBACa,WAAY,YAAW,qBAAqB;IAEvD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAGhD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAsB;IAE1D,iBAAiB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,IAAI;IAKrD,iBAAiB,IAAI,iBAAiB;YAYxB,OAAO;CAgDtB"}
|
|
@@ -39,6 +39,7 @@ let ListDirTool = class ListDirTool {
|
|
|
39
39
|
};
|
|
40
40
|
}
|
|
41
41
|
async handler(args, logger) {
|
|
42
|
+
var _a;
|
|
42
43
|
const result = await this.listDirHandler.handler(args);
|
|
43
44
|
// 构建文件 URI 列表,用于前端渲染
|
|
44
45
|
const fileUris = result.files.map((file) => {
|
|
@@ -50,21 +51,24 @@ let ListDirTool = class ListDirTool {
|
|
|
50
51
|
});
|
|
51
52
|
// 设置消息的附加数据
|
|
52
53
|
const messages = this.chatInternalService.sessionModel.history.getMessages();
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
54
|
+
const messageId = (_a = messages[messages.length - 1]) === null || _a === void 0 ? void 0 : _a.id;
|
|
55
|
+
if (messageId) {
|
|
56
|
+
this.chatInternalService.sessionModel.history.setMessageAdditional(messageId, {
|
|
57
|
+
[args.toolCallId]: {
|
|
58
|
+
files: fileUris,
|
|
59
|
+
title: `Listed directory "${args.relativeWorkspacePath}"`,
|
|
60
|
+
details: result.files.map((file) => {
|
|
61
|
+
var _a;
|
|
62
|
+
return ({
|
|
63
|
+
type: file.isDirectory ? 'dir' : 'file',
|
|
64
|
+
name: file.name,
|
|
65
|
+
info: file.isDirectory ? `${(_a = file.numChildren) !== null && _a !== void 0 ? _a : '?'} items` : `${file.size}KB, ${file.numLines} lines`,
|
|
66
|
+
lastModified: file.lastModified,
|
|
67
|
+
});
|
|
68
|
+
}),
|
|
69
|
+
},
|
|
70
|
+
});
|
|
71
|
+
}
|
|
68
72
|
logger.appendLine(`Listed ${fileUris.length} files in directory "${args.relativeWorkspacePath}"`);
|
|
69
73
|
return {
|
|
70
74
|
content: [
|