f30a8bc318
Phase 2 of the Flynn roadmap. Adds a WebSocket gateway server that starts alongside the Telegram bot, providing real-time API access to the agent, sessions, and tools. Protocol: JSON-RPC-like (request/response/event) over WebSocket. 8 methods: agent.send, agent.cancel, sessions.list, sessions.history, sessions.create, tools.list, tools.invoke, system.health. Auth: Bearer token + Tailscale identity header support. Session bridge: per-connection agent instances with shared model router. New files: src/gateway/ (protocol, router, server, auth, session-bridge, handlers for agent/sessions/tools/system). 57 new tests (181 total), typecheck clean.
57 lines
1.3 KiB
JSON
57 lines
1.3 KiB
JSON
{
|
|
"name": "flynn",
|
|
"version": "0.1.0",
|
|
"description": "Self-hosted personal AI agent",
|
|
"type": "module",
|
|
"main": "dist/index.js",
|
|
"scripts": {
|
|
"build": "tsc",
|
|
"dev": "tsx watch src/index.ts",
|
|
"start": "node dist/index.js",
|
|
"tui": "tsx src/tui.ts",
|
|
"tui:fs": "tsx src/tui.ts --fullscreen",
|
|
"tui:dev": "tsx watch src/tui.ts",
|
|
"test": "vitest",
|
|
"test:run": "vitest run",
|
|
"lint": "eslint src/",
|
|
"typecheck": "tsc --noEmit"
|
|
},
|
|
"keywords": [
|
|
"ai",
|
|
"agent",
|
|
"telegram",
|
|
"personal-assistant"
|
|
],
|
|
"license": "MIT",
|
|
"devDependencies": {
|
|
"@types/better-sqlite3": "^7.6.0",
|
|
"@types/marked-terminal": "^6.1.1",
|
|
"@types/node": "^22.0.0",
|
|
"@types/react": "^19.0.0",
|
|
"@types/ws": "^8.18.1",
|
|
"eslint": "^9.0.0",
|
|
"tsx": "^4.0.0",
|
|
"typescript": "^5.7.0",
|
|
"vitest": "^3.0.0"
|
|
},
|
|
"dependencies": {
|
|
"@anthropic-ai/sdk": "^0.39.0",
|
|
"better-sqlite3": "^11.0.0",
|
|
"cli-highlight": "^2.1.11",
|
|
"grammy": "^1.35.0",
|
|
"ink": "^6.0.0",
|
|
"ink-text-input": "^6.0.0",
|
|
"marked": "^17.0.1",
|
|
"marked-terminal": "^7.3.0",
|
|
"ollama": "^0.5.0",
|
|
"openai": "^4.0.0",
|
|
"react": "^19.0.0",
|
|
"ws": "^8.19.0",
|
|
"yaml": "^2.7.0",
|
|
"zod": "^3.24.0"
|
|
},
|
|
"engines": {
|
|
"node": ">=22.0.0"
|
|
}
|
|
}
|