Strumenti SDK Card
Gli strumenti Card SDK ti permettono di creare, validare, testare e gestire card partner personalizzate tramite MCP. Le card partner estendono DocFlow con logica di business personalizzata scritta in Python.
Ciclo di Vita delle Card
Crea → Valida → Testa → Approva → Usa nei WorkflowCrea una card con
sdk_create_cardosdk_import_githubValida con
sdk_validate_card(validazione in 5 fasi)Testa con
sdk_test_card(esecuzione in sandbox)Approva con
sdk_approve_card(richiesto admin)La card e' ora disponibile in
list_cardse puo' essere utilizzata nei workflow
Strumenti di Sviluppo
sdk_create_card
Crea una nuova card partner dal codice sorgente e dai manifesti. Esegue la validazione completa in 5 fasi e salva la card nel database. La card inizia in stato di attesa e richiede l'approvazione di un admin per essere attivata.
Parametri:
app_manifest
object
Si
Manifesto dell'app con id, nome, versione, info partner
card_manifest
object
Si
Manifesto della card con id, titolo, entry_point, class_name, args
card_type
string
Si
action o condition
source_code
string
Si
Codice sorgente Python (deve estendere PartnerCard)
test_code
string
Si
Codice di test Pytest per la card
locales
object
No
Traduzioni per le localizzazioni, es. {"en": {...}, "de": {...}}
Esempio di Manifesto App:
Esempio di Manifesto Card:
Esempio di Codice Sorgente:
Esempio di Risposta:
sdk_validate_card
Esegui la validazione in 5 fasi su una card partner senza salvare. Due modalita':
Modalita' A -- Valida una card esistente tramite ID
Modalita' B -- Valida nuovo codice sorgente inline
Parametri:
card_id
string
No
UUID della card esistente (Modalita' A)
app_manifest
object
No
Manifesto dell'app (Modalita' B)
card_manifest
object
No
Manifesto della card (Modalita' B)
card_type
string
No
action o condition (Modalita' B)
source_code
string
No
Codice sorgente Python (Modalita' B)
test_code
string
No
Codice di test (Modalita' B)
Fornisci card_id da solo (Modalita' A) oppure app_manifest + card_manifest + source_code insieme (Modalita' B).
Fasi di Validazione:
Struttura -- Verifica il layout dei file, lo schema del manifesto, i file richiesti
Analisi AST -- Controlla la sintassi Python, la gerarchia delle classi, le firme dei metodi
Dipendenze -- Valida gli import rispetto ai moduli consentiti
Test -- Esegue la suite di test della card
Comportamentale -- Esegue la card in sandbox per verificare il comportamento a runtime
sdk_test_card
Esegui una card partner in un ambiente sandbox con un contesto simulato. Utilizza lo stesso modello di sicurezza della produzione (builtin limitati, whitelist degli import, timeout di 10 secondi).
Parametri:
card_id
string
No
UUID della card esistente (Modalita' A)
source_code
string
No
Codice sorgente per test inline (Modalita' B)
class_name
string
No
Nome della classe per test inline (Modalita' B)
variables
object
No
Variabili da passare al costruttore della card
mock_context
object
No
Contesto di esecuzione simulato
Campi del Contesto Simulato:
Esempio di Risposta:
sdk_import_github
Importa un'app partner da un repository GitHub. Clona il repository, legge app.json e importa tutte le card trovate nella directory .docflowcompose.
Parametri:
github_url
string
Si
URL HTTPS di GitHub (es. https://github.com/org/repo)
branch
string
No
Branch da clonare (predefinito: main)
token
string
No
Token GitHub per repository privati
Struttura del Repository Attesa:
Esempio di Risposta:
Strumenti di Gestione
sdk_list_submissions
Elenca tutte le sottomissioni di card partner per l'organizzazione corrente.
Parametri: Nessuno
Esempio di Risposta:
sdk_get_submission_status
Ottieni lo stato di validazione e il report per una specifica sottomissione di card partner.
Parametri:
card_id
string
Si
UUID della card partner
Esempio di Risposta:
sdk_approve_card
Approva una card partner validata e attivala per l'utilizzo nei workflow. La card viene registrata nel registro runtime e diventa disponibile in list_cards.
Parametri:
card_id
string
Si
UUID della card partner
Richiede permessi di amministratore dell'organizzazione. La card deve essere in stato validated o rejected.
sdk_reject_card
Rifiuta una sottomissione di card partner e disattivala.
Parametri:
card_id
string
Si
UUID della card partner
reason
string
No
Motivo del rifiuto
Richiede permessi di amministratore dell'organizzazione.
sdk_delete_submission
Disattiva o elimina una sottomissione di card partner. Le card rifiutate o disabilitate vengono eliminate fisicamente dal database. Le card attive vengono prima disattivate.
Parametri:
card_id
string
Si
UUID della card partner
Richiede permessi di amministratore dell'organizzazione.
sdk_list_cards_picker
Elenca tutte le card abilitate e non deprecate con flag di ruolo. Utile per determinare quali card possono essere utilizzate in quali tipi di nodo durante la creazione dei workflow.
Parametri: Nessuno
Esempio di Risposta:
Last updated