Aller au contenu
English

defineInteractiveAgentTask

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

Déclare un dialogue d’agent qui pose des questions à des humains entre ses tours. Chaque tour s’exécute dans une nouvelle sandbox sur une branche nommée conservée et poursuit la conversation capturée ; une question laisse la tâche en waiting-input jusqu’à ce que start() reçoive une réponse. Exige une exécution avec checkpoint et lève une erreur de code configuration pour un agent sans capture ni reprise portables.

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

  • optionsRequis
    InteractiveAgentTaskOptions
    Agent, dépôt, répondants autorisés et paramètres du dialogue borné.
  • options.keyRequis
    string
    Clé stable de la tâche ; participe également à l’identité de la branche conservée.
  • options.afterOptionnel
    readonly Task<unknown>[] | undefined
    Dépendances devant réussir avant le premier tour.
  • options.repositoryRequis
    string
    Checkout Git hôte contenant le worktree conservé et le stockage des conversations par défaut ; doit rester accessible à la reprise.
  • options.agentRequis
    Agent
    Agent avec capture et reprise portables de la conversation ; sinon defineInteractiveAgentTask() lève une erreur de code configuration.
  • options.briefRequis
    string
    Instructions initiales littérales ; les réponses humaines sont fournies séparément aux tours suivants.
  • options.actorsRequis
    readonly string[]
    Identifiants uniques et non vides autorisés à répondre ; l’application doit authentifier les utilisateurs.
  • options.sandboxProviderOptionnel
    SandboxProvider | undefined
    Provider qui alloue une nouvelle sandbox à chaque tour, createDockerSandboxProvider() par défaut.
  • options.bootstrapOptionnel
    boolean | undefined
    Indique si la sandbox de chaque tour peut installer un agent CLI manquant, true par défaut.
  • options.conversationHomeOptionnel
    string | undefined
    Home hôte utilisé pour retrouver les conversations natives capturées entre les tours.
  • options.maxTurnsOptionnel
    number | undefined
    Nombre maximal de tours terminés, résultat final inclus ; 12 par défaut. Une question au dernier tour échoue au lieu de rester en attente.
  • options.timeoutMsOptionnel
    number | undefined
    Délai coopératif de chaque tentative exécutée, excluant le temps d’attente d’une réponse humaine.

Task<InteractiveAgentResult>

export declare function defineInteractiveAgentTask(
  options: InteractiveAgentTaskOptions,
): Task<InteractiveAgentResult>;