Commit Graph

9 Commits

Author SHA1 Message Date
27dd4b87a5 feat(automation): add nut.js OS-level automation adapter per architecture spec - Create NutJsAutomationAdapter implementing IBrowserAutomation with OS-level mouse/keyboard control - Use mouse.move(), mouse.leftClick(), keyboard.type(), keyboard.pressKey() for real OS automation - Cross-platform support (Command key for macOS, Control key for Windows/Linux) - Production mode in DI container now uses NutJsAutomationAdapter - Add mouseSpeed and keyboardDelay configuration options - Add companion:production npm script for production mode - Step 18 (TRACK_CONDITIONS) maintains safety stop before checkout 2025-11-21 21:53:46 +01:00
92db83a3c4 fix(automation): wire up real browser control and add stop functionality - Add initializeBrowserConnection() to DIContainer for CDP connection before automation - Implement stop-automation IPC handler with session state update - Add stopAutomation API to preload and stop button to UI - Implement executeStep() in BrowserDevToolsAdapter with all 18 workflow steps - Add getStepSelectors() and getStepName() to IRacingSelectorMap - Update MockAutomationEngineAdapter to use typed executeStep interface - Step 18 (TRACK_CONDITIONS) has safety stop - does NOT click checkout button 2025-11-21 21:40:34 +01:00
a980a288ea feat(automation): implement dual-mode browser automation with DevTools adapter - Add explicit result types for all automation operations (NavigationResult, FormFillResult, ClickResult, WaitResult, ModalResult) - Implement BrowserDevToolsAdapter for real browser automation via Chrome DevTools Protocol - Create IRacingSelectorMap with CSS selectors for all 18 workflow steps - Add AutomationConfig for environment-based adapter selection (mock/dev/production) - Update DI container to support mode switching via AUTOMATION_MODE env var - Add 54 new tests (34 integration + 20 unit), total now 212 passing - Add npm scripts: companion:mock, companion:devtools, chrome:debug 2025-11-21 19:54:37 +01:00
33b6557eed feat(build): add esbuild bundler for Electron main process 2025-11-21 18:22:42 +01:00
3ba89fedbd feat(scripts): add convenient npm scripts for companion app execution 2025-11-21 17:20:33 +01:00
bd60bd6771 feat(companion): add Electron presentation layer with React UI, IPC handlers, and automation POC 2025-11-21 16:49:14 +01:00
098bfc2c11 feat(companion): implement hosted session automation POC with TDD approach 2025-11-21 16:27:15 +01:00
7a3562a844 add samples 2025-11-21 15:50:14 +01:00
423bd85f94 Initial project setup: monorepo structure and documentation 2025-11-21 15:23:37 +01:00