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

This commit is contained in:
2025-11-21 21:53:46 +01:00
parent 92db83a3c4
commit 27dd4b87a5
7 changed files with 1692 additions and 6 deletions

View File

@@ -25,6 +25,7 @@
"companion:start": "electron .",
"companion:mock": "AUTOMATION_MODE=mock npm run companion:start",
"companion:devtools": "AUTOMATION_MODE=dev npm run companion:start",
"companion:production": "AUTOMATION_MODE=production npm run companion:start",
"chrome:debug": "open -a 'Google Chrome' --args --remote-debugging-port=9222 --user-data-dir=/tmp/chrome-debug"
},
"devDependencies": {
@@ -41,6 +42,7 @@
"vitest": "^2.1.8"
},
"dependencies": {
"@nut-tree-fork/nut-js": "^4.2.6",
"puppeteer-core": "^24.31.0",
"react": "^18.2.0",
"react-dom": "^18.2.0"