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 Eigenschaften context, clientName und lastClientName erweitert.
Neue Eigenschaft
context(?SessionContext): Arbeitsverzeichnis und Git-Informationen der SessionclientName(?string): Name des Clients, der die Session erstellt hat (zum Beispielgithub/cli), odernull, wenn unbekanntlastClientName(?string): Name des Clients, der die Session zuletzt ausgeführt hat. Das ist der erstellende Client oder ein Client, der sie fortgesetzt und ausgeführt hat. Bloßes Fortsetzen zum Ansehen ändert den Wert nicht. Bei älteren Sessions ist der Wert unbekannt und dahernull
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.