Contexto de sesión y filtrado
Desde GitHub Copilot SDK v0.1.24, se ha añadido al contexto de sesión información del directorio de trabajo y de Git, y puedes filtrar la lista de sesiones por esa información.SessionContext
SessionContext guarda el directorio de trabajo y la información del repositorio Git en el momento en que se crea la sesión.
Propiedades
cwd(string): ruta absoluta del directorio de trabajogitRoot(?string): directorio raíz del repositorio Git (nullfuera de un repositorio Git)repository(?string): repositorio de GitHub (formatoowner/repo, por ejemploinvokable/laravel-copilot-sdk)branch(?string): nombre de la rama Git actual
Ejemplo de uso
SessionListFilter
ConSessionListFilter puedes obtener solo las sesiones de un directorio de trabajo o repositorio concretos.
Propiedades
cwd(?string): filtro de coincidencia exacta por directorio de trabajogitRoot(?string): filtro por directorio raíz de Gitrepository(?string): filtro por repositorio (formatoowner/repo)branch(?string): filtro por nombre de rama
Ejemplos de uso
Filtro como array
Usar la clase SessionListFilter
Evento session.context_changed
Cuando el directorio de trabajo cambia durante la sesión, se dispara el evento session.context_changed.
Tipo de evento
Datos del evento
Los datos del evento incluyen la información del contexto actualizado.SessionMetadata
Se ha añadido la propiedadcontext a SessionMetadata.
Nueva propiedad
context(?SessionContext): directorio de trabajo e información de Git de la sesión
Ejemplo de uso
Ejemplos prácticos
Obtener las sesiones de un proyecto concreto
Gestionar sesiones de ramas de feature
Organizar sesiones por directorio de trabajo
Consideraciones
contextsolo incluye información relacionada con Git (gitRoot,repository,branch) en sesiones creadas dentro de un repositorio Git.- El campo
contextestá disponible desde Copilot CLI v0.0.409. En versiones anteriores devuelvenull. - El filtrado se realiza con coincidencia exacta. No hay soporte para coincidencias parciales ni comodines.
- Todos los campos de
SessionListFilterson opcionales. Si no indicas ningún filtro, se devuelven todas las sesiones.
Consulta la información más reciente en el repositorio de GitHub.