feat: unify voice infrastructure, AI model service, and interview fixes#509
Conversation
- Add operation-based model selection (extraction, analysis, review) - Unified Helicone monitoring across all AI providers - Upgrade AI SDK to v6, replace LanguageModelV1 with LanguageModel - Migrate all API routes and AI utilities to use model service - Upgrade @humeai/voice-react to 0.2.14
- Extract-file and extract-url Inngest functions - Generate-report with parallel section analysis - Save-audio-to-s3 and generate-missing-audio functions - Vet-review migration from legacy OpenAI to AI SDK - Regenerate-incomplete-reports scheduled function - S3 audio utility helpers - Terraform S3 bucket configuration updates
- Add default CV save/load API endpoint - Add extraction progress streaming via SSE - Extraction store for server-side progress tracking - Update job submission to save default CV preference - Improve extraction text hook with streaming support
- Remove VoiceProvider from lobby page (caused infinite render loop) - Memoize random background values to prevent re-render cascades - Fix forceSave infinite loop with useRef pattern in InterviewController - Send session settings over WebSocket message instead of URL query params to avoid URL length limits causing connection TIMEOUT errors - Add 100ms connection delay to survive React Strict Mode double-mount
- Add defaultCvText and defaultCvFilename columns to users table - Migration 0010 for new columns - Update report page for compatibility
- Condense CLAUDE.md to essential project context - Add AGENTS.md with agent-specific instructions - Add terraform/tfplan to .gitignore
- Rename inputTokens/outputTokens to promptTokens/completionTokens - Fix FilePart to use base64 data + mimeType instead of data URL - Fix maxOutputTokens to maxTokens
- Revert promptTokens/completionTokens back to inputTokens/outputTokens (AI SDK v6.0.116 still uses original names) - Fix FilePart to use mediaType (not mimeType) - Fix maxOutputTokens (not maxTokens) for generateText
|
@bhekanik must be a member of the Bhekani Khumalo team on Vercel to deploy. Learn more about collaboration on Vercel and other options here. |
|
Claude finished @bhekanik's task —— View job Issues Found[lib/inngest/functions/extract-url.ts:28] SSRF vulnerability - fetching arbitrary URLs without validation. Add URL allow-listing or at minimum block internal IPs: if (url.startsWith('http://localhost') || url.startsWith('http://127.0.0.1')) throw new Error('Blocked');Quick Wins
Good Patterns
RecommendationThe interview fixes are solid and will prevent the crashes. AI infrastructure unification is clean. Just patch that URL validation and you're good to ship. |
🔒 Security Audit SummarySecurity vulnerabilities were detected in the dependency update. Scan Results
Recommended Actions
For more details, check the workflow run. |
⚖️ License Compliance AlertPotential license compatibility issues detected. Issues Found
Allowed LicensesAll other licenses are automatically blocked. Please review dependencies with incompatible licenses before merging. |
- Add pull-requests:write and issues:write permissions for PR comments - Add continue-on-error to comment step so it doesn't fail the job
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Claude finished @bhekanik's task —— View job Code Review CompleteTodo List:
Issues Found[lib/inngest/functions/extract-url.ts:28] SSRF vulnerability - fetching arbitrary URLs without validation: if (url.startsWith('http://localhost') || /^https?:\/\/(127\.|10\.|172\.(1[6-9]|2[0-9]|3[01])\.|192\.168\.)/.test(url)) throw new Error('Internal IP blocked');Quick Wins
Good Patterns
RecommendationInterview fixes are solid and will prevent crashes. AI infrastructure unification is clean. Just patch that URL validation and you're good to ship. |
|
❌ Database Migration Dry-Run Migration generation failed. |
🔒 Security Audit SummarySecurity vulnerabilities were detected in the dependency update. Scan Results
Recommended Actions
For more details, check the workflow run. |
⚖️ License Compliance AlertPotential license compatibility issues detected. Issues Found
Allowed LicensesAll other licenses are automatically blocked. Please review dependencies with incompatible licenses before merging. |
Summary
Key Changes
AI Infrastructure
lib/ai/models/module: config, providers, service for centralized model selection@humeai/voice-reactto 0.2.14, AI SDK to v6.0.116Interview Fixes (Critical)
Inngest Functions
Job Creation Flow
Database
Testing
Type of Change
Checklist