refactor(cli): simplify agent mode validation flow
What I changed: - extracted a single missingModeError helper in agent/mode.ts so the command no longer duplicates the same command error payload in two branches - flattened control flow by returning early for --list and using one set-mode path guarded by explicit missing-mode validation - tightened tests/10-agent-mode.test.ts to assert the exact missing-mode error message instead of allowing a daemon-connection fallback Reasoning: - this keeps behavior the same while reducing branch duplication and making the validation contract explicit - the hardened test protects the intended precedence: missing required mode should fail before any daemon interaction Verification: - npm run typecheck - (cd packages/cli && npx tsx tests/10-agent-mode.test.ts) Notes for next agent: - repository had a pre-existing local modification in scripts/codex-refactor-loop.sh; I intentionally did not touch or stage it - no blockers encountered for this refactor
This commit is contained in:
@@ -125,12 +125,10 @@ try {
|
||||
// Should fail because mode is required unless --list is specified
|
||||
assert.notStrictEqual(result.exitCode, 0, 'should fail without mode argument')
|
||||
const output = result.stdout + result.stderr
|
||||
const hasError =
|
||||
output.toLowerCase().includes('missing') ||
|
||||
output.toLowerCase().includes('required') ||
|
||||
output.toLowerCase().includes('mode') ||
|
||||
output.toLowerCase().includes('daemon') // If daemon error comes first, that's also valid
|
||||
assert(hasError, 'error should mention missing mode or connection issue')
|
||||
assert(
|
||||
output.includes('Mode argument required unless --list is specified'),
|
||||
'error should mention missing mode argument'
|
||||
)
|
||||
console.log('✓ agent mode requires mode argument when not using --list\n')
|
||||
}
|
||||
} finally {
|
||||
|
||||
Reference in New Issue
Block a user