Aller au contenu
English

ModelStreamEvent

import type { ModelStreamEvent } from "@elie-laloum/outpost";

Les champs ci-dessous couvrent toutes les variantes ; la signature précise leurs combinaisons autorisées.

  • typeRequis
    "reasoning" | "retry" | "text-delta" | "result"
    text-delta pour un fragment du texte de réponse, reasoning pour un raisonnement lisible, retry pour une reprise signalée par le fournisseur, result pour le résultat final. Les fournisseurs intégrés n’émettent que text-delta et result.
  • textSelon la variante
    string
    Fragment du texte de réponse pour text-delta, ou raisonnement lisible pour reasoning, dans l’ordre d’arrivée. Le harness les relaie comme événements du même type.
  • attemptSelon la variante
    number
    Numéro de tentative signalé par le fournisseur. Le harness le relaie comme événement model-retry et ne relance rien lui-même.
  • messageSelon la variante
    string | undefined
    Diagnostic de la reprise signalée, relayé dans l’événement model-retry.
  • resultSelon la variante
    ModelResult
    Résultat final normalisé, identique à celui d’une requête sans streaming. Le harness en exige exactement un par stream.
export type ModelStreamEvent =
  | {
      readonly type: "reasoning";
      readonly text: string;
    }
  | {
      readonly type: "retry";
      readonly attempt: number;
      readonly message?: string;
    }
  | {
      readonly type: "text-delta";
      readonly text: string;
    }
  | {
      readonly type: "result";
      readonly result: ModelResult;
    };