feat: adapta CdpHandleDialog (nueva firma + DialogLog) y reporta diálogos en disconnect

CdpHandleDialog ahora devuelve (cancel, *DialogLog, error). El pool guarda el
DialogLog por puerto y browser_disconnect reporta cuántos diálogos se
auto-respondieron y el último (tipo + mensaje). drop/closeAll usan CdpDisconnect
(alias legible de CdpClose(c,0)).
This commit is contained in:
Egutierrez
2026-06-06 15:33:02 +02:00
parent ae324562e8
commit 4307fb2e58
4 changed files with 44 additions and 12 deletions
+4 -2
View File
@@ -101,10 +101,12 @@ func (d *deps) handleHandleDialog(_ context.Context, _ mcp.CallToolRequest, a ha
if err != nil {
return mcp.NewToolResultError(err.Error()), nil
}
cancel, err := browser.CdpHandleDialog(c, a.Accept, a.PromptText)
cancel, dlog, err := browser.CdpHandleDialog(c, a.Accept, a.PromptText)
if err != nil {
return mcp.NewToolResultError(err.Error()), nil
}
d.pool.setCancel(port, cancel)
// Guardamos el DialogLog junto al cancel para que browser_disconnect pueda
// reportar cuántos diálogos se auto-respondieron y cuál fue el último.
d.pool.setDialog(port, cancel, dlog)
return mcp.NewToolResultText("dialog auto-handler armed"), nil
}