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 travailgitRoot(?string) : répertoire racine du dépôt Git (nullen dehors d’un dépôt Git)repository(?string) : dépôt GitHub (formatowner/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 travailgitRoot(?string) : filtre par racine Gitrepository(?string) : filtre par dépôt (formatowner/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
contextne contient les infos Git (gitRoot,repository,branch) que pour les sessions créées dans un dépôt Git.- Le champ
contextest disponible à partir du Copilot CLI v0.0.409. Les versions antérieures renvoientnull. - Le filtrage fonctionne par correspondance exacte. Les correspondances partielles et les wildcards ne sont pas pris en charge.
- Tous les champs de
SessionListFiltersont optionnels. Sans filtre, toutes les sessions sont renvoyées.
Pour les dernières informations, consultez le dépôt GitHub.