Aller au contenu
English

DispatchOptions

import type { DispatchOptions } from "@elie-laloum/outpost";
  • observationOptionnel
    ObservationHub | undefined
    Hub d’observation parent. Le dispatch ouvre un hub enfant avec son propre dispatchId et le vide avant de retourner ou de lever une erreur.
  • agentOptionnel
    DispatchAgent | undefined
    Agent qui exécute le brief : issu de createAgent() ou createReplayAgent(), ou un createFallbackAgent() qui passe au candidat suivant sur une faute quota ou unavailable listée. Un agent de secours n’accepte pas continuation.
  • loggingOptionnel
    Logging | undefined
    Réglages du journal : transport, conservation détaillée des événements et enregistrement des commits pour le rejeu.
  • labelOptionnel
    string | undefined
    Nom affiché pour ce dispatch dans les rapports de progression.
  • briefRequis
    Brief
    Tâche confiée à l’agent : texte littéral ou brief lu depuis un fichier.
  • passesOptionnel
    number | undefined
    Nombre maximal de passes, 1 par défaut. Chaque passe relance le brief dans une nouvelle conversation, et le dispatch s’arrête à la première passe dont le texte contient un marqueur de fin. Doit valoir 1 avec response ou continuation.
  • untilOptionnel
    string | readonly string[] | undefined
    Marqueur ou marqueurs de fin recherchés dans le texte du dernier tour, <outpost>done</outpost> par défaut. Une liste vide désactive la recherche et toutes les passes s’exécutent ; les chaînes vides sont refusées.
  • idleMsOptionnel
    number | undefined
    Silence maximal accepté de l’agent, 600000 par défaut (10 minutes). Au-delà, le tour s’arrête avec le code timeout.
  • idleWarningMsOptionnel
    number | undefined
    Durée de silence après laquelle un événement d’avertissement est émis, puis répété au même intervalle ; 60000 par défaut.
  • settleMsOptionnel
    number | undefined
    Attente après un marqueur de fin avant d’arrêter un agent encore actif, 60000 par défaut. Le tour reste un succès.
  • deadlineMsOptionnel
    number | undefined
    Durée maximale de chaque processus d’agent, 3600000 par défaut (une heure). Au-delà, le tour échoue avec le code timeout.
  • expansionMsOptionnel
    number | undefined
    Délai de chaque expansion shell d’un brief fichier, 30000 par défaut. Au-delà, le dispatch échoue avec le code timeout.
  • signalOptionnel
    AbortSignal | undefined
    Son annulation arrête le processus de l’agent et rejette le dispatch avec la raison du signal.
  • steeringOptionnel
    Steering | undefined
    Contrôleur issu de createSteering(), attaché pendant tout le dispatch et libéré à sa fin. resume() et fork() ne le réutilisent pas.
  • continuationOptionnel
    { readonly id: string; readonly fork?: boolean; } | undefined
    Conversation native à continuer, par identifiant ; fork: true continue une copie et laisse l’originale intacte. Exige une seule passe et un agent qui sait reprendre.
  • responseOptionnel
    ResponseSpec<T> | undefined
    Contrat de réponse typée : la réponse balisée est analysée et validée, et une réponse invalide reçoit jusqu’à repairs tours de correction. Exige une seule passe.
  • telemetryOptionnel
    DispatchTelemetry | undefined
    Instrumentation de tout le dispatch, préparation, synchronisation et nettoyage compris. Ses échecs ne changent pas le résultat.
  • observeOptionnel
    ((event: AgentObservation) => void) | undefined
    Reçoit chaque événement normalisé de l’agent avec son numéro de passe et son horodatage. Une exception levée ici est collectée dans observerErrors et ne change pas le résultat.
  • warnOptionnel
    ((message: string) => void) | undefined
    Reçoit les avertissements non bloquants, par exemple un agent silencieux ou un problème de stockage de conversation.
  • diagnosticOptionnel
    ((message: string) => void) | undefined
    Reçoit les messages de diagnostic, par exemple la taille estimée en tokens de chaque commande développée du brief.
export interface DispatchOptions<T = undefined> {
  readonly observation?: ObservationHub;
  readonly agent?: DispatchAgent;
  readonly logging?: Logging;
  readonly label?: string;
  readonly brief: Brief;
  readonly passes?: number;
  readonly until?: string | readonly string[];
  readonly idleMs?: number;
  readonly idleWarningMs?: number;
  readonly settleMs?: number;
  readonly deadlineMs?: number;
  readonly expansionMs?: number;
  readonly signal?: AbortSignal;
  /** Controller from createSteering() that sends instructions while the agent runs. */
  readonly steering?: Steering;
  readonly continuation?: {
    readonly id: string;
    readonly fork?: boolean;
  };
  readonly response?: ResponseSpec<T>;
  readonly telemetry?: DispatchTelemetry;
  readonly observe?: (event: AgentObservation) => void;
  readonly warn?: (message: string) => void;
  readonly diagnostic?: (message: string) => void;
}