# French tool descriptions
#
# Each key under [tools] matches the tool's name() return value.
# Values are the human-readable descriptions shown in system prompts.

[tools]
backup = "Créer, lister, vérifier et restaurer les sauvegardes du workspace"
browser = "Automatisation web/browser avec backends interchangeables (agent-browser, rust-native, computer_use). Prend en charge les actions DOM ainsi que les actions optionnelles au niveau OS (mouse_move, mouse_click, mouse_drag, key_type, key_press, screen_capture) via un sidecar computer-use. Utilisez 'snapshot' pour mapper les éléments interactifs aux refs (@e1, @e2). Applique browser.allowed_domains pour les actions open."
browser_delegate = "Déléguer des tâches basées sur le browser à un CLI compatible browser pour interagir avec des applications web comme Teams, Outlook, Jira, Confluence"
browser_open = "Ouvrir une URL HTTPS approuvée dans le navigateur système. Contraintes de sécurité : domaines uniquement par allowlist, pas d'hôtes locaux/privés, pas de scraping."
cloud_ops = "Outil de conseil en transformation cloud. Analyse les plans IaC, évalue les chemins de migration, examine les coûts et vérifie l'architecture selon les piliers du Well-Architected Framework. Lecture seule : ne crée ni ne modifie de ressources cloud."
cloud_patterns = "Bibliothèque de patterns cloud. À partir d'une description de workload, suggère des patterns architecturaux cloud-native applicables (conteneurisation, serverless, modernisation de base de données, etc.)."
composio = "Exécuter des actions sur plus de 1000 applications via Composio (Gmail, Notion, GitHub, Slack, etc.). Utilisez action='list' pour voir les actions disponibles (inclut les noms de paramètres). action='execute' avec action_name/tool_slug et params pour exécuter une action. En cas d'incertitude sur les params exacts, passez 'text' avec une description en langage naturel de ce que vous souhaitez (Composio résoudra les paramètres corrects via NLP). action='list_accounts' ou action='connected_accounts' pour lister les comptes OAuth connectés. action='connect' avec app/auth_config_id pour obtenir l'URL OAuth. connected_account_id est résolu automatiquement s'il est omis."
content_search = "Rechercher le contenu des fichiers par motif regex dans le workspace. Prend en charge ripgrep (rg) avec fallback grep. Modes de sortie : 'content' (lignes correspondantes avec contexte), 'files_with_matches' (chemins de fichiers uniquement), 'count' (nombre de correspondances par fichier). Exemple : pattern='fn main', include='*.rs', output_mode='content'."
cron_add = """Créer un cron job planifié (shell ou agent) avec des planifications cron/at/every. Utilisez job_type='agent' avec un prompt pour exécuter l'agent AI selon la planification. Pour livrer la sortie à un canal (Discord, Telegram, Slack, Mattermost, Matrix), définissez delivery={"mode":"announce","channel":"discord","to":"<channel_id_or_chat_id>"}. C'est l'outil privilégié pour envoyer des messages planifiés/différés aux utilisateurs via les canaux."""
cron_list = "Lister tous les cron jobs planifiés"
cron_remove = "Supprimer un cron job par id"
cron_run = "Forcer l'exécution immédiate d'un cron job et enregistrer l'historique d'exécution"
cron_runs = "Lister l'historique récent d'exécution d'un cron job"
cron_update = "Mettre à jour un cron job existant (schedule, command, prompt, enabled, delivery, model, etc.)"
data_management = "Rétention des données du workspace, purge et statistiques de stockage"
delegate = "Déléguer une sous-tâche à un agent spécialisé. Utilisez quand : une tâche bénéficie d'un modèle différent (ex. résumé rapide, raisonnement approfondi, génération de code). Le sous-agent exécute un prompt unique par défaut ; avec agentic=true, il peut itérer avec une boucle d'appels d'outils filtrée."
file_edit = "Modifier un fichier en remplaçant une correspondance exacte de chaîne par un nouveau contenu"
file_read = "Lire le contenu d'un fichier avec numéros de ligne. Prend en charge la lecture partielle via offset et limit. Extrait le texte des PDF ; les autres fichiers binaires sont lus avec conversion UTF-8 lossy."
file_write = "Écrire du contenu dans un fichier du workspace"
git_operations = "Effectuer des opérations Git structurées (status, diff, log, branch, commit, add, checkout, stash). Fournit une sortie JSON structurée et s'intègre à la politique de sécurité pour les contrôles d'autonomie."
glob_search = "Rechercher des fichiers correspondant à un motif glob dans le workspace. Retourne une liste triée de chemins de fichiers relatifs à la racine du workspace. Exemples : '**/*.rs' (tous les fichiers Rust), 'src/**/mod.rs' (tous les mod.rs dans src)."
google_workspace = "Interagir avec les services Google Workspace (Drive, Gmail, Calendar, Sheets, Docs, etc.) via le CLI gws. Nécessite gws installé et authentifié."
hardware_board_info = "Retourner les informations complètes de la carte (puce, architecture, carte mémoire) pour le matériel connecté. Utilisez quand : l'utilisateur demande 'board info', 'quelle carte ai-je', 'matériel connecté', 'chip info', 'quel matériel', ou 'carte mémoire'."
hardware_memory_map = "Retourner la carte mémoire (plages d'adresses flash et RAM) pour le matériel connecté. Utilisez quand : l'utilisateur demande les 'adresses mémoire supérieures et inférieures', 'carte mémoire', 'espace d'adressage', ou 'adresses lisibles'. Retourne les plages flash/RAM des datasheets."
hardware_memory_read = "Lire les valeurs réelles de mémoire/registres du Nucleo via USB. Utilisez quand : l'utilisateur demande de 'lire les valeurs des registres', 'lire la mémoire à l'adresse', 'dump mémoire', 'mémoire inférieure 0-126', ou 'donner adresse et valeur'. Retourne un dump hexadécimal. Nécessite un Nucleo connecté via USB et la feature probe. Params : address (hex, ex. 0x20000000 pour le début de la RAM), length (bytes, défaut 128)."
http_request = "Effectuer des requêtes HTTP vers des API externes. Prend en charge les méthodes GET, POST, PUT, DELETE, PATCH, HEAD, OPTIONS. Contraintes de sécurité : domaines uniquement par allowlist, pas d'hôtes locaux/privés, timeout et limites de taille de réponse configurables."
image_info = "Lire les métadonnées d'un fichier image (format, dimensions, taille) et retourner optionnellement les données encodées en base64."
jira = "Interagir avec Jira : obtenir des tickets avec un niveau de détail configurable, rechercher des issues avec JQL et ajouter des commentaires avec prise en charge des mentions et de la mise en forme."
knowledge = "Gérer un graphe de connaissances de décisions architecturales, patterns de solution, leçons apprises et experts. Actions : capture, search, relate, suggest, expert_find, lessons_extract, graph_stats."
linkedin = "Gérer LinkedIn : créer des publications, lister vos publications, commenter, réagir, supprimer des publications, voir l'engagement, obtenir les infos de profil et lire la stratégie de contenu configurée. Nécessite les identifiants LINKEDIN_* dans le fichier .env."
discord_search = "Rechercher dans l'historique des messages Discord stocké dans discord.db. Utilisez pour trouver des messages passés, résumer l'activité d'un canal ou rechercher ce que les utilisateurs ont dit. Prend en charge la recherche par mots-clés et les filtres optionnels : channel_id, since, until."
microsoft365 = "Intégration Microsoft 365 : gérer le courrier Outlook, les messages Teams, les événements Calendar, les fichiers OneDrive et la recherche SharePoint via Microsoft Graph API"
model_routing_config = "Gérer les paramètres de modèle par défaut, les routes provider/modèle basées sur des scénarios, les règles de classification et les profils de sous-agents delegate"
notion = "Interagir avec Notion : interroger des bases de données, lire/créer/mettre à jour des pages et rechercher dans le workspace."
pdf_read = "Extraire le texte brut d'un fichier PDF dans le workspace. Retourne tout le texte lisible. Les PDF uniquement images ou chiffrés retournent un résultat vide. Nécessite la build feature 'rag-pdf'."
project_intel = "Intelligence de livraison de projet : générer des rapports de statut, détecter les risques, rédiger des mises à jour client, résumer les sprints et estimer l'effort. Outil d'analyse en lecture seule."
proxy_config = "Gérer les paramètres proxy de Construct (scope : environment | construct | services), y compris l'application au runtime et aux variables d'environnement de processus"
pushover = "Envoyer une notification Pushover à votre appareil. Nécessite PUSHOVER_TOKEN et PUSHOVER_USER_KEY dans le fichier .env."
schedule = """Gérer les tâches planifiées shell uniquement. Actions : create/add/once/list/get/cancel/remove/pause/resume. ATTENTION : Cet outil crée des jobs shell dont la sortie est uniquement journalisée, PAS livrée à un canal. Pour envoyer un message planifié sur Discord/Telegram/Slack/Matrix, utilisez l'outil cron_add avec job_type='agent' et une configuration delivery comme {"mode":"announce","channel":"discord","to":"<channel_id>"}."""
screenshot = "Capturer une capture d'écran de l'écran actuel. Retourne le chemin du fichier et les données PNG encodées en base64."
security_ops = "Outil d'opérations de sécurité pour les services gérés de cybersécurité. Actions : triage_alert (classifier/prioriser les alertes), run_playbook (exécuter les étapes de réponse aux incidents), parse_vulnerability (analyser les résultats de scan), generate_report (créer des rapports de posture de sécurité), list_playbooks (lister les playbooks disponibles), alert_stats (résumer les métriques d'alertes)."
shell = "Exécuter une commande shell dans le répertoire du workspace"
sop_advance = "Rapporter le résultat de l'étape SOP en cours et avancer à l'étape suivante. Fournir le run_id, si l'étape a réussi ou échoué, et un bref résumé de la sortie."
sop_approve = "Approuver une étape SOP en attente d'approbation de l'opérateur. Retourne l'instruction de l'étape à exécuter. Utilisez sop_status pour voir quelles exécutions sont en attente."
sop_execute = "Déclencher manuellement une Standard Operating Procedure (SOP) par nom. Retourne l'ID d'exécution et l'instruction de la première étape. Utilisez sop_list pour voir les SOP disponibles."
sop_list = "Lister toutes les Standard Operating Procedures (SOP) chargées avec leurs déclencheurs, priorité, nombre d'étapes et nombre d'exécutions actives. Filtrer optionnellement par nom ou priorité."
sop_status = "Interroger le statut d'exécution SOP. Fournir run_id pour une exécution spécifique, ou sop_name pour lister les exécutions de cette SOP. Sans arguments, affiche toutes les exécutions actives."
swarm = "Orchestrer un essaim d'agents pour traiter collaborativement une tâche. Prend en charge les stratégies séquentielle (pipeline), parallèle (fan-out/fan-in) et routeur (sélection par LLM)."
tool_search = """Obtenir les définitions complètes de schéma pour les outils MCP différés afin de pouvoir les appeler. Utilisez "select:name1,name2" pour une correspondance exacte ou des mots-clés pour rechercher."""
web_fetch = "Récupérer une page web et retourner son contenu en texte brut propre. Les pages HTML sont automatiquement converties en texte lisible. Les réponses JSON et texte brut sont retournées telles quelles. Requêtes GET uniquement ; suit les redirections. Sécurité : domaines uniquement par allowlist, pas d'hôtes locaux/privés."
web_search_tool = "Rechercher des informations sur le web. Retourne des résultats de recherche pertinents avec titres, URL et descriptions. Utilisez pour trouver des informations actuelles, des actualités ou rechercher des sujets."
workspace = "Gérer les workspaces multi-clients. Sous-commandes : list, switch, create, info, export. Chaque workspace fournit mémoire, audit, secrets et restrictions d'outils isolés."
weather = "Obtenir les conditions météorologiques actuelles et les prévisions pour n'importe quel lieu dans le monde. Prend en charge les noms de villes (dans n'importe quelle langue ou écriture), les codes aéroport IATA (ex. 'LAX'), les coordonnées GPS (ex. '51.5,-0.1'), les codes postaux et la géolocalisation par domaine. Retourne la température, le ressenti, l'humidité, la vitesse/direction du vent, les précipitations, la visibilité, la pression, l'indice UV et la couverture nuageuse. Prévisions optionnelles de 0 à 3 jours avec détail horaire. Unités par défaut en métrique (°C, km/h, mm) mais configurables en impérial (°F, mph, pouces) par requête. Aucune API key requise."
