Aller au contenu
English

TaskInteractionContext

import type { TaskInteractionContext } from "@elie-laloum/outpost";
  • stateRequis
    WorkflowJson | undefined
    Dernier état de continuation immuable restauré depuis le checkpoint, ou undefined avant le premier enregistrement.
  • answerRequis
    WorkflowAnswerRecord | undefined
    Réponse humaine acceptée disponible dans la tentative reprise.
  • saveRequis
    (state: WorkflowJson) => Promise<void>
    Valide, copie et persiste l’état JSON durant la tentative active courante. Ne suspend pas l’exécution.
  • suspendRequis
    (question: WorkflowInputQuestion, state: WorkflowJson) => never
    Enregistre une nouvelle question et l’état de continuation, puis termine la tentative via un signal de suspension. Ne pas intercepter ce signal ; le scheduler persiste waiting-input avant de rendre la main.
export interface TaskInteractionContext {
  readonly state: WorkflowJson | undefined;
  readonly answer: WorkflowAnswerRecord | undefined;
  save(state: WorkflowJson): Promise<void>;
  suspend(question: WorkflowInputQuestion, state: WorkflowJson): never;
}