agent/rules.ts
Source : sdks/typescript/packages/sdk/src/agent/rules.ts. Retour à l'index de la référence du SDK TypeScript.
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 :
| Nom | Type | Requis | Description |
|---|---|---|---|
phase | "final" | "tools" | oui | "final" : le modèle a répondu sans appel d'outil. "tools" : après un lot d'appels d'outils. |
finishReason | string | null | oui | Motif de fin du dernier appel au modèle, par exemple length ou stop. |
finalText | string | oui | Texte de la dernière réponse du modèle. |
lastUserText | string | oui | Dernier message écrit par l'utilisateur dans ce tour (relances exclues). |
toolCalls | number | oui | Appels d'outils exécutés dans ce tour. |
unverifiedWrite | boolean | oui | Un outil d'écriture s'est exécuté après le dernier outil de vérification. |
verifyFailed | boolean | oui | Le dernier outil de vérification a échoué et aucune vérification n'a réussi depuis. |
noProgressStreak | number | oui | Appels d'outils consécutifs qui ont répété un appel précédent avec le même résultat. |
readStreak | number | oui | Appels d'outils de lecture consécutifs depuis la dernière écriture, exécution ou vérification. |
limitUsage | number | oui | Fraction (0..1) déjà consommée de la limite la plus proche. |
deliveryRequired | boolean | oui | Le flux exige un appel d'outil avant la réponse (règle delivery). |
auditMode | boolean | oui | Mode audit du runner : porte le plafond d'exploration de 4 à 8. |
nudges | Readonly<Record<string | oui | Relances 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 :
| Nom | Type | Requis | Description |
|---|---|---|---|
code | RuleCode | string | oui | Code du contrôle, 1 à 64 caractères : un code du catalogue comme EAI-GOV-01, ou un code personnalisé. Unique dans le tenant. |
cap | number | ((ctx: RuleContext) => number) | oui | Nombre maximal de relances de cette règle par tour. |
phase | "final" | "tools" | oui | Moment 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.
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
text | string | null | undefined | oui | Message 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.
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
text | string | null | undefined | oui | Ré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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
text | string | null | undefined | oui | Ré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.
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
rules | ContinuationRule[] | oui | Règles à évaluer, dans l'ordre ; seules celles de la phase du contexte sont vérifiées. | |
ctx | RuleContext | oui | Contexte de l'appel : annulation et échéance. |