@opensumi/ide-ai-native 3.9.1-next-1747829468.0 → 3.9.1-next-1747897586.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/tools/createNewFileWithText.d.ts.map +1 -1
- package/lib/browser/mcp/tools/createNewFileWithText.js +10 -5
- package/lib/browser/mcp/tools/createNewFileWithText.js.map +1 -1
- package/lib/browser/mcp/tools/grepSearch.d.ts.map +1 -1
- package/lib/browser/mcp/tools/grepSearch.js +13 -5
- package/lib/browser/mcp/tools/grepSearch.js.map +1 -1
- 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/package.json +24 -24
- package/src/browser/mcp/tools/createNewFileWithText.ts +12 -7
- package/src/browser/mcp/tools/grepSearch.ts +24 -16
- 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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createNewFileWithText.d.ts","sourceRoot":"","sources":["../../../../src/browser/mcp/tools/createNewFileWithText.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,kBAAkB,EAAa,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"createNewFileWithText.d.ts","sourceRoot":"","sources":["../../../../src/browser/mcp/tools/createNewFileWithText.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,kBAAkB,EAAa,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAetG,qBACa,yBAA0B,YAAW,qBAAqB;IAErE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAoB;IAGrD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAqB;IAGjD,OAAO,CAAC,YAAY,CAAmB;IAEvC,iBAAiB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,IAAI;IAKrD,iBAAiB,IAAI,iBAAiB;YAiBxB,OAAO;CAyCtB"}
|
|
@@ -10,10 +10,15 @@ const ide_workspace_1 = require("@opensumi/ide-workspace");
|
|
|
10
10
|
const types_1 = require("../../types");
|
|
11
11
|
const base_apply_service_1 = require("../base-apply.service");
|
|
12
12
|
const EditFile_1 = require("./components/EditFile");
|
|
13
|
-
const inputSchema = zod_1.z
|
|
13
|
+
const inputSchema = zod_1.z
|
|
14
|
+
.object({
|
|
14
15
|
target_file: zod_1.z.string().describe('The relative path where the file should be created'),
|
|
15
16
|
code_edit: zod_1.z.string().describe('The content to write into the new file'),
|
|
16
|
-
})
|
|
17
|
+
})
|
|
18
|
+
.transform((data) => ({
|
|
19
|
+
targetFile: data.target_file,
|
|
20
|
+
codeEdit: data.code_edit,
|
|
21
|
+
}));
|
|
17
22
|
let CreateNewFileWithTextTool = class CreateNewFileWithTextTool {
|
|
18
23
|
registerMCPServer(registry) {
|
|
19
24
|
registry.registerMCPTool(this.getToolDefinition());
|
|
@@ -47,7 +52,7 @@ let CreateNewFileWithTextTool = class CreateNewFileWithTextTool {
|
|
|
47
52
|
}
|
|
48
53
|
// 构建完整的文件路径
|
|
49
54
|
const rootUri = ide_core_common_1.URI.parse(workspaceRoots[0].uri);
|
|
50
|
-
const fullPath = ide_core_common_1.path.join(rootUri.codeUri.fsPath, args.
|
|
55
|
+
const fullPath = ide_core_common_1.path.join(rootUri.codeUri.fsPath, args.targetFile);
|
|
51
56
|
const fileUri = ide_core_common_1.URI.file(fullPath);
|
|
52
57
|
// 创建父目录
|
|
53
58
|
const parentDir = ide_core_common_1.path.dirname(fullPath);
|
|
@@ -56,9 +61,9 @@ let CreateNewFileWithTextTool = class CreateNewFileWithTextTool {
|
|
|
56
61
|
// 创建文件
|
|
57
62
|
await this.fileService.createFile(fileUri.toString());
|
|
58
63
|
// 使用 applyService 写入文件内容
|
|
59
|
-
const codeBlock = await this.applyService.registerCodeBlock(args.
|
|
64
|
+
const codeBlock = await this.applyService.registerCodeBlock(args.targetFile, args.codeEdit, args.toolCallId);
|
|
60
65
|
await this.applyService.apply(codeBlock);
|
|
61
|
-
logger.appendLine(`Successfully created file at: ${args.
|
|
66
|
+
logger.appendLine(`Successfully created file at: ${args.targetFile}`);
|
|
62
67
|
return {
|
|
63
68
|
content: [{ type: 'text', text: 'ok' }],
|
|
64
69
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createNewFileWithText.js","sourceRoot":"","sources":["../../../../src/browser/mcp/tools/createNewFileWithText.ts"],"names":[],"mappings":";;;;AAAA,6BAAwB;AAExB,qCAAyC;AACzC,+DAA8D;AAC9D,iEAAgE;AAChE,2DAA4D;AAE5D,uCAAsG;AACtG,8DAAyD;AAEzD,oDAA8D;AAE9D,MAAM,WAAW,GAAG,OAAC,
|
|
1
|
+
{"version":3,"file":"createNewFileWithText.js","sourceRoot":"","sources":["../../../../src/browser/mcp/tools/createNewFileWithText.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,
|
|
@@ -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":";;;;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;KAClB,MAAM,CAAC;IACN,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;IAC7D,cAAc,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;IAC9F,eAAe,EAAE,OAAC;SACf,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,sEAAsE,CAAC;IACnF,eAAe,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;IACpF,WAAW,EAAE,OAAC;SACX,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,iGAAiG,CAAC;CAC/G,CAAC;KACD,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACpB,KAAK,EAAE,IAAI,CAAC,KAAK;IACjB,aAAa,EAAE,IAAI,CAAC,cAAc;IAClC,cAAc,EAAE,IAAI,CAAC,eAAe;IACpC,cAAc,EAAE,IAAI,CAAC,eAAe;IACpC,WAAW,EAAE,IAAI,CAAC,WAAW;CAC9B,CAAC,CAAC,CAAC;AAEN,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,iBAAiB;YACxB,KAAK,EAAE,CAAC;YACR,WAAW;YACT,0BAA0B;YAC1B,weAAwe;YAC1e,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,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;QAC3F,CAAC;QACD,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,oCAAoC,CAAC,CAAC;QACxD,CAAC;QAED,wBAAwB;QACxB,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC;QACjC,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAC/B,aAAa,EACb;YACE,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa;YACjC,OAAO,EAAE,MAAA,IAAI,CAAC,cAAc,0CAAE,KAAK,CAAC,GAAG,CAAC;YACxC,OAAO,EAAE,MAAA,IAAI,CAAC,cAAc,0CAAE,KAAK,CAAC,GAAG,CAAC;YACxC,UAAU,EAAE,WAAW;YACvB,WAAW,EAAE,IAAI;YACjB,YAAY,EAAE,KAAK;YACnB,YAAY,EAAE,KAAK;YACnB,WAAW,EAAE,KAAK;YAClB,iBAAiB,EAAE,KAAK;YACxB,gBAAgB,EAAE,KAAK;SACxB,EACD,mCAAiB,CAAC,IAAI,CACvB,CAAC;QACF,MAAM,QAAQ,GAAG,IAAI,0BAAQ,EAAU,CAAC;QACxC,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,GAAG,EAAE;;YAClC,IAAI,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC;gBACnC,OAAO;YACT,CAAC;YACD,MAAM,OAAO,GAAa,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAiD,EAAE,CAAC;YAC/D,KAAK,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC3E,OAAO,CAAC,IAAI,CACV,SAAS,OAAO,KAAK,MAAM;qBACxB,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;oBACjB,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;wBACvC,OAAO,GAAG,CAAC;oBACb,CAAC;oBACD,OAAO,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC;gBACrB,CAAC,EAAE,EAA2B,CAAC;qBAC9B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,IAAI,cAAc,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,cAAc,EAAE,CAAC;qBACzE,IAAI,CAAC,IAAI,CAAC,EAAE,CAChB,CAAC;gBACF,KAAK,CAAC,IAAI,CAAC;oBACT,GAAG,EAAE,OAAO;oBACZ,WAAW,EAAE,KAAK,EAAE,gBAAgB;iBACrC,CAAC,CAAC;YACL,CAAC;YACD,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YAC7E,MAAM,SAAS,GAAG,MAAA,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,0CAAE,EAAE,CAAC;YACpD,IAAI,SAAS,EAAE,CAAC;gBACd,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,OAAO,CAAC,oBAAoB,CAAC,SAAS,EAAE;oBAC5E,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;wBACjB,KAAK;qBACN;iBACF,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC;QACpC,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;SAClC,CAAC;IACJ,CAAC;CACF,CAAA;AAhGY,wCAAc;AAER;IADhB,IAAA,cAAS,EAAC,iCAAiB,CAAC;;wDACwB;AAGpC;IADhB,IAAA,cAAS,EAAC,wCAA2B,CAAC;sCACP,2CAA0B;qDAAC;AAG1C;IADhB,IAAA,cAAS,EAAC,6BAAoB,CAAC;sCACM,2CAAmB;2DAAC;yBAR/C,cAAc;IAD1B,IAAA,wBAAM,EAAC,6BAAqB,CAAC;GACjB,cAAc,CAgG1B"}
|
|
@@ -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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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@opensumi/ide-ai-native",
|
|
3
|
-
"version": "3.9.1-next-
|
|
3
|
+
"version": "3.9.1-next-1747897586.0",
|
|
4
4
|
"files": [
|
|
5
5
|
"lib",
|
|
6
6
|
"src"
|
|
@@ -24,27 +24,27 @@
|
|
|
24
24
|
"@ai-sdk/openai": "^1.1.9",
|
|
25
25
|
"@ai-sdk/openai-compatible": "^0.1.11",
|
|
26
26
|
"@modelcontextprotocol/sdk": "^1.11.4",
|
|
27
|
-
"@opensumi/ide-addons": "3.9.1-next-
|
|
28
|
-
"@opensumi/ide-components": "3.9.1-next-
|
|
29
|
-
"@opensumi/ide-connection": "3.9.1-next-
|
|
30
|
-
"@opensumi/ide-core-common": "3.9.1-next-
|
|
31
|
-
"@opensumi/ide-core-node": "3.9.1-next-
|
|
32
|
-
"@opensumi/ide-debug": "3.9.1-next-
|
|
33
|
-
"@opensumi/ide-design": "3.9.1-next-
|
|
34
|
-
"@opensumi/ide-editor": "3.9.1-next-
|
|
35
|
-
"@opensumi/ide-file-search": "3.9.1-next-
|
|
36
|
-
"@opensumi/ide-file-service": "3.9.1-next-
|
|
37
|
-
"@opensumi/ide-main-layout": "3.9.1-next-
|
|
38
|
-
"@opensumi/ide-markers": "3.9.1-next-
|
|
39
|
-
"@opensumi/ide-monaco": "3.9.1-next-
|
|
40
|
-
"@opensumi/ide-outline": "3.9.1-next-
|
|
41
|
-
"@opensumi/ide-overlay": "3.9.1-next-
|
|
42
|
-
"@opensumi/ide-preferences": "3.9.1-next-
|
|
43
|
-
"@opensumi/ide-search": "3.9.1-next-
|
|
44
|
-
"@opensumi/ide-terminal-next": "3.9.1-next-
|
|
45
|
-
"@opensumi/ide-theme": "3.9.1-next-
|
|
46
|
-
"@opensumi/ide-utils": "3.9.1-next-
|
|
47
|
-
"@opensumi/ide-workspace": "3.9.1-next-
|
|
27
|
+
"@opensumi/ide-addons": "3.9.1-next-1747897586.0",
|
|
28
|
+
"@opensumi/ide-components": "3.9.1-next-1747897586.0",
|
|
29
|
+
"@opensumi/ide-connection": "3.9.1-next-1747897586.0",
|
|
30
|
+
"@opensumi/ide-core-common": "3.9.1-next-1747897586.0",
|
|
31
|
+
"@opensumi/ide-core-node": "3.9.1-next-1747897586.0",
|
|
32
|
+
"@opensumi/ide-debug": "3.9.1-next-1747897586.0",
|
|
33
|
+
"@opensumi/ide-design": "3.9.1-next-1747897586.0",
|
|
34
|
+
"@opensumi/ide-editor": "3.9.1-next-1747897586.0",
|
|
35
|
+
"@opensumi/ide-file-search": "3.9.1-next-1747897586.0",
|
|
36
|
+
"@opensumi/ide-file-service": "3.9.1-next-1747897586.0",
|
|
37
|
+
"@opensumi/ide-main-layout": "3.9.1-next-1747897586.0",
|
|
38
|
+
"@opensumi/ide-markers": "3.9.1-next-1747897586.0",
|
|
39
|
+
"@opensumi/ide-monaco": "3.9.1-next-1747897586.0",
|
|
40
|
+
"@opensumi/ide-outline": "3.9.1-next-1747897586.0",
|
|
41
|
+
"@opensumi/ide-overlay": "3.9.1-next-1747897586.0",
|
|
42
|
+
"@opensumi/ide-preferences": "3.9.1-next-1747897586.0",
|
|
43
|
+
"@opensumi/ide-search": "3.9.1-next-1747897586.0",
|
|
44
|
+
"@opensumi/ide-terminal-next": "3.9.1-next-1747897586.0",
|
|
45
|
+
"@opensumi/ide-theme": "3.9.1-next-1747897586.0",
|
|
46
|
+
"@opensumi/ide-utils": "3.9.1-next-1747897586.0",
|
|
47
|
+
"@opensumi/ide-workspace": "3.9.1-next-1747897586.0",
|
|
48
48
|
"@xterm/xterm": "5.5.0",
|
|
49
49
|
"ai": "^4.1.45",
|
|
50
50
|
"ansi-regex": "^2.0.0",
|
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
"zod-to-json-schema": "^3.24.1"
|
|
62
62
|
},
|
|
63
63
|
"devDependencies": {
|
|
64
|
-
"@opensumi/ide-core-browser": "3.9.1-next-
|
|
64
|
+
"@opensumi/ide-core-browser": "3.9.1-next-1747897586.0"
|
|
65
65
|
},
|
|
66
|
-
"gitHead": "
|
|
66
|
+
"gitHead": "d9d184251a55864b66ad58cef0097d78eed4b4f7"
|
|
67
67
|
}
|
|
@@ -10,10 +10,15 @@ import { BaseApplyService } from '../base-apply.service';
|
|
|
10
10
|
|
|
11
11
|
import { EditFileToolComponent } from './components/EditFile';
|
|
12
12
|
|
|
13
|
-
const inputSchema = z
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
13
|
+
const inputSchema = z
|
|
14
|
+
.object({
|
|
15
|
+
target_file: z.string().describe('The relative path where the file should be created'),
|
|
16
|
+
code_edit: z.string().describe('The content to write into the new file'),
|
|
17
|
+
})
|
|
18
|
+
.transform((data) => ({
|
|
19
|
+
targetFile: data.target_file,
|
|
20
|
+
codeEdit: data.code_edit,
|
|
21
|
+
}));
|
|
17
22
|
|
|
18
23
|
@Domain(MCPServerContribution)
|
|
19
24
|
export class CreateNewFileWithTextTool implements MCPServerContribution {
|
|
@@ -62,7 +67,7 @@ export class CreateNewFileWithTextTool implements MCPServerContribution {
|
|
|
62
67
|
|
|
63
68
|
// 构建完整的文件路径
|
|
64
69
|
const rootUri = URI.parse(workspaceRoots[0].uri);
|
|
65
|
-
const fullPath = path.join(rootUri.codeUri.fsPath, args.
|
|
70
|
+
const fullPath = path.join(rootUri.codeUri.fsPath, args.targetFile);
|
|
66
71
|
const fileUri = URI.file(fullPath);
|
|
67
72
|
|
|
68
73
|
// 创建父目录
|
|
@@ -74,10 +79,10 @@ export class CreateNewFileWithTextTool implements MCPServerContribution {
|
|
|
74
79
|
await this.fileService.createFile(fileUri.toString());
|
|
75
80
|
|
|
76
81
|
// 使用 applyService 写入文件内容
|
|
77
|
-
const codeBlock = await this.applyService.registerCodeBlock(args.
|
|
82
|
+
const codeBlock = await this.applyService.registerCodeBlock(args.targetFile, args.codeEdit, args.toolCallId);
|
|
78
83
|
await this.applyService.apply(codeBlock);
|
|
79
84
|
|
|
80
|
-
logger.appendLine(`Successfully created file at: ${args.
|
|
85
|
+
logger.appendLine(`Successfully created file at: ${args.targetFile}`);
|
|
81
86
|
return {
|
|
82
87
|
content: [{ type: 'text', text: 'ok' }],
|
|
83
88
|
};
|
|
@@ -12,19 +12,27 @@ import { IMCPServerRegistry, MCPLogger, MCPServerContribution, MCPToolDefinition
|
|
|
12
12
|
|
|
13
13
|
import { GrepSearchToolComponent } from './components/ExpandableFileList';
|
|
14
14
|
|
|
15
|
-
const inputSchema = z
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
15
|
+
const inputSchema = z
|
|
16
|
+
.object({
|
|
17
|
+
query: z.string().describe('The regex pattern to search for'),
|
|
18
|
+
case_sensitive: z.boolean().optional().describe('Whether the search should be case sensitive'),
|
|
19
|
+
include_pattern: z
|
|
20
|
+
.string()
|
|
21
|
+
.optional()
|
|
22
|
+
.describe('Glob pattern for files to include (e.g. "*.ts" for TypeScript files)'),
|
|
23
|
+
exclude_pattern: z.string().optional().describe('Glob pattern for files to exclude'),
|
|
24
|
+
explanation: z
|
|
25
|
+
.string()
|
|
26
|
+
.optional()
|
|
27
|
+
.describe('One sentence explanation as to why this tool is being used, and how it contributes to the goal.'),
|
|
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
|
|
|
29
37
|
const MAX_RESULTS = 50;
|
|
30
38
|
|
|
@@ -72,9 +80,9 @@ export class GrepSearchTool implements MCPServerContribution {
|
|
|
72
80
|
await this.searchService.doSearch(
|
|
73
81
|
searchPattern,
|
|
74
82
|
{
|
|
75
|
-
isMatchCase: !!args.
|
|
76
|
-
include: args.
|
|
77
|
-
exclude: args.
|
|
83
|
+
isMatchCase: !!args.caseSensitive,
|
|
84
|
+
include: args.includePattern?.split(','),
|
|
85
|
+
exclude: args.excludePattern?.split(','),
|
|
78
86
|
maxResults: MAX_RESULTS,
|
|
79
87
|
isUseRegexp: true,
|
|
80
88
|
isToggleOpen: false,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Autowired, Injectable } from '@opensumi/di';
|
|
2
|
-
import { AppConfig,
|
|
2
|
+
import { AppConfig, URI, path } from '@opensumi/ide-core-browser';
|
|
3
3
|
import { IFileServiceClient } from '@opensumi/ide-file-service';
|
|
4
4
|
|
|
5
5
|
/**
|
|
@@ -67,7 +67,7 @@ export class ListDirHandler {
|
|
|
67
67
|
}
|
|
68
68
|
|
|
69
69
|
// 解析相对路径
|
|
70
|
-
const absolutePath =
|
|
70
|
+
const absolutePath = path.join(this.appConfig.workspaceDir, relativeWorkspacePath);
|
|
71
71
|
const fileStat = await this.fileSystemService.getFileStat(absolutePath, true);
|
|
72
72
|
// 验证路径有效性
|
|
73
73
|
if (!fileStat || !fileStat.isDirectory) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Autowired, Injectable } from '@opensumi/di';
|
|
2
2
|
import { FileSearchQuickCommandHandler } from '@opensumi/ide-addons/lib/browser/file-search.contribution';
|
|
3
3
|
import { AppConfig } from '@opensumi/ide-core-browser';
|
|
4
|
-
import { CancellationToken, URI } from '@opensumi/ide-core-common';
|
|
4
|
+
import { CancellationToken, URI, path } from '@opensumi/ide-core-common';
|
|
5
5
|
import { IEditorDocumentModelRef, IEditorDocumentModelService } from '@opensumi/ide-editor/lib/browser';
|
|
6
6
|
import { IFileServiceClient } from '@opensumi/ide-file-service';
|
|
7
7
|
|
|
@@ -107,7 +107,7 @@ export class FileHandler {
|
|
|
107
107
|
throw new Error('No read file parameters provided. Need to give at least the path.');
|
|
108
108
|
}
|
|
109
109
|
|
|
110
|
-
const uri = new URI(
|
|
110
|
+
const uri = new URI(path.join(this.appConfig.workspaceDir, fileParams.relativeWorkspacePath));
|
|
111
111
|
if (!uri) {
|
|
112
112
|
const similarFiles = await this.findSimilarFiles(fileParams.relativeWorkspacePath, 3);
|
|
113
113
|
throw this.createFileNotFoundError(fileParams.relativeWorkspacePath, similarFiles);
|
|
@@ -13,18 +13,25 @@ const color = {
|
|
|
13
13
|
reset: '\x1b[0m',
|
|
14
14
|
};
|
|
15
15
|
|
|
16
|
-
export const inputSchema = z
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
16
|
+
export const inputSchema = z
|
|
17
|
+
.object({
|
|
18
|
+
command: z.string().describe('The terminal command to execute'),
|
|
19
|
+
is_background: z.boolean().describe('Whether the command should be run in the background'),
|
|
20
|
+
explanation: z
|
|
21
|
+
.string()
|
|
22
|
+
.describe('One sentence explanation as to why this command needs to be run and how it contributes to the goal.'),
|
|
23
|
+
require_user_approval: z
|
|
24
|
+
.boolean()
|
|
25
|
+
.describe(
|
|
26
|
+
"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.",
|
|
27
|
+
),
|
|
28
|
+
})
|
|
29
|
+
.transform((data) => ({
|
|
30
|
+
command: data.command,
|
|
31
|
+
isBackground: data.is_background,
|
|
32
|
+
explanation: data.explanation,
|
|
33
|
+
requireUserApproval: data.require_user_approval,
|
|
34
|
+
}));
|
|
28
35
|
|
|
29
36
|
@Injectable()
|
|
30
37
|
export class RunCommandHandler {
|
|
@@ -66,7 +73,7 @@ export class RunCommandHandler {
|
|
|
66
73
|
|
|
67
74
|
async handler(args: z.infer<typeof inputSchema> & { toolCallId: string }, logger: MCPLogger) {
|
|
68
75
|
logger.appendLine(`Executing command: ${args.command}`);
|
|
69
|
-
if (this.isAlwaysApproval(args.
|
|
76
|
+
if (this.isAlwaysApproval(args.requireUserApproval)) {
|
|
70
77
|
const def = new Deferred<boolean>();
|
|
71
78
|
this.approvalDeferredMap.set(args.toolCallId, def);
|
|
72
79
|
const approval = await def.promise;
|
|
@@ -93,7 +100,7 @@ export class RunCommandHandler {
|
|
|
93
100
|
const result: { type: string; text: string }[] = [];
|
|
94
101
|
const def = new Deferred<{ isError?: boolean; content: { type: string; text: string }[] }>();
|
|
95
102
|
|
|
96
|
-
if (args.
|
|
103
|
+
if (args.isBackground) {
|
|
97
104
|
def.resolve({
|
|
98
105
|
isError: false,
|
|
99
106
|
content: [{ type: 'text', text: `Successful run command ${args.command} in background.` }],
|