feat(cmux-next): wire ACPmux events into priority agent view
Merged
TE
19d ago+281+281+012345678901234567890123456789-10-10-01234567890123456789
What changed
Wire the existing native ACPmux _acpmux/watch lane feed into the Agent Activity priority view without adding polling or a second session identity model.
- Preserve the existing
sessionId -> workspaceIdbinding onAgentActivityLaneand carry it through the web bridge. - Track a monotonic priority revision and changed session so only the hook-updated row gets the transform-only bounce.
- Feed priority ordering from the existing event-driven
AgentTurnStateFeed/AgentLaneStorepath. - Keep the web event reducer defensive for duplicate and out-of-order ACPmux session events.
Validation
bun test ./test/agent-activity-priority.test.ts ./test/agent-activity-lanes.test.tsx— 12 passed.git diff --check— passed.swiftc -parse Packages/macOS/CmuxNext/Sources/CmuxNextAgentActivity/AgentActivityLane.swift Packages/macOS/CmuxNext/Sources/CmuxNextAgentActivity/AgentActivityModel.swift Packages/macOS/CmuxNext/Sources/CmuxNextAgentActivity/AgentActivityHostView.swift— passed.
Full native build was not run on the M5 MacBook Air per repository build policy.
Need help on this PR? Tag @codesmith-bot with what you need.
Summary by cubic
Wires the native ACPmux _acpmux/watch lane feed into the Agent Activity priority view without adding polling or a second session identity model.
- Carries the existing
sessionId → workspaceIdbinding through the web bridge so priority rows jump to the correct workspace, and retains a session's binding when a later hook event omits it. - Tracks a monotonic priority revision and changed-session marker so only the hook-updated row gets a transform-only bounce animation.
- Validates each ACPmux session summary at runtime and keeps the reducer defensive against duplicate, out-of-order, and purged events.