Fix Claude agent interrupt race and refactor mode color tiers

- Fix race in agent-manager where pendingRun wasn't fully cleaned up
  before the next streamAgent call, causing "already has an active run"
- Fix Claude agent query restart: null out query/input before awaiting
  old iterator return so the old pump skips failActiveTurns
- Reset pendingInterruptAbort on new foreground turn
- Add system error assertion to send-during-tool-call e2e test
- Rename mode color tiers: drop "default", rename "readonly" to
  "planning", update color assignments across providers and UI
This commit is contained in:
Mohamed Boudra
2026-03-25 16:46:23 +07:00
parent 935e55eb27
commit 638c633a21
6 changed files with 39 additions and 20 deletions
@@ -106,21 +106,18 @@ function getModeIconColor(
palette: {
blue: { 500: string };
green: { 500: string };
amber: { 500: string };
red: { 500: string };
purple: { 500: string };
},
): string {
switch (colorTier) {
case "default":
return palette.blue[500];
case "safe":
return palette.green[500];
case "moderate":
return palette.amber[500];
return palette.blue[500];
case "dangerous":
return palette.red[500];
case "readonly":
case "planning":
return palette.purple[500];
default:
return palette.blue[500];