@opensumi/ide-ai-native 3.8.3-next-1744791676.0 → 3.8.3-next-1744856097.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.view.d.ts.map +1 -1
- package/lib/browser/chat/chat.view.js +1 -11
- package/lib/browser/chat/chat.view.js.map +1 -1
- package/lib/browser/components/ChatMentionInput.d.ts +0 -1
- package/lib/browser/components/ChatMentionInput.d.ts.map +1 -1
- package/lib/browser/components/ChatMentionInput.js +1 -2
- package/lib/browser/components/ChatMentionInput.js.map +1 -1
- package/lib/browser/components/mention-input/mention-input.d.ts.map +1 -1
- package/lib/browser/components/mention-input/mention-input.js +1 -1
- package/lib/browser/components/mention-input/mention-input.js.map +1 -1
- package/lib/browser/components/mention-input/types.d.ts +0 -1
- package/lib/browser/components/mention-input/types.d.ts.map +1 -1
- package/lib/browser/components/mention-input/types.js.map +1 -1
- package/lib/browser/contrib/inline-completions/prompt/importedFiles.d.ts.map +1 -1
- package/lib/browser/contrib/inline-completions/prompt/importedFiles.js +2 -1
- package/lib/browser/contrib/inline-completions/prompt/importedFiles.js.map +1 -1
- package/lib/browser/contrib/inline-completions/prompt/languages.d.ts +4 -0
- package/lib/browser/contrib/inline-completions/prompt/languages.d.ts.map +1 -0
- package/lib/browser/contrib/inline-completions/prompt/languages.js +67 -0
- package/lib/browser/contrib/inline-completions/prompt/languages.js.map +1 -0
- package/lib/browser/contrib/merge-conflict/index.d.ts.map +1 -1
- package/lib/browser/contrib/merge-conflict/index.js +2 -5
- package/lib/browser/contrib/merge-conflict/index.js.map +1 -1
- package/lib/browser/model/msg-history-manager.d.ts +0 -1
- package/lib/browser/model/msg-history-manager.d.ts.map +1 -1
- package/lib/browser/model/msg-history-manager.js +0 -3
- package/lib/browser/model/msg-history-manager.js.map +1 -1
- package/lib/common/index.d.ts +2 -1
- package/lib/common/index.d.ts.map +1 -1
- package/lib/common/index.js.map +1 -1
- package/lib/common/mcp-server-manager.d.ts +4 -1
- package/lib/common/mcp-server-manager.d.ts.map +1 -1
- package/lib/common/mcp-server-manager.js.map +1 -1
- package/lib/common/types.d.ts +6 -0
- package/lib/common/types.d.ts.map +1 -1
- package/lib/node/mcp/sumi-mcp-server.d.ts +2 -0
- package/lib/node/mcp/sumi-mcp-server.d.ts.map +1 -1
- package/lib/node/mcp/sumi-mcp-server.js +6 -0
- package/lib/node/mcp/sumi-mcp-server.js.map +1 -1
- package/lib/node/mcp-server-manager-impl.d.ts +1 -0
- package/lib/node/mcp-server-manager-impl.d.ts.map +1 -1
- package/lib/node/mcp-server-manager-impl.js +5 -2
- package/lib/node/mcp-server-manager-impl.js.map +1 -1
- package/lib/node/mcp-server.sse.d.ts +6 -1
- package/lib/node/mcp-server.sse.d.ts.map +1 -1
- package/lib/node/mcp-server.sse.js +7 -2
- package/lib/node/mcp-server.sse.js.map +1 -1
- package/lib/node/mcp-server.stdio.d.ts +2 -0
- package/lib/node/mcp-server.stdio.d.ts.map +1 -1
- package/lib/node/mcp-server.stdio.js +3 -0
- package/lib/node/mcp-server.stdio.js.map +1 -1
- package/package.json +23 -23
- package/src/browser/chat/chat.view.tsx +0 -12
- package/src/browser/components/ChatMentionInput.tsx +1 -3
- package/src/browser/components/mention-input/mention-input.tsx +0 -1
- package/src/browser/components/mention-input/types.ts +0 -1
- package/src/browser/contrib/inline-completions/prompt/importedFiles.ts +3 -1
- package/src/browser/contrib/inline-completions/prompt/languages.ts +65 -0
- package/src/browser/contrib/merge-conflict/index.ts +2 -3
- package/src/browser/model/msg-history-manager.ts +0 -4
- package/src/common/index.ts +2 -1
- package/src/common/mcp-server-manager.ts +4 -1
- package/src/common/types.ts +7 -0
- package/src/node/mcp/sumi-mcp-server.ts +8 -0
- package/src/node/mcp-server-manager-impl.ts +6 -2
- package/src/node/mcp-server.sse.ts +15 -2
- package/src/node/mcp-server.stdio.ts +4 -0
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Client } from '@modelcontextprotocol/sdk/client/index.js';
|
|
1
2
|
import { ILogger } from '@opensumi/ide-core-common';
|
|
2
3
|
import { IMCPServer } from '../common/mcp-server-manager';
|
|
3
4
|
export declare class StdioMCPServer implements IMCPServer {
|
|
@@ -11,6 +12,7 @@ export declare class StdioMCPServer implements IMCPServer {
|
|
|
11
12
|
constructor(name: string, command: string, args?: string[], env?: Record<string, string>, logger?: ILogger | undefined);
|
|
12
13
|
isStarted(): boolean;
|
|
13
14
|
getServerName(): string;
|
|
15
|
+
getClient(): Client | null;
|
|
14
16
|
start(): Promise<void>;
|
|
15
17
|
callTool(toolName: string, toolCallId: string, arg_string: string): Promise<import("zod").objectOutputType<import("zod").objectUtil.extendShape<{
|
|
16
18
|
_meta: import("zod").ZodOptional<import("zod").ZodObject<{}, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{}, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{}, import("zod").ZodTypeAny, "passthrough">>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-server.stdio.d.ts","sourceRoot":"","sources":["../../src/node/mcp-server.stdio.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mcp-server.stdio.d.ts","sourceRoot":"","sources":["../../src/node/mcp-server.stdio.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-server.stdio.js","sourceRoot":"","sources":["../../src/node/mcp-server.stdio.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"mcp-server.stdio.js","sourceRoot":"","sources":["../../src/node/mcp-server.stdio.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-1744856097.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-1744856097.0",
|
|
28
|
+
"@opensumi/ide-components": "3.8.3-next-1744856097.0",
|
|
29
|
+
"@opensumi/ide-connection": "3.8.3-next-1744856097.0",
|
|
30
|
+
"@opensumi/ide-core-common": "3.8.3-next-1744856097.0",
|
|
31
|
+
"@opensumi/ide-core-node": "3.8.3-next-1744856097.0",
|
|
32
|
+
"@opensumi/ide-debug": "3.8.3-next-1744856097.0",
|
|
33
|
+
"@opensumi/ide-design": "3.8.3-next-1744856097.0",
|
|
34
|
+
"@opensumi/ide-editor": "3.8.3-next-1744856097.0",
|
|
35
|
+
"@opensumi/ide-file-search": "3.8.3-next-1744856097.0",
|
|
36
|
+
"@opensumi/ide-file-service": "3.8.3-next-1744856097.0",
|
|
37
|
+
"@opensumi/ide-main-layout": "3.8.3-next-1744856097.0",
|
|
38
|
+
"@opensumi/ide-markers": "3.8.3-next-1744856097.0",
|
|
39
|
+
"@opensumi/ide-monaco": "3.8.3-next-1744856097.0",
|
|
40
|
+
"@opensumi/ide-overlay": "3.8.3-next-1744856097.0",
|
|
41
|
+
"@opensumi/ide-preferences": "3.8.3-next-1744856097.0",
|
|
42
|
+
"@opensumi/ide-search": "3.8.3-next-1744856097.0",
|
|
43
|
+
"@opensumi/ide-terminal-next": "3.8.3-next-1744856097.0",
|
|
44
|
+
"@opensumi/ide-theme": "3.8.3-next-1744856097.0",
|
|
45
|
+
"@opensumi/ide-utils": "3.8.3-next-1744856097.0",
|
|
46
|
+
"@opensumi/ide-workspace": "3.8.3-next-1744856097.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-1744856097.0"
|
|
64
64
|
},
|
|
65
|
-
"gitHead": "
|
|
65
|
+
"gitHead": "5f4fb6e189e8e5aa423a069849cc6e1c06fda2b6"
|
|
66
66
|
}
|
|
@@ -131,7 +131,6 @@ export const AIChatView = () => {
|
|
|
131
131
|
const workspaceService = useInjectable<IWorkspaceService>(IWorkspaceService);
|
|
132
132
|
const commandService = useInjectable<CommandService>(CommandService);
|
|
133
133
|
const [shortcutCommands, setShortcutCommands] = React.useState<ChatSlashCommandItemModel[]>([]);
|
|
134
|
-
const [disableModelSelector, setDisableModelSelector] = React.useState(msgHistoryManager.size > 0);
|
|
135
134
|
|
|
136
135
|
const [changeList, setChangeList] = React.useState<FileChange[]>(getFileChanges(applyService.getSessionCodeBlocks()));
|
|
137
136
|
|
|
@@ -154,16 +153,6 @@ export const AIChatView = () => {
|
|
|
154
153
|
const [command, setCommand] = React.useState('');
|
|
155
154
|
const [theme, setTheme] = React.useState<string | null>(null);
|
|
156
155
|
|
|
157
|
-
React.useEffect(() => {
|
|
158
|
-
setDisableModelSelector(msgHistoryManager.size > 0);
|
|
159
|
-
const toDispose = msgHistoryManager.onMessageChange(() => {
|
|
160
|
-
setDisableModelSelector(msgHistoryManager.size > 0);
|
|
161
|
-
});
|
|
162
|
-
return () => {
|
|
163
|
-
toDispose.dispose();
|
|
164
|
-
};
|
|
165
|
-
}, [msgHistoryManager]);
|
|
166
|
-
|
|
167
156
|
React.useEffect(() => {
|
|
168
157
|
const disposer = new Disposable();
|
|
169
158
|
const doUpdate = () => {
|
|
@@ -886,7 +875,6 @@ export const AIChatView = () => {
|
|
|
886
875
|
command={command}
|
|
887
876
|
setCommand={setCommand}
|
|
888
877
|
ref={chatInputRef}
|
|
889
|
-
disableModelSelector={disableModelSelector}
|
|
890
878
|
/>
|
|
891
879
|
</div>
|
|
892
880
|
</div>
|
|
@@ -45,7 +45,6 @@ export interface IChatMentionInputProps {
|
|
|
45
45
|
defaultAgentId?: string;
|
|
46
46
|
command: string;
|
|
47
47
|
setCommand: (command: string) => void;
|
|
48
|
-
disableModelSelector?: boolean;
|
|
49
48
|
}
|
|
50
49
|
|
|
51
50
|
// 指令命令激活组件
|
|
@@ -280,9 +279,8 @@ export const ChatMentionInput = (props: IChatMentionInputProps) => {
|
|
|
280
279
|
},
|
|
281
280
|
],
|
|
282
281
|
showModelSelector: true,
|
|
283
|
-
disableModelSelector: props.disableModelSelector,
|
|
284
282
|
}),
|
|
285
|
-
[handleShowMCPConfig
|
|
283
|
+
[handleShowMCPConfig],
|
|
286
284
|
);
|
|
287
285
|
|
|
288
286
|
const handleStop = useCallback(() => {
|
|
@@ -994,7 +994,6 @@ export const MentionInput: React.FC<MentionInputProps> = ({
|
|
|
994
994
|
onChange={handleModelChange}
|
|
995
995
|
className={styles.model_selector}
|
|
996
996
|
size='small'
|
|
997
|
-
disabled={footerConfig.disableModelSelector}
|
|
998
997
|
/>
|
|
999
998
|
)}
|
|
1000
999
|
{renderButtons(FooterButtonPosition.LEFT)}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Injector } from '@opensumi/di';
|
|
2
|
-
import {
|
|
2
|
+
import { URI } from '@opensumi/ide-core-common';
|
|
3
3
|
import { IFileServiceClient } from '@opensumi/ide-file-service';
|
|
4
4
|
import { Path } from '@opensumi/ide-utils/lib/path';
|
|
5
5
|
import { IWorkspaceService } from '@opensumi/ide-workspace';
|
|
@@ -7,6 +7,8 @@ import { IWorkspaceService } from '@opensumi/ide-workspace';
|
|
|
7
7
|
import { LanguageParserService } from '../../../languages/service';
|
|
8
8
|
import { ICompletionContext, ImportedFileOptions, ResourceDocument } from '../types';
|
|
9
9
|
|
|
10
|
+
import { LANGUAGE_TO_SUFFIX } from './languages';
|
|
11
|
+
|
|
10
12
|
export const getImportedFilesInterface = async (
|
|
11
13
|
code: string,
|
|
12
14
|
resource: ResourceDocument,
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
export const LANGUAGE_TO_SUFFIX: {
|
|
2
|
+
[key: string]: string;
|
|
3
|
+
} = {
|
|
4
|
+
abap: '.abap',
|
|
5
|
+
bat: '.bat',
|
|
6
|
+
bibtex: '.bib',
|
|
7
|
+
c: '.c',
|
|
8
|
+
clojure: '.clj',
|
|
9
|
+
coffeescript: '.coffee',
|
|
10
|
+
cpp: '.cpp',
|
|
11
|
+
csharp: '.cs',
|
|
12
|
+
css: '.css',
|
|
13
|
+
'cuda-cpp': '.cu',
|
|
14
|
+
dart: '.dart',
|
|
15
|
+
diff: '.diff',
|
|
16
|
+
dockerfile: '.dockerfile',
|
|
17
|
+
fsharp: '.fs',
|
|
18
|
+
go: '.go',
|
|
19
|
+
groovy: '.groovy',
|
|
20
|
+
haml: '.haml',
|
|
21
|
+
handlebars: '.handlebars',
|
|
22
|
+
hlsl: '.hlsl',
|
|
23
|
+
html: '.html',
|
|
24
|
+
ini: '.ini',
|
|
25
|
+
jade: '.jade',
|
|
26
|
+
java: '.java',
|
|
27
|
+
javascript: '.js',
|
|
28
|
+
javascriptreact: '.jsx',
|
|
29
|
+
json: '.json',
|
|
30
|
+
julia: '.jl',
|
|
31
|
+
latex: '.tex',
|
|
32
|
+
less: '.less',
|
|
33
|
+
lua: '.lua',
|
|
34
|
+
makefile: '.make',
|
|
35
|
+
markdown: '.md',
|
|
36
|
+
'objective-c': '.m',
|
|
37
|
+
'objective-cpp': '.mm',
|
|
38
|
+
perl: '.pl',
|
|
39
|
+
perl6: '.6pl',
|
|
40
|
+
php: '.php',
|
|
41
|
+
plaintext: '.txt',
|
|
42
|
+
powershell: '.ps1',
|
|
43
|
+
pug: '.pug',
|
|
44
|
+
python: '.py',
|
|
45
|
+
r: '.r',
|
|
46
|
+
razor: '.cshtml',
|
|
47
|
+
ruby: '.rb',
|
|
48
|
+
rust: '.rs',
|
|
49
|
+
sass: '.sass',
|
|
50
|
+
scss: '.scss',
|
|
51
|
+
shaderlab: '.shader',
|
|
52
|
+
shellscript: '.sh',
|
|
53
|
+
slim: '.slim',
|
|
54
|
+
sql: '.sql',
|
|
55
|
+
stylus: '.styl',
|
|
56
|
+
swift: '.swift',
|
|
57
|
+
tex: '.tex',
|
|
58
|
+
typescript: '.ts',
|
|
59
|
+
typescriptreact: '.tsx',
|
|
60
|
+
vb: '.vb',
|
|
61
|
+
vue: '.vue',
|
|
62
|
+
xml: '.xml',
|
|
63
|
+
xsl: '.xsl',
|
|
64
|
+
yaml: '.yaml',
|
|
65
|
+
};
|
|
@@ -439,9 +439,8 @@ export class MergeConflictContribution
|
|
|
439
439
|
}
|
|
440
440
|
|
|
441
441
|
private getCacheResolvedConflicts(currentUri?: string) {
|
|
442
|
-
currentUri = currentUri || this.getModel()?.uri.toString();
|
|
443
442
|
if (!currentUri) {
|
|
444
|
-
|
|
443
|
+
currentUri = this.getModel().uri.toString();
|
|
445
444
|
}
|
|
446
445
|
const cache = this.cacheResolvedConflicts.get(currentUri);
|
|
447
446
|
if (cache) {
|
|
@@ -943,7 +942,7 @@ export class MergeConflictContribution
|
|
|
943
942
|
* 刷新 codelens
|
|
944
943
|
*/
|
|
945
944
|
private updateCodeLens() {
|
|
946
|
-
if (this.getModel()
|
|
945
|
+
if (this.getModel().uri) {
|
|
947
946
|
// @ts-ignore
|
|
948
947
|
languageFeaturesService.codeLensProvider._onDidChange.fire();
|
|
949
948
|
}
|
package/src/common/index.ts
CHANGED
|
@@ -15,7 +15,7 @@ import {
|
|
|
15
15
|
import { DESIGN_MENUBAR_CONTAINER_VIEW_ID } from '@opensumi/ide-design/lib/common/constants';
|
|
16
16
|
import { IPosition, ITextModel, InlineCompletionContext } from '@opensumi/ide-monaco/lib/common';
|
|
17
17
|
|
|
18
|
-
import { MCPServerDescription } from './mcp-server-manager';
|
|
18
|
+
import { IMCPServer, MCPServerDescription } from './mcp-server-manager';
|
|
19
19
|
import { IPartialEditEvent, MCPTool } from './types';
|
|
20
20
|
|
|
21
21
|
import type { CoreMessage } from 'ai';
|
|
@@ -151,6 +151,7 @@ export interface ISumiMCPServerBackend {
|
|
|
151
151
|
$addOrUpdateServer(description: MCPServerDescription): void;
|
|
152
152
|
$removeServer(name: string): void;
|
|
153
153
|
$syncServer(name: string): Promise<void>;
|
|
154
|
+
$getMCPServerByName(name: string): IMCPServer | undefined;
|
|
154
155
|
}
|
|
155
156
|
|
|
156
157
|
export const SumiMCPServerProxyServicePath = 'SumiMCPServerProxyServicePath';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Client } from '@modelcontextprotocol/sdk/client/index.js';
|
|
2
2
|
|
|
3
|
-
import { MCP_SERVER_TYPE } from './types';
|
|
3
|
+
import { MCP_SERVER_TYPE, SSEClientTransportOptions } from './types';
|
|
4
4
|
|
|
5
5
|
export interface IMCPServer {
|
|
6
6
|
isStarted(): boolean;
|
|
@@ -8,6 +8,7 @@ export interface IMCPServer {
|
|
|
8
8
|
getServerName(): string;
|
|
9
9
|
callTool(toolName: string, toolCallId: string, arg_string: string): ReturnType<Client['callTool']>;
|
|
10
10
|
getTools(): ReturnType<Client['listTools']>;
|
|
11
|
+
getClient(): Client | null;
|
|
11
12
|
update(command: string, args?: string[], env?: { [key: string]: string }): void;
|
|
12
13
|
stop(): void;
|
|
13
14
|
}
|
|
@@ -32,6 +33,7 @@ export interface MCPServerManager {
|
|
|
32
33
|
registerTools(serverName: string): Promise<void>;
|
|
33
34
|
addExternalMCPServers(servers: MCPServerDescription[]): void;
|
|
34
35
|
getServers(): Map<string, IMCPServer>;
|
|
36
|
+
getServerByName(name: string): IMCPServer | undefined;
|
|
35
37
|
}
|
|
36
38
|
|
|
37
39
|
export type MCPTool = Awaited<ReturnType<MCPServerManager['getTools']>>['tools'][number];
|
|
@@ -76,6 +78,7 @@ export interface SSEMCPServerDescription extends BaseMCPServerDescription {
|
|
|
76
78
|
* The host of the MCP server.
|
|
77
79
|
*/
|
|
78
80
|
serverHost: string;
|
|
81
|
+
transportOptions?: SSEClientTransportOptions;
|
|
79
82
|
}
|
|
80
83
|
|
|
81
84
|
export interface BuiltinMCPServerDescription {
|
package/src/common/types.ts
CHANGED
|
@@ -60,6 +60,10 @@ export class SumiMCPServerBackend extends RPCService<IMCPServerProxyService> imp
|
|
|
60
60
|
return tools;
|
|
61
61
|
}
|
|
62
62
|
|
|
63
|
+
$getMCPServerByName(name: string) {
|
|
64
|
+
return this.mcpServerManager.getServerByName(name);
|
|
65
|
+
}
|
|
66
|
+
|
|
63
67
|
async callMCPTool(name: string, args: any) {
|
|
64
68
|
if (!this.client) {
|
|
65
69
|
throw new Error('SUMI MCP RPC Client not initialized');
|
|
@@ -232,6 +236,10 @@ export class BuiltinMCPServer implements IMCPServer {
|
|
|
232
236
|
return BUILTIN_MCP_SERVER_NAME;
|
|
233
237
|
}
|
|
234
238
|
|
|
239
|
+
getClient(): Client | null {
|
|
240
|
+
return null;
|
|
241
|
+
}
|
|
242
|
+
|
|
235
243
|
async start(): Promise<void> {
|
|
236
244
|
if (this.started) {
|
|
237
245
|
return;
|
|
@@ -92,6 +92,10 @@ export class MCPServerManagerImpl implements MCPServerManager {
|
|
|
92
92
|
return Array.from(this.servers.keys());
|
|
93
93
|
}
|
|
94
94
|
|
|
95
|
+
getServerByName(name: string): IMCPServer | undefined {
|
|
96
|
+
return this.servers.get(name);
|
|
97
|
+
}
|
|
98
|
+
|
|
95
99
|
private convertToToolRequest(tool: MCPTool, serverName: string): ToolRequest {
|
|
96
100
|
const id = getToolName(tool.name, serverName);
|
|
97
101
|
|
|
@@ -153,11 +157,11 @@ export class MCPServerManagerImpl implements MCPServerManager {
|
|
|
153
157
|
this.servers.set(name, newServer);
|
|
154
158
|
}
|
|
155
159
|
} else if (description.type === MCP_SERVER_TYPE.SSE) {
|
|
156
|
-
const { name, serverHost } = description;
|
|
160
|
+
const { name, serverHost, transportOptions } = description;
|
|
157
161
|
if (existingServer) {
|
|
158
162
|
existingServer.update(serverHost);
|
|
159
163
|
} else {
|
|
160
|
-
const newServer = new SSEMCPServer(name, serverHost, this.logger);
|
|
164
|
+
const newServer = new SSEMCPServer(name, serverHost, this.logger, transportOptions);
|
|
161
165
|
this.servers.set(name, newServer);
|
|
162
166
|
}
|
|
163
167
|
}
|
|
@@ -6,17 +6,25 @@ import { ILogger } from '@opensumi/ide-core-common';
|
|
|
6
6
|
|
|
7
7
|
import pkg from '../../package.json';
|
|
8
8
|
import { IMCPServer } from '../common/mcp-server-manager';
|
|
9
|
+
import { SSEClientTransportOptions } from '../common/types';
|
|
9
10
|
|
|
10
11
|
global.EventSource = EventSource as any;
|
|
11
12
|
export class SSEMCPServer implements IMCPServer {
|
|
12
13
|
private name: string;
|
|
13
14
|
public serverHost: string;
|
|
15
|
+
private transportOptions?: SSEClientTransportOptions;
|
|
14
16
|
private client: Client;
|
|
15
17
|
private started: boolean = false;
|
|
16
18
|
|
|
17
|
-
constructor(
|
|
19
|
+
constructor(
|
|
20
|
+
name: string,
|
|
21
|
+
serverHost: string,
|
|
22
|
+
private readonly logger?: ILogger,
|
|
23
|
+
private readonly options?: SSEClientTransportOptions,
|
|
24
|
+
) {
|
|
18
25
|
this.name = name;
|
|
19
26
|
this.serverHost = serverHost;
|
|
27
|
+
this.transportOptions = options;
|
|
20
28
|
}
|
|
21
29
|
|
|
22
30
|
isStarted(): boolean {
|
|
@@ -27,6 +35,10 @@ export class SSEMCPServer implements IMCPServer {
|
|
|
27
35
|
return this.name;
|
|
28
36
|
}
|
|
29
37
|
|
|
38
|
+
getClient(): Client | null {
|
|
39
|
+
return this.client;
|
|
40
|
+
}
|
|
41
|
+
|
|
30
42
|
async start(): Promise<void> {
|
|
31
43
|
if (this.started) {
|
|
32
44
|
return;
|
|
@@ -35,7 +47,8 @@ export class SSEMCPServer implements IMCPServer {
|
|
|
35
47
|
|
|
36
48
|
const SSEClientTransport = (await import('@modelcontextprotocol/sdk/client/sse.js')).SSEClientTransport;
|
|
37
49
|
|
|
38
|
-
const transport = new SSEClientTransport(new URL(this.serverHost));
|
|
50
|
+
const transport = new SSEClientTransport(new URL(this.serverHost), this.transportOptions);
|
|
51
|
+
|
|
39
52
|
transport.onerror = (error) => {
|
|
40
53
|
this.logger?.error('Transport Error:', error);
|
|
41
54
|
};
|