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