Card SDK Tools
Die Card SDK Tools ermoeglichen es Ihnen, benutzerdefinierte Partner-Karten ueber MCP zu erstellen, zu validieren, zu testen und zu verwalten. Partner-Karten erweitern DocFlow mit benutzerdefinierter Geschaeftslogik, die in Python geschrieben ist.
Karten-Lebenszyklus
Erstellen → Validieren → Testen → Genehmigen → In Workflows verwendenErstellen Sie eine Karte mit
sdk_create_cardodersdk_import_githubValidieren Sie mit
sdk_validate_card(5-stufige Validierung)Testen Sie mit
sdk_test_card(Sandbox-Ausfuehrung)Genehmigen Sie mit
sdk_approve_card(Admin erforderlich)Die Karte ist nun in
list_cardsverfuegbar und kann in Workflows verwendet werden
Entwicklungs-Tools
sdk_create_card
Eine neue Partner-Karte aus Quellcode und Manifesten erstellen. Fuehrt die vollstaendige 5-stufige Validierung durch und speichert die Karte in der Datenbank. Die Karte beginnt im Status "ausstehend" und erfordert eine Admin-Genehmigung zur Aktivierung.
Parameter:
app_manifest
object
Ja
App-Manifest mit id, name, version, Partner-Info
card_manifest
object
Ja
Karten-Manifest mit id, title, entry_point, class_name, args
card_type
string
Ja
action oder condition
source_code
string
Ja
Python-Quellcode (muss PartnerCard erweitern)
test_code
string
Ja
Pytest-Testcode fuer die Karte
locales
object
Nein
Uebersetzungen, z.B. {"en": {...}, "de": {...}}
App-Manifest-Beispiel:
Karten-Manifest-Beispiel:
Quellcode-Beispiel:
Beispielantwort:
sdk_validate_card
5-stufige Validierung einer Partner-Karte ohne Speichern ausfuehren. Zwei Modi:
Modus A -- Eine bestehende Karte anhand der ID validieren
Modus B -- Neuen Quellcode inline validieren
Parameter:
card_id
string
Nein
UUID einer bestehenden Karte (Modus A)
app_manifest
object
Nein
App-Manifest (Modus B)
card_manifest
object
Nein
Karten-Manifest (Modus B)
card_type
string
Nein
action oder condition (Modus B)
source_code
string
Nein
Python-Quellcode (Modus B)
test_code
string
Nein
Testcode (Modus B)
Geben Sie entweder nur card_id an (Modus A) oder app_manifest + card_manifest + source_code zusammen (Modus B).
Validierungsstufen:
Struktur -- Ueberprueft Dateilayout, Manifest-Schema, erforderliche Dateien
AST-Analyse -- Prueft Python-Syntax, Klassenhierarchie, Methodensignaturen
Abhaengigkeiten -- Validiert Imports gegen erlaubte Module
Tests -- Fuehrt die Testsuite der Karte aus
Verhalten -- Fuehrt die Karte in der Sandbox aus, um das Laufzeitverhalten zu pruefen
sdk_test_card
Eine Partner-Karte in einer Sandbox-Umgebung mit einem Mock-Kontext ausfuehren. Verwendet das gleiche Sicherheitsmodell wie die Produktion (eingeschraenkte Builtins, Import-Whitelist, 10-Sekunden-Timeout).
Parameter:
card_id
string
Nein
UUID einer bestehenden Karte (Modus A)
source_code
string
Nein
Quellcode fuer Inline-Tests (Modus B)
class_name
string
Nein
Klassenname fuer Inline-Tests (Modus B)
variables
object
Nein
Variablen fuer den Karten-Konstruktor
mock_context
object
Nein
Mock-Ausfuehrungskontext
Mock-Kontext-Felder:
Beispielantwort:
sdk_import_github
Eine Partner-App aus einem GitHub-Repository importieren. Klont das Repository, liest app.json und importiert alle Karten aus dem .docflowcompose-Verzeichnis.
Parameter:
github_url
string
Ja
GitHub-HTTPS-URL (z.B. https://github.com/org/repo)
branch
string
Nein
Zu klonender Branch (Standard: main)
token
string
Nein
GitHub-Token fuer private Repositories
Erwartete Repository-Struktur:
Beispielantwort:
Verwaltungs-Tools
sdk_list_submissions
Alle Partner-Karten-Einreichungen der aktuellen Organisation auflisten.
Parameter: Keine
Beispielantwort:
sdk_get_submission_status
Den Validierungsstatus und Bericht fuer eine bestimmte Partner-Karten-Einreichung abrufen.
Parameter:
card_id
string
Ja
UUID der Partner-Karte
Beispielantwort:
sdk_approve_card
Eine validierte Partner-Karte genehmigen und fuer die Verwendung in Workflows aktivieren. Die Karte wird in der Laufzeit-Registry registriert und ist in list_cards verfuegbar.
Parameter:
card_id
string
Ja
UUID der Partner-Karte
Erfordert Organisations-Admin-Berechtigungen. Die Karte muss sich im Status validated oder rejected befinden.
sdk_reject_card
Eine Partner-Karten-Einreichung ablehnen und deaktivieren.
Parameter:
card_id
string
Ja
UUID der Partner-Karte
reason
string
Nein
Grund fuer die Ablehnung
Erfordert Organisations-Admin-Berechtigungen.
sdk_delete_submission
Eine Partner-Karten-Einreichung deaktivieren oder loeschen. Abgelehnte oder deaktivierte Karten werden physisch aus der Datenbank geloescht. Aktive Karten werden zuerst deaktiviert.
Parameter:
card_id
string
Ja
UUID der Partner-Karte
Erfordert Organisations-Admin-Berechtigungen.
sdk_list_cards_picker
Alle aktivierten, nicht veralteten Karten mit Rollen-Flags auflisten. Nuetzlich um zu bestimmen, welche Karten in welchen Knotentypen beim Erstellen von Workflows verwendet werden koennen.
Parameter: Keine
Beispielantwort:
Last updated
Was this helpful?