feat(cmux-next): migrate composer menus to native popups

Draft
TE
5d ago
+5086-307

Routes composer mode, effort, Fast, options, Plan/Build, slash, and @ suggestions through the native popup protocol. Each consumer sends generated rows and consumes typed search, highlight, pick, change, and dismiss events; production DOM menu rows are removed.

This seam preserves existing mode/config/action IDs, labels, optimistic refusal handling, selection semantics, and composer caret edits. It depends on native popup foundation PR #27142 and overlaps model-picker consumer PR #27140; cherry-pick after those land and resolve only ComposerPickers consumer hunks. No QuickModelMenu or ModelPicker implementation is included.

Validation:

  • git diff --check
  • Prettier parser check on all changed consumer files
  • Typecheck unavailable in this lane (vp is not installed)

HOLD: land after #27142 and #27140 are integrated; then run native transport roundtrip, stale-revision, no-production-DOM, and real-app light/dark checks.

Agent session: agent session


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need.


Summary by cubic

Migrates composer mode, effort, Fast, options, Plan/Build, slash, and @ suggestion menus from production DOM popups to the native popup protocol. Each consumer sends generated rows and consumes typed search, highlight, pick, change, and dismiss events; the old DOM menu rows are removed.

Preserves existing mode/config/action IDs, labels, optimistic refusal handling, selection semantics, and composer caret edits. Depends on native popup foundation PR #27142 and overlaps model-picker consumer PR #27140; cherry-pick after those land and resolve only ComposerPickers consumer hunks. No QuickModelMenu or ModelPicker implementation is included.