Vai al contenuto principale

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 directory
  • gitRoot (?string): directory radice del repository Git (null fuori da un repository Git)
  • repository (?string): repository GitHub (formato owner/repo, ad es. invokable/laravel-copilot-sdk)
  • branch (?string): nome del branch Git corrente

Esempio d’uso

SessionListFilter

Con SessionListFilter puoi ottenere solo le sessioni di una specifica working directory o repository.

Proprietà

  • cwd (?string): filtro con match esatto sulla working directory
  • gitRoot (?string): filtro sulla directory Git root
  • repository (?string): filtro sul repository (formato owner/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

A SessionMetadata sono state aggiunte le proprietà context, clientName e lastClientName.

Nuova proprietà

  • context (?SessionContext): working directory e informazioni Git della sessione
  • clientName (?string): nome del client che ha creato la sessione (ad esempio github/cli), oppure null se sconosciuto
  • lastClientName (?string): nome del client che ha eseguito la sessione per ultimo. È il client che l’ha creata o un client che l’ha ripresa ed eseguita. Riprenderla solo per visualizzarla non lo modifica. È null per le sessioni precedenti in cui il valore è sconosciuto

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

  • context include 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 restituito null.
  • Il filtraggio funziona con match esatto. Non sono supportati match parziali o wildcard.
  • Tutti i campi di SessionListFilter sono opzionali. Senza filtro vengono restituite tutte le sessioni.
Per le informazioni più recenti fai riferimento al repository GitHub.
Ultima modifica il 9 novembre 2026