feat: Add VIN decoding with NHTSA vPIC API (refs #9)
- Add NHTSA client for VIN decoding with caching and validation - Add POST /api/vehicles/decode-vin endpoint with tier gating - Add dropdown matching service with confidence levels - Add decode button to VehicleForm with tier check - Responsive layout: stacks on mobile, inline on desktop - Only populate empty fields (preserve user input) Backend: - NHTSAClient with 5s timeout, VIN validation, vin_cache table - Tier gating with 'vehicle.vinDecode' feature key (Pro+) - Tiered matching: high (exact), medium (normalized), none Frontend: - Decode button with loading state and error handling - UpgradeRequiredDialog for free tier users - Mobile-first responsive layout 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
16
backend/src/features/vehicles/external/nhtsa/index.ts
vendored
Normal file
16
backend/src/features/vehicles/external/nhtsa/index.ts
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
/**
|
||||
* @ai-summary NHTSA vPIC integration exports
|
||||
* @ai-context Public API for VIN decoding functionality
|
||||
*/
|
||||
|
||||
export { NHTSAClient } from './nhtsa.client';
|
||||
export type {
|
||||
NHTSADecodeResponse,
|
||||
NHTSAResult,
|
||||
DecodedVehicleData,
|
||||
MatchedField,
|
||||
MatchConfidence,
|
||||
VinCacheEntry,
|
||||
DecodeVinRequest,
|
||||
VinDecodeError,
|
||||
} from './nhtsa.types';
|
||||
Reference in New Issue
Block a user