/**
 * TerminalModule
 *
 * NestJS module for WebSocket-based terminal sessions via node-pty.
 *
 * Imports:
 * - AuthModule for WebSocket authentication (verifySession)
 * - PrismaModule for workspace membership queries and session persistence
 *
 * Providers:
 * - TerminalService: manages PTY session lifecycle (in-memory)
 * - TerminalSessionService: persists session records to the database
 * - TerminalGateway: WebSocket gateway on /terminal namespace
 *
 * The module does not export providers; terminal sessions are
 * self-contained within this module.
 */

import { Module } from "@nestjs/common";
import { TerminalGateway } from "./terminal.gateway";
import { TerminalService } from "./terminal.service";
import { TerminalSessionService } from "./terminal-session.service";
import { AuthModule } from "../auth/auth.module";
import { PrismaModule } from "../prisma/prisma.module";

@Module({
  imports: [AuthModule, PrismaModule],
  providers: [TerminalGateway, TerminalService, TerminalSessionService],
  exports: [TerminalSessionService],
})
export class TerminalModule {}
