• feat: menu + — Connecteurs (socle) — phase 5/8 (v7.55.0)
    FlowDeck CI / lint (push) Successful in 2m11s
    FlowDeck CI / test (push) Failing after 15m16s
    FlowDeck CI / docker (push) Skipped

    bruno released this 2026-10-06 23:26:19 -04:00 | 36 commits to main since this release

    • Table agent_connectors (migration 32) : colonnes plates name, url,
      secret_encrypted, enabled, status, detail — config_json remis (YAGNI, les
      scopes OAuth des phases 6-7 ajouteront le leur).
    • app/services/connectors.py : 1 fichier au lieu du package connectors/ —
      3 natifs (gitea, github, web) servis à la volée avec statut sans réseau,
      CRUD des personnels (URL validée par _validate_url = garde SSRF, clé chiffrée
      Fernet et jamais renvoyée — seul has_secret), probe() qui persiste
      status/detail, connector_fetch() borné à 20 000 car.
    • API /api/agent/connectors : GET, POST (400 URL privée), PATCH, DELETE,
      POST /connectors/probe — 401 sans session, CSRF global. OpenAPI 519 chemins.
    • Outil LLM connector_fetch (26e outil) : un seul outil qui dispatche vers
      Gitea/GitHub/web/personnalisé (id ou nom ou kind + path + query) au lieu d'un
      outil par connecteur ; désactivé/inconnu = erreur outil, jamais de run cassé.
    • Menu + : section « Connecteurs » (catalogue avec badge ✓/✗/⚠/?), fiche par
      connecteur (Tester, Activer/Désactiver, Supprimer — masqués pour les natifs),
      formulaire « Ajouter un connecteur personnalisé » (clé en type=password).
    • Tests : tests/test_v755_connectors.py (13) — 3 natifs, roundtrip Fernet de la
      clé, 5 URLs refusées (localhost, 127.0.0.1, metadata cloud, ftp:, file:),
      toggle persisté, 401, probe OK/erreur, outil complet, câblage menu ;
      test_v751/v753/v754 adaptés (1 seule section « bientôt » = plugins).
      Suite complète 1306 verts (-n auto), ruff 0, eslint 0 problème.
    Downloads