diff --git a/src/McpResponse.ts b/src/McpResponse.ts index bf7603bf..4ea9f796 100644 --- a/src/McpResponse.ts +++ b/src/McpResponse.ts @@ -192,8 +192,12 @@ export class McpResponse implements Response { const dialog = context.getDialog(); if (dialog) { + const defaultValueIfNeeded = + dialog.type() === 'prompt' + ? ` (default value: "${dialog.defaultValue()}")` + : ''; response.push(`# Open dialog -${dialog.type()}: ${dialog.message()} (default value: ${dialog.message()}). +${dialog.type()}: ${dialog.message()}${defaultValueIfNeeded}. Call ${handleDialog.name} to handle it before continuing.`); } diff --git a/tests/McpResponse.test.ts b/tests/McpResponse.test.ts index 586b524f..d34abe8c 100644 --- a/tests/McpResponse.test.ts +++ b/tests/McpResponse.test.ts @@ -150,7 +150,7 @@ Emulating: 4x slowdown`, }); }); - it('adds a dialog', async () => { + it('adds a prompt dialog', async () => { await withBrowser(async (response, context) => { const page = context.getSelectedPage(); const dialogPromise = new Promise(resolve => { @@ -159,7 +159,7 @@ Emulating: 4x slowdown`, }); }); page.evaluate(() => { - alert('test'); + prompt('message', 'default'); }); await dialogPromise; const result = await response.handle('test', context); @@ -168,7 +168,31 @@ Emulating: 4x slowdown`, result[0].text, `# test response # Open dialog -alert: test (default value: test). +prompt: message (default value: "default"). +Call handle_dialog to handle it before continuing.`, + ); + }); + }); + + it('adds an alert dialog', async () => { + await withBrowser(async (response, context) => { + const page = context.getSelectedPage(); + const dialogPromise = new Promise(resolve => { + page.on('dialog', () => { + resolve(); + }); + }); + page.evaluate(() => { + alert('message'); + }); + await dialogPromise; + const result = await response.handle('test', context); + await context.getDialog()?.dismiss(); + assert.strictEqual( + result[0].text, + `# test response +# Open dialog +alert: message. Call handle_dialog to handle it before continuing.`, ); });