Backend — transport - xxriny/KNU-PROJECT GitHub Wiki

1. backend/transport/init.py

라인 코드 설명
(빈 파일) 패키지 초기화

2. backend/transport/connection_manager.py

라인 코드 설명
8 ConnectionManager active_connections: set — 활성 WS 연결 관리, send_json() 전송 + 실패 시 연결 제거
27 manager 싱글턴 인스턴스

3. backend/transport/ws_handler.py

라인 코드 설명
8–67 websocket_pipeline() WS accept → 메시지 루프, type 필드 기반 라우팅: analyze→분석, revise →수정, idea_chat→아이디어, stream_pipeline_updates() 실시간 전송, ConnectionClosed 처리

4. backend/transport/rest_handler.py

라인 코드 설명
27–41 보안 헬퍼 _normalize_path(), _is_within_root()(경로 순회 방지), register_project_root(), is_allowed_project_file()
45–76 Pydantic 요청 스키마 AnalysisRequest, RevisionRequest, IdeaChatRequest, ScanRequest, ReadFileRequest, DeleteSessionRequest, HealthResponse
80 rest_router FastAPI APIRouter 인스턴스
83 GET /health 헬스체크 엔드포인트
88 GET /api/config 모델/버전 정보 반환
95 POST /api/scan-folder 폴더 스캔 + 프로젝트 루트 등록
110 POST /api/read-file 파일 읽기(경로 보안 검증 포함)
134 POST /api/analyze execute_pipeline() 호출
163 POST /api/revise 수정 파이프라인 실행
177 POST /api/idea-chat 아이디어 채팅 실행
191 DELETE /api/session/{run_id} 세션 파일 삭제