Aller au contenu
English

createCopilotHarness

import { createCopilotHarness } from "@elie-laloum/outpost";

Crée le preset GitHub Copilot CLI sans lancer la CLI ; createAgent({ harness, model }) le lie et refuse reasoning et maxOutputTokens. Il capture et reprend des bundles de session, se pilote en arrêtant puis en reprenant le tour, et refuse le fork. L’usage est rapporté par message, puis en total de session lu après la sortie.

Exemple complet et règles détaillées.

  • settingsOptionnel
    CopilotSettings | undefined
    Réglages de GitHub Copilot CLI ; model, reasoning et maxOutputTokens se placent sur createAgent() et sont refusés ici.
  • settings.authenticationOptionnel
    AgentAuthentication | undefined
    Formes account uniquement : “account” transmet comme COPILOT_GITHUB_TOKEN le jeton enregistré par copilot login dans ~/.copilot/config.json, key ou variable transmettent un jeton fine-grained. Les formes usage échouent à la composition de l’agent, et les jetons classiques ghp_ sont refusés.
  • settings.variablesOptionnel
    Readonly<Record<string, string>> | undefined
    Variables d’environnement des commandes Copilot, fusionnées par-dessus .outpost/.env ; COPILOT_AUTO_UPDATE vaut false par défaut. Un nom également défini par le provider de sandbox échoue avec le code configuration.
  • settings.conversationsOptionnel
    ConversationStore | undefined
    Store qui capture, localise et restaure les bundles de session Copilot au lieu du store natif par défaut, par exemple createTransportConversations(createCopilotConversations(), …). Un store qui déclare un autre format est refusé dès la création du harness.
  • settings.mcpServersOptionnel
    McpServers | undefined
    Serveurs MCP transmis à Copilot avec —additional-mcp-config à chaque exécution, indexés par nom de serveur. Les secrets restent des références ${NAME} résolues par Copilot ; chaque variable référencée doit être déclarée.

CliHarness

export declare function createCopilotHarness(
  settings?: CopilotSettings,
): CliHarness;