diff --git a/README.md b/README.md
index 3d245c0..ce8012a 100644
--- a/README.md
+++ b/README.md
@@ -40,7 +40,11 @@ After installation, find your node in the **AI** palette category labeled "OpenA
- **Configurable and Flexible**: Adapt to a wide range of project requirements, making it easy to integrate AI into your IoT solutions.
- **Powerful Combinations**: Utilize Node-RED's diverse nodes to build complex, AI-driven IoT workflows with ease.
-## Release Notes (v1.103.0)
+## Release Notes (v1.103.0-patch.1)
+
+### Fixed Issues
+
+- Reaolves issue [#34](https://github.com/allanbunch/node-red-openai-api/issues/34)
### Ehancements
@@ -48,6 +52,7 @@ After installation, find your node in the **AI** palette category labeled "OpenA
### Notable Features & Changes
+- Added missing `delete` method to the `messages` API.
- Full Model Context Protocol (MCP) tool support for the `responses` API.
- Added support for the new `container` endpoint.
- Added support for the new `containerFiles` endpoint.
diff --git a/lib.js b/lib.js
index 909fdbd..997882b 100644
--- a/lib.js
+++ b/lib.js
@@ -16148,8 +16148,64 @@ var require_methods11 = __commonJS({
}
});
-// src/models/methods.js
+// src/messages/methods.js
var require_methods12 = __commonJS({
+ "src/messages/methods.js"(exports2, module2) {
+ var OpenAI = require_openai().OpenAI;
+ async function listMessages(parameters) {
+ const openai = new OpenAI(this.clientParams);
+ const { thread_id, ...params } = parameters.payload;
+ const list = await openai.beta.threads.messages.list(thread_id, params);
+ return [...list.data];
+ }
+ async function createMessage(parameters) {
+ const openai = new OpenAI(this.clientParams);
+ const { thread_id, ...params } = parameters.payload;
+ const response = await openai.beta.threads.messages.create(thread_id, params);
+ return response;
+ }
+ async function getMessage(parameters) {
+ const openai = new OpenAI(this.clientParams);
+ const { thread_id, message_id, ...params } = parameters.payload;
+ const response = await openai.beta.threads.messages.retrieve(
+ thread_id,
+ message_id,
+ params
+ );
+ return response;
+ }
+ async function modifyMessage(parameters) {
+ const openai = new OpenAI(this.clientParams);
+ const { thread_id, message_id, ...params } = parameters.payload;
+ const response = await openai.beta.threads.messages.update(
+ thread_id,
+ message_id,
+ params
+ );
+ return response;
+ }
+ async function deleteMessage(parameters) {
+ const openai = new OpenAI(this.clientParams);
+ const { thread_id, message_id, ...params } = parameters.payload;
+ const response = await openai.beta.threads.messages.del(
+ thread_id,
+ message_id,
+ params
+ );
+ return response;
+ }
+ module2.exports = {
+ listMessages,
+ createMessage,
+ getMessage,
+ modifyMessage,
+ deleteMessage
+ };
+ }
+});
+
+// src/models/methods.js
+var require_methods13 = __commonJS({
"src/models/methods.js"(exports2, module2) {
var OpenAI = require_openai().OpenAI;
async function listModels(parameters) {
@@ -16178,7 +16234,7 @@ var require_methods12 = __commonJS({
});
// src/moderations/methods.js
-var require_methods13 = __commonJS({
+var require_methods14 = __commonJS({
"src/moderations/methods.js"(exports2, module2) {
var OpenAI = require_openai().OpenAI;
async function createModeration(parameters) {
@@ -16193,7 +16249,7 @@ var require_methods13 = __commonJS({
});
// src/responses/methods.js
-var require_methods14 = __commonJS({
+var require_methods15 = __commonJS({
"src/responses/methods.js"(exports2, module2) {
var OpenAI = require_openai().OpenAI;
async function createModelResponse(parameters) {
@@ -16245,7 +16301,7 @@ var require_methods14 = __commonJS({
});
// src/runs/methods.js
-var require_methods15 = __commonJS({
+var require_methods16 = __commonJS({
"src/runs/methods.js"(exports2, module2) {
var OpenAI = require_openai().OpenAI;
async function createThreadAndRun(parameters) {
@@ -16389,7 +16445,7 @@ var require_methods15 = __commonJS({
});
// src/threads/methods.js
-var require_methods16 = __commonJS({
+var require_methods17 = __commonJS({
"src/threads/methods.js"(exports2, module2) {
var OpenAI = require_openai().OpenAI;
async function createThread(parameters) {
@@ -16425,7 +16481,7 @@ var require_methods16 = __commonJS({
});
// src/uploads/methods.js
-var require_methods17 = __commonJS({
+var require_methods18 = __commonJS({
"src/uploads/methods.js"(exports2, module2) {
var OpenAI = require_openai().OpenAI;
async function createUpload(parameters) {
@@ -16523,14 +16579,14 @@ var require_methods17 = __commonJS({
});
// src/vector-store-file-batches/methods.js
-var require_methods18 = __commonJS({
+var require_methods19 = __commonJS({
"src/vector-store-file-batches/methods.js"(exports2, module2) {
var OpenAI = require_openai().OpenAI;
var fs = require("fs");
async function createVectorStoreFileBatch(parameters) {
const openai = new OpenAI(this.clientParams);
const { vector_store_id, ...params } = parameters.payload;
- const response = await openai.beta.vectorStores.fileBatches.create(
+ const response = await openai.vectorStores.fileBatches.create(
vector_store_id,
params
);
@@ -16539,7 +16595,7 @@ var require_methods18 = __commonJS({
async function retrieveVectorStoreFileBatch(parameters) {
const openai = new OpenAI(this.clientParams);
const { vector_store_id, batch_id, ...params } = parameters.payload;
- const response = await openai.beta.vectorStores.fileBatches.retrieve(
+ const response = await openai.vectorStores.fileBatches.retrieve(
vector_store_id,
batch_id,
params
@@ -16549,7 +16605,7 @@ var require_methods18 = __commonJS({
async function cancelVectorStoreFileBatch(parameters) {
const openai = new OpenAI(this.clientParams);
const { vector_store_id, batch_id, ...params } = parameters.payload;
- const response = await openai.beta.vectorStores.fileBatches.retrieve(
+ const response = await openai.vectorStores.fileBatches.retrieve(
vector_store_id,
batch_id,
params
@@ -16559,7 +16615,7 @@ var require_methods18 = __commonJS({
async function listVectorStoreBatchFiles(parameters) {
const openai = new OpenAI(this.clientParams);
const { vector_store_id, batch_id, ...params } = parameters.payload;
- const list = await openai.beta.vectorStores.fileBatches.listFiles(
+ const list = await openai.vectorStores.fileBatches.listFiles(
vector_store_id,
batch_id,
params
@@ -16579,7 +16635,7 @@ var require_methods18 = __commonJS({
}
});
const fileStreams = files2.map((path) => fs.createReadStream(path));
- const response = await openai.beta.vectorStores.fileBatches.uploadAndPoll(
+ const response = await openai.vectorStores.fileBatches.uploadAndPoll(
vector_store_id,
{ files: fileStreams, fileIds: file_ids },
params
@@ -16597,13 +16653,13 @@ var require_methods18 = __commonJS({
});
// src/vector-store-files/methods.js
-var require_methods19 = __commonJS({
+var require_methods20 = __commonJS({
"src/vector-store-files/methods.js"(exports2, module2) {
var OpenAI = require_openai().OpenAI;
async function createVectorStoreFile(parameters) {
const openai = new OpenAI(this.clientParams);
const { vector_store_id, ...params } = parameters.payload;
- const response = await openai.beta.vectorStores.files.create(
+ const response = await openai.vectorStores.files.create(
vector_store_id,
params
);
@@ -16612,25 +16668,19 @@ var require_methods19 = __commonJS({
async function listVectorStoreFiles(parameters) {
const openai = new OpenAI(this.clientParams);
const { vector_store_id, ...params } = parameters.payload;
- const list = await openai.beta.vectorStores.files.list(
- vector_store_id,
- params
- );
+ const list = await openai.vectorStores.files.list(vector_store_id, params);
return [...list.data];
}
async function retrieveVectorStoreFile(parameters) {
const openai = new OpenAI(this.clientParams);
const { vector_store_id, file_id } = parameters.payload;
- const response = openai.beta.vectorStores.files.retrieve(
- vector_store_id,
- file_id
- );
+ const response = openai.vectorStores.files.retrieve(vector_store_id, file_id);
return response;
}
async function deleteVectorStoreFile(parameters) {
const openai = new OpenAI(this.clientParams);
const { vector_store_id, file_id, ...params } = parameters.payload;
- const response = openai.beta.vectorStores.files.del(
+ const response = openai.vectorStores.files.del(
vector_store_id,
file_id,
params
@@ -16647,42 +16697,36 @@ var require_methods19 = __commonJS({
});
// src/vector-stores/methods.js
-var require_methods20 = __commonJS({
+var require_methods21 = __commonJS({
"src/vector-stores/methods.js"(exports2, module2) {
var OpenAI = require_openai().OpenAI;
async function createVectorStore(parameters) {
const openai = new OpenAI(this.clientParams);
- const response = await openai.beta.vectorStores.create(parameters.payload);
+ const response = await openai.vectorStores.create(parameters.payload);
return response;
}
async function listVectorStores(parameters) {
const openai = new OpenAI(this.clientParams);
- const list = await openai.beta.vectorStores.list(parameters.payload);
+ const list = await openai.vectorStores.list(parameters.payload);
const vectorStores2 = [...list.data];
return vectorStores2;
}
async function retrieveVectorStore(parameters) {
const openai = new OpenAI(this.clientParams);
const { vector_store_id, ...params } = parameters.payload;
- const response = await openai.beta.vectorStores.retrieve(
- vector_store_id,
- params
- );
+ const response = await openai.vectorStores.retrieve(vector_store_id, params);
return response;
}
async function modifyVectorStore(parameters) {
const openai = new OpenAI(this.clientParams);
const { vector_store_id, ...params } = parameters.payload;
- const response = await openai.beta.vectorStores.update(
- vector_store_id,
- params
- );
+ const response = await openai.vectorStores.update(vector_store_id, params);
return response;
}
async function deleteVectorStore(parameters) {
const openai = new OpenAI(this.clientParams);
const { vector_store_id, ...params } = parameters.payload;
- const response = await openai.beta.vectorStores.del(vector_store_id, params);
+ const response = await openai.vectorStores.del(vector_store_id, params);
return response;
}
module2.exports = {
@@ -16706,15 +16750,16 @@ var embeddings = require_methods8();
var files = require_methods9();
var fine_tuning = require_methods10();
var images = require_methods11();
-var models = require_methods12();
-var moderations = require_methods13();
-var responses = require_methods14();
-var runs = require_methods15();
-var threads = require_methods16();
-var uploads = require_methods17();
-var vectorStoreFileBatches = require_methods18();
-var vectorStoreFiles = require_methods19();
-var vectorStores = require_methods20();
+var messages = require_methods12();
+var models = require_methods13();
+var moderations = require_methods14();
+var responses = require_methods15();
+var runs = require_methods16();
+var threads = require_methods17();
+var uploads = require_methods18();
+var vectorStoreFileBatches = require_methods19();
+var vectorStoreFiles = require_methods20();
+var vectorStores = require_methods21();
var OpenaiApi = class {
constructor(apiKey, baseURL, organization) {
this.clientParams = {
@@ -16736,6 +16781,7 @@ Object.assign(
files,
fine_tuning,
images,
+ messages,
models,
moderations,
responses,
diff --git a/locales/en-US/node.json b/locales/en-US/node.json
index 5ac57fe..2f4b03b 100644
--- a/locales/en-US/node.json
+++ b/locales/en-US/node.json
@@ -130,6 +130,7 @@
"getMessage": "retrieve message",
"message_id": "message id",
"modifyMessage": "modify message",
+ "deleteMessage": "delete message",
"createUpload": "create upload",
"addUploadPart": "add upload part",
"completeUpload": "complete upload",
diff --git a/node.html b/node.html
index 9bae2c8..c68f79e 100644
--- a/node.html
+++ b/node.html
@@ -260,24 +260,13 @@
data-i18n="OpenaiApi.parameters.createImageVariation"
>
-
+
-
+