@apicity/openai 0.6.6 → 0.7.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.
@@ -1 +1 @@
1
- {"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../src/middleware.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../src/middleware.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../src/openai.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EAEb,kBAAkB,EAoElB,cAAc,EAEd,cAAc,EACd,kBAAkB,EACnB,MAAM,SAAS,CAAC;AA0BjB,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,CAErD;AAED,wBAAgB,YAAY,CAC1B,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,GAC/B,kBAAkB,CAKpB;AAED,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,GAC/B,kBAAkB,CAEpB;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,kBAAkB,GAAG,MAAM,CAEjE;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,aAAa,GAAG,cAAc,CAk2ChE"}
1
+ {"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../src/openai.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EAEb,kBAAkB,EAiFlB,cAAc,EAEd,cAAc,EACd,kBAAkB,EACnB,MAAM,SAAS,CAAC;AAiCjB,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,CAErD;AAED,wBAAgB,YAAY,CAC1B,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,GAC/B,kBAAkB,CAKpB;AAED,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,GAC/B,kBAAkB,CAEpB;AAiCD,wBAAgB,YAAY,CAAC,QAAQ,EAAE,kBAAkB,GAAG,MAAM,CAEjE;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,aAAa,GAAG,cAAc,CAwtChE"}
@@ -1,6 +1,7 @@
1
1
  import { OpenAiError, } from "./types.js";
2
- import { OpenAiChatRequestSchema, OpenAiEmbeddingRequestSchema, OpenAiFileUploadRequestSchema, OpenAiImageEditRequestSchema, OpenAiImageGenerationRequestSchema, OpenAiImageVariationRequestSchema, OpenAiModerationRequestSchema, OpenAiSpeechRequestSchema, OpenAiTranscribeRequestSchema, OpenAiTranslateRequestSchema, OpenAiBatchCreateRequestSchema, OpenAiResponseRequestSchema, OpenAiResponseCompactRequestSchema, OpenAiResponseInputTokensRequestSchema, OpenAiConversationCreateRequestSchema, OpenAiFineTuningJobCreateRequestSchema, OpenAiCheckpointPermissionCreateRequestSchema, OpenAiOrganizationUsageQuerySchema, OpenAiOrganizationCostsQuerySchema, OpenAiOrganizationProjectListQuerySchema, OpenAiOrganizationProjectRateLimitListQuerySchema, } from "./zod.js";
2
+ import { OpenAiChatRequestSchema, OpenAiCompletionRequestSchema, OpenAiEmbeddingRequestSchema, OpenAiFileUploadRequestSchema, OpenAiContainerCreateRequestSchema, OpenAiUploadCreateRequestSchema, OpenAiImageEditRequestSchema, OpenAiImageGenerationRequestSchema, OpenAiImageVariationRequestSchema, OpenAiModerationRequestSchema, OpenAiSpeechRequestSchema, OpenAiTranscribeRequestSchema, OpenAiTranslateRequestSchema, OpenAiBatchCreateRequestSchema, OpenAiResponseRequestSchema, OpenAiResponseCompactRequestSchema, OpenAiResponseInputTokensRequestSchema, OpenAiEvalCreateRequestSchema, OpenAiConversationCreateRequestSchema, OpenAiRealtimeClientSecretRequestSchema, OpenAiVectorStoreCreateRequestSchema, OpenAiFineTuningJobCreateRequestSchema, OpenAiCheckpointPermissionCreateRequestSchema, OpenAiOrganizationUsageQuerySchema, OpenAiOrganizationCostsQuerySchema, OpenAiOrganizationProjectListQuerySchema, OpenAiOrganizationProjectRateLimitListQuerySchema, } from "./zod.js";
3
3
  import { attachExamples } from "./example.js";
4
+ import { createTransport } from "./transport.js";
4
5
  export function textPart(text) {
5
6
  return { type: "text", text };
6
7
  }
