86 lines
4.5 KiB
Python
86 lines
4.5 KiB
Python
# Copyright (c) 2025 Patrick Motsch
|
|
# Email node definitions - map to methodOutlook actions.
|
|
|
|
from modules.shared.i18nRegistry import t
|
|
|
|
EMAIL_NODES = [
|
|
{
|
|
"id": "email.checkEmail",
|
|
"category": "email",
|
|
"label": t("E-Mail prüfen"),
|
|
"description": t("Neue E-Mails prüfen"),
|
|
"parameters": [
|
|
{"name": "connectionReference", "type": "string", "required": True, "frontendType": "userConnection",
|
|
"frontendOptions": {"authority": "msft"},
|
|
"description": t("E-Mail-Konto Verbindung")},
|
|
{"name": "folder", "type": "string", "required": False, "frontendType": "text",
|
|
"description": t("Ordner"), "default": "Inbox"},
|
|
{"name": "limit", "type": "number", "required": False, "frontendType": "number",
|
|
"description": t("Max E-Mails"), "default": 100},
|
|
{"name": "filter", "type": "string", "required": False, "frontendType": "text",
|
|
"description": t("Filter-Ausdruck (z.B. 'from:max@example.com hasAttachment:true betreff')"), "default": ""},
|
|
],
|
|
"inputs": 1,
|
|
"outputs": 1,
|
|
"inputPorts": {0: {"accepts": ["Transit"]}},
|
|
"outputPorts": {0: {"schema": "EmailList"}},
|
|
"meta": {"icon": "mdi-email-check", "color": "#1976D2", "usesAi": False},
|
|
"_method": "outlook",
|
|
"_action": "readEmails",
|
|
},
|
|
{
|
|
"id": "email.searchEmail",
|
|
"category": "email",
|
|
"label": t("E-Mail suchen"),
|
|
"description": t("E-Mails suchen"),
|
|
"parameters": [
|
|
{"name": "connectionReference", "type": "string", "required": True, "frontendType": "userConnection",
|
|
"frontendOptions": {"authority": "msft"},
|
|
"description": t("E-Mail-Konto Verbindung")},
|
|
{"name": "query", "type": "string", "required": True, "frontendType": "text",
|
|
"description": t("Suchausdruck (z.B. 'from:max@example.com hasAttachments:true Rechnung')")},
|
|
{"name": "folder", "type": "string", "required": False, "frontendType": "text",
|
|
"description": t("Ordner"), "default": "All"},
|
|
{"name": "limit", "type": "number", "required": False, "frontendType": "number",
|
|
"description": t("Max E-Mails"), "default": 100},
|
|
],
|
|
"inputs": 1,
|
|
"outputs": 1,
|
|
"inputPorts": {0: {"accepts": ["Transit"]}},
|
|
"outputPorts": {0: {"schema": "EmailList"}},
|
|
"meta": {"icon": "mdi-email-search", "color": "#1976D2", "usesAi": False},
|
|
"_method": "outlook",
|
|
"_action": "searchEmails",
|
|
},
|
|
{
|
|
"id": "email.draftEmail",
|
|
"category": "email",
|
|
"label": t("E-Mail entwerfen"),
|
|
"description": t(
|
|
"AI-gestützt einen E-Mail-Entwurf aus Kontext und optionalen Dokumenten erstellen"),
|
|
"parameters": [
|
|
{"name": "connectionReference", "type": "string", "required": True, "frontendType": "userConnection",
|
|
"frontendOptions": {"authority": "msft"},
|
|
"description": t("E-Mail-Konto")},
|
|
{"name": "context", "type": "string", "required": False, "frontendType": "templateTextarea",
|
|
"description": t("Kontext / Brief-Beschreibung für die KI-Komposition"), "default": ""},
|
|
{"name": "to", "type": "string", "required": False, "frontendType": "text",
|
|
"description": t("Empfänger (komma-separiert, optional für Entwurf)"), "default": ""},
|
|
{"name": "documentList", "type": "string", "required": False, "frontendType": "hidden",
|
|
"description": t("Anhang-Dokumente (via Wire oder DataRef)"), "default": ""},
|
|
{"name": "emailContent", "type": "string", "required": False, "frontendType": "hidden",
|
|
"description": t("Direkt vorbereiteter Inhalt {subject, body, to} (via Wire — überspringt KI)"),
|
|
"default": ""},
|
|
{"name": "emailStyle", "type": "string", "required": False, "frontendType": "select",
|
|
"frontendOptions": {"options": ["formal", "casual", "business"]},
|
|
"description": t("Stil"), "default": "business"},
|
|
],
|
|
"inputs": 1,
|
|
"outputs": 1,
|
|
"inputPorts": {0: {"accepts": ["EmailDraft", "AiResult", "Transit", "ConsolidateResult", "DocumentList"]}},
|
|
"outputPorts": {0: {"schema": "ActionResult"}},
|
|
"meta": {"icon": "mdi-email-edit", "color": "#1976D2", "usesAi": False},
|
|
"_method": "outlook",
|
|
"_action": "composeAndDraftEmailWithContext",
|
|
},
|
|
]
|