세션 라이프사이클 이벤트
세션 라이프사이클 이벤트는 세션의 생성, 삭제, 업데이트 그리고 포그라운드/백그라운드 상태 변경(TUI+서버 모드 시)을 통지하는 이벤트입니다.이벤트 타입
SessionLifecycleEventType enum으로 정의된 5개의 이벤트 타입이 있습니다.
| 이벤트 | 설명 |
|---|---|
session.created | 새 세션이 작성되었습니다 |
session.deleted | 세션이 삭제되었습니다 |
session.updated | 세션이 업데이트되었습니다 |
session.foreground | 세션이 포그라운드로 이동했습니다 |
session.background | 세션이 백그라운드로 이동했습니다 |
이벤트 구독
onLifecycle() 메서드를 사용해 세션 라이프사이클 이벤트를 구독할 수 있습니다.
SessionLifecycleEvent
SessionLifecycleEvent는 라이프사이클 이벤트의 세부 정보를 포함하는 readonly class입니다.
SessionLifecycleEventMetadata
세션 메타데이터를 포함하는 클래스입니다(삭제 이벤트에는 포함되지 않습니다).포그라운드 세션 관리
TUI+서버 모드(--ui-server)에서 동작하는 서버에 접속하는 경우, 포그라운드 세션을 관리할 수 있습니다.
현재 포그라운드 세션 가져오기
포그라운드 세션 설정
ForegroundSessionInfo
포그라운드 세션의 정보를 포함하는 readonly class입니다.TCP 모드에서의 사용
TUI+서버 모드에서 Copilot CLI를 기동하고 SDK에서 접속함으로써 라이프사이클 이벤트를 활용할 수 있습니다.주의사항
session.foreground와session.background이벤트는 TUI+서버 모드에서만 발생합니다- 세션 삭제 시(
session.deleted)에는metadata프로퍼티가null이 됩니다 onLifecycle()은 구독 해제용 콜백 함수를 반환합니다- Session Hooks의
onSessionStart나onSessionEnd와는 별개의 기능입니다
최신 정보는 GitHub 저장소를 참고하세요.