@opensumi/ide-ai-native 3.8.3-next-1741772268.0 → 3.8.3-next-1741774971.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/chat/chat-agent.service.d.ts +1 -1
- package/lib/browser/chat/chat-agent.service.d.ts.map +1 -1
- package/lib/browser/chat/chat-agent.service.js +7 -7
- package/lib/browser/chat/chat-agent.service.js.map +1 -1
- package/lib/browser/chat/chat.view.d.ts.map +1 -1
- package/lib/browser/chat/chat.view.js +55 -18
- package/lib/browser/chat/chat.view.js.map +1 -1
- package/lib/browser/components/ChatEditor.d.ts +11 -2
- package/lib/browser/components/ChatEditor.d.ts.map +1 -1
- package/lib/browser/components/ChatEditor.js +66 -6
- package/lib/browser/components/ChatEditor.js.map +1 -1
- package/lib/browser/components/ChatMentionInput.d.ts +25 -0
- package/lib/browser/components/ChatMentionInput.d.ts.map +1 -0
- package/lib/browser/components/ChatMentionInput.js +224 -0
- package/lib/browser/components/ChatMentionInput.js.map +1 -0
- package/lib/browser/components/ChatThinking.d.ts +1 -1
- package/lib/browser/components/ChatThinking.d.ts.map +1 -1
- package/lib/browser/components/ChatThinking.js +8 -2
- package/lib/browser/components/ChatThinking.js.map +1 -1
- package/lib/browser/components/change-list.module.less +2 -0
- package/lib/browser/components/{ChatContext/ContextSelector.d.ts → chat-context/context-selector.d.ts} +1 -1
- package/lib/browser/components/chat-context/context-selector.d.ts.map +1 -0
- package/lib/browser/components/{ChatContext/ContextSelector.js → chat-context/context-selector.js} +1 -1
- package/lib/browser/components/chat-context/context-selector.js.map +1 -0
- package/lib/browser/components/chat-context/index.d.ts.map +1 -0
- package/lib/browser/components/{ChatContext → chat-context}/index.js +2 -2
- package/lib/browser/components/chat-context/index.js.map +1 -0
- package/lib/browser/components/components.module.less +32 -2
- package/lib/browser/components/mention-input/mention-input.d.ts +5 -0
- package/lib/browser/components/mention-input/mention-input.d.ts.map +1 -0
- package/lib/browser/components/mention-input/mention-input.js +763 -0
- package/lib/browser/components/mention-input/mention-input.js.map +1 -0
- package/lib/browser/components/mention-input/mention-input.module.less +329 -0
- package/lib/browser/components/mention-input/mention-item.d.ts +10 -0
- package/lib/browser/components/mention-input/mention-item.d.ts.map +1 -0
- package/lib/browser/components/mention-input/mention-item.js +16 -0
- package/lib/browser/components/mention-input/mention-item.js.map +1 -0
- package/lib/browser/components/mention-input/mention-panel.d.ts +15 -0
- package/lib/browser/components/mention-input/mention-panel.d.ts.map +1 -0
- package/lib/browser/components/mention-input/mention-panel.js +49 -0
- package/lib/browser/components/mention-input/mention-panel.js.map +1 -0
- package/lib/browser/components/mention-input/types.d.ts +78 -0
- package/lib/browser/components/mention-input/types.d.ts.map +1 -0
- package/lib/browser/components/mention-input/types.js +16 -0
- package/lib/browser/components/mention-input/types.js.map +1 -0
- package/lib/browser/context/llm-context.service.d.ts +10 -2
- package/lib/browser/context/llm-context.service.d.ts.map +1 -1
- package/lib/browser/context/llm-context.service.js +71 -2
- package/lib/browser/context/llm-context.service.js.map +1 -1
- package/lib/common/llm-context.d.ts +15 -1
- package/lib/common/llm-context.d.ts.map +1 -1
- package/lib/common/llm-context.js.map +1 -1
- package/lib/common/prompts/context-prompt-provider.d.ts +12 -2
- package/lib/common/prompts/context-prompt-provider.d.ts.map +1 -1
- package/lib/common/prompts/context-prompt-provider.js +94 -30
- package/lib/common/prompts/context-prompt-provider.js.map +1 -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/package.json +23 -23
- package/src/browser/chat/chat-agent.service.ts +7 -7
- package/src/browser/chat/chat.view.tsx +74 -21
- package/src/browser/components/ChatEditor.tsx +126 -9
- package/src/browser/components/ChatMentionInput.tsx +271 -0
- package/src/browser/components/ChatThinking.tsx +10 -4
- package/src/browser/components/change-list.module.less +2 -0
- package/src/browser/components/{ChatContext → chat-context}/index.tsx +1 -1
- package/src/browser/components/components.module.less +32 -2
- package/src/browser/components/mention-input/mention-input.module.less +329 -0
- package/src/browser/components/mention-input/mention-input.tsx +952 -0
- package/src/browser/components/mention-input/mention-item.tsx +24 -0
- package/src/browser/components/mention-input/mention-panel.tsx +89 -0
- package/src/browser/components/mention-input/types.ts +84 -0
- package/src/browser/context/llm-context.service.ts +81 -3
- package/src/common/llm-context.ts +16 -1
- package/src/common/prompts/context-prompt-provider.ts +126 -36
- package/src/node/mcp-server.sse.ts +1 -2
- package/lib/browser/components/ChatContext/ContextSelector.d.ts.map +0 -1
- package/lib/browser/components/ChatContext/ContextSelector.js.map +0 -1
- package/lib/browser/components/ChatContext/index.d.ts.map +0 -1
- package/lib/browser/components/ChatContext/index.js.map +0 -1
- /package/lib/browser/components/{ChatContext → chat-context}/index.d.ts +0 -0
- /package/lib/browser/components/{ChatContext → chat-context}/style.module.less +0 -0
- /package/src/browser/components/{ChatContext/ContextSelector.tsx → chat-context/context-selector.tsx} +0 -0
- /package/src/browser/components/{ChatContext → chat-context}/style.module.less +0 -0
|
@@ -9,6 +9,7 @@ const markers_1 = require("@opensumi/ide-core-common/lib/types/markers/markers")
|
|
|
9
9
|
const utils_1 = require("@opensumi/ide-core-common/lib/utils");
|
|
10
10
|
const types_1 = require("@opensumi/ide-editor/lib/browser/doc-model/types");
|
|
11
11
|
const types_2 = require("@opensumi/ide-editor/lib/browser/types");
|
|
12
|
+
const ide_file_service_1 = require("@opensumi/ide-file-service");
|
|
12
13
|
const types_3 = require("@opensumi/ide-markers/lib/common/types");
|
|
13
14
|
const ide_monaco_1 = require("@opensumi/ide-monaco");
|
|
14
15
|
let LLMContextServiceImpl = class LLMContextServiceImpl extends event_decorator_1.WithEventBus {
|
|
@@ -17,8 +18,10 @@ let LLMContextServiceImpl = class LLMContextServiceImpl extends event_decorator_
|
|
|
17
18
|
this.isAutoCollecting = false;
|
|
18
19
|
this.contextVersion = 0;
|
|
19
20
|
this.maxAttachFilesLimit = 10;
|
|
21
|
+
this.maxAttachFoldersLimit = 10;
|
|
20
22
|
this.maxViewFilesLimit = 20;
|
|
21
23
|
this.attachedFiles = [];
|
|
24
|
+
this.attachedFolders = [];
|
|
22
25
|
this.recentlyViewFiles = [];
|
|
23
26
|
this.onDidContextFilesChangeEmitter = new utils_1.Emitter();
|
|
24
27
|
this.onDidContextFilesChangeEvent = this.onDidContextFilesChangeEmitter.event;
|
|
@@ -33,6 +36,16 @@ let LLMContextServiceImpl = class LLMContextServiceImpl extends event_decorator_
|
|
|
33
36
|
list.shift();
|
|
34
37
|
}
|
|
35
38
|
}
|
|
39
|
+
addFolderToList(folder, list, maxLimit) {
|
|
40
|
+
const existingIndex = list.findIndex((f) => f.uri.toString() === folder.uri.toString());
|
|
41
|
+
if (existingIndex > -1) {
|
|
42
|
+
list.splice(existingIndex, 1);
|
|
43
|
+
}
|
|
44
|
+
list.push(folder);
|
|
45
|
+
if (list.length > maxLimit) {
|
|
46
|
+
list.shift();
|
|
47
|
+
}
|
|
48
|
+
}
|
|
36
49
|
addFileToContext(uri, selection, isManual = false) {
|
|
37
50
|
if (!uri) {
|
|
38
51
|
return;
|
|
@@ -46,17 +59,27 @@ let LLMContextServiceImpl = class LLMContextServiceImpl extends event_decorator_
|
|
|
46
59
|
this.addFileToList(file, targetList, maxLimit);
|
|
47
60
|
this.notifyContextChange();
|
|
48
61
|
}
|
|
62
|
+
addFolderToContext(uri) {
|
|
63
|
+
if (!uri) {
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
const file = { uri };
|
|
67
|
+
this.addFolderToList(file, this.attachedFolders, this.maxAttachFoldersLimit);
|
|
68
|
+
this.notifyContextChange();
|
|
69
|
+
}
|
|
49
70
|
notifyContextChange() {
|
|
50
71
|
this.onDidContextFilesChangeEmitter.fire(this.getAllContextFiles());
|
|
51
72
|
}
|
|
52
73
|
cleanFileContext() {
|
|
53
|
-
this.attachedFiles
|
|
74
|
+
this.attachedFiles = [];
|
|
75
|
+
this.attachedFolders = [];
|
|
54
76
|
this.notifyContextChange();
|
|
55
77
|
}
|
|
56
78
|
getAllContextFiles() {
|
|
57
79
|
return {
|
|
58
80
|
viewed: this.recentlyViewFiles,
|
|
59
81
|
attached: this.attachedFiles,
|
|
82
|
+
attachedFolders: this.attachedFolders,
|
|
60
83
|
version: this.contextVersion++,
|
|
61
84
|
};
|
|
62
85
|
}
|
|
@@ -112,14 +135,56 @@ let LLMContextServiceImpl = class LLMContextServiceImpl extends event_decorator_
|
|
|
112
135
|
stopAutoCollection() {
|
|
113
136
|
this.dispose();
|
|
114
137
|
}
|
|
115
|
-
serialize() {
|
|
138
|
+
async serialize() {
|
|
116
139
|
const files = this.getAllContextFiles();
|
|
117
140
|
const workspaceRoot = utils_1.URI.file(this.appConfig.workspaceDir);
|
|
118
141
|
return {
|
|
119
142
|
recentlyViewFiles: this.serializeRecentlyViewFiles(files.viewed, workspaceRoot),
|
|
120
143
|
attachedFiles: this.serializeAttachedFiles(files.attached, workspaceRoot),
|
|
144
|
+
attachedFolders: await this.serializeAttachedFolders(files.attachedFolders, workspaceRoot),
|
|
121
145
|
};
|
|
122
146
|
}
|
|
147
|
+
async serializeAttachedFolders(folders, workspaceRoot) {
|
|
148
|
+
// 去重
|
|
149
|
+
const folderPath = Array.from(new Set(folders.map((folder) => folder.uri.toString())));
|
|
150
|
+
return Promise.all(folderPath.map(async (folder) => {
|
|
151
|
+
var _a;
|
|
152
|
+
const folderUri = new utils_1.URI(folder);
|
|
153
|
+
const root = ((_a = workspaceRoot.relative(folderUri)) === null || _a === void 0 ? void 0 : _a.toString()) || '/';
|
|
154
|
+
return `\`\`\`\n${root}\n${(await this.getPartiaFolderStructure(folderUri.codeUri.fsPath))
|
|
155
|
+
.map((line) => `- ${line}`)
|
|
156
|
+
.join('\n')}\n\`\`\`\n`;
|
|
157
|
+
}));
|
|
158
|
+
}
|
|
159
|
+
async getPartiaFolderStructure(folder, level = 2) {
|
|
160
|
+
const result = [];
|
|
161
|
+
const stat = await this.fileService.getFileStat(folder);
|
|
162
|
+
for (const child of (stat === null || stat === void 0 ? void 0 : stat.children) || []) {
|
|
163
|
+
const relativePath = new utils_1.URI(folder).relative(new utils_1.URI(child.uri)).toString();
|
|
164
|
+
if (child.isSymbolicLink) {
|
|
165
|
+
// 处理软链接
|
|
166
|
+
const target = await this.fileService.getFileStat(child.realUri || child.uri);
|
|
167
|
+
if (target) {
|
|
168
|
+
result.push(`${relativePath} -> ${target} (symbolic link)`);
|
|
169
|
+
}
|
|
170
|
+
else {
|
|
171
|
+
result.push(`${relativePath} (broken symbolic link)`);
|
|
172
|
+
}
|
|
173
|
+
continue;
|
|
174
|
+
}
|
|
175
|
+
if (child.type === ide_file_service_1.FileType.Directory) {
|
|
176
|
+
result.push(`${relativePath}/`);
|
|
177
|
+
if (level > 1) {
|
|
178
|
+
const subDirStructure = await this.getPartiaFolderStructure(child.uri, level - 1);
|
|
179
|
+
result.push(...subDirStructure.map((subEntry) => `${relativePath}/${subEntry}`));
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
else if (child.type === ide_file_service_1.FileType.File) {
|
|
183
|
+
result.push(relativePath);
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
return result;
|
|
187
|
+
}
|
|
123
188
|
serializeRecentlyViewFiles(files, workspaceRoot) {
|
|
124
189
|
return files
|
|
125
190
|
.map((file) => { var _a; return ((_a = workspaceRoot.relative(file.uri)) === null || _a === void 0 ? void 0 : _a.toString()) || file.uri.parent.toString(); })
|
|
@@ -170,6 +235,10 @@ tslib_1.__decorate([
|
|
|
170
235
|
(0, di_1.Autowired)(types_3.IMarkerService),
|
|
171
236
|
tslib_1.__metadata("design:type", Object)
|
|
172
237
|
], LLMContextServiceImpl.prototype, "markerService", void 0);
|
|
238
|
+
tslib_1.__decorate([
|
|
239
|
+
(0, di_1.Autowired)(ide_file_service_1.IFileServiceClient),
|
|
240
|
+
tslib_1.__metadata("design:type", Object)
|
|
241
|
+
], LLMContextServiceImpl.prototype, "fileService", void 0);
|
|
173
242
|
exports.LLMContextServiceImpl = LLMContextServiceImpl = tslib_1.__decorate([
|
|
174
243
|
(0, di_1.Injectable)()
|
|
175
244
|
], LLMContextServiceImpl);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"llm-context.service.js","sourceRoot":"","sources":["../../../src/browser/context/llm-context.service.ts"],"names":[],"mappings":";;;;AAAA,qCAAqD;AACrD,oGAA2F;AAC3F,6FAAuF;AACvF,iFAAqF;AACrF,+DAAmE;AACnE,4EAK0D;AAC1D,kEAAoF;AACpF,kEAAwE;AACxE,qDAA6C;AAKtC,IAAM,qBAAqB,GAA3B,MAAM,qBAAsB,SAAQ,8BAAY;IAAhD;;
|
|
1
|
+
{"version":3,"file":"llm-context.service.js","sourceRoot":"","sources":["../../../src/browser/context/llm-context.service.ts"],"names":[],"mappings":";;;;AAAA,qCAAqD;AACrD,oGAA2F;AAC3F,6FAAuF;AACvF,iFAAqF;AACrF,+DAAmE;AACnE,4EAK0D;AAC1D,kEAAoF;AACpF,iEAA0E;AAC1E,kEAAwE;AACxE,qDAA6C;AAKtC,IAAM,qBAAqB,GAA3B,MAAM,qBAAsB,SAAQ,8BAAY;IAAhD;;QAaG,qBAAgB,GAAG,KAAK,CAAC;QAEzB,mBAAc,GAAG,CAAC,CAAC;QAEV,wBAAmB,GAAG,EAAE,CAAC;QACzB,0BAAqB,GAAG,EAAE,CAAC;QAC3B,sBAAiB,GAAG,EAAE,CAAC;QAChC,kBAAa,GAAkB,EAAE,CAAC;QAClC,oBAAe,GAAkB,EAAE,CAAC;QAC3B,sBAAiB,GAAkB,EAAE,CAAC;QACtC,mCAA8B,GAAG,IAAI,eAAO,EAIzD,CAAC;QACL,iCAA4B,GAAG,IAAI,CAAC,8BAA8B,CAAC,KAAK,CAAC;IAoP3E,CAAC;IAlPS,aAAa,CAAC,IAAiB,EAAE,IAAmB,EAAE,QAAgB;QAC5E,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;QACtF,IAAI,aAAa,GAAG,CAAC,CAAC,EAAE,CAAC;YACvB,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;QAChC,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChB,IAAI,IAAI,CAAC,MAAM,GAAG,QAAQ,EAAE,CAAC;YAC3B,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC;IACH,CAAC;IAEO,eAAe,CAAC,MAAmB,EAAE,IAAmB,EAAE,QAAgB;QAChF,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;QACxF,IAAI,aAAa,GAAG,CAAC,CAAC,EAAE,CAAC;YACvB,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;QAChC,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAClB,IAAI,IAAI,CAAC,MAAM,GAAG,QAAQ,EAAE,CAAC;YAC3B,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC;IACH,CAAC;IAED,gBAAgB,CAAC,GAAQ,EAAE,SAA4B,EAAE,QAAQ,GAAG,KAAK;QACvE,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC;QAChC,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC;QAC1E,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC;QAE9E,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC,eAAe,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;QACjD,CAAC;QAED,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;QAC/C,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC;IAED,kBAAkB,CAAC,GAAQ;QACzB,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC;QAErB,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAC7E,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC;IAEO,mBAAmB;QACzB,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,gBAAgB;QACd,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC;IAEO,kBAAkB;QACxB,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,iBAAiB;YAC9B,QAAQ,EAAE,IAAI,CAAC,aAAa;YAC5B,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE;SAC/B,CAAC;IACJ,CAAC;IAED,qBAAqB,CAAC,GAAQ,EAAE,QAAQ,GAAG,KAAK;QAC9C,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC;QAC1E,MAAM,KAAK,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;QACrF,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC;YACf,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAC9B,CAAC;QACD,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC;IAED,mBAAmB;QACjB,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,OAAO;QACT,CAAC;QACD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAE7B,IAAI,CAAC,2BAA2B,EAAE,CAAC;IACrC,CAAC;IAEO,2BAA2B;QACjC,IAAI,CAAC,WAAW,CAAC,IAAI,CACnB,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,wCAAgC,EAAE,CAAC,KAAK,EAAE,EAAE;YAC3D,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBACxC,OAAO;YACT,CAAC;YACD,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;QAC7D,CAAC,CAAC,CACH,CAAC;QAEF,IAAI,CAAC,WAAW,CAAC,IAAI,CACnB,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,uCAA+B,EAAE,CAAC,KAAK,EAAE,EAAE;YAC1D,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBACpC,OAAO;YACT,CAAC;YAED,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACnD,CAAC,CAAC,CACH,CAAC;QAEF,IAAI,CAAC,WAAW,CAAC,IAAI,CACnB,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,qCAA6B,EAAE,CAAC,KAAK,EAAE,EAAE;YACxD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBACpC,OAAO;YACT,CAAC;YACD,gBAAgB;QAClB,CAAC,CAAC,CACH,CAAC;QAEF,IAAI,CAAC,WAAW,CAAC,IAAI,CACnB,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,kCAA0B,EAAE,CAAC,KAAK,EAAE,EAAE;YACrD,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxC,MAAM,SAAS,GAAG;oBAChB,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,wBAAwB;oBACpD,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,kBAAkB;iBAC/C,CAAC,IAAI,EAAsB,CAAC;gBAE7B,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;oBAClC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;gBACnE,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,gBAAgB,CACnB,KAAK,CAAC,OAAO,CAAC,SAAS,EACvB,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAC/B,KAAK,CACN,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,kBAAkB;QAChB,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,SAAS;QACb,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACxC,MAAM,aAAa,GAAG,WAAG,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QAE5D,OAAO;YACL,iBAAiB,EAAE,IAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC,MAAM,EAAE,aAAa,CAAC;YAC/E,aAAa,EAAE,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,QAAQ,EAAE,aAAa,CAAC;YACzE,eAAe,EAAE,MAAM,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,eAAe,EAAE,aAAa,CAAC;SAC3F,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,wBAAwB,CAAC,OAAsB,EAAE,aAAkB;QAC/E,KAAK;QACL,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;QACvF,OAAO,OAAO,CAAC,GAAG,CAChB,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;;YAC9B,MAAM,SAAS,GAAG,IAAI,WAAG,CAAC,MAAM,CAAC,CAAC;YAClC,MAAM,IAAI,GAAG,CAAA,MAAA,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC,0CAAE,QAAQ,EAAE,KAAI,GAAG,CAAC;YAClE,OAAO,WAAW,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;iBACvF,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC;iBAC1B,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;QAC5B,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,wBAAwB,CAAC,MAAc,EAAE,KAAK,GAAG,CAAC;QAC9D,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAExD,KAAK,MAAM,KAAK,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,KAAI,EAAE,EAAE,CAAC;YACzC,MAAM,YAAY,GAAG,IAAI,WAAG,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,WAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAE,CAAC,QAAQ,EAAE,CAAC;YAE9E,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;gBACzB,QAAQ;gBACR,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC9E,IAAI,MAAM,EAAE,CAAC;oBACX,MAAM,CAAC,IAAI,CAAC,GAAG,YAAY,OAAO,MAAM,kBAAkB,CAAC,CAAC;gBAC9D,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,IAAI,CAAC,GAAG,YAAY,yBAAyB,CAAC,CAAC;gBACxD,CAAC;gBACD,SAAS;YACX,CAAC;YAED,IAAI,KAAK,CAAC,IAAI,KAAK,2BAAQ,CAAC,SAAS,EAAE,CAAC;gBACtC,MAAM,CAAC,IAAI,CAAC,GAAG,YAAY,GAAG,CAAC,CAAC;gBAChC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;oBACd,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;oBAClF,MAAM,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAG,YAAY,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC;gBACnF,CAAC;YACH,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,2BAAQ,CAAC,IAAI,EAAE,CAAC;gBACxC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,0BAA0B,CAAC,KAAoB,EAAE,aAAkB;QACzE,OAAO,KAAK;aACT,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,WAAC,OAAA,CAAA,MAAA,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,0CAAE,QAAQ,EAAE,KAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAA,EAAA,CAAC;aACzF,MAAM,CAAC,OAAO,CAAC,CAAC;IACrB,CAAC;IAEO,sBAAsB,CAAC,KAAoB,EAAE,aAAkB;QACrE,OAAO,KAAK;aACT,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;aAC9D,MAAM,CAAC,OAAO,CAAmC,CAAC;IACvD,CAAC;IAEO,qBAAqB,CAAC,IAAiB,EAAE,aAAkB;QACjE,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC7D,IAAI,CAAC,GAAG,EAAE,CAAC;gBACT,OAAO,IAAI,CAAC;YACd,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,OAAO,CAC3B,IAAI,CAAC,SAAS,IAAI,IAAI,kBAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CACtF;gBACD,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC;gBACxC,IAAI,EAAE,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAE,CAAC,QAAQ,EAAE;gBAClD,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,UAAW;aACnC,CAAC;QACJ,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAEO,aAAa,CAAC,GAAQ;QAC5B,OAAO,IAAI,CAAC,aAAa;aACtB,UAAU,EAAE;aACZ,UAAU,CAAC;YACV,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE;YACxB,UAAU,EAAE,wBAAc,CAAC,KAAK;SACjC,CAAC;aACD,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;CACF,CAAA;AAhRY,sDAAqB;AAEb;IADlB,IAAA,cAAS,EAAC,2BAAS,CAAC;;wDACmB;AAGrB;IADlB,IAAA,cAAS,EAAC,mCAA2B,CAAC;;8DACyB;AAG7C;IADlB,IAAA,cAAS,EAAC,sBAAc,CAAC;;4DACuB;AAG9B;IADlB,IAAA,cAAS,EAAC,qCAAkB,CAAC;;0DACqB;gCAXxC,qBAAqB;IADjC,IAAA,eAAU,GAAE;GACA,qBAAqB,CAgRjC"}
|
|
@@ -1,15 +1,28 @@
|
|
|
1
1
|
import { Event, URI } from '@opensumi/ide-core-common/lib/utils';
|
|
2
2
|
export interface LLMContextService {
|
|
3
|
+
/**
|
|
4
|
+
* 开始自动收集
|
|
5
|
+
*/
|
|
3
6
|
startAutoCollection(): void;
|
|
7
|
+
/**
|
|
8
|
+
* 停止自动收集
|
|
9
|
+
*/
|
|
4
10
|
stopAutoCollection(): void;
|
|
5
11
|
/**
|
|
6
12
|
* 添加文件到 context 中
|
|
7
13
|
*/
|
|
8
14
|
addFileToContext(uri: URI, selection?: [number, number], isManual?: boolean): void;
|
|
15
|
+
/**
|
|
16
|
+
* 添加文件夹到 context 中
|
|
17
|
+
*/
|
|
18
|
+
addFolderToContext(uri: URI, isManual?: boolean): void;
|
|
9
19
|
/**
|
|
10
20
|
* 清除上下文
|
|
11
21
|
*/
|
|
12
22
|
cleanFileContext(): void;
|
|
23
|
+
/**
|
|
24
|
+
* 上下文文件变化事件
|
|
25
|
+
*/
|
|
13
26
|
onDidContextFilesChangeEvent: Event<{
|
|
14
27
|
viewed: FileContext[];
|
|
15
28
|
attached: FileContext[];
|
|
@@ -21,7 +34,7 @@ export interface LLMContextService {
|
|
|
21
34
|
*/
|
|
22
35
|
removeFileFromContext(uri: URI, isManual?: boolean): void;
|
|
23
36
|
/** 导出为可序列化格式 */
|
|
24
|
-
serialize(): SerializedContext
|
|
37
|
+
serialize(): Promise<SerializedContext>;
|
|
25
38
|
}
|
|
26
39
|
export interface FileContext {
|
|
27
40
|
uri: URI;
|
|
@@ -37,5 +50,6 @@ export interface AttachFileContext {
|
|
|
37
50
|
export interface SerializedContext {
|
|
38
51
|
recentlyViewFiles: string[];
|
|
39
52
|
attachedFiles: Array<AttachFileContext>;
|
|
53
|
+
attachedFolders: string[];
|
|
40
54
|
}
|
|
41
55
|
//# sourceMappingURL=llm-context.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"llm-context.d.ts","sourceRoot":"","sources":["../../src/common/llm-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,qCAAqC,CAAC;AAEjE,MAAM,WAAW,iBAAiB;IAChC,mBAAmB,IAAI,IAAI,CAAC;IAE5B,kBAAkB,IAAI,IAAI,CAAC;IAE3B;;OAEG;IACH,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAEnF;;OAEG;IACH,gBAAgB,IAAI,IAAI,CAAC;IAEzB,4BAA4B,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,WAAW,EAAE,CAAC;QAAC,QAAQ,EAAE,WAAW,EAAE,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAEzG;;;OAGG;IACH,qBAAqB,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAE1D,gBAAgB;IAChB,SAAS,IAAI,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"llm-context.d.ts","sourceRoot":"","sources":["../../src/common/llm-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,qCAAqC,CAAC;AAEjE,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,mBAAmB,IAAI,IAAI,CAAC;IAE5B;;OAEG;IACH,kBAAkB,IAAI,IAAI,CAAC;IAE3B;;OAEG;IACH,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAEnF;;OAEG;IACH,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAEvD;;OAEG;IACH,gBAAgB,IAAI,IAAI,CAAC;IAEzB;;OAEG;IACH,4BAA4B,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,WAAW,EAAE,CAAC;QAAC,QAAQ,EAAE,WAAW,EAAE,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAEzG;;;OAGG;IACH,qBAAqB,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAE1D,gBAAgB;IAChB,SAAS,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAAC;CACzC;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,GAAG,CAAC;IACT,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9B;AAED,eAAO,MAAM,sBAAsB,eAA8B,CAAC;AAElE,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,aAAa,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACxC,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"llm-context.js","sourceRoot":"","sources":["../../src/common/llm-context.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"llm-context.js","sourceRoot":"","sources":["../../src/common/llm-context.ts"],"names":[],"mappings":";;;AAgDa,QAAA,sBAAsB,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { WorkbenchEditorService } from '@opensumi/ide-editor/lib/common/editor';
|
|
2
|
+
import { IWorkspaceService } from '@opensumi/ide-workspace';
|
|
2
3
|
import { SerializedContext } from '../llm-context';
|
|
3
4
|
export declare const ChatAgentPromptProvider: unique symbol;
|
|
4
5
|
export interface ChatAgentPromptProvider {
|
|
@@ -6,10 +7,19 @@ export interface ChatAgentPromptProvider {
|
|
|
6
7
|
* 提供上下文提示
|
|
7
8
|
* @param context 上下文
|
|
8
9
|
*/
|
|
9
|
-
provideContextPrompt(context: SerializedContext, userMessage: string): string
|
|
10
|
+
provideContextPrompt(context: SerializedContext, userMessage: string): Promise<string>;
|
|
10
11
|
}
|
|
11
12
|
export declare class DefaultChatAgentPromptProvider implements ChatAgentPromptProvider {
|
|
12
13
|
protected readonly workbenchEditorService: WorkbenchEditorService;
|
|
13
|
-
|
|
14
|
+
protected readonly workspaceService: IWorkspaceService;
|
|
15
|
+
provideContextPrompt(context: SerializedContext, userMessage: string): Promise<string>;
|
|
16
|
+
private getCurrentFileInfo;
|
|
17
|
+
private buildPromptTemplate;
|
|
18
|
+
private buildRecentFilesSection;
|
|
19
|
+
private buildAttachedFilesSection;
|
|
20
|
+
private buildFileContentSection;
|
|
21
|
+
private buildLineErrorsSection;
|
|
22
|
+
private buildAttachedFoldersSection;
|
|
23
|
+
private buildCurrentFileSection;
|
|
14
24
|
}
|
|
15
25
|
//# sourceMappingURL=context-prompt-provider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context-prompt-provider.d.ts","sourceRoot":"","sources":["../../../src/common/prompts/context-prompt-provider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;
|
|
1
|
+
{"version":3,"file":"context-prompt-provider.d.ts","sourceRoot":"","sources":["../../../src/common/prompts/context-prompt-provider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEnD,eAAO,MAAM,uBAAuB,eAAoC,CAAC;AAEzE,MAAM,WAAW,uBAAuB;IACtC;;;OAGG;IACH,oBAAoB,CAAC,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACxF;AAED,qBACa,8BAA+B,YAAW,uBAAuB;IAE5E,SAAS,CAAC,QAAQ,CAAC,sBAAsB,EAAE,sBAAsB,CAAC;IAGlE,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,iBAAiB,CAAC;IAEjD,oBAAoB,CAAC,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM;YAY5D,kBAAkB;IAkBhC,OAAO,CAAC,mBAAmB;IA6B3B,OAAO,CAAC,uBAAuB;IAU/B,OAAO,CAAC,yBAAyB;IAoBjC,OAAO,CAAC,uBAAuB;IAQ/B,OAAO,CAAC,sBAAsB;IAQ9B,OAAO,CAAC,2BAA2B;IAQnC,OAAO,CAAC,uBAAuB;CAWhC"}
|
|
@@ -4,40 +4,100 @@ exports.DefaultChatAgentPromptProvider = exports.ChatAgentPromptProvider = void
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const di_1 = require("@opensumi/di");
|
|
6
6
|
const editor_1 = require("@opensumi/ide-editor/lib/common/editor");
|
|
7
|
+
const ide_workspace_1 = require("@opensumi/ide-workspace");
|
|
7
8
|
exports.ChatAgentPromptProvider = Symbol('ChatAgentPromptProvider');
|
|
8
9
|
let DefaultChatAgentPromptProvider = class DefaultChatAgentPromptProvider {
|
|
9
|
-
provideContextPrompt(context, userMessage) {
|
|
10
|
+
async provideContextPrompt(context, userMessage) {
|
|
11
|
+
const currentFileInfo = await this.getCurrentFileInfo();
|
|
12
|
+
return this.buildPromptTemplate({
|
|
13
|
+
recentFiles: this.buildRecentFilesSection(context.recentlyViewFiles),
|
|
14
|
+
attachedFiles: this.buildAttachedFilesSection(context.attachedFiles),
|
|
15
|
+
attachedFolders: this.buildAttachedFoldersSection(context.attachedFolders),
|
|
16
|
+
currentFile: currentFileInfo,
|
|
17
|
+
userMessage,
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
async getCurrentFileInfo() {
|
|
21
|
+
var _a;
|
|
10
22
|
const editor = this.workbenchEditorService.currentEditor;
|
|
11
23
|
const currentModel = editor === null || editor === void 0 ? void 0 : editor.currentDocumentModel;
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
24
|
+
if (!(currentModel === null || currentModel === void 0 ? void 0 : currentModel.uri)) {
|
|
25
|
+
return null;
|
|
26
|
+
}
|
|
27
|
+
const currentPath = ((_a = (await this.workspaceService.asRelativePath(currentModel.uri))) === null || _a === void 0 ? void 0 : _a.path) || currentModel.uri.codeUri.fsPath;
|
|
28
|
+
return {
|
|
29
|
+
path: currentPath,
|
|
30
|
+
languageId: currentModel.languageId,
|
|
31
|
+
content: currentModel.getText(),
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
buildPromptTemplate({ recentFiles, attachedFiles, attachedFolders, currentFile, userMessage, }) {
|
|
35
|
+
const sections = [
|
|
36
|
+
'<additional_data>',
|
|
37
|
+
'Below are some potentially helpful/relevant pieces of information for figuring out to respond',
|
|
38
|
+
recentFiles,
|
|
39
|
+
attachedFiles,
|
|
40
|
+
attachedFolders,
|
|
41
|
+
this.buildCurrentFileSection(currentFile),
|
|
42
|
+
'</additional_data>',
|
|
43
|
+
'<user_query>',
|
|
44
|
+
userMessage,
|
|
45
|
+
'</user_query>',
|
|
46
|
+
].filter(Boolean);
|
|
47
|
+
return sections.join('\n');
|
|
48
|
+
}
|
|
49
|
+
buildRecentFilesSection(files) {
|
|
50
|
+
if (!files.length) {
|
|
51
|
+
return '';
|
|
52
|
+
}
|
|
53
|
+
return `<recently_viewed_files>
|
|
54
|
+
${files.map((file, idx) => ` ${idx + 1}: ${file}`).join('\n')}
|
|
55
|
+
</recently_viewed_files>`;
|
|
56
|
+
}
|
|
57
|
+
buildAttachedFilesSection(files) {
|
|
58
|
+
if (!files.length) {
|
|
59
|
+
return '';
|
|
60
|
+
}
|
|
61
|
+
const fileContents = files
|
|
62
|
+
.map((file) => {
|
|
63
|
+
const sections = [
|
|
64
|
+
this.buildFileContentSection(file),
|
|
65
|
+
file.lineErrors.length ? this.buildLineErrorsSection(file.lineErrors) : '',
|
|
66
|
+
].filter(Boolean);
|
|
67
|
+
return sections.join('\n');
|
|
68
|
+
})
|
|
69
|
+
.filter(Boolean)
|
|
70
|
+
.join('\n');
|
|
71
|
+
return `<attached_files>\n${fileContents}\n</attached_files>`;
|
|
72
|
+
}
|
|
73
|
+
buildFileContentSection(file) {
|
|
74
|
+
return `<file_contents>
|
|
75
|
+
\`\`\`${file.path}
|
|
76
|
+
${file.content}
|
|
77
|
+
\`\`\`
|
|
78
|
+
</file_contents>`;
|
|
79
|
+
}
|
|
80
|
+
buildLineErrorsSection(errors) {
|
|
81
|
+
if (!errors.length) {
|
|
82
|
+
return '';
|
|
83
|
+
}
|
|
84
|
+
return `<linter_errors>\n${errors.join('\n')}\n</linter_errors>`;
|
|
85
|
+
}
|
|
86
|
+
buildAttachedFoldersSection(folders) {
|
|
87
|
+
if (!folders.length) {
|
|
88
|
+
return '';
|
|
89
|
+
}
|
|
90
|
+
return `<attached_folders>\n${folders.join('\n')}</attached_folders>`;
|
|
91
|
+
}
|
|
92
|
+
buildCurrentFileSection(fileInfo) {
|
|
93
|
+
if (!fileInfo) {
|
|
94
|
+
return '';
|
|
95
|
+
}
|
|
96
|
+
return `<current_opened_file>
|
|
97
|
+
\`\`\`${fileInfo.languageId} ${fileInfo.path}
|
|
98
|
+
${fileInfo.content}
|
|
99
|
+
\`\`\`
|
|
100
|
+
</current_opened_file>`;
|
|
41
101
|
}
|
|
42
102
|
};
|
|
43
103
|
exports.DefaultChatAgentPromptProvider = DefaultChatAgentPromptProvider;
|
|
@@ -45,6 +105,10 @@ tslib_1.__decorate([
|
|
|
45
105
|
(0, di_1.Autowired)(editor_1.WorkbenchEditorService),
|
|
46
106
|
tslib_1.__metadata("design:type", editor_1.WorkbenchEditorService)
|
|
47
107
|
], DefaultChatAgentPromptProvider.prototype, "workbenchEditorService", void 0);
|
|
108
|
+
tslib_1.__decorate([
|
|
109
|
+
(0, di_1.Autowired)(ide_workspace_1.IWorkspaceService),
|
|
110
|
+
tslib_1.__metadata("design:type", Object)
|
|
111
|
+
], DefaultChatAgentPromptProvider.prototype, "workspaceService", void 0);
|
|
48
112
|
exports.DefaultChatAgentPromptProvider = DefaultChatAgentPromptProvider = tslib_1.__decorate([
|
|
49
113
|
(0, di_1.Injectable)()
|
|
50
114
|
], DefaultChatAgentPromptProvider);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context-prompt-provider.js","sourceRoot":"","sources":["../../../src/common/prompts/context-prompt-provider.ts"],"names":[],"mappings":";;;;AAAA,qCAAqD;AACrD,mEAAgF;
|
|
1
|
+
{"version":3,"file":"context-prompt-provider.js","sourceRoot":"","sources":["../../../src/common/prompts/context-prompt-provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-server.sse.d.ts","sourceRoot":"","sources":["../../src/node/mcp-server.sse.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mcp-server.sse.d.ts","sourceRoot":"","sources":["../../src/node/mcp-server.sse.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ exports.SSEMCPServer = void 0;
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
// have to import with extension since the exports map is ./* -> ./dist/cjs/*
|
|
6
6
|
const index_js_1 = require("@modelcontextprotocol/sdk/client/index.js");
|
|
7
|
+
const sse_js_1 = require("@modelcontextprotocol/sdk/client/sse.js");
|
|
7
8
|
const eventsource_1 = require("eventsource");
|
|
8
9
|
const package_json_1 = tslib_1.__importDefault(require("../../package.json"));
|
|
9
10
|
global.EventSource = eventsource_1.EventSource;
|
|
@@ -26,8 +27,7 @@ class SSEMCPServer {
|
|
|
26
27
|
return;
|
|
27
28
|
}
|
|
28
29
|
(_a = this.logger) === null || _a === void 0 ? void 0 : _a.log(`Starting server "${this.name}" with serverHost: ${this.serverHost}`);
|
|
29
|
-
const
|
|
30
|
-
const transport = new SSEClientTransport(new URL(this.serverHost));
|
|
30
|
+
const transport = new sse_js_1.SSEClientTransport(new URL(this.serverHost));
|
|
31
31
|
transport.onerror = (error) => {
|
|
32
32
|
var _a;
|
|
33
33
|
(_a = this.logger) === null || _a === void 0 ? void 0 : _a.error('Transport Error:', error);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-server.sse.js","sourceRoot":"","sources":["../../src/node/mcp-server.sse.ts"],"names":[],"mappings":";;;;AAAA,6EAA6E;AAC7E,wEAAmE;AACnE,6CAA0C;AAI1C,8EAAqC;AAGrC,MAAM,CAAC,WAAW,GAAG,yBAAkB,CAAC;AACxC,MAAa,YAAY;IAMvB,YAAY,IAAY,EAAE,UAAkB,EAAmB,MAAgB;QAAhB,WAAM,GAAN,MAAM,CAAU;QAFvE,YAAO,GAAY,KAAK,CAAC;QAG/B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,KAAK;;QACT,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,OAAO;QACT,CAAC;QACD,MAAA,IAAI,CAAC,MAAM,0CAAE,GAAG,CAAC,oBAAoB,IAAI,CAAC,IAAI,sBAAsB,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QAEvF,MAAM,
|
|
1
|
+
{"version":3,"file":"mcp-server.sse.js","sourceRoot":"","sources":["../../src/node/mcp-server.sse.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.8.3-next-
|
|
3
|
+
"version": "3.8.3-next-1741774971.0",
|
|
4
4
|
"files": [
|
|
5
5
|
"lib",
|
|
6
6
|
"src"
|
|
@@ -24,26 +24,26 @@
|
|
|
24
24
|
"@ai-sdk/openai": "^1.1.9",
|
|
25
25
|
"@ai-sdk/openai-compatible": "^0.1.11",
|
|
26
26
|
"@modelcontextprotocol/sdk": "^1.3.1",
|
|
27
|
-
"@opensumi/ide-addons": "3.8.3-next-
|
|
28
|
-
"@opensumi/ide-components": "3.8.3-next-
|
|
29
|
-
"@opensumi/ide-connection": "3.8.3-next-
|
|
30
|
-
"@opensumi/ide-core-common": "3.8.3-next-
|
|
31
|
-
"@opensumi/ide-core-node": "3.8.3-next-
|
|
32
|
-
"@opensumi/ide-debug": "3.8.3-next-
|
|
33
|
-
"@opensumi/ide-design": "3.8.3-next-
|
|
34
|
-
"@opensumi/ide-editor": "3.8.3-next-
|
|
35
|
-
"@opensumi/ide-file-search": "3.8.3-next-
|
|
36
|
-
"@opensumi/ide-file-service": "3.8.3-next-
|
|
37
|
-
"@opensumi/ide-main-layout": "3.8.3-next-
|
|
38
|
-
"@opensumi/ide-markers": "3.8.3-next-
|
|
39
|
-
"@opensumi/ide-monaco": "3.8.3-next-
|
|
40
|
-
"@opensumi/ide-overlay": "3.8.3-next-
|
|
41
|
-
"@opensumi/ide-preferences": "3.8.3-next-
|
|
42
|
-
"@opensumi/ide-search": "3.8.3-next-
|
|
43
|
-
"@opensumi/ide-terminal-next": "3.8.3-next-
|
|
44
|
-
"@opensumi/ide-theme": "3.8.3-next-
|
|
45
|
-
"@opensumi/ide-utils": "3.8.3-next-
|
|
46
|
-
"@opensumi/ide-workspace": "3.8.3-next-
|
|
27
|
+
"@opensumi/ide-addons": "3.8.3-next-1741774971.0",
|
|
28
|
+
"@opensumi/ide-components": "3.8.3-next-1741774971.0",
|
|
29
|
+
"@opensumi/ide-connection": "3.8.3-next-1741774971.0",
|
|
30
|
+
"@opensumi/ide-core-common": "3.8.3-next-1741774971.0",
|
|
31
|
+
"@opensumi/ide-core-node": "3.8.3-next-1741774971.0",
|
|
32
|
+
"@opensumi/ide-debug": "3.8.3-next-1741774971.0",
|
|
33
|
+
"@opensumi/ide-design": "3.8.3-next-1741774971.0",
|
|
34
|
+
"@opensumi/ide-editor": "3.8.3-next-1741774971.0",
|
|
35
|
+
"@opensumi/ide-file-search": "3.8.3-next-1741774971.0",
|
|
36
|
+
"@opensumi/ide-file-service": "3.8.3-next-1741774971.0",
|
|
37
|
+
"@opensumi/ide-main-layout": "3.8.3-next-1741774971.0",
|
|
38
|
+
"@opensumi/ide-markers": "3.8.3-next-1741774971.0",
|
|
39
|
+
"@opensumi/ide-monaco": "3.8.3-next-1741774971.0",
|
|
40
|
+
"@opensumi/ide-overlay": "3.8.3-next-1741774971.0",
|
|
41
|
+
"@opensumi/ide-preferences": "3.8.3-next-1741774971.0",
|
|
42
|
+
"@opensumi/ide-search": "3.8.3-next-1741774971.0",
|
|
43
|
+
"@opensumi/ide-terminal-next": "3.8.3-next-1741774971.0",
|
|
44
|
+
"@opensumi/ide-theme": "3.8.3-next-1741774971.0",
|
|
45
|
+
"@opensumi/ide-utils": "3.8.3-next-1741774971.0",
|
|
46
|
+
"@opensumi/ide-workspace": "3.8.3-next-1741774971.0",
|
|
47
47
|
"@xterm/xterm": "5.5.0",
|
|
48
48
|
"ai": "^4.1.45",
|
|
49
49
|
"ansi-regex": "^2.0.0",
|
|
@@ -60,7 +60,7 @@
|
|
|
60
60
|
"zod-to-json-schema": "^3.24.1"
|
|
61
61
|
},
|
|
62
62
|
"devDependencies": {
|
|
63
|
-
"@opensumi/ide-core-browser": "3.8.3-next-
|
|
63
|
+
"@opensumi/ide-core-browser": "3.8.3-next-1741774971.0"
|
|
64
64
|
},
|
|
65
|
-
"gitHead": "
|
|
65
|
+
"gitHead": "c2881d9b16961092d802c0c7fbc43c12a5a3a1da"
|
|
66
66
|
}
|
|
@@ -59,7 +59,7 @@ export class ChatAgentService extends Disposable implements IChatAgentService {
|
|
|
59
59
|
private readonly aiReporter: IAIReporter;
|
|
60
60
|
|
|
61
61
|
@Autowired(LLMContextServiceToken)
|
|
62
|
-
protected readonly
|
|
62
|
+
protected readonly llmContextService: LLMContextService;
|
|
63
63
|
|
|
64
64
|
@Autowired(ChatAgentPromptProvider)
|
|
65
65
|
protected readonly promptProvider: ChatAgentPromptProvider;
|
|
@@ -74,7 +74,7 @@ export class ChatAgentService extends Disposable implements IChatAgentService {
|
|
|
74
74
|
super();
|
|
75
75
|
this.addDispose(this._onDidChangeAgents);
|
|
76
76
|
this.addDispose(
|
|
77
|
-
this.
|
|
77
|
+
this.llmContextService.onDidContextFilesChangeEvent((event) => {
|
|
78
78
|
if (event.version !== this.contextVersion) {
|
|
79
79
|
this.contextVersion = event.version;
|
|
80
80
|
this.shouldUpdateContext = true;
|
|
@@ -152,9 +152,9 @@ export class ChatAgentService extends Disposable implements IChatAgentService {
|
|
|
152
152
|
if (!this.initialUserMessageMap.has(request.sessionId)) {
|
|
153
153
|
this.initialUserMessageMap.set(request.sessionId, request.message);
|
|
154
154
|
const rawMessage = request.message;
|
|
155
|
-
request.message = this.provideContextMessage(rawMessage, request.sessionId);
|
|
155
|
+
request.message = await this.provideContextMessage(rawMessage, request.sessionId);
|
|
156
156
|
} else if (this.shouldUpdateContext || request.regenerate || history.length === 0) {
|
|
157
|
-
request.message = this.provideContextMessage(request.message, request.sessionId);
|
|
157
|
+
request.message = await this.provideContextMessage(request.message, request.sessionId);
|
|
158
158
|
this.shouldUpdateContext = false;
|
|
159
159
|
}
|
|
160
160
|
|
|
@@ -162,9 +162,9 @@ export class ChatAgentService extends Disposable implements IChatAgentService {
|
|
|
162
162
|
return result;
|
|
163
163
|
}
|
|
164
164
|
|
|
165
|
-
private provideContextMessage(message: string, sessionId: string) {
|
|
166
|
-
const context = this.
|
|
167
|
-
const fullMessage = this.promptProvider.provideContextPrompt(context, message);
|
|
165
|
+
private async provideContextMessage(message: string, sessionId: string) {
|
|
166
|
+
const context = await this.llmContextService.serialize();
|
|
167
|
+
const fullMessage = await this.promptProvider.provideContextPrompt(context, message);
|
|
168
168
|
this.aiReporter.send({
|
|
169
169
|
msgType: AIServiceType.Chat,
|
|
170
170
|
actionType: ActionTypeEnum.ContextEnhance,
|