openai 6.43.0 → 6.45.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.
Files changed (317) hide show
  1. package/CHANGELOG.md +56 -0
  2. package/README.md +85 -102
  3. package/_vendor/zod-to-json-schema/parseDef.d.mts.map +1 -1
  4. package/_vendor/zod-to-json-schema/parseDef.d.ts.map +1 -1
  5. package/_vendor/zod-to-json-schema/parseDef.js +41 -15
  6. package/_vendor/zod-to-json-schema/parseDef.js.map +1 -1
  7. package/_vendor/zod-to-json-schema/parseDef.mjs +41 -15
  8. package/_vendor/zod-to-json-schema/parseDef.mjs.map +1 -1
  9. package/_vendor/zod-to-json-schema/parsers/branded.d.mts +1 -1
  10. package/_vendor/zod-to-json-schema/parsers/branded.d.mts.map +1 -1
  11. package/_vendor/zod-to-json-schema/parsers/branded.d.ts +1 -1
  12. package/_vendor/zod-to-json-schema/parsers/branded.d.ts.map +1 -1
  13. package/_vendor/zod-to-json-schema/parsers/branded.js +2 -2
  14. package/_vendor/zod-to-json-schema/parsers/branded.js.map +1 -1
  15. package/_vendor/zod-to-json-schema/parsers/branded.mjs +2 -2
  16. package/_vendor/zod-to-json-schema/parsers/branded.mjs.map +1 -1
  17. package/_vendor/zod-to-json-schema/parsers/catch.d.mts +1 -1
  18. package/_vendor/zod-to-json-schema/parsers/catch.d.mts.map +1 -1
  19. package/_vendor/zod-to-json-schema/parsers/catch.d.ts +1 -1
  20. package/_vendor/zod-to-json-schema/parsers/catch.d.ts.map +1 -1
  21. package/_vendor/zod-to-json-schema/parsers/catch.js +2 -2
  22. package/_vendor/zod-to-json-schema/parsers/catch.js.map +1 -1
  23. package/_vendor/zod-to-json-schema/parsers/catch.mjs +2 -2
  24. package/_vendor/zod-to-json-schema/parsers/catch.mjs.map +1 -1
  25. package/_vendor/zod-to-json-schema/parsers/default.d.mts +1 -1
  26. package/_vendor/zod-to-json-schema/parsers/default.d.mts.map +1 -1
  27. package/_vendor/zod-to-json-schema/parsers/default.d.ts +1 -1
  28. package/_vendor/zod-to-json-schema/parsers/default.d.ts.map +1 -1
  29. package/_vendor/zod-to-json-schema/parsers/default.js +2 -2
  30. package/_vendor/zod-to-json-schema/parsers/default.js.map +1 -1
  31. package/_vendor/zod-to-json-schema/parsers/default.mjs +2 -2
  32. package/_vendor/zod-to-json-schema/parsers/default.mjs.map +1 -1
  33. package/_vendor/zod-to-json-schema/parsers/nullable.d.mts +1 -1
  34. package/_vendor/zod-to-json-schema/parsers/nullable.d.mts.map +1 -1
  35. package/_vendor/zod-to-json-schema/parsers/nullable.d.ts +1 -1
  36. package/_vendor/zod-to-json-schema/parsers/nullable.d.ts.map +1 -1
  37. package/_vendor/zod-to-json-schema/parsers/nullable.js +2 -2
  38. package/_vendor/zod-to-json-schema/parsers/nullable.js.map +1 -1
  39. package/_vendor/zod-to-json-schema/parsers/nullable.mjs +2 -2
  40. package/_vendor/zod-to-json-schema/parsers/nullable.mjs.map +1 -1
  41. package/_vendor/zod-to-json-schema/parsers/optional.d.mts +1 -1
  42. package/_vendor/zod-to-json-schema/parsers/optional.d.mts.map +1 -1
  43. package/_vendor/zod-to-json-schema/parsers/optional.d.ts +1 -1
  44. package/_vendor/zod-to-json-schema/parsers/optional.d.ts.map +1 -1
  45. package/_vendor/zod-to-json-schema/parsers/optional.js +3 -3
  46. package/_vendor/zod-to-json-schema/parsers/optional.js.map +1 -1
  47. package/_vendor/zod-to-json-schema/parsers/optional.mjs +3 -3
  48. package/_vendor/zod-to-json-schema/parsers/optional.mjs.map +1 -1
  49. package/_vendor/zod-to-json-schema/parsers/pipeline.d.mts +1 -1
  50. package/_vendor/zod-to-json-schema/parsers/pipeline.d.mts.map +1 -1
  51. package/_vendor/zod-to-json-schema/parsers/pipeline.d.ts +1 -1
  52. package/_vendor/zod-to-json-schema/parsers/pipeline.d.ts.map +1 -1
  53. package/_vendor/zod-to-json-schema/parsers/pipeline.js +3 -3
  54. package/_vendor/zod-to-json-schema/parsers/pipeline.js.map +1 -1
  55. package/_vendor/zod-to-json-schema/parsers/pipeline.mjs +3 -3
  56. package/_vendor/zod-to-json-schema/parsers/pipeline.mjs.map +1 -1
  57. package/_vendor/zod-to-json-schema/parsers/promise.d.mts +1 -1
  58. package/_vendor/zod-to-json-schema/parsers/promise.d.mts.map +1 -1
  59. package/_vendor/zod-to-json-schema/parsers/promise.d.ts +1 -1
  60. package/_vendor/zod-to-json-schema/parsers/promise.d.ts.map +1 -1
  61. package/_vendor/zod-to-json-schema/parsers/promise.js +2 -2
  62. package/_vendor/zod-to-json-schema/parsers/promise.js.map +1 -1
  63. package/_vendor/zod-to-json-schema/parsers/promise.mjs +2 -2
  64. package/_vendor/zod-to-json-schema/parsers/promise.mjs.map +1 -1
  65. package/_vendor/zod-to-json-schema/parsers/readonly.d.mts +1 -1
  66. package/_vendor/zod-to-json-schema/parsers/readonly.d.mts.map +1 -1
  67. package/_vendor/zod-to-json-schema/parsers/readonly.d.ts +1 -1
  68. package/_vendor/zod-to-json-schema/parsers/readonly.d.ts.map +1 -1
  69. package/_vendor/zod-to-json-schema/parsers/readonly.js +2 -2
  70. package/_vendor/zod-to-json-schema/parsers/readonly.js.map +1 -1
  71. package/_vendor/zod-to-json-schema/parsers/readonly.mjs +2 -2
  72. package/_vendor/zod-to-json-schema/parsers/readonly.mjs.map +1 -1
  73. package/auth/workload-identity-auth.d.mts.map +1 -1
  74. package/auth/workload-identity-auth.d.ts.map +1 -1
  75. package/auth/workload-identity-auth.js +12 -4
  76. package/auth/workload-identity-auth.js.map +1 -1
  77. package/auth/workload-identity-auth.mjs +13 -5
  78. package/auth/workload-identity-auth.mjs.map +1 -1
  79. package/azure.d.mts +3 -1
  80. package/azure.d.mts.map +1 -1
  81. package/azure.d.ts +3 -1
  82. package/azure.d.ts.map +1 -1
  83. package/azure.js.map +1 -1
  84. package/azure.mjs.map +1 -1
  85. package/beta/realtime/internal-base.d.mts +14 -1
  86. package/beta/realtime/internal-base.d.mts.map +1 -1
  87. package/beta/realtime/internal-base.d.ts +14 -1
  88. package/beta/realtime/internal-base.d.ts.map +1 -1
  89. package/beta/realtime/internal-base.js +21 -5
  90. package/beta/realtime/internal-base.js.map +1 -1
  91. package/beta/realtime/internal-base.mjs +21 -5
  92. package/beta/realtime/internal-base.mjs.map +1 -1
  93. package/beta/realtime/websocket.d.mts +3 -5
  94. package/beta/realtime/websocket.d.mts.map +1 -1
  95. package/beta/realtime/websocket.d.ts +3 -5
  96. package/beta/realtime/websocket.d.ts.map +1 -1
  97. package/beta/realtime/websocket.js +2 -3
  98. package/beta/realtime/websocket.js.map +1 -1
  99. package/beta/realtime/websocket.mjs +3 -4
  100. package/beta/realtime/websocket.mjs.map +1 -1
  101. package/beta/realtime/ws.d.mts +3 -5
  102. package/beta/realtime/ws.d.mts.map +1 -1
  103. package/beta/realtime/ws.d.ts +3 -5
  104. package/beta/realtime/ws.d.ts.map +1 -1
  105. package/beta/realtime/ws.js +2 -3
  106. package/beta/realtime/ws.js.map +1 -1
  107. package/beta/realtime/ws.mjs +3 -4
  108. package/beta/realtime/ws.mjs.map +1 -1
  109. package/client.d.mts +9 -1
  110. package/client.d.mts.map +1 -1
  111. package/client.d.ts +9 -1
  112. package/client.d.ts.map +1 -1
  113. package/client.js +56 -9
  114. package/client.js.map +1 -1
  115. package/client.mjs +56 -9
  116. package/client.mjs.map +1 -1
  117. package/helpers/zod.d.mts.map +1 -1
  118. package/helpers/zod.d.ts.map +1 -1
  119. package/helpers/zod.js +12 -0
  120. package/helpers/zod.js.map +1 -1
  121. package/helpers/zod.mjs +12 -0
  122. package/helpers/zod.mjs.map +1 -1
  123. package/internal/bedrock.d.mts +34 -0
  124. package/internal/bedrock.d.mts.map +1 -0
  125. package/internal/bedrock.d.ts +34 -0
  126. package/internal/bedrock.d.ts.map +1 -0
  127. package/internal/bedrock.js +107 -0
  128. package/internal/bedrock.js.map +1 -0
  129. package/internal/bedrock.mjs +99 -0
  130. package/internal/bedrock.mjs.map +1 -0
  131. package/internal/provider.d.mts +23 -0
  132. package/internal/provider.d.mts.map +1 -0
  133. package/internal/provider.d.ts +23 -0
  134. package/internal/provider.d.ts.map +1 -0
  135. package/internal/provider.js +36 -0
  136. package/internal/provider.js.map +1 -0
  137. package/internal/provider.mjs +32 -0
  138. package/internal/provider.mjs.map +1 -0
  139. package/internal/utils/log.d.mts.map +1 -1
  140. package/internal/utils/log.d.ts.map +1 -1
  141. package/internal/utils/log.js +1 -0
  142. package/internal/utils/log.js.map +1 -1
  143. package/internal/utils/log.mjs +1 -0
  144. package/internal/utils/log.mjs.map +1 -1
  145. package/lib/AbstractChatCompletionRunner.d.mts +15 -4
  146. package/lib/AbstractChatCompletionRunner.d.mts.map +1 -1
  147. package/lib/AbstractChatCompletionRunner.d.ts +15 -4
  148. package/lib/AbstractChatCompletionRunner.d.ts.map +1 -1
  149. package/lib/AbstractChatCompletionRunner.js +63 -40
  150. package/lib/AbstractChatCompletionRunner.js.map +1 -1
  151. package/lib/AbstractChatCompletionRunner.mjs +63 -40
  152. package/lib/AbstractChatCompletionRunner.mjs.map +1 -1
  153. package/lib/AssistantStream.d.mts.map +1 -1
  154. package/lib/AssistantStream.d.ts.map +1 -1
  155. package/lib/AssistantStream.js +4 -24
  156. package/lib/AssistantStream.js.map +1 -1
  157. package/lib/AssistantStream.mjs +4 -24
  158. package/lib/AssistantStream.mjs.map +1 -1
  159. package/lib/ChatCompletionRunner.js +1 -1
  160. package/lib/ChatCompletionRunner.js.map +1 -1
  161. package/lib/ChatCompletionRunner.mjs +1 -1
  162. package/lib/ChatCompletionRunner.mjs.map +1 -1
  163. package/lib/ChatCompletionStream.d.mts.map +1 -1
  164. package/lib/ChatCompletionStream.d.ts.map +1 -1
  165. package/lib/ChatCompletionStream.js +4 -13
  166. package/lib/ChatCompletionStream.js.map +1 -1
  167. package/lib/ChatCompletionStream.mjs +4 -13
  168. package/lib/ChatCompletionStream.mjs.map +1 -1
  169. package/lib/ChatCompletionStreamingRunner.js +1 -1
  170. package/lib/ChatCompletionStreamingRunner.js.map +1 -1
  171. package/lib/ChatCompletionStreamingRunner.mjs +1 -1
  172. package/lib/ChatCompletionStreamingRunner.mjs.map +1 -1
  173. package/lib/EventEmitter.d.mts.map +1 -1
  174. package/lib/EventEmitter.d.ts.map +1 -1
  175. package/lib/EventEmitter.js +12 -2
  176. package/lib/EventEmitter.js.map +1 -1
  177. package/lib/EventEmitter.mjs +12 -2
  178. package/lib/EventEmitter.mjs.map +1 -1
  179. package/lib/EventStream.d.mts +1 -0
  180. package/lib/EventStream.d.mts.map +1 -1
  181. package/lib/EventStream.d.ts +1 -0
  182. package/lib/EventStream.d.ts.map +1 -1
  183. package/lib/EventStream.js +19 -2
  184. package/lib/EventStream.js.map +1 -1
  185. package/lib/EventStream.mjs +19 -2
  186. package/lib/EventStream.mjs.map +1 -1
  187. package/lib/ResponsesParser.d.mts.map +1 -1
  188. package/lib/ResponsesParser.d.ts.map +1 -1
  189. package/lib/ResponsesParser.js +12 -4
  190. package/lib/ResponsesParser.js.map +1 -1
  191. package/lib/ResponsesParser.mjs +12 -4
  192. package/lib/ResponsesParser.mjs.map +1 -1
  193. package/lib/responses/ResponseAccumulator.d.mts +10 -0
  194. package/lib/responses/ResponseAccumulator.d.mts.map +1 -0
  195. package/lib/responses/ResponseAccumulator.d.ts +10 -0
  196. package/lib/responses/ResponseAccumulator.d.ts.map +1 -0
  197. package/lib/responses/ResponseAccumulator.js +402 -0
  198. package/lib/responses/ResponseAccumulator.js.map +1 -0
  199. package/lib/responses/ResponseAccumulator.mjs +399 -0
  200. package/lib/responses/ResponseAccumulator.mjs.map +1 -0
  201. package/lib/responses/ResponseInputItems.d.mts +19 -0
  202. package/lib/responses/ResponseInputItems.d.mts.map +1 -0
  203. package/lib/responses/ResponseInputItems.d.ts +19 -0
  204. package/lib/responses/ResponseInputItems.d.ts.map +1 -0
  205. package/lib/responses/ResponseInputItems.js +102 -0
  206. package/lib/responses/ResponseInputItems.js.map +1 -0
  207. package/lib/responses/ResponseInputItems.mjs +98 -0
  208. package/lib/responses/ResponseInputItems.mjs.map +1 -0
  209. package/lib/responses/ResponseStream.d.mts.map +1 -1
  210. package/lib/responses/ResponseStream.d.ts.map +1 -1
  211. package/lib/responses/ResponseStream.js +5 -90
  212. package/lib/responses/ResponseStream.js.map +1 -1
  213. package/lib/responses/ResponseStream.mjs +5 -90
  214. package/lib/responses/ResponseStream.mjs.map +1 -1
  215. package/package.json +24 -1
  216. package/providers/bedrock/aws.d.mts +24 -0
  217. package/providers/bedrock/aws.d.mts.map +1 -0
  218. package/providers/bedrock/aws.d.ts +24 -0
  219. package/providers/bedrock/aws.d.ts.map +1 -0
  220. package/providers/bedrock/aws.js +170 -0
  221. package/providers/bedrock/aws.js.map +1 -0
  222. package/providers/bedrock/aws.mjs +166 -0
  223. package/providers/bedrock/aws.mjs.map +1 -0
  224. package/providers/bedrock.d.mts +7 -0
  225. package/providers/bedrock.d.mts.map +1 -0
  226. package/providers/bedrock.d.ts +7 -0
  227. package/providers/bedrock.d.ts.map +1 -0
  228. package/providers/bedrock.js +26 -0
  229. package/providers/bedrock.js.map +1 -0
  230. package/providers/bedrock.mjs +22 -0
  231. package/providers/bedrock.mjs.map +1 -0
  232. package/realtime/internal-base.d.mts +28 -1
  233. package/realtime/internal-base.d.mts.map +1 -1
  234. package/realtime/internal-base.d.ts +28 -1
  235. package/realtime/internal-base.d.ts.map +1 -1
  236. package/realtime/internal-base.js +50 -7
  237. package/realtime/internal-base.js.map +1 -1
  238. package/realtime/internal-base.mjs +49 -7
  239. package/realtime/internal-base.mjs.map +1 -1
  240. package/realtime/websocket.d.mts +4 -7
  241. package/realtime/websocket.d.mts.map +1 -1
  242. package/realtime/websocket.d.ts +4 -7
  243. package/realtime/websocket.d.ts.map +1 -1
  244. package/realtime/websocket.js +4 -8
  245. package/realtime/websocket.js.map +1 -1
  246. package/realtime/websocket.mjs +5 -9
  247. package/realtime/websocket.mjs.map +1 -1
  248. package/realtime/ws.d.mts +4 -7
  249. package/realtime/ws.d.mts.map +1 -1
  250. package/realtime/ws.d.ts +4 -7
  251. package/realtime/ws.d.ts.map +1 -1
  252. package/realtime/ws.js +4 -8
  253. package/realtime/ws.js.map +1 -1
  254. package/realtime/ws.mjs +5 -9
  255. package/realtime/ws.mjs.map +1 -1
  256. package/resources/realtime/client-secrets.d.mts +9 -4
  257. package/resources/realtime/client-secrets.d.mts.map +1 -1
  258. package/resources/realtime/client-secrets.d.ts +9 -4
  259. package/resources/realtime/client-secrets.d.ts.map +1 -1
  260. package/resources/realtime/realtime.d.mts +18 -8
  261. package/resources/realtime/realtime.d.mts.map +1 -1
  262. package/resources/realtime/realtime.d.ts +18 -8
  263. package/resources/realtime/realtime.d.ts.map +1 -1
  264. package/resources/realtime/realtime.js.map +1 -1
  265. package/resources/realtime/realtime.mjs.map +1 -1
  266. package/resources/responses/responses.d.mts +9 -4
  267. package/resources/responses/responses.d.mts.map +1 -1
  268. package/resources/responses/responses.d.ts +9 -4
  269. package/resources/responses/responses.d.ts.map +1 -1
  270. package/resources/responses/responses.js.map +1 -1
  271. package/resources/responses/responses.mjs.map +1 -1
  272. package/resources/videos.d.mts +1 -1
  273. package/resources/videos.d.ts +1 -1
  274. package/src/_vendor/zod-to-json-schema/parseDef.ts +44 -16
  275. package/src/_vendor/zod-to-json-schema/parsers/branded.ts +2 -2
  276. package/src/_vendor/zod-to-json-schema/parsers/catch.ts +2 -2
  277. package/src/_vendor/zod-to-json-schema/parsers/default.ts +6 -2
  278. package/src/_vendor/zod-to-json-schema/parsers/nullable.ts +13 -5
  279. package/src/_vendor/zod-to-json-schema/parsers/optional.ts +14 -6
  280. package/src/_vendor/zod-to-json-schema/parsers/pipeline.ts +3 -2
  281. package/src/_vendor/zod-to-json-schema/parsers/promise.ts +6 -2
  282. package/src/_vendor/zod-to-json-schema/parsers/readonly.ts +2 -2
  283. package/src/auth/workload-identity-auth.ts +16 -5
  284. package/src/azure.ts +4 -1
  285. package/src/beta/realtime/internal-base.ts +43 -5
  286. package/src/beta/realtime/websocket.ts +10 -7
  287. package/src/beta/realtime/ws.ts +10 -7
  288. package/src/client.ts +80 -18
  289. package/src/helpers/zod.ts +16 -0
  290. package/src/internal/bedrock.ts +153 -0
  291. package/src/internal/provider.ts +60 -0
  292. package/src/internal/utils/log.ts +1 -0
  293. package/src/lib/AbstractChatCompletionRunner.ts +96 -45
  294. package/src/lib/AssistantStream.ts +4 -20
  295. package/src/lib/ChatCompletionRunner.ts +1 -1
  296. package/src/lib/ChatCompletionStream.ts +4 -11
  297. package/src/lib/ChatCompletionStreamingRunner.ts +1 -1
  298. package/src/lib/EventEmitter.ts +11 -2
  299. package/src/lib/EventStream.ts +20 -0
  300. package/src/lib/ResponsesParser.ts +18 -4
  301. package/src/lib/responses/ResponseAccumulator.ts +412 -0
  302. package/src/lib/responses/ResponseInputItems.ts +127 -0
  303. package/src/lib/responses/ResponseStream.ts +4 -93
  304. package/src/providers/bedrock/aws.ts +255 -0
  305. package/src/providers/bedrock.ts +33 -0
  306. package/src/realtime/internal-base.ts +90 -7
  307. package/src/realtime/websocket.ts +15 -13
  308. package/src/realtime/ws.ts +15 -13
  309. package/src/resources/realtime/client-secrets.ts +10 -4
  310. package/src/resources/realtime/realtime.ts +20 -8
  311. package/src/resources/responses/responses.ts +10 -4
  312. package/src/resources/videos.ts +1 -1
  313. package/src/version.ts +1 -1
  314. package/version.d.mts +1 -1
  315. package/version.d.ts +1 -1
  316. package/version.js +1 -1
  317. package/version.mjs +1 -1
