@opensumi/ide-ai-native 3.8.3-next-1745295615.0 → 3.8.3-next-1745307078.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.
Files changed (81) hide show
  1. package/lib/browser/chat/chat-manager.service.d.ts +1 -0
  2. package/lib/browser/chat/chat-manager.service.d.ts.map +1 -1
  3. package/lib/browser/chat/chat-manager.service.js +11 -0
  4. package/lib/browser/chat/chat-manager.service.js.map +1 -1
  5. package/lib/browser/chat/chat-model.d.ts +4 -0
  6. package/lib/browser/chat/chat-model.d.ts.map +1 -1
  7. package/lib/browser/chat/chat-model.js +11 -2
  8. package/lib/browser/chat/chat-model.js.map +1 -1
  9. package/lib/browser/chat/chat.view.d.ts.map +1 -1
  10. package/lib/browser/chat/chat.view.js +6 -1
  11. package/lib/browser/chat/chat.view.js.map +1 -1
  12. package/lib/browser/components/ChatMentionInput.d.ts +2 -0
  13. package/lib/browser/components/ChatMentionInput.d.ts.map +1 -1
  14. package/lib/browser/components/ChatMentionInput.js +5 -3
  15. package/lib/browser/components/ChatMentionInput.js.map +1 -1
  16. package/lib/browser/components/mention-input/mention-input.d.ts.map +1 -1
  17. package/lib/browser/components/mention-input/mention-input.js +4 -1
  18. package/lib/browser/components/mention-input/mention-input.js.map +1 -1
  19. package/lib/browser/components/mention-input/types.d.ts +1 -0
  20. package/lib/browser/components/mention-input/types.d.ts.map +1 -1
  21. package/lib/browser/components/mention-input/types.js.map +1 -1
  22. package/lib/browser/contrib/inline-completions/prompt/importedFiles.d.ts.map +1 -1
  23. package/lib/browser/contrib/inline-completions/prompt/importedFiles.js +1 -2
  24. package/lib/browser/contrib/inline-completions/prompt/importedFiles.js.map +1 -1
  25. package/lib/browser/contrib/merge-conflict/index.d.ts.map +1 -1
  26. package/lib/browser/contrib/merge-conflict/index.js +5 -2
  27. package/lib/browser/contrib/merge-conflict/index.js.map +1 -1
  28. package/lib/browser/mcp/tools/fileSearch.d.ts.map +1 -1
  29. package/lib/browser/mcp/tools/fileSearch.js +2 -2
  30. package/lib/browser/mcp/tools/fileSearch.js.map +1 -1
  31. package/lib/browser/model/msg-history-manager.d.ts +1 -0
  32. package/lib/browser/model/msg-history-manager.d.ts.map +1 -1
  33. package/lib/browser/model/msg-history-manager.js +3 -0
  34. package/lib/browser/model/msg-history-manager.js.map +1 -1
  35. package/lib/common/index.d.ts +1 -2
  36. package/lib/common/index.d.ts.map +1 -1
  37. package/lib/common/index.js.map +1 -1
  38. package/lib/common/mcp-server-manager.d.ts +1 -4
  39. package/lib/common/mcp-server-manager.d.ts.map +1 -1
  40. package/lib/common/mcp-server-manager.js.map +1 -1
  41. package/lib/common/types.d.ts +0 -6
  42. package/lib/common/types.d.ts.map +1 -1
  43. package/lib/node/mcp/sumi-mcp-server.d.ts +0 -2
  44. package/lib/node/mcp/sumi-mcp-server.d.ts.map +1 -1
  45. package/lib/node/mcp/sumi-mcp-server.js +0 -6
  46. package/lib/node/mcp/sumi-mcp-server.js.map +1 -1
  47. package/lib/node/mcp-server-manager-impl.d.ts +0 -1
  48. package/lib/node/mcp-server-manager-impl.d.ts.map +1 -1
  49. package/lib/node/mcp-server-manager-impl.js +2 -5
  50. package/lib/node/mcp-server-manager-impl.js.map +1 -1
  51. package/lib/node/mcp-server.sse.d.ts +1 -6
  52. package/lib/node/mcp-server.sse.d.ts.map +1 -1
  53. package/lib/node/mcp-server.sse.js +2 -7
  54. package/lib/node/mcp-server.sse.js.map +1 -1
  55. package/lib/node/mcp-server.stdio.d.ts +0 -2
  56. package/lib/node/mcp-server.stdio.d.ts.map +1 -1
  57. package/lib/node/mcp-server.stdio.js +0 -3
  58. package/lib/node/mcp-server.stdio.js.map +1 -1
  59. package/package.json +23 -23
  60. package/src/browser/chat/chat-manager.service.ts +12 -0
  61. package/src/browser/chat/chat-model.ts +13 -1
  62. package/src/browser/chat/chat.view.tsx +7 -0
  63. package/src/browser/components/ChatMentionInput.tsx +7 -3
  64. package/src/browser/components/mention-input/mention-input.tsx +5 -0
  65. package/src/browser/components/mention-input/types.ts +1 -0
  66. package/src/browser/contrib/inline-completions/prompt/importedFiles.ts +1 -3
  67. package/src/browser/contrib/merge-conflict/index.ts +3 -2
  68. package/src/browser/mcp/tools/fileSearch.ts +2 -2
  69. package/src/browser/model/msg-history-manager.ts +4 -0
  70. package/src/common/index.ts +1 -2
  71. package/src/common/mcp-server-manager.ts +1 -4
  72. package/src/common/types.ts +0 -7
  73. package/src/node/mcp/sumi-mcp-server.ts +0 -8
  74. package/src/node/mcp-server-manager-impl.ts +2 -6
  75. package/src/node/mcp-server.sse.ts +2 -15
  76. package/src/node/mcp-server.stdio.ts +0 -4
  77. package/lib/browser/contrib/inline-completions/prompt/languages.d.ts +0 -4
  78. package/lib/browser/contrib/inline-completions/prompt/languages.d.ts.map +0 -1
  79. package/lib/browser/contrib/inline-completions/prompt/languages.js +0 -67
  80. package/lib/browser/contrib/inline-completions/prompt/languages.js.map +0 -1
  81. package/src/browser/contrib/inline-completions/prompt/languages.ts +0 -65
