68 lines
4.3 KiB
Python
68 lines
4.3 KiB
Python
# Copyright (c) 2025 Patrick Motsch
|
|
# Trustee node definitions - map to methodTrustee actions.
|
|
# Pipeline: extractFromFiles -> processDocuments -> syncToAccounting.
|
|
|
|
TRUSTEE_NODES = [
|
|
{
|
|
"id": "trustee.extractFromFiles",
|
|
"category": "trustee",
|
|
"label": {"en": "Extract Documents", "de": "Dokumente extrahieren", "fr": "Extraire documents"},
|
|
"description": {
|
|
"en": "Extract document type and data from PDF/JPG via AI (from fileIds or SharePoint folder)",
|
|
"de": "Dokumenttyp und Daten aus PDF/JPG per AI extrahieren (aus Dateien oder SharePoint-Ordner)",
|
|
"fr": "Extraire type et données de PDF/JPG par IA",
|
|
},
|
|
"parameters": [
|
|
{"name": "connectionId", "type": "string", "required": False, "description": {"en": "SharePoint connection (if reading from SharePoint)", "de": "SharePoint-Verbindung (falls aus SharePoint)", "fr": "Connexion SharePoint"}, "default": ""},
|
|
{"name": "sharepointFolder", "type": "string", "required": False, "description": {"en": "SharePoint folder path (e.g. /sites/MySite/Documents/Expenses)", "de": "SharePoint-Ordnerpfad", "fr": "Chemin dossier SharePoint"}, "default": ""},
|
|
{"name": "featureInstanceId", "type": "string", "required": True, "description": {"en": "Trustee feature instance ID", "de": "Trustee Feature-Instanz-ID", "fr": "ID instance Trustee"}},
|
|
{"name": "prompt", "type": "string", "required": False, "description": {"en": "AI prompt for extraction (optional)", "de": "AI-Prompt für Extraktion (optional)", "fr": "Prompt IA pour extraction"}, "default": ""},
|
|
],
|
|
"inputs": 1,
|
|
"outputs": 1,
|
|
"meta": {"icon": "mdi-file-document-scan", "color": "#4CAF50"},
|
|
"_method": "trustee",
|
|
"_action": "extractFromFiles",
|
|
"_paramMap": {"connectionId": "connectionReference", "sharepointFolder": "sharepointFolder", "featureInstanceId": "featureInstanceId", "prompt": "prompt"},
|
|
},
|
|
{
|
|
"id": "trustee.processDocuments",
|
|
"category": "trustee",
|
|
"label": {"en": "Process Documents", "de": "Dokumente verarbeiten", "fr": "Traiter documents"},
|
|
"description": {
|
|
"en": "Create TrusteeDocument + TrusteePosition from extraction result",
|
|
"de": "TrusteeDocument + TrusteePosition aus Extraktionsergebnis erstellen",
|
|
"fr": "Créer TrusteeDocument + TrusteePosition à partir du résultat",
|
|
},
|
|
"parameters": [
|
|
{"name": "documentList", "type": "string", "required": True, "description": {"en": "Reference to extractFromFiles result", "de": "Referenz auf extractFromFiles-Ergebnis", "fr": "Référence au résultat extractFromFiles"}},
|
|
{"name": "featureInstanceId", "type": "string", "required": True, "description": {"en": "Trustee feature instance ID", "de": "Trustee Feature-Instanz-ID", "fr": "ID instance Trustee"}},
|
|
],
|
|
"inputs": 1,
|
|
"outputs": 1,
|
|
"meta": {"icon": "mdi-file-document-check", "color": "#4CAF50"},
|
|
"_method": "trustee",
|
|
"_action": "processDocuments",
|
|
"_paramMap": {"documentList": "documentList", "featureInstanceId": "featureInstanceId"},
|
|
},
|
|
{
|
|
"id": "trustee.syncToAccounting",
|
|
"category": "trustee",
|
|
"label": {"en": "Sync to Accounting", "de": "In Buchhaltung synchronisieren", "fr": "Synchroniser comptabilité"},
|
|
"description": {
|
|
"en": "Push trustee positions to accounting system",
|
|
"de": "Trustee-Positionen in Buchhaltungssystem übertragen",
|
|
"fr": "Transférer les positions vers la comptabilité",
|
|
},
|
|
"parameters": [
|
|
{"name": "documentList", "type": "string", "required": True, "description": {"en": "Reference to processDocuments result", "de": "Referenz auf processDocuments-Ergebnis", "fr": "Référence au résultat processDocuments"}},
|
|
{"name": "featureInstanceId", "type": "string", "required": True, "description": {"en": "Trustee feature instance ID", "de": "Trustee Feature-Instanz-ID", "fr": "ID instance Trustee"}},
|
|
],
|
|
"inputs": 1,
|
|
"outputs": 1,
|
|
"meta": {"icon": "mdi-calculator", "color": "#4CAF50"},
|
|
"_method": "trustee",
|
|
"_action": "syncToAccounting",
|
|
"_paramMap": {"documentList": "documentList", "featureInstanceId": "featureInstanceId"},
|
|
},
|
|
]
|