109 Commits

Author SHA1 Message Date
78fc323e43 feat(automation): implement NODE_ENV-based automation mode with fixture server 2025-11-22 16:37:32 +01:00
d4fa7afc6f fix(config): change default automation mode from production to mock 2025-11-22 15:52:57 +01:00
bb8b152b8a feat(e2e): add Docker-based E2E test infrastructure 2025-11-22 15:40:23 +01:00
265b070606 feat(automation): add OS-level screen automation foundation services 2025-11-22 14:09:39 +01:00
81b2fd3cd3 feat(ci): add husky pre-commit hook and fix puppeteer-core chrome detection 2025-11-22 13:37:39 +01:00
3a60ffae91 feat(logging): add professional logging with pino and headless E2E tests - Add ILogger port interface in application layer - Implement PinoLogAdapter with Electron-compatible structured logging - Add NoOpLogAdapter for testing - Wire logging into DI container and all adapters - Create 32 E2E tests for automation workflow (headless-only) - Add vitest.e2e.config.ts for E2E test configuration - All tests enforce HEADLESS mode (no headed browser allowed) 2025-11-22 01:02:38 +01:00
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
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
098bfc2c11 feat(companion): implement hosted session automation POC with TDD approach 2025-11-21 16:27:15 +01:00