133 lines
6.7 KiB
Python
133 lines
6.7 KiB
Python
# Copyright (c) 2025 Patrick Motsch
|
|
# AI node definitions - map to methodAi actions.
|
|
|
|
AI_NODES = [
|
|
{
|
|
"id": "ai.prompt",
|
|
"category": "ai",
|
|
"label": {"en": "Prompt", "de": "Prompt", "fr": "Invite"},
|
|
"description": {"en": "Enter a prompt and AI does something", "de": "Prompt eingeben und KI führt aus", "fr": "Entrer une invite et l'IA exécute"},
|
|
"parameters": [
|
|
{"name": "aiPrompt", "type": "string", "required": True, "frontendType": "textarea",
|
|
"description": {"en": "AI prompt", "de": "KI-Prompt", "fr": "Invite IA"}},
|
|
{"name": "outputFormat", "type": "string", "required": False, "frontendType": "select",
|
|
"frontendOptions": {"options": ["text", "json", "emailDraft"]},
|
|
"description": {"en": "Output format", "de": "Ausgabeformat", "fr": "Format de sortie"}, "default": "text"},
|
|
],
|
|
"inputs": 1,
|
|
"outputs": 1,
|
|
"inputPorts": {0: {"accepts": ["Transit"]}},
|
|
"outputPorts": {0: {"schema": "AiResult"}},
|
|
"meta": {"icon": "mdi-robot", "color": "#9C27B0"},
|
|
"_method": "ai",
|
|
"_action": "process",
|
|
},
|
|
{
|
|
"id": "ai.webResearch",
|
|
"category": "ai",
|
|
"label": {"en": "Web Research", "de": "Web-Recherche", "fr": "Recherche web"},
|
|
"description": {"en": "Research on the web", "de": "Recherche im Web", "fr": "Recherche sur le web"},
|
|
"parameters": [
|
|
{"name": "prompt", "type": "string", "required": True, "frontendType": "textarea",
|
|
"description": {"en": "Research query", "de": "Recherche-Anfrage", "fr": "Requête de recherche"}},
|
|
],
|
|
"inputs": 1,
|
|
"outputs": 1,
|
|
"inputPorts": {0: {"accepts": ["Transit"]}},
|
|
"outputPorts": {0: {"schema": "AiResult"}},
|
|
"meta": {"icon": "mdi-magnify", "color": "#9C27B0"},
|
|
"_method": "ai",
|
|
"_action": "webResearch",
|
|
},
|
|
{
|
|
"id": "ai.summarizeDocument",
|
|
"category": "ai",
|
|
"label": {"en": "Summarize Document", "de": "Dokument zusammenfassen", "fr": "Résumer document"},
|
|
"description": {"en": "Summarize document content", "de": "Dokumentinhalt zusammenfassen", "fr": "Résumer le contenu du document"},
|
|
"parameters": [
|
|
{"name": "summaryLength", "type": "string", "required": False, "frontendType": "select",
|
|
"frontendOptions": {"options": ["short", "medium", "long"]},
|
|
"description": {"en": "Short, medium, or long", "de": "Kurz, mittel oder lang", "fr": "Court, moyen ou long"}, "default": "medium"},
|
|
],
|
|
"inputs": 1,
|
|
"outputs": 1,
|
|
"inputPorts": {0: {"accepts": ["DocumentList", "Transit"]}},
|
|
"outputPorts": {0: {"schema": "AiResult"}},
|
|
"meta": {"icon": "mdi-file-document-outline", "color": "#9C27B0"},
|
|
"_method": "ai",
|
|
"_action": "summarizeDocument",
|
|
},
|
|
{
|
|
"id": "ai.translateDocument",
|
|
"category": "ai",
|
|
"label": {"en": "Translate Document", "de": "Dokument übersetzen", "fr": "Traduire document"},
|
|
"description": {"en": "Translate document to target language", "de": "Dokument in Zielsprache übersetzen", "fr": "Traduire le document"},
|
|
"parameters": [
|
|
{"name": "targetLanguage", "type": "string", "required": True, "frontendType": "select",
|
|
"frontendOptions": {"options": ["en", "de", "fr", "it", "es", "pt", "nl"]},
|
|
"description": {"en": "Target language", "de": "Zielsprache", "fr": "Langue cible"}},
|
|
],
|
|
"inputs": 1,
|
|
"outputs": 1,
|
|
"inputPorts": {0: {"accepts": ["DocumentList", "Transit"]}},
|
|
"outputPorts": {0: {"schema": "AiResult"}},
|
|
"meta": {"icon": "mdi-translate", "color": "#9C27B0"},
|
|
"_method": "ai",
|
|
"_action": "translateDocument",
|
|
},
|
|
{
|
|
"id": "ai.convertDocument",
|
|
"category": "ai",
|
|
"label": {"en": "Convert Document", "de": "Dokument konvertieren", "fr": "Convertir document"},
|
|
"description": {"en": "Convert document to another format", "de": "Dokument in anderes Format konvertieren", "fr": "Convertir le document"},
|
|
"parameters": [
|
|
{"name": "targetFormat", "type": "string", "required": True, "frontendType": "select",
|
|
"frontendOptions": {"options": ["pdf", "docx", "txt", "html", "md"]},
|
|
"description": {"en": "Target format", "de": "Zielformat", "fr": "Format cible"}},
|
|
],
|
|
"inputs": 1,
|
|
"outputs": 1,
|
|
"inputPorts": {0: {"accepts": ["DocumentList", "Transit"]}},
|
|
"outputPorts": {0: {"schema": "DocumentList"}},
|
|
"meta": {"icon": "mdi-file-convert", "color": "#9C27B0"},
|
|
"_method": "ai",
|
|
"_action": "convertDocument",
|
|
},
|
|
{
|
|
"id": "ai.generateDocument",
|
|
"category": "ai",
|
|
"label": {"en": "Generate Document", "de": "Dokument generieren", "fr": "Générer document"},
|
|
"description": {"en": "Generate document from prompt", "de": "Dokument aus Prompt generieren", "fr": "Générer un document"},
|
|
"parameters": [
|
|
{"name": "prompt", "type": "string", "required": True, "frontendType": "textarea",
|
|
"description": {"en": "Generation prompt", "de": "Generierungs-Prompt", "fr": "Invite de génération"}},
|
|
],
|
|
"inputs": 1,
|
|
"outputs": 1,
|
|
"inputPorts": {0: {"accepts": ["Transit"]}},
|
|
"outputPorts": {0: {"schema": "DocumentList"}},
|
|
"meta": {"icon": "mdi-file-plus", "color": "#9C27B0"},
|
|
"_method": "ai",
|
|
"_action": "generateDocument",
|
|
},
|
|
{
|
|
"id": "ai.generateCode",
|
|
"category": "ai",
|
|
"label": {"en": "Generate Code", "de": "Code generieren", "fr": "Générer code"},
|
|
"description": {"en": "Generate code from description", "de": "Code aus Beschreibung generieren", "fr": "Générer du code"},
|
|
"parameters": [
|
|
{"name": "prompt", "type": "string", "required": True, "frontendType": "textarea",
|
|
"description": {"en": "Code generation prompt", "de": "Code-Generierungs-Prompt", "fr": "Invite de génération de code"}},
|
|
{"name": "language", "type": "string", "required": False, "frontendType": "select",
|
|
"frontendOptions": {"options": ["python", "javascript", "typescript", "java", "csharp", "go"]},
|
|
"description": {"en": "Programming language", "de": "Programmiersprache", "fr": "Langage de programmation"}, "default": "python"},
|
|
],
|
|
"inputs": 1,
|
|
"outputs": 1,
|
|
"inputPorts": {0: {"accepts": ["Transit"]}},
|
|
"outputPorts": {0: {"schema": "AiResult"}},
|
|
"meta": {"icon": "mdi-code-tags", "color": "#9C27B0"},
|
|
"_method": "ai",
|
|
"_action": "generateCode",
|
|
},
|
|
]
|