Session-Kontext und Filterung
Ab GitHub Copilot SDK v0.1.24 enthält jede Session einen Kontext mit Arbeitsverzeichnis und Git-Informationen, und Sie können die Session-Liste danach filtern.SessionContext
SessionContext enthält Arbeitsverzeichnis und Git-Repository-Informationen zum Zeitpunkt der Session-Erstellung.
Eigenschaften
cwd(string): Absoluter Pfad des ArbeitsverzeichnissesgitRoot(?string): Wurzelverzeichnis des Git-Repositorys (außerhalb eines Git-Reposnull)repository(?string): GitHub-Repository (Formatowner/repo, z. B.invokable/laravel-copilot-sdk)branch(?string): Aktueller Git-Branch-Name
Anwendungsbeispiel
SessionListFilter
MitSessionListFilter können Sie nur Sessions eines bestimmten Arbeitsverzeichnisses oder Repositorys abrufen.
Eigenschaften
cwd(?string): Exakter Filter auf das ArbeitsverzeichnisgitRoot(?string): Filter auf das Git-Wurzelverzeichnisrepository(?string): Filter auf das Repository (Formatowner/repo)branch(?string): Filter auf den Branch-Namen
Anwendungsbeispiele
Filter als Array angeben
Verwendung der Klasse SessionListFilter
Event session.context_changed
Wenn sich das Arbeitsverzeichnis während einer Session ändert, wird das Event session.context_changed ausgelöst.
Event-Typ
Event-Daten
Die Event-Daten enthalten die aktualisierten Kontextinformationen.SessionMetadata
SessionMetadata wurde um die Eigenschaft context erweitert.
Neue Eigenschaft
context(?SessionContext): Arbeitsverzeichnis und Git-Informationen der Session
Anwendungsbeispiel
Praxisbeispiele
Sessions eines bestimmten Projekts abrufen
Sessions von Feature-Branches verwalten
Sessions nach Arbeitsverzeichnis organisieren
Hinweise
contextenthält Git-Informationen (gitRoot,repository,branch) nur für Sessions, die innerhalb eines Git-Repos erstellt wurden.- Das Feld
contextist ab Copilot CLI v0.0.409 verfügbar. In älteren Versionen wirdnullzurückgegeben. - Die Filterung funktioniert per exakter Übereinstimmung. Teilstring-Matching und Wildcards werden nicht unterstützt.
- Alle Felder von
SessionListFiltersind optional. Ohne Filterangabe werden alle Sessions zurückgegeben.
Aktuelle Informationen finden Sie im GitHub-Repository.