Aller au contenu
English

SpeculationResult

import type { SpeculationResult } from "@elie-laloum/outpost";
  • integrationOptionnel
    SpeculationIntegration | undefined
    Vérification de fusion du commit validé du gagnant contre le HEAD hôte à la fin de la course ; absente sans gagnant.
  • previousAttemptsOptionnel
    readonly SpeculativeCandidateResult<T>[] | undefined
    Courses durables uniquement : tentatives antérieures remplacées par un rejeu après un plantage ou un arrêt de quota, avec leurs branches et worktrees conservés.
  • idRequis
    string
    Identifiant de la course utilisé dans les noms des branches candidates ; une course durable le conserve d’un appel à l’autre.
  • baselineRequis
    string
    Commit HEAD de l’hôte au premier démarrage de la course ; chaque branche candidate part de ce commit.
  • hostRequis
    { readonly before: SpeculativeHostSnapshot; readonly after?: SpeculativeHostSnapshot; readonly changed: boolean; readonly error?: unknown; }
    Snapshots du checkout hôte avant la course et à sa fin. changed vaut true si le HEAD, la branche, l’état sale ou le contenu ont changé, ou si le snapshot final a échoué avec error.
  • statusRequis
    "aborted" | "quota" | "winner" | "no-winner" | "budget-exhausted"
    winner ; aborted si votre signal a annulé la course ; budget-exhausted ; quota si aucun candidat n’a gagné et qu’une limite d’usage ou de débit en a arrêté au moins un ; sinon no-winner. Une course durable terminée renvoie son statut enregistré.
  • quotaOptionnel
    QuotaFault | undefined
    Limite indiquée avec le statut quota : la réinitialisation connue la plus proche parmi les candidats arrêtés, ou la première limite si aucune n’est connue.
  • winnerOptionnel
    SpeculativeCandidateResult<T> | undefined
    Premier candidat accepté par validate dont la sandbox s’est fermée ; absent sinon.
  • candidatesRequis
    readonly SpeculativeCandidateResult<T>[]
    Dernière tentative de chaque candidat, dans l’ordre de options.candidates.
  • usageRequis
    WorkflowUsage
    Tentatives admises et tokens rapportés par les dispatchs des candidats, cumulés sur les appels d’une course durable.
  • errorOptionnel
    unknown
    Erreur de budget qui a arrêté la course, par exemple une limite épuisée ou un usage de tokens incomplet ; une course durable restaurée donne son message enregistré. Les échecs des candidats figurent sur chaque candidat.
export interface SpeculationResult<T = undefined> {
  readonly integration?: SpeculationIntegration;
  readonly previousAttempts?: readonly SpeculativeCandidateResult<T>[];
  readonly id: string;
  readonly baseline: string;
  readonly host: {
    readonly before: SpeculativeHostSnapshot;
    readonly after?: SpeculativeHostSnapshot;
    readonly changed: boolean;
    readonly error?: unknown;
  };
  readonly status:
    "winner" | "no-winner" | "quota" | "aborted" | "budget-exhausted";
  /** Earliest known reset among candidates stopped by a usage or rate limit. */
  readonly quota?: QuotaFault;
  readonly winner?: SpeculativeCandidateResult<T>;
  readonly candidates: readonly SpeculativeCandidateResult<T>[];
  readonly usage: WorkflowUsage;
  readonly error?: unknown;
}