@ionos-cloud/n8n-nodes-ionos-cloud 0.2.2 → 0.2.4

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 CHANGED
@@ -45,8 +45,8 @@ Follow the [installation guide](https://docs.n8n.io/integrations/community-nodes
45
45
  | **Certificate Manager** | 3 | 15 | SSL/TLS certificate lifecycle management with ACME support |
46
46
  | **Cloud DNS** | 7 | 28 | DNS zones, records (15 types), DNSSEC, zone transfers |
47
47
  | **CDN** | 2 | 7 | Content delivery with custom routing and geo-restrictions |
48
- | **AI Model Hub** | 3 | 15 | Foundation model inference with RAG capabilities |
49
- | **Total** | **35** | **210** | |
48
+ | **AI Model Hub** | 4 | 20 | Foundation model inference, RAG capabilities, and OpenAI-compatible API |
49
+
50
50
 
51
51
  <details>
52
52
  <summary><b>Infrastructure - Detailed Operations</b></summary>
@@ -169,6 +169,34 @@ Manage documents within collections for RAG applications.
169
169
  - Add, Delete, Delete All, Get, Get Many, Get Chunks, Update
170
170
  - **Features**: Base64 content encoding, metadata management, chunk retrieval, batch operations
171
171
 
172
+ #### OpenAI Compatible Resource (5 operations)
173
+ Use OpenAI-compatible API endpoints for standardized AI interactions.
174
+
175
+ **Chat Completion** - Create chat completions with message history
176
+ - Supports system, user, and assistant message roles
177
+ - Parameters: model, messages (required), temperature, top_p, max_tokens, max_completion_tokens, n, stream, stop, presence_penalty, frequency_penalty, logit_bias, response_format, tools, tool_choice, user
178
+ - Compatible with OpenAI chat completion API format
179
+
180
+ **Completion** - Simple text completion
181
+ - Parameters: model, prompt (required), temperature, top_p, max_tokens, n, stream, stop, presence_penalty, frequency_penalty, logit_bias, user
182
+ - Compatible with OpenAI completion API format
183
+
184
+ **Create Embeddings** - Generate vector embeddings from text
185
+ - Parameters: model (default: intfloat/e5-large-v2), input (single text or comma-separated multiple texts)
186
+ - Returns embedding vectors for semantic search and similarity
187
+
188
+ **Generate Image** - Text-to-image generation
189
+ - Parameters: model (default: stabilityai/stable-diffusion-xl-base-1.0), prompt (required), n, size (1024x1024, 1024x1792, 1792x1024), response_format (b64_json), user
190
+ - Generates images from text descriptions
191
+
192
+ **Get Many** - List available models
193
+ - Returns all models in OpenAI-compatible format
194
+ - Shows model capabilities and availability
195
+
196
+ **API Endpoint**: `https://openai.inference.de-txl.ionos.com` (path: `/v1/*`)
197
+
198
+ **Features**: Full OpenAI API compatibility, drop-in replacement for OpenAI in existing workflows, comprehensive parameter support
199
+
172
200
  </details>
173
201
 
174
202
  ---
@@ -216,8 +244,11 @@ Tested against n8n version 2.1.5+
216
244
 
217
245
  #### AI Model Hub
218
246
  * Add the "Ionos Cloud (AI Model Hub)" node to your workflow
219
- * Select the resource (Model, Collection, or Document)
220
- * Use Model for AI inference, Collection for vector storage, Document for RAG applications
247
+ * Select the resource (Model, Collection, Document, or OpenAI Compatible)
248
+ * **Model**: AI inference with native IONOS API
249
+ * **Collection**: Vector database management for RAG
250
+ * **Document**: Manage documents in collections
251
+ * **OpenAI Compatible**: Use OpenAI-compatible endpoints (chat, completions, embeddings, images)
221
252
 
222
253
  ### Common Patterns
223
254
 
@@ -239,19 +270,26 @@ Tested against n8n version 2.1.5+
239
270
 
240
271
  **AI-Powered Applications with RAG:**
241
272
  1. Use AI Model Hub Collection resource to create a vector database
273
+
274
+ **OpenAI-Compatible AI Integration:**
275
+ 1. Use OpenAI Compatible Chat Completion for conversational AI
276
+ 2. Use Create Embeddings for semantic search and similarity
277
+ 3. Use Generate Image for text-to-image generation
278
+ 4. Drop-in replacement for OpenAI API in existing n8n workflowstabase
242
279
  2. Use Document resource to add knowledge base documents
243
280
  3. Use Model Predict operation with collection query for context-aware responses
244
281
  4. Automate document updates and model inference in workflows
245
282
 
246
283
  ## API Endpoints
247
284
 
248
- Each node connects to a different IONOS Cloud API endpoint:
285
+ Each node connects to:
249
286
 
250
287
  - **Infrastructure**: `https://api.ionos.com/cloudapi/v6/`
251
288
  - **Certificate Manager**: `https://certificate-manager.de-fra.ionos.com`
252
289
  - **Cloud DNS**: `https://dns.de-fra.ionos.com`
253
290
  - **CDN**: `https://cdn.de-fra.ionos.com`
254
- - **AI Model Hub**: `https://inference.de-txl.ionos.com`
291
+ - **AI Model Hub (Inference API)**: `https://inference.de-txl.ionos.com`
292
+ - **AI Model Hub (OpenAI compatible API)**: `https://inference.de-txl.ionos.com`
255
293
 
256
294
  ## Resources
257
295
 
@@ -262,18 +300,4 @@ Each node connects to a different IONOS Cloud API endpoint:
262
300
  * [Cloud DNS API Documentation](https://api.ionos.com/docs/dns/v1/)
263
301
  * [CDN API Documentation](https://api.ionos.com/docs/cdn/v1/)
264
302
  * [AI Model Hub API Documentation](https://api.ionos.com/docs/inference-modelhub/v1/)
265
-
266
- ## Version History
267
-
268
- **v0.2.1** - Current release
269
- - Infrastructure node (20 resources, 145 operations)
270
- - Certificate Manager node (3 resources, 15 operations)
271
- - DNS node (7 resources, 28 operations)
272
- - CDN node (2 resources, 7 operations)
273
- - AI Model Hub node (3 resources, 15 operations)
274
- - Total: 210 operations across 35 resources
275
- - Dynamic User-Agent including package and n8n versions
276
- - Shared authentication across all nodes
277
-
278
- **v0.1.0** - Initial release
279
- - Core functionality for all 5 IONOS Cloud services
303
+ * [AI Model Hub OpenAI-compatible API Documentation](https://api.ionos.com/docs/inference-openai/v1/)
@@ -38,6 +38,7 @@ const userAgent_1 = require("../../utils/userAgent");
38
38
  const collection = __importStar(require("./resources/collection"));
39
39
  const document = __importStar(require("./resources/document"));
40
40
  const model = __importStar(require("./resources/model"));
41
+ const openai = __importStar(require("./resources/openai"));
41
42
  class IonosCloudAiModelHub {
42
43
  constructor() {
43
44
  this.usableAsTool = true;
@@ -90,12 +91,18 @@ class IonosCloudAiModelHub {
90
91
  value: 'model',
91
92
  description: 'Browse and call foundation models',
92
93
  },
94
+ {
95
+ name: 'OpenAI Compatible',
96
+ value: 'openai',
97
+ description: 'Use OpenAI-compatible API endpoints',
98
+ },
93
99
  ],
94
100
  default: 'collection',
95
101
  },
96
102
  ...collection.descriptions,
97
103
  ...document.descriptions,
98
104
  ...model.descriptions,
105
+ ...openai.descriptions,
99
106
  ],
100
107
  usableAsTool: true,
101
108
  };
@@ -1 +1 @@
1
- {"version":3,"file":"IonosCloudAiModelHub.node.js","sourceRoot":"","sources":["../../../nodes/IonosCloudAiModelHub/IonosCloudAiModelHub.node.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,qDAAmD;AAEnD,mEAAqD;AACrD,+DAAiD;AACjD,yDAA2C;AAE3C,MAAa,oBAAoB;IAAjC;QACC,iBAAY,GAAG,IAAI,CAAC;QAEpB,gBAAW,GAAyB;YACnC,WAAW,EAAE,4BAA4B;YACzC,IAAI,EAAE,sBAAsB;YAC5B,IAAI,EAAE,EAAE,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAE,qBAAqB,EAAE;YAC9D,KAAK,EAAE,CAAC,WAAW,CAAC;YACpB,OAAO,EAAE,CAAC;YACV,QAAQ,EAAE,8DAA8D;YACxE,WAAW,EAAE,4CAA4C;YACzD,QAAQ,EAAE;gBACT,IAAI,EAAE,0BAA0B;aAChC;YACD,MAAM,EAAE,CAAC,MAAM,CAAC;YAChB,OAAO,EAAE,CAAC,MAAM,CAAC;YACjB,WAAW,EAAE;gBACZ;oBACC,IAAI,EAAE,eAAe;oBACrB,QAAQ,EAAE,IAAI;iBACd;aACD;YACD,eAAe,EAAE;gBAChB,OAAO,EAAE,oCAAoC;gBAC7C,OAAO,EAAE;oBACR,MAAM,EAAE,kBAAkB;oBAC1B,cAAc,EAAE,kBAAkB;oBAClC,YAAY,EAAE,sBAAU;iBACxB;aACD;YACD,UAAU,EAAE;gBACX;oBACC,WAAW,EAAE,UAAU;oBACvB,IAAI,EAAE,UAAU;oBAChB,IAAI,EAAE,SAAS;oBACf,gBAAgB,EAAE,IAAI;oBACtB,OAAO,EAAE;wBACR;4BACC,IAAI,EAAE,YAAY;4BAClB,KAAK,EAAE,YAAY;4BACnB,WAAW,EAAE,kDAAkD;yBAC/D;wBACD;4BACC,IAAI,EAAE,UAAU;4BAChB,KAAK,EAAE,UAAU;4BACjB,WAAW,EAAE,iCAAiC;yBAC9C;wBACD;4BACC,IAAI,EAAE,OAAO;4BACb,KAAK,EAAE,OAAO;4BACd,WAAW,EAAE,mCAAmC;yBAChD;qBACD;oBACD,OAAO,EAAE,YAAY;iBACrB;gBACD,GAAG,UAAU,CAAC,YAAY;gBAC1B,GAAG,QAAQ,CAAC,YAAY;gBACxB,GAAG,KAAK,CAAC,YAAY;aACrB;YACD,YAAY,EAAE,IAAI;SAClB,CAAC;IACH,CAAC;CAAA;AA7DD,oDA6DC"}
1
+ {"version":3,"file":"IonosCloudAiModelHub.node.js","sourceRoot":"","sources":["../../../nodes/IonosCloudAiModelHub/IonosCloudAiModelHub.node.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,qDAAmD;AAEnD,mEAAqD;AACrD,+DAAiD;AACjD,yDAA2C;AAC3C,2DAA6C;AAE7C,MAAa,oBAAoB;IAAjC;QACC,iBAAY,GAAG,IAAI,CAAC;QAEpB,gBAAW,GAAyB;YACnC,WAAW,EAAE,4BAA4B;YACzC,IAAI,EAAE,sBAAsB;YAC5B,IAAI,EAAE,EAAE,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAE,qBAAqB,EAAE;YAC9D,KAAK,EAAE,CAAC,WAAW,CAAC;YACpB,OAAO,EAAE,CAAC;YACV,QAAQ,EAAE,8DAA8D;YACxE,WAAW,EAAE,4CAA4C;YACzD,QAAQ,EAAE;gBACT,IAAI,EAAE,0BAA0B;aAChC;YACD,MAAM,EAAE,CAAC,MAAM,CAAC;YAChB,OAAO,EAAE,CAAC,MAAM,CAAC;YACjB,WAAW,EAAE;gBACZ;oBACC,IAAI,EAAE,eAAe;oBACrB,QAAQ,EAAE,IAAI;iBACd;aACD;YACD,eAAe,EAAE;gBAChB,OAAO,EAAE,oCAAoC;gBAC7C,OAAO,EAAE;oBACR,MAAM,EAAE,kBAAkB;oBAC1B,cAAc,EAAE,kBAAkB;oBAClC,YAAY,EAAE,sBAAU;iBACxB;aACD;YACD,UAAU,EAAE;gBACX;oBACC,WAAW,EAAE,UAAU;oBACvB,IAAI,EAAE,UAAU;oBAChB,IAAI,EAAE,SAAS;oBACf,gBAAgB,EAAE,IAAI;oBACtB,OAAO,EAAE;wBACR;4BACC,IAAI,EAAE,YAAY;4BAClB,KAAK,EAAE,YAAY;4BACnB,WAAW,EAAE,kDAAkD;yBAC/D;wBACD;4BACC,IAAI,EAAE,UAAU;4BAChB,KAAK,EAAE,UAAU;4BACjB,WAAW,EAAE,iCAAiC;yBAC9C;wBACD;4BACC,IAAI,EAAE,OAAO;4BACb,KAAK,EAAE,OAAO;4BACd,WAAW,EAAE,mCAAmC;yBAChD;wBACD;4BACC,IAAI,EAAE,mBAAmB;4BACzB,KAAK,EAAE,QAAQ;4BACf,WAAW,EAAE,qCAAqC;yBAClD;qBACD;oBACD,OAAO,EAAE,YAAY;iBACrB;gBACD,GAAG,UAAU,CAAC,YAAY;gBAC1B,GAAG,QAAQ,CAAC,YAAY;gBACxB,GAAG,KAAK,CAAC,YAAY;gBACrB,GAAG,MAAM,CAAC,YAAY;aACtB;YACD,YAAY,EAAE,IAAI;SAClB,CAAC;IACH,CAAC;CAAA;AAnED,oDAmEC"}
@@ -0,0 +1,2 @@
1
+ import type { INodeProperties } from 'n8n-workflow';
2
+ export declare const descriptions: INodeProperties[];
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.descriptions = void 0;
37
+ const openai = __importStar(require("./openai"));
38
+ exports.descriptions = [
39
+ ...openai.openaiOperations,
40
+ ...openai.openaiDescriptions,
41
+ ];
42
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../nodes/IonosCloudAiModelHub/resources/openai/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,iDAAmC;AAEtB,QAAA,YAAY,GAAsB;IAC9C,GAAG,MAAM,CAAC,gBAAgB;IAC1B,GAAG,MAAM,CAAC,kBAAkB;CAC5B,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { INodeProperties } from 'n8n-workflow';
2
+ export declare const openaiOperations: INodeProperties[];
3
+ export declare const openaiDescriptions: INodeProperties[];