Aller au contenu
English

LoopTaskContext

import type { LoopTaskContext } from "@elie-laloum/outpost";
  • roundRequis
    number
    Numéro du tour logique à partir de un, stable lors du rejeu d’une phase interrompue.
  • phaseRequis
    "attempt" | "check"
    Phase du callback courant : attempt produit un candidat ; check le vérifie.
  • quotaOptionnel
    WorkflowQuotaPause | undefined
    Pause sur quota reprise par cette tentative, avec la conversation capturée et la branche conservée lorsqu’elles sont connues ; présente seulement lors de la première tentative après la pause et jamais persistée séparément.
  • interactionOptionnel
    TaskInteractionContext | undefined
    État durable et opérations de suspension, fournis uniquement aux tâches déclarant une interaction.
  • idempotencyKeyRequis
    string
    Clé d’effet liée à l’exécution, la tâche, le tour logique et la phase ; stable lors du rejeu de cette phase. La déduplication externe reste à la charge de l’appelant.
  • observationOptionnel
    ObservationHub | undefined
    Hub de la tâche avec exécution du workflow, clé et tentative ; le transmettre aux opérations imbriquées personnalisées comme speculate.
  • signalRequis
    AbortSignal
    Annulé quand le workflow s’arrête ou que le timeoutMs de ce tour expire.
  • attemptRequis
    number
    Numéro de tentative cumulé de cette boucle, incrémenté pour les nouveaux tours et phases rejouées. Les deux callbacks d’un tour ininterrompu le partagent.
  • executionIdRequis
    string
    Identité de l’exécution de workflow, conservée lors de la reprise d’un checkpoint.
  • reportUsageRequis
    (usage: Usage) => void
    Ajoute synchroniquement l’usage de cette phase au budget du workflow, y compris les appels modèle échoués. L’usage n’est pas déduit des résultats arbitraires des callbacks.
  • reportUsageOnceOptionnel
    ((receipt: string, usage: Usage) => void) | undefined
    Déduplique un reçu durable d’usage dans cette tâche. Utiliser un reçu par opération facturée distincte ; un appel payant rejoué exige un nouveau reçu.
  • checkpointOptionnel
    (() => Promise<void>) | undefined
    Enregistre immédiatement l’état du workflow ; sans effet sans checkpoint.
  • valueRequis
    <T>(dependency: Task<T>) => T
    Lit la sortie terminée d’une tâche figurant dans les dépendances déclarées de cette tâche.
export interface LoopTaskContext extends TaskContext {
  readonly round: number;
  readonly phase: "attempt" | "check";
}