Files
paseo/packages/voice-assistant/package.json
T
4f2c2fc14a feat: add conversation management, persistence, and mobile app spec
Major enhancements to voice assistant with conversation persistence
and mobile app planning:

- Add conversation management with multiple active conversations
- Implement conversation persistence (save/load from disk)
- Add conversation selector UI for switching between conversations
- Enhance agent prompt with per-conversation tmux sessions
- Add mobile app technical specification (React Native + Expo)
- Improve UI with active processes view and agent stream
- Add ACP (Agent Control Protocol) server implementation

Mobile spec details:
- React Native with Expo SDK 54+
- NativeWind v5 for styling
- Share Zod schemas/types from server
- Android in-call experience (InCallManager)
- Direct WebSocket connection via Tailscale
- Same audio quality as web prototype

🤖 Generated with [Claude Code](https://claude.com/claude-code)
via [Happy](https://happy.engineering)

Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
2025-10-21 14:50:07 +02:00

60 lines
1.9 KiB
JSON

{
"name": "@voice-dev/voice-assistant",
"version": "0.1.0",
"description": "Voice-controlled terminal assistant - single service implementation",
"type": "module",
"scripts": {
"dev": "NODE_ENV=development tsx watch --ignore '**/*.timestamp-*' src/server/index.ts",
"build:ui": "vite build",
"build:server": "tsc -p tsconfig.server.json",
"build": "npm run build:ui && npm run build:server",
"start": "NODE_ENV=production node dist/server/index.js",
"typecheck": "tsc --noEmit && tsc -p tsconfig.server.json --noEmit",
"test": "vitest run",
"test:watch": "vitest",
"test:ui": "vitest --ui",
"test:e2e": "playwright test",
"test:e2e:ui": "playwright test --ui",
"test:e2e:mobile": "playwright test --project='Mobile Chrome'"
},
"dependencies": {
"@agentclientprotocol/sdk": "^0.4.9",
"@ai-sdk/openai": "^2.0.52",
"@deepgram/sdk": "^3.4.0",
"@modelcontextprotocol/sdk": "^1.20.1",
"@openrouter/ai-sdk-provider": "^1.2.0",
"@ricky0123/vad-web": "^0.0.28",
"ai": "^5.0.76",
"dotenv": "^17.2.3",
"express": "^4.18.2",
"express-basic-auth": "^1.2.1",
"lucide-react": "^0.546.0",
"openai": "^4.20.0",
"playwright": "^1.56.1",
"react-markdown": "^10.1.0",
"tiny-invariant": "^1.3.3",
"uuid": "^9.0.1",
"ws": "^8.14.2",
"zod": "^3.23.8"
},
"devDependencies": {
"@playwright/test": "^1.56.1",
"@types/express": "^4.17.20",
"@types/node": "^20.9.0",
"@types/react": "^18.2.37",
"@types/react-dom": "^18.2.15",
"@types/uuid": "^9.0.7",
"@types/ws": "^8.5.8",
"@vitejs/plugin-react": "^4.2.0",
"@vitest/ui": "^3.2.4",
"concurrently": "^8.2.2",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"tsx": "^4.6.0",
"typescript": "^5.2.2",
"vite": "^7.1.10",
"vite-plugin-static-copy": "^3.1.4",
"vitest": "^3.2.4"
}
}