@theia/plugin-ext 1.66.0-next.41 → 1.66.0-next.44
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lm-main.d.ts","sourceRoot":"","sources":["../../../src/main/browser/lm-main.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EACH,+BAA+B,EAE/B,sBAAsB,EAEzB,MAAM,0BAA0B,CAAC;AAKlC,qBAAa,mCAAoC,YAAW,+BAA+B;IACvF,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAiC;IACvD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA6B;IACvD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA+B;gBAG5D,GAAG,EAAE,WAAW,EAChB,SAAS,EAAE,UAAU,CAAC,SAAS;IAWnC,oCAAoC,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAKlE,sCAAsC,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAwB3E,gCAAgC,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAKhD,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,EAAE,CAAC;IASxE,wBAAwB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,sBAAsB,GAAG,SAAS,CAAC;YAS7G,qBAAqB;
|
|
1
|
+
{"version":3,"file":"lm-main.d.ts","sourceRoot":"","sources":["../../../src/main/browser/lm-main.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EACH,+BAA+B,EAE/B,sBAAsB,EAEzB,MAAM,0BAA0B,CAAC;AAKlC,qBAAa,mCAAoC,YAAW,+BAA+B;IACvF,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAiC;IACvD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA6B;IACvD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA+B;gBAG5D,GAAG,EAAE,WAAW,EAChB,SAAS,EAAE,UAAU,CAAC,SAAS;IAWnC,oCAAoC,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAKlE,sCAAsC,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAwB3E,gCAAgC,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAKhD,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,EAAE,CAAC;IASxE,wBAAwB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,sBAAsB,GAAG,SAAS,CAAC;YAS7G,qBAAqB;IAkBnC,OAAO,CAAC,6BAA6B;CAyDxC"}
|
|
@@ -88,18 +88,16 @@ class McpServerDefinitionRegistryMainImpl {
|
|
|
88
88
|
try {
|
|
89
89
|
const definitions = await this.$getServerDefinitions(handle);
|
|
90
90
|
for (const definition of definitions) {
|
|
91
|
-
const
|
|
92
|
-
|
|
93
|
-
const mcpServerDescription = this.convertToMcpServerDescription(resolved);
|
|
94
|
-
this.mcpServerManager.addOrUpdateServer(mcpServerDescription);
|
|
95
|
-
}
|
|
91
|
+
const mcpServerDescription = this.convertToMcpServerDescription(handle, definition);
|
|
92
|
+
this.mcpServerManager.addOrUpdateServer(mcpServerDescription);
|
|
96
93
|
}
|
|
97
94
|
}
|
|
98
95
|
catch (error) {
|
|
99
96
|
console.error('Error loading MCP server definitions:', error);
|
|
100
97
|
}
|
|
101
98
|
}
|
|
102
|
-
convertToMcpServerDescription(definition) {
|
|
99
|
+
convertToMcpServerDescription(handle, definition) {
|
|
100
|
+
const self = this;
|
|
103
101
|
if ((0, lm_protocol_1.isMcpHttpServerDefinitionDto)(definition)) {
|
|
104
102
|
// Convert headers values to strings, filtering out null values
|
|
105
103
|
let convertedHeaders;
|
|
@@ -111,12 +109,20 @@ class McpServerDefinitionRegistryMainImpl {
|
|
|
111
109
|
}
|
|
112
110
|
}
|
|
113
111
|
}
|
|
114
|
-
|
|
112
|
+
const serverDescription = {
|
|
115
113
|
name: definition.label,
|
|
116
114
|
serverUrl: core_1.URI.fromComponents(definition.uri).toString(),
|
|
117
115
|
headers: convertedHeaders,
|
|
118
|
-
autostart: false,
|
|
116
|
+
autostart: false,
|
|
117
|
+
async resolve(description) {
|
|
118
|
+
const resolved = await self.$resolveServerDefinition(handle, definition);
|
|
119
|
+
if (resolved) {
|
|
120
|
+
return self.convertToMcpServerDescription(handle, resolved);
|
|
121
|
+
}
|
|
122
|
+
return description;
|
|
123
|
+
}
|
|
119
124
|
};
|
|
125
|
+
return serverDescription;
|
|
120
126
|
}
|
|
121
127
|
// Convert env values to strings, filtering out null values
|
|
122
128
|
let convertedEnv;
|
|
@@ -134,6 +140,13 @@ class McpServerDefinitionRegistryMainImpl {
|
|
|
134
140
|
args: definition.args,
|
|
135
141
|
env: convertedEnv,
|
|
136
142
|
autostart: false, // Extensions should manage their own server lifecycle
|
|
143
|
+
async resolve(serverDescription) {
|
|
144
|
+
const resolved = await self.$resolveServerDefinition(handle, definition);
|
|
145
|
+
if (resolved) {
|
|
146
|
+
return self.convertToMcpServerDescription(handle, resolved);
|
|
147
|
+
}
|
|
148
|
+
return serverDescription;
|
|
149
|
+
}
|
|
137
150
|
};
|
|
138
151
|
}
|
|
139
152
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lm-main.js","sourceRoot":"","sources":["../../../src/main/browser/lm-main.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,mCAAmC;AACnC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;AAIhF,0DAKkC;AAClC,gEAA+D;AAC/D,
|
|
1
|
+
{"version":3,"file":"lm-main.js","sourceRoot":"","sources":["../../../src/main/browser/lm-main.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,38 +1,38 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@theia/plugin-ext",
|
|
3
|
-
"version": "1.66.0-next.
|
|
3
|
+
"version": "1.66.0-next.44+5b6e49d13",
|
|
4
4
|
"description": "Theia - Plugin Extension",
|
|
5
5
|
"main": "lib/common/index.js",
|
|
6
6
|
"typings": "lib/common/index.d.ts",
|
|
7
7
|
"dependencies": {
|
|
8
|
-
"@theia/ai-mcp": "1.66.0-next.
|
|
9
|
-
"@theia/bulk-edit": "1.66.0-next.
|
|
10
|
-
"@theia/callhierarchy": "1.66.0-next.
|
|
11
|
-
"@theia/console": "1.66.0-next.
|
|
12
|
-
"@theia/core": "1.66.0-next.
|
|
13
|
-
"@theia/debug": "1.66.0-next.
|
|
14
|
-
"@theia/editor": "1.66.0-next.
|
|
15
|
-
"@theia/editor-preview": "1.66.0-next.
|
|
16
|
-
"@theia/file-search": "1.66.0-next.
|
|
17
|
-
"@theia/filesystem": "1.66.0-next.
|
|
18
|
-
"@theia/markers": "1.66.0-next.
|
|
19
|
-
"@theia/messages": "1.66.0-next.
|
|
20
|
-
"@theia/monaco": "1.66.0-next.
|
|
8
|
+
"@theia/ai-mcp": "1.66.0-next.44+5b6e49d13",
|
|
9
|
+
"@theia/bulk-edit": "1.66.0-next.44+5b6e49d13",
|
|
10
|
+
"@theia/callhierarchy": "1.66.0-next.44+5b6e49d13",
|
|
11
|
+
"@theia/console": "1.66.0-next.44+5b6e49d13",
|
|
12
|
+
"@theia/core": "1.66.0-next.44+5b6e49d13",
|
|
13
|
+
"@theia/debug": "1.66.0-next.44+5b6e49d13",
|
|
14
|
+
"@theia/editor": "1.66.0-next.44+5b6e49d13",
|
|
15
|
+
"@theia/editor-preview": "1.66.0-next.44+5b6e49d13",
|
|
16
|
+
"@theia/file-search": "1.66.0-next.44+5b6e49d13",
|
|
17
|
+
"@theia/filesystem": "1.66.0-next.44+5b6e49d13",
|
|
18
|
+
"@theia/markers": "1.66.0-next.44+5b6e49d13",
|
|
19
|
+
"@theia/messages": "1.66.0-next.44+5b6e49d13",
|
|
20
|
+
"@theia/monaco": "1.66.0-next.44+5b6e49d13",
|
|
21
21
|
"@theia/monaco-editor-core": "1.96.302",
|
|
22
|
-
"@theia/navigator": "1.66.0-next.
|
|
23
|
-
"@theia/notebook": "1.66.0-next.
|
|
24
|
-
"@theia/output": "1.66.0-next.
|
|
25
|
-
"@theia/plugin": "1.66.0-next.
|
|
26
|
-
"@theia/preferences": "1.66.0-next.
|
|
27
|
-
"@theia/scm": "1.66.0-next.
|
|
28
|
-
"@theia/search-in-workspace": "1.66.0-next.
|
|
29
|
-
"@theia/task": "1.66.0-next.
|
|
30
|
-
"@theia/terminal": "1.66.0-next.
|
|
31
|
-
"@theia/test": "1.66.0-next.
|
|
32
|
-
"@theia/timeline": "1.66.0-next.
|
|
33
|
-
"@theia/typehierarchy": "1.66.0-next.
|
|
34
|
-
"@theia/variable-resolver": "1.66.0-next.
|
|
35
|
-
"@theia/workspace": "1.66.0-next.
|
|
22
|
+
"@theia/navigator": "1.66.0-next.44+5b6e49d13",
|
|
23
|
+
"@theia/notebook": "1.66.0-next.44+5b6e49d13",
|
|
24
|
+
"@theia/output": "1.66.0-next.44+5b6e49d13",
|
|
25
|
+
"@theia/plugin": "1.66.0-next.44+5b6e49d13",
|
|
26
|
+
"@theia/preferences": "1.66.0-next.44+5b6e49d13",
|
|
27
|
+
"@theia/scm": "1.66.0-next.44+5b6e49d13",
|
|
28
|
+
"@theia/search-in-workspace": "1.66.0-next.44+5b6e49d13",
|
|
29
|
+
"@theia/task": "1.66.0-next.44+5b6e49d13",
|
|
30
|
+
"@theia/terminal": "1.66.0-next.44+5b6e49d13",
|
|
31
|
+
"@theia/test": "1.66.0-next.44+5b6e49d13",
|
|
32
|
+
"@theia/timeline": "1.66.0-next.44+5b6e49d13",
|
|
33
|
+
"@theia/typehierarchy": "1.66.0-next.44+5b6e49d13",
|
|
34
|
+
"@theia/variable-resolver": "1.66.0-next.44+5b6e49d13",
|
|
35
|
+
"@theia/workspace": "1.66.0-next.44+5b6e49d13",
|
|
36
36
|
"@types/mime": "^2.0.1",
|
|
37
37
|
"@vscode/debugprotocol": "^1.51.0",
|
|
38
38
|
"@vscode/proxy-agent": "^0.13.2",
|
|
@@ -99,5 +99,5 @@
|
|
|
99
99
|
"nyc": {
|
|
100
100
|
"extends": "../../configs/nyc.json"
|
|
101
101
|
},
|
|
102
|
-
"gitHead": "
|
|
102
|
+
"gitHead": "5b6e49d139f9abbb18e233f138497a33a0758222"
|
|
103
103
|
}
|
|
@@ -23,7 +23,7 @@ import {
|
|
|
23
23
|
isMcpHttpServerDefinitionDto,
|
|
24
24
|
} from '../../common/lm-protocol';
|
|
25
25
|
import { MAIN_RPC_CONTEXT } from '../../common/plugin-api-rpc';
|
|
26
|
-
import { MCPServerManager, MCPServerDescription } from '@theia/ai-mcp/lib/common';
|
|
26
|
+
import { MCPServerManager, MCPServerDescription, RemoteMCPServerDescription } from '@theia/ai-mcp/lib/common';
|
|
27
27
|
import { URI } from '@theia/core';
|
|
28
28
|
|
|
29
29
|
export class McpServerDefinitionRegistryMainImpl implements McpServerDefinitionRegistryMain {
|
|
@@ -106,18 +106,16 @@ export class McpServerDefinitionRegistryMainImpl implements McpServerDefinitionR
|
|
|
106
106
|
const definitions = await this.$getServerDefinitions(handle);
|
|
107
107
|
|
|
108
108
|
for (const definition of definitions) {
|
|
109
|
-
const
|
|
110
|
-
|
|
111
|
-
const mcpServerDescription = this.convertToMcpServerDescription(resolved);
|
|
112
|
-
this.mcpServerManager.addOrUpdateServer(mcpServerDescription);
|
|
113
|
-
}
|
|
109
|
+
const mcpServerDescription = this.convertToMcpServerDescription(handle, definition);
|
|
110
|
+
this.mcpServerManager.addOrUpdateServer(mcpServerDescription);
|
|
114
111
|
}
|
|
115
112
|
} catch (error) {
|
|
116
113
|
console.error('Error loading MCP server definitions:', error);
|
|
117
114
|
}
|
|
118
115
|
}
|
|
119
116
|
|
|
120
|
-
private convertToMcpServerDescription(definition: McpServerDefinitionDto): MCPServerDescription {
|
|
117
|
+
private convertToMcpServerDescription(handle: number, definition: McpServerDefinitionDto): MCPServerDescription {
|
|
118
|
+
const self = this;
|
|
121
119
|
if (isMcpHttpServerDefinitionDto(definition)) {
|
|
122
120
|
// Convert headers values to strings, filtering out null values
|
|
123
121
|
let convertedHeaders: Record<string, string> | undefined;
|
|
@@ -130,12 +128,21 @@ export class McpServerDefinitionRegistryMainImpl implements McpServerDefinitionR
|
|
|
130
128
|
}
|
|
131
129
|
}
|
|
132
130
|
|
|
133
|
-
|
|
131
|
+
const serverDescription: RemoteMCPServerDescription = {
|
|
134
132
|
name: definition.label,
|
|
135
133
|
serverUrl: URI.fromComponents(definition.uri).toString(),
|
|
136
134
|
headers: convertedHeaders,
|
|
137
|
-
autostart: false,
|
|
135
|
+
autostart: false,
|
|
136
|
+
async resolve(description: MCPServerDescription): Promise<MCPServerDescription> {
|
|
137
|
+
const resolved = await self.$resolveServerDefinition(handle, definition);
|
|
138
|
+
if (resolved) {
|
|
139
|
+
return self.convertToMcpServerDescription(handle, resolved);
|
|
140
|
+
}
|
|
141
|
+
return description;
|
|
142
|
+
}
|
|
138
143
|
};
|
|
144
|
+
|
|
145
|
+
return serverDescription;
|
|
139
146
|
}
|
|
140
147
|
|
|
141
148
|
// Convert env values to strings, filtering out null values
|
|
@@ -155,6 +162,13 @@ export class McpServerDefinitionRegistryMainImpl implements McpServerDefinitionR
|
|
|
155
162
|
args: definition.args,
|
|
156
163
|
env: convertedEnv,
|
|
157
164
|
autostart: false, // Extensions should manage their own server lifecycle
|
|
165
|
+
async resolve(serverDescription: MCPServerDescription): Promise<MCPServerDescription> {
|
|
166
|
+
const resolved = await self.$resolveServerDefinition(handle, definition);
|
|
167
|
+
if (resolved) {
|
|
168
|
+
return self.convertToMcpServerDescription(handle, resolved);
|
|
169
|
+
}
|
|
170
|
+
return serverDescription;
|
|
171
|
+
}
|
|
158
172
|
};
|
|
159
173
|
}
|
|
160
174
|
}
|