@mostajs/btool-use
v0.1.0
Published
Boucle tool-use (function-calling) réutilisable pour apps @mostajs/* : demande LLM → tool_calls → exécute tool.run(args, actor) → renvoie le résultat → reboucle → texte final. Garde-fous : autorisation wildcard-aware + confirmation humaine via les outils.
Downloads
194
Maintainers
Readme
@mostajs/btool-use
Boucle tool-use (function-calling) réutilisable pour les apps @mostajs/* : demande LLM →
tool_calls → exécute tool.run(args, actor) → renvoie le résultat → reboucle → texte final.
Compose @mostajs/llm.
Auteur : Dr Hamid MADANI [email protected] · Licence : AGPL-3.0-or-later
Usage
import { getLlmProvider } from "@mostajs/llm";
import { runToolLoop } from "@mostajs/btool-use";
for await (const chunk of runToolLoop({
provider: getLlmProvider("deepseek"),
messages, tools, actor,
opts: { system, model: "deepseek-chat" },
})) {
if (chunk.type === "text") process.stdout.write(chunk.text);
}Garde-fous : autorisation wildcard-aware (actorCanUse, injectable via canUse) ; la confirmation
humaine est portée par les outils (un outil d'écriture renvoie un aperçu needsConfirmation tant que
confirm:true n'est pas fourni — la boucle achemine, elle ne confirme pas). Plafond maxRounds (défaut 6).
