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
@@ -177,6 +177,22 @@ export default {
'config.loading': 'Caricamento…',
'config.developer': 'Sviluppatore',
'config.error_save':'Errore durante il salvataggio di "{name}": {msg}',
'config.enabled': 'Attivato',
'config.disabled': 'Disattivato',
'config.set.interface.name': 'Interfaccia',
'config.set.interface.desc': 'Aspetto e stile dell\'interfaccia web.',
'config.set.tic_agent.name': 'Agente TIC',
'config.set.tic_agent.desc': 'TIC è un agente in background che monitora tutti gli eventi asincroni generati dai server MCP connessi (nuove email, aggiornamenti del calendario, messaggi WhatsApp, ecc.). Legge le regole di notifica da data/notifications.md e la memoria per decidere — tramite una chiamata LLM — quali eventi vale la pena segnalare. Le notifiche rilevanti vengono inoltrate all\'agente predefinito impostato tramite /sethome.',
'config.prop.ui_locale.name': 'Lingua',
'config.prop.ui_locale.desc': 'Lingua predefinita per l\'intera istanza. Ogni utente può modificarla nel proprio profilo.',
'config.prop.tic__enabled.name': 'Attivo',
'config.prop.tic__enabled.desc': 'Attiva o disattiva l\'agente TIC. Quando disattivato, nessun evento MCP viene elaborato.',
'config.prop.tic__security_group.name': 'Gruppo di sicurezza',
'config.prop.tic__security_group.desc': 'Gruppo di permessi strumenti applicato a ogni sessione dell\'agente TIC. Lascia vuoto per usare il gruppo predefinito.',
'config.prop.tic__interval_minutes.name': 'Intervallo di controllo (minuti)',
'config.prop.tic__interval_minutes.desc': 'Ogni quanto TIC viene eseguito, in minuti. Lascia vuoto per usare il valore da config.yml (tic.interval_secs).',
// ── Projects ────────────────────────────────────────────────────────────────
'projects.title': 'Progetti',
@@ -986,28 +1002,29 @@ export default {
'catalog.action.remove': 'Rimuovi dal catalogo',
'catalog.modal.title': 'Aggiungi connettore manualmente',
'catalog.modal.script_warn': '<i class="bi bi-exclamation-triangle me-1"></i>Uno script locale esegue codice su questo computer. Niente lo verifica — a differenza del marketplace, non c\'è un digest da controllare.',
'catalog.modal.name': 'Nome',
'catalog.modal.name_hint': 'slug',
'catalog.modal.scope': 'Ambito',
'catalog.modal.type': 'Tipo',
'catalog.modal.transport': 'Trasporto',
'catalog.modal.command': 'Comando',
'catalog.modal.command_ph': 'python3',
'catalog.modal.script_path': 'Percorso script',
'catalog.modal.script_path_hint': 'come <connettore>/<file>, sotto ./connectors',
'catalog.modal.url': 'URL',
'catalog.modal.args': 'Argomenti',
'catalog.modal.args_hint': 'uno per riga',
'catalog.modal.config_schema': 'Chiavi segrete/env richieste',
'catalog.modal.config_schema_hint': 'virgola/nuova riga',
'catalog.modal.auth': 'Auth',
'catalog.modal.friendly': 'Nome visualizzato',
'catalog.modal.desc': 'Descrizione',
'catalog.modal.desc_hint': 'l\'LLM legge questo quando decide se attivare il connettore',
'catalog.modal.cancel': 'Annulla',
'catalog.modal.save': 'Aggiungi al catalogo',
'catalog.new.back': 'Indietro',
'catalog.new.title': 'Aggiungi connettore manualmente',
'catalog.new.script_warn': '<i class="bi bi-exclamation-triangle me-1"></i>Uno script locale esegue codice su questo computer. Niente lo verifica — a differenza del marketplace, non c\'è un digest da controllare.',
'catalog.new.name': 'Nome',
'catalog.new.name_hint': 'slug',
'catalog.new.scope': 'Ambito',
'catalog.new.type': 'Tipo',
'catalog.new.transport': 'Trasporto',
'catalog.new.command': 'Comando',
'catalog.new.command_ph': 'python3',
'catalog.new.script_path': 'Percorso script',
'catalog.new.script_path_hint': 'come <connettore>/<file>, sotto ./connectors',
'catalog.new.url': 'URL',
'catalog.new.args': 'Argomenti',
'catalog.new.args_hint': 'uno per riga',
'catalog.new.config_schema': 'Chiavi segrete/env richieste',
'catalog.new.config_schema_hint': 'virgola/nuova riga',
'catalog.new.auth': 'Auth',
'catalog.new.friendly': 'Nome visualizzato',
'catalog.new.desc': 'Descrizione',
'catalog.new.desc_hint': 'l\'LLM legge questo quando decide se attivare il connettore',
'catalog.new.cancel': 'Annulla',
'catalog.new.save': 'Aggiungi al catalogo',
'catalog.error.name': 'Il nome è obbligatorio.',
'catalog.confirm.delete': 'Rimuovere "{name}" dal catalogo?\n\nTutto ciò che è già stato attivato continuerà a funzionare.',
@@ -1039,6 +1056,7 @@ export default {
'common.saving': 'Salvataggio…',
'common.cancel': 'Annulla',
'common.loading': 'Caricamento…',
'common.saved': 'Salvato',
// ── Cartelle condivise (blueprint §6) ────────────────────────────────────────
'nav.shared_folders': 'Cartelle condivise',