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.
Files changed (43) hide show
  1. package/README.md +120 -0
  2. package/dist/credentials/DevServerApi.credentials.d.ts +17 -0
  3. package/dist/credentials/DevServerApi.credentials.js +45 -0
  4. package/dist/credentials/DevServerApi.credentials.js.map +1 -0
  5. package/dist/icons/github.dark.svg +3 -0
  6. package/dist/icons/github.svg +3 -0
  7. package/dist/nodes/DevServer/ApiKeyDescription.d.ts +3 -0
  8. package/dist/nodes/DevServer/ApiKeyDescription.js +90 -0
  9. package/dist/nodes/DevServer/ApiKeyDescription.js.map +1 -0
  10. package/dist/nodes/DevServer/ConversationDescription.d.ts +3 -0
  11. package/dist/nodes/DevServer/ConversationDescription.js +243 -0
  12. package/dist/nodes/DevServer/ConversationDescription.js.map +1 -0
  13. package/dist/nodes/DevServer/DevServer.node.d.ts +14 -0
  14. package/dist/nodes/DevServer/DevServer.node.js +335 -0
  15. package/dist/nodes/DevServer/DevServer.node.js.map +1 -0
  16. package/dist/nodes/DevServer/DevServerTrigger.node.d.ts +5 -0
  17. package/dist/nodes/DevServer/DevServerTrigger.node.js +246 -0
  18. package/dist/nodes/DevServer/DevServerTrigger.node.js.map +1 -0
  19. package/dist/nodes/DevServer/FilesystemDescription.d.ts +3 -0
  20. package/dist/nodes/DevServer/FilesystemDescription.js +90 -0
  21. package/dist/nodes/DevServer/FilesystemDescription.js.map +1 -0
  22. package/dist/nodes/DevServer/JobDescription.d.ts +3 -0
  23. package/dist/nodes/DevServer/JobDescription.js +256 -0
  24. package/dist/nodes/DevServer/JobDescription.js.map +1 -0
  25. package/dist/nodes/DevServer/MessageDescription.d.ts +3 -0
  26. package/dist/nodes/DevServer/MessageDescription.js +151 -0
  27. package/dist/nodes/DevServer/MessageDescription.js.map +1 -0
  28. package/dist/nodes/DevServer/ProviderDescription.d.ts +3 -0
  29. package/dist/nodes/DevServer/ProviderDescription.js +65 -0
  30. package/dist/nodes/DevServer/ProviderDescription.js.map +1 -0
  31. package/dist/nodes/DevServer/QueryDescription.d.ts +3 -0
  32. package/dist/nodes/DevServer/QueryDescription.js +152 -0
  33. package/dist/nodes/DevServer/QueryDescription.js.map +1 -0
  34. package/dist/nodes/DevServer/WebhookDescription.d.ts +3 -0
  35. package/dist/nodes/DevServer/WebhookDescription.js +180 -0
  36. package/dist/nodes/DevServer/WebhookDescription.js.map +1 -0
  37. package/dist/nodes/DevServer/devServer.svg +32 -0
  38. package/dist/nodes/DevServer/transport.d.ts +6 -0
  39. package/dist/nodes/DevServer/transport.js +94 -0
  40. package/dist/nodes/DevServer/transport.js.map +1 -0
  41. package/dist/package.json +58 -0
  42. package/dist/tsconfig.tsbuildinfo +1 -0
  43. 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,3 @@
