feat(mcp): WhatsApp connector, archivable catalog, MCP connector config endpoint

This commit is contained in:
2026-07-19 10:55:44 +01:00
parent ffea3f41f9
commit f85876350e
23 changed files with 1324 additions and 3614 deletions
+40 -22
View File
@@ -153,6 +153,22 @@ export default {
'config.loading': 'Chargement…',
'config.developer': 'Développeur',
'config.error_save':'Erreur lors de l\'enregistrement de "{name}" : {msg}',
'config.enabled': 'Activé',
'config.disabled': 'Désactivé',
'config.set.interface.name': 'Interface',
'config.set.interface.desc': 'Aspect et style de l\'interface web.',
'config.set.tic_agent.name': 'Agent TIC',
'config.set.tic_agent.desc': 'TIC est un agent d\'arrière-plan qui surveille tous les événements asynchrones générés par les serveurs MCP connectés (nouveaux e-mails, mises à jour du calendrier, messages WhatsApp, etc.). Il lit vos règles de notification dans data/notifications.md et votre mémoire pour décider — via un appel LLM — quels événements méritent d\'être signalés. Les notifications pertinentes sont transmises à l\'agent d\'accueil défini via /sethome.',
'config.prop.ui_locale.name': 'Langue',
'config.prop.ui_locale.desc': 'Langue d\'interface par défaut pour l\'ensemble de l\'instance. Chaque utilisateur peut la modifier dans son profil.',
'config.prop.tic__enabled.name': 'Activé',
'config.prop.tic__enabled.desc': 'Activer ou désactiver l\'agent TIC. Lorsqu\'il est désactivé, aucun événement MCP n\'est traité.',
'config.prop.tic__security_group.name': 'Groupe de sécurité',
'config.prop.tic__security_group.desc': 'Groupe de permissions d\'outils appliqué à chaque session de l\'agent TIC. Laissez vide pour utiliser le groupe par défaut.',
'config.prop.tic__interval_minutes.name': 'Intervalle de vérification (minutes)',
'config.prop.tic__interval_minutes.desc': 'Fréquence d\'exécution de TIC, en minutes. Laissez vide pour utiliser la valeur de config.yml (tic.interval_secs).',
// ── Projects ────────────────────────────────────────────────────────────────
'projects.title': 'Projets',
@@ -986,28 +1002,29 @@ export default {
'catalog.action.remove': 'Retirer du catalogue',
'catalog.modal.title': 'Ajouter un connecteur manuellement',
'catalog.modal.script_warn': '<i class="bi bi-exclamation-triangle me-1"></i>Un script local exécute du code sur cette machine. Rien ne le vérifie — contrairement au Marketplace, il n\'y a pas de condensé à contrôler.',
'catalog.modal.name': 'Nom',
'catalog.modal.name_hint': 'slug',
'catalog.modal.scope': 'Portée',
'catalog.modal.type': 'Type',
'catalog.modal.transport': 'Transport',
'catalog.modal.command': 'Commande',
'catalog.modal.command_ph': 'python3',
'catalog.modal.script_path': 'Chemin du script',
'catalog.modal.script_path_hint': 'comme <connecteur>/<fichier>, sous ./connectors',
'catalog.modal.url': 'URL',
'catalog.modal.args': 'Arguments',
'catalog.modal.args_hint': 'un par ligne',
'catalog.modal.config_schema': 'Clés secrètes/env requises',
'catalog.modal.config_schema_hint': 'virgule/nouvelle ligne',
'catalog.modal.auth': 'Auth',
'catalog.modal.friendly': 'Nom convivial',
'catalog.modal.desc': 'Description',
'catalog.modal.desc_hint': 'le LLM lit ceci pour décider d\'activer le connecteur',
'catalog.modal.cancel': 'Annuler',
'catalog.modal.save': 'Ajouter au catalogue',
'catalog.new.back': 'Retour',
'catalog.new.title': 'Ajouter un connecteur manuellement',
'catalog.new.script_warn': '<i class="bi bi-exclamation-triangle me-1"></i>Un script local exécute du code sur cette machine. Rien ne le vérifie — contrairement au Marketplace, il n\'y a pas de condensé à contrôler.',
'catalog.new.name': 'Nom',
'catalog.new.name_hint': 'slug',
'catalog.new.scope': 'Portée',
'catalog.new.type': 'Type',
'catalog.new.transport': 'Transport',
'catalog.new.command': 'Commande',
'catalog.new.command_ph': 'python3',
'catalog.new.script_path': 'Chemin du script',
'catalog.new.script_path_hint': 'comme <connecteur>/<fichier>, sous ./connectors',
'catalog.new.url': 'URL',
'catalog.new.args': 'Arguments',
'catalog.new.args_hint': 'un par ligne',
'catalog.new.config_schema': 'Clés secrètes/env requises',
'catalog.new.config_schema_hint': 'virgule/nouvelle ligne',
'catalog.new.auth': 'Auth',
'catalog.new.friendly': 'Nom convivial',
'catalog.new.desc': 'Description',
'catalog.new.desc_hint': 'le LLM lit ceci pour décider d\'activer le connecteur',
'catalog.new.cancel': 'Annuler',
'catalog.new.save': 'Ajouter au catalogue',
'catalog.error.name': 'Le nom est requis.',
'catalog.confirm.delete': 'Retirer "{name}" du catalogue ?\n\nTout ce qui a déjà été activé continuera de fonctionner.',
@@ -1039,6 +1056,7 @@ export default {
'common.saving': 'Enregistrement…',
'common.cancel': 'Annuler',
'common.loading': 'Chargement…',
'common.saved': 'Enregistré',
// ── Shared Folders (blueprint §6) ────────────────────────────────────────────
'nav.shared_folders': 'Dossiers partagés',