e344e961d6
- Add TerminalSession backend service for docker exec subprocess management
- Add TerminalManager for WebSocket session lifecycle management
- Create WebSocket endpoint at /ws/tool-instances/{id}/terminal
- Add session cookie authentication and instance ownership verification
- Install xterm.js with fit and web-links addons
- Create TerminalComponent with xterm.js integration
- Create TerminalPage with full-screen terminal view
- Add terminal route at /instances/:id/terminal
- Add terminal button to InstanceList for running instances
- Add terminal and arrow-left icons to icon registry
- Add comprehensive terminal CSS styles (dark theme, responsive)
Quality gates: typecheck ✓, lint ✓, build ✓, Python syntax ✓
44 lines
1.2 KiB
JSON
44 lines
1.2 KiB
JSON
{
|
|
"name": "headquarter-web",
|
|
"version": "0.1.0",
|
|
"type": "module",
|
|
"scripts": {
|
|
"dev": "vite",
|
|
"build": "tsc && vite build",
|
|
"preview": "vite preview",
|
|
"typecheck": "tsc --noEmit",
|
|
"lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
|
|
"test": "vitest run"
|
|
},
|
|
"dependencies": {
|
|
"@phosphor-icons/react": "^2.1.10",
|
|
"@types/prismjs": "^1.26.6",
|
|
"axios": "^1.6.0",
|
|
"prismjs": "^1.30.0",
|
|
"react": "^18.2.0",
|
|
"react-dom": "^18.2.0",
|
|
"react-router-dom": "^6.20.0",
|
|
"react-simple-code-editor": "^0.14.1",
|
|
"tailwindcss": "^3.3.0",
|
|
"xterm": "^5.3.0",
|
|
"xterm-addon-fit": "^0.8.0",
|
|
"xterm-addon-web-links": "^0.9.0"
|
|
},
|
|
"devDependencies": {
|
|
"@testing-library/jest-dom": "^6.9.1",
|
|
"@testing-library/react": "^16.3.2",
|
|
"@types/react": "^18.2.0",
|
|
"@types/react-dom": "^18.2.0",
|
|
"@typescript-eslint/eslint-plugin": "^6.14.0",
|
|
"@typescript-eslint/parser": "^6.14.0",
|
|
"@vitejs/plugin-react": "^4.2.0",
|
|
"autoprefixer": "^10.4.16",
|
|
"eslint": "^8.55.0",
|
|
"jsdom": "^29.1.1",
|
|
"postcss": "^8.4.32",
|
|
"typescript": "^5.3.0",
|
|
"vite": "^5.0.0",
|
|
"vitest": "^4.1.6"
|
|
}
|
|
}
|