Contesto e filtraggio della sessione
Da GitHub Copilot SDK v0.1.24 è stato aggiunto un contesto che include working directory e informazioni Git nella sessione, ed è ora possibile filtrare l’elenco delle sessioni.SessionContext
SessionContext conserva la working directory e le informazioni del repository Git al momento della creazione della sessione.
Proprietà
cwd(string): percorso assoluto della working directorygitRoot(?string): directory radice del repository Git (nullfuori da un repository Git)repository(?string): repository GitHub (formatoowner/repo, ad es.invokable/laravel-copilot-sdk)branch(?string): nome del branch Git corrente
Esempio d’uso
SessionListFilter
ConSessionListFilter puoi ottenere solo le sessioni di una specifica working directory o repository.
Proprietà
cwd(?string): filtro con match esatto sulla working directorygitRoot(?string): filtro sulla directory Git rootrepository(?string): filtro sul repository (formatoowner/repo)branch(?string): filtro sul nome del branch
Esempio d’uso
Specificare il filtro come array
Uso della classe SessionListFilter
Evento session.context_changed
Se durante la sessione la working directory cambia, viene emesso l’evento session.context_changed.
Tipo di evento
Dati dell’evento
I dati dell’evento includono le informazioni di contesto aggiornate.SessionMetadata
ASessionMetadata è stata aggiunta la proprietà context.
Nuova proprietà
context(?SessionContext): working directory e informazioni Git della sessione
Esempio d’uso
Esempi pratici
Ottenere le sessioni di un progetto specifico
Gestire le sessioni di un feature branch
Organizzare le sessioni per working directory
Note
contextinclude informazioni Git (gitRoot,repository,branch) solo per sessioni create all’interno di un repository Git.- Il campo
contextè disponibile da Copilot CLI v0.0.409 in avanti. Nelle versioni precedenti viene restituitonull. - Il filtraggio funziona con match esatto. Non sono supportati match parziali o wildcard.
- Tutti i campi di
SessionListFiltersono opzionali. Senza filtro vengono restituite tutte le sessioni.
Per le informazioni più recenti fai riferimento al repository GitHub.