Skip to main content

Contexte de session et filtrage

À partir de la version 0.1.24 du GitHub Copilot SDK, un contexte incluant le répertoire de travail et les infos Git a été ajouté aux sessions, ce qui permet de filtrer la liste des sessions.

SessionContext

SessionContext conserve le répertoire de travail et les informations du dépôt Git au moment de la création de la session.

Propriétés

  • cwd (string) : chemin absolu du répertoire de travail
  • gitRoot (?string) : répertoire racine du dépôt Git (null en dehors d’un dépôt Git)
  • repository (?string) : dépôt GitHub (format owner/repo, ex. invokable/laravel-copilot-sdk)
  • branch (?string) : nom de la branche Git courante

Exemple d’utilisation

SessionListFilter

SessionListFilter vous permet de ne récupérer que les sessions d’un répertoire de travail ou d’un dépôt spécifique.

Propriétés

  • cwd (?string) : filtre par correspondance exacte de répertoire de travail
  • gitRoot (?string) : filtre par racine Git
  • repository (?string) : filtre par dépôt (format owner/repo)
  • branch (?string) : filtre par nom de branche

Exemples

Filtre en tableau

Utiliser la classe SessionListFilter

Événement session.context_changed

Lorsque le répertoire de travail change en cours de session, l’événement session.context_changed est émis.

Type d’événement

Données d’événement

Les données de l’événement contiennent le contexte mis à jour.

SessionMetadata

Une propriété context a été ajoutée à SessionMetadata.

Nouvelle propriété

  • context (?SessionContext) : répertoire de travail et informations Git de la session

Exemple

Exemples pratiques

Récupérer les sessions d’un projet précis

Gérer les sessions d’une branche de fonctionnalité

Organiser les sessions par répertoire de travail

Points d’attention

  • context ne contient les infos Git (gitRoot, repository, branch) que pour les sessions créées dans un dépôt Git.
  • Le champ context est disponible à partir du Copilot CLI v0.0.409. Les versions antérieures renvoient null.
  • Le filtrage fonctionne par correspondance exacte. Les correspondances partielles et les wildcards ne sont pas pris en charge.
  • Tous les champs de SessionListFilter sont optionnels. Sans filtre, toutes les sessions sont renvoyées.
Pour les dernières informations, consultez le dépôt GitHub.
Dernière modification le 13 juillet 2026