Commit Graph

9 Commits

Author SHA1 Message Date
Adrian Flores Cortes
67e54d6519 [REMEDIATION] feat: Frontend remediation across auth, payments, portfolio, trading, marketplace modules
Enhance SecuritySettings page, PortfolioDetailPage, AgentsPage. Add marketplace
and payment services/types. Fix barrel exports across 8 modules.
Addresses frontend gaps from TASK-2026-02-05 analysis.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-05 23:17:22 -06:00
Adrian Flores Cortes
6a8cb3b9cf [SPRINT-4-5] feat: Education, LLM, Portfolio, Marketplace modules
SPRINT 4 (128 SP):

SUBTASK-007 Education (21 SP):
- Add QuizHistoryCard with stats and trend indicators
- Add EarnedCertificates with search, sort, sharing
- Enhance CourseDetail with "Resume where you left off"

SUBTASK-008 LLM Agent (44 SP):
- Add MemoryManager with conversation history management
- Add LLMToolsPanel with tool enable/disable and execution history
- Add FineTuningPanel with model selection and training config

SUBTASK-009 Portfolio (63 SP):
- Add MonteCarloSimulator with VaR/CVaR calculations
- Add CorrelationMatrix with heatmap visualization
- Add RebalancingPanel with drift thresholds and history
- Add GoalsManager with savings rate calculator
- Add RiskAnalytics with comprehensive metrics

SPRINT 5 (55 SP):

SUBTASK-010 Marketplace (42 SP):
- Create full marketplace module structure
- Add MarketplaceCatalog with grid/list view, filters
- Add SignalPackCard, SignalPackDetail pages
- Add AdvisoryCard, AdvisoryDetail with booking
- Add CourseProductCard, ReviewCard components
- Add marketplace types, service, and store
- Add routes: /marketplace, /marketplace/signals/:slug, etc.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-04 00:29:03 -06:00
Adrian Flores Cortes
1d76747e9b fix: Centralize API clients and add global ErrorBoundary (Phase 3)
Migrate 6 services from duplicate Axios instances to centralized
apiClient (auto-refresh, multi-tab sync, proper 401 handling):
- trading.service.ts, notification.service.ts, payment.service.ts
- education.service.ts, chat.service.ts, investment.service.ts

Add global ErrorBoundary wrapping all App routes. Move assistant
module ErrorBoundary to shared components/ErrorBoundary.tsx.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-27 04:56:44 -06:00
Adrian Flores Cortes
42d18759b5 feat: Implement BLOCKER-001 proactive refresh + E2E video tests (frontend)
BLOCKER-001: Token Refresh Improvements (FASE 4 frontend)
- Proactive refresh scheduler: refresh 5min before token expiry
- Multi-tab synchronization with BroadcastChannel API
- Automatic scheduling on X-Token-Expires-At header reception
- Background token refresh to prevent user interruption

E2E Tests: Video Upload Module (frontend - 62 tests)
- Suite 1: Form tests (27 tests) - 3-step wizard validation
- Suite 2: Service tests (20 tests) - Multipart upload logic
- Suite 3: Integration tests (15 tests) - Complete flow validation

Test infrastructure:
- vitest.config.ts (NEW) - Vitest configuration with jsdom
- src/__tests__/setup.ts (NEW) - Global test setup and mocks
- Updated payments-stripe-elements.test.tsx to use Vitest (vi.mock)

Changes:
- apiClient.ts: Proactive refresh scheduler + BroadcastChannel sync
- payments-stripe-elements.test.tsx: Migrated from Jest to Vitest

Tests created:
- video-upload-form.test.tsx (27 tests) - Component validation
- video-upload-service.test.ts (20 tests) - Service logic validation
- video-upload-integration.test.tsx (15 tests) - Integration flow

Additional documentation:
- Module README.md files for assistant, auth, education, investment, payments, portfolio, trading
- Investment module: Analysis, contracts, gaps, delivery documentation
- Payments module: Stripe integration, wallet specification

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-27 01:44:40 -06:00
Adrian Flores Cortes
5ee7f14f25 [OQI-007] feat: Add LLM strategy agent advanced components
- AnalysisRequestForm: Structured request builder for complex analysis tasks
- StrategyTemplateSelector: Pre-built strategy templates with AI recommendations
- LLMConfigPanel: Model selection and inference parameters (Claude models)
- ContextMemoryDisplay: Conversation context and memory visualization

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 12:31:08 -06:00
Adrian Flores Cortes
c956ac0c0f [OQI-007] feat: Add assistant UI components for chat enhancement
- MessageList: Virtualized message list with auto-scroll
- ChatHeader: Header with title editing, actions menu, status
- MessageSearch: Search within conversation with filters
- MarkdownRenderer: Custom markdown rendering with code copy

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 11:32:32 -06:00
Adrian Flores Cortes
ed2e1472f4 [OQI-007] feat: Add hooks, utils, and SignalExecutionPanel
- useChatAssistant: Centralized chat logic with retry and streaming support
- useStreamingChat: SSE streaming with token animation
- messageFormatters: Signal parsing, price formatting, markdown processing
- SignalExecutionPanel: Execute trading signals with risk validation

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 11:05:55 -06:00
Adrian Flores Cortes
bfaf76ccf8 [OQI-007] feat: Add LLM assistant UX components
- ToolCallCard: Display tool execution results with expandable details
- MessageFeedback: Thumbs up/down with detailed feedback form
- StreamingIndicator: Multiple variants for thinking/analyzing/generating states
- AssistantSettingsPanel: Settings modal with risk profile, preferences

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 10:48:47 -06:00
Adrian Flores Cortes
442051f93b [OQI-007] feat: Add ConversationHistory and ContextPanel components
- ConversationHistory: Session list with search, delete, and selection
- ContextPanel: Display trading context (watchlist, risk profile, favorites)
- Update Assistant page to use chatStore for session management
- Wire sidebar to load/create/delete sessions
- Add error banner and responsive design

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 10:17:52 -06:00