Aller au contenu principal

agent/rules.ts

Source : sdks/typescript/packages/sdk/src/agent/rules.ts. Retour à l'index de la référence du SDK TypeScript.

remarque

Cette page est générée par tools/docs/gen_sdk_reference.py depuis les sources du SDK et les dossiers de textes OpenAPI. Ne la modifiez pas à la main : changez la source et régénérez.

Alias de type LENGTH_RECOVERY_PROMPT​

Message de la règle length_recovery, envoyé quand le modèle s'est arrêté sur sa limite de sortie ; les textes des règles sont ceux du runner Navin.

Alias de type RuleCode​

Codes canoniques des règles, partagés avec le SDK Python et le runner Navin.

Définition : \| "length_recovery" \| "empty_final_response" \| "go_ahead" \| "no_action" \| "remaining_work" \| "delivery" \| "verify_before_done" \| "verify_failed" \| "no_progress" \| "wrap_up" \| "exploration".

Interface RuleContext​

État lu par une règle pour décider si le tour peut se terminer.

Champs :

NomTypeRequisDescription
phase"final" | "tools"oui"final" : le modèle a répondu sans appel d'outil. "tools" : après un lot d'appels d'outils.
finishReasonstring | nullouiMotif de fin du dernier appel au modèle, par exemple length ou stop.
finalTextstringouiTexte de la dernière réponse du modèle.
lastUserTextstringouiDernier message écrit par l'utilisateur dans ce tour (relances exclues).
toolCallsnumberouiAppels d'outils exécutés dans ce tour.
unverifiedWritebooleanouiUn outil d'écriture s'est exécuté après le dernier outil de vérification.
verifyFailedbooleanouiLe dernier outil de vérification a échoué et aucune vérification n'a réussi depuis.
noProgressStreaknumberouiAppels d'outils consécutifs qui ont répété un appel précédent avec le même résultat.
readStreaknumberouiAppels d'outils de lecture consécutifs depuis la dernière écriture, exécution ou vérification.
limitUsagenumberouiFraction (0..1) déjà consommée de la limite la plus proche.
deliveryRequiredbooleanouiLe flux exige un appel d'outil avant la réponse (règle delivery).
auditModebooleanouiMode audit du runner : porte le plafond d'exploration de 4 à 8.
nudgesReadonly<Record<stringouiRelances déjà envoyées dans ce tour, par code.

Interface ContinuationRule​

Une règle de continuation : son code, son plafond par tour, sa phase et la fonction check qui renvoie le message de relance ou null.

Champs :

NomTypeRequisDescription
codeRuleCode | stringouiCode du contrôle, 1 à 64 caractères : un code du catalogue comme EAI-GOV-01, ou un code personnalisé. Unique dans le tenant.
capnumber | ((ctx: RuleContext) => number)ouiNombre maximal de relances de cette règle par tour.
phase"final" | "tools"ouiMoment où la règle est évaluée : final après une réponse sans appel d'outil, tools après un lot d'appels d'outils.

Alias de type NO_PROGRESS_THRESHOLD​

Nombre d'appels d'outils sans progrès avant la relance no_progress, et l'arrêt définitif.

Alias de type EXPLORATION_THRESHOLD​

Nombre d'appels de lecture consécutifs avant la relance exploration.

Alias de type WRAP_UP_THRESHOLD​

Part d'une limite au-delà de laquelle wrap_up se déclenche.

Fonctions​

isGoAhead​

isGoAhead(text: string | null | undefined): boolean

Vrai quand tout le message de l'utilisateur est un feu vert sans nouvelle demande.

NomTypeDéfautRequisDescription
textstring | null | undefinedouiMessage de l'utilisateur ; vide ou absent, il donne false.

Retour : boolean. Vrai quand le texte nettoyé fait au plus 60 caractères et n'est qu'un feu vert comme go, ok continue ou vas-y.

announcesWork​

announcesWork(text: string | null | undefined): boolean

Vrai quand une réponse finale annonce une action imminente qu'elle n'a pas effectuée.

NomTypeDéfautRequisDescription
textstring | null | undefinedouiRéponse finale du modèle ; vide ou absente, elle donne false.

Retour : boolean. Vrai quand une phrase qui n'est pas une question promet une action, sauf si elle est conditionnelle ou laissée à l'utilisateur.

listsRemainingWork​

listsRemainingWork(text: string | null | undefined): boolean

Vrai quand une réponse finale rend la main avec du travail inachevé de la demande (anglais et français).

NomTypeDéfautRequisDescription
textstring | null | undefinedouiRéponse finale du modèle ; vide ou absente, elle donne false.

Retour : boolean. Vrai quand la réponse liste du travail restant qui n'est pas laissé à l'utilisateur, ou annonce un travail non effectué.

defaultRules​

defaultRules(): ContinuationRule[]

Jeu de règles du runner Navin, dans l'ordre d'évaluation.

Cet élément ne prend aucun paramètre.

Retour : ContinuationRule[]. Un nouveau tableau des onze règles, de length_recovery à exploration.

evaluateRules​

evaluateRules(rules: ContinuationRule[], ctx: RuleContext)

Première règle qui se déclenche sous son plafond, pour la phase donnée.

NomTypeDéfautRequisDescription
rulesContinuationRule[]ouiRègles à évaluer, dans l'ordre ; seules celles de la phase du contexte sont vérifiées.
ctxRuleContextouiContexte de l'appel : annulation et échéance.