Aller au contenu
English

TaskContext

import type { TaskContext } from "@elie-laloum/outpost";
  • 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
    Identité SHA-256 stable de executionId et de la clé de tâche, conservée lors des retries et reprises. À transmettre à un service d’effets avec déduplication persistante.
  • 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 est annulé, s’arrête sur une erreur ou dépasse son délai, ou quand le timeoutMs de cette tentative expire.
  • attemptRequis
    number
    Numéro de tentative à partir de 1, cumulé sur les relances et les reprises de checkpoint ; 0 dans les callbacks condition et clé de cache.
  • executionIdRequis
    string
    Identité de l’exécution de workflow, conservée lors de la reprise d’un checkpoint.
  • reportUsageRequis
    (usage: Usage) => void
    Ajoute un usage de tokens au budget du workflow ; lève une erreur hors de la tentative active. Les définitions de tâches d’agent signalent elles-mêmes leur usage.
  • reportUsageOnceOptionnel
    ((receipt: string, usage: Usage) => void) | undefined
    Ajoute l’usage de tokens seulement si l’identifiant de reçu n’a pas déjà été enregistré, y compris après reprise d’un checkpoint.
  • checkpointOptionnel
    (() => Promise<void>) | undefined
    Enregistre immédiatement l’état du workflow ; sans effet sans checkpoint.
  • valueRequis
    <T>(dependency: Task<T>) => T
    Renvoie la sortie d’une tâche listée dans after ; lève une erreur pour une dépendance non déclarée.
export interface TaskContext {
  /** Quota pause resumed by this attempt; present only on the first attempt after it. */
  readonly quota?: WorkflowQuotaPause;
  readonly interaction?: TaskInteractionContext;
  readonly idempotencyKey: string;
  readonly observation?: ObservationHub;
  readonly signal: AbortSignal;
  readonly attempt: number;
  readonly executionId: string;
  reportUsage(usage: Usage): void;
  reportUsageOnce?(receipt: string, usage: Usage): void;
  checkpoint?(): Promise<void>;
  value<T>(dependency: Task<T>): T;
}