bandit-runner/ssh-proxy/package.json
nicholai 0b0a1ff312 feat: implement LangGraph.js agentic framework with OpenRouter integration
- Add complete LangGraph state machine with 4 nodes (plan, execute, validate, advance)
- Integrate OpenRouter API with dynamic model fetching (321+ models)
- Implement Durable Object for state management and WebSocket server
- Create SSH proxy service with full LangGraph agent (deployed to Fly.io)
- Add beautiful retro terminal UI with split-pane layout
- Implement agent control panel with model selection and run controls
- Create API routes for agent lifecycle (start, pause, resume, command, status)
- Add WebSocket integration with auto-reconnect
- Implement proper event streaming following context7 best practices
- Deploy complete stack to Cloudflare Workers + Fly.io

Features:
- Multi-LLM testing via OpenRouter (GPT-4o, Claude, Llama, DeepSeek, etc.)
- Real-time agent reasoning display
- SSH integration with OverTheWire Bandit server
- Pause/resume functionality for manual intervention
- Error handling with retry logic
- Cost tracking infrastructure
- Level-by-level progress tracking (0-33)

Infrastructure:
- Cloudflare Workers: UI, Durable Objects, API routes
- Fly.io: SSH proxy + LangGraph agent runtime
- Full TypeScript throughout
- Comprehensive documentation (10 guides, 2,500+ lines)

Status: 95% complete, production-deployed, fully functional
2025-10-09 07:03:29 -06:00

34 lines
793 B
JSON

{
"name": "ssh-proxy",
"version": "1.0.0",
"description": "SSH Proxy Service for Bandit Runner",
"main": "dist/server.js",
"type": "module",
"scripts": {
"dev": "tsx watch server.ts",
"build": "tsc",
"start": "node dist/server.js",
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"@langchain/core": "^0.3.78",
"@langchain/langgraph": "^0.4.9",
"@langchain/openai": "^0.6.14",
"cors": "^2.8.5",
"dotenv": "^17.2.3",
"express": "^5.1.0",
"ssh2": "^1.17.0",
"zod": "^3.25.76"
},
"devDependencies": {
"@types/cors": "^2.8.17",
"@types/express": "^5.0.3",
"@types/node": "^24.7.0",
"tsx": "^4.19.2",
"typescript": "^5.9.3"
}
}