mirror of
https://github.com/getpaseo/paseo.git
synced 2026-07-29 12:01:31 +00:00
26 lines
1.2 KiB
Markdown
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.
|