@theia/ai-mcp 1.75.0-next.46 → 1.75.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.
@@ -1,8 +1,13 @@
1
1
  import { MessageService, ILogger } from '@theia/core';
2
2
  import { WorkspaceTrustService } from '@theia/workspace/lib/browser/workspace-trust-service';
3
3
  import { MCPFrontendService, MCPServerDescription, MCPServerManager } from '../common/mcp-server-manager';
4
- import { ToolInvocationRegistry, ToolRequest, PromptService } from '@theia/ai-core';
4
+ import { ToolInvocationRegistry, ToolRequest, PromptService, ToolCallContentResult } from '@theia/ai-core';
5
5
  import { ListToolsResult } from '@modelcontextprotocol/sdk/types';
6
+ /**
7
+ * Maps a single MCP call content item to a {@link ToolCallContentResult}.
8
+ * Exported for testability.
9
+ */
10
+ export declare function mapCallContent(callContent: Record<string, unknown>): ToolCallContentResult;
6
11
  export declare class MCPFrontendServiceImpl implements MCPFrontendService {
7
12
  protected readonly mcpServerManager: MCPServerManager;
8
13
  protected readonly toolInvocationRegistry: ToolInvocationRegistry;
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-frontend-service.d.ts","sourceRoot":"","sources":["../../src/browser/mcp-frontend-service.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,cAAc,EAAO,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sDAAsD,CAAC;AAC7F,OAAO,EAAgC,kBAAkB,EAAE,oBAAoB,EAAE,gBAAgB,EAAmB,MAAM,8BAA8B,CAAC;AACzJ,OAAO,EAAE,sBAAsB,EAAE,WAAW,EAAE,aAAa,EAA0C,MAAM,gBAAgB,CAAC;AAC5H,OAAO,EAAE,eAAe,EAAe,MAAM,iCAAiC,CAAC;AAE/E,qBACa,sBAAuB,YAAW,kBAAkB;IAG7D,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAGtD,SAAS,CAAC,QAAQ,CAAC,sBAAsB,EAAE,sBAAsB,CAAC;IAGlE,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAGhD,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAGnC,SAAS,CAAC,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB,CAAC;IAGhE,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IAElD;;;OAGG;IACG,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK9C,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAe5D,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAsB5C,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAK/C,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKrD,iCAAiC,IAAI,OAAO,CAAC,IAAI,CAAC;IAOlD,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IActD,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IAI/C,SAAS,CAAC,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAKnD,SAAS,CAAC,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,EAAE,YAAY,GAAE,OAAe,GAAG,IAAI;IAY9G,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK7C,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKhD,yBAAyB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAI/D,iBAAiB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAItC,gBAAgB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAIrC,cAAc,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAI7B,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC;IAI7E,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC;IASlE,iBAAiB,CAAC,WAAW,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzE,OAAO,CAAC,oBAAoB;CA4C/B"}
1
+ {"version":3,"file":"mcp-frontend-service.d.ts","sourceRoot":"","sources":["../../src/browser/mcp-frontend-service.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,cAAc,EAAO,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sDAAsD,CAAC;AAC7F,OAAO,EAAgC,kBAAkB,EAAE,oBAAoB,EAAE,gBAAgB,EAAmB,MAAM,8BAA8B,CAAC;AACzJ,OAAO,EAAE,sBAAsB,EAAE,WAAW,EAAE,aAAa,EAAmB,qBAAqB,EAA2B,MAAM,gBAAgB,CAAC;AACrJ,OAAO,EAAE,eAAe,EAAe,MAAM,iCAAiC,CAAC;AAE/E;;;GAGG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,qBAAqB,CA2B1F;AAED,qBACa,sBAAuB,YAAW,kBAAkB;IAG7D,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAGtD,SAAS,CAAC,QAAQ,CAAC,sBAAsB,EAAE,sBAAsB,CAAC;IAGlE,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAGhD,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAGnC,SAAS,CAAC,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB,CAAC;IAGhE,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IAElD;;;OAGG;IACG,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK9C,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAe5D,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAsB5C,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAK/C,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKrD,iCAAiC,IAAI,OAAO,CAAC,IAAI,CAAC;IAOlD,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IActD,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IAI/C,SAAS,CAAC,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAKnD,SAAS,CAAC,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,EAAE,YAAY,GAAE,OAAe,GAAG,IAAI;IAY9G,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK7C,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKhD,yBAAyB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAI/D,iBAAiB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAItC,gBAAgB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAIrC,cAAc,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAI7B,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC;IAI7E,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC;IASlE,iBAAiB,CAAC,WAAW,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzE,OAAO,CAAC,oBAAoB;CA+B/B"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.MCPFrontendServiceImpl = void 0;
4
+ exports.mapCallContent = mapCallContent;
4
5
  const tslib_1 = require("tslib");
5
6
  // *****************************************************************************
6
7
  // Copyright (C) 2024 EclipseSource GmbH.
@@ -22,6 +23,39 @@ const core_1 = require("@theia/core");
22
23
  const workspace_trust_service_1 = require("@theia/workspace/lib/browser/workspace-trust-service");
23
24
  const mcp_server_manager_1 = require("../common/mcp-server-manager");
24
25
  const ai_core_1 = require("@theia/ai-core");
26
+ /**
27
+ * Maps a single MCP call content item to a {@link ToolCallContentResult}.
28
+ * Exported for testability.
29
+ */
30
+ function mapCallContent(callContent) {
31
+ const type = callContent.type;
32
+ switch (type) {
33
+ case 'image':
34
+ return { type: 'image', base64data: callContent.data, mimeType: callContent.mimeType };
35
+ case 'text': {
36
+ const text = callContent.text;
37
+ if (text.startsWith('{')) {
38
+ try {
39
+ const parsed = JSON.parse(text);
40
+ if ((0, ai_core_1.isToolCallHtmlAppResult)(parsed)) {
41
+ return { type: 'html', html: parsed.html, title: parsed.title };
42
+ }
43
+ }
44
+ catch { /* not JSON, fall through */ }
45
+ }
46
+ return { type: 'text', text };
47
+ }
48
+ case 'resource': {
49
+ return { type: 'text', text: JSON.stringify(callContent.resource) };
50
+ }
51
+ default: {
52
+ if ('html' in callContent && typeof callContent.html === 'string') {
53
+ return { type: 'html', html: callContent.html, title: callContent.title };
54
+ }
55
+ return { type: 'text', text: JSON.stringify(callContent) };
56
+ }
57
+ }
58
+ }
25
59
  let MCPFrontendServiceImpl = class MCPFrontendServiceImpl {
26
60
  /**
27
61
  * Non-interactive start. The backend OAuth provider rejects `redirectToAuthorization`, so this
@@ -162,20 +196,7 @@ let MCPFrontendServiceImpl = class MCPFrontendServiceImpl {
162
196
  const textContent = result.content.find(callContent => callContent.type === 'text');
163
197
  return { content: [{ type: 'error', data: textContent?.text ?? 'Unknown Error' }] };
164
198
  }
165
- const content = result.content.map(callContent => {
166
- switch (callContent.type) {
167
- case 'image':
168
- return { type: 'image', base64data: callContent.data, mimeType: callContent.mimeType };
169
- case 'text':
170
- return { type: 'text', text: callContent.text };
171
- case 'resource': {
172
- return { type: 'text', text: JSON.stringify(callContent.resource) };
173
- }
174
- default: {
175
- return { type: 'text', text: JSON.stringify(callContent) };
176
- }
177
- }
178
- });
199
+ const content = result.content.map(callContent => mapCallContent(callContent));
179
200
  return { content };
180
201
  }
181
202
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-frontend-service.js","sourceRoot":"","sources":["../../src/browser/mcp-frontend-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp-frontend-service.js","sourceRoot":"","sources":["../../src/browser/mcp-frontend-service.ts"],"names":[],"mappings":"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"}
@@ -21,7 +21,7 @@ const frontend_application_config_provider_1 = require("@theia/core/lib/browser/
21
21
  frontend_application_config_provider_1.FrontendApplicationConfigProvider.set({});
22
22
  const chai_1 = require("chai");
23
23
  const mcp_server_manager_1 = require("../common/mcp-server-manager");
24
- const MCPFrontendServiceImplConstructor = require('./mcp-frontend-service').MCPFrontendServiceImpl;
24
+ const { MCPFrontendServiceImpl: MCPFrontendServiceImplConstructor, mapCallContent } = require('./mcp-frontend-service');
25
25
  disableJSDOM();
26
26
  class TestToolInvocationRegistry {
27
27
  constructor() {
@@ -207,4 +207,46 @@ describe('MCPFrontendServiceImpl', () => {
207
207
  });
208
208
  });
209
209
  });
210
+ describe('MCPFrontendServiceImpl html content mapping', () => {
211
+ it('maps html content with title', () => {
212
+ const result = mapCallContent({ type: 'html', html: '<div>App</div>', title: 'My App' });
213
+ (0, chai_1.expect)(result).to.deep.equal({ type: 'html', html: '<div>App</div>', title: 'My App' });
214
+ });
215
+ it('maps html content without title', () => {
216
+ const result = mapCallContent({ type: 'html', html: '<p>Hello</p>' });
217
+ (0, chai_1.expect)(result).to.deep.equal({ type: 'html', html: '<p>Hello</p>', title: undefined });
218
+ });
219
+ it('falls back to text for unknown type without html field', () => {
220
+ const result = mapCallContent({ type: 'unknown', data: 'foo' });
221
+ (0, chai_1.expect)(result.type).to.equal('text');
222
+ (0, chai_1.expect)(result.text).to.equal(JSON.stringify({ type: 'unknown', data: 'foo' }));
223
+ });
224
+ it('still maps text content normally', () => {
225
+ const result = mapCallContent({ type: 'text', text: 'hello world' });
226
+ (0, chai_1.expect)(result).to.deep.equal({ type: 'text', text: 'hello world' });
227
+ });
228
+ it('still maps image content normally', () => {
229
+ const result = mapCallContent({ type: 'image', data: 'base64data', mimeType: 'image/png' });
230
+ (0, chai_1.expect)(result).to.deep.equal({ type: 'image', base64data: 'base64data', mimeType: 'image/png' });
231
+ });
232
+ it('parses JSON text with type=html into an html result', () => {
233
+ const jsonText = JSON.stringify({ type: 'html', html: '<div>Chart</div>', title: 'My Chart' });
234
+ const result = mapCallContent({ type: 'text', text: jsonText });
235
+ (0, chai_1.expect)(result).to.deep.equal({ type: 'html', html: '<div>Chart</div>', title: 'My Chart' });
236
+ });
237
+ it('does not misclassify plain JSON text without type=html', () => {
238
+ const jsonText = JSON.stringify({ type: 'data', values: [1, 2, 3] });
239
+ const result = mapCallContent({ type: 'text', text: jsonText });
240
+ (0, chai_1.expect)(result).to.deep.equal({ type: 'text', text: jsonText });
241
+ });
242
+ it('does not misclassify text that starts with { but is not valid JSON', () => {
243
+ const result = mapCallContent({ type: 'text', text: '{not valid json' });
244
+ (0, chai_1.expect)(result).to.deep.equal({ type: 'text', text: '{not valid json' });
245
+ });
246
+ it('maps resource type to stringified text', () => {
247
+ const result = mapCallContent({ type: 'resource', resource: { uri: 'file:///test', text: 'hello' } });
248
+ (0, chai_1.expect)(result.type).to.equal('text');
249
+ (0, chai_1.expect)(result.text).to.equal(JSON.stringify({ uri: 'file:///test', text: 'hello' }));
250
+ });
251
+ });
210
252
  //# sourceMappingURL=mcp-frontend-service.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-frontend-service.spec.js","sourceRoot":"","sources":["../../src/browser/mcp-frontend-service.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp-frontend-service.spec.js","sourceRoot":"","sources":["../../src/browser/mcp-frontend-service.spec.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@theia/ai-mcp",
3
- "version": "1.75.0-next.46+eb558223a",
3
+ "version": "1.75.0",
4
4
  "description": "Theia - MCP Integration",
5
5
  "dependencies": {
6
6
  "@modelcontextprotocol/sdk": "^1.30.0",
7
- "@theia/ai-core": "1.75.0-next.46+eb558223a",
8
- "@theia/ai-core-ui": "1.75.0-next.46+eb558223a",
9
- "@theia/core": "1.75.0-next.46+eb558223a",
10
- "@theia/workspace": "1.75.0-next.46+eb558223a"
7
+ "@theia/ai-core": "1.75.0",
8
+ "@theia/ai-core-ui": "1.75.0",
9
+ "@theia/core": "1.75.0",
10
+ "@theia/workspace": "1.75.0"
11
11
  },
12
12
  "publishConfig": {
13
13
  "access": "public"
@@ -47,10 +47,10 @@
47
47
  "watch": "theiaext watch"
48
48
  },
49
49
  "devDependencies": {
50
- "@theia/ext-scripts": "1.74.0"
50
+ "@theia/ext-scripts": "1.75.0"
51
51
  },
52
52
  "nyc": {
53
53
  "extends": "../../configs/nyc.json"
54
54
  },
55
- "gitHead": "eb558223aae4b1ebf0a64deeb51741032cb8ea50"
55
+ "gitHead": "6d8e911f05f0fd9a13d76797e79b21ee3f038bc2"
56
56
  }
@@ -22,10 +22,11 @@ FrontendApplicationConfigProvider.set({});
22
22
  import { expect } from 'chai';
23
23
  import { MessageService } from '@theia/core';
24
24
  import { WorkspaceTrustService } from '@theia/workspace/lib/browser/workspace-trust-service';
25
- import { PromptService, ToolInvocationRegistry, ToolRequest } from '@theia/ai-core';
25
+ import { PromptService, ToolCallContentResult, ToolInvocationRegistry, ToolRequest } from '@theia/ai-core';
26
26
  import { MCPServerDescription, MCPServerManager, MCPServerStatus } from '../common/mcp-server-manager';
27
27
  import type { MCPFrontendServiceImpl } from './mcp-frontend-service';
28
- const MCPFrontendServiceImplConstructor: new () => MCPFrontendServiceImpl = require('./mcp-frontend-service').MCPFrontendServiceImpl;
28
+ const { MCPFrontendServiceImpl: MCPFrontendServiceImplConstructor, mapCallContent } = require('./mcp-frontend-service') as
29
+ { MCPFrontendServiceImpl: new () => MCPFrontendServiceImpl, mapCallContent: (callContent: Record<string, unknown>) => ToolCallContentResult };
29
30
 
30
31
  disableJSDOM();
31
32
 
@@ -247,3 +248,55 @@ describe('MCPFrontendServiceImpl', () => {
247
248
  });
248
249
  });
249
250
  });
251
+
252
+ describe('MCPFrontendServiceImpl html content mapping', () => {
253
+
254
+ it('maps html content with title', () => {
255
+ const result = mapCallContent({ type: 'html', html: '<div>App</div>', title: 'My App' });
256
+ expect(result).to.deep.equal({ type: 'html', html: '<div>App</div>', title: 'My App' });
257
+ });
258
+
259
+ it('maps html content without title', () => {
260
+ const result = mapCallContent({ type: 'html', html: '<p>Hello</p>' });
261
+ expect(result).to.deep.equal({ type: 'html', html: '<p>Hello</p>', title: undefined });
262
+ });
263
+
264
+ it('falls back to text for unknown type without html field', () => {
265
+ const result = mapCallContent({ type: 'unknown', data: 'foo' });
266
+ expect(result.type).to.equal('text');
267
+ expect((result as { text: string }).text).to.equal(JSON.stringify({ type: 'unknown', data: 'foo' }));
268
+ });
269
+
270
+ it('still maps text content normally', () => {
271
+ const result = mapCallContent({ type: 'text', text: 'hello world' });
272
+ expect(result).to.deep.equal({ type: 'text', text: 'hello world' });
273
+ });
274
+
275
+ it('still maps image content normally', () => {
276
+ const result = mapCallContent({ type: 'image', data: 'base64data', mimeType: 'image/png' });
277
+ expect(result).to.deep.equal({ type: 'image', base64data: 'base64data', mimeType: 'image/png' });
278
+ });
279
+
280
+ it('parses JSON text with type=html into an html result', () => {
281
+ const jsonText = JSON.stringify({ type: 'html', html: '<div>Chart</div>', title: 'My Chart' });
282
+ const result = mapCallContent({ type: 'text', text: jsonText });
283
+ expect(result).to.deep.equal({ type: 'html', html: '<div>Chart</div>', title: 'My Chart' });
284
+ });
285
+
286
+ it('does not misclassify plain JSON text without type=html', () => {
287
+ const jsonText = JSON.stringify({ type: 'data', values: [1, 2, 3] });
288
+ const result = mapCallContent({ type: 'text', text: jsonText });
289
+ expect(result).to.deep.equal({ type: 'text', text: jsonText });
290
+ });
291
+
292
+ it('does not misclassify text that starts with { but is not valid JSON', () => {
293
+ const result = mapCallContent({ type: 'text', text: '{not valid json' });
294
+ expect(result).to.deep.equal({ type: 'text', text: '{not valid json' });
295
+ });
296
+
297
+ it('maps resource type to stringified text', () => {
298
+ const result = mapCallContent({ type: 'resource', resource: { uri: 'file:///test', text: 'hello' } });
299
+ expect(result.type).to.equal('text');
300
+ expect((result as { text: string }).text).to.equal(JSON.stringify({ uri: 'file:///test', text: 'hello' }));
301
+ });
302
+ });
@@ -17,9 +17,42 @@ import { injectable, inject, named } from '@theia/core/shared/inversify';
17
17
  import { MessageService, nls, ILogger } from '@theia/core';
18
18
  import { WorkspaceTrustService } from '@theia/workspace/lib/browser/workspace-trust-service';
19
19
  import { isRemoteMCPServerDescription, MCPFrontendService, MCPServerDescription, MCPServerManager, MCPServerStatus } from '../common/mcp-server-manager';
20
- import { ToolInvocationRegistry, ToolRequest, PromptService, ToolCallContent, ToolCallContentResult } from '@theia/ai-core';
20
+ import { ToolInvocationRegistry, ToolRequest, PromptService, ToolCallContent, ToolCallContentResult, isToolCallHtmlAppResult } from '@theia/ai-core';
21
21
  import { ListToolsResult, TextContent } from '@modelcontextprotocol/sdk/types';
22
22
 
23
+ /**
24
+ * Maps a single MCP call content item to a {@link ToolCallContentResult}.
25
+ * Exported for testability.
26
+ */
27
+ export function mapCallContent(callContent: Record<string, unknown>): ToolCallContentResult {
28
+ const type = callContent.type as string | undefined;
29
+ switch (type) {
30
+ case 'image':
31
+ return { type: 'image', base64data: callContent.data as string, mimeType: callContent.mimeType as string };
32
+ case 'text': {
33
+ const text = callContent.text as string;
34
+ if (text.startsWith('{')) {
35
+ try {
36
+ const parsed = JSON.parse(text);
37
+ if (isToolCallHtmlAppResult(parsed)) {
38
+ return { type: 'html', html: parsed.html, title: parsed.title };
39
+ }
40
+ } catch { /* not JSON, fall through */ }
41
+ }
42
+ return { type: 'text', text };
43
+ }
44
+ case 'resource': {
45
+ return { type: 'text', text: JSON.stringify((callContent as { resource: unknown }).resource) };
46
+ }
47
+ default: {
48
+ if ('html' in callContent && typeof callContent.html === 'string') {
49
+ return { type: 'html', html: callContent.html, title: callContent.title as string | undefined };
50
+ }
51
+ return { type: 'text', text: JSON.stringify(callContent) };
52
+ }
53
+ }
54
+ }
55
+
23
56
  @injectable()
24
57
  export class MCPFrontendServiceImpl implements MCPFrontendService {
25
58
 
@@ -204,20 +237,7 @@ export class MCPFrontendServiceImpl implements MCPFrontendService {
204
237
  const textContent = result.content.find(callContent => callContent.type === 'text') as TextContent | undefined;
205
238
  return { content: [{ type: 'error', data: textContent?.text ?? 'Unknown Error' }] };
206
239
  }
207
- const content = result.content.map<ToolCallContentResult>(callContent => {
208
- switch (callContent.type) {
209
- case 'image':
210
- return { type: 'image', base64data: callContent.data, mimeType: callContent.mimeType };
211
- case 'text':
212
- return { type: 'text', text: callContent.text };
213
- case 'resource': {
214
- return { type: 'text', text: JSON.stringify(callContent.resource) };
215
- }
216
- default: {
217
- return { type: 'text', text: JSON.stringify(callContent) };
218
- }
219
- }
220
- });
240
+ const content = result.content.map<ToolCallContentResult>(callContent => mapCallContent(callContent as Record<string, unknown>));
221
241
  return { content };
222
242
  } catch (error) {
223
243
  this.logger.error(`Error in tool handler for ${tool.name} on MCP server ${serverName}:`, error);