Architecture Overview
Operating modes
The bridge runs in three modes controlled by--mode:
Data flow
Market data
- TWS streams quotes via
@stoqey/ib - Bridge caches and serves via REST (
/api/quote/:symbol) - Frontend polls via React Query hooks (5–60s intervals)
- WebSocket broadcasts push real-time updates to open pages
Order execution
- User (or MCP tool) calls
place_advanced_bracket - Bridge builds Contract + Order objects via
@stoqey/ib - TWS executes, streams back
orderStatusevents - Bridge writes to event store + broadcasts via WebSocket
- Frontend invalidates order cache on WS message
Holly AI pipeline
- Trade Ideas sends Holly alerts via CSV import or watcher
- Bridge stores in
holly_alertstable - Auto-eval pipeline scores each alert through 3 AI models
- Signals above threshold appear on
/signalspage - User reviews and executes via bracket order
Database
Single SQLite file atdata/bridge.db using an event-sourced architecture:
Key directories
Client ID management
Multiple processes can connect to TWS simultaneously using PID-based client ID slotting:
Formula:
base + modeOffset + (pid % 5) * 3