@@ -0,0 +1,99 @@
1
+ import * as Errors from "../error.mjs";
2
+ import { readEnv } from "./utils.mjs";
3
+ export function errorWithCause(message, cause) {
4
+ const error = new Errors.OpenAIError(message);
5
+ error.cause = cause;
6
+ return error;
7
+ }
8
+ export function normalizeOptionalString(value) {
9
+ const normalized = typeof value === 'string' ? value.trim() : undefined;
10
+ return normalized ? normalized : undefined;
11
+ }
12
+ function normalizeBaseURL(baseURL) {
13
+ const url = new URL(baseURL);
14
+ const responsesMatch = url.pathname.match(/\/responses(?:\/.*)?$/);
15
+ if (responsesMatch?.index !== undefined) {
16
+ url.pathname = url.pathname.slice(0, responsesMatch.index) || '/';
17
+ }
18
+ return url.toString().replace(/\/$/, '');
19
+ }
20
+ export function resolveBedrockEndpoint(options) {
21
+ if (options.region !== undefined && !normalizeOptionalString(options.region)) {
22
+ throw new Errors.OpenAIError('The Bedrock AWS `region` must not be empty.');
23
+ }
24
+ if (options.baseURL !== undefined &&
25
+ options.baseURL !== null &&
26
+ !normalizeOptionalString(options.baseURL)) {
27
+ throw new Errors.OpenAIError('The Bedrock `baseURL` must not be empty.');
28
+ }
29
+ const region = normalizeOptionalString(options.region) ??
30
+ normalizeOptionalString(readEnv('AWS_REGION')) ??
31
+ normalizeOptionalString(readEnv('AWS_DEFAULT_REGION'));
32
+ const configuredBaseURL = options.baseURL === undefined ? normalizeOptionalString(readEnv('AWS_BEDROCK_BASE_URL'))
33
+ : options.baseURL === null ? undefined
34
+ : normalizeOptionalString(options.baseURL);
35
+ if (configuredBaseURL)
36
+ return { region, baseURL: normalizeBaseURL(configuredBaseURL) };
37
+ if (!region) {
38
+ throw new Errors.OpenAIError('Bedrock requires an AWS region. Pass `region` to `bedrock(...)`, or set `AWS_REGION` or `AWS_DEFAULT_REGION`.');
39
+ }
40
+ return { region, baseURL: `https://bedrock-mantle.${region}.api.aws/openai/v1` };
41
+ }
42
+ export function assertProviderOwnsAuthorization(headers) {
43
+ if (headers.has('authorization')) {
44
+ throw new Errors.OpenAIError('Bedrock provider authentication cannot be combined with a custom `Authorization` header.');
45
+ }
46
+ }
47
+ class BedrockBearerAuth {
48
+ constructor(tokenProvider) {
49
+ this.tokenProvider = tokenProvider;
50
+ }
51
+ async prepareRequest(request, _context) {
52
+ const headers = new Headers(request.headers);
53
+ assertProviderOwnsAuthorization(headers);
54
+ let token;
55
+ try {
56
+ token = await this.tokenProvider();
57
+ }
58
+ catch (cause) {
59
+ throw errorWithCause('Failed to resolve a bearer credential for Bedrock.', cause);
60
+ }
61
+ if (typeof token !== 'string' || !token.trim()) {
62
+ throw new Errors.OpenAIError('The Bedrock bearer credential provider must return a non-empty string.');
63
+ }
64
+ headers.set('authorization', `Bearer ${token}`);
65
+ request.headers = headers;
66
+ }
67
+ }
68
+ export function resolveBedrockBearerAuth(options, { allowEnvironment = true } = {}) {
69
+ if (options.apiKey !== undefined &&
70
+ options.apiKey !== null &&
71
+ (typeof options.apiKey !== 'string' || !options.apiKey.trim())) {
72
+ throw new Errors.OpenAIError('The Bedrock bearer credential must not be empty.');
73
+ }
74
+ if (options.apiKey != null && options.tokenProvider) {
75
+ throw new Errors.OpenAIError('The `apiKey` and `tokenProvider` options are mutually exclusive. Configure only one.');
76
+ }
77
+ if (options.tokenProvider) {
78
+ const tokenProvider = options.tokenProvider;
79
+ return { factory: () => new BedrockBearerAuth(tokenProvider), explicit: true };
80
+ }
81
+ if (options.apiKey != null) {
82
+ const apiKey = options.apiKey;
83
+ return { factory: () => new BedrockBearerAuth(async () => apiKey), explicit: true };
84
+ }
85
+ if (allowEnvironment && options.apiKey !== null && readEnv('AWS_BEARER_TOKEN_BEDROCK')) {
86
+ return {
87
+ explicit: false,
88
+ factory: () => new BedrockBearerAuth(async () => {
89
+ const token = readEnv('AWS_BEARER_TOKEN_BEDROCK');
90
+ if (!token) {
91
+ throw new Errors.OpenAIError('Could not find credentials for Bedrock. Set `AWS_BEARER_TOKEN_BEDROCK` or configure AWS credential authentication.');
92
+ }
93
+ return token;
94
+ }),
95
+ };
96
+ }
97
+ return { factory: undefined, explicit: false };
98
+ }
99
+ //# sourceMappingURL=bedrock.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bedrock.mjs","sourceRoot":"","sources":["../src/internal/bedrock.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import type { FinalRequestOptions } from "./request-options.mjs";
2
+ import type { FinalizedRequestInit } from "./types.mjs";
3
+ declare const providerBrand: unique symbol;
4
+ /** An opaque provider configuration created by {@link createProvider}. */
5
+ export interface Provider {
6
+ readonly [providerBrand]: true;
7
+ }
8
+ export interface ProviderRequestContext {
9
+ url: string;
10
+ options: FinalRequestOptions;
11
+ }
12
+ export interface ProviderRuntime {
13
+ name: string;
14
+ baseURL: string;
15
+ prepareRequest?(request: FinalizedRequestInit, context: ProviderRequestContext): void | Promise<void>;
16
+ }
17
+ export interface ProviderDefinition {
18
+ configure(): ProviderRuntime;
19
+ }
20
+ export declare function createProvider(definition: ProviderDefinition): Provider;
21
+ export declare function configureProvider(provider: Provider): ProviderRuntime;
22
+ export {};
23
+ //# sourceMappingURL=provider.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.d.mts","sourceRoot":"","sources":["../src/internal/provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,8BAA0B;AAC7D,OAAO,KAAK,EAAE,oBAAoB,EAAE,oBAAgB;AAEpD,OAAO,CAAC,MAAM,aAAa,EAAE,OAAO,MAAM,CAAC;AAE3C,0EAA0E;AAC1E,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC;CAChC;AAED,MAAM,WAAW,sBAAsB;IACrC,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,mBAAmB,CAAC;CAC9B;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,CAAC,OAAO,EAAE,oBAAoB,EAAE,OAAO,EAAE,sBAAsB,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACvG;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,IAAI,eAAe,CAAC;CAC9B;AAwBD,wBAAgB,cAAc,CAAC,UAAU,EAAE,kBAAkB,GAAG,QAAQ,CAIvE;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,GAAG,eAAe,CAMrE"}
@@ -0,0 +1,23 @@
1
+ import type { FinalRequestOptions } from "./request-options.js";
2
+ import type { FinalizedRequestInit } from "./types.js";
3
+ declare const providerBrand: unique symbol;
4
+ /** An opaque provider configuration created by {@link createProvider}. */
5
+ export interface Provider {
6
+ readonly [providerBrand]: true;
7
+ }
8
+ export interface ProviderRequestContext {
9
+ url: string;
10
+ options: FinalRequestOptions;
11
+ }
12
+ export interface ProviderRuntime {
13
+ name: string;
14
+ baseURL: string;
15
+ prepareRequest?(request: FinalizedRequestInit, context: ProviderRequestContext): void | Promise<void>;
16
+ }
17
+ export interface ProviderDefinition {
18
+ configure(): ProviderRuntime;
19
+ }
20
+ export declare function createProvider(definition: ProviderDefinition): Provider;
21
+ export declare function configureProvider(provider: Provider): ProviderRuntime;
22
+ export {};
23
+ //# sourceMappingURL=provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/internal/provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,6BAA0B;AAC7D,OAAO,KAAK,EAAE,oBAAoB,EAAE,mBAAgB;AAEpD,OAAO,CAAC,MAAM,aAAa,EAAE,OAAO,MAAM,CAAC;AAE3C,0EAA0E;AAC1E,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC;CAChC;AAED,MAAM,WAAW,sBAAsB;IACrC,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,mBAAmB,CAAC;CAC9B;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,CAAC,OAAO,EAAE,oBAAoB,EAAE,OAAO,EAAE,sBAAsB,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACvG;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,IAAI,eAAe,CAAC;CAC9B;AAwBD,wBAAgB,cAAc,CAAC,UAAU,EAAE,kBAAkB,GAAG,QAAQ,CAIvE;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,GAAG,eAAe,CAMrE"}
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createProvider = createProvider;
4
+ exports.configureProvider = configureProvider;
5
+ /**
6
+ * A provider factory such as `bedrock(options)` captures configuration in a
7
+ * definition, while every OpenAI client receives a fresh runtime from
8
+ * `definition.configure()`. Keeping definitions out of the provider object
9
+ * makes providers opaque and prevents arbitrary objects from imitating one.
10
+ * It also leaves provider-specific dependencies outside the core SDK.
11
+ *
12
+ * The registry lives on `globalThis` under a global symbol so a provider made
13
+ * by one copy of the package still works with another copy, including mixed
14
+ * CommonJS and ESM installations. The WeakMap avoids retaining discarded
15
+ * provider configurations.
16
+ */
17
+ const providerDefinitionsKey = Symbol.for('openai.node.providerDefinitions.v1');
18
+ const providerGlobal = globalThis;
19
+ const existingProviderDefinitions = providerGlobal[providerDefinitionsKey];
20
+ const providerDefinitions = existingProviderDefinitions ?? new WeakMap();
21
+ if (!existingProviderDefinitions) {
22
+ Object.defineProperty(providerGlobal, providerDefinitionsKey, { value: providerDefinitions });
23
+ }
24
+ function createProvider(definition) {
25
+ const provider = Object.freeze({});
26
+ providerDefinitions.set(provider, definition);
27
+ return provider;
28
+ }
29
+ function configureProvider(provider) {
30
+ const definition = providerDefinitions.get(provider);
31
+ if (!definition) {
32
+ throw new Error('Invalid provider. Providers must be created with createProvider().');
33
+ }
34
+ return definition.configure();
35
+ }
36
+ //# sourceMappingURL=provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/internal/provider.ts"],"names":[],"mappings":";;AA+CA,wCAIC;AAED,8CAMC;AAlCD;;;;;;;;;;;GAWG;AACH,MAAM,sBAAsB,GAAG,MAAM,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;AAChF,MAAM,cAAc,GAAG,UAAiB,CAAC;AACzC,MAAM,2BAA2B,GAAG,cAAc,CAAC,sBAAsB,CAE5D,CAAC;AACd,MAAM,mBAAmB,GAAG,2BAA2B,IAAI,IAAI,OAAO,EAAgC,CAAC;AACvG,IAAI,CAAC,2BAA2B,EAAE,CAAC;IACjC,MAAM,CAAC,cAAc,CAAC,cAAc,EAAE,sBAAsB,EAAE,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,CAAC;AAChG,CAAC;AAED,SAAgB,cAAc,CAAC,UAA8B;IAC3D,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,CAAa,CAAC;IAC/C,mBAAmB,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAC9C,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAgB,iBAAiB,CAAC,QAAkB;IAClD,MAAM,UAAU,GAAG,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACrD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAC;IACxF,CAAC;IACD,OAAO,UAAU,CAAC,SAAS,EAAE,CAAC;AAChC,CAAC"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * A provider factory such as `bedrock(options)` captures configuration in a
3
+ * definition, while every OpenAI client receives a fresh runtime from
4
+ * `definition.configure()`. Keeping definitions out of the provider object
5
+ * makes providers opaque and prevents arbitrary objects from imitating one.
6
+ * It also leaves provider-specific dependencies outside the core SDK.
7
+ *
8
+ * The registry lives on `globalThis` under a global symbol so a provider made
9
+ * by one copy of the package still works with another copy, including mixed
10
+ * CommonJS and ESM installations. The WeakMap avoids retaining discarded
11
+ * provider configurations.
12
+ */
13
+ const providerDefinitionsKey = Symbol.for('openai.node.providerDefinitions.v1');
14
+ const providerGlobal = globalThis;
15
+ const existingProviderDefinitions = providerGlobal[providerDefinitionsKey];
16
+ const providerDefinitions = existingProviderDefinitions ?? new WeakMap();
17
+ if (!existingProviderDefinitions) {
18
+ Object.defineProperty(providerGlobal, providerDefinitionsKey, { value: providerDefinitions });
19
+ }
20
+ export function createProvider(definition) {
21
+ const provider = Object.freeze({});
22
+ providerDefinitions.set(provider, definition);
23
+ return provider;
24
+ }
25
+ export function configureProvider(provider) {
26
+ const definition = providerDefinitions.get(provider);
27
+ if (!definition) {
28
+ throw new Error('Invalid provider. Providers must be created with createProvider().');
29
+ }
30
+ return definition.configure();
31
+ }
32
+ //# sourceMappingURL=provider.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.mjs","sourceRoot":"","sources":["../src/internal/provider.ts"],"names":[],"mappings":"AAyBA;;;;;;;;;;;GAWG;AACH,MAAM,sBAAsB,GAAG,MAAM,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;AAChF,MAAM,cAAc,GAAG,UAAiB,CAAC;AACzC,MAAM,2BAA2B,GAAG,cAAc,CAAC,sBAAsB,CAE5D,CAAC;AACd,MAAM,mBAAmB,GAAG,2BAA2B,IAAI,IAAI,OAAO,EAAgC,CAAC;AACvG,IAAI,CAAC,2BAA2B,EAAE,CAAC;IACjC,MAAM,CAAC,cAAc,CAAC,cAAc,EAAE,sBAAsB,EAAE,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,CAAC;AAChG,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,UAA8B;IAC3D,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,CAAa,CAAC;IAC/C,mBAAmB,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAC9C,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,QAAkB;IAClD,MAAM,UAAU,GAAG,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACrD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAC;IACxF,CAAC;IACD,OAAO,UAAU,CAAC,SAAS,EAAE,CAAC;AAChC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"log.d.mts","sourceRoot":"","sources":["../../src/internal/utils/log.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,MAAM,EAAE,yBAAqB;AAC3C,OAAO,EAAE,cAAc,EAAE,+BAA2B;AAEpD,KAAK,KAAK,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;AAC3D,MAAM,MAAM,MAAM,GAAG;IACnB,KAAK,EAAE,KAAK,CAAC;IACb,IAAI,EAAE,KAAK,CAAC;IACZ,IAAI,EAAE,KAAK,CAAC;IACZ,KAAK,EAAE,KAAK,CAAC;CACd,CAAC;AACF,MAAM,MAAM,QAAQ,GAAG,KAAK,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAUnE,eAAO,MAAM,aAAa,GACxB,YAAY,MAAM,GAAG,SAAS,EAC9B,YAAY,MAAM,EAClB,QAAQ,MAAM,KACb,QAAQ,GAAG,SAab,CAAC;AAsBF,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAsBhD;AAED,eAAO,MAAM,oBAAoB,GAAI,SAAS;IAC5C,OAAO,CAAC,EAAE,cAAc,GAAG,SAAS,CAAC;IACrC,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;IACvD,mBAAmB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;cAVW,cAAc,GAAG,SAAS;cAC1B,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS;0BAChC,MAAM,GAAG,SAAS;cAC9B,MAAM,GAAG,SAAS;UACtB,MAAM,GAAG,SAAS;aACf,MAAM,GAAG,SAAS;aAClB,MAAM,GAAG,SAAS;iBACd,MAAM,GAAG,SAAS;cACrB,OAAO;WACV,OAAO;CA+Bf,CAAC"}
1
+ {"version":3,"file":"log.d.mts","sourceRoot":"","sources":["../../src/internal/utils/log.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,MAAM,EAAE,yBAAqB;AAC3C,OAAO,EAAE,cAAc,EAAE,+BAA2B;AAEpD,KAAK,KAAK,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;AAC3D,MAAM,MAAM,MAAM,GAAG;IACnB,KAAK,EAAE,KAAK,CAAC;IACb,IAAI,EAAE,KAAK,CAAC;IACZ,IAAI,EAAE,KAAK,CAAC;IACZ,KAAK,EAAE,KAAK,CAAC;CACd,CAAC;AACF,MAAM,MAAM,QAAQ,GAAG,KAAK,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAUnE,eAAO,MAAM,aAAa,GACxB,YAAY,MAAM,GAAG,SAAS,EAC9B,YAAY,MAAM,EAClB,QAAQ,MAAM,KACb,QAAQ,GAAG,SAab,CAAC;AAsBF,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAsBhD;AAED,eAAO,MAAM,oBAAoB,GAAI,SAAS;IAC5C,OAAO,CAAC,EAAE,cAAc,GAAG,SAAS,CAAC;IACrC,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;IACvD,mBAAmB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;cAVW,cAAc,GAAG,SAAS;cAC1B,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS;0BAChC,MAAM,GAAG,SAAS;cAC9B,MAAM,GAAG,SAAS;UACtB,MAAM,GAAG,SAAS;aACf,MAAM,GAAG,SAAS;aAClB,MAAM,GAAG,SAAS;iBACd,MAAM,GAAG,SAAS;cACrB,OAAO;WACV,OAAO;CAgCf,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../../src/internal/utils/log.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,MAAM,EAAE,wBAAqB;AAC3C,OAAO,EAAE,cAAc,EAAE,8BAA2B;AAEpD,KAAK,KAAK,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;AAC3D,MAAM,MAAM,MAAM,GAAG;IACnB,KAAK,EAAE,KAAK,CAAC;IACb,IAAI,EAAE,KAAK,CAAC;IACZ,IAAI,EAAE,KAAK,CAAC;IACZ,KAAK,EAAE,KAAK,CAAC;CACd,CAAC;AACF,MAAM,MAAM,QAAQ,GAAG,KAAK,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAUnE,eAAO,MAAM,aAAa,GACxB,YAAY,MAAM,GAAG,SAAS,EAC9B,YAAY,MAAM,EAClB,QAAQ,MAAM,KACb,QAAQ,GAAG,SAab,CAAC;AAsBF,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAsBhD;AAED,eAAO,MAAM,oBAAoB,GAAI,SAAS;IAC5C,OAAO,CAAC,EAAE,cAAc,GAAG,SAAS,CAAC;IACrC,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;IACvD,mBAAmB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;cAVW,cAAc,GAAG,SAAS;cAC1B,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS;0BAChC,MAAM,GAAG,SAAS;cAC9B,MAAM,GAAG,SAAS;UACtB,MAAM,GAAG,SAAS;aACf,MAAM,GAAG,SAAS;aAClB,MAAM,GAAG,SAAS;iBACd,MAAM,GAAG,SAAS;cACrB,OAAO;WACV,OAAO;CA+Bf,CAAC"}
1
+ {"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../../src/internal/utils/log.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,MAAM,EAAE,wBAAqB;AAC3C,OAAO,EAAE,cAAc,EAAE,8BAA2B;AAEpD,KAAK,KAAK,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;AAC3D,MAAM,MAAM,MAAM,GAAG;IACnB,KAAK,EAAE,KAAK,CAAC;IACb,IAAI,EAAE,KAAK,CAAC;IACZ,IAAI,EAAE,KAAK,CAAC;IACZ,KAAK,EAAE,KAAK,CAAC;CACd,CAAC;AACF,MAAM,MAAM,QAAQ,GAAG,KAAK,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAUnE,eAAO,MAAM,aAAa,GACxB,YAAY,MAAM,GAAG,SAAS,EAC9B,YAAY,MAAM,EAClB,QAAQ,MAAM,KACb,QAAQ,GAAG,SAab,CAAC;AAsBF,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAsBhD;AAED,eAAO,MAAM,oBAAoB,GAAI,SAAS;IAC5C,OAAO,CAAC,EAAE,cAAc,GAAG,SAAS,CAAC;IACrC,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;IACvD,mBAAmB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;cAVW,cAAc,GAAG,SAAS;cAC1B,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS;0BAChC,MAAM,GAAG,SAAS;cAC9B,MAAM,GAAG,SAAS;UACtB,MAAM,GAAG,SAAS;aACf,MAAM,GAAG,SAAS;aAClB,MAAM,GAAG,SAAS;iBACd,MAAM,GAAG,SAAS;cACrB,OAAO;WACV,OAAO;CAgCf,CAAC"}
@@ -69,6 +69,7 @@ const formatRequestDetails = (details) => {
69
69
  (name.toLowerCase() === 'authorization' ||
70
70
  name.toLowerCase() === 'api-key' ||
71
71
  name.toLowerCase() === 'x-api-key' ||
72
+ name.toLowerCase() === 'x-amz-security-token' ||
72
73
  name.toLowerCase() === 'cookie' ||
73
74
  name.toLowerCase() === 'set-cookie') ?
74
75
  '***'
@@ -1 +1 @@
1
- {"version":3,"file":"log.js","sourceRoot":"","sources":["../../src/internal/utils/log.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"log.js","sourceRoot":"","sources":["../../src/internal/utils/log.ts"],"names":[],"mappings":"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"}
@@ -64,6 +64,7 @@ export const formatRequestDetails = (details) => {
64
64
  (name.toLowerCase() === 'authorization' ||
65
65
  name.toLowerCase() === 'api-key' ||
66
66
  name.toLowerCase() === 'x-api-key' ||
67
+ name.toLowerCase() === 'x-amz-security-token' ||
67
68
  name.toLowerCase() === 'cookie' ||
68
69
  name.toLowerCase() === 'set-cookie') ?
69
70
  '***'
@@ -1 +1 @@
1
- {"version":3,"file":"log.mjs","sourceRoot":"","sources":["../../src/internal/utils/log.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"log.mjs","sourceRoot":"","sources":["../../src/internal/utils/log.ts"],"names":[],"mappings":"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"}
@@ -2,13 +2,24 @@ import type OpenAI from "../index.mjs";
2
2
  import type { RequestOptions } from "../internal/request-options.mjs";
3
3
  import type { ChatCompletion, ChatCompletionCreateParams, ChatCompletionMessage, ChatCompletionMessageFunctionToolCall, ChatCompletionMessageParam, ParsedChatCompletion } from "../resources/chat/completions.mjs";
4
4
  import type { CompletionUsage } from "../resources/completions.mjs";
5
- import type { ChatCompletionToolRunnerParams } from "./ChatCompletionRunner.mjs";
6
- import type { ChatCompletionStreamingToolRunnerParams } from "./ChatCompletionStreamingRunner.mjs";
5
+ import type { ChatCompletionRunner, ChatCompletionToolRunnerParams } from "./ChatCompletionRunner.mjs";
6
+ import type { ChatCompletionStreamingRunner, ChatCompletionStreamingToolRunnerParams } from "./ChatCompletionStreamingRunner.mjs";
7
7
  import { BaseEvents, EventStream } from "./EventStream.mjs";
8
8
  import { type BaseFunctionsArgs } from "./RunnableFunction.mjs";
9
+ export interface ChatCompletionRunnerContext {
10
+ messages: ChatCompletionMessageParam[];
11
+ abort(): void;
12
+ }
9
13
  export interface RunnerOptions extends RequestOptions {
10
14
  /** How many requests to make before canceling. Default 10. */
11
15
  maxChatCompletions?: number;
16
+ /**
17
+ * A callback that runs after each chat completion and after any tool calls from
18
+ * that completion have finished. The callback is awaited before the next
19
+ * request starts or before the runner ends. The runner's mutable `messages`
20
+ * array can be used to add context for the next request.
21
+ */
22
+ afterCompletion?: (completion: ChatCompletion, runner: ChatCompletionRunnerContext) => void | Promise<void>;
12
23
  }
13
24
  export declare class AbstractChatCompletionRunner<EventTypes extends AbstractChatCompletionRunnerEvents, ParsedT> extends EventStream<EventTypes> {
14
25
  #private;
@@ -27,7 +38,7 @@ export declare class AbstractChatCompletionRunner<EventTypes extends AbstractCha
27
38
  */
28
39
  finalContent(): Promise<string | null>;
29
40
  /**
30
- * @returns a promise that resolves with the the final assistant ChatCompletionMessage response,
41
+ * @returns a promise that resolves with the final assistant ChatCompletionMessage response,
31
42
  * or rejects if an error occurred or the stream ended prematurely without producing a ChatCompletionMessage.
32
43
  */
33
44
  finalMessage(): Promise<ChatCompletionMessage>;
@@ -42,7 +53,7 @@ export declare class AbstractChatCompletionRunner<EventTypes extends AbstractCha
42
53
  protected _emitFinal(this: AbstractChatCompletionRunner<AbstractChatCompletionRunnerEvents, ParsedT>): void;
43
54
  protected _createChatCompletion(client: OpenAI, params: ChatCompletionCreateParams, options?: RequestOptions): Promise<ParsedChatCompletion<ParsedT>>;
44
55
  protected _runChatCompletion(client: OpenAI, params: ChatCompletionCreateParams, options?: RequestOptions): Promise<ChatCompletion>;
45
- protected _runTools<FunctionsArgs extends BaseFunctionsArgs>(client: OpenAI, params: ChatCompletionToolRunnerParams<FunctionsArgs> | ChatCompletionStreamingToolRunnerParams<FunctionsArgs>, options?: RunnerOptions): Promise<void>;
56
+ protected _runTools<FunctionsArgs extends BaseFunctionsArgs>(client: OpenAI, params: ChatCompletionToolRunnerParams<FunctionsArgs> | ChatCompletionStreamingToolRunnerParams<FunctionsArgs>, runner: ChatCompletionRunner<any> | ChatCompletionStreamingRunner<any>, options?: RunnerOptions): Promise<void>;
46
57
  }
47
58
  export interface AbstractChatCompletionRunnerEvents extends BaseEvents {
48
59
  functionToolCall: (functionCall: ChatCompletionMessageFunctionToolCall.Function) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractChatCompletionRunner.d.mts","sourceRoot":"","sources":["../src/lib/AbstractChatCompletionRunner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AbstractChatCompletionRunner.d.mts","sourceRoot":"","sources":["../src/lib/AbstractChatCompletionRunner.ts"],"names":[],"mappings":"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"}
@@ -2,13 +2,24 @@ import type OpenAI from "../index.js";
2
2
  import type { RequestOptions } from "../internal/request-options.js";
3
3
  import type { ChatCompletion, ChatCompletionCreateParams, ChatCompletionMessage, ChatCompletionMessageFunctionToolCall, ChatCompletionMessageParam, ParsedChatCompletion } from "../resources/chat/completions.js";
4
4
  import type { CompletionUsage } from "../resources/completions.js";
5
- import type { ChatCompletionToolRunnerParams } from "./ChatCompletionRunner.js";
6
- import type { ChatCompletionStreamingToolRunnerParams } from "./ChatCompletionStreamingRunner.js";
5
+ import type { ChatCompletionRunner, ChatCompletionToolRunnerParams } from "./ChatCompletionRunner.js";
6
+ import type { ChatCompletionStreamingRunner, ChatCompletionStreamingToolRunnerParams } from "./ChatCompletionStreamingRunner.js";
7
7
  import { BaseEvents, EventStream } from "./EventStream.js";
8
8
  import { type BaseFunctionsArgs } from "./RunnableFunction.js";
9
+ export interface ChatCompletionRunnerContext {
10
+ messages: ChatCompletionMessageParam[];
11
+ abort(): void;
12
+ }
9
13
  export interface RunnerOptions extends RequestOptions {
10
14
  /** How many requests to make before canceling. Default 10. */
11
15
  maxChatCompletions?: number;
16
+ /**
17
+ * A callback that runs after each chat completion and after any tool calls from
18
+ * that completion have finished. The callback is awaited before the next
19
+ * request starts or before the runner ends. The runner's mutable `messages`
20
+ * array can be used to add context for the next request.
21
+ */
22
+ afterCompletion?: (completion: ChatCompletion, runner: ChatCompletionRunnerContext) => void | Promise<void>;
12
23
  }
13
24
  export declare class AbstractChatCompletionRunner<EventTypes extends AbstractChatCompletionRunnerEvents, ParsedT> extends EventStream<EventTypes> {
14
25
  #private;
@@ -27,7 +38,7 @@ export declare class AbstractChatCompletionRunner<EventTypes extends AbstractCha
27
38
  */
28
39
  finalContent(): Promise<string | null>;
29
40
  /**
30
- * @returns a promise that resolves with the the final assistant ChatCompletionMessage response,
41
+ * @returns a promise that resolves with the final assistant ChatCompletionMessage response,
31
42
  * or rejects if an error occurred or the stream ended prematurely without producing a ChatCompletionMessage.
32
43
  */
33
44
  finalMessage(): Promise<ChatCompletionMessage>;
@@ -42,7 +53,7 @@ export declare class AbstractChatCompletionRunner<EventTypes extends AbstractCha
42
53
  protected _emitFinal(this: AbstractChatCompletionRunner<AbstractChatCompletionRunnerEvents, ParsedT>): void;
43
54
  protected _createChatCompletion(client: OpenAI, params: ChatCompletionCreateParams, options?: RequestOptions): Promise<ParsedChatCompletion<ParsedT>>;
44
55
  protected _runChatCompletion(client: OpenAI, params: ChatCompletionCreateParams, options?: RequestOptions): Promise<ChatCompletion>;
45
- protected _runTools<FunctionsArgs extends BaseFunctionsArgs>(client: OpenAI, params: ChatCompletionToolRunnerParams<FunctionsArgs> | ChatCompletionStreamingToolRunnerParams<FunctionsArgs>, options?: RunnerOptions): Promise<void>;
56
+ protected _runTools<FunctionsArgs extends BaseFunctionsArgs>(client: OpenAI, params: ChatCompletionToolRunnerParams<FunctionsArgs> | ChatCompletionStreamingToolRunnerParams<FunctionsArgs>, runner: ChatCompletionRunner<any> | ChatCompletionStreamingRunner<any>, options?: RunnerOptions): Promise<void>;
46
57
  }
47
58
  export interface AbstractChatCompletionRunnerEvents extends BaseEvents {
48
59
  functionToolCall: (functionCall: ChatCompletionMessageFunctionToolCall.Function) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractChatCompletionRunner.d.ts","sourceRoot":"","sources":["../src/lib/AbstractChatCompletionRunner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AbstractChatCompletionRunner.d.ts","sourceRoot":"","sources":["../src/lib/AbstractChatCompletionRunner.ts"],"names":[],"mappings":"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"}
@@ -63,7 +63,7 @@ class AbstractChatCompletionRunner extends EventStream_1.EventStream {
63
63
  return tslib_1.__classPrivateFieldGet(this, _AbstractChatCompletionRunner_instances, "m", _AbstractChatCompletionRunner_getFinalContent).call(this);
64
64
  }
65
65
  /**
66
- * @returns a promise that resolves with the the final assistant ChatCompletionMessage response,
66
+ * @returns a promise that resolves with the final assistant ChatCompletionMessage response,
67
67
  * or rejects if an error occurred or the stream ended prematurely without producing a ChatCompletionMessage.
68
68
  */
69
69
  async finalMessage() {
@@ -110,12 +110,7 @@ class AbstractChatCompletionRunner extends EventStream_1.EventStream {
110
110
  }
111
111
  }
112
112
  async _createChatCompletion(client, params, options) {
113
- const signal = options?.signal;
114
- if (signal) {
115
- if (signal.aborted)
116
- this.controller.abort();
117
- signal.addEventListener('abort', () => this.controller.abort());
118
- }
113
+ this._listenForAbort(options?.signal);
119
114
  tslib_1.__classPrivateFieldGet(this, _AbstractChatCompletionRunner_instances, "m", _AbstractChatCompletionRunner_validateParams).call(this, params);
120
115
  const chatCompletion = await client.chat.completions.create({ ...params, stream: false }, { ...options, signal: this.controller.signal });
121
116
  this._connected();
@@ -127,11 +122,11 @@ class AbstractChatCompletionRunner extends EventStream_1.EventStream {
127
122
  }
128
123
  return await this._createChatCompletion(client, params, options);
129
124
  }
130
- async _runTools(client, params, options) {
125
+ async _runTools(client, params, runner, options) {
131
126
  const role = 'tool';
132
127
  const { tool_choice = 'auto', stream, ...restParams } = params;
133
128
  const singleFunctionToCall = typeof tool_choice !== 'string' && tool_choice.type === 'function' && tool_choice?.function?.name;
134
- const { maxChatCompletions = DEFAULT_MAX_CHAT_COMPLETIONS } = options || {};
129
+ const { maxChatCompletions = DEFAULT_MAX_CHAT_COMPLETIONS, afterCompletion } = options || {};
135
130
  // TODO(someday): clean this logic up
136
131
  const inputTools = params.tools.map((tool) => {
137
132
  if ((0, parser_1.isAutoParsableTool)(tool)) {
@@ -174,6 +169,40 @@ class AbstractChatCompletionRunner extends EventStream_1.EventStream {
174
169
  for (const message of params.messages) {
175
170
  this._addMessage(message, false);
176
171
  }
172
+ const runToolCall = async (toolCall) => {
173
+ if (toolCall.type !== 'function')
174
+ return { message: undefined, functionCalled: false };
175
+ const tool_call_id = toolCall.id;
176
+ const { name, arguments: args } = toolCall.function;
177
+ const fn = functionsByName[name];
178
+ if (!fn) {
179
+ const content = `Invalid tool_call: ${JSON.stringify(name)}. Available options are: ${Object.keys(functionsByName)
180
+ .map((name) => JSON.stringify(name))
181
+ .join(', ')}. Please try again`;
182
+ return { message: { role, tool_call_id, content }, functionCalled: false };
183
+ }
184
+ if (singleFunctionToCall && singleFunctionToCall !== name) {
185
+ const content = `Invalid tool_call: ${JSON.stringify(name)}. ${JSON.stringify(singleFunctionToCall)} requested. Please try again`;
186
+ return { message: { role, tool_call_id, content }, functionCalled: false };
187
+ }
188
+ let rawContent;
189
+ if ((0, RunnableFunction_1.isRunnableFunctionWithParse)(fn)) {
190
+ let parsed;
191
+ try {
192
+ parsed = await fn.parse(args);
193
+ }
194
+ catch (error) {
195
+ const content = error instanceof Error ? error.message : String(error);
196
+ return { message: { role, tool_call_id, content }, functionCalled: false };
197
+ }
198
+ rawContent = await fn.function(parsed, runner);
199
+ }
200
+ else {
201
+ rawContent = await fn.function(args, runner);
202
+ }
203
+ const content = tslib_1.__classPrivateFieldGet(this, _AbstractChatCompletionRunner_instances, "m", _AbstractChatCompletionRunner_stringifyFunctionCallResult).call(this, rawContent);
204
+ return { message: { role, tool_call_id, content }, functionCalled: true };
205
+ };
177
206
  for (let i = 0; i < maxChatCompletions; ++i) {
178
207
  const chatCompletion = await this._createChatCompletion(client, {
179
208
  ...restParams,
@@ -186,43 +215,37 @@ class AbstractChatCompletionRunner extends EventStream_1.EventStream {
186
215
  throw new error_1.OpenAIError(`missing message in ChatCompletion response`);
187
216
  }
188
217
  if (!message.tool_calls?.length) {
218
+ await afterCompletion?.(chatCompletion, runner);
189
219
  return;
190
220
  }
191
- for (const tool_call of message.tool_calls) {
192
- if (tool_call.type !== 'function')
193
- continue;
194
- const tool_call_id = tool_call.id;
195
- const { name, arguments: args } = tool_call.function;
196
- const fn = functionsByName[name];
197
- if (!fn) {
198
- const content = `Invalid tool_call: ${JSON.stringify(name)}. Available options are: ${Object.keys(functionsByName)
199
- .map((name) => JSON.stringify(name))
200
- .join(', ')}. Please try again`;
201
- this._addMessage({ role, tool_call_id, content });
202
- continue;
203
- }
204
- else if (singleFunctionToCall && singleFunctionToCall !== name) {
205
- const content = `Invalid tool_call: ${JSON.stringify(name)}. ${JSON.stringify(singleFunctionToCall)} requested. Please try again`;
206
- this._addMessage({ role, tool_call_id, content });
207
- continue;
208
- }
209
- let parsed;
210
- try {
211
- parsed = (0, RunnableFunction_1.isRunnableFunctionWithParse)(fn) ? await fn.parse(args) : args;
221
+ if (singleFunctionToCall || params.parallel_tool_calls === false) {
222
+ for (const toolCall of message.tool_calls) {
223
+ const result = await runToolCall(toolCall);
224
+ if (result.message)
225
+ this._addMessage(result.message);
226
+ if (singleFunctionToCall && result.functionCalled) {
227
+ await afterCompletion?.(chatCompletion, runner);
228
+ return;
229
+ }
212
230
  }
213
- catch (error) {
214
- const content = error instanceof Error ? error.message : String(error);
215
- this._addMessage({ role, tool_call_id, content });
216
- continue;
231
+ }
232
+ else {
233
+ const results = await Promise.allSettled(message.tool_calls.map(runToolCall));
234
+ // Wait for every concurrently running tool to settle before surfacing an
235
+ // error so tool side effects cannot continue after the runner has ended.
236
+ for (const result of results) {
237
+ if (result.status === 'rejected')
238
+ throw result.reason;
217
239
  }
218
- // @ts-expect-error it can't rule out `never` type.
219
- const rawContent = await fn.function(parsed, this);
220
- const content = tslib_1.__classPrivateFieldGet(this, _AbstractChatCompletionRunner_instances, "m", _AbstractChatCompletionRunner_stringifyFunctionCallResult).call(this, rawContent);
221
- this._addMessage({ role, tool_call_id, content });
222
- if (singleFunctionToCall) {
223
- return;
240
+ // Promise.allSettled preserves input order, so the next request receives
241
+ // tool result messages in the same order as the assistant's tool calls.
242
+ for (const result of results) {
243
+ if (result.status === 'fulfilled' && result.value.message) {
244
+ this._addMessage(result.value.message);
245
+ }
224
246
  }
225
247
  }
248
+ await afterCompletion?.(chatCompletion, runner);
226
249
  }
227
250
  return;
228
251
  }