Delete vehicles/external/nhtsa/ directory (3 files), remove VPICVariable and VPICResponse from platform models. Update all documentation to reflect Gemini VIN decode via OCR service architecture. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
External Service Integrations
Overview
External integrations for the vehicles feature, following a consistent client/types/cache pattern.
Integration Pattern
Each integration follows this structure:
- Client class (
{service}.client.ts) - axios-based HTTP client with timeout, error handling, caching, and input validation - Types file (
{service}.types.ts) - Raw API response types, mapped internal types (camelCase), error types - Cache strategy - Each integration defines cache location, TTL, and invalidation rules
Adding New Integrations
- Create subdirectory:
external/{service}/ - Add client:
{service}.client.tsfollowing the axios-based client pattern - Add types:
{service}.types.ts - Update
CLAUDE.mdwith new directory - Add tests in
tests/unit/{service}.client.test.ts
See Also
../../../stations/external/google-maps/- Sister pattern for Google Maps integration