1
+ import { INodeProperties } from 'n8n-workflow';
2
+ export declare const apiKeyOperations: INodeProperties[];
3
+ export declare const apiKeyFields: INodeProperties[];
@@ -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,3 @@
1
+ import { INodeProperties } from 'n8n-workflow';
2
+ export declare const conversationOperations: INodeProperties[];
3
+ export declare const conversationFields: INodeProperties[];
@@ -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":";;;AAEa,QAAA,sBAAsB,GAAsB;IACxD;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,cAAc,CAAC;aAC1B;SACD;QACD,OAAO,EAAE;YACR;gBACC,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,KAAK;gBACZ,WAAW,EAAE,sBAAsB;gBACnC,MAAM,EAAE,oBAAoB;aAC5B;YACD;gBACC,IAAI,EAAE,eAAe;gBACrB,KAAK,EAAE,QAAQ;gBACf,WAAW,EAAE,4BAA4B;gBACzC,MAAM,EAAE,uBAAuB;aAC/B;YACD;gBACC,IAAI,EAAE,WAAW;gBACjB,KAAK,EAAE,QAAQ;gBACf,WAAW,EAAE,6BAA6B;gBAC1C,MAAM,EAAE,uBAAuB;aAC/B;YACD;gBACC,IAAI,EAAE,UAAU;gBAChB,KAAK,EAAE,QAAQ;gBACf,WAAW,EAAE,0CAA0C;gBACvD,MAAM,EAAE,wBAAwB;aAChC;YACD;gBACC,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,QAAQ;gBACf,WAAW,EAAE,sBAAsB;gBACnC,MAAM,EAAE,uBAAuB;aAC/B;YACD;gBACC,IAAI,EAAE,qBAAqB;gBAC3B,KAAK,EAAE,aAAa;gBACpB,WAAW,EAAE,wCAAwC;gBACrD,MAAM,EAAE,2BAA2B;aACnC;SACD;QACD,OAAO,EAAE,QAAQ;KACjB;CACD,CAAC;AAEW,QAAA,kBAAkB,GAAsB;IAEpD;QACC,WAAW,EAAE,KAAK;QAClB,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,iBAAiB;QACvB,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE;QACpC,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE;YACN;gBACC,WAAW,EAAE,WAAW;gBACxB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,MAAM;gBACZ,WAAW,EAAE;oBACZ,gBAAgB,EAAE,SAAS;oBAC3B,UAAU,EAAE,IAAI;iBAChB;aACD;YACD;gBACC,WAAW,EAAE,SAAS;gBACtB,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,2CAA2C;aACxD;SACD;QACD,cAAc,EAAE;YACf,IAAI,EAAE;gBACL,QAAQ,EAAE,CAAC,cAAc,CAAC;gBAC1B,SAAS,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;aAC/B;SACD;QACD,WAAW,EAAE,8BAA8B;KAC3C;IAGD;QACC,WAAW,EAAE,cAAc;QAC3B,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,iBAAiB;QACvB,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE;QACpC,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE;YACN;gBACC,WAAW,EAAE,WAAW;gBACxB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,MAAM;gBACZ,WAAW,EAAE;oBACZ,gBAAgB,EAAE,kBAAkB;oBACpC,UAAU,EAAE,IAAI;iBAChB;aACD;YACD;gBACC,WAAW,EAAE,SAAS;gBACtB,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,2CAA2C;aACxD;SACD;QACD,cAAc,EAAE;YACf,IAAI,EAAE;gBACL,QAAQ,EAAE,CAAC,cAAc,CAAC;gBAC1B,SAAS,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,CAAC;aACrD;SACD;QACD,WAAW,EAAE,kBAAkB;KAC/B;IAGD;QACC,WAAW,EAAE,UAAU;QACvB,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE;YACR,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;YACnC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;YACjC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;SACnC;QACD,OAAO,EAAE,QAAQ;QACjB,cAAc,EAAE;YACf,IAAI,EAAE;gBACL,QAAQ,EAAE,CAAC,cAAc,CAAC;gBAC1B,SAAS,EAAE,CAAC,QAAQ,CAAC;aACrB;SACD;QACD,WAAW,EAAE,mCAAmC;KAChD;IAGD;QACC,WAAW,EAAE,oBAAoB;QACjC,IAAI,EAAE,kBAAkB;QACxB,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,iBAAiB;QAC9B,OAAO,EAAE,EAAE;QACX,cAAc,EAAE;YACf,IAAI,EAAE;gBACL,QAAQ,EAAE,CAAC,cAAc,CAAC;gBAC1B,SAAS,EAAE,CAAC,QAAQ,CAAC;aACrB;SACD;QACD,OAAO,EAAE;YACR;gBACC,WAAW,EAAE,OAAO;gBACpB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,EAAE;gBACX,WAAW,EAAE,uCAAuC;aACpD;YACD;gBACC,WAAW,EAAE,eAAe;gBAC5B,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE;oBACZ,IAAI,EAAE,CAAC;iBACP;gBACD,OAAO,EAAE,EAAE;gBACX,WAAW,EAAE,gEAAgE;aAC7E;YACD;gBACC,WAAW,EAAE,QAAQ;gBACrB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,EAAE;gBACX,WAAW,EAAE,oDAAoD;aACjE;SACD;KACD;IAGD;QACC,WAAW,EAAE,eAAe;QAC5B,IAAI,EAAE,cAAc;QACpB,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,iBAAiB;QAC9B,OAAO,EAAE,EAAE;QACX,cAAc,EAAE;YACf,IAAI,EAAE;gBACL,QAAQ,EAAE,CAAC,cAAc,CAAC;gBAC1B,SAAS,EAAE,CAAC,QAAQ,CAAC;aACrB;SACD;QACD,OAAO,EAAE;YACR;gBACC,WAAW,EAAE,OAAO;gBACpB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,EAAE;gBACX,WAAW,EAAE,aAAa;aAC1B;YACD;gBACC,WAAW,EAAE,OAAO;gBACpB,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,IAAI;gBACb,WAAW,EAAE,oCAAoC;aACjD;SACD;KACD;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,cAAc,CAAC;gBAC1B,SAAS,EAAE,CAAC,aAAa,CAAC;aAC1B;SACD;QACD,OAAO,EAAE;YACR;gBACC,WAAW,EAAE,OAAO;gBACpB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE;oBACZ,QAAQ,EAAE,CAAC;oBACX,QAAQ,EAAE,GAAG;iBACb;gBACD,OAAO,EAAE,EAAE;gBACX,WAAW,EAAE,iCAAiC;aAC9C;YACD;gBACC,WAAW,EAAE,QAAQ;gBACrB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE;oBACZ,QAAQ,EAAE,CAAC;iBACX;gBACD,OAAO,EAAE,CAAC;gBACV,WAAW,EAAE,2CAA2C;aACxD;SACD;KACD;CACD,CAAC"}
@@ -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
+ }