@@ -13,6 +14,31 @@ export function imageUrlPart(url, detail) {
13
14
  export function imageBase64Part(base64, mediaType, detail) {
14
15
  return imageUrlPart(`data:${mediaType};base64,${base64}`, detail);
15
16
  }
17
+ function parseOpenAiErrorBody(status, body) {
18
+ if (typeof body === "object" && body !== null && "error" in body) {
19
+ const err = body.error;
20
+ if (err?.message) {
21
+ return { message: `OpenAI API error ${status}: ${err.message}` };
22
+ }
23
+ }
24
+ return { message: `OpenAI API error: ${status}` };
25
+ }
26
+ async function wrapOpenAiTransportFailure(fn) {
27
+ try {
28
+ return await fn();
29
+ }
30
+ catch (error) {
31
+ if (error instanceof OpenAiError)
32
+ throw error;
33
+ throw new OpenAiError(`OpenAI request failed: ${error}`, 500);
34
+ }
35
+ }
36
+ async function readJsonResponse(res) {
37
+ return await wrapOpenAiTransportFailure(async () => (await res.json()));
38
+ }
39
+ async function readArrayBufferResponse(res) {
40
+ return await wrapOpenAiTransportFailure(async () => await res.arrayBuffer());
41
+ }
16
42
  export function firstContent(response) {
17
43
  return response.choices[0]?.message?.content ?? "";
18
44
  }
@@ -20,106 +46,59 @@ export function createOpenAi(opts) {
20
46
  const baseURL = opts.baseURL ?? "https://api.openai.com/v1";
21
47
  // Codex usage is served by the ChatGPT backend, not the API platform.
22
48
  const codexBaseURL = (opts.codexBaseURL ?? "https://chatgpt.com/backend-api").replace(/\/$/, "");
23
- const doFetch = opts.fetch ?? fetch;
24
49
  const timeout = opts.timeout ?? 30000;
25
- async function makeRequest(path, init, signal) {
26
- const controller = new AbortController();
27
- const timeoutId = setTimeout(() => controller.abort(), timeout);
28
- if (signal) {
29
- signal.addEventListener("abort", () => controller.abort());
30
- }
31
- try {
32
- const res = await doFetch(`${baseURL}${path}`, {
33
- method: "POST",
34
- headers: {
35
- Authorization: `Bearer ${opts.apiKey}`,
36
- ...init.headers,
37
- },
38
- body: init.body,
39
- signal: controller.signal,
40
- });
41
- clearTimeout(timeoutId);
42
- if (!res.ok) {
43
- let message = `OpenAI API error: ${res.status}`;
44
- let body = null;
45
- try {
46
- body = await res.json();
47
- if (typeof body === "object" && body !== null && "error" in body) {
48
- const err = body.error;
49
- if (err?.message) {
50
- message = `OpenAI API error ${res.status}: ${err.message}`;
51
- }
52
- }
53
- }
54
- catch {
55
- // ignore parse errors
56
- }
57
- throw new OpenAiError(message, res.status, body);
50
+ const transport = createTransport({
51
+ baseUrl: baseURL,
52
+ timeoutMs: timeout,
53
+ fetchImpl: opts.fetch,
54
+ defaultHeaders: () => ({ Authorization: `Bearer ${opts.apiKey}` }),
55
+ parseErrorBody: parseOpenAiErrorBody,
56
+ errorClass: OpenAiError,
57
+ requestFailedPrefix: "OpenAI request failed",
58
+ });
59
+ const codexTransport = createTransport({
60
+ baseUrl: codexBaseURL,
61
+ timeoutMs: timeout,
62
+ fetchImpl: opts.fetch,
63
+ defaultHeaders: () => {
64
+ const headers = {
65
+ Authorization: `Bearer ${opts.apiKey}`,
66
+ "User-Agent": "codex-cli",
67
+ };
68
+ if (opts.chatgptAccountId) {
69
+ headers["ChatGPT-Account-Id"] = opts.chatgptAccountId;
58
70
  }
59
- return (await res.json());
60
- }
61
- catch (error) {
62
- clearTimeout(timeoutId);
63
- if (error instanceof OpenAiError)
64
- throw error;
65
- throw new OpenAiError(`OpenAI request failed: ${error}`, 500);
66
- }
71
+ return headers;
72
+ },
73
+ parseErrorBody: parseOpenAiErrorBody,
74
+ errorClass: OpenAiError,
75
+ requestFailedPrefix: "OpenAI request failed",
76
+ });
77
+ async function makeRequest(path, init, signal) {
78
+ const res = await transport.raw(path, {
79
+ method: "POST",
80
+ headers: init.headers,
81
+ body: init.body,
82
+ signal,
83
+ });
84
+ return await readJsonResponse(res);
67
85
  }
68
- function jsonRequest(body) {
86
+ function jsonRequest(body, extraHeaders) {
69
87
  return {
70
- headers: { "Content-Type": "application/json" },
88
+ headers: { "Content-Type": "application/json", ...(extraHeaders ?? {}) },
71
89
  body: JSON.stringify(body),
72
90
  };
73
91
  }
74
92
  async function makeBinaryRequest(path, init, signal) {
75
- const controller = new AbortController();
76
- const timeoutId = setTimeout(() => controller.abort(), timeout);
77
- if (signal) {
78
- signal.addEventListener("abort", () => controller.abort());
79
- }
80
- try {
81
- const res = await doFetch(`${baseURL}${path}`, {
82
- method: "POST",
83
- headers: {
84
- Authorization: `Bearer ${opts.apiKey}`,
85
- ...init.headers,
86
- },
87
- body: init.body,
88
- signal: controller.signal,
89
- });
90
- clearTimeout(timeoutId);
91
- if (!res.ok) {
92
- let message = `OpenAI API error: ${res.status}`;
93
- let body = null;
94
- try {
95
- body = await res.json();
96
- if (typeof body === "object" && body !== null && "error" in body) {
97
- const err = body.error;
98
- if (err?.message) {
99
- message = `OpenAI API error ${res.status}: ${err.message}`;
100
- }
101
- }
102
- }
103
- catch {
104
- // ignore parse errors
105
- }
106
- throw new OpenAiError(message, res.status, body);
107
- }
108
- return await res.arrayBuffer();
109
- }
110
- catch (error) {
111
- clearTimeout(timeoutId);
112
- if (error instanceof OpenAiError)
113
- throw error;
114
- throw new OpenAiError(`OpenAI request failed: ${error}`, 500);
115
- }
93
+ const res = await transport.raw(path, {
94
+ method: "POST",
95
+ headers: init.headers,
96
+ body: init.body,
97
+ signal,
98
+ });
99
+ return await readArrayBufferResponse(res);
116
100
  }
117
101
  async function makeGetRequest(path, query, signal) {
118
- const controller = new AbortController();
119
- const timeoutId = setTimeout(() => controller.abort(), timeout);
120
- if (signal) {
121
- signal.addEventListener("abort", () => controller.abort());
122
- }
123
102
  const params = new URLSearchParams();
124
103
  if (query) {
125
104
  for (const [key, value] of Object.entries(query)) {
@@ -136,216 +115,34 @@ export function createOpenAi(opts) {
136
115
  }
137
116
  }
138
117
  const qs = params.toString();
139
- const url = `${baseURL}${path}${qs ? `?${qs}` : ""}`;
140
- try {
141
- const res = await doFetch(url, {
142
- method: "GET",
143
- headers: {
144
- Authorization: `Bearer ${opts.apiKey}`,
145
- },
146
- signal: controller.signal,
147
- });
148
- clearTimeout(timeoutId);
149
- if (!res.ok) {
150
- let message = `OpenAI API error: ${res.status}`;
151
- let body = null;
152
- try {
153
- body = await res.json();
154
- if (typeof body === "object" && body !== null && "error" in body) {
155
- const err = body.error;
156
- if (err?.message) {
157
- message = `OpenAI API error ${res.status}: ${err.message}`;
158
- }
159
- }
160
- }
161
- catch {
162
- // ignore parse errors
163
- }
164
- throw new OpenAiError(message, res.status, body);
165
- }
166
- return (await res.json());
167
- }
168
- catch (error) {
169
- clearTimeout(timeoutId);
170
- if (error instanceof OpenAiError)
171
- throw error;
172
- throw new OpenAiError(`OpenAI request failed: ${error}`, 500);
173
- }
118
+ return await transport.getJson(`${path}${qs ? `?${qs}` : ""}`, {
119
+ signal,
120
+ });
174
121
  }
175
122
  // GET against the Codex/ChatGPT backend (codexBaseURL) rather than the API
176
123
  // platform baseURL. Mirrors the headers the Codex CLI sends for `/status`.
177
124
  async function makeCodexGetRequest(path, signal) {
178
- const controller = new AbortController();
179
- const timeoutId = setTimeout(() => controller.abort(), timeout);
180
- if (signal) {
181
- signal.addEventListener("abort", () => controller.abort());
182
- }
183
- const headers = {
184
- Authorization: `Bearer ${opts.apiKey}`,
185
- "User-Agent": "codex-cli",
186
- };
187
- if (opts.chatgptAccountId) {
188
- headers["ChatGPT-Account-Id"] = opts.chatgptAccountId;
189
- }
190
- try {
191
- const res = await doFetch(`${codexBaseURL}${path}`, {
192
- method: "GET",
193
- headers,
194
- signal: controller.signal,
195
- });
196
- clearTimeout(timeoutId);
197
- if (!res.ok) {
198
- let message = `OpenAI API error: ${res.status}`;
199
- let body = null;
200
- try {
201
- body = await res.json();
202
- if (typeof body === "object" && body !== null && "error" in body) {
203
- const err = body.error;
204
- if (err?.message) {
205
- message = `OpenAI API error ${res.status}: ${err.message}`;
206
- }
207
- }
208
- }
209
- catch {
210
- // ignore parse errors
211
- }
212
- throw new OpenAiError(message, res.status, body);
213
- }
214
- return (await res.json());
215
- }
216
- catch (error) {
217
- clearTimeout(timeoutId);
218
- if (error instanceof OpenAiError)
219
- throw error;
220
- throw new OpenAiError(`OpenAI request failed: ${error}`, 500);
221
- }
125
+ return await codexTransport.getJson(path, { signal });
222
126
  }
223
127
  async function makeEmptyPostRequest(path, signal) {
224
- const controller = new AbortController();
225
- const timeoutId = setTimeout(() => controller.abort(), timeout);
226
- if (signal) {
227
- signal.addEventListener("abort", () => controller.abort());
228
- }
229
- try {
230
- const res = await doFetch(`${baseURL}${path}`, {
231
- method: "POST",
232
- headers: {
233
- Authorization: `Bearer ${opts.apiKey}`,
234
- },
235
- signal: controller.signal,
236
- });
237
- clearTimeout(timeoutId);
238
- if (!res.ok) {
239
- let message = `OpenAI API error: ${res.status}`;
240
- let body = null;
241
- try {
242
- body = await res.json();
243
- if (typeof body === "object" && body !== null && "error" in body) {
244
- const err = body.error;
245
- if (err?.message) {
246
- message = `OpenAI API error ${res.status}: ${err.message}`;
247
- }
248
- }
249
- }
250
- catch {
251
- // ignore parse errors
252
- }
253
- throw new OpenAiError(message, res.status, body);
254
- }
255
- return (await res.json());
256
- }
257
- catch (error) {
258
- clearTimeout(timeoutId);
259
- if (error instanceof OpenAiError)
260
- throw error;
261
- throw new OpenAiError(`OpenAI request failed: ${error}`, 500);
262
- }
128
+ const res = await transport.raw(path, { method: "POST", signal });
129
+ return await readJsonResponse(res);
263
130
  }
264
131
  async function makeDeleteRequest(path, signal) {
265
- const controller = new AbortController();
266
- const timeoutId = setTimeout(() => controller.abort(), timeout);
267
- if (signal) {
268
- signal.addEventListener("abort", () => controller.abort());
269
- }
270
- try {
271
- const res = await doFetch(`${baseURL}${path}`, {
272
- method: "DELETE",
273
- headers: {
274
- Authorization: `Bearer ${opts.apiKey}`,
275
- },
276
- signal: controller.signal,
277
- });
278
- clearTimeout(timeoutId);
279
- if (!res.ok) {
280
- let message = `OpenAI API error: ${res.status}`;
281
- let body = null;
282
- try {
283
- body = await res.json();
284
- if (typeof body === "object" && body !== null && "error" in body) {
285
- const err = body.error;
286
- if (err?.message) {
287
- message = `OpenAI API error ${res.status}: ${err.message}`;
288
- }
289
- }
290
- }
291
- catch {
292
- // ignore parse errors
293
- }
294
- throw new OpenAiError(message, res.status, body);
295
- }
296
- return (await res.json());
297
- }
298
- catch (error) {
299
- clearTimeout(timeoutId);
300
- if (error instanceof OpenAiError)
301
- throw error;
302
- throw new OpenAiError(`OpenAI request failed: ${error}`, 500);
303
- }
132
+ return await transport.del(path, { signal });
304
133
  }
305
134
  async function makeGetTextRequest(path, signal) {
306
- const controller = new AbortController();
307
- const timeoutId = setTimeout(() => controller.abort(), timeout);
308
- if (signal) {
309
- signal.addEventListener("abort", () => controller.abort());
310
- }
311
- const url = `${baseURL}${path}`;
312
- try {
313
- const res = await doFetch(url, {
314
- method: "GET",
315
- headers: {
316
- Authorization: `Bearer ${opts.apiKey}`,
317
- },
318
- signal: controller.signal,
319
- });
320
- clearTimeout(timeoutId);
321
- if (!res.ok) {
322
- let message = `OpenAI API error: ${res.status}`;
323
- let body = null;
324
- try {
325
- body = await res.json();
326
- if (typeof body === "object" && body !== null && "error" in body) {
327
- const err = body.error;
328
- if (err?.message) {
329
- message = `OpenAI API error ${res.status}: ${err.message}`;
330
- }
331
- }
332
- }
333
- catch {
334
- // ignore parse errors
335
- }
336
- throw new OpenAiError(message, res.status, body);
337
- }
338
- return await res.text();
339
- }
340
- catch (error) {
341
- clearTimeout(timeoutId);
342
- if (error instanceof OpenAiError)
343
- throw error;
344
- throw new OpenAiError(`OpenAI request failed: ${error}`, 500);
345
- }
135
+ return await transport.getText(path, { signal });
346
136
  }
347
137
  // POST v1 namespace
348
138
  const postV1 = {
139
+ // POST https://api.openai.com/v1/completions
140
+ // Docs: https://platform.openai.com/docs/api-reference/completions/create
141
+ completions: Object.assign(async (req, signal) => {
142
+ return makeRequest("/completions", jsonRequest(req), signal);
143
+ }, {
144
+ schema: OpenAiCompletionRequestSchema,
145
+ }),
349
146
  chat: {
350
147
  // POST https://api.openai.com/v1/chat/completions/{id}
351
148
  // Docs: https://platform.openai.com/docs/api-reference
@@ -493,6 +290,20 @@ export function createOpenAi(opts) {
493
290
  }, {
494
291
  schema: OpenAiFileUploadRequestSchema,
495
292
  }),
293
+ // POST https://api.openai.com/v1/containers
294
+ // Docs: https://platform.openai.com/docs/api-reference/containers/createContainers
295
+ containers: Object.assign(async (req, signal) => {
296
+ return makeRequest("/containers", jsonRequest(req), signal);
297
+ }, {
298
+ schema: OpenAiContainerCreateRequestSchema,
299
+ }),
300
+ // POST https://api.openai.com/v1/uploads
301
+ // Docs: https://platform.openai.com/docs/api-reference/uploads/create
302
+ uploads: Object.assign(async (req, signal) => {
303
+ return makeRequest("/uploads", jsonRequest(req), signal);
304
+ }, {
305
+ schema: OpenAiUploadCreateRequestSchema,
306
+ }),
496
307
  // POST https://api.openai.com/v1/moderations
497
308
  // Docs: https://platform.openai.com/docs/api-reference
498
309
  moderations: Object.assign(async (req, signal) => {
@@ -526,6 +337,13 @@ export function createOpenAi(opts) {
526
337
  return makeEmptyPostRequest(`/responses/${encodeURIComponent(id)}/cancel`, signal);
527
338
  }, {}),
528
339
  }),
340
+ // POST https://api.openai.com/v1/evals
341
+ // Docs: https://platform.openai.com/docs/api-reference/evals/create
342
+ evals: Object.assign(async (req, signal) => {
343
+ return makeRequest("/evals", jsonRequest(req), signal);
344
+ }, {
345
+ schema: OpenAiEvalCreateRequestSchema,
346
+ }),
529
347
  // POST https://api.openai.com/v1/conversations
530
348
  // Docs: https://platform.openai.com/docs/api-reference
531
349
  conversations: Object.assign(async (req, signal) => {
@@ -533,6 +351,22 @@ export function createOpenAi(opts) {
533
351
  }, {
534
352
  schema: OpenAiConversationCreateRequestSchema,
535
353
  }),
354
+ realtime: {
355
+ // POST https://api.openai.com/v1/realtime/client_secrets
356
+ // Docs: https://platform.openai.com/docs/api-reference/realtime-sessions/create-client-secret
357
+ clientSecrets: Object.assign(async (req, signal) => {
358
+ return makeRequest("/realtime/client_secrets", jsonRequest(req), signal);
359
+ }, {
360
+ schema: OpenAiRealtimeClientSecretRequestSchema,
361
+ }),
362
+ },
363
+ // POST https://api.openai.com/v1/vector_stores
364
+ // Docs: https://platform.openai.com/docs/api-reference/vector-stores/create
365
+ vectorStores: Object.assign(async (req, signal) => {
366
+ return makeRequest("/vector_stores", jsonRequest(req, { "OpenAI-Beta": "assistants=v2" }), signal);
367
+ }, {
368
+ schema: OpenAiVectorStoreCreateRequestSchema,
369
+ }),
536
370
  // POST https://api.openai.com/v1/batches
537
371
  // Docs: https://platform.openai.com/docs/api-reference
538
372
  batches: Object.assign(async (req, signal) => {
@@ -673,6 +507,13 @@ export function createOpenAi(opts) {
673
507
  }, signal);
674
508
  },
675
509
  }),
510
+ conversations: {
511
+ // GET https://api.openai.com/v1/conversations/{conversationId}
512
+ // Docs: https://platform.openai.com/docs/api-reference/conversations/retrieve
513
+ retrieve: async (conversationId, signal) => {
514
+ return makeGetRequest(`/conversations/${encodeURIComponent(conversationId)}`, undefined, signal);
515
+ },
516
+ },
676
517
  // GET https://api.openai.com/v1/batches/{idOrOpts}
677
518
  // Docs: https://platform.openai.com/docs/api-reference
678
519
  batches: Object.assign(async (idOrOpts, signal) => {