- Add StockAIAnalysisCard component for displaying AI analysis results
- Add stock-analysis server actions and helper utilities
- Integrate Finnhub data into AI analysis pipeline
- Update AI provider with enhanced stock analysis capabilities
- Add Inngest prompt templates for stock analysis
- Wire AI analysis into stock symbol page
- Add unit tests for stock analysis helpers
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- Add PasswordRequirements component showing rules with live checkmarks
- Add PASSWORD_RULES and PASSWORD_VALIDATION constants
- Update sign-up and reset-password forms to show requirements
Expand formatSymbolForTradingView to map 40+ Finnhub exchange suffixes
to their TradingView prefix equivalents. Previously only .SS, .SZ, and
.HK were handled, causing international symbols like 2330.TW to fail
on the stock details page.
Add comprehensive test suite for utility functions including
formatSymbolForTradingView, formatMarketCapValue, formatChangePercent,
getChangeColorClass, and calculateNewsDistribution.
Closes#24
Introduce a configurable AI provider system (lib/ai-provider.ts) that
supports Gemini (default), MiniMax, and Siray.ai with automatic
fallback. The AI_PROVIDER env var selects the primary provider, and
on failure the system falls back to a secondary provider automatically.
- MiniMax M2.7 via OpenAI-compatible API (api.minimax.io/v1)
- Provider abstraction replaces hardcoded Gemini + Siray fallback
- 24 unit tests + 3 integration tests (vitest)