SNA

핵심 모델

SNA 런타임의 서버, session manager, runtime, 히스토리 구조를 정리합니다.

SNA는 세션마다 에이전트 프로세스를 관리하는 Hono HTTP/WebSocket 서버입니다. 서버 자체는 특정 런타임에 묶이지 않습니다. Claude Code, Codex, OpenCode가 모두 같은 AgentProvider 인터페이스를 구현하므로, 하나의 세션에서 대화 히스토리를 유지한 채 런타임을 바꿀 수 있습니다.

SnaClient
   │   HTTP (request/response, ordering)
   │   WS   (live events, fanout)

Hono server  ──►  SessionManager

                       ├─ Session (per session id)
                       │     ├─ AgentProcess  ◄── spawn(provider, cwd, ...)
                       │     ├─ Event buffer (in-memory, cursor-keyed)
                       │     └─ RuntimeSession chain (config history)

                       └─ Canonical history (SQLite)

읽는 순서

와이어 프로토콜의 세부 사항(HTTP 라우트, WebSocket op, 이벤트 타입)은 API Spec 에서 다룹니다.

목차