Outils du SDK de Cartes
Les outils du SDK de cartes vous permettent de créer, valider, tester et gérer des cartes partenaires personnalisées via MCP. Les cartes partenaires étendent DocFlow avec une logique métier personnalisée écrite en Python.
Cycle de vie des cartes
Create → Validate → Test → Approve → Use in WorkflowsCréer une carte avec
sdk_create_cardousdk_import_githubValider avec
sdk_validate_card(validation en 5 étapes)Tester avec
sdk_test_card(exécution sandboxée)Approuver avec
sdk_approve_card(administrateur requis)La carte est maintenant disponible dans
list_cardset peut être utilisée dans les workflows
Outils de développement
sdk_create_card
Créer une nouvelle carte partenaire à partir du code source et des manifestes. Exécute la validation complète en 5 étapes et enregistre la carte dans la base de données. La carte démarre dans un état en attente et nécessite l'approbation d'un administrateur pour être activée.
Paramètres :
app_manifest
object
Oui
Manifeste de l'application avec id, nom, version, infos partenaire
card_manifest
object
Oui
Manifeste de la carte avec id, titre, entry_point, class_name, args
card_type
string
Oui
action ou condition
source_code
string
Oui
Code source Python (doit étendre PartnerCard)
test_code
string
Oui
Code de test Pytest pour la carte
locales
object
Non
Traductions locales, ex. {"en": {...}, "de": {...}}
Exemple de manifeste d'application :
Exemple de manifeste de carte :
Exemple de code source :
Exemple de réponse :
sdk_validate_card
Exécuter la validation en 5 étapes sur une carte partenaire sans l'enregistrer. Deux modes :
Mode A — Valider une carte existante par ID
Mode B — Valider un nouveau code source en ligne
Paramètres :
card_id
string
Non
UUID de la carte existante (Mode A)
app_manifest
object
Non
Manifeste de l'application (Mode B)
card_manifest
object
Non
Manifeste de la carte (Mode B)
card_type
string
Non
action ou condition (Mode B)
source_code
string
Non
Code source Python (Mode B)
test_code
string
Non
Code de test (Mode B)
Fournissez soit card_id seul (Mode A), soit app_manifest + card_manifest + source_code ensemble (Mode B).
Étapes de validation :
Structure — Vérifie la disposition des fichiers, le schéma du manifeste, les fichiers requis
Analyse AST — Vérifie la syntaxe Python, la hiérarchie des classes, les signatures de méthodes
Dépendances — Valide les imports par rapport aux modules autorisés
Tests — Exécute la suite de tests de la carte
Comportemental — Exécute la carte en sandbox pour vérifier le comportement à l'exécution
sdk_test_card
Exécuter une carte partenaire dans un environnement sandboxé avec un contexte simulé. Utilise le même modèle de sécurité qu'en production (builtins restreints, liste blanche d'imports, timeout de 10 secondes).
Paramètres :
card_id
string
Non
UUID de la carte existante (Mode A)
source_code
string
Non
Code source pour le test en ligne (Mode B)
class_name
string
Non
Nom de la classe pour le test en ligne (Mode B)
variables
object
Non
Variables à passer au constructeur de la carte
mock_context
object
Non
Contexte d'exécution simulé
Champs du contexte simulé :
Exemple de réponse :
sdk_import_github
Importer une application partenaire depuis un dépôt GitHub. Clone le dépôt, lit app.json et importe toutes les cartes trouvées dans le répertoire .docflowcompose.
Paramètres :
github_url
string
Oui
URL HTTPS GitHub (ex. https://github.com/org/repo)
branch
string
Non
Branche à cloner (par défaut : main)
token
string
Non
Jeton GitHub pour les dépôts privés
Structure de dépôt attendue :
Exemple de réponse :
Outils de gestion
sdk_list_submissions
Lister toutes les soumissions de cartes partenaires pour l'organisation actuelle.
Paramètres : Aucun
Exemple de réponse :
sdk_get_submission_status
Obtenir le statut de validation et le rapport pour une soumission de carte partenaire spécifique.
Paramètres :
card_id
string
Oui
UUID de la carte partenaire
Exemple de réponse :
sdk_approve_card
Approuver une carte partenaire validée et l'activer pour une utilisation dans les workflows. La carte est enregistrée dans le registre d'exécution et devient disponible dans list_cards.
Paramètres :
card_id
string
Oui
UUID de la carte partenaire
Nécessite les permissions d'administrateur d'organisation. La carte doit être dans l'état validated ou rejected.
sdk_reject_card
Rejeter une soumission de carte partenaire et la désactiver.
Paramètres :
card_id
string
Oui
UUID de la carte partenaire
reason
string
Non
Motif du rejet
Nécessite les permissions d'administrateur d'organisation.
sdk_delete_submission
Désactiver ou supprimer une soumission de carte partenaire. Les cartes rejetées ou désactivées sont physiquement supprimées de la base de données. Les cartes actives sont d'abord désactivées.
Paramètres :
card_id
string
Oui
UUID de la carte partenaire
Nécessite les permissions d'administrateur d'organisation.
sdk_list_cards_picker
Lister toutes les cartes activées et non obsolètes avec les indicateurs de rôle. Utile pour déterminer quelles cartes peuvent être utilisées dans quels types de nœuds lors de la construction de workflows.
Paramètres : Aucun
Exemple de réponse :
Last updated