Skip to content

Commit 12d3c35

Browse files
author
Natallia Harshunova
committed
Comments fix: extensions response format
1 parent 4827b34 commit 12d3c35

4 files changed

Lines changed: 14 additions & 22 deletions

File tree

src/McpResponse.ts

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -551,18 +551,10 @@ Call ${handleDialog.name} to handle it before continuing.`);
551551
if (data.extensions.length === 0) {
552552
response.push('No extensions installed.');
553553
} else {
554-
const parts = [];
555-
for (const extension of data.extensions) {
556-
parts.push(
557-
[
558-
`Name: ${extension.name}`,
559-
`ID: ${extension.id}`,
560-
`Version: ${extension.version}`,
561-
`Status: ${extension.isEnabled ? 'Enabled' : 'Disabled'}`,
562-
].join('\n'),
563-
);
564-
}
565-
response.push(parts.join('\n\n'));
554+
const extensionsMessage = data.extensions.map(extension => {
555+
return `id=${extension.id} "${extension.name}" v${extension.version} ${extension.isEnabled ? 'Enabled' : 'Disabled'}`;
556+
}).join('\n');
557+
response.push(extensionsMessage);
566558
}
567559
}
568560

src/tools/extensions.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ export const installExtension = defineTool({
2222
schema: {
2323
path: zod
2424
.string()
25-
.trim()
2625
.describe('Absolute path to the unpacked extension folder.'),
2726
},
2827
handler: async (request, response, context) => {

tests/McpResponse.test.js.snapshot

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -484,15 +484,8 @@ No requests found.
484484
exports[`extensions > lists extensions 1`] = `
485485
# test response
486486
## Extensions
487-
Name: Extension 1
488-
ID: id1
489-
Version: 1.0
490-
Status: Enabled
491-
492-
Name: Extension 2
493-
ID: id2
494-
Version: 2.0
495-
Status: Disabled
487+
id=id1 "Extension 1" v1.0 Enabled
488+
id=id2 "Extension 2" v2.0 Disabled
496489
`;
497490

498491
exports[`extensions > lists extensions 2`] = `

tests/McpResponse.test.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -717,6 +717,14 @@ describe('McpResponse network pagination', () => {
717717
describe('extensions', () => {
718718
it('lists extensions', async t => {
719719
await withMcpContext(async (response, context) => {
720+
response.setListExtensions();
721+
// Empty state testing
722+
const emptyResult = await response.handle('test', context);
723+
const emptyText = getTextContent(emptyResult.content[0]);
724+
assert.ok(emptyText.includes('No extensions installed.'), 'Should show message for ampty extensions');
725+
726+
response.resetResponseLineForTesting();
727+
// Testing with extensions
720728
context.listExtensions = () => [
721729
{
722730
id: 'id1',

0 commit comments

Comments
 (0)