n8n-nodes-dev-server 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +120 -0
- package/dist/credentials/DevServerApi.credentials.d.ts +17 -0
- package/dist/credentials/DevServerApi.credentials.js +45 -0
- package/dist/credentials/DevServerApi.credentials.js.map +1 -0
- package/dist/icons/github.dark.svg +3 -0
- package/dist/icons/github.svg +3 -0
- package/dist/nodes/DevServer/ApiKeyDescription.d.ts +3 -0
- package/dist/nodes/DevServer/ApiKeyDescription.js +90 -0
- package/dist/nodes/DevServer/ApiKeyDescription.js.map +1 -0
- package/dist/nodes/DevServer/ConversationDescription.d.ts +3 -0
- package/dist/nodes/DevServer/ConversationDescription.js +243 -0
- package/dist/nodes/DevServer/ConversationDescription.js.map +1 -0
- package/dist/nodes/DevServer/DevServer.node.d.ts +14 -0
- package/dist/nodes/DevServer/DevServer.node.js +335 -0
- package/dist/nodes/DevServer/DevServer.node.js.map +1 -0
- package/dist/nodes/DevServer/DevServerTrigger.node.d.ts +5 -0
- package/dist/nodes/DevServer/DevServerTrigger.node.js +246 -0
- package/dist/nodes/DevServer/DevServerTrigger.node.js.map +1 -0
- package/dist/nodes/DevServer/FilesystemDescription.d.ts +3 -0
- package/dist/nodes/DevServer/FilesystemDescription.js +90 -0
- package/dist/nodes/DevServer/FilesystemDescription.js.map +1 -0
- package/dist/nodes/DevServer/JobDescription.d.ts +3 -0
- package/dist/nodes/DevServer/JobDescription.js +256 -0
- package/dist/nodes/DevServer/JobDescription.js.map +1 -0
- package/dist/nodes/DevServer/MessageDescription.d.ts +3 -0
- package/dist/nodes/DevServer/MessageDescription.js +151 -0
- package/dist/nodes/DevServer/MessageDescription.js.map +1 -0
- package/dist/nodes/DevServer/ProviderDescription.d.ts +3 -0
- package/dist/nodes/DevServer/ProviderDescription.js +65 -0
- package/dist/nodes/DevServer/ProviderDescription.js.map +1 -0
- package/dist/nodes/DevServer/QueryDescription.d.ts +3 -0
- package/dist/nodes/DevServer/QueryDescription.js +152 -0
- package/dist/nodes/DevServer/QueryDescription.js.map +1 -0
- package/dist/nodes/DevServer/WebhookDescription.d.ts +3 -0
- package/dist/nodes/DevServer/WebhookDescription.js +180 -0
- package/dist/nodes/DevServer/WebhookDescription.js.map +1 -0
- package/dist/nodes/DevServer/devServer.svg +32 -0
- package/dist/nodes/DevServer/transport.d.ts +6 -0
- package/dist/nodes/DevServer/transport.js +94 -0
- package/dist/nodes/DevServer/transport.js.map +1 -0
- package/dist/package.json +58 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +58 -0
package/README.md
ADDED
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
# n8n-nodes-dev-server
|
|
2
|
+
|
|
3
|
+
Dieses Paket enthält n8n Nodes für die Integration mit dem LLM Dev Server.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
Folge der [n8n Community Nodes Installation Guide](https://docs.n8n.io/integrations/community-nodes/installation/).
|
|
8
|
+
|
|
9
|
+
## Nodes
|
|
10
|
+
|
|
11
|
+
### Dev Server
|
|
12
|
+
|
|
13
|
+
Der Hauptnode für die Interaktion mit dem Dev Server. Unterstützt folgende Ressourcen:
|
|
14
|
+
|
|
15
|
+
#### Job
|
|
16
|
+
- **Erstellen** - Neuen Job mit Arbeitsverzeichnis erstellen
|
|
17
|
+
- **Abrufen** - Job-Details abrufen
|
|
18
|
+
- **Alle abrufen** - Alle Jobs auflisten
|
|
19
|
+
- **Status abrufen** - Aktuellen Job-Status abrufen
|
|
20
|
+
- **Aktualisieren** - Job aktualisieren
|
|
21
|
+
- **Abbrechen** - Laufenden Job abbrechen
|
|
22
|
+
- **Löschen** - Job löschen
|
|
23
|
+
- **Dateien abrufen** - Job-Dateien auflisten
|
|
24
|
+
|
|
25
|
+
#### Konversation
|
|
26
|
+
- **Erstellen** - Neue Konversation in einem Job erstellen
|
|
27
|
+
- **Abrufen** - Konversation abrufen
|
|
28
|
+
- **Alle abrufen** - Alle Konversationen eines Jobs auflisten
|
|
29
|
+
- **Nachrichten abrufen** - Nachrichten einer Konversation abrufen
|
|
30
|
+
- **Aktualisieren** - Konversation aktualisieren
|
|
31
|
+
- **Löschen** - Konversation löschen
|
|
32
|
+
|
|
33
|
+
#### Nachricht
|
|
34
|
+
- **Senden** - Nachricht senden und auf Antwort warten
|
|
35
|
+
- **Senden (Streaming)** - Nachricht mit Streaming-Antwort senden
|
|
36
|
+
|
|
37
|
+
#### Einmalige Abfrage
|
|
38
|
+
- **Einmalige Abfrage** - Einmalige Abfrage ohne persistente Konversation
|
|
39
|
+
|
|
40
|
+
#### Dateisystem
|
|
41
|
+
- **Durchsuchen** - Verzeichnisinhalt auflisten
|
|
42
|
+
- **Wurzelverzeichnisse** - Verfügbare Wurzelverzeichnisse abrufen
|
|
43
|
+
- **Verzeichnis erstellen** - Neues Verzeichnis erstellen
|
|
44
|
+
- **Git-Info** - Git-Repository-Informationen abrufen
|
|
45
|
+
|
|
46
|
+
#### Provider
|
|
47
|
+
- **Alle abrufen** - Alle Provider auflisten
|
|
48
|
+
- **Status prüfen** - Provider-Status abrufen
|
|
49
|
+
- **Authentifizieren** - Provider-Authentifizierung starten
|
|
50
|
+
- **Abmelden** - Provider-Sitzung beenden
|
|
51
|
+
|
|
52
|
+
#### API-Key
|
|
53
|
+
- **Erstellen** - Neuen API-Key erstellen
|
|
54
|
+
- **Alle abrufen** - Alle API-Keys auflisten
|
|
55
|
+
- **Widerrufen** - API-Key widerrufen
|
|
56
|
+
|
|
57
|
+
#### Webhook
|
|
58
|
+
- **Erstellen** - Neuen Webhook erstellen
|
|
59
|
+
- **Abrufen** - Webhook abrufen
|
|
60
|
+
- **Alle abrufen** - Alle Webhooks auflisten
|
|
61
|
+
- **Aktualisieren** - Webhook aktualisieren
|
|
62
|
+
- **Löschen** - Webhook löschen
|
|
63
|
+
|
|
64
|
+
### Dev Server Trigger
|
|
65
|
+
|
|
66
|
+
Ein Trigger-Node der Webhook-Ereignisse vom Dev Server empfängt.
|
|
67
|
+
|
|
68
|
+
**Unterstützte Events:**
|
|
69
|
+
- `job.created` - Job wurde erstellt
|
|
70
|
+
- `job.started` - Job wurde gestartet
|
|
71
|
+
- `job.completed` - Job wurde abgeschlossen
|
|
72
|
+
- `job.failed` - Job ist fehlgeschlagen
|
|
73
|
+
- `conversation.created` - Konversation wurde erstellt
|
|
74
|
+
- `conversation.updated` - Konversation wurde aktualisiert
|
|
75
|
+
- `message.received` - Nachricht wurde empfangen
|
|
76
|
+
- `message.sent` - Nachricht wurde gesendet
|
|
77
|
+
- `streaming.started` - Streaming wurde gestartet
|
|
78
|
+
- `streaming.chunk` - Streaming-Chunk empfangen
|
|
79
|
+
- `streaming.completed` - Streaming wurde beendet
|
|
80
|
+
- `tool.called` - Tool wurde aufgerufen
|
|
81
|
+
|
|
82
|
+
**Sicherheit:**
|
|
83
|
+
- HMAC-SHA256 Signaturvalidierung
|
|
84
|
+
- Filterung nach Job-ID oder Konversations-ID
|
|
85
|
+
|
|
86
|
+
## Credentials
|
|
87
|
+
|
|
88
|
+
### Dev Server API
|
|
89
|
+
|
|
90
|
+
- **Base URL**: URL des Dev Servers (z.B. `http://localhost:3000`)
|
|
91
|
+
- **API Key**: API-Schlüssel für die Authentifizierung (erstellt über das Dev Server UI)
|
|
92
|
+
|
|
93
|
+
## Verwendung
|
|
94
|
+
|
|
95
|
+
1. Erstelle einen API-Key im Dev Server unter "Einstellungen" → "API-Keys"
|
|
96
|
+
2. Füge die Credentials in n8n hinzu
|
|
97
|
+
3. Verwende den Dev Server Node in deinen Workflows
|
|
98
|
+
|
|
99
|
+
### Beispiel: Einmalige Abfrage
|
|
100
|
+
|
|
101
|
+
```
|
|
102
|
+
Dev Server Node
|
|
103
|
+
├── Ressource: Einmalige Abfrage
|
|
104
|
+
├── Job: [Job auswählen]
|
|
105
|
+
├── Provider: Claude
|
|
106
|
+
└── Abfrage: "Analysiere den Code in diesem Verzeichnis"
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
### Beispiel: Webhook Trigger
|
|
110
|
+
|
|
111
|
+
```
|
|
112
|
+
Dev Server Trigger
|
|
113
|
+
├── Events: Streaming Chunk
|
|
114
|
+
├── Webhook Secret: [Secret vom Dev Server]
|
|
115
|
+
└── Job-Filter: [Optional]
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
## Lizenz
|
|
119
|
+
|
|
120
|
+
[MIT](LICENSE.md)
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ICredentialType, INodeProperties } from 'n8n-workflow';
|
|
2
|
+
export declare class DevServerApi implements ICredentialType {
|
|
3
|
+
name: string;
|
|
4
|
+
displayName: string;
|
|
5
|
+
documentationUrl: string;
|
|
6
|
+
icon: "file:../nodes/DevServer/devServer.svg";
|
|
7
|
+
test: {
|
|
8
|
+
request: {
|
|
9
|
+
baseURL: string;
|
|
10
|
+
url: string;
|
|
11
|
+
headers: {
|
|
12
|
+
Authorization: string;
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
properties: INodeProperties[];
|
|
17
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DevServerApi = void 0;
|
|
4
|
+
class DevServerApi {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.name = 'devServerApi';
|
|
7
|
+
this.displayName = 'Dev Server API';
|
|
8
|
+
this.documentationUrl = 'https://github.com/chrishdx/llm-dev-server';
|
|
9
|
+
this.icon = 'file:../nodes/DevServer/devServer.svg';
|
|
10
|
+
this.test = {
|
|
11
|
+
request: {
|
|
12
|
+
baseURL: '={{$credentials.baseUrl}}',
|
|
13
|
+
url: '/api/health',
|
|
14
|
+
headers: {
|
|
15
|
+
Authorization: '=Bearer {{$credentials.apiKey}}',
|
|
16
|
+
},
|
|
17
|
+
},
|
|
18
|
+
};
|
|
19
|
+
this.properties = [
|
|
20
|
+
{
|
|
21
|
+
displayName: 'Server URL',
|
|
22
|
+
name: 'baseUrl',
|
|
23
|
+
type: 'string',
|
|
24
|
+
default: 'http://localhost:3001',
|
|
25
|
+
placeholder: 'https://dev-server.example.com',
|
|
26
|
+
description: 'Die Basis-URL des LLM Dev Servers',
|
|
27
|
+
required: true,
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
displayName: 'API Key',
|
|
31
|
+
name: 'apiKey',
|
|
32
|
+
type: 'string',
|
|
33
|
+
typeOptions: {
|
|
34
|
+
password: true,
|
|
35
|
+
},
|
|
36
|
+
default: '',
|
|
37
|
+
placeholder: 'sk-...',
|
|
38
|
+
description: 'Der API-Schlüssel für die Authentifizierung. Kann im Dev-Server unter API-Schlüssel erstellt werden.',
|
|
39
|
+
required: true,
|
|
40
|
+
},
|
|
41
|
+
];
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
exports.DevServerApi = DevServerApi;
|
|
45
|
+
//# sourceMappingURL=DevServerApi.credentials.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DevServerApi.credentials.js","sourceRoot":"","sources":["../../credentials/DevServerApi.credentials.ts"],"names":[],"mappings":";;;AAKA,MAAa,YAAY;IAAzB;QACC,SAAI,GAAG,cAAc,CAAC;QACtB,gBAAW,GAAG,gBAAgB,CAAC;QAC/B,qBAAgB,GAAG,4CAA4C,CAAC;QAChE,SAAI,GAAG,uCAAgD,CAAC;QACxD,SAAI,GAAG;YACN,OAAO,EAAE;gBACR,OAAO,EAAE,2BAA2B;gBACpC,GAAG,EAAE,aAAa;gBAClB,OAAO,EAAE;oBACR,aAAa,EAAE,iCAAiC;iBAChD;aACD;SACD,CAAC;QACF,eAAU,GAAsB;YAC/B;gBACC,WAAW,EAAE,YAAY;gBACzB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,uBAAuB;gBAChC,WAAW,EAAE,gCAAgC;gBAC7C,WAAW,EAAE,mCAAmC;gBAChD,QAAQ,EAAE,IAAI;aACd;YACD;gBACC,WAAW,EAAE,SAAS;gBACtB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE;oBACZ,QAAQ,EAAE,IAAI;iBACd;gBACD,OAAO,EAAE,EAAE;gBACX,WAAW,EAAE,QAAQ;gBACrB,WAAW,EAAE,sGAAsG;gBACnH,QAAQ,EAAE,IAAI;aACd;SACD,CAAC;IACH,CAAC;CAAA;AArCD,oCAqCC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
<svg width="40" height="40" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M20.0165 0C8.94791 0 0 9.01388 0 20.1653C0 29.0792 5.73324 36.6246 13.6868 39.2952C14.6812 39.496 15.0454 38.8613 15.0454 38.3274C15.0454 37.8599 15.0126 36.2575 15.0126 34.5879C9.4445 35.79 8.28498 32.1841 8.28498 32.1841C7.39015 29.847 6.06429 29.2463 6.06429 29.2463C4.24185 28.011 6.19704 28.011 6.19704 28.011C8.21861 28.1446 9.27938 30.081 9.27938 30.081C11.0686 33.1522 13.9518 32.2844 15.1118 31.7502C15.2773 30.4481 15.8079 29.5467 16.3713 29.046C11.9303 28.5785 7.25781 26.8425 7.25781 19.0967C7.25781 16.8932 8.05267 15.0905 9.31216 13.6884C9.11344 13.1877 8.41732 11.1174 9.51128 8.34644C9.51128 8.34644 11.2014 7.81217 15.0122 10.4164C16.6438 9.97495 18.3263 9.7504 20.0165 9.74851C21.7067 9.74851 23.4295 9.98246 25.0205 10.4164C28.8317 7.81217 30.5218 8.34644 30.5218 8.34644C31.6158 11.1174 30.9192 13.1877 30.7205 13.6884C32.0132 15.0905 32.7753 16.8932 32.7753 19.0967C32.7753 26.8425 28.1028 28.5449 23.6287 29.046C24.358 29.6802 24.9873 30.882 24.9873 32.7851C24.9873 35.4893 24.9545 37.6596 24.9545 38.327C24.9545 38.8613 25.3192 39.496 26.3132 39.2956C34.2667 36.6242 39.9999 29.0792 39.9999 20.1653C40.0327 9.01388 31.052 0 20.0165 0Z" fill="white"/>
|
|
3
|
+
</svg>
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
<svg width="40" height="40" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M20.0165 0C8.94791 0 0 9.01388 0 20.1653C0 29.0792 5.73324 36.6246 13.6868 39.2952C14.6812 39.496 15.0454 38.8613 15.0454 38.3274C15.0454 37.8599 15.0126 36.2575 15.0126 34.5879C9.4445 35.79 8.28498 32.1841 8.28498 32.1841C7.39015 29.847 6.06429 29.2463 6.06429 29.2463C4.24185 28.011 6.19704 28.011 6.19704 28.011C8.21861 28.1446 9.27938 30.081 9.27938 30.081C11.0686 33.1522 13.9518 32.2844 15.1118 31.7502C15.2773 30.4481 15.8079 29.5467 16.3713 29.046C11.9303 28.5785 7.25781 26.8425 7.25781 19.0967C7.25781 16.8932 8.05267 15.0905 9.31216 13.6884C9.11344 13.1877 8.41732 11.1174 9.51128 8.34644C9.51128 8.34644 11.2014 7.81217 15.0122 10.4164C16.6438 9.97495 18.3263 9.7504 20.0165 9.74851C21.7067 9.74851 23.4295 9.98246 25.0205 10.4164C28.8317 7.81217 30.5218 8.34644 30.5218 8.34644C31.6158 11.1174 30.9192 13.1877 30.7205 13.6884C32.0132 15.0905 32.7753 16.8932 32.7753 19.0967C32.7753 26.8425 28.1028 28.5449 23.6287 29.046C24.358 29.6802 24.9873 30.882 24.9873 32.7851C24.9873 35.4893 24.9545 37.6596 24.9545 38.327C24.9545 38.8613 25.3192 39.496 26.3132 39.2956C34.2667 36.6242 39.9999 29.0792 39.9999 20.1653C40.0327 9.01388 31.052 0 20.0165 0Z" fill="#24292F"/>
|
|
3
|
+
</svg>
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.apiKeyFields = exports.apiKeyOperations = void 0;
|
|
4
|
+
exports.apiKeyOperations = [
|
|
5
|
+
{
|
|
6
|
+
displayName: 'Operation',
|
|
7
|
+
name: 'operation',
|
|
8
|
+
type: 'options',
|
|
9
|
+
noDataExpression: true,
|
|
10
|
+
displayOptions: {
|
|
11
|
+
show: {
|
|
12
|
+
resource: ['apiKey'],
|
|
13
|
+
},
|
|
14
|
+
},
|
|
15
|
+
options: [
|
|
16
|
+
{
|
|
17
|
+
name: 'Erstellen',
|
|
18
|
+
value: 'create',
|
|
19
|
+
description: 'Neuen API-Key erstellen',
|
|
20
|
+
action: 'Create an API key',
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
name: 'Get Many',
|
|
24
|
+
value: 'getAll',
|
|
25
|
+
description: 'Alle API-Keys auflisten',
|
|
26
|
+
action: 'Get many API keys',
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
name: 'Widerrufen',
|
|
30
|
+
value: 'revoke',
|
|
31
|
+
description: 'API-Key widerrufen',
|
|
32
|
+
action: 'Revoke an API key',
|
|
33
|
+
},
|
|
34
|
+
],
|
|
35
|
+
default: 'getAll',
|
|
36
|
+
},
|
|
37
|
+
];
|
|
38
|
+
exports.apiKeyFields = [
|
|
39
|
+
{
|
|
40
|
+
displayName: 'Name',
|
|
41
|
+
name: 'name',
|
|
42
|
+
type: 'string',
|
|
43
|
+
required: true,
|
|
44
|
+
default: '',
|
|
45
|
+
displayOptions: {
|
|
46
|
+
show: {
|
|
47
|
+
resource: ['apiKey'],
|
|
48
|
+
operation: ['create'],
|
|
49
|
+
},
|
|
50
|
+
},
|
|
51
|
+
description: 'Name für den API-Key',
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
displayName: 'Key ID',
|
|
55
|
+
name: 'keyId',
|
|
56
|
+
type: 'string',
|
|
57
|
+
required: true,
|
|
58
|
+
default: '',
|
|
59
|
+
displayOptions: {
|
|
60
|
+
show: {
|
|
61
|
+
resource: ['apiKey'],
|
|
62
|
+
operation: ['revoke'],
|
|
63
|
+
},
|
|
64
|
+
},
|
|
65
|
+
description: 'ID des zu widerrufenden Keys',
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
displayName: 'Optionen',
|
|
69
|
+
name: 'options',
|
|
70
|
+
type: 'collection',
|
|
71
|
+
placeholder: 'Option hinzufügen',
|
|
72
|
+
default: {},
|
|
73
|
+
displayOptions: {
|
|
74
|
+
show: {
|
|
75
|
+
resource: ['apiKey'],
|
|
76
|
+
operation: ['create'],
|
|
77
|
+
},
|
|
78
|
+
},
|
|
79
|
+
options: [
|
|
80
|
+
{
|
|
81
|
+
displayName: 'Ablaufdatum',
|
|
82
|
+
name: 'expiresAt',
|
|
83
|
+
type: 'dateTime',
|
|
84
|
+
default: '',
|
|
85
|
+
description: 'Wann der Key ablaufen soll (leer = niemals)',
|
|
86
|
+
},
|
|
87
|
+
],
|
|
88
|
+
},
|
|
89
|
+
];
|
|
90
|
+
//# sourceMappingURL=ApiKeyDescription.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ApiKeyDescription.js","sourceRoot":"","sources":["../../../nodes/DevServer/ApiKeyDescription.ts"],"names":[],"mappings":";;;AAEa,QAAA,gBAAgB,GAAsB;IAClD;QACC,WAAW,EAAE,WAAW;QACxB,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,SAAS;QACf,gBAAgB,EAAE,IAAI;QACtB,cAAc,EAAE;YACf,IAAI,EAAE;gBACL,QAAQ,EAAE,CAAC,QAAQ,CAAC;aACpB;SACD;QACD,OAAO,EAAE;YACR;gBACC,IAAI,EAAE,WAAW;gBACjB,KAAK,EAAE,QAAQ;gBACf,WAAW,EAAE,yBAAyB;gBACtC,MAAM,EAAE,mBAAmB;aAC3B;YACD;gBACC,IAAI,EAAE,UAAU;gBAChB,KAAK,EAAE,QAAQ;gBACf,WAAW,EAAE,yBAAyB;gBACtC,MAAM,EAAE,mBAAmB;aAC3B;YACD;gBACC,IAAI,EAAE,YAAY;gBAClB,KAAK,EAAE,QAAQ;gBACf,WAAW,EAAE,oBAAoB;gBACjC,MAAM,EAAE,mBAAmB;aAC3B;SACD;QACD,OAAO,EAAE,QAAQ;KACjB;CACD,CAAC;AAEW,QAAA,YAAY,GAAsB;IAE9C;QACC,WAAW,EAAE,MAAM;QACnB,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,EAAE;QACX,cAAc,EAAE;YACf,IAAI,EAAE;gBACL,QAAQ,EAAE,CAAC,QAAQ,CAAC;gBACpB,SAAS,EAAE,CAAC,QAAQ,CAAC;aACrB;SACD;QACD,WAAW,EAAE,sBAAsB;KACnC;IAGD;QACC,WAAW,EAAE,QAAQ;QACrB,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,EAAE;QACX,cAAc,EAAE;YACf,IAAI,EAAE;gBACL,QAAQ,EAAE,CAAC,QAAQ,CAAC;gBACpB,SAAS,EAAE,CAAC,QAAQ,CAAC;aACrB;SACD;QACD,WAAW,EAAE,8BAA8B;KAC3C;IAGD;QACC,WAAW,EAAE,UAAU;QACvB,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,mBAAmB;QAChC,OAAO,EAAE,EAAE;QACX,cAAc,EAAE;YACf,IAAI,EAAE;gBACL,QAAQ,EAAE,CAAC,QAAQ,CAAC;gBACpB,SAAS,EAAE,CAAC,QAAQ,CAAC;aACrB;SACD;QACD,OAAO,EAAE;YACR;gBACC,WAAW,EAAE,aAAa;gBAC1B,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,EAAE;gBACX,WAAW,EAAE,6CAA6C;aAC1D;SACD;KACD;CACD,CAAC"}
|
|
@@ -0,0 +1,243 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.conversationFields = exports.conversationOperations = void 0;
|
|
4
|
+
exports.conversationOperations = [
|
|
5
|
+
{
|
|
6
|
+
displayName: 'Operation',
|
|
7
|
+
name: 'operation',
|
|
8
|
+
type: 'options',
|
|
9
|
+
noDataExpression: true,
|
|
10
|
+
displayOptions: {
|
|
11
|
+
show: {
|
|
12
|
+
resource: ['conversation'],
|
|
13
|
+
},
|
|
14
|
+
},
|
|
15
|
+
options: [
|
|
16
|
+
{
|
|
17
|
+
name: 'Abrufen',
|
|
18
|
+
value: 'get',
|
|
19
|
+
description: 'Konversation abrufen',
|
|
20
|
+
action: 'Get a conversation',
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
name: 'Aktualisieren',
|
|
24
|
+
value: 'update',
|
|
25
|
+
description: 'Konversation aktualisieren',
|
|
26
|
+
action: 'Update a conversation',
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
name: 'Erstellen',
|
|
30
|
+
value: 'create',
|
|
31
|
+
description: 'Neue Konversation erstellen',
|
|
32
|
+
action: 'Create a conversation',
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
name: 'Get Many',
|
|
36
|
+
value: 'getAll',
|
|
37
|
+
description: 'Alle Konversationen eines Jobs auflisten',
|
|
38
|
+
action: 'Get many conversations',
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
name: 'Löschen',
|
|
42
|
+
value: 'delete',
|
|
43
|
+
description: 'Konversation löschen',
|
|
44
|
+
action: 'Delete a conversation',
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
name: 'Nachrichten Abrufen',
|
|
48
|
+
value: 'getMessages',
|
|
49
|
+
description: 'Nachrichten einer Konversation abrufen',
|
|
50
|
+
action: 'Get conversation messages',
|
|
51
|
+
},
|
|
52
|
+
],
|
|
53
|
+
default: 'getAll',
|
|
54
|
+
},
|
|
55
|
+
];
|
|
56
|
+
exports.conversationFields = [
|
|
57
|
+
{
|
|
58
|
+
displayName: 'Job',
|
|
59
|
+
name: 'jobId',
|
|
60
|
+
type: 'resourceLocator',
|
|
61
|
+
default: { mode: 'list', value: '' },
|
|
62
|
+
required: true,
|
|
63
|
+
modes: [
|
|
64
|
+
{
|
|
65
|
+
displayName: 'Aus Liste',
|
|
66
|
+
name: 'list',
|
|
67
|
+
type: 'list',
|
|
68
|
+
typeOptions: {
|
|
69
|
+
searchListMethod: 'getJobs',
|
|
70
|
+
searchable: true,
|
|
71
|
+
},
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
displayName: 'Nach ID',
|
|
75
|
+
name: 'id',
|
|
76
|
+
type: 'string',
|
|
77
|
+
placeholder: 'z.B. 123e4567-e89b-12d3-a456-426614174000',
|
|
78
|
+
},
|
|
79
|
+
],
|
|
80
|
+
displayOptions: {
|
|
81
|
+
show: {
|
|
82
|
+
resource: ['conversation'],
|
|
83
|
+
operation: ['create', 'getAll'],
|
|
84
|
+
},
|
|
85
|
+
},
|
|
86
|
+
description: 'Der Job für die Konversation',
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
displayName: 'Konversation',
|
|
90
|
+
name: 'conversationId',
|
|
91
|
+
type: 'resourceLocator',
|
|
92
|
+
default: { mode: 'list', value: '' },
|
|
93
|
+
required: true,
|
|
94
|
+
modes: [
|
|
95
|
+
{
|
|
96
|
+
displayName: 'Aus Liste',
|
|
97
|
+
name: 'list',
|
|
98
|
+
type: 'list',
|
|
99
|
+
typeOptions: {
|
|
100
|
+
searchListMethod: 'getConversations',
|
|
101
|
+
searchable: true,
|
|
102
|
+
},
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
displayName: 'Nach ID',
|
|
106
|
+
name: 'id',
|
|
107
|
+
type: 'string',
|
|
108
|
+
placeholder: 'z.B. 123e4567-e89b-12d3-a456-426614174000',
|
|
109
|
+
},
|
|
110
|
+
],
|
|
111
|
+
displayOptions: {
|
|
112
|
+
show: {
|
|
113
|
+
resource: ['conversation'],
|
|
114
|
+
operation: ['get', 'update', 'delete', 'getMessages'],
|
|
115
|
+
},
|
|
116
|
+
},
|
|
117
|
+
description: 'Die Konversation',
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
displayName: 'Provider',
|
|
121
|
+
name: 'provider',
|
|
122
|
+
type: 'options',
|
|
123
|
+
required: true,
|
|
124
|
+
options: [
|
|
125
|
+
{ name: 'Claude', value: 'claude' },
|
|
126
|
+
{ name: 'Codex', value: 'codex' },
|
|
127
|
+
{ name: 'Gemini', value: 'gemini' },
|
|
128
|
+
],
|
|
129
|
+
default: 'claude',
|
|
130
|
+
displayOptions: {
|
|
131
|
+
show: {
|
|
132
|
+
resource: ['conversation'],
|
|
133
|
+
operation: ['create'],
|
|
134
|
+
},
|
|
135
|
+
},
|
|
136
|
+
description: 'LLM-Provider für die Konversation',
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
displayName: 'Zusätzliche Felder',
|
|
140
|
+
name: 'additionalFields',
|
|
141
|
+
type: 'collection',
|
|
142
|
+
placeholder: 'Feld hinzufügen',
|
|
143
|
+
default: {},
|
|
144
|
+
displayOptions: {
|
|
145
|
+
show: {
|
|
146
|
+
resource: ['conversation'],
|
|
147
|
+
operation: ['create'],
|
|
148
|
+
},
|
|
149
|
+
},
|
|
150
|
+
options: [
|
|
151
|
+
{
|
|
152
|
+
displayName: 'Titel',
|
|
153
|
+
name: 'title',
|
|
154
|
+
type: 'string',
|
|
155
|
+
default: '',
|
|
156
|
+
description: 'Optionaler Titel für die Konversation',
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
displayName: 'System-Prompt',
|
|
160
|
+
name: 'systemPrompt',
|
|
161
|
+
type: 'string',
|
|
162
|
+
typeOptions: {
|
|
163
|
+
rows: 4,
|
|
164
|
+
},
|
|
165
|
+
default: '',
|
|
166
|
+
description: 'System-Prompt für diese Konversation (überschreibt Job-Prompt)',
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
displayName: 'Modell',
|
|
170
|
+
name: 'model',
|
|
171
|
+
type: 'string',
|
|
172
|
+
default: '',
|
|
173
|
+
description: 'Spezifisches Modell (z.B. claude-3-sonnet, gpt-4).',
|
|
174
|
+
},
|
|
175
|
+
],
|
|
176
|
+
},
|
|
177
|
+
{
|
|
178
|
+
displayName: 'Update Fields',
|
|
179
|
+
name: 'updateFields',
|
|
180
|
+
type: 'collection',
|
|
181
|
+
placeholder: 'Feld hinzufügen',
|
|
182
|
+
default: {},
|
|
183
|
+
displayOptions: {
|
|
184
|
+
show: {
|
|
185
|
+
resource: ['conversation'],
|
|
186
|
+
operation: ['update'],
|
|
187
|
+
},
|
|
188
|
+
},
|
|
189
|
+
options: [
|
|
190
|
+
{
|
|
191
|
+
displayName: 'Titel',
|
|
192
|
+
name: 'title',
|
|
193
|
+
type: 'string',
|
|
194
|
+
default: '',
|
|
195
|
+
description: 'Neuer Titel',
|
|
196
|
+
},
|
|
197
|
+
{
|
|
198
|
+
displayName: 'Aktiv',
|
|
199
|
+
name: 'isActive',
|
|
200
|
+
type: 'boolean',
|
|
201
|
+
default: true,
|
|
202
|
+
description: 'Whether the conversation is active',
|
|
203
|
+
},
|
|
204
|
+
],
|
|
205
|
+
},
|
|
206
|
+
{
|
|
207
|
+
displayName: 'Optionen',
|
|
208
|
+
name: 'options',
|
|
209
|
+
type: 'collection',
|
|
210
|
+
placeholder: 'Option hinzufügen',
|
|
211
|
+
default: {},
|
|
212
|
+
displayOptions: {
|
|
213
|
+
show: {
|
|
214
|
+
resource: ['conversation'],
|
|
215
|
+
operation: ['getMessages'],
|
|
216
|
+
},
|
|
217
|
+
},
|
|
218
|
+
options: [
|
|
219
|
+
{
|
|
220
|
+
displayName: 'Limit',
|
|
221
|
+
name: 'limit',
|
|
222
|
+
type: 'number',
|
|
223
|
+
typeOptions: {
|
|
224
|
+
minValue: 1,
|
|
225
|
+
maxValue: 100,
|
|
226
|
+
},
|
|
227
|
+
default: 50,
|
|
228
|
+
description: 'Max number of results to return',
|
|
229
|
+
},
|
|
230
|
+
{
|
|
231
|
+
displayName: 'Offset',
|
|
232
|
+
name: 'offset',
|
|
233
|
+
type: 'number',
|
|
234
|
+
typeOptions: {
|
|
235
|
+
minValue: 0,
|
|
236
|
+
},
|
|
237
|
+
default: 0,
|
|
238
|
+
description: 'Anzahl der zu überspringenden Nachrichten',
|
|
239
|
+
},
|
|
240
|
+
],
|
|
241
|
+
},
|
|
242
|
+
];
|
|
243
|
+
//# sourceMappingURL=ConversationDescription.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConversationDescription.js","sourceRoot":"","sources":["../../../nodes/DevServer/ConversationDescription.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { IExecuteFunctions, INodeType, INodeTypeDescription, INodeExecutionData } from 'n8n-workflow';
|
|
2
|
+
import { getJobs, getConversations, getProviders, getFilesystemRoots } from './transport';
|
|
3
|
+
export declare class DevServer implements INodeType {
|
|
4
|
+
description: INodeTypeDescription;
|
|
5
|
+
methods: {
|
|
6
|
+
listSearch: {
|
|
7
|
+
getJobs: typeof getJobs;
|
|
8
|
+
getConversations: typeof getConversations;
|
|
9
|
+
getProviders: typeof getProviders;
|
|
10
|
+
getFilesystemRoots: typeof getFilesystemRoots;
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
execute(this: IExecuteFunctions): Promise<INodeExecutionData[][]>;
|
|
14
|
+
}
|