From 7c97dc18fb598e729b2aeec5137e986e8af04530 Mon Sep 17 00:00:00 2001 From: Mohamed Boudra Date: Sun, 28 Dec 2025 23:38:02 +0700 Subject: [PATCH] Show permissions mode in agent trigger --- packages/app/src/app/agent/new.tsx | 12 ++++++++++- plan.md | 32 +++++++++++++++++++++++++++++- 2 files changed, 42 insertions(+), 2 deletions(-) diff --git a/packages/app/src/app/agent/new.tsx b/packages/app/src/app/agent/new.tsx index 3d8654f85..054487a68 100644 --- a/packages/app/src/app/agent/new.tsx +++ b/packages/app/src/app/agent/new.tsx @@ -641,6 +641,16 @@ export default function DraftAgentScreen() { }; }, [router, selectedServerId, sessionWs]); + const selectedProviderLabel = + providerDefinitions.find((provider) => provider.id === selectedProvider)?.label ?? + selectedProvider; + const selectedModeLabel = + modeOptions.length > 0 + ? modeOptions.find((mode) => mode.id === selectedMode)?.label ?? + modeOptions[0]?.label ?? + "Default" + : "Automatic"; + return ( @@ -718,7 +728,7 @@ export default function DraftAgentScreen() { )} {renderConfigRow({ label: "Agent", - value: `${providerDefinitions.find((p) => p.id === selectedProvider)?.label ?? selectedProvider} · ${selectedModel || "auto"}`, + value: `${selectedProviderLabel} · ${selectedModel || "auto"} · ${selectedModeLabel}`, onPress: () => openDropdownSheet("agent"), })} {/* Git section - only show for git repos */} diff --git a/plan.md b/plan.md index 03ff259d8..cb66fcc0d 100644 --- a/plan.md +++ b/plan.md @@ -13,8 +13,38 @@ Improvements to the new agent screen in the app. - On next visit to new agent screen, pre-populate with last used config. - **Done (2025-12-28 23:35)**: WHAT: `packages/app/src/app/agent/new.tsx:77-592` now builds initial values only from provided params and persists form preferences on create; `packages/app/src/hooks/use-agent-form-state.ts:309-356` adds explicit persistence helper. RESULT: new agent screen rehydrates last-used config and saves selections on create. EVIDENCE: Not run (not requested). -- [ ] **Iteration 2**: Show the selected permissions mode in the agent selector trigger. +- [x] **Iteration 2**: Show the selected permissions mode in the agent selector trigger. - The agent selector dropdown trigger currently shows provider and model (e.g., "Claude · auto"). - It should also display the selected permissions mode (e.g., "Claude · auto · Plan"). - Update the trigger label to include the mode. + - **Done (2025-12-28 23:37)**: WHAT: `packages/app/src/app/agent/new.tsx:634-643` adds computed labels for provider/mode and `packages/app/src/app/agent/new.tsx:729` appends the permissions mode in the agent trigger value. RESULT: agent selector trigger now shows provider, model, and permissions mode. EVIDENCE: Not run (not requested). + +- [ ] agent=claude **Test 1**: Test config persistence via Playwright MCP. + + - Navigate to new agent screen at `http://localhost:8081/agent/new`. + - Select a non-default config (e.g., Codex provider, specific model, Plan mode). + - Create an agent. + - Navigate back to new agent screen. + - Verify the previously selected config is pre-populated. + - If not working, add a fix task with debugging feedback. + +- [ ] agent=claude **Test 2**: Test permissions mode display in agent selector via Playwright MCP. + + - Navigate to new agent screen at `http://localhost:8081/agent/new`. + - Open the agent selector dropdown. + - Select a specific mode (e.g., "Plan"). + - Verify the trigger label shows provider, model, AND mode (e.g., "Claude · auto · Plan"). + - If not working, add a fix task with debugging feedback. + +- [ ] **Iteration 3**: Filter out internal messages when importing Claude agents. + + - When importing Claude agents, internal messages like "Warmup" are shown. + - These should be filtered out from the imported history. + - Add daemon-level E2E test to verify filtering. + +- [ ] **Iteration 4**: Fix Codex import screen showing nothing. + + - Codex import screen currently displays no content. + - Investigate and fix the issue. + - Add daemon-level E2E test to verify import works correctly.