feat: TypeScript provider fallback chain with curated free modelsβ
Njap-png
60e90a5
- Added full fallback chain in createProvider(): openai β anthropic β groq β gemini β deepseek β mistral β openrouter β opencode
- Automatic provider switching on rate limits (429), service errors (503), server errors (5xx)
- Added createOpenAIProvider() for backward compatibility with UI components
- Supports curated free models (deepseek-v4-flash-free, nemotron-3-ultra-free, etc.)
- TypeScript build passes, all 113 tests pass
fix: TypeScript config placeholders + deep mergeβ
Njap-png
8d751b2
- Fix 'proces..._KEY' placeholders in src/core/config.ts providers section
Now uses process.env.OPENAI_API_KEY || "" and process.env.ANTHROPIC_API_KEY || ""
- Add deep merge to loadConfig() preserving nested objects (agents, ui, providers)
- TypeScript build passes, all 102 tests pass
feat: add more monitoring metrics to /api/system and dashboardβ
Njap-png
5c19491
- Added network interfaces (/proc/net/dev) to /api/system
- Added disk I/O stats (/proc/diskstats) to /api/system
- Added uptime, platform, node version, PID to /api/system
- Updated dashboard System Health card to display:
- Platform, Version, Network interfaces count
- Disk I/O devices count, Raw uptime
- Platform, Version, PID (duplicate for visibility)
- All fields gracefully handle missing data with 'β'
feat: add schedule management UI to dashboardβ
Njap-png
571fb1c
- Edit/Delete buttons on each schedule in Monitor tab
- editSchedule(): prompts for new interval/target, stops old schedule, creates new one
- deleteSchedule(): confirms then stops schedule via @schedule stop
- Both update output panel and refresh schedule list
feat: add mission detail view to dashboardβ
Njap-png
eb5ae16
- Click any mission in Monitor tab to open side panel with full details
- Shows: program info, scope (in-scope/exclusions/restrictions), objectives, activity log
- Includes βΆ Run Recon button to start mission_recon directly
- Added /api/missions/:id endpoint for single mission detail
- Side panel slides in from right with close button
feat: add WebSocket real-time updates to dashboardβ
- Added monitoring API endpoints: /api/missions, /api/schedules, /api/tasks, /api/health (enhanced), /api/system
- Added Monitor tab (π) to dashboard with:
- System Health card (uptime, memory, CPU, disk, USB mount)
- Active Missions card (searchable, filterable by status)
- Active Schedules card (next run times)
- All Tasks card (searchable 164 tools by name/category, click-to-run)
- WebSocket support for real-time updates
- Auto-refresh intervals for health/schedules/missions/tasks
- Dashboard now auto-adjusts to any port via PHANTOM_PORT env var
- Relative API paths work on any device/port
Add natural language parser to ConversationalUI - 80+ phrases mapped to tool callsβ
Njap-png
41a9471
- Added parseNaturalLanguage() method to ConversationalUI class
- Maps common phrases to existing tool calls (hackerone, recon, port scan, cve, etc.)
- Intercepts in handleInput() before LLM - works without LLM
- Extended /command help with categorized task list
- Fixed test paths to use /root/usb/Phantom instead of /root/Phantom_clone
- Updated tsconfig.json with types: [node] for Node.js globals
- All 102 tests pass
Sync from internal Phantom clone: USB config support, HackerOne fixes, test path fixes