feat(vscode): add real-time ACP status bar indicator and recovery actions - #1381
Conversation
nc-review: needs work — 1 blocking, 2 important, 1 nit@akramcodez — there is a blocking item below. Adds a real-time ACP status bar controller with seven connection states (Starting, Reconnecting, Failed, CliMissing, VersionMismatch, Connected, Disconnected), one-click recovery actions, and decouples AcpStateManager disposal from AcpProcessManager so manual restarts don't break subscribers. Implementation is largely correct, the tests meaningfully exercise both the pure mapper and the controller's dialog-stacking guard, and the description-to-text mapping covers all states. There are two issues that should be fixed before merge: the changeset is filed against the wrong package (and the VS Code extension's own package is explicitly ignored by the workspace's changesets config), and the legacy 🔴 blocking · The changeset declares 🟠 important ·
🟠 important · The legacy ⚪ nit ·
🔴 blocking · 🟠 a reviewer would ask for a change · ⚪ optional Automated code review — correctness, security, design, tests, plus duplicates and scope. A human still decides; this is not a substitute for review and is not exhaustive. The required status checks separately cover lint, formatting, types, unused dependencies, the test suite and the build. This bot never merges. Maintainers can rerun with |
|
/re-review |
nc-review: comments — 1 important, 1 nit@akramcodez — a few things worth a look, none blocking. The previous review's blocking changeset finding is resolved (the wrong-package changeset has been removed), the Addressed since the last review
🟠 important · Two error dialogs fire when retries are exhausted. The new ⚪ nit ·
🔴 blocking · 🟠 a reviewer would ask for a change · ⚪ optional Automated code review — correctness, security, design, tests, plus duplicates and scope. A human still decides; this is not a substitute for review and is not exhaustive. The required status checks separately cover lint, formatting, types, unused dependencies, the test suite and the build. This bot never merges. Maintainers can rerun with |
Description
Enhances the VS Code extension's status bar item to reflect the real-time lifecycle states of the ACP (Agent Client Protocol) process and adds recovery actions:
AcpStatusBarControllerand pure mapperdescribeAcpStatusto reflect granular agent states:$(sync~spin) Nanocoder: Starting$(sync~spin) Nanocoder: Reconnecting (attempt/total)$(check) Nanocoder(dynamically displays the active model name once synced viaonStateSync)$(error) Nanocoder: Failedwith failure context and tooltip$(plug) Nanocoder: Not installed$(warning) Nanocoder: Update CLI$(circle-slash) Nanocoder: Disconnectednanocoder.restartAcpandnanocoder.showOutputcommands.AcpStateManagerwithAcpStatusDetailto track retry counts and error reasons.AcpStateManagerdisposal fromAcpProcessManager.dispose()so the shared singleton and its listeners persist across manual restarts.plugins/vscode/src/acp-status-bar.spec.tsandplugins/vscode/src/acp-state.spec.tscovering status transitions, labels, tooltips, and click commands.Type of Change
Changeset
pnpm changeset) describing this change for the changelogTesting
Automated Tests
.spec.ts/tsxfilespnpm test:allcompletes successfully)Manual Testing
Checklist