@@ -3,6 +3,7 @@ import { z } from 'zod';
3
3
  import { Autowired } from '@opensumi/di';
4
4
  import { getValidateInput } from '@opensumi/ide-addons/lib/browser/file-search.contribution';
5
5
  import { Domain, URI } from '@opensumi/ide-core-common';
6
+ import { defaultFilesWatcherExcludes } from '@opensumi/ide-core-common/lib/preferences/file-watch';
6
7
  import { FileSearchServicePath, IFileSearchService } from '@opensumi/ide-file-search/lib/common';
7
8
  import { IWorkspaceService } from '@opensumi/ide-workspace';
8
9
 
@@ -63,8 +64,7 @@ export class FileSearchTool implements MCPServerContribution {
63
64
  const searchPattern = this.normalizeQuery(args.query);
64
65
  const searchResults = await this.fileSearchService.find(searchPattern, {
65
66
  rootUris: [new URI(workspaceRoots[0].uri).codeUri.fsPath],
66
- // TODO: 忽略配置
67
- excludePatterns: ['**/node_modules/**'],
67
+ excludePatterns: Object.keys(defaultFilesWatcherExcludes),
68
68
  limit: 100,
69
69
  useGitIgnore: true,
70
70
  noIgnoreParent: true,
@@ -26,6 +26,10 @@ export class MsgHistoryManager extends Disposable {
26
26
  super.dispose();
27
27
  }
28
28
 
29
+ public get size(): number {
30
+ return this.messageMap.size;
31
+ }
32
+
29
33
  public clearMessages() {
30
34
  this.messageMap.clear();
31
35
  this.messageAdditionalMap.clear();
@@ -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 { IMCPServer, MCPServerDescription } from './mcp-server-manager';
18
+ import { MCPServerDescription } from './mcp-server-manager';
19
19
  import { IPartialEditEvent, MCPTool } from './types';
20
20
 
21
21
  import type { CoreMessage } from 'ai';
@@ -151,7 +151,6 @@ 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;
155
154
  }
156
155
 
157
156
  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, SSEClientTransportOptions } from './types';
3
+ import { MCP_SERVER_TYPE } from './types';
4
4
 
5
5
  export interface IMCPServer {
6
6
  isStarted(): boolean;
@@ -8,7 +8,6 @@ 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;
12
11
  update(command: string, args?: string[], env?: { [key: string]: string }): void;
13
12
  stop(): void;
14
13
  }
@@ -33,7 +32,6 @@ export interface MCPServerManager {
33
32
  registerTools(serverName: string): Promise<void>;
34
33
  addExternalMCPServers(servers: MCPServerDescription[]): void;
35
34
  getServers(): Map<string, IMCPServer>;
36
- getServerByName(name: string): IMCPServer | undefined;
37
35
  }
38
36
 
39
37
  export type MCPTool = Awaited<ReturnType<MCPServerManager['getTools']>>['tools'][number];
@@ -78,7 +76,6 @@ export interface SSEMCPServerDescription extends BaseMCPServerDescription {
78
76
  * The host of the MCP server.
79
77
  */
80
78
  serverHost: string;
81
- transportOptions?: SSEClientTransportOptions;
82
79
  }
83
80
 
84
81
  export interface BuiltinMCPServerDescription {
@@ -118,10 +118,3 @@ export interface IPartialEditEvent {
118
118
  deletedLinesCount: number;
119
119
  };
120
120
  }
121
-
122
- export interface SSEClientTransportOptions {
123
- /**
124
- * Customizes recurring POST requests to the server.
125
- */
126
- requestInit?: RequestInit;
127
- }
@@ -60,10 +60,6 @@ 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
-
67
63
  async callMCPTool(name: string, args: any) {
68
64
  if (!this.client) {
69
65
  throw new Error('SUMI MCP RPC Client not initialized');
@@ -236,10 +232,6 @@ export class BuiltinMCPServer implements IMCPServer {
236
232
  return BUILTIN_MCP_SERVER_NAME;
237
233
  }
238
234
 
239
- getClient(): Client | null {
240
- return null;
241
- }
242
-
243
235
  async start(): Promise<void> {
244
236
  if (this.started) {
245
237
  return;
@@ -92,10 +92,6 @@ 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
-
99
95
  private convertToToolRequest(tool: MCPTool, serverName: string): ToolRequest {
100
96
  const id = getToolName(tool.name, serverName);
101
97
 
@@ -157,11 +153,11 @@ export class MCPServerManagerImpl implements MCPServerManager {
157
153
  this.servers.set(name, newServer);
158
154
  }
159
155
  } else if (description.type === MCP_SERVER_TYPE.SSE) {
160
- const { name, serverHost, transportOptions } = description;
156
+ const { name, serverHost } = description;
161
157
  if (existingServer) {
162
158
  existingServer.update(serverHost);
163
159
  } else {
164
- const newServer = new SSEMCPServer(name, serverHost, this.logger, transportOptions);
160
+ const newServer = new SSEMCPServer(name, serverHost, this.logger);
165
161
  this.servers.set(name, newServer);
166
162
  }
167
163
  }
@@ -6,25 +6,17 @@ 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';
10
9
 
11
10
  global.EventSource = EventSource as any;
12
11
  export class SSEMCPServer implements IMCPServer {
13
12
  private name: string;
14
13
  public serverHost: string;
15
- private transportOptions?: SSEClientTransportOptions;
16
14
  private client: Client;
17
15
  private started: boolean = false;
18
16
 
19
- constructor(
20
- name: string,
21
- serverHost: string,
22
- private readonly logger?: ILogger,
23
- private readonly options?: SSEClientTransportOptions,
24
- ) {
17
+ constructor(name: string, serverHost: string, private readonly logger?: ILogger) {
25
18
  this.name = name;
26
19
  this.serverHost = serverHost;
27
- this.transportOptions = options;
28
20
  }
29
21
 
30
22
  isStarted(): boolean {
@@ -35,10 +27,6 @@ export class SSEMCPServer implements IMCPServer {
35
27
  return this.name;
36
28
  }
37
29
 
38
- getClient(): Client | null {
39
- return this.client;
40
- }
41
-
42
30
  async start(): Promise<void> {
43
31
  if (this.started) {
44
32
  return;
@@ -47,8 +35,7 @@ export class SSEMCPServer implements IMCPServer {
47
35
 
48
36
  const SSEClientTransport = (await import('@modelcontextprotocol/sdk/client/sse.js')).SSEClientTransport;
49
37
 
50
- const transport = new SSEClientTransport(new URL(this.serverHost), this.transportOptions);
51
-
38
+ const transport = new SSEClientTransport(new URL(this.serverHost));
52
39
  transport.onerror = (error) => {
53
40
  this.logger?.error('Transport Error:', error);
54
41
  };
@@ -36,10 +36,6 @@ export class StdioMCPServer implements IMCPServer {
36
36
  return this.name;
37
37
  }
38
38
 
39
- getClient(): Client | null {
40
- return this.client;
41
- }
42
-
43
39
  async start(): Promise<void> {
44
40
  if (this.started) {
45
41
  return;
@@ -1,4 +0,0 @@
1
- export declare const LANGUAGE_TO_SUFFIX: {
2
- [key: string]: string;
3
- };
4
- //# sourceMappingURL=languages.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"languages.d.ts","sourceRoot":"","sources":["../../../../../src/browser/contrib/inline-completions/prompt/languages.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB,EAAE;IAC/B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;CA+DvB,CAAC"}
@@ -1,67 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.LANGUAGE_TO_SUFFIX = void 0;
4
- exports.LANGUAGE_TO_SUFFIX = {
5
- abap: '.abap',
6
- bat: '.bat',
7
- bibtex: '.bib',
8
- c: '.c',
9
- clojure: '.clj',
10
- coffeescript: '.coffee',
11
- cpp: '.cpp',
12
- csharp: '.cs',
13
- css: '.css',
14
- 'cuda-cpp': '.cu',
15
- dart: '.dart',
16
- diff: '.diff',
17
- dockerfile: '.dockerfile',
18
- fsharp: '.fs',
19
- go: '.go',
20
- groovy: '.groovy',
21
- haml: '.haml',
22
- handlebars: '.handlebars',
23
- hlsl: '.hlsl',
24
- html: '.html',
25
- ini: '.ini',
26
- jade: '.jade',
27
- java: '.java',
28
- javascript: '.js',
29
- javascriptreact: '.jsx',
30
- json: '.json',
31
- julia: '.jl',
32
- latex: '.tex',
33
- less: '.less',
34
- lua: '.lua',
35
- makefile: '.make',
36
- markdown: '.md',
37
- 'objective-c': '.m',
38
- 'objective-cpp': '.mm',
39
- perl: '.pl',
40
- perl6: '.6pl',
41
- php: '.php',
42
- plaintext: '.txt',
43
- powershell: '.ps1',
44
- pug: '.pug',
45
- python: '.py',
46
- r: '.r',
47
- razor: '.cshtml',
48
- ruby: '.rb',
49
- rust: '.rs',
50
- sass: '.sass',
51
- scss: '.scss',
52
- shaderlab: '.shader',
53
- shellscript: '.sh',
54
- slim: '.slim',
55
- sql: '.sql',
56
- stylus: '.styl',
57
- swift: '.swift',
58
- tex: '.tex',
59
- typescript: '.ts',
60
- typescriptreact: '.tsx',
61
- vb: '.vb',
62
- vue: '.vue',
63
- xml: '.xml',
64
- xsl: '.xsl',
65
- yaml: '.yaml',
66
- };
67
- //# sourceMappingURL=languages.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"languages.js","sourceRoot":"","sources":["../../../../../src/browser/contrib/inline-completions/prompt/languages.ts"],"names":[],"mappings":";;;AAAa,QAAA,kBAAkB,GAE3B;IACF,IAAI,EAAE,OAAO;IACb,GAAG,EAAE,MAAM;IACX,MAAM,EAAE,MAAM;IACd,CAAC,EAAE,IAAI;IACP,OAAO,EAAE,MAAM;IACf,YAAY,EAAE,SAAS;IACvB,GAAG,EAAE,MAAM;IACX,MAAM,EAAE,KAAK;IACb,GAAG,EAAE,MAAM;IACX,UAAU,EAAE,KAAK;IACjB,IAAI,EAAE,OAAO;IACb,IAAI,EAAE,OAAO;IACb,UAAU,EAAE,aAAa;IACzB,MAAM,EAAE,KAAK;IACb,EAAE,EAAE,KAAK;IACT,MAAM,EAAE,SAAS;IACjB,IAAI,EAAE,OAAO;IACb,UAAU,EAAE,aAAa;IACzB,IAAI,EAAE,OAAO;IACb,IAAI,EAAE,OAAO;IACb,GAAG,EAAE,MAAM;IACX,IAAI,EAAE,OAAO;IACb,IAAI,EAAE,OAAO;IACb,UAAU,EAAE,KAAK;IACjB,eAAe,EAAE,MAAM;IACvB,IAAI,EAAE,OAAO;IACb,KAAK,EAAE,KAAK;IACZ,KAAK,EAAE,MAAM;IACb,IAAI,EAAE,OAAO;IACb,GAAG,EAAE,MAAM;IACX,QAAQ,EAAE,OAAO;IACjB,QAAQ,EAAE,KAAK;IACf,aAAa,EAAE,IAAI;IACnB,eAAe,EAAE,KAAK;IACtB,IAAI,EAAE,KAAK;IACX,KAAK,EAAE,MAAM;IACb,GAAG,EAAE,MAAM;IACX,SAAS,EAAE,MAAM;IACjB,UAAU,EAAE,MAAM;IAClB,GAAG,EAAE,MAAM;IACX,MAAM,EAAE,KAAK;IACb,CAAC,EAAE,IAAI;IACP,KAAK,EAAE,SAAS;IAChB,IAAI,EAAE,KAAK;IACX,IAAI,EAAE,KAAK;IACX,IAAI,EAAE,OAAO;IACb,IAAI,EAAE,OAAO;IACb,SAAS,EAAE,SAAS;IACpB,WAAW,EAAE,KAAK;IAClB,IAAI,EAAE,OAAO;IACb,GAAG,EAAE,MAAM;IACX,MAAM,EAAE,OAAO;IACf,KAAK,EAAE,QAAQ;IACf,GAAG,EAAE,MAAM;IACX,UAAU,EAAE,KAAK;IACjB,eAAe,EAAE,MAAM;IACvB,EAAE,EAAE,KAAK;IACT,GAAG,EAAE,MAAM;IACX,GAAG,EAAE,MAAM;IACX,GAAG,EAAE,MAAM;IACX,IAAI,EAAE,OAAO;CACd,CAAC"}
@@ -1,65 +0,0 @@
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
- };