Skip to main content

세션 컨텍스트와 필터링

GitHub Copilot SDK v0.1.24 이후에서는 세션에 작업 디렉터리와 Git 정보를 포함한 컨텍스트가 추가되어, 세션 목록에서 필터링할 수 있게 되었습니다.

SessionContext

SessionContext는 세션 작성 시의 작업 디렉터리와 Git 저장소 정보를 보관합니다.

프로퍼티

  • cwd (string): 작업 디렉터리의 절대 경로
  • gitRoot (?string): Git 저장소의 루트 디렉터리(Git 저장소 밖에서는 null)
  • repository (?string): GitHub 저장소(owner/repo 형식, 예: invokable/laravel-copilot-sdk)
  • branch (?string): 현재의 Git 브랜치 이름

사용 예시

SessionListFilter

SessionListFilter를 사용하면 특정 작업 디렉터리나 저장소의 세션만 가져올 수 있습니다.

프로퍼티

  • cwd (?string): 작업 디렉터리로 완전 일치 필터
  • gitRoot (?string): Git 루트 디렉터리로 필터
  • repository (?string): 저장소(owner/repo 형식)로 필터
  • branch (?string): 브랜치 이름으로 필터

사용 예시

배열로 필터 지정

SessionListFilter 클래스 사용

session.context_changed 이벤트

세션 중에 작업 디렉터리가 변경되면 session.context_changed 이벤트가 발화합니다.

이벤트 타입

이벤트 데이터

이벤트 데이터에는 업데이트 후의 컨텍스트 정보가 포함됩니다.

SessionMetadata

SessionMetadatacontext 프로퍼티가 추가되었습니다.

새로운 프로퍼티

  • context (?SessionContext): 세션의 작업 디렉터리와 Git 정보

사용 예시

실용 예시

특정 프로젝트의 세션 가져오기

기능 브랜치의 세션 관리

작업 디렉터리별로 세션 정리

주의사항

  • context는 Git 저장소 안에서 작성한 세션에서만 Git 관련 정보(gitRoot, repository, branch)를 포함합니다.
  • context 필드는 Copilot CLI v0.0.409 이후에서 사용할 수 있습니다. 오래된 버전에서는 null이 반환됩니다.
  • 필터링은 완전 일치로 동작합니다. 부분 일치나 와일드카드는 미지원입니다.
  • SessionListFilter의 모든 필드는 옵셔널입니다. 필터를 지정하지 않으면 전체 세션이 반환됩니다.
최신 정보는 GitHub 저장소를 참고하세요.
마지막 수정일 2026년 7월 13일