feat(api): add terminal WebSocket gateway with PTY session management
Implements CT-TERM-001: WebSocket-based terminal service that spawns real shell sessions via node-pty and streams I/O to connected clients. - Add node-pty dependency and configure pnpm build permissions - Create TerminalModule with Gateway, Service, and DTOs - TerminalGateway: /terminal namespace, auth via handshake token, workspace-scoped rooms, handles terminal:create/input/resize/close events - TerminalService: manages IPty sessions per workspace with max 10 session limit, cleanup on disconnect - DTOs: CreateTerminalDto, TerminalInputDto, TerminalResizeDto, CloseTerminalDto with class-validator decorators - Unit tests: 25 gateway tests + 23 service tests (all passing) - Register TerminalModule in AppModule Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -3,13 +3,14 @@ packages:
|
||||
- packages/*
|
||||
|
||||
ignoredBuiltDependencies:
|
||||
- '@nestjs/core'
|
||||
- '@swc/core'
|
||||
- "@nestjs/core"
|
||||
- "@swc/core"
|
||||
- better-sqlite3
|
||||
- esbuild
|
||||
- sharp
|
||||
|
||||
onlyBuiltDependencies:
|
||||
- '@prisma/client'
|
||||
- '@prisma/engines'
|
||||
- "@prisma/client"
|
||||
- "@prisma/engines"
|
||||
- prisma
|
||||
- node-pty
|
||||
|
||||
Reference in New Issue
Block a user