fix #c6143f0e48: route Toggle Session Info to chat panel

Merged
TE
10d ago
+642-10

Leo’s ask (2026-10-24, ask-c6143f0e48): “command palette should be able to "do" more stuff... eg toggle session info. think of more things like this too. we can extend the actions situatoin we have in the command palette.”

The renamed Toggle Session Info action still called the ACP event Inspector (AgentActionCatalog → AgentHandlers → AgentPaneView+Inspector). This PR gives Session Info its own agentPane.toggleSessionInfo action and sends toggleSessionInfo through the page command transport to the focused chat pane. The callback is the same one used by the header toggle, so it applies the existing shared state and uncovers the chat when an event Inspector or other covered surface is present. The event Inspector remains available as Toggle Event Inspector under agentPane.toggleInspector with agent toggle-acp-inspector.

Validation:

  • Red base af7424c26b0: CMUX_BROWSER_TESTS=1 bun test test/session-info-palette.test.ts — 1 pass, 2 failures (Session Info command did not open ChatInspector).
  • Green final: same focused browser test — 3 pass, 0 failures. Captures were produced by this harness: before (before-event-inspector.png) shows the ACP event log; after (after-session-info.png) shows the Session Info panel.
  • python3 scripts/cmux-next/prepush-gate.py: passed, no new violations.
  • python3 -I scripts/cmux-next/check-xcstrings-keys.py --root .: passed.
  • cmux-ci test --setup webviews -- bun run typecheck dispatched as run 40250478992 for snapshot 22576d543405bba17e38dfbf57408f4dcfbcd500; native Swift compile/test is left to PR CI because this host has no Swift toolchain.

Risk: the native action adds one focused command and preserves the existing action’s focus guard; the webview only adds a command branch and a ref to the existing toggle callback. The full web check has baseline localization debt and unchanged lint warnings; the changed-file formatting/lint check passed.

Overlap audit: pr-overlap found generic shared catalog/localization overlap with #24061, #16279, #22857, #20827 and #24876; none targets Session Info palette routing. The pre-push hook timed out after 15 seconds while refreshing this broad overlap cache, then allowed the push.

Harness: Codex

Captures:

  • Before: Before event Inspector
  • After: After Session Info

No capture: the required fleet cmux-ci capture for exact head 5497e5f4dc0 was attempted through Big Red and failed before capture because the Linux pool has Bun 1.4.2 while this repository requires Bun 1.4.4 (e0e2e9787cb1973628eb170f). The local pane harness captures above are the before/after evidence.

Agent session: huge-blue