Files
paseo/REPORT-typecheck-code-quality.md
2025-12-29 00:19:30 +07:00

26 lines
1.2 KiB
Markdown

# Typecheck + Code Quality Review
## Typecheck
- Command: `npm run typecheck`
- Result: Success (server and app workspaces ran without errors).
## Scope Reviewed
- `packages/app/src/app/agent/new.tsx`
- `packages/app/src/hooks/use-agent-form-state.ts`
- `packages/app/src/components/create-agent-modal.tsx`
- `packages/app/src/contexts/session-context.tsx`
- `packages/app/src/components/agent-stream-view.tsx`
- `packages/app/src/app/git-diff.tsx`
- `packages/server/src/server/agent/providers/claude-agent.ts`
- `packages/server/src/server/agent/providers/codex-mcp-agent.ts`
- `packages/server/src/server/daemon.e2e.test.ts`
## Findings
1. URL params in `packages/app/src/app/agent/new.tsx` are cast to `AgentProvider` without validation.
- `resolvedProvider` is a string from `useLocalSearchParams`, then forced via `as AgentProvider` when building `initialValues`.
- Risk: invalid provider values (deep links, manual edits) bypass type checks and may put the form into an inconsistent state.
- Suggested fix: validate `resolvedProvider` against `providerDefinitions` (or a known provider list) before assigning, and drop invalid values.
## Notes
- No new `any` usage introduced in the reviewed sections beyond existing patterns.