feat: open MCP Dashboard from agent platform nav menu

Description

Implements the IDE-side handler for the new "Open MCP Dashboard" dropdown item in the Duo Agent Platform navigation menu.

The root/duoAgentPlatform webview now sends an openMcpDashboard notification (see companion LSP MR). This MR handles that notification and reveals the MCP Dashboard by executing the existing gl.webview.root.mcp.show command:

  • command_names: add WEBVIEW_ROOT_MCP_SHOW to a shared PROGRAMMATIC_COMMANDS in src/common/command_names.ts, and reference it from src/desktop/command_names.ts (single source of truth — the command is registered in common setupWebviews for all platforms)
  • duo_chat_handlers: add an openMcpDashboard handler that runs the show command, and register it via registry.onNotification(webviewId, 'openMcpDashboard', openMcpDashboard) alongside the existing agent-platform webview handlers (openUrl, copyMessage, …)

Blocked by MR (GitLab Language Server): gitlab-org/editor-extensions/gitlab-lsp!3889 (merged)

Resolves gitlab-org/editor-extensions/gitlab-lsp#2885 (closed)

How has this been tested?

Automated checks run locally:

  • tsc --noEmit -p tsconfig.json — passed
  • jest src/common/webview/duo_chat/duo_chat_handlers.test.ts — 29 passed (incl. new openMcpDashboard registration + behavior tests)
  • jest src/common/webview/setup_webviews.test.ts src/desktop/package_json_config_order.test.ts — 26 passed (confirms the command-name refactor didn't break setup/config-order)
  • eslint + prettier --check on changed files — clean

Manual end-to-end (dropdown click → MCP Dashboard tab opens) verified. See screen recording below.

  • If src/browser or src/common has been modified, please consider interoperability with the Web IDE. See Running the Extension in WebIDE.
  • Consider an end-to-end test for significant new features that aren't covered by integration tests.

Screen recording

What CHANGELOG entry will this MR create?

  • feature: New feature - a user-facing change which adds functionality - included in changelog
Edited by Yi-Ann Chen

Merge request reports

Loading
Loading