@inductiv/node-red-openai-api 1.0.2 → 1.2.0

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
@@ -2,7 +2,7 @@
2
2
  Node-RED OpenAI API: Unleashing AIoT Innovation
3
3
  <br>
4
4
  <a href="https://github.com/allanbunch/node-red-openai-api">
5
- <img width="265" alt="node-red-openai-api-node" src="https://github.com/allanbunch/node-red-openai-api/assets/4503640/9588aba4-0a97-4cbe-a446-58e06d5dd016">
5
+ <img width="265" alt="node-red-openai-api-node" src="https://github.com/allanbunch/node-red-openai-api/assets/4503640/ee954c8e-fbf4-4812-a38a-f047cecd1982">
6
6
  </a>
7
7
  <br>
8
8
  @inductiv/node-red-openai-api
@@ -16,7 +16,13 @@ Welcome to _@inductiv/node-red-openai-api_, a versatile and configurable Node-RE
16
16
  - **Configurable and Flexible**: Adapt to a wide range of project requirements, making it easy to integrate AI into your IoT solutions.
17
17
  - **Powerful Combinations**: Utilize Node-RED's diverse nodes to build complex, AI-driven IoT workflows with ease.
18
18
 
19
- ## What's New in Version 1.0
19
+ ## Release Notes (v1.2.0)
20
+
21
+ - Added the [```fineTuning.jobs.checkpoints.list```](https://platform.openai.com/docs/api-reference/fine-tuning/list-checkpoints) endpoint to the **Fine-tuning** API.
22
+ - Updated the node's documentation panel.
23
+ - Code stability & formatting updates.
24
+
25
+ ## What's New in Version 1.x
20
26
 
21
27
  Version 1.0 of the **node-red-openai-api** node brings significant enhancements and new possibilities, including:
22
28
 
@@ -52,10 +58,10 @@ npm i @inductiv/node-red-openai-api
52
58
 
53
59
  ## Usage
54
60
 
55
- After installation, find your _@inductiv/node-red-openai-api_ node in the **AI** palette category labeled "OpenAI API". Here's how you can start integrating AI into your IoT projects:
61
+ After installation, find your node in the **AI** palette category labeled "OpenAI API". Here's how you can start integrating AI into your IoT projects:
56
62
 
57
63
  1. Configure the node with your AI platform's API key (if required).
58
- 2. Use the node to send and receive data to/from OpenAI API compatible platforms, incorporating AI responses into your IoT workflows.
64
+ 2. Send [OpenAI documented](https://platform.openai.com/docs/api-reference/) API service configuration paramaters to the node using the default `msg.payload` property, or confiure your desired incoming object property reference on the node itself.
59
65
  3. Explore the [examples](./examples/) directory for sample implementations.
60
66
 
61
67
  ## Contribute
package/lib.js CHANGED
@@ -1,5 +1,3 @@
1
- const { response } = require("express");
2
-
3
1
  let OpenaiApi = (function () {
4
2
  "use strict";
5
3
 
@@ -18,7 +16,7 @@ let OpenaiApi = (function () {
18
16
  // Begin Vector Store File functions
19
17
  async createVectorStoreFile(parameters) {
20
18
  const openai = new OpenAI(this.clientParams);
21
- const { vector_store_id, ...params } = parameters.msg.payload;
19
+ const { vector_store_id, ...params } = parameters.payload;
22
20
  const response = await openai.beta.vectorStores.files.create(
23
21
  vector_store_id,
24
22
  params,
@@ -31,7 +29,7 @@ let OpenaiApi = (function () {
31
29
  /* Returns a list of vector store files. */
32
30
 
33
31
  const openai = new OpenAI(this.clientParams);
34
- const { vector_store_id, ...params } = parameters.msg.payload;
32
+ const { vector_store_id, ...params } = parameters.payload;
35
33
  const list = await openai.beta.vectorStores.files.list(
36
34
  vector_store_id,
37
35
  params,
@@ -44,7 +42,7 @@ let OpenaiApi = (function () {
44
42
  /* Retrieves a vector store file. */
45
43
 
46
44
  const openai = new OpenAI(this.clientParams);
47
- const { vector_store_id, file_id } = parameters.msg.payload;
45
+ const { vector_store_id, file_id } = parameters.payload;
48
46
  const response = openai.beta.vectorStores.files.retrieve(
49
47
  vector_store_id,
50
48
  file_id,
@@ -57,7 +55,7 @@ let OpenaiApi = (function () {
57
55
  /* Removes a file from the vector store. */
58
56
 
59
57
  const openai = new OpenAI(this.clientParams);
60
- const { vector_store_id, file_id, ...params } = parameters.msg.payload;
58
+ const { vector_store_id, file_id, ...params } = parameters.payload;
61
59
  const response = openai.beta.vectorStores.files.del(
62
60
  vector_store_id,
63
61
  file_id,
@@ -69,9 +67,11 @@ let OpenaiApi = (function () {
69
67
 
70
68
  // End Vector Store File functions
71
69
 
70
+ // >>> Begin File Batch functions
71
+
72
72
  async createVectorStoreFileBatch(parameters) {
73
73
  const openai = new OpenAI(this.clientParams);
74
- const { vector_store_id, ...params } = parameters.msg.payload;
74
+ const { vector_store_id, ...params } = parameters.payload;
75
75
  const response = await openai.beta.vectorStores.fileBatches.create(
76
76
  vector_store_id,
77
77
  params,
@@ -82,7 +82,7 @@ let OpenaiApi = (function () {
82
82
 
83
83
  async retrieveVectorStoreFileBatch(parameters) {
84
84
  const openai = new OpenAI(this.clientParams);
85
- const { vector_store_id, batch_id, ...params } = parameters.msg.payload;
85
+ const { vector_store_id, batch_id, ...params } = parameters.payload;
86
86
  const response = await openai.beta.vectorStores.fileBatches.retrieve(
87
87
  vector_store_id,
88
88
  batch_id,
@@ -94,7 +94,7 @@ let OpenaiApi = (function () {
94
94
 
95
95
  async cancelVectorStoreFileBatch(parameters) {
96
96
  const openai = new OpenAI(this.clientParams);
97
- const { vector_store_id, batch_id, ...params } = parameters.msg.payload;
97
+ const { vector_store_id, batch_id, ...params } = parameters.payload;
98
98
  const response = await openai.beta.vectorStores.fileBatches.retrieve(
99
99
  vector_store_id,
100
100
  batch_id,
@@ -106,7 +106,7 @@ let OpenaiApi = (function () {
106
106
 
107
107
  async listVectorStoreBatchFiles(parameters) {
108
108
  const openai = new OpenAI(this.clientParams);
109
- const { vector_store_id, batch_id, ...params } = parameters.msg.payload;
109
+ const { vector_store_id, batch_id, ...params } = parameters.payload;
110
110
  const list = await openai.beta.vectorStores.fileBatches.listFiles(
111
111
  vector_store_id,
112
112
  batch_id,
@@ -117,10 +117,39 @@ let OpenaiApi = (function () {
117
117
  return batchFiles;
118
118
  }
119
119
 
120
+ async uploadAndPollVectorStoreFileBatch(parameters) {
121
+ const openai = new OpenAI(this.clientParams);
122
+ const { vector_store_id, files, file_ids, ...params } =
123
+ parameters.payload;
124
+
125
+ if (!files || !Array.isArray(files)) {
126
+ throw new Error("Files is not defined or not an array");
127
+ }
128
+
129
+ // Validate file paths
130
+ files.forEach((path) => {
131
+ if (!fs.existsSync(path)) {
132
+ throw new Error(`File does not exist: ${path}`);
133
+ }
134
+ });
135
+
136
+ const fileStreams = files.map((path) => fs.createReadStream(path));
137
+
138
+ const response = await openai.beta.vectorStores.fileBatches.uploadAndPoll(
139
+ vector_store_id,
140
+ { files: fileStreams, fileIds: file_ids },
141
+ params,
142
+ );
143
+
144
+ return response;
145
+ }
146
+
147
+ // <<< End File Batch Functions
148
+
120
149
  async createVectorStore(parameters) {
121
150
  const openai = new OpenAI(this.clientParams);
122
151
  const response = await openai.beta.vectorStores.create(
123
- parameters.msg.payload,
152
+ parameters.payload,
124
153
  );
125
154
 
126
155
  return response;
@@ -128,7 +157,7 @@ let OpenaiApi = (function () {
128
157
 
129
158
  async listVectorStores(parameters) {
130
159
  const openai = new OpenAI(this.clientParams);
131
- const list = await openai.beta.vectorStores.list(parameters.msg.payload);
160
+ const list = await openai.beta.vectorStores.list(parameters.payload);
132
161
  const vectorStores = [...list.data];
133
162
 
134
163
  return vectorStores;
@@ -136,7 +165,7 @@ let OpenaiApi = (function () {
136
165
 
137
166
  async retrieveVectorStore(parameters) {
138
167
  const openai = new OpenAI(this.clientParams);
139
- const { vector_store_id, ...params } = parameters.msg.payload;
168
+ const { vector_store_id, ...params } = parameters.payload;
140
169
  const response = await openai.beta.vectorStores.retrieve(
141
170
  vector_store_id,
142
171
  params,
@@ -147,7 +176,7 @@ let OpenaiApi = (function () {
147
176
 
148
177
  async modifyVectorStore(parameters) {
149
178
  const openai = new OpenAI(this.clientParams);
150
- const { vector_store_id, ...params } = parameters.msg.payload;
179
+ const { vector_store_id, ...params } = parameters.payload;
151
180
  const response = await openai.beta.vectorStores.update(
152
181
  vector_store_id,
153
182
  params,
@@ -158,7 +187,7 @@ let OpenaiApi = (function () {
158
187
 
159
188
  async deleteVectorStore(parameters) {
160
189
  const openai = new OpenAI(this.clientParams);
161
- const { vector_store_id, ...params } = parameters.msg.payload;
190
+ const { vector_store_id, ...params } = parameters.payload;
162
191
  const response = await openai.beta.vectorStores.del(
163
192
  vector_store_id,
164
193
  params,
@@ -169,14 +198,14 @@ let OpenaiApi = (function () {
169
198
 
170
199
  async createBatch(parameters) {
171
200
  const openai = new OpenAI(this.clientParams);
172
- const response = await openai.batches.create(parameters.msg.payload);
201
+ const response = await openai.batches.create(parameters.payload);
173
202
 
174
203
  return response;
175
204
  }
176
205
 
177
206
  async retrieveBatch(parameters) {
178
207
  const openai = new OpenAI(this.clientParams);
179
- const { batch_id, ...params } = parameters.msg.payload;
208
+ const { batch_id, ...params } = parameters.payload;
180
209
  const response = await openai.batches.retrieve(batch_id, params);
181
210
 
182
211
  return response;
@@ -184,7 +213,7 @@ let OpenaiApi = (function () {
184
213
 
185
214
  async listBatch(parameters) {
186
215
  const openai = new OpenAI(this.clientParams);
187
- const list = await openai.batches.list(parameters.msg.payload);
216
+ const list = await openai.batches.list(parameters.payload);
188
217
  const batches = [...list.data];
189
218
 
190
219
  return batches;
@@ -192,7 +221,7 @@ let OpenaiApi = (function () {
192
221
 
193
222
  async cancelBatch(parameters) {
194
223
  const openai = new OpenAI(this.clientParams);
195
- const { batch_id, ...params } = parameters.msg.payload;
224
+ const { batch_id, ...params } = parameters.payload;
196
225
  const response = await openai.batches.cancel(batch_id, params);
197
226
 
198
227
  return response;
@@ -201,9 +230,9 @@ let OpenaiApi = (function () {
201
230
  async createChatCompletion(parameters) {
202
231
  const { _node, ...params } = parameters;
203
232
  const openai = new OpenAI(this.clientParams);
204
- const response = await openai.chat.completions.create(params.msg.payload);
233
+ const response = await openai.chat.completions.create(params.payload);
205
234
 
206
- if (params.msg.payload.stream) {
235
+ if (params.payload.stream) {
207
236
  _node.status({
208
237
  fill: "green",
209
238
  shape: "dot",
@@ -225,14 +254,14 @@ let OpenaiApi = (function () {
225
254
 
226
255
  async createImage(parameters) {
227
256
  const openai = new OpenAI(this.clientParams);
228
- const response = await openai.images.generate(parameters.msg.payload);
257
+ const response = await openai.images.generate(parameters.payload);
229
258
 
230
259
  return response.data;
231
260
  }
232
261
 
233
262
  async createImageEdit(parameters) {
234
263
  const openai = new OpenAI(this.clientParams);
235
- let { image, mask, ...params } = parameters.msg.payload;
264
+ let { image, mask, ...params } = parameters.payload;
236
265
 
237
266
  params.image = fs.createReadStream(image);
238
267
  if (mask) {
@@ -245,7 +274,7 @@ let OpenaiApi = (function () {
245
274
 
246
275
  async createImageVariation(parameters) {
247
276
  const openai = new OpenAI(this.clientParams);
248
- let { image, ...params } = parameters.msg.payload;
277
+ let { image, ...params } = parameters.payload;
249
278
 
250
279
  params.image = fs.createReadStream(image);
251
280
  const response = await openai.images.createVariation(params);
@@ -255,14 +284,14 @@ let OpenaiApi = (function () {
255
284
 
256
285
  async createEmbedding(parameters) {
257
286
  const openai = new OpenAI(this.clientParams);
258
- const response = await openai.embeddings.create(parameters.msg.payload);
287
+ const response = await openai.embeddings.create(parameters.payload);
259
288
 
260
289
  return response.data;
261
290
  }
262
291
 
263
292
  async createSpeech(parameters) {
264
293
  const openai = new OpenAI(this.clientParams);
265
- const audio = await openai.audio.speech.create(parameters.msg.payload);
294
+ const audio = await openai.audio.speech.create(parameters.payload);
266
295
  const response = Buffer.from(await audio.arrayBuffer());
267
296
 
268
297
  return response;
@@ -270,7 +299,7 @@ let OpenaiApi = (function () {
270
299
 
271
300
  async createTranscription(parameters) {
272
301
  const openai = new OpenAI(this.clientParams);
273
- let { file, ...params } = parameters.msg.payload;
302
+ let { file, ...params } = parameters.payload;
274
303
 
275
304
  params.file = fs.createReadStream(file);
276
305
 
@@ -281,7 +310,7 @@ let OpenaiApi = (function () {
281
310
 
282
311
  async createTranslation(parameters) {
283
312
  const openai = new OpenAI(this.clientParams);
284
- let { file, ...params } = parameters.msg.payload;
313
+ let { file, ...params } = parameters.payload;
285
314
 
286
315
  params.file = fs.createReadStream(file);
287
316
 
@@ -292,14 +321,14 @@ let OpenaiApi = (function () {
292
321
 
293
322
  async listFiles(parameters) {
294
323
  const openai = new OpenAI(this.clientParams);
295
- const list = await openai.files.list(parameters.msg.payload);
324
+ const list = await openai.files.list(parameters.payload);
296
325
 
297
326
  return [...list.data];
298
327
  }
299
328
 
300
329
  async createFile(parameters) {
301
330
  const openai = new OpenAI(this.clientParams);
302
- let { file, ...params } = parameters.msg.payload;
331
+ let { file, ...params } = parameters.payload;
303
332
 
304
333
  params.file = fs.createReadStream(file);
305
334
 
@@ -310,7 +339,7 @@ let OpenaiApi = (function () {
310
339
 
311
340
  async deleteFile(parameters) {
312
341
  const openai = new OpenAI(this.clientParams);
313
- const { file_id, ...params } = parameters.msg.payload;
342
+ const { file_id, ...params } = parameters.payload;
314
343
  const response = await openai.files.del(file_id, params);
315
344
 
316
345
  return response;
@@ -318,7 +347,7 @@ let OpenaiApi = (function () {
318
347
 
319
348
  async retrieveFile(parameters) {
320
349
  const openai = new OpenAI(this.clientParams);
321
- const { file_id, ...params } = parameters.msg.payload;
350
+ const { file_id, ...params } = parameters.payload;
322
351
  const response = await openai.files.retrieve(file_id, params);
323
352
 
324
353
  return response;
@@ -326,7 +355,7 @@ let OpenaiApi = (function () {
326
355
 
327
356
  async downloadFile(parameters) {
328
357
  const openai = new OpenAI(this.clientParams);
329
- const { file_id, ...params } = parameters.msg.payload;
358
+ const { file_id, ...params } = parameters.payload;
330
359
  const response = await openai.files.content(file_id, params);
331
360
 
332
361
  return response;
@@ -334,23 +363,21 @@ let OpenaiApi = (function () {
334
363
 
335
364
  async createFineTuningJob(parameters) {
336
365
  const openai = new OpenAI(this.clientParams);
337
- const response = await openai.fineTuning.jobs.create(
338
- parameters.msg.payload,
339
- );
366
+ const response = await openai.fineTuning.jobs.create(parameters.payload);
340
367
 
341
368
  return response;
342
369
  }
343
370
 
344
371
  async listPaginatedFineTuningJobs(parameters) {
345
372
  const openai = new OpenAI(this.clientParams);
346
- const list = await openai.fineTuning.jobs.list(parameters.msg.payload);
373
+ const list = await openai.fineTuning.jobs.list(parameters.payload);
347
374
 
348
375
  return [...list.data];
349
376
  }
350
377
 
351
378
  async retrieveFineTuningJob(parameters) {
352
379
  const openai = new OpenAI(this.clientParams);
353
- const { fine_tuning_job_id, ...params } = parameters.msg.payload;
380
+ const { fine_tuning_job_id, ...params } = parameters.payload;
354
381
  const response = await openai.fineTuning.jobs.retrieve(
355
382
  fine_tuning_job_id,
356
383
  params,
@@ -361,7 +388,7 @@ let OpenaiApi = (function () {
361
388
 
362
389
  async listFineTuningEvents(parameters) {
363
390
  const openai = new OpenAI(this.clientParams);
364
- const { fine_tuning_job_id, ...params } = parameters.msg.payload;
391
+ const { fine_tuning_job_id, ...params } = parameters.payload;
365
392
  const list = await openai.fineTuning.jobs.listEvents(
366
393
  fine_tuning_job_id,
367
394
  params,
@@ -370,9 +397,20 @@ let OpenaiApi = (function () {
370
397
  return [...list.data];
371
398
  }
372
399
 
400
+ async listFineTuningCheckpoints(parameters) {
401
+ const openai = new OpenAI(this.clientParams);
402
+ const { fine_tuning_job_id, ...params } = parameters.payload;
403
+ const list = await openai.fineTuning.jobs.checkpoints.list(
404
+ fine_tuning_job_id,
405
+ params,
406
+ );
407
+
408
+ return [...list.data];
409
+ }
410
+
373
411
  async cancelFineTuningJob(parameters) {
374
412
  const openai = new OpenAI(this.clientParams);
375
- const { fine_tuning_job_id, ...params } = parameters.msg.payload;
413
+ const { fine_tuning_job_id, ...params } = parameters.payload;
376
414
  const response = await openai.fineTuning.jobs.cancel(
377
415
  fine_tuning_job_id,
378
416
  params,
@@ -383,14 +421,14 @@ let OpenaiApi = (function () {
383
421
 
384
422
  async listModels(parameters) {
385
423
  const openai = new OpenAI(this.clientParams);
386
- const list = await openai.models.list();
424
+ const list = await openai.models.list(parameters.payload);
387
425
 
388
426
  return [...list.data];
389
427
  }
390
428
 
391
429
  async retrieveModel(parameters) {
392
430
  const openai = new OpenAI(this.clientParams);
393
- const model = parameters.msg.payload.model;
431
+ const model = parameters.payload.model;
394
432
  const response = await openai.models.retrieve(model);
395
433
 
396
434
  return response;
@@ -398,7 +436,7 @@ let OpenaiApi = (function () {
398
436
 
399
437
  async deleteModel(parameters) {
400
438
  const openai = new OpenAI(this.clientParams);
401
- const model = parameters.msg.payload.model;
439
+ const model = parameters.payload.model;
402
440
  const response = await openai.models.del(model);
403
441
 
404
442
  return response;
@@ -406,29 +444,27 @@ let OpenaiApi = (function () {
406
444
 
407
445
  async createModeration(parameters) {
408
446
  const openai = new OpenAI(this.clientParams);
409
- const response = await openai.moderations.create(parameters.msg.payload);
447
+ const response = await openai.moderations.create(parameters.payload);
410
448
  return response;
411
449
  }
412
450
 
413
451
  async listAssistants(parameters) {
414
452
  const openai = new OpenAI(this.clientParams);
415
- const list = await openai.beta.assistants.list(parameters.msg.payload);
453
+ const list = await openai.beta.assistants.list(parameters.payload);
416
454
 
417
455
  return [...list.data];
418
456
  }
419
457
 
420
458
  async createAssistant(parameters) {
421
459
  const openai = new OpenAI(this.clientParams);
422
- const response = await openai.beta.assistants.create(
423
- parameters.msg.payload,
424
- );
460
+ const response = await openai.beta.assistants.create(parameters.payload);
425
461
 
426
462
  return response;
427
463
  }
428
464
 
429
465
  async getAssistant(parameters) {
430
466
  const openai = new OpenAI(this.clientParams);
431
- const { assistant_id, ...params } = parameters.msg.payload;
467
+ const { assistant_id, ...params } = parameters.payload;
432
468
  const response = await openai.beta.assistants.retrieve(
433
469
  assistant_id,
434
470
  params,
@@ -439,7 +475,7 @@ let OpenaiApi = (function () {
439
475
 
440
476
  async modifyAssistant(parameters) {
441
477
  const openai = new OpenAI(this.clientParams);
442
- const { assistant_id, ...params } = parameters.msg.payload;
478
+ const { assistant_id, ...params } = parameters.payload;
443
479
  const response = await openai.beta.assistants.update(
444
480
  assistant_id,
445
481
  params,
@@ -450,7 +486,7 @@ let OpenaiApi = (function () {
450
486
 
451
487
  async deleteAssistant(parameters) {
452
488
  const openai = new OpenAI(this.clientParams);
453
- const { assistant_id, ...params } = parameters.msg.payload;
489
+ const { assistant_id, ...params } = parameters.payload;
454
490
  const response = await openai.beta.assistants.del(assistant_id, params);
455
491
 
456
492
  return response;
@@ -458,14 +494,14 @@ let OpenaiApi = (function () {
458
494
 
459
495
  async createThread(parameters) {
460
496
  const openai = new OpenAI(this.clientParams);
461
- const response = await openai.beta.threads.create(parameters.msg.payload);
497
+ const response = await openai.beta.threads.create(parameters.payload);
462
498
 
463
499
  return response;
464
500
  }
465
501
 
466
502
  async getThread(parameters) {
467
503
  const openai = new OpenAI(this.clientParams);
468
- const { thread_id, ...params } = parameters.msg.payload;
504
+ const { thread_id, ...params } = parameters.payload;
469
505
  const response = await openai.beta.threads.retrieve(thread_id, params);
470
506
 
471
507
  return response;
@@ -473,7 +509,7 @@ let OpenaiApi = (function () {
473
509
 
474
510
  async modifyThread(parameters) {
475
511
  const openai = new OpenAI(this.clientParams);
476
- const { thread_id, ...params } = parameters.msg.payload;
512
+ const { thread_id, ...params } = parameters.payload;
477
513
  const response = await openai.beta.threads.update(thread_id, params);
478
514
 
479
515
  return response;
@@ -481,7 +517,7 @@ let OpenaiApi = (function () {
481
517
 
482
518
  async deleteThread(parameters) {
483
519
  const openai = new OpenAI(this.clientParams);
484
- const { thread_id, ...params } = parameters.msg.payload;
520
+ const { thread_id, ...params } = parameters.payload;
485
521
  const response = await openai.beta.threads.del(thread_id, params);
486
522
 
487
523
  return response;
@@ -489,7 +525,7 @@ let OpenaiApi = (function () {
489
525
 
490
526
  async listMessages(parameters) {
491
527
  const openai = new OpenAI(this.clientParams);
492
- const { thread_id, ...params } = parameters.msg.payload;
528
+ const { thread_id, ...params } = parameters.payload;
493
529
  const list = await openai.beta.threads.messages.list(thread_id, params);
494
530
 
495
531
  return [...list.data];
@@ -497,7 +533,7 @@ let OpenaiApi = (function () {
497
533
 
498
534
  async createMessage(parameters) {
499
535
  const openai = new OpenAI(this.clientParams);
500
- const { thread_id, ...params } = parameters.msg.payload;
536
+ const { thread_id, ...params } = parameters.payload;
501
537
  const response = await openai.beta.threads.messages.create(
502
538
  thread_id,
503
539
  params,
@@ -508,7 +544,7 @@ let OpenaiApi = (function () {
508
544
 
509
545
  async getMessage(parameters) {
510
546
  const openai = new OpenAI(this.clientParams);
511
- const { thread_id, message_id, ...params } = parameters.msg.payload;
547
+ const { thread_id, message_id, ...params } = parameters.payload;
512
548
  const response = await openai.beta.threads.messages.retrieve(
513
549
  thread_id,
514
550
  message_id,
@@ -520,7 +556,7 @@ let OpenaiApi = (function () {
520
556
 
521
557
  async modifyMessage(parameters) {
522
558
  const openai = new OpenAI(this.clientParams);
523
- const { thread_id, message_id, ...params } = parameters.msg.payload;
559
+ const { thread_id, message_id, ...params } = parameters.payload;
524
560
  const response = await openai.beta.threads.messages.update(
525
561
  thread_id,
526
562
  message_id,
@@ -532,13 +568,10 @@ let OpenaiApi = (function () {
532
568
 
533
569
  async createThreadAndRun(parameters) {
534
570
  const openai = new OpenAI(this.clientParams);
535
-
536
571
  const { _node, ...params } = parameters;
537
- const response = await openai.beta.threads.createAndRun(
538
- params.msg.payload,
539
- );
572
+ const response = await openai.beta.threads.createAndRun(params.payload);
540
573
 
541
- if (params.msg.payload.stream) {
574
+ if (params.payload.stream) {
542
575
  _node.status({
543
576
  fill: "green",
544
577
  shape: "dot",
@@ -560,7 +593,7 @@ let OpenaiApi = (function () {
560
593
 
561
594
  async listRuns(parameters) {
562
595
  const openai = new OpenAI(this.clientParams);
563
- const { thread_id, ...params } = parameters.msg.payload;
596
+ const { thread_id, ...params } = parameters.payload;
564
597
  const list = await openai.beta.threads.runs.list(thread_id, params);
565
598
 
566
599
  return [...list.data];
@@ -568,9 +601,8 @@ let OpenaiApi = (function () {
568
601
 
569
602
  async createRun(parameters) {
570
603
  const openai = new OpenAI(this.clientParams);
571
-
572
604
  const { _node, ..._params } = parameters;
573
- const { thread_id, ...params } = _params.msg.payload;
605
+ const { thread_id, ...params } = _params.payload;
574
606
  const response = await openai.beta.threads.runs.create(thread_id, params);
575
607
 
576
608
  if (params.stream) {
@@ -595,7 +627,7 @@ let OpenaiApi = (function () {
595
627
 
596
628
  async getRun(parameters) {
597
629
  const openai = new OpenAI(this.clientParams);
598
- const { thread_id, run_id, ...params } = parameters.msg.payload;
630
+ const { thread_id, run_id, ...params } = parameters.payload;
599
631
  const response = await openai.beta.threads.runs.retrieve(
600
632
  thread_id,
601
633
  run_id,
@@ -607,7 +639,7 @@ let OpenaiApi = (function () {
607
639
 
608
640
  async modifyRun(parameters) {
609
641
  const openai = new OpenAI(this.clientParams);
610
- const { thread_id, run_id, ...params } = parameters.msg.payload;
642
+ const { thread_id, run_id, ...params } = parameters.payload;
611
643
  const response = await openai.beta.threads.runs.update(
612
644
  thread_id,
613
645
  run_id,
@@ -619,9 +651,8 @@ let OpenaiApi = (function () {
619
651
 
620
652
  async submitToolOutputsToRun(parameters) {
621
653
  const openai = new OpenAI(this.clientParams);
622
-
623
- const {_node, ..._params} = parameters;
624
- const { thread_id, run_id, ...params } = _params.msg.payload;
654
+ const { _node, ..._params } = parameters;
655
+ const { thread_id, run_id, ...params } = _params.payload;
625
656
  const response = await openai.beta.threads.runs.submitToolOutputs(
626
657
  thread_id,
627
658
  run_id,
@@ -650,7 +681,7 @@ let OpenaiApi = (function () {
650
681
 
651
682
  async cancelRun(parameters) {
652
683
  const openai = new OpenAI(this.clientParams);
653
- const { thread_id, run_id, ...params } = parameters.msg.payload;
684
+ const { thread_id, run_id, ...params } = parameters.payload;
654
685
  const response = await openai.beta.threads.runs.cancel(
655
686
  thread_id,
656
687
  run_id,
@@ -662,15 +693,19 @@ let OpenaiApi = (function () {
662
693
 
663
694
  async listRunSteps(parameters) {
664
695
  const openai = new OpenAI(this.clientParams);
665
- const { thread_id, run_id, ...params } = parameters.msg.payload;
666
- const list = await openai.beta.threads.runs.steps.list(run_id, params);
696
+ const { thread_id, run_id, ...params } = parameters.payload;
697
+ const list = await openai.beta.threads.runs.steps.list(
698
+ thread_id,
699
+ run_id,
700
+ params,
701
+ );
667
702
 
668
703
  return [...list.data];
669
704
  }
670
705
 
671
706
  async getRunStep(parameters) {
672
707
  const openai = new OpenAI(this.clientParams);
673
- const { thread_id, run_id, step_id, ...params } = parameters.msg.payload;
708
+ const { thread_id, run_id, step_id, ...params } = parameters.payload;
674
709
  const response = await openai.beta.threads.runs.steps.retrieve(
675
710
  thread_id,
676
711
  run_id,
@@ -24,6 +24,7 @@
24
24
  "retrieveVectorStoreFileBatch": "retrieve vector store file batch",
25
25
  "cancelVectorStoreFileBatch": "cancel vector store file batch",
26
26
  "listVectorStoreBatchFiles": "list vector store batch files",
27
+ "uploadAndPollVectorStoreFileBatch": "upload and poll file batch",
27
28
  "createVectorStore": "create vector store",
28
29
  "listVectorStores": "list vector stores",
29
30
  "retrieveVectorStore": "retrieve vector store",
@@ -80,6 +81,7 @@
80
81
  "retrieveFineTuningJob": "retrieve fine-tuning job",
81
82
  "fine_tuning_job_id": "fine-tuning job id",
82
83
  "listFineTuningEvents": "list fine-tuning events",
84
+ "listFineTuningCheckpoints": "list fine-tuning checkpoints",
83
85
  "cancelFineTuningJob": "cancel fine-tuning",
84
86
  "createFineTune": "POST /fine-tunes",
85
87
  "listFineTunes": "GET /fine-tunes",
@@ -24,6 +24,7 @@
24
24
  "retrieveVectorStoreFileBatch": "retrieve vector store file batch",
25
25
  "cancelVectorStoreFileBatch": "cancel vector store file batch",
26
26
  "listVectorStoreBatchFiles": "list vector store batch files",
27
+ "uploadAndPollVectorStoreFileBatch": "upload and poll file batch",
27
28
  "createVectorStore": "create vector store",
28
29
  "listVectorStores": "list vector stores",
29
30
  "retrieveVectorStore": "retrieve vector store",
@@ -80,6 +81,7 @@
80
81
  "retrieveFineTuningJob": "retrieve fine-tuning job",
81
82
  "fine_tuning_job_id": "fine-tuning job id",
82
83
  "listFineTuningEvents": "list fine-tuning events",
84
+ "listFineTuningCheckpoints": "list fine-tuning checkpoints",
83
85
  "cancelFineTuningJob": "cancel fine-tuning",
84
86
  "createFineTune": "POST /fine-tunes",
85
87
  "listFineTunes": "GET /fine-tunes",