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年4月22日