Aller au contenu
English

WorkflowOptions

import type { WorkflowOptions } from "@elie-laloum/outpost";
  • onQuotaOptionnel
    WorkflowQuotaPolicy | undefined
    Politique optionnelle qui met une tâche en pause sur une erreur de quota au lieu de la reprendre ou de la faire échouer ; exige un checkpoint. Les pauses sur quota sont relâchées par un start() ultérieur dès que la réinitialisation est atteignable dans maxWaitMs, ou lorsqu’elle est inconnue ou passée.
  • answersOptionnel
    readonly WorkflowAnswer[] | undefined
    Réponses aux demandes de saisie en attente, liste non vide ; requiert un checkpoint. Toutes sont validées avant d’en appliquer une, et une réponse invalide, périmée ou en double fait rejeter start().
  • timeoutMsOptionnel
    number | undefined
    Délai en millisecondes de cet appel à start(), entier positif jusqu’à 2147483647, qui couvre l’acquisition du checkpoint, les conditions, les tentatives et les attentes de relance. À l’expiration, les tâches en cours sont annulées et le statut est failed avec une OutpostError de code timeout ; chaque appel reçoit un nouveau délai.
  • observationOptionnel
    ObservationHub | undefined
    Hub parent recevant les enveloppes de workflow, tâche, agent et opération ; les callbacks observe historiques reçoivent toujours WorkflowEvent.
  • decisionVerifierOptionnel
    WorkflowDecisionVerifier | undefined
    Vérificateur de confiance appelé pour chaque preuve soumise ; requis pour les gates signés. Un échec laisse toutes les décisions en attente inappliquées.
  • decisionsOptionnel
    readonly WorkflowDecision[] | undefined
    Décisions explicites pour les gates persistés en attente.
  • checkpointOptionnel
    WorkflowCheckpointOptions | undefined
    Store, runId et version qui conservent les états, sorties et usage des tâches entre les appels à start(). Requis pour les gates, les interactions, answers, decisions et onQuota.
  • signalOptionnel
    AbortSignal | undefined
    Annule l’exécution : les tâches en cours voient context.signal annulé, les tâches en attente finissent cancelled et le statut est cancelled.
  • concurrencyOptionnel
    number | undefined
    Nombre maximal de tâches exécutées en même temps, 1 par défaut (les tâches s’exécutent dans l’ordre de la liste). Doit être un entier positif.
  • budgetOptionnel
    WorkflowBudget | undefined
    Limites de tentatives et de tokens partagées par toutes les tâches, usage restauré compris ; en atteindre une fait échouer l’exécution avec WorkflowBudgetExceeded.
  • stopOnErrorOptionnel
    boolean | undefined
    Vaut true par défaut : le premier échec interrompt l’exécution et annule les tâches en cours et en attente. Avec false, seules les tâches dépendantes de la tâche en échec sont ignorées et les tâches indépendantes continuent.
  • telemetryOptionnel
    WorkflowTelemetry | undefined
    Adaptateur qui reçoit chaque WorkflowEvent avant observe, par exemple createOpenTelemetryObserver({ tracer, meter }). Ses erreurs vont dans observerErrors ; son cycle de vie vous appartient.
  • observeOptionnel
    ((event: WorkflowEvent) => void) | undefined
    Reçoit chaque WorkflowEvent après telemetry ; les erreurs levées sont collectées dans observerErrors sans modifier l’exécution.
export interface WorkflowOptions {
  readonly onQuota?: WorkflowQuotaPolicy;
  readonly answers?: readonly WorkflowAnswer[];
  readonly timeoutMs?: number;
  readonly observation?: ObservationHub;
  readonly decisionVerifier?: WorkflowDecisionVerifier;
  readonly decisions?: readonly WorkflowDecision[];
  readonly checkpoint?: WorkflowCheckpointOptions;
  readonly signal?: AbortSignal;
  readonly concurrency?: number;
  readonly budget?: WorkflowBudget;
  readonly stopOnError?: boolean;
  readonly telemetry?: WorkflowTelemetry;
  readonly observe?: (event: WorkflowEvent) => void;
}