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

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
+ | **Total** | **36** | **215** | |
50
50
 
51
51
  <details>
52
52
  <summary><b>Infrastructure - Detailed Operations</b></summary>
@@ -169,6 +169,15 @@ 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 for standardized AI interactions.
174
+ - Chat Completion (conversational AI with message history)
175
+ - Completion (simple text completion)
176
+ - Create Embeddings (text to vector embeddings)
177
+ - Generate Image (text-to-image generation)
178
+ - Get Many (list available models in OpenAI format)
179
+ - **Features**: OpenAI API compatibility, chat completions, embeddings, image generation
180
+
172
181
  </details>
173
182
 
174
183
  ---
@@ -262,18 +271,23 @@ Each node connects to a different IONOS Cloud API endpoint:
262
271
  * [Cloud DNS API Documentation](https://api.ionos.com/docs/dns/v1/)
263
272
  * [CDN API Documentation](https://api.ionos.com/docs/cdn/v1/)
264
273
  * [AI Model Hub API Documentation](https://api.ionos.com/docs/inference-modelhub/v1/)
274
+ * [AI Model Hub OpenAI-compatible API Documentation](https://api.ionos.com/docs/inference-openai/v1/)
265
275
 
266
276
  ## Version History
267
277
 
268
- **v0.2.1** - Current release
278
+ **v0.2.2** - Current release
269
279
  - Infrastructure node (20 resources, 145 operations)
270
280
  - Certificate Manager node (3 resources, 15 operations)
271
281
  - DNS node (7 resources, 28 operations)
272
282
  - CDN node (2 resources, 7 operations)
273
- - AI Model Hub node (3 resources, 15 operations)
274
- - Total: 210 operations across 35 resources
283
+ - AI Model Hub node (4 resources, 20 operations)
284
+ - Added OpenAI-compatible endpoints (chat completions, completions, embeddings, image generation)
285
+ - Total: 215 operations across 36 resources
275
286
  - Dynamic User-Agent including package and n8n versions
276
287
  - Shared authentication across all nodes
277
288
 
289
+ **v0.2.1** - Previous release
290
+ - Initial 5-node release with 210 operations
291
+
278
292
  **v0.1.0** - Initial release
279
293
  - Core functionality for all 5 IONOS Cloud services
@@ -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[];