@inductiv/node-red-openai-api 0.1.0 → 0.3.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/.eslintrc.json +13 -0
- package/.prettierrc +4 -0
- package/README.md +35 -2
- package/examples/assistants.json +2 -2
- package/examples/audio.json +1 -1
- package/examples/chat.json +1 -1
- package/examples/embeddings.json +1 -1
- package/examples/files.json +1 -1
- package/examples/fine-tuning.json +1 -1
- package/examples/images.json +1 -1
- package/examples/messages.json +1 -1
- package/examples/models.json +1 -1
- package/examples/moderations.json +1 -1
- package/examples/runs.json +1 -1
- package/examples/threads.json +1 -1
- package/lib.js +475 -478
- package/locales/de-DE/node.json +4 -3
- package/locales/en-US/node.json +4 -3
- package/locales/ja/node.json +4 -3
- package/locales/zh-CN/node.json +4 -3
- package/node.html +15 -12
- package/node.js +80 -229
- package/package.json +4 -7
package/lib.js
CHANGED
|
@@ -1,615 +1,612 @@
|
|
|
1
|
-
/*jshint -W069 */
|
|
2
|
-
|
|
3
|
-
const { threadId } = require('worker_threads');
|
|
4
|
-
const { v4: uuidv4 } = require('uuid');
|
|
5
|
-
const FileType = require('file-type');
|
|
6
|
-
|
|
7
1
|
var OpenaiApi = (function () {
|
|
8
2
|
'use strict';
|
|
9
3
|
|
|
10
4
|
const axios = require('axios');
|
|
11
5
|
const FormData = require('form-data'); // Only if you handle form data
|
|
12
6
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
if (this.domain.length === 0) {
|
|
17
|
-
throw new Error('Domain parameter must be specified as a string.');
|
|
7
|
+
class OpenaiApi {
|
|
8
|
+
constructor(options) {
|
|
9
|
+
this.apiKey = (typeof options === 'object') ? (options.apiKey ? options.apiKey : {}) : {};
|
|
18
10
|
}
|
|
19
|
-
|
|
20
|
-
|
|
11
|
+
request(method, url, body, headers, queryParameters, form) {
|
|
12
|
+
// Create an instance of axios with default headers
|
|
13
|
+
const axiosInstance = axios.create({
|
|
14
|
+
headers: headers
|
|
15
|
+
});
|
|
21
16
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
Object.keys(parameters.$queryParameters)
|
|
25
|
-
.forEach(function (parameterName) {
|
|
26
|
-
var parameter = parameters.$queryParameters[parameterName];
|
|
27
|
-
queryParameters[parameterName] = parameter;
|
|
28
|
-
});
|
|
29
|
-
}
|
|
30
|
-
return queryParameters;
|
|
31
|
-
}
|
|
17
|
+
// Initialize the data to be sent
|
|
18
|
+
let data = body;
|
|
32
19
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
if (Object.keys(form).length > 0 && headers['Content-Type'] === 'multipart/form-data') {
|
|
44
|
-
const formData = new FormData();
|
|
45
|
-
for (const key of Object.keys(parameters)) {
|
|
46
|
-
formData.append(key, parameters.body[key]);
|
|
47
|
-
};
|
|
48
|
-
data = formData;
|
|
49
|
-
} else if (typeof body === 'object' && !(body instanceof Buffer)) {
|
|
50
|
-
// Ensure the headers are set for JSON
|
|
51
|
-
headers['Content-Type'] = 'application/json';
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
// Remove body data for GET requests
|
|
55
|
-
if (method === "GET") {
|
|
56
|
-
data = undefined;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
// Make the axios request
|
|
60
|
-
return axiosInstance({
|
|
61
|
-
method: method,
|
|
62
|
-
url: url,
|
|
63
|
-
params: queryParameters,
|
|
64
|
-
data: data
|
|
65
|
-
})
|
|
66
|
-
.then(response => {
|
|
67
|
-
// Check for JSON response and parse if necessary
|
|
68
|
-
if (/^application\/(.*\+)?json/.test(response.headers['content-type'])) {
|
|
69
|
-
return { response: response, body: response.data };
|
|
70
|
-
} else {
|
|
71
|
-
// For non-JSON responses, resolve with the raw response
|
|
72
|
-
return { response: response, body: response.data };
|
|
73
|
-
}
|
|
74
|
-
})
|
|
75
|
-
.catch(error => {
|
|
76
|
-
// Handle errors
|
|
77
|
-
if (error.response) {
|
|
78
|
-
// The server responded with a status code that falls out of the range of 2xx
|
|
79
|
-
throw { response: error.response, body: error.response.data };
|
|
80
|
-
} else if (error.request) {
|
|
81
|
-
// The request was made but no response was received
|
|
82
|
-
throw new Error('No response received');
|
|
83
|
-
} else {
|
|
84
|
-
// Something happened in setting up the request that triggered an Error
|
|
85
|
-
throw new Error(error.message);
|
|
86
|
-
}
|
|
87
|
-
});
|
|
88
|
-
};
|
|
89
|
-
|
|
90
|
-
OpenaiApi.prototype.setApiKey = function (value, headerOrQueryName, isQuery) {
|
|
91
|
-
this.apiKey.value = value;
|
|
92
|
-
this.apiKey.headerOrQueryName = headerOrQueryName;
|
|
93
|
-
this.apiKey.isQuery = isQuery;
|
|
94
|
-
};
|
|
95
|
-
|
|
96
|
-
OpenaiApi.prototype.setAuthHeaders = function (headerParams) {
|
|
97
|
-
var headers = headerParams ? headerParams : {};
|
|
98
|
-
if (!this.apiKey.isQuery && this.apiKey.headerOrQueryName) {
|
|
99
|
-
headers[this.apiKey.headerOrQueryName] = `Bearer ${this.apiKey.value}`;
|
|
100
|
-
}
|
|
101
|
-
return headers;
|
|
102
|
-
};
|
|
103
|
-
|
|
104
|
-
OpenaiApi.prototype.getFromEndpoint = function (path, parameters, expectedQueryParams, customHeaders) {
|
|
105
|
-
return new Promise((resolve, reject) => {
|
|
106
|
-
// parameters = parameters || {};
|
|
107
|
-
var domain = this.domain;
|
|
108
|
-
var queryParameters = {}, baseHeaders = {};
|
|
109
|
-
|
|
110
|
-
baseHeaders = this.setAuthHeaders(headers);
|
|
111
|
-
baseHeaders['Accept'] = 'application/json';
|
|
112
|
-
|
|
113
|
-
var headers = {
|
|
114
|
-
...baseHeaders,
|
|
115
|
-
...customHeaders
|
|
116
|
-
};
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
// Only add query parameters if they are expected and exist
|
|
120
|
-
if (expectedQueryParams) {
|
|
121
|
-
expectedQueryParams.forEach(param => {
|
|
122
|
-
if (parameters.body[param] !== undefined) {
|
|
123
|
-
queryParameters[param] = parameters.body[param];
|
|
124
|
-
}
|
|
125
|
-
});
|
|
20
|
+
// Handle 'multipart/form-data'
|
|
21
|
+
if (Object.keys(form).length > 0 && headers['Content-Type'] === 'multipart/form-data') {
|
|
22
|
+
const formData = new FormData();
|
|
23
|
+
for (const key of Object.keys(parameters)) {
|
|
24
|
+
formData.append(key, parameters.body[key]);
|
|
25
|
+
};
|
|
26
|
+
data = formData;
|
|
27
|
+
} else if (typeof body === 'object' && !(body instanceof Buffer)) {
|
|
28
|
+
// Ensure the headers are set for JSON
|
|
29
|
+
headers['Content-Type'] = 'application/json';
|
|
126
30
|
}
|
|
127
31
|
|
|
128
|
-
//
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
const config = {
|
|
133
|
-
method: 'GET',
|
|
134
|
-
url: domain + path,
|
|
135
|
-
headers: headers,
|
|
136
|
-
params: queryParameters
|
|
137
|
-
};
|
|
32
|
+
// Remove body data for GET requests
|
|
33
|
+
if (method === "GET") {
|
|
34
|
+
data = undefined;
|
|
35
|
+
}
|
|
138
36
|
|
|
139
|
-
//
|
|
140
|
-
|
|
37
|
+
// Make the axios request
|
|
38
|
+
return axiosInstance({
|
|
39
|
+
method: method,
|
|
40
|
+
url: url,
|
|
41
|
+
params: queryParameters,
|
|
42
|
+
data: data
|
|
43
|
+
})
|
|
141
44
|
.then(response => {
|
|
142
|
-
|
|
45
|
+
// Check for JSON response and parse if necessary
|
|
46
|
+
if (/^application\/(.*\+)?json/.test(response.headers['content-type'])) {
|
|
47
|
+
return { response: response, body: response.data };
|
|
48
|
+
} else {
|
|
49
|
+
// For non-JSON responses, resolve with the raw response
|
|
50
|
+
return { response: response, body: response.data };
|
|
51
|
+
}
|
|
143
52
|
})
|
|
144
53
|
.catch(error => {
|
|
145
|
-
|
|
54
|
+
// Handle errors
|
|
55
|
+
if (error.response) {
|
|
56
|
+
// The server responded with a status code that falls out of the range of 2xx
|
|
57
|
+
throw { response: error.response, body: error.response.data };
|
|
58
|
+
} else if (error.request) {
|
|
59
|
+
// The request was made but no response was received
|
|
60
|
+
throw new Error('No response received');
|
|
61
|
+
} else {
|
|
62
|
+
// Something happened in setting up the request that triggered an Error
|
|
63
|
+
throw new Error(error.message);
|
|
64
|
+
}
|
|
146
65
|
});
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
var
|
|
66
|
+
}
|
|
67
|
+
setApiKey(value, headerOrQueryName, isQuery) {
|
|
68
|
+
this.apiKey.value = value;
|
|
69
|
+
this.apiKey.headerOrQueryName = headerOrQueryName;
|
|
70
|
+
this.apiKey.isQuery = isQuery;
|
|
71
|
+
}
|
|
72
|
+
setApiBase(apiBase) {
|
|
73
|
+
this.domain = apiBase;
|
|
74
|
+
}
|
|
75
|
+
setAuthHeaders(headerParams) {
|
|
76
|
+
var headers = headerParams ? headerParams : {};
|
|
77
|
+
if (!this.apiKey.isQuery && this.apiKey.headerOrQueryName) {
|
|
78
|
+
headers[this.apiKey.headerOrQueryName] = `Bearer ${this.apiKey.value}`;
|
|
79
|
+
}
|
|
80
|
+
return headers;
|
|
81
|
+
}
|
|
82
|
+
getFromEndpoint(path, parameters, expectedQueryParams, customHeaders) {
|
|
83
|
+
return new Promise((resolve, reject) => {
|
|
84
|
+
var domain = this.domain;
|
|
85
|
+
var queryParameters = {}, baseHeaders = {};
|
|
158
86
|
|
|
159
|
-
|
|
160
|
-
|
|
87
|
+
baseHeaders = this.setAuthHeaders(headers);
|
|
88
|
+
baseHeaders['Accept'] = 'application/json';
|
|
161
89
|
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
90
|
+
var headers = {
|
|
91
|
+
...baseHeaders,
|
|
92
|
+
...customHeaders
|
|
93
|
+
};
|
|
166
94
|
|
|
167
|
-
// Determine the Content-Type
|
|
168
|
-
if (contentType === 'form-data') {
|
|
169
|
-
var formData = new FormData();
|
|
170
95
|
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
96
|
+
// Only add query parameters if they are expected and exist
|
|
97
|
+
if (expectedQueryParams) {
|
|
98
|
+
expectedQueryParams.forEach(param => {
|
|
99
|
+
if (parameters.body[param] !== undefined) {
|
|
100
|
+
queryParameters[param] = parameters.body[param];
|
|
175
101
|
}
|
|
102
|
+
});
|
|
103
|
+
}
|
|
176
104
|
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
105
|
+
// Merge any additional query parameters from the parameters object
|
|
106
|
+
queryParameters = mergeQueryParams(parameters, queryParameters);
|
|
107
|
+
|
|
108
|
+
// Axios request configuration
|
|
109
|
+
const config = {
|
|
110
|
+
method: 'GET',
|
|
111
|
+
url: domain + path,
|
|
112
|
+
headers: headers,
|
|
113
|
+
params: queryParameters
|
|
114
|
+
};
|
|
115
|
+
|
|
116
|
+
// Axios GET request
|
|
117
|
+
axios(config)
|
|
118
|
+
.then(response => {
|
|
119
|
+
resolve(response);
|
|
120
|
+
})
|
|
121
|
+
.catch(error => {
|
|
122
|
+
reject(error);
|
|
123
|
+
});
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
postToEndpoint(path, parameters, expectedQueryParams, contentType, filePath, customHeaders) {
|
|
127
|
+
return new Promise((resolve, reject) => {
|
|
128
|
+
const _path = require('path');
|
|
129
|
+
|
|
130
|
+
parameters = parameters || {};
|
|
131
|
+
var domain = this.domain;
|
|
132
|
+
var queryParameters = {}, baseHeaders = {}, data;
|
|
133
|
+
|
|
134
|
+
baseHeaders = this.setAuthHeaders({});
|
|
135
|
+
baseHeaders['Accept'] = 'application/json';
|
|
136
|
+
|
|
137
|
+
var headers = {
|
|
138
|
+
...baseHeaders,
|
|
139
|
+
...customHeaders
|
|
140
|
+
};
|
|
141
|
+
|
|
142
|
+
// Determine the Content-Type
|
|
143
|
+
if (contentType === 'form-data') {
|
|
144
|
+
var formData = new FormData();
|
|
145
|
+
|
|
146
|
+
Object.entries(parameters.body).forEach(([key, value]) => {
|
|
147
|
+
if (value instanceof Buffer) {
|
|
148
|
+
if (!filePath) {
|
|
149
|
+
throw new Error('msg.payload must include a `filename` property.');
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
const filename = _path.basename(filePath);
|
|
153
|
+
formData.append(key, value, filename);
|
|
154
|
+
} else {
|
|
155
|
+
if (parameters.body[key] !== undefined) {
|
|
156
|
+
formData.append(key, value);
|
|
157
|
+
}
|
|
182
158
|
}
|
|
183
|
-
}
|
|
184
|
-
});
|
|
159
|
+
});
|
|
185
160
|
|
|
186
|
-
|
|
161
|
+
data = formData;
|
|
187
162
|
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
163
|
+
let formHeaders = formData.getHeaders();
|
|
164
|
+
Object.assign(headers, formHeaders);
|
|
165
|
+
} else {
|
|
166
|
+
// Handle JSON payloads
|
|
167
|
+
headers['Content-Type'] = 'application/json';
|
|
168
|
+
data = parameters.body || {};
|
|
169
|
+
}
|
|
195
170
|
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
171
|
+
// Add expected query parameters to the queryParameters object
|
|
172
|
+
if (expectedQueryParams) {
|
|
173
|
+
expectedQueryParams.forEach(param => {
|
|
174
|
+
if (parameters.body[param] !== undefined) {
|
|
175
|
+
queryParameters[param] = parameters.body[param];
|
|
176
|
+
}
|
|
177
|
+
});
|
|
178
|
+
}
|
|
204
179
|
|
|
205
|
-
|
|
206
|
-
|
|
180
|
+
// Merge any additional query parameters from the parameters object
|
|
181
|
+
queryParameters = mergeQueryParams(parameters.body, queryParameters);
|
|
182
|
+
|
|
183
|
+
// Axios request configuration
|
|
184
|
+
const config = {
|
|
185
|
+
method: 'POST',
|
|
186
|
+
url: domain + path,
|
|
187
|
+
headers: headers,
|
|
188
|
+
params: queryParameters,
|
|
189
|
+
data: data
|
|
190
|
+
};
|
|
191
|
+
|
|
192
|
+
// Axios POST request
|
|
193
|
+
axios(config)
|
|
194
|
+
.then(response => {
|
|
195
|
+
resolve(response);
|
|
196
|
+
})
|
|
197
|
+
.catch(error => {
|
|
198
|
+
reject(error);
|
|
199
|
+
});
|
|
200
|
+
});
|
|
201
|
+
}
|
|
202
|
+
deleteFromEndpoint(path, parameters, expectedQueryParams, customHeaders) {
|
|
203
|
+
return new Promise((resolve, reject) => {
|
|
204
|
+
parameters = parameters || {};
|
|
205
|
+
var domain = this.domain;
|
|
206
|
+
var queryParameters = {}, baseHeaders = {};
|
|
207
|
+
|
|
208
|
+
baseHeaders = this.setAuthHeaders(headers);
|
|
209
|
+
baseHeaders['Accept'] = 'application/json';
|
|
210
|
+
|
|
211
|
+
var headers = {
|
|
212
|
+
...baseHeaders,
|
|
213
|
+
...customHeaders
|
|
214
|
+
};
|
|
215
|
+
|
|
216
|
+
// Only add query parameters if they are expected and exist
|
|
217
|
+
if (expectedQueryParams) {
|
|
218
|
+
expectedQueryParams.forEach(param => {
|
|
219
|
+
if (parameters[param] !== undefined) {
|
|
220
|
+
queryParameters[param] = parameters.body[param];
|
|
221
|
+
}
|
|
222
|
+
});
|
|
223
|
+
}
|
|
207
224
|
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
225
|
+
// Merge any additional query parameters from the parameters object
|
|
226
|
+
queryParameters = mergeQueryParams(parameters, queryParameters);
|
|
227
|
+
|
|
228
|
+
// Axios request configuration
|
|
229
|
+
const config = {
|
|
230
|
+
method: 'DELETE',
|
|
231
|
+
url: domain + path,
|
|
232
|
+
headers: headers,
|
|
233
|
+
params: queryParameters
|
|
234
|
+
};
|
|
235
|
+
|
|
236
|
+
// Axios DELETE request
|
|
237
|
+
axios(config)
|
|
238
|
+
.then(response => {
|
|
239
|
+
resolve(response);
|
|
240
|
+
})
|
|
241
|
+
.catch(error => {
|
|
242
|
+
reject(error);
|
|
243
|
+
});
|
|
244
|
+
});
|
|
245
|
+
}
|
|
246
|
+
createChatCompletion(parameters) {
|
|
247
|
+
const response = this.postToEndpoint('/chat/completions', parameters);
|
|
248
|
+
return response;
|
|
249
|
+
}
|
|
250
|
+
createImage(parameters) {
|
|
251
|
+
return this.postToEndpoint('/images/generations', parameters);
|
|
252
|
+
}
|
|
253
|
+
createImageEdit(parameters) {
|
|
254
|
+
const filename = parameters.body.filename;
|
|
255
|
+
delete parameters.body.filename;
|
|
216
256
|
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
.catch(error => {
|
|
223
|
-
reject(error);
|
|
224
|
-
});
|
|
225
|
-
});
|
|
226
|
-
};
|
|
257
|
+
return this.postToEndpoint('/images/edits', parameters, null, 'form-data', filename);
|
|
258
|
+
}
|
|
259
|
+
createImageVariation(parameters) {
|
|
260
|
+
const filename = parameters.body.filename;
|
|
261
|
+
delete parameters.body.filename;
|
|
227
262
|
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
263
|
+
return this.postToEndpoint('/images/variations', parameters, null, 'form-data', filename);
|
|
264
|
+
}
|
|
265
|
+
createEmbedding(parameters) {
|
|
266
|
+
return this.postToEndpoint('/embeddings', parameters);
|
|
267
|
+
}
|
|
268
|
+
createSpeech(parameters) {
|
|
269
|
+
return this.postToEndpoint('/audio/speech', parameters);
|
|
270
|
+
}
|
|
271
|
+
createTranscription(parameters) {
|
|
272
|
+
const filename = parameters.body.filename;
|
|
273
|
+
delete parameters.body.filename;
|
|
233
274
|
|
|
234
|
-
|
|
235
|
-
|
|
275
|
+
return this.postToEndpoint('/audio/transcriptions', parameters, null, 'form-data', filename);
|
|
276
|
+
}
|
|
277
|
+
createTranslation(parameters) {
|
|
278
|
+
const filename = parameters.body.filename;
|
|
279
|
+
delete parameters.body.filename;
|
|
236
280
|
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
281
|
+
return this.postToEndpoint('/audio/translations', parameters, null, 'form-data', filename);
|
|
282
|
+
}
|
|
283
|
+
listFiles(parameters) {
|
|
284
|
+
const expectedQueryParameters = ['purpose'];
|
|
285
|
+
return this.getFromEndpoint('/files', parameters, expectedQueryParameters);
|
|
286
|
+
}
|
|
287
|
+
createFile(parameters) {
|
|
288
|
+
let filename;
|
|
241
289
|
|
|
242
|
-
//
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
if (parameters[param] !== undefined) {
|
|
246
|
-
queryParameters[param] = parameters.body[param];
|
|
247
|
-
}
|
|
248
|
-
});
|
|
249
|
-
}
|
|
290
|
+
// reference the incoming filename
|
|
291
|
+
filename = parameters.body.filename;
|
|
292
|
+
delete parameters.body.filename;
|
|
250
293
|
|
|
251
|
-
|
|
252
|
-
|
|
294
|
+
return this.postToEndpoint('/files', parameters, null, 'form-data', filename);
|
|
295
|
+
}
|
|
296
|
+
deleteFile(parameters) {
|
|
297
|
+
const file_id = parameters.body.file_id;
|
|
298
|
+
return this.deleteFromEndpoint(`/files/${file_id}`, parameters);
|
|
299
|
+
}
|
|
300
|
+
retrieveFile(parameters) {
|
|
301
|
+
const file_id = parameters.body.file_id;
|
|
302
|
+
return this.getFromEndpoint(`/files/${file_id}`, parameters);
|
|
303
|
+
}
|
|
304
|
+
downloadFile(parameters) {
|
|
305
|
+
const file_id = parameters.body.file_id;
|
|
306
|
+
return this.getFromEndpoint(`/files/${file_id}/content`, parameters);
|
|
307
|
+
}
|
|
308
|
+
createFineTuningJob(parameters) {
|
|
309
|
+
return this.postToEndpoint('/fine_tuning/jobs', parameters);
|
|
310
|
+
}
|
|
311
|
+
listPaginatedFineTuningJobs(parameters) {
|
|
312
|
+
const expectedQueryParameters = ['after', 'limit'];
|
|
313
|
+
return this.getFromEndpoint('/fine_tuning/jobs', parameters, expectedQueryParameters);
|
|
314
|
+
}
|
|
315
|
+
retrieveFineTuningJob(parameters) {
|
|
316
|
+
const fine_tuning_job_id = parameters.body.fine_tuning_job_id;
|
|
317
|
+
return this.getFromEndpoint(`/fine_tuning/jobs/${fine_tuning_job_id}`, parameters);
|
|
318
|
+
}
|
|
319
|
+
listFineTuningEvents(parameters) {
|
|
320
|
+
const expectedQueryParameters = ['after', 'limit'];
|
|
321
|
+
const fine_tuning_job_id = parameters.body.fine_tuning_job_id;
|
|
253
322
|
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
323
|
+
return this.getFromEndpoint(`/fine_tuning/jobs/${fine_tuning_job_id}/events`, parameters, expectedQueryParameters);
|
|
324
|
+
}
|
|
325
|
+
cancelFineTuningJob(parameters) {
|
|
326
|
+
const fine_tuning_job_id = parameters.body.fine_tuning_job_id;
|
|
327
|
+
return this.postToEndpoint(`/fine_tuning/jobs/${fine_tuning_job_id}/cancel`, parameters);
|
|
328
|
+
}
|
|
329
|
+
listModels(parameters) {
|
|
330
|
+
return this.getFromEndpoint('/models', parameters);
|
|
331
|
+
}
|
|
332
|
+
retrieveModel(parameters) {
|
|
333
|
+
const model = parameters.body.model;
|
|
261
334
|
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
})
|
|
267
|
-
.catch(error => {
|
|
268
|
-
reject(error);
|
|
269
|
-
});
|
|
270
|
-
});
|
|
271
|
-
};
|
|
335
|
+
return this.getFromEndpoint(`/models/${model}`, parameters);
|
|
336
|
+
}
|
|
337
|
+
deleteModel(parameters) {
|
|
338
|
+
const model = parameters.body.model;
|
|
272
339
|
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
340
|
+
return this.deleteFromEndpoint(`/models/${model}`, parameters);
|
|
341
|
+
}
|
|
342
|
+
createModeration(parameters) {
|
|
343
|
+
return this.postToEndpoint('/moderations', parameters);
|
|
344
|
+
}
|
|
345
|
+
listAssistants(parameters) {
|
|
346
|
+
const expectedQueryParameters = ['limit', 'order', 'after', 'before'];
|
|
347
|
+
const customHeaders = { 'OpenAI-Beta': 'assistants=v1' };
|
|
277
348
|
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
349
|
+
return this.getFromEndpoint('/assistants', parameters, expectedQueryParameters, customHeaders);
|
|
350
|
+
}
|
|
351
|
+
createAssistant(parameters) {
|
|
352
|
+
var customHeaders = { 'OpenAI-Beta': 'assistants=v1' };
|
|
281
353
|
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
354
|
+
return this.postToEndpoint('/assistants', parameters, null, null, null, customHeaders);
|
|
355
|
+
}
|
|
356
|
+
getAssistant(parameters) {
|
|
357
|
+
const assistantId = parameters.body.assistant_id;
|
|
285
358
|
|
|
286
|
-
|
|
287
|
-
};
|
|
359
|
+
var customHeaders = { 'OpenAI-Beta': 'assistants=v1' };
|
|
288
360
|
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
361
|
+
return this.getFromEndpoint(`/assistants/${assistantId}`, parameters, null, customHeaders);
|
|
362
|
+
}
|
|
363
|
+
modifyAssistant(parameters) {
|
|
292
364
|
|
|
293
|
-
|
|
294
|
-
|
|
365
|
+
const assistant_id = parameters.body.assistant_id;
|
|
366
|
+
const customHeaders = { 'OpenAI-Beta': 'assistants=v1' };
|
|
295
367
|
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
368
|
+
return this.postToEndpoint(`/assistants/${assistant_id}`, parameters, null, null, null, customHeaders);
|
|
369
|
+
}
|
|
370
|
+
deleteAssistant(parameters) {
|
|
371
|
+
const assistant_id = parameters.body.assistant_id;
|
|
372
|
+
const customHeaders = { 'OpenAI-Beta': 'assistants=v1' };
|
|
299
373
|
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
374
|
+
return this.deleteFromEndpoint(`/assistants/${assistant_id}`, parameters, null, customHeaders);
|
|
375
|
+
}
|
|
376
|
+
createThread(parameters) {
|
|
303
377
|
|
|
304
|
-
OpenaiApi.prototype.createTranscription = function (parameters) {
|
|
305
|
-
const filename = parameters.body.filename;
|
|
306
|
-
delete parameters.body.filename;
|
|
307
378
|
|
|
308
|
-
|
|
309
|
-
|
|
379
|
+
const customHeaders = { 'OpenAI-Beta': 'assistants=v1' };
|
|
380
|
+
return this.postToEndpoint('/threads', parameters, null, null, null, customHeaders);
|
|
381
|
+
}
|
|
382
|
+
getThread(parameters) {
|
|
383
|
+
const threadId = parameters.body.thread_id;
|
|
384
|
+
const customHeaders = { 'OpenAI-Beta': 'assistants=v1' };
|
|
310
385
|
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
386
|
+
return this.getFromEndpoint(`/threads/${threadId}`, parameters, null, customHeaders);
|
|
387
|
+
}
|
|
388
|
+
modifyThread(parameters) {
|
|
389
|
+
const threadId = parameters.body.thread_id;
|
|
390
|
+
const customHeaders = { 'OpenAI-Beta': 'assistants=v1' };
|
|
314
391
|
|
|
315
|
-
|
|
316
|
-
|
|
392
|
+
return this.postToEndpoint(`/threads/${threadId}`, parameters, null, null, null, customHeaders);
|
|
393
|
+
}
|
|
394
|
+
deleteThread(parameters) {
|
|
395
|
+
const threadId = parameters.body.thread_id;
|
|
396
|
+
const customHeaders = { 'OpenAI-Beta': 'assistants=v1' };
|
|
317
397
|
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
398
|
+
return this.deleteFromEndpoint(`/threads/${threadId}`, parameters, null, customHeaders);
|
|
399
|
+
}
|
|
400
|
+
listMessages(parameters) {
|
|
401
|
+
const threadId = parameters.body.thread_id;
|
|
402
|
+
const customHeaders = { 'OpenAI-Beta': 'assistants=v1' };
|
|
322
403
|
|
|
323
|
-
|
|
324
|
-
let filename;
|
|
404
|
+
const expectedQueryParameters = ['limit', 'order', 'after', 'before'];
|
|
325
405
|
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
406
|
+
return this.getFromEndpoint(`/threads/${threadId}/messages`, parameters, expectedQueryParameters, customHeaders);
|
|
407
|
+
}
|
|
408
|
+
createMessage(parameters) {
|
|
409
|
+
const threadId = parameters.body.thread_id;
|
|
410
|
+
const customHeaders = { 'OpenAI-Beta': 'assistants=v1' };
|
|
329
411
|
|
|
330
|
-
|
|
331
|
-
|
|
412
|
+
return this.postToEndpoint(`/threads/${threadId}/messages`, parameters, null, null, null, customHeaders);
|
|
413
|
+
}
|
|
414
|
+
getMessage(parameters) {
|
|
332
415
|
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
};
|
|
416
|
+
const threadId = parameters.body.thread_id;
|
|
417
|
+
const messageId = parameters.body.message_id;
|
|
418
|
+
const customHeaders = { 'OpenAI-Beta': 'assistants=v1' };
|
|
337
419
|
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
};
|
|
420
|
+
return this.getFromEndpoint(`/threads/${threadId}/messages/${messageId}`, parameters, null, customHeaders);
|
|
421
|
+
}
|
|
422
|
+
modifyMessage(parameters) {
|
|
342
423
|
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
};
|
|
424
|
+
const threadId = parameters.body.thread_id;
|
|
425
|
+
const messageId = parameters.body.message_id;
|
|
426
|
+
const customHeaders = { 'OpenAI-Beta': 'assistants=v1' };
|
|
347
427
|
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
428
|
+
return this.postToEndpoint(`/threads/${threadId}/messages/${messageId}`, parameters, null, null, null, customHeaders);
|
|
429
|
+
}
|
|
430
|
+
createThreadAndRun(parameters) {
|
|
351
431
|
|
|
352
|
-
|
|
353
|
-
const expectedQueryParameters = ['after', 'limit'];
|
|
354
|
-
return this.getFromEndpoint('/fine_tuning/jobs', parameters, expectedQueryParameters);
|
|
355
|
-
};
|
|
432
|
+
const customHeaders = { 'OpenAI-Beta': 'assistants=v1' };
|
|
356
433
|
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
434
|
+
return this.postToEndpoint('/threads/runs', parameters, null, null, null, customHeaders);
|
|
435
|
+
}
|
|
436
|
+
listRuns(parameters) {
|
|
437
|
+
const customHeaders = { 'OpenAI-Beta': 'assistants=v1' };
|
|
438
|
+
const expectedQueryParameters = ['limit', 'order', 'after', 'before'];
|
|
439
|
+
const threadId = parameters.body.thread_id;
|
|
361
440
|
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
441
|
+
return this.getFromEndpoint(`/threads/${threadId}/runs`, parameters, expectedQueryParameters, customHeaders);
|
|
442
|
+
}
|
|
443
|
+
createRun(parameters) {
|
|
444
|
+
const customHeaders = { 'OpenAI-Beta': 'assistants=v1' };
|
|
445
|
+
const threadId = parameters.body.thread_id;
|
|
365
446
|
|
|
366
|
-
|
|
367
|
-
|
|
447
|
+
return this.postToEndpoint(`/threads/${threadId}/runs`, parameters, null, null, null, customHeaders);
|
|
448
|
+
}
|
|
449
|
+
getRun(parameters) {
|
|
450
|
+
const customHeaders = { 'OpenAI-Beta': 'assistants=v1' };
|
|
451
|
+
const threadId = parameters.body.thread_id;
|
|
452
|
+
const runId = parameters.body.run_id;
|
|
453
|
+
|
|
454
|
+
return this.getFromEndpoint(`/threads/${threadId}/runs/${runId}`, parameters, null, customHeaders);
|
|
455
|
+
}
|
|
456
|
+
modifyRun(parameters) {
|
|
457
|
+
const customHeaders = { 'OpenAI-Beta': 'assistants=v1' };
|
|
458
|
+
const threadId = parameters.body.thread_id;
|
|
459
|
+
const runId = parameters.body.run_id;
|
|
368
460
|
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
461
|
+
return this.postToEndpoint(`/threads/${threadId}/runs/${runId}`, parameters, null, null, null, customHeaders);
|
|
462
|
+
}
|
|
463
|
+
submitToolOuputsToRun(parameters) {
|
|
464
|
+
const customHeaders = { 'OpenAI-Beta': 'assistants=v1' };
|
|
465
|
+
const threadId = parameters.body.thread_id;
|
|
466
|
+
const runId = parameters.body.run_id;
|
|
373
467
|
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
468
|
+
return this.postToEndpoint(`/threads/${threadId}/runs/${runId}/submit_tool_outputs`, parameters, null, null, null, customHeaders);
|
|
469
|
+
}
|
|
470
|
+
cancelRun(parameters) {
|
|
471
|
+
const customHeaders = { 'OpenAI-Beta': 'assistants=v1' };
|
|
472
|
+
const threadId = parameters.body.thread_id;
|
|
473
|
+
const runId = parameters.body.run_id;
|
|
377
474
|
|
|
378
|
-
|
|
379
|
-
|
|
475
|
+
return this.postToEndpoint(`/threads/${threadId}/runs/${runId}/cancel`, parameters, null, null, null, customHeaders);
|
|
476
|
+
}
|
|
477
|
+
listRunSteps(parameters) {
|
|
478
|
+
const customHeaders = { 'OpenAI-Beta': 'assistants=v1' };
|
|
479
|
+
const threadId = parameters.body.thread_id;
|
|
480
|
+
const runId = parameters.body.run_id;
|
|
481
|
+
const expectedQueryParameters = ['limit', 'order', 'after', 'before'];
|
|
380
482
|
|
|
381
|
-
|
|
382
|
-
|
|
483
|
+
return this.getFromEndpoint(`/threads/${threadId}/runs/${runId}/steps`, parameters, null, customHeaders);
|
|
484
|
+
}
|
|
485
|
+
getRunStep(parameters) {
|
|
486
|
+
const customHeaders = { 'OpenAI-Beta': 'assistants=v1' };
|
|
487
|
+
const threadId = parameters.body.thread_id;
|
|
488
|
+
const runId = parameters.body.run_id;
|
|
489
|
+
const stepId = parameters.body.step_id;
|
|
383
490
|
|
|
384
|
-
|
|
385
|
-
|
|
491
|
+
return this.getFromEndpoint(`/threads/${threadId}/runs/${runId}/steps/${stepId}`, parameters, null, customHeaders);
|
|
492
|
+
}
|
|
493
|
+
listAssistantFiles(parameters) {
|
|
494
|
+
const customHeaders = { 'OpenAI-Beta': 'assistants=v1' };
|
|
495
|
+
const assistantId = parameters.body.assistant_id;
|
|
496
|
+
const expectedQueryParameters = ['limit', 'order', 'after', 'before'];
|
|
386
497
|
|
|
387
|
-
|
|
388
|
-
|
|
498
|
+
return this.getFromEndpoint(`/assistants/${assistantId}/files`, parameters, expectedQueryParameters, customHeaders);
|
|
499
|
+
}
|
|
500
|
+
createAssistantFile(parameters) {
|
|
389
501
|
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
};
|
|
502
|
+
const customHeaders = { 'OpenAI-Beta': 'assistants=v1' };
|
|
503
|
+
const assistantId = parameters.body.assistant_id;
|
|
393
504
|
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
505
|
+
return this.postToEndpoint(`/assistants/${assistantId}/files`, parameters, null, null, null, customHeaders);
|
|
506
|
+
}
|
|
507
|
+
getAssistantFile(parameters) {
|
|
397
508
|
|
|
398
|
-
|
|
399
|
-
|
|
509
|
+
const customHeaders = { 'OpenAI-Beta': 'assistants=v1' };
|
|
510
|
+
const assistantId = parameters.body.assistant_id;
|
|
511
|
+
const fileId = parameters.body.file_id;
|
|
400
512
|
|
|
401
|
-
|
|
402
|
-
|
|
513
|
+
return this.getFromEndpoint(`/assistants/${assistantId}/files/${fileId}`, parameters, null, customHeaders);
|
|
514
|
+
}
|
|
515
|
+
deleteAssistantFile(parameters) {
|
|
403
516
|
|
|
404
|
-
|
|
405
|
-
|
|
517
|
+
const customHeaders = { 'OpenAI-Beta': 'assistants=v1' };
|
|
518
|
+
const assistantId = parameters.body.assistant_id;
|
|
519
|
+
const fileId = parameters.body.file_id;
|
|
406
520
|
|
|
407
|
-
|
|
408
|
-
|
|
521
|
+
return this.deleteFromEndpoint(`/assistants/${assistantId}/files/${fileId}`, parameters, null, customHeaders);
|
|
522
|
+
}
|
|
523
|
+
listMessageFiles(parameters) {
|
|
409
524
|
|
|
410
|
-
|
|
525
|
+
const customHeaders = { 'OpenAI-Beta': 'assistants=v1' };
|
|
526
|
+
const threadId = parameters.body.thread_id;
|
|
527
|
+
const messageId = parameters.body.message_id;
|
|
528
|
+
const expectedQueryParameters = ['limit', 'order', 'after', 'before'];
|
|
411
529
|
|
|
412
|
-
|
|
413
|
-
|
|
530
|
+
return this.getFromEndpoint(`/threads/${threadId}/messages/${messageId}/files`, parameters, expectedQueryParameters, customHeaders);
|
|
531
|
+
}
|
|
532
|
+
getMessageFile(parameters) {
|
|
533
|
+
const customHeaders = { 'OpenAI-Beta': 'assistants=v1' };
|
|
534
|
+
const threadId = parameters.body.thread_id;
|
|
535
|
+
const messageId = parameters.body.message_id;
|
|
536
|
+
const fileId = parameters.body.file_id;
|
|
414
537
|
|
|
415
|
-
|
|
538
|
+
return this.getFromEndpoint(`/threads/${threadId}/messages/${messageId}/files/${fileId}`, parameters, null, customHeaders);
|
|
539
|
+
}
|
|
540
|
+
}
|
|
416
541
|
|
|
417
|
-
|
|
418
|
-
|
|
542
|
+
function mergeQueryParams(parameters, queryParameters) {
|
|
543
|
+
if (parameters.$queryParameters) {
|
|
544
|
+
Object.keys(parameters.$queryParameters)
|
|
545
|
+
.forEach(function (parameterName) {
|
|
546
|
+
var parameter = parameters.$queryParameters[parameterName];
|
|
547
|
+
queryParameters[parameterName] = parameter;
|
|
548
|
+
});
|
|
549
|
+
}
|
|
550
|
+
return queryParameters;
|
|
551
|
+
}
|
|
419
552
|
|
|
420
|
-
return this.postToEndpoint(`/assistants/${assistant_id}`, parameters, null, null, null, customHeaders);
|
|
421
|
-
};
|
|
422
553
|
|
|
423
|
-
OpenaiApi.prototype.deleteAssistant = function (parameters) {
|
|
424
|
-
const assistant_id = parameters.body.assistant_id;
|
|
425
|
-
const customHeaders = { 'OpenAI-Beta': 'assistants=v1' };
|
|
426
554
|
|
|
427
|
-
return this.deleteFromEndpoint(`/assistants/${assistant_id}`, parameters, null, customHeaders);
|
|
428
|
-
};
|
|
429
555
|
|
|
430
|
-
OpenaiApi.prototype.createThread = function (parameters) {
|
|
431
556
|
|
|
432
557
|
|
|
433
|
-
const customHeaders = { 'OpenAI-Beta': 'assistants=v1' };
|
|
434
|
-
return this.postToEndpoint('/threads', parameters, null, null, null, customHeaders);
|
|
435
|
-
};
|
|
436
558
|
|
|
437
|
-
OpenaiApi.prototype.getThread = function (parameters) {
|
|
438
|
-
const threadId = parameters.body.thread_id;
|
|
439
|
-
const customHeaders = { 'OpenAI-Beta': 'assistants=v1' };
|
|
440
559
|
|
|
441
|
-
return this.getFromEndpoint(`/threads/${threadId}`, parameters, null, customHeaders);
|
|
442
|
-
};
|
|
443
560
|
|
|
444
|
-
OpenaiApi.prototype.modifyThread = function (parameters) {
|
|
445
|
-
const threadId = parameters.body.thread_id;
|
|
446
|
-
const customHeaders = { 'OpenAI-Beta': 'assistants=v1' };
|
|
447
561
|
|
|
448
|
-
return this.postToEndpoint(`/threads/${threadId}`, parameters, null, null, null, customHeaders);
|
|
449
|
-
};
|
|
450
562
|
|
|
451
|
-
OpenaiApi.prototype.deleteThread = function (parameters) {
|
|
452
|
-
const threadId = parameters.body.thread_id;
|
|
453
|
-
const customHeaders = { 'OpenAI-Beta': 'assistants=v1' };
|
|
454
563
|
|
|
455
|
-
return this.deleteFromEndpoint(`/threads/${threadId}`, parameters, null, customHeaders);
|
|
456
|
-
};
|
|
457
564
|
|
|
458
|
-
OpenaiApi.prototype.listMessages = function (parameters) {
|
|
459
|
-
const threadId = parameters.body.thread_id;
|
|
460
|
-
const customHeaders = { 'OpenAI-Beta': 'assistants=v1' };
|
|
461
565
|
|
|
462
|
-
const expectedQueryParameters = ['limit', 'order', 'after', 'before'];
|
|
463
566
|
|
|
464
|
-
return this.getFromEndpoint(`/threads/${threadId}/messages`, parameters, expectedQueryParameters, customHeaders);
|
|
465
|
-
};
|
|
466
567
|
|
|
467
|
-
OpenaiApi.prototype.createMessage = function (parameters) {
|
|
468
|
-
const threadId = parameters.body.thread_id;
|
|
469
|
-
const customHeaders = { 'OpenAI-Beta': 'assistants=v1' };
|
|
470
568
|
|
|
471
|
-
return this.postToEndpoint(`/threads/${threadId}/messages`, parameters, null, null, null, customHeaders)
|
|
472
|
-
};
|
|
473
569
|
|
|
474
|
-
OpenaiApi.prototype.getMessage = function (parameters) {
|
|
475
570
|
|
|
476
|
-
const threadId = parameters.body.thread_id;
|
|
477
|
-
const messageId = parameters.messageId;
|
|
478
|
-
const customHeaders = { 'OpenAI-Beta': 'assistants=v1' };
|
|
479
571
|
|
|
480
|
-
return this.getFromEndpoint(`/threads/${threadId}/messages/${messageId}`, parameters, null, customHeaders);
|
|
481
|
-
};
|
|
482
572
|
|
|
483
|
-
OpenaiApi.prototype.modifyMessage = function (parameters) {
|
|
484
573
|
|
|
485
|
-
const threadId = parameters.body.thread_id;
|
|
486
|
-
const messageId = parameters.messageId;
|
|
487
|
-
const customHeaders = { 'OpenAI-Beta': 'assistants=v1' };
|
|
488
574
|
|
|
489
|
-
return this.postToEndpoint(`/threads/${threadId}/messages/${messageId}`, parameters, null, null, null, customHeaders);
|
|
490
|
-
};
|
|
491
575
|
|
|
492
|
-
OpenaiApi.prototype.createThreadAndRun = function (parameters) {
|
|
493
576
|
|
|
494
|
-
const customHeaders = { 'OpenAI-Beta': 'assistants=v1' };
|
|
495
577
|
|
|
496
|
-
return this.postToEndpoint('/threads/runs', parameters, null, null, null, customHeaders);
|
|
497
|
-
};
|
|
498
578
|
|
|
499
|
-
OpenaiApi.prototype.listRuns = function (parameters) {
|
|
500
|
-
const customHeaders = { 'OpenAI-Beta': 'assistants=v1' };
|
|
501
|
-
const expectedQueryParameters = ['limit', 'order', 'after', 'before'];
|
|
502
|
-
const threadId = parameters.body.thread_id;
|
|
503
579
|
|
|
504
|
-
return this.getFromEndpoint(`/threads/${threadId}/runs`, parameters, expectedQueryParameters, customHeaders);
|
|
505
|
-
};
|
|
506
580
|
|
|
507
|
-
OpenaiApi.prototype.createRun = function (parameters) {
|
|
508
|
-
const customHeaders = { 'OpenAI-Beta': 'assistants=v1' };
|
|
509
|
-
const threadId = parameters.body.thread_id;
|
|
510
581
|
|
|
511
|
-
return this.postToEndpoint(`/threads/${threadId}/runs`, parameters, null, null, null, customHeaders);
|
|
512
|
-
};
|
|
513
582
|
|
|
514
|
-
OpenaiApi.prototype.getRun = function (parameters) {
|
|
515
|
-
const customHeaders = { 'OpenAI-Beta': 'assistants=v1' };
|
|
516
|
-
const threadId = parameters.body.thread_id;
|
|
517
|
-
const runId = parameters.runId;
|
|
518
583
|
|
|
519
|
-
return this.getFromEndpoint(`/threads/${threadId}/runs/${runId}`, parameters, null, customHeaders);
|
|
520
|
-
};
|
|
521
584
|
|
|
522
|
-
OpenaiApi.prototype.modifyRun = function (parameters) {
|
|
523
|
-
const customHeaders = { 'OpenAI-Beta': 'assistants=v1' };
|
|
524
|
-
const threadId = parameters.body.thread_id;
|
|
525
|
-
const runId = parameters.runId;
|
|
526
585
|
|
|
527
|
-
return this.postToEndpoint(`/threads/${threadId}/runs/${runId}`, parameters, null, null, null, customHeaders);
|
|
528
|
-
};
|
|
529
586
|
|
|
530
|
-
OpenaiApi.prototype.submitToolOuputsToRun = function (parameters) {
|
|
531
|
-
const customHeaders = { 'OpenAI-Beta': 'assistants=v1' };
|
|
532
|
-
const threadId = parameters.body.thread_id;
|
|
533
|
-
const runId = parameters.runId;
|
|
534
587
|
|
|
535
|
-
return this.postToEndpoint(`/threads/${threadId}/runs/${runId}/submit_tool_outputs`, parameters, null, null, null, customHeaders);
|
|
536
|
-
};
|
|
537
588
|
|
|
538
|
-
OpenaiApi.prototype.cancelRun = function (parameters) {
|
|
539
|
-
const customHeaders = { 'OpenAI-Beta': 'assistants=v1' };
|
|
540
|
-
const threadId = parameters.body.thread_id;
|
|
541
|
-
const runId = parameters.runId;
|
|
542
589
|
|
|
543
|
-
return this.postToEndpoint(`/threads/${threadId}/runs/${runId}/cancel`, parameters, null, null, null, customHeaders);
|
|
544
|
-
};
|
|
545
590
|
|
|
546
|
-
OpenaiApi.prototype.listRunSteps = function (parameters) {
|
|
547
|
-
const customHeaders = { 'OpenAI-Beta': 'assistants=v1' };
|
|
548
|
-
const threadId = parameters.body.thread_id;
|
|
549
|
-
const runId = parameters.runId;
|
|
550
591
|
|
|
551
|
-
return this.getFromEndpoint(`/threads/${threadId}/runs/${runId}/steps`, parameters, null, customHeaders);
|
|
552
|
-
};
|
|
553
592
|
|
|
554
|
-
OpenaiApi.prototype.getRunStep = function (parameters) {
|
|
555
|
-
const customHeaders = { 'OpenAI-Beta': 'assistants=v1' };
|
|
556
|
-
const threadId = parameters.body.thread_id;
|
|
557
|
-
const runId = parameters.runId;
|
|
558
|
-
const stepId = parameters.stepId;
|
|
559
593
|
|
|
560
|
-
return this.getFromEndpoint(`/threads/${threadId}/runs/${runId}/steps/${stepId}`, parameters, null, customHeaders);
|
|
561
|
-
};
|
|
562
594
|
|
|
563
|
-
OpenaiApi.prototype.listAssistantFiles = function (parameters) {
|
|
564
|
-
const customHeaders = { 'OpenAI-Beta': 'assistants=v1' };
|
|
565
|
-
const assistantId = parameters.assistantId;
|
|
566
595
|
|
|
567
|
-
return this.getFromEndpoint(`/assistants/${assistantId}/files`, parameters, null, customHeaders);
|
|
568
|
-
};
|
|
569
596
|
|
|
570
|
-
OpenaiApi.prototype.createAssistantFile = function (parameters) {
|
|
571
597
|
|
|
572
|
-
const customHeaders = { 'OpenAI-Beta': 'assistants=v1' };
|
|
573
|
-
const assistantId = parameters.assistantId;
|
|
574
598
|
|
|
575
|
-
return this.postToEndpoint(`/assistants/${assistantId}/files`, parameters, null, null, null, customHeaders);
|
|
576
|
-
};
|
|
577
599
|
|
|
578
|
-
OpenaiApi.prototype.getAssistantFile = function (parameters) {
|
|
579
600
|
|
|
580
|
-
const customHeaders = { 'OpenAI-Beta': 'assistants=v1' };
|
|
581
|
-
const assistantId = parameters.assistantId;
|
|
582
|
-
const fileId = parameters.fileId;
|
|
583
601
|
|
|
584
|
-
return this.getFromEndpoint(`/assistants/${assistantId}/files/${fileId}`, parameters, null, customHeaders);
|
|
585
|
-
};
|
|
586
602
|
|
|
587
|
-
OpenaiApi.prototype.deleteAssistantFile = function (parameters) {
|
|
588
603
|
|
|
589
|
-
const customHeaders = { 'OpenAI-Beta': 'assistants=v1' };
|
|
590
|
-
const assistantId = parameters.assistantId;
|
|
591
|
-
const fileId = parameters.fileId;
|
|
592
604
|
|
|
593
|
-
return this.deleteFromEndpoint(`/assistants/${assistantId}/files/${fileId}`, parameters, null, customHeaders);
|
|
594
|
-
};
|
|
595
605
|
|
|
596
|
-
OpenaiApi.prototype.listMessageFiles = function (parameters) {
|
|
597
606
|
|
|
598
|
-
const customHeaders = { 'OpenAI-Beta': 'assistants=v1' };
|
|
599
|
-
const threadId = parameters.body.thread_id;
|
|
600
|
-
const messageId = parameters.messageId;
|
|
601
607
|
|
|
602
|
-
return this.getFromEndpoint(`/threads/${threadId}/messages/${messageId}/files`, parameters, null, customHeaders);
|
|
603
|
-
};
|
|
604
608
|
|
|
605
|
-
OpenaiApi.prototype.getMessageFile = function (parameters) {
|
|
606
|
-
const customHeaders = { 'OpenAI-Beta': 'assistants=v1' };
|
|
607
|
-
const threadId = parameters.body.thread_id;
|
|
608
|
-
const messageId = parameters.messageId;
|
|
609
|
-
const fileId = parameters.fileId;
|
|
610
609
|
|
|
611
|
-
return this.getFromEndpoint(`/threads/${threadId}/messages/${messageId}/files/${fileId}`, parameters, null, customHeaders);
|
|
612
|
-
};
|
|
613
610
|
|
|
614
611
|
return OpenaiApi;
|
|
615
612
|
})();
|