@opensumi/ide-ai-native 3.9.1-next-1749538805.0 → 3.9.1-next-1749540423.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/ai-core.contribution.d.ts.map +1 -1
- package/lib/browser/ai-core.contribution.js +4 -9
- package/lib/browser/ai-core.contribution.js.map +1 -1
- package/lib/browser/chat/apply.service.d.ts +0 -3
- package/lib/browser/chat/apply.service.d.ts.map +1 -1
- package/lib/browser/chat/apply.service.js +0 -47
- package/lib/browser/chat/apply.service.js.map +1 -1
- package/lib/browser/chat/chat-manager.service.d.ts +0 -1
- package/lib/browser/chat/chat-manager.service.d.ts.map +1 -1
- package/lib/browser/chat/chat-manager.service.js +3 -9
- package/lib/browser/chat/chat-manager.service.js.map +1 -1
- package/lib/browser/chat/chat-model.d.ts +1 -8
- package/lib/browser/chat/chat-model.d.ts.map +1 -1
- package/lib/browser/chat/chat-model.js +76 -113
- package/lib/browser/chat/chat-model.js.map +1 -1
- package/lib/browser/chat/chat-proxy.service.d.ts +2 -0
- package/lib/browser/chat/chat-proxy.service.d.ts.map +1 -1
- package/lib/browser/chat/chat-proxy.service.js +57 -50
- package/lib/browser/chat/chat-proxy.service.js.map +1 -1
- package/lib/browser/chat/chat.feature.registry.d.ts +1 -4
- package/lib/browser/chat/chat.feature.registry.d.ts.map +1 -1
- package/lib/browser/chat/chat.feature.registry.js +0 -6
- package/lib/browser/chat/chat.feature.registry.js.map +1 -1
- package/lib/browser/chat/chat.view.d.ts.map +1 -1
- package/lib/browser/chat/chat.view.js +10 -50
- package/lib/browser/chat/chat.view.js.map +1 -1
- package/lib/browser/components/ChatEditor.js +2 -2
- package/lib/browser/components/ChatEditor.js.map +1 -1
- package/lib/browser/components/ChatHistory.d.ts.map +1 -1
- package/lib/browser/components/ChatHistory.js +1 -2
- package/lib/browser/components/ChatHistory.js.map +1 -1
- package/lib/browser/components/ChatMentionInput.d.ts.map +1 -1
- package/lib/browser/components/ChatMentionInput.js +30 -148
- package/lib/browser/components/ChatMentionInput.js.map +1 -1
- package/lib/browser/components/ChatReply.js +2 -2
- package/lib/browser/components/ChatReply.js.map +1 -1
- package/lib/browser/components/ChatToolRender.d.ts.map +1 -1
- package/lib/browser/components/ChatToolRender.js +2 -7
- package/lib/browser/components/ChatToolRender.js.map +1 -1
- package/lib/browser/components/ChatToolRender.module.less +0 -25
- package/lib/browser/components/components.module.less +8 -37
- package/lib/browser/components/mention-input/mention-input.d.ts.map +1 -1
- package/lib/browser/components/mention-input/mention-input.js +14 -150
- package/lib/browser/components/mention-input/mention-input.js.map +1 -1
- package/lib/browser/components/mention-input/mention-input.module.less +1 -165
- package/lib/browser/components/mention-input/types.d.ts +1 -28
- package/lib/browser/components/mention-input/types.d.ts.map +1 -1
- package/lib/browser/components/mention-input/types.js +0 -1
- package/lib/browser/components/mention-input/types.js.map +1 -1
- package/lib/browser/components/utils.d.ts +2 -2
- package/lib/browser/context/llm-context.service.d.ts +2 -21
- package/lib/browser/context/llm-context.service.d.ts.map +1 -1
- package/lib/browser/context/llm-context.service.js +20 -162
- package/lib/browser/context/llm-context.service.js.map +1 -1
- package/lib/browser/contrib/intelligent-completions/decoration/additions-deletions.decoration.d.ts.map +1 -1
- package/lib/browser/contrib/intelligent-completions/decoration/additions-deletions.decoration.js.map +1 -1
- package/lib/browser/contrib/intelligent-completions/diff-computer.js +1 -1
- package/lib/browser/contrib/intelligent-completions/diff-computer.js.map +1 -1
- package/lib/browser/contrib/terminal/terminal.feature.registry.js.map +1 -1
- package/lib/browser/index.d.ts.map +1 -1
- package/lib/browser/index.js +0 -7
- package/lib/browser/index.js.map +1 -1
- package/lib/browser/layout/ai-layout.d.ts.map +1 -1
- package/lib/browser/layout/ai-layout.js +4 -6
- package/lib/browser/layout/ai-layout.js.map +1 -1
- package/lib/browser/layout/tabbar.view.d.ts +1 -1
- package/lib/browser/layout/tabbar.view.d.ts.map +1 -1
- package/lib/browser/layout/tabbar.view.js +12 -5
- package/lib/browser/layout/tabbar.view.js.map +1 -1
- package/lib/browser/mcp/base-apply.service.d.ts +4 -5
- package/lib/browser/mcp/base-apply.service.d.ts.map +1 -1
- package/lib/browser/mcp/base-apply.service.js +5 -23
- package/lib/browser/mcp/base-apply.service.js.map +1 -1
- package/lib/browser/mcp/mcp-server-proxy.service.d.ts +1 -3
- package/lib/browser/mcp/mcp-server-proxy.service.d.ts.map +1 -1
- package/lib/browser/mcp/mcp-server-proxy.service.js +0 -4
- package/lib/browser/mcp/mcp-server-proxy.service.js.map +1 -1
- package/lib/browser/mcp/mcp-server.feature.registry.d.ts.map +1 -1
- package/lib/browser/mcp/mcp-server.feature.registry.js +1 -7
- package/lib/browser/mcp/mcp-server.feature.registry.js.map +1 -1
- package/lib/browser/mcp/tools/createNewFileWithText.d.ts +3 -1
- package/lib/browser/mcp/tools/createNewFileWithText.d.ts.map +1 -1
- package/lib/browser/mcp/tools/createNewFileWithText.js +40 -14
- 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 +5 -9
- package/lib/browser/mcp/tools/fileSearch.js.map +1 -1
- package/lib/browser/mcp/tools/getDiagnosticsByPath.js.map +1 -1
- package/lib/browser/mcp/tools/getOpenEditorFileDiagnostics.js.map +1 -1
- package/lib/browser/mcp/tools/grepSearch.d.ts.map +1 -1
- package/lib/browser/mcp/tools/grepSearch.js +10 -22
- 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 +1 -11
- package/lib/browser/mcp/tools/handlers/RunCommand.d.ts.map +1 -1
- package/lib/browser/mcp/tools/handlers/RunCommand.js +4 -11
- 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 +15 -19
- package/lib/browser/mcp/tools/listDir.js.map +1 -1
- package/lib/browser/mcp/tools/runTerminalCmd.js.map +1 -1
- package/lib/browser/model/msg-history-manager.d.ts +1 -47
- package/lib/browser/model/msg-history-manager.d.ts.map +1 -1
- package/lib/browser/model/msg-history-manager.js +2 -127
- package/lib/browser/model/msg-history-manager.js.map +1 -1
- package/lib/browser/preferences/schema.d.ts.map +1 -1
- package/lib/browser/preferences/schema.js +0 -5
- package/lib/browser/preferences/schema.js.map +1 -1
- package/lib/browser/types.d.ts +1 -12
- package/lib/browser/types.d.ts.map +1 -1
- package/lib/browser/types.js.map +1 -1
- package/lib/browser/widget/inline-stream-diff/live-preview.component.d.ts.map +1 -1
- package/lib/browser/widget/inline-stream-diff/live-preview.component.js.map +1 -1
- package/lib/common/index.d.ts +1 -5
- package/lib/common/index.d.ts.map +1 -1
- package/lib/common/index.js +0 -2
- package/lib/common/index.js.map +1 -1
- package/lib/common/llm-context.d.ts +0 -19
- package/lib/common/llm-context.d.ts.map +1 -1
- package/lib/common/llm-context.js.map +1 -1
- package/lib/common/model.d.ts +0 -1
- package/lib/common/model.d.ts.map +1 -1
- package/lib/common/model.js.map +1 -1
- package/lib/common/prompts/context-prompt-provider.d.ts +2 -0
- package/lib/common/prompts/context-prompt-provider.d.ts.map +1 -1
- package/lib/common/prompts/context-prompt-provider.js +29 -35
- package/lib/common/prompts/context-prompt-provider.js.map +1 -1
- package/lib/common/types.d.ts +0 -21
- package/lib/common/types.d.ts.map +1 -1
- package/lib/common/types.js.map +1 -1
- package/lib/common/utils.d.ts +0 -1
- package/lib/common/utils.d.ts.map +1 -1
- package/lib/common/utils.js +2 -5
- package/lib/common/utils.js.map +1 -1
- package/lib/node/anthropic/anthropic-language-model.d.ts +1 -1
- package/lib/node/base-language-model.d.ts +1 -2
- package/lib/node/base-language-model.d.ts.map +1 -1
- package/lib/node/base-language-model.js +2 -12
- package/lib/node/base-language-model.js.map +1 -1
- package/lib/node/deepseek/deepseek-language-model.d.ts +1 -1
- package/lib/node/mcp/sumi-mcp-server.d.ts +1 -3
- package/lib/node/mcp/sumi-mcp-server.d.ts.map +1 -1
- package/lib/node/mcp/sumi-mcp-server.js +1 -7
- package/lib/node/mcp/sumi-mcp-server.js.map +1 -1
- package/lib/node/mcp-server-manager-impl.d.ts +1 -3
- package/lib/node/mcp-server-manager-impl.d.ts.map +1 -1
- package/lib/node/mcp-server-manager-impl.js +2 -14
- package/lib/node/mcp-server-manager-impl.js.map +1 -1
- package/lib/node/mcp-server.sse.d.ts +1 -187
- 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 +1 -187
- package/lib/node/mcp-server.stdio.d.ts.map +1 -1
- package/package.json +26 -27
- package/src/browser/ai-core.contribution.ts +4 -14
- package/src/browser/chat/apply.service.ts +1 -62
- package/src/browser/chat/chat-manager.service.ts +7 -16
- package/src/browser/chat/chat-model.ts +73 -130
- package/src/browser/chat/chat-proxy.service.ts +81 -68
- package/src/browser/chat/chat.feature.registry.ts +1 -17
- package/src/browser/chat/chat.view.tsx +12 -73
- package/src/browser/components/ChatEditor.tsx +1 -1
- package/src/browser/components/ChatHistory.tsx +1 -2
- package/src/browser/components/ChatMentionInput.tsx +35 -180
- package/src/browser/components/ChatReply.tsx +4 -4
- package/src/browser/components/ChatToolRender.module.less +0 -25
- package/src/browser/components/ChatToolRender.tsx +2 -10
- package/src/browser/components/components.module.less +8 -37
- package/src/browser/components/mention-input/mention-input.module.less +1 -165
- package/src/browser/components/mention-input/mention-input.tsx +31 -232
- package/src/browser/components/mention-input/types.ts +0 -29
- package/src/browser/context/llm-context.service.ts +21 -182
- package/src/browser/contrib/intelligent-completions/decoration/additions-deletions.decoration.ts +1 -1
- package/src/browser/contrib/intelligent-completions/diff-computer.ts +1 -1
- package/src/browser/contrib/terminal/terminal.feature.registry.ts +1 -1
- package/src/browser/index.ts +0 -8
- package/src/browser/layout/ai-layout.tsx +8 -12
- package/src/browser/layout/tabbar.view.tsx +23 -10
- package/src/browser/mcp/base-apply.service.ts +10 -30
- package/src/browser/mcp/mcp-server-proxy.service.ts +1 -6
- package/src/browser/mcp/mcp-server.feature.registry.ts +1 -6
- package/src/browser/mcp/tools/createNewFileWithText.ts +46 -17
- package/src/browser/mcp/tools/fileSearch.ts +5 -8
- package/src/browser/mcp/tools/getDiagnosticsByPath.ts +1 -1
- package/src/browser/mcp/tools/getOpenEditorFileDiagnostics.ts +1 -1
- package/src/browser/mcp/tools/grepSearch.ts +21 -32
- 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 +14 -21
- package/src/browser/mcp/tools/listDir.ts +12 -15
- package/src/browser/mcp/tools/runTerminalCmd.ts +1 -1
- package/src/browser/model/msg-history-manager.ts +2 -181
- package/src/browser/preferences/schema.ts +0 -5
- package/src/browser/types.ts +0 -18
- package/src/browser/widget/inline-stream-diff/live-preview.component.tsx +1 -0
- package/src/common/index.ts +1 -6
- package/src/common/llm-context.ts +0 -23
- package/src/common/model.ts +0 -1
- package/src/common/prompts/context-prompt-provider.ts +40 -55
- package/src/common/types.ts +0 -18
- package/src/common/utils.ts +1 -4
- package/src/node/base-language-model.ts +14 -11
- package/src/node/mcp/sumi-mcp-server.ts +2 -10
- package/src/node/mcp-server-manager-impl.ts +2 -17
- package/src/node/mcp-server.sse.ts +2 -1
- package/lib/browser/components/mention-input/mention-select.d.ts +0 -28
- package/lib/browser/components/mention-input/mention-select.d.ts.map +0 -1
- package/lib/browser/components/mention-input/mention-select.js +0 -136
- package/lib/browser/components/mention-input/mention-select.js.map +0 -1
- package/lib/browser/components/mention-input/mention-select.module.less +0 -297
- package/lib/browser/mcp/tools/handlers/CreateNewFileWithText.d.ts +0 -15
- package/lib/browser/mcp/tools/handlers/CreateNewFileWithText.d.ts.map +0 -1
- package/lib/browser/mcp/tools/handlers/CreateNewFileWithText.js +0 -53
- package/lib/browser/mcp/tools/handlers/CreateNewFileWithText.js.map +0 -1
- package/lib/browser/rules/rules.contribution.d.ts +0 -29
- package/lib/browser/rules/rules.contribution.d.ts.map +0 -1
- package/lib/browser/rules/rules.contribution.js +0 -94
- package/lib/browser/rules/rules.contribution.js.map +0 -1
- package/lib/browser/rules/rules.module.less +0 -175
- package/lib/browser/rules/rules.service.d.ts +0 -25
- package/lib/browser/rules/rules.service.d.ts.map +0 -1
- package/lib/browser/rules/rules.service.js +0 -180
- package/lib/browser/rules/rules.service.js.map +0 -1
- package/lib/browser/rules/rules.view.d.ts +0 -3
- package/lib/browser/rules/rules.view.d.ts.map +0 -1
- package/lib/browser/rules/rules.view.js +0 -76
- package/lib/browser/rules/rules.view.js.map +0 -1
- package/lib/common/image-compression.d.ts +0 -25
- package/lib/common/image-compression.d.ts.map +0 -1
- package/lib/common/image-compression.js +0 -153
- package/lib/common/image-compression.js.map +0 -1
- package/lib/common/mdc-parser.d.ts +0 -60
- package/lib/common/mdc-parser.d.ts.map +0 -1
- package/lib/common/mdc-parser.js +0 -246
- package/lib/common/mdc-parser.js.map +0 -1
- package/lib/common/prompts/system-prompt.d.ts +0 -2
- package/lib/common/prompts/system-prompt.d.ts.map +0 -1
- package/lib/common/prompts/system-prompt.js +0 -5
- package/lib/common/prompts/system-prompt.js.map +0 -1
- package/src/browser/components/mention-input/mention-select.module.less +0 -297
- package/src/browser/components/mention-input/mention-select.tsx +0 -256
- package/src/browser/mcp/tools/handlers/CreateNewFileWithText.ts +0 -49
- package/src/browser/rules/rules.contribution.ts +0 -105
- package/src/browser/rules/rules.module.less +0 -175
- package/src/browser/rules/rules.service.ts +0 -189
- package/src/browser/rules/rules.view.tsx +0 -127
- package/src/common/image-compression.ts +0 -174
- package/src/common/mdc-parser.ts +0 -295
- package/src/common/prompts/system-prompt.ts +0 -2
|
@@ -12,8 +12,7 @@ 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
|
|
16
|
-
.object({
|
|
15
|
+
const inputSchema = zod_1.z.object({
|
|
17
16
|
query: zod_1.z.string().describe('The regex pattern to search for'),
|
|
18
17
|
case_sensitive: zod_1.z.boolean().optional().describe('Whether the search should be case sensitive'),
|
|
19
18
|
include_pattern: zod_1.z
|
|
@@ -25,14 +24,7 @@ const inputSchema = zod_1.z
|
|
|
25
24
|
.string()
|
|
26
25
|
.optional()
|
|
27
26
|
.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
|
-
}));
|
|
27
|
+
});
|
|
36
28
|
const MAX_RESULTS = 50;
|
|
37
29
|
let GrepSearchTool = class GrepSearchTool {
|
|
38
30
|
registerMCPServer(registry) {
|
|
@@ -64,9 +56,9 @@ let GrepSearchTool = class GrepSearchTool {
|
|
|
64
56
|
// 使用 OpenSumi 的文件搜索 API
|
|
65
57
|
const searchPattern = args.query;
|
|
66
58
|
await this.searchService.doSearch(searchPattern, {
|
|
67
|
-
isMatchCase: !!args.
|
|
68
|
-
include: (_a = args.
|
|
69
|
-
exclude: (_b = args.
|
|
59
|
+
isMatchCase: !!args.case_sensitive,
|
|
60
|
+
include: (_a = args.include_pattern) === null || _a === void 0 ? void 0 : _a.split(','),
|
|
61
|
+
exclude: (_b = args.exclude_pattern) === null || _b === void 0 ? void 0 : _b.split(','),
|
|
70
62
|
maxResults: MAX_RESULTS,
|
|
71
63
|
isUseRegexp: true,
|
|
72
64
|
isToggleOpen: false,
|
|
@@ -77,7 +69,6 @@ let GrepSearchTool = class GrepSearchTool {
|
|
|
77
69
|
}, ide_core_common_1.CancellationToken.None);
|
|
78
70
|
const deferred = new ide_core_common_1.Deferred();
|
|
79
71
|
this.searchService.onDidChange(() => {
|
|
80
|
-
var _a;
|
|
81
72
|
if (this.searchService.isSearching) {
|
|
82
73
|
return;
|
|
83
74
|
}
|
|
@@ -100,14 +91,11 @@ let GrepSearchTool = class GrepSearchTool {
|
|
|
100
91
|
}
|
|
101
92
|
deferred.resolve(results.join('\n\n'));
|
|
102
93
|
const messages = this.chatInternalService.sessionModel.history.getMessages();
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
},
|
|
109
|
-
});
|
|
110
|
-
}
|
|
94
|
+
this.chatInternalService.sessionModel.history.setMessageAdditional(messages[messages.length - 1].id, {
|
|
95
|
+
[args.toolCallId]: {
|
|
96
|
+
files,
|
|
97
|
+
},
|
|
98
|
+
});
|
|
111
99
|
});
|
|
112
100
|
const text = await deferred.promise;
|
|
113
101
|
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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"}
|
|
@@ -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 = `${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(`${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.
|
|
5
|
+
export declare const inputSchema: z.ZodObject<{
|
|
6
6
|
command: z.ZodString;
|
|
7
7
|
is_background: z.ZodBoolean;
|
|
8
8
|
explanation: z.ZodString;
|
|
@@ -17,16 +17,6 @@ export declare const inputSchema: z.ZodEffects<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;
|
|
30
20
|
}>;
|
|
31
21
|
export declare class RunCommandHandler {
|
|
32
22
|
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;;;;;;;;;;;;;;;EAWtB,CAAC;AAEH,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,8 +12,7 @@ const color = {
|
|
|
12
12
|
italic: '\x1b[3m',
|
|
13
13
|
reset: '\x1b[0m',
|
|
14
14
|
};
|
|
15
|
-
exports.inputSchema = zod_1.default
|
|
16
|
-
.object({
|
|
15
|
+
exports.inputSchema = zod_1.default.object({
|
|
17
16
|
command: zod_1.default.string().describe('The terminal command to execute'),
|
|
18
17
|
is_background: zod_1.default.boolean().describe('Whether the command should be run in the background'),
|
|
19
18
|
explanation: zod_1.default
|
|
@@ -22,13 +21,7 @@ exports.inputSchema = zod_1.default
|
|
|
22
21
|
require_user_approval: zod_1.default
|
|
23
22
|
.boolean()
|
|
24
23
|
.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."),
|
|
25
|
-
})
|
|
26
|
-
.transform((data) => ({
|
|
27
|
-
command: data.command,
|
|
28
|
-
isBackground: data.is_background,
|
|
29
|
-
explanation: data.explanation,
|
|
30
|
-
requireUserApproval: data.require_user_approval,
|
|
31
|
-
}));
|
|
24
|
+
});
|
|
32
25
|
let RunCommandHandler = class RunCommandHandler {
|
|
33
26
|
constructor() {
|
|
34
27
|
this.approvalDeferredMap = new Map();
|
|
@@ -51,7 +44,7 @@ let RunCommandHandler = class RunCommandHandler {
|
|
|
51
44
|
}
|
|
52
45
|
async handler(args, logger) {
|
|
53
46
|
logger.appendLine(`Executing command: ${args.command}`);
|
|
54
|
-
if (this.isAlwaysApproval(args.
|
|
47
|
+
if (this.isAlwaysApproval(args.require_user_approval)) {
|
|
55
48
|
const def = new promises_1.Deferred();
|
|
56
49
|
this.approvalDeferredMap.set(args.toolCallId, def);
|
|
57
50
|
const approval = await def.promise;
|
|
@@ -74,7 +67,7 @@ let RunCommandHandler = class RunCommandHandler {
|
|
|
74
67
|
this.terminalController.showTerminalPanel();
|
|
75
68
|
const result = [];
|
|
76
69
|
const def = new promises_1.Deferred();
|
|
77
|
-
if (args.
|
|
70
|
+
if (args.is_background) {
|
|
78
71
|
def.resolve({
|
|
79
72
|
isError: false,
|
|
80
73
|
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;CA6CtB"}
|
|
@@ -39,7 +39,6 @@ let ListDirTool = class ListDirTool {
|
|
|
39
39
|
};
|
|
40
40
|
}
|
|
41
41
|
async handler(args, logger) {
|
|
42
|
-
var _a;
|
|
43
42
|
const result = await this.listDirHandler.handler(args);
|
|
44
43
|
// 构建文件 URI 列表,用于前端渲染
|
|
45
44
|
const fileUris = result.files.map((file) => {
|
|
@@ -51,24 +50,21 @@ let ListDirTool = class ListDirTool {
|
|
|
51
50
|
});
|
|
52
51
|
// 设置消息的附加数据
|
|
53
52
|
const messages = this.chatInternalService.sessionModel.history.getMessages();
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
},
|
|
70
|
-
});
|
|
71
|
-
}
|
|
53
|
+
this.chatInternalService.sessionModel.history.setMessageAdditional(messages[messages.length - 1].id, {
|
|
54
|
+
[args.toolCallId]: {
|
|
55
|
+
files: fileUris,
|
|
56
|
+
title: `Listed directory "${args.relativeWorkspacePath}"`,
|
|
57
|
+
details: result.files.map((file) => {
|
|
58
|
+
var _a;
|
|
59
|
+
return ({
|
|
60
|
+
type: file.isDirectory ? 'dir' : 'file',
|
|
61
|
+
name: file.name,
|
|
62
|
+
info: file.isDirectory ? `${(_a = file.numChildren) !== null && _a !== void 0 ? _a : '?'} items` : `${file.size}KB, ${file.numLines} lines`,
|
|
63
|
+
lastModified: file.lastModified,
|
|
64
|
+
});
|
|
65
|
+
}),
|
|
66
|
+
},
|
|
67
|
+
});
|
|
72
68
|
logger.appendLine(`Listed ${fileUris.length} files in directory "${args.relativeWorkspacePath}"`);
|
|
73
69
|
return {
|
|
74
70
|
content: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listDir.js","sourceRoot":"","sources":["../../../../src/browser/mcp/tools/listDir.ts"],"names":[],"mappings":";;;;AAAA,6BAAwB;AAExB,qCAAyC;AACzC,+DAAmD;AAEnD,4CAAuD;AACvD,4EAAuE;AACvE,uCAAsG;AAEtG,wEAAuE;AACvE,gDAAoD;AAEpD,MAAM,WAAW,GAAG,OAAC;KAClB,MAAM,CAAC;IACN,uBAAuB,EAAE,OAAC;SACvB,MAAM,EAAE;SACR,QAAQ,CAAC,iGAAiG,CAAC;IAC9G,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,qBAAqB,EAAE,IAAI,CAAC,uBAAuB;CACpD,CAAC,CAAC,CAAC;AAGC,IAAM,WAAW,GAAjB,MAAM,WAAW;IAOtB,iBAAiB,CAAC,QAA4B;QAC5C,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;QACnD,QAAQ,CAAC,qBAAqB,CAAC,UAAU,EAAE,yCAAoB,CAAC,CAAC;IACnE,CAAC;IAED,iBAAiB;QACf,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,KAAK,EAAE,gBAAgB;YACvB,KAAK,EAAE,CAAC;YACR,WAAW,EACT,6QAA6Q;YAC/Q,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":"listDir.js","sourceRoot":"","sources":["../../../../src/browser/mcp/tools/listDir.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runTerminalCmd.js","sourceRoot":"","sources":["../../../../src/browser/mcp/tools/runTerminalCmd.ts"],"names":[],"mappings":";;;;AAEA,qCAAyC;AACzC,iEAAuD;AACvD,+
|
|
1
|
+
{"version":3,"file":"runTerminalCmd.js","sourceRoot":"","sources":["../../../../src/browser/mcp/tools/runTerminalCmd.ts"],"names":[],"mappings":";;;;AAEA,qCAAyC;AACzC,iEAAuD;AACvD,+DAA6D;AAC7D,kFAAmH;AAEnH,uCAAsG;AAEtG,oDAA8D;AAC9D,sDAAuE;AAGhE,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;IAajC,iBAAiB,CAAC,QAA4B;QAC5C,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;QACnD,QAAQ,CAAC,qBAAqB,CAAC,kBAAkB,EAAE,gCAAqB,CAAC,CAAC;IAC5E,CAAC;IAED,iBAAiB;QACf,OAAO;YACL,IAAI,EAAE,kBAAkB;YACxB,KAAK,EAAE,aAAa;YACpB,KAAK,EAAE,CAAC;YACR,WAAW,EACT,8+BAA8+B;YACh/B,WAAW,EAAX,wBAAW;YACX,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;SACjC,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,OAAO,CAAC,IAA0D,EAAE,MAAiB;QACjG,OAAO,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACtD,CAAC;CACF,CAAA;AAjCY,wDAAsB;AAEd;IADlB,IAAA,cAAS,EAAC,gCAAmB,CAAC;;kEAC4B;AAGxC;IADlB,IAAA,cAAS,EAAC,4BAAS,CAAC;;yDACmB;AAGrB;IADlB,IAAA,cAAS,EAAC,sCAAyB,CAAC;;4DACsB;AAG1C;IADhB,IAAA,cAAS,EAAC,8BAAiB,CAAC;sCACO,8BAAiB;iEAAC;iCAX3C,sBAAsB;IADlC,IAAA,wBAAM,EAAC,6BAAqB,CAAC;GACjB,sBAAsB,CAiClC"}
|
|
@@ -1,66 +1,24 @@
|
|
|
1
1
|
import { Disposable, Event } from '@opensumi/ide-core-common';
|
|
2
2
|
import { IHistoryChatMessage } from '@opensumi/ide-core-common/lib/types/ai-native';
|
|
3
|
-
import { ChatFeatureRegistry } from '../chat/chat.feature.registry';
|
|
4
3
|
type IExcludeMessage = Omit<IHistoryChatMessage, 'id' | 'order'>;
|
|
5
|
-
interface IMemoryConfig {
|
|
6
|
-
shortTermSize: number;
|
|
7
|
-
bufferSize: number;
|
|
8
|
-
}
|
|
9
|
-
interface IMemorySummary {
|
|
10
|
-
content: string;
|
|
11
|
-
timestamp: number;
|
|
12
|
-
messageIds: string[];
|
|
13
|
-
}
|
|
14
|
-
interface IToolCallInfo {
|
|
15
|
-
id: string;
|
|
16
|
-
name: string;
|
|
17
|
-
args: Record<string, any>;
|
|
18
|
-
result: any;
|
|
19
|
-
}
|
|
20
|
-
export interface MessageBufferManager {
|
|
21
|
-
messages: IHistoryChatMessage[];
|
|
22
|
-
add(message: IHistoryChatMessage): void;
|
|
23
|
-
clear(): void;
|
|
24
|
-
size(): number;
|
|
25
|
-
}
|
|
26
4
|
export declare class MsgHistoryManager extends Disposable {
|
|
27
|
-
private chatFeatureRegistry;
|
|
28
5
|
private messageMap;
|
|
29
6
|
private messageAdditionalMap;
|
|
30
|
-
private memorySummaries;
|
|
31
|
-
private toolCallMap;
|
|
32
|
-
private isCompressing;
|
|
33
7
|
private readonly _onMessageChange;
|
|
34
8
|
readonly onMessageChange: Event<IHistoryChatMessage[]>;
|
|
35
9
|
private readonly _onMessageAdditionalChange;
|
|
36
10
|
readonly onMessageAdditionalChange: Event<Record<string, any>>;
|
|
37
|
-
|
|
38
|
-
memoryConfig: IMemoryConfig;
|
|
39
|
-
constructor(chatFeatureRegistry: ChatFeatureRegistry, data?: {
|
|
11
|
+
constructor(data?: {
|
|
40
12
|
additional: Record<string, any>;
|
|
41
13
|
messages: IHistoryChatMessage[];
|
|
42
|
-
toolCalls?: Record<string, IToolCallInfo>;
|
|
43
|
-
memorySummaries?: IMemorySummary[];
|
|
44
14
|
});
|
|
45
15
|
dispose(): void;
|
|
46
16
|
get size(): number;
|
|
47
17
|
clearMessages(): void;
|
|
48
|
-
/**
|
|
49
|
-
* 压缩历史消息的方法:
|
|
50
|
-
* 1. 保持最新的10条消息不变
|
|
51
|
-
* 2. 当累积了5条超出限制的消息时,对这5条(最早的消息)进行总结
|
|
52
|
-
* 3. 总结完成后删除这5条消息
|
|
53
|
-
* 4. 重复这个过程,确保消息数量始终在可控范围内
|
|
54
|
-
*/
|
|
55
|
-
private compressMemory;
|
|
56
|
-
addToolCall(toolCall: IToolCallInfo): void;
|
|
57
|
-
getToolCall(id: string): IToolCallInfo | undefined;
|
|
58
18
|
private doAddMessage;
|
|
59
19
|
private get messageList();
|
|
60
20
|
get lastMessageId(): string | undefined;
|
|
61
21
|
getMessages(): IHistoryChatMessage[];
|
|
62
|
-
getMemorySummaries(): IMemorySummary[];
|
|
63
|
-
setMemoryConfig(config: Partial<IMemoryConfig>): void;
|
|
64
22
|
addUserMessage(message: Required<Pick<IExcludeMessage, 'agentId' | 'agentCommand' | 'content' | 'relationId' | 'images'>>): string;
|
|
65
23
|
addAssistantMessage(message: Omit<IExcludeMessage, 'role'>): string;
|
|
66
24
|
updateAssistantMessage(id: string, message: Omit<IExcludeMessage, 'role'>): void;
|
|
@@ -72,10 +30,6 @@ export declare class MsgHistoryManager extends Disposable {
|
|
|
72
30
|
additional: {
|
|
73
31
|
[k: string]: Record<string, any>;
|
|
74
32
|
};
|
|
75
|
-
memorySummaries: IMemorySummary[];
|
|
76
|
-
toolCalls: {
|
|
77
|
-
[k: string]: IToolCallInfo;
|
|
78
|
-
};
|
|
79
33
|
};
|
|
80
34
|
}
|
|
81
35
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"msg-history-manager.d.ts","sourceRoot":"","sources":["../../../src/browser/model/msg-history-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAW,KAAK,EAAQ,MAAM,2BAA2B,CAAC;AAC7E,OAAO,EAAmB,mBAAmB,EAAE,MAAM,+CAA+C,CAAC;AAErG,
|
|
1
|
+
{"version":3,"file":"msg-history-manager.d.ts","sourceRoot":"","sources":["../../../src/browser/model/msg-history-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAW,KAAK,EAAQ,MAAM,2BAA2B,CAAC;AAC7E,OAAO,EAAmB,mBAAmB,EAAE,MAAM,+CAA+C,CAAC;AAErG,KAAK,eAAe,GAAG,IAAI,CAAC,mBAAmB,EAAE,IAAI,GAAG,OAAO,CAAC,CAAC;AAEjE,qBAAa,iBAAkB,SAAQ,UAAU;IAC/C,OAAO,CAAC,UAAU,CAA+C;IACjE,OAAO,CAAC,oBAAoB,CAA+C;IAE3E,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAwC;IACzE,SAAgB,eAAe,EAAE,KAAK,CAAC,mBAAmB,EAAE,CAAC,CAA+B;IAE5F,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAAsC;IACjF,SAAgB,yBAAyB,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAyC;gBAElG,IAAI,CAAC,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAAC,QAAQ,EAAE,mBAAmB,EAAE,CAAA;KAAE;IAQ9E,OAAO,IAAI,IAAI;IAKxB,IAAW,IAAI,IAAI,MAAM,CAExB;IAEM,aAAa;IAKpB,OAAO,CAAC,YAAY;IAiBpB,OAAO,KAAK,WAAW,GAEtB;IAED,IAAW,aAAa,IAAI,MAAM,GAAG,SAAS,CAG7C;IAEM,WAAW,IAAI,mBAAmB,EAAE;IAIpC,cAAc,CACnB,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,eAAe,EAAE,SAAS,GAAG,cAAc,GAAG,SAAS,GAAG,YAAY,GAAG,QAAQ,CAAC,CAAC,GACzG,MAAM;IAOF,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,GAAG,MAAM;IAOnE,sBAAsB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC;IAazE,oBAAoB,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAehE,oBAAoB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAI5D,IAAW,kBAAkB,qCAE5B;IAED,MAAM;;;;;;CAMP"}
|
|
@@ -2,50 +2,18 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.MsgHistoryManager = void 0;
|
|
4
4
|
const ide_core_common_1 = require("@opensumi/ide-core-common");
|
|
5
|
-
class SimpleMessageBuffer {
|
|
6
|
-
constructor() {
|
|
7
|
-
this._messages = [];
|
|
8
|
-
}
|
|
9
|
-
get messages() {
|
|
10
|
-
return this._messages;
|
|
11
|
-
}
|
|
12
|
-
add(message) {
|
|
13
|
-
this._messages.push(message);
|
|
14
|
-
}
|
|
15
|
-
clear() {
|
|
16
|
-
this._messages = [];
|
|
17
|
-
}
|
|
18
|
-
size() {
|
|
19
|
-
return this._messages.length;
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
5
|
class MsgHistoryManager extends ide_core_common_1.Disposable {
|
|
23
|
-
constructor(
|
|
6
|
+
constructor(data) {
|
|
24
7
|
super();
|
|
25
|
-
this.chatFeatureRegistry = chatFeatureRegistry;
|
|
26
8
|
this.messageMap = new Map();
|
|
27
9
|
this.messageAdditionalMap = new Map();
|
|
28
|
-
this.memorySummaries = [];
|
|
29
|
-
this.toolCallMap = new Map();
|
|
30
|
-
this.isCompressing = false; // 添加压缩锁,防止重复压缩
|
|
31
10
|
this._onMessageChange = new ide_core_common_1.Emitter();
|
|
32
11
|
this.onMessageChange = this._onMessageChange.event;
|
|
33
12
|
this._onMessageAdditionalChange = new ide_core_common_1.Emitter();
|
|
34
13
|
this.onMessageAdditionalChange = this._onMessageAdditionalChange.event;
|
|
35
|
-
this.memoryConfig = {
|
|
36
|
-
shortTermSize: 10,
|
|
37
|
-
bufferSize: 5,
|
|
38
|
-
};
|
|
39
|
-
this.messageBuffer = new SimpleMessageBuffer();
|
|
40
14
|
if (data) {
|
|
41
15
|
this.messageMap = new Map(data.messages.map((item) => [item.id, item]));
|
|
42
16
|
this.messageAdditionalMap = new Map(Object.entries(data.additional));
|
|
43
|
-
if (data.toolCalls) {
|
|
44
|
-
this.toolCallMap = new Map(Object.entries(data.toolCalls));
|
|
45
|
-
}
|
|
46
|
-
if (data.memorySummaries) {
|
|
47
|
-
this.memorySummaries = data.memorySummaries;
|
|
48
|
-
}
|
|
49
17
|
}
|
|
50
18
|
}
|
|
51
19
|
dispose() {
|
|
@@ -58,80 +26,6 @@ class MsgHistoryManager extends ide_core_common_1.Disposable {
|
|
|
58
26
|
clearMessages() {
|
|
59
27
|
this.messageMap.clear();
|
|
60
28
|
this.messageAdditionalMap.clear();
|
|
61
|
-
this.memorySummaries = [];
|
|
62
|
-
this.toolCallMap.clear();
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* 压缩历史消息的方法:
|
|
66
|
-
* 1. 保持最新的10条消息不变
|
|
67
|
-
* 2. 当累积了5条超出限制的消息时,对这5条(最早的消息)进行总结
|
|
68
|
-
* 3. 总结完成后删除这5条消息
|
|
69
|
-
* 4. 重复这个过程,确保消息数量始终在可控范围内
|
|
70
|
-
*/
|
|
71
|
-
async compressMemory() {
|
|
72
|
-
var _a, _b;
|
|
73
|
-
// 如果正在压缩中,直接返回
|
|
74
|
-
if (this.isCompressing) {
|
|
75
|
-
return;
|
|
76
|
-
}
|
|
77
|
-
const messages = this.messageList;
|
|
78
|
-
// 只有当消息总数超过短期记忆限制时才进行压缩
|
|
79
|
-
if (messages.length <= this.memoryConfig.shortTermSize) {
|
|
80
|
-
return;
|
|
81
|
-
}
|
|
82
|
-
try {
|
|
83
|
-
this.isCompressing = true;
|
|
84
|
-
// 1. 获取超出短期记忆限制的最新一条消息
|
|
85
|
-
const latestExcessMessage = messages[messages.length - this.memoryConfig.shortTermSize - 1];
|
|
86
|
-
// 如果这条消息已经被总结过,就不需要再处理
|
|
87
|
-
if (latestExcessMessage.isSummarized) {
|
|
88
|
-
return;
|
|
89
|
-
}
|
|
90
|
-
// 2. 将这条消息添加到缓冲区
|
|
91
|
-
this.messageBuffer.add(latestExcessMessage);
|
|
92
|
-
// 3. 当缓冲区达到指定大小时,进行总结
|
|
93
|
-
if (this.messageBuffer.size() >= this.memoryConfig.bufferSize) {
|
|
94
|
-
const messagesToSummarize = this.messageBuffer.messages;
|
|
95
|
-
const summaryProvider = (_b = (_a = this.chatFeatureRegistry).getMessageSummaryProvider) === null || _b === void 0 ? void 0 : _b.call(_a);
|
|
96
|
-
if (summaryProvider) {
|
|
97
|
-
const messageContents = messagesToSummarize.map((msg) => ({
|
|
98
|
-
role: msg.role,
|
|
99
|
-
content: msg.content,
|
|
100
|
-
}));
|
|
101
|
-
const memorize = await summaryProvider.generateMemorizedMessage(messageContents);
|
|
102
|
-
if (memorize) {
|
|
103
|
-
// 添加新的记忆总结
|
|
104
|
-
this.memorySummaries.push({
|
|
105
|
-
content: memorize,
|
|
106
|
-
timestamp: Date.now(),
|
|
107
|
-
messageIds: messagesToSummarize.map((msg) => msg.id),
|
|
108
|
-
});
|
|
109
|
-
// 标记消息为已总结
|
|
110
|
-
for (const msg of messagesToSummarize) {
|
|
111
|
-
const existingMsg = this.messageMap.get(msg.id);
|
|
112
|
-
if (existingMsg) {
|
|
113
|
-
this.messageMap.set(msg.id, {
|
|
114
|
-
...existingMsg,
|
|
115
|
-
isSummarized: true,
|
|
116
|
-
});
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
// 清空缓冲区
|
|
120
|
-
this.messageBuffer.clear();
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
finally {
|
|
126
|
-
this.isCompressing = false;
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
addToolCall(toolCall) {
|
|
130
|
-
this.toolCallMap.set(toolCall.id, toolCall);
|
|
131
|
-
}
|
|
132
|
-
getToolCall(id) {
|
|
133
|
-
const toolCall = this.toolCallMap.get(id);
|
|
134
|
-
return toolCall;
|
|
135
29
|
}
|
|
136
30
|
doAddMessage(message) {
|
|
137
31
|
const id = (0, ide_core_common_1.uuid)(6);
|
|
@@ -143,17 +37,10 @@ class MsgHistoryManager extends ide_core_common_1.Disposable {
|
|
|
143
37
|
type: message.type || 'string',
|
|
144
38
|
};
|
|
145
39
|
this.messageMap.set(id, msg);
|
|
146
|
-
// 在添加新消息后尝试压缩记忆
|
|
147
|
-
this.compressMemory().catch((error) => {
|
|
148
|
-
// eslint-disable-next-line no-console
|
|
149
|
-
console.error('[MsgHistoryManager] Error compressing memory', error);
|
|
150
|
-
});
|
|
151
|
-
// 无论压缩是否完成,都触发消息变更事件
|
|
152
40
|
this._onMessageChange.fire(this.getMessages());
|
|
153
41
|
return id;
|
|
154
42
|
}
|
|
155
43
|
get messageList() {
|
|
156
|
-
// 按 order 升序排序,保持消息的原始顺序
|
|
157
44
|
return Array.from(this.messageMap.values()).sort((a, b) => a.order - b.order);
|
|
158
45
|
}
|
|
159
46
|
get lastMessageId() {
|
|
@@ -164,15 +51,6 @@ class MsgHistoryManager extends ide_core_common_1.Disposable {
|
|
|
164
51
|
getMessages() {
|
|
165
52
|
return this.messageList;
|
|
166
53
|
}
|
|
167
|
-
getMemorySummaries() {
|
|
168
|
-
return this.memorySummaries;
|
|
169
|
-
}
|
|
170
|
-
setMemoryConfig(config) {
|
|
171
|
-
this.memoryConfig = {
|
|
172
|
-
...this.memoryConfig,
|
|
173
|
-
...config,
|
|
174
|
-
};
|
|
175
|
-
}
|
|
176
54
|
addUserMessage(message) {
|
|
177
55
|
return this.doAddMessage({
|
|
178
56
|
...message,
|
|
@@ -214,13 +92,10 @@ class MsgHistoryManager extends ide_core_common_1.Disposable {
|
|
|
214
92
|
return this.messageAdditionalMap;
|
|
215
93
|
}
|
|
216
94
|
toJSON() {
|
|
217
|
-
|
|
95
|
+
return {
|
|
218
96
|
messages: this.getMessages(),
|
|
219
97
|
additional: Object.fromEntries(this.messageAdditionalMap.entries()),
|
|
220
|
-
memorySummaries: this.memorySummaries,
|
|
221
|
-
toolCalls: Object.fromEntries(this.toolCallMap.entries()),
|
|
222
98
|
};
|
|
223
|
-
return data;
|
|
224
99
|
}
|
|
225
100
|
}
|
|
226
101
|
exports.MsgHistoryManager = MsgHistoryManager;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"msg-history-manager.js","sourceRoot":"","sources":["../../../src/browser/model/msg-history-manager.ts"],"names":[],"mappings":";;;AAAA,+DAA6E;
|
|
1
|
+
{"version":3,"file":"msg-history-manager.js","sourceRoot":"","sources":["../../../src/browser/model/msg-history-manager.ts"],"names":[],"mappings":"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"}
|