Aller au contenu
English

decide

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

Exécuter une requête de provider de décision sur un état JSON sans perte, valider toutes les réponses et renvoyer l’usage normalisé et les métadonnées natives. Les sommes des distributions et les scores pondérés acceptent l’arrondi cumulé à quatre décimales sans modifier les valeurs natives. Une troncature signalée échoue sauf autorisation explicite.

Exemple complet et règles détaillées.

  • optionsRequis
    DecideOptions<Q>
    Provider, modèle nommé, déclaration et état JSON sans perte pour une évaluation immédiate.
  • options.providerRequis
    DecisionProvider
    Provider de décision qui réalise cette évaluation.
  • options.modelRequis
    string
    Nom non vide du modèle de décision, sans réglages de génération ni de raisonnement.
  • options.decisionRequis
    Decision<Q>
    Déclaration typée et figée de questions créée avec defineDecision.
  • options.stateRequis
    DecisionState
    Texte, objet ou tableau validé comme JSON sans perte avant la requête.
  • options.signalOptionnel
    AbortSignal | undefined
    Signal d’annulation facultatif de l’appelant transmis au provider de décision.
  • options.observationOptionnel
    ObservationHub | undefined
    Hub d’observation avec scope facultatif ; l’état et les réponses détaillés exigent le mode verbose.
  • options.allowTruncatedOptionnel
    boolean | undefined
    False par défaut ; true accepte une troncature signalée en conservant son indicateur dans le résultat.

Promise<DecisionResult<Q>>

export declare function decide<const Q extends DecisionQuestions>(
  options: DecideOptions<Q>,
): Promise<DecisionResult<Q>>;