openai 6.39.1 → 6.41.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 (57) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/README.md +33 -0
  3. package/bedrock.d.mts +58 -0
  4. package/bedrock.d.mts.map +1 -0
  5. package/bedrock.d.ts +58 -0
  6. package/bedrock.d.ts.map +1 -0
  7. package/bedrock.js +105 -0
  8. package/bedrock.js.map +1 -0
  9. package/bedrock.mjs +100 -0
  10. package/bedrock.mjs.map +1 -0
  11. package/index.d.mts +1 -0
  12. package/index.d.mts.map +1 -1
  13. package/index.d.ts +1 -0
  14. package/index.d.ts.map +1 -1
  15. package/index.js +3 -1
  16. package/index.js.map +1 -1
  17. package/index.mjs +1 -0
  18. package/index.mjs.map +1 -1
  19. package/package.json +11 -4
  20. package/resources/admin/organization/audit-logs.d.mts +120 -2
  21. package/resources/admin/organization/audit-logs.d.mts.map +1 -1
  22. package/resources/admin/organization/audit-logs.d.ts +120 -2
  23. package/resources/admin/organization/audit-logs.d.ts.map +1 -1
  24. package/resources/chat/completions/completions.d.mts +8 -0
  25. package/resources/chat/completions/completions.d.mts.map +1 -1
  26. package/resources/chat/completions/completions.d.ts +8 -0
  27. package/resources/chat/completions/completions.d.ts.map +1 -1
  28. package/resources/chat/completions/completions.js.map +1 -1
  29. package/resources/chat/completions/completions.mjs.map +1 -1
  30. package/resources/conversations/items.d.mts +19 -1
  31. package/resources/conversations/items.d.mts.map +1 -1
  32. package/resources/conversations/items.d.ts +19 -1
  33. package/resources/conversations/items.d.ts.map +1 -1
  34. package/resources/responses/input-tokens.d.mts +6 -0
  35. package/resources/responses/input-tokens.d.mts.map +1 -1
  36. package/resources/responses/input-tokens.d.ts +6 -0
  37. package/resources/responses/input-tokens.d.ts.map +1 -1
  38. package/resources/responses/responses.d.mts +86 -8
  39. package/resources/responses/responses.d.mts.map +1 -1
  40. package/resources/responses/responses.d.ts +86 -8
  41. package/resources/responses/responses.d.ts.map +1 -1
  42. package/resources/responses/responses.js.map +1 -1
  43. package/resources/responses/responses.mjs.map +1 -1
  44. package/src/bedrock.ts +191 -0
  45. package/src/index.ts +1 -0
  46. package/src/resources/admin/organization/audit-logs.ts +152 -0
  47. package/src/resources/chat/completions/completions.ts +8 -0
  48. package/src/resources/conversations/items.ts +23 -0
  49. package/src/resources/responses/input-tokens.ts +7 -0
  50. package/src/resources/responses/responses.ts +99 -5
  51. package/src/version.ts +1 -1
  52. package/version.d.mts +1 -1
  53. package/version.d.ts +1 -1
  54. package/version.js +1 -1
  55. package/version.mjs +1 -1
  56. package/bin/cli +0 -52
  57. package/bin/migration-config.json +0 -2158
package/CHANGELOG.md CHANGED
@@ -1,5 +1,26 @@
1
1
  # Changelog
2
2
 
3
+ ## 6.41.0 (2026-06-01)
4
+
5
+ Full Changelog: [v6.40.0...v6.41.0](https://github.com/openai/openai-node/compare/v6.40.0...v6.41.0)
6
+
7
+ ### Features
8
+
9
+ * **api:** Add Amazon Bedrock Responses support ([#1899](https://github.com/openai/openai-node/issues/1899)) ([535b045](https://github.com/openai/openai-node/commit/535b045c9b614eabeb1324c51f401149570a4382))
10
+
11
+ ## 6.40.0 (2026-06-01)
12
+
13
+ Full Changelog: [v6.39.1...v6.40.0](https://github.com/openai/openai-node/compare/v6.39.1...v6.40.0)
14
+
15
+ ### Features
16
+
17
+ * **api:** workload identity in audit logs, additional_tools item in responses, fix ActionSearch.query to be optional. ([aee09f3](https://github.com/openai/openai-node/commit/aee09f337f92b94428832122a19574d9196c3520))
18
+
19
+
20
+ ### Chores
21
+
22
+ * remove migrate CLI ([673c618](https://github.com/openai/openai-node/commit/673c61888933e5909bfcc73102ed0e9f8304930e))
23
+
3
24
  ## 6.39.1 (2026-05-27)
4
25
 
5
26
  Full Changelog: [v6.39.0...v6.39.1](https://github.com/openai/openai-node/compare/v6.39.0...v6.39.1)
package/README.md CHANGED
@@ -401,6 +401,39 @@ const result = await openai.chat.completions.create({
401
401
  console.log(result.choices[0]!.message?.content);
402
402
  ```
403
403
 
404
+ ## Amazon Bedrock
405
+
406
+ To use this library with [Amazon Bedrock's OpenAI-compatible API](https://docs.aws.amazon.com/bedrock/latest/userguide/models-api-compatibility.html), use the `BedrockOpenAI` class instead of the `OpenAI` class.
407
+
408
+ ```ts
409
+ import { BedrockOpenAI } from 'openai';
410
+
411
+ // gets the bearer token from AWS_BEARER_TOKEN_BEDROCK and the region from AWS_REGION/AWS_DEFAULT_REGION
412
+ const client = new BedrockOpenAI();
413
+
414
+ const response = await client.responses.create({
415
+ model: 'openai.gpt-5.4',
416
+ input: 'Say hello!',
417
+ });
418
+
419
+ console.log(response.output_text);
420
+ ```
421
+
422
+ `BedrockOpenAI` configures AWS bearer auth and the Bedrock Mantle endpoint, then uses the normal SDK resources. AWS controls which endpoints and features are supported; unsupported calls surface the provider's normal HTTP errors through the SDK.
423
+
424
+ Pass `baseURL` or set `AWS_BEDROCK_BASE_URL` to override the derived `https://bedrock-mantle.<region>.api.aws/openai/v1` endpoint. For long-running apps, pass `bedrockTokenProvider` to refresh the Bedrock bearer token before each request.
425
+
426
+ Set `AWS_BEARER_TOKEN_BEDROCK` to an [Amazon Bedrock API key](https://docs.aws.amazon.com/bedrock/latest/userguide/api-keys.html). To refresh tokens yourself, pass a provider instead of `apiKey`:
427
+
428
+ ```ts
429
+ const client = new BedrockOpenAI({
430
+ awsRegion: 'us-west-2',
431
+ bedrockTokenProvider: async () => refreshBedrockToken(),
432
+ });
433
+ ```
434
+
435
+ For more information on support for Amazon Bedrock, see [bedrock.md](bedrock.md).
436
+
404
437
  ### Retries
405
438
 
406
439
  Certain errors will be automatically retried 2 times by default, with a short exponential backoff.
package/bedrock.d.mts ADDED
@@ -0,0 +1,58 @@
1
+ import { OpenAI } from "./client.mjs";
2
+ import type { ApiKeySetter, ClientOptions } from "./client.mjs";
3
+ import type { NullableHeaders } from "./internal/headers.mjs";
4
+ import type { FinalRequestOptions } from "./internal/request-options.mjs";
5
+ export interface BedrockClientOptions extends Omit<ClientOptions, 'apiKey' | 'adminAPIKey' | 'baseURL' | 'workloadIdentity'> {
6
+ /**
7
+ * Bedrock bearer token used for authentication.
8
+ *
9
+ * Defaults to process.env['AWS_BEARER_TOKEN_BEDROCK'].
10
+ */
11
+ apiKey?: string | null | undefined;
12
+ /**
13
+ * Bedrock API root.
14
+ *
15
+ * Defaults to process.env['AWS_BEDROCK_BASE_URL'], or derives
16
+ * `https://bedrock-mantle.<region>.api.aws/openai/v1` from `awsRegion`,
17
+ * process.env['AWS_REGION'], or process.env['AWS_DEFAULT_REGION'].
18
+ */
19
+ baseURL?: string | null | undefined;
20
+ /**
21
+ * BedrockOpenAI only supports Bedrock bearer token authentication.
22
+ */
23
+ adminAPIKey?: never;
24
+ /**
25
+ * BedrockOpenAI only supports Bedrock bearer token authentication.
26
+ */
27
+ workloadIdentity?: never;
28
+ /**
29
+ * AWS region used to derive the default Bedrock Mantle endpoint.
30
+ *
31
+ * Defaults to process.env['AWS_REGION'] or process.env['AWS_DEFAULT_REGION'].
32
+ */
33
+ awsRegion?: string | undefined;
34
+ /**
35
+ * A function that returns a Bedrock bearer token and is invoked before each request.
36
+ */
37
+ bedrockTokenProvider?: ApiKeySetter | undefined;
38
+ }
39
+ /** API Client for interfacing with Amazon Bedrock's OpenAI-compatible endpoint. */
40
+ export declare class BedrockOpenAI extends OpenAI {
41
+ private readonly bedrockTokenProvider;
42
+ /**
43
+ * API Client for interfacing with Amazon Bedrock's OpenAI-compatible endpoint.
44
+ *
45
+ * @param {string | null | undefined} [opts.apiKey=process.env['AWS_BEARER_TOKEN_BEDROCK'] ?? null]
46
+ * @param {string | null | undefined} [opts.baseURL=process.env['AWS_BEDROCK_BASE_URL'] ?? derived from opts.awsRegion or AWS_REGION/AWS_DEFAULT_REGION]
47
+ * @param {string | undefined} [opts.awsRegion=process.env['AWS_REGION'] ?? process.env['AWS_DEFAULT_REGION'] ?? undefined]
48
+ * @param {ApiKeySetter | undefined} opts.bedrockTokenProvider - A function that returns a Bedrock bearer token and is invoked before each request.
49
+ */
50
+ constructor({ baseURL, apiKey, awsRegion, bedrockTokenProvider, adminAPIKey, workloadIdentity, ...opts }?: BedrockClientOptions);
51
+ protected prepareOptions(options: FinalRequestOptions): Promise<void>;
52
+ protected authHeaders(opts: FinalRequestOptions, schemes?: {
53
+ bearerAuth?: boolean;
54
+ adminAPIKeyAuth?: boolean;
55
+ }): Promise<NullableHeaders | undefined>;
56
+ withOptions(options: Partial<BedrockClientOptions>): this;
57
+ }
58
+ //# sourceMappingURL=bedrock.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bedrock.d.mts","sourceRoot":"","sources":["src/bedrock.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,qBAAiB;AAClC,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,qBAAiB;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,+BAA2B;AAE1D,OAAO,KAAK,EAAE,mBAAmB,EAAkB,uCAAmC;AAOtF,MAAM,WAAW,oBACf,SAAQ,IAAI,CAAC,aAAa,EAAE,QAAQ,GAAG,aAAa,GAAG,SAAS,GAAG,kBAAkB,CAAC;IACtF;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAEnC;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAEpC;;OAEG;IACH,WAAW,CAAC,EAAE,KAAK,CAAC;IAEpB;;OAEG;IACH,gBAAgB,CAAC,EAAE,KAAK,CAAC;IAEzB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAE/B;;OAEG;IACH,oBAAoB,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;CACjD;AAiDD,mFAAmF;AACnF,qBAAa,aAAc,SAAQ,MAAM;IACvC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAA2B;IAEhE;;;;;;;OAOG;gBACS,EACV,OAAyC,EACzC,MAAM,EACN,SAAkE,EAClE,oBAAoB,EACpB,WAAW,EACX,gBAAgB,EAChB,GAAG,IAAI,EACR,GAAE,oBAAyB;cAwCH,cAAc,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;cAS3D,WAAW,CAClC,IAAI,EAAE,mBAAmB,EACzB,OAAO,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,OAAO,CAAC;QAAC,eAAe,CAAC,EAAE,OAAO,CAAA;KAAE,GAC5D,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC;IAS9B,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,oBAAoB,CAAC,GAAG,IAAI;CASnE"}
package/bedrock.d.ts ADDED
@@ -0,0 +1,58 @@
1
+ import { OpenAI } from "./client.js";
2
+ import type { ApiKeySetter, ClientOptions } from "./client.js";
3
+ import type { NullableHeaders } from "./internal/headers.js";
4
+ import type { FinalRequestOptions } from "./internal/request-options.js";
5
+ export interface BedrockClientOptions extends Omit<ClientOptions, 'apiKey' | 'adminAPIKey' | 'baseURL' | 'workloadIdentity'> {
6
+ /**
7
+ * Bedrock bearer token used for authentication.
8
+ *
9
+ * Defaults to process.env['AWS_BEARER_TOKEN_BEDROCK'].
10
+ */
11
+ apiKey?: string | null | undefined;
12
+ /**
13
+ * Bedrock API root.
14
+ *
15
+ * Defaults to process.env['AWS_BEDROCK_BASE_URL'], or derives
16
+ * `https://bedrock-mantle.<region>.api.aws/openai/v1` from `awsRegion`,
17
+ * process.env['AWS_REGION'], or process.env['AWS_DEFAULT_REGION'].
18
+ */
19
+ baseURL?: string | null | undefined;
20
+ /**
21
+ * BedrockOpenAI only supports Bedrock bearer token authentication.
22
+ */
23
+ adminAPIKey?: never;
24
+ /**
25
+ * BedrockOpenAI only supports Bedrock bearer token authentication.
26
+ */
27
+ workloadIdentity?: never;
28
+ /**
29
+ * AWS region used to derive the default Bedrock Mantle endpoint.
30
+ *
31
+ * Defaults to process.env['AWS_REGION'] or process.env['AWS_DEFAULT_REGION'].
32
+ */
33
+ awsRegion?: string | undefined;
34
+ /**
35
+ * A function that returns a Bedrock bearer token and is invoked before each request.
36
+ */
37
+ bedrockTokenProvider?: ApiKeySetter | undefined;
38
+ }
39
+ /** API Client for interfacing with Amazon Bedrock's OpenAI-compatible endpoint. */
40
+ export declare class BedrockOpenAI extends OpenAI {
41
+ private readonly bedrockTokenProvider;
42
+ /**
43
+ * API Client for interfacing with Amazon Bedrock's OpenAI-compatible endpoint.
44
+ *
45
+ * @param {string | null | undefined} [opts.apiKey=process.env['AWS_BEARER_TOKEN_BEDROCK'] ?? null]
46
+ * @param {string | null | undefined} [opts.baseURL=process.env['AWS_BEDROCK_BASE_URL'] ?? derived from opts.awsRegion or AWS_REGION/AWS_DEFAULT_REGION]
47
+ * @param {string | undefined} [opts.awsRegion=process.env['AWS_REGION'] ?? process.env['AWS_DEFAULT_REGION'] ?? undefined]
48
+ * @param {ApiKeySetter | undefined} opts.bedrockTokenProvider - A function that returns a Bedrock bearer token and is invoked before each request.
49
+ */
50
+ constructor({ baseURL, apiKey, awsRegion, bedrockTokenProvider, adminAPIKey, workloadIdentity, ...opts }?: BedrockClientOptions);
51
+ protected prepareOptions(options: FinalRequestOptions): Promise<void>;
52
+ protected authHeaders(opts: FinalRequestOptions, schemes?: {
53
+ bearerAuth?: boolean;
54
+ adminAPIKeyAuth?: boolean;
55
+ }): Promise<NullableHeaders | undefined>;
56
+ withOptions(options: Partial<BedrockClientOptions>): this;
57
+ }
58
+ //# sourceMappingURL=bedrock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bedrock.d.ts","sourceRoot":"","sources":["src/bedrock.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,oBAAiB;AAClC,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,oBAAiB;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,8BAA2B;AAE1D,OAAO,KAAK,EAAE,mBAAmB,EAAkB,sCAAmC;AAOtF,MAAM,WAAW,oBACf,SAAQ,IAAI,CAAC,aAAa,EAAE,QAAQ,GAAG,aAAa,GAAG,SAAS,GAAG,kBAAkB,CAAC;IACtF;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAEnC;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAEpC;;OAEG;IACH,WAAW,CAAC,EAAE,KAAK,CAAC;IAEpB;;OAEG;IACH,gBAAgB,CAAC,EAAE,KAAK,CAAC;IAEzB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAE/B;;OAEG;IACH,oBAAoB,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;CACjD;AAiDD,mFAAmF;AACnF,qBAAa,aAAc,SAAQ,MAAM;IACvC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAA2B;IAEhE;;;;;;;OAOG;gBACS,EACV,OAAyC,EACzC,MAAM,EACN,SAAkE,EAClE,oBAAoB,EACpB,WAAW,EACX,gBAAgB,EAChB,GAAG,IAAI,EACR,GAAE,oBAAyB;cAwCH,cAAc,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;cAS3D,WAAW,CAClC,IAAI,EAAE,mBAAmB,EACzB,OAAO,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,OAAO,CAAC;QAAC,eAAe,CAAC,EAAE,OAAO,CAAA;KAAE,GAC5D,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC;IAS9B,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,oBAAoB,CAAC,GAAG,IAAI;CASnE"}
package/bedrock.js ADDED
@@ -0,0 +1,105 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BedrockOpenAI = void 0;
4
+ const tslib_1 = require("./internal/tslib.js");
5
+ const Errors = tslib_1.__importStar(require("./error.js"));
6
+ const client_1 = require("./client.js");
7
+ const headers_1 = require("./internal/headers.js");
8
+ const utils_1 = require("./internal/utils.js");
9
+ const ResponsesParser_1 = require("./lib/ResponsesParser.js");
10
+ const API = tslib_1.__importStar(require("./resources/index.js"));
11
+ /** Resolve the default Bedrock Mantle API root from the configured AWS region. */
12
+ function deriveBedrockBaseURL(awsRegion) {
13
+ const region = awsRegion?.trim();
14
+ if (!region) {
15
+ throw new Errors.OpenAIError('Must provide one of the `baseURL` or `awsRegion` arguments, or set the `AWS_BEDROCK_BASE_URL`, `AWS_REGION`, or `AWS_DEFAULT_REGION` environment variable.');
16
+ }
17
+ return `https://bedrock-mantle.${region}.api.aws/openai/v1`;
18
+ }
19
+ /** Normalize a Bedrock Responses URL variant back to the provider API root. */
20
+ function normalizeBedrockBaseURL(baseURL) {
21
+ const url = new URL(baseURL);
22
+ const responsesMatch = url.pathname.match(/\/responses(?:\/.*)?$/);
23
+ if (responsesMatch?.index !== undefined) {
24
+ url.pathname = url.pathname.slice(0, responsesMatch.index) || '/';
25
+ }
26
+ return url.toString().replace(/\/$/, '');
27
+ }
28
+ /** Restore the SDK convenience property when Bedrock omits it from a streamed final response. */
29
+ function addBedrockOutputText(response) {
30
+ if (!Object.getOwnPropertyDescriptor(response, 'output_text')) {
31
+ (0, ResponsesParser_1.addOutputText)(response);
32
+ }
33
+ return response;
34
+ }
35
+ /** Keep the standard Responses surface while repairing Bedrock streamed final responses. */
36
+ function restoreBedrockStreamOutputText(responses) {
37
+ const stream = responses.stream.bind(responses);
38
+ responses.stream = ((body, options) => {
39
+ const responseStream = stream(body, options);
40
+ const finalResponse = responseStream.finalResponse.bind(responseStream);
41
+ responseStream.finalResponse = async () => addBedrockOutputText(await finalResponse());
42
+ return responseStream;
43
+ });
44
+ return responses;
45
+ }
46
+ /** API Client for interfacing with Amazon Bedrock's OpenAI-compatible endpoint. */
47
+ class BedrockOpenAI extends client_1.OpenAI {
48
+ /**
49
+ * API Client for interfacing with Amazon Bedrock's OpenAI-compatible endpoint.
50
+ *
51
+ * @param {string | null | undefined} [opts.apiKey=process.env['AWS_BEARER_TOKEN_BEDROCK'] ?? null]
52
+ * @param {string | null | undefined} [opts.baseURL=process.env['AWS_BEDROCK_BASE_URL'] ?? derived from opts.awsRegion or AWS_REGION/AWS_DEFAULT_REGION]
53
+ * @param {string | undefined} [opts.awsRegion=process.env['AWS_REGION'] ?? process.env['AWS_DEFAULT_REGION'] ?? undefined]
54
+ * @param {ApiKeySetter | undefined} opts.bedrockTokenProvider - A function that returns a Bedrock bearer token and is invoked before each request.
55
+ */
56
+ constructor({ baseURL = (0, utils_1.readEnv)('AWS_BEDROCK_BASE_URL'), apiKey, awsRegion = (0, utils_1.readEnv)('AWS_REGION') ?? (0, utils_1.readEnv)('AWS_DEFAULT_REGION'), bedrockTokenProvider, adminAPIKey, workloadIdentity, ...opts } = {}) {
57
+ if (adminAPIKey || workloadIdentity) {
58
+ throw new Errors.OpenAIError('BedrockOpenAI only supports Bedrock bearer token authentication.');
59
+ }
60
+ if (apiKey === undefined && !bedrockTokenProvider) {
61
+ apiKey = (0, utils_1.readEnv)('AWS_BEARER_TOKEN_BEDROCK') ?? null;
62
+ }
63
+ if (typeof apiKey === 'function') {
64
+ throw new Errors.OpenAIError('Pass refreshable Bedrock credentials via `bedrockTokenProvider`, not `apiKey`.');
65
+ }
66
+ if (apiKey && bedrockTokenProvider) {
67
+ throw new Errors.OpenAIError('The `apiKey` and `bedrockTokenProvider` arguments are mutually exclusive; only one can be passed at a time.');
68
+ }
69
+ if (!apiKey && !bedrockTokenProvider) {
70
+ throw new Errors.OpenAIError('Missing credentials. Please pass an `apiKey` or `bedrockTokenProvider`, or set the `AWS_BEARER_TOKEN_BEDROCK` environment variable.');
71
+ }
72
+ const configuredBaseURL = baseURL?.trim() ? baseURL : deriveBedrockBaseURL(awsRegion);
73
+ super({
74
+ apiKey: bedrockTokenProvider ?? apiKey,
75
+ adminAPIKey: null,
76
+ baseURL: normalizeBedrockBaseURL(configuredBaseURL),
77
+ ...opts,
78
+ });
79
+ this.bedrockTokenProvider = bedrockTokenProvider;
80
+ this.responses = restoreBedrockStreamOutputText(new API.Responses(this));
81
+ }
82
+ async prepareOptions(options) {
83
+ const security = options.__security ?? { bearerAuth: true };
84
+ if (security.adminAPIKeyAuth && !security.bearerAuth) {
85
+ await this._callApiKey();
86
+ }
87
+ await super.prepareOptions(options);
88
+ }
89
+ async authHeaders(opts, schemes) {
90
+ const security = schemes ?? { bearerAuth: true, adminAPIKeyAuth: true };
91
+ if ((security.bearerAuth || security.adminAPIKeyAuth) && this.apiKey !== null) {
92
+ return (0, headers_1.buildHeaders)([{ Authorization: `Bearer ${this.apiKey}` }]);
93
+ }
94
+ return super.authHeaders(opts, security);
95
+ }
96
+ withOptions(options) {
97
+ const bedrockTokenProvider = options.apiKey !== undefined ? undefined : options.bedrockTokenProvider ?? this.bedrockTokenProvider;
98
+ return super.withOptions({
99
+ ...options,
100
+ ...(bedrockTokenProvider ? { apiKey: undefined, bedrockTokenProvider } : {}),
101
+ });
102
+ }
103
+ }
104
+ exports.BedrockOpenAI = BedrockOpenAI;
105
+ //# sourceMappingURL=bedrock.js.map
package/bedrock.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bedrock.js","sourceRoot":"","sources":["src/bedrock.ts"],"names":[],"mappings":"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"}
package/bedrock.mjs ADDED
@@ -0,0 +1,100 @@
1
+ import * as Errors from "./error.mjs";
2
+ import { OpenAI } from "./client.mjs";
3
+ import { buildHeaders } from "./internal/headers.mjs";
4
+ import { readEnv } from "./internal/utils.mjs";
5
+ import { addOutputText } from "./lib/ResponsesParser.mjs";
6
+ import * as API from "./resources/index.mjs";
7
+ /** Resolve the default Bedrock Mantle API root from the configured AWS region. */
8
+ function deriveBedrockBaseURL(awsRegion) {
9
+ const region = awsRegion?.trim();
10
+ if (!region) {
11
+ throw new Errors.OpenAIError('Must provide one of the `baseURL` or `awsRegion` arguments, or set the `AWS_BEDROCK_BASE_URL`, `AWS_REGION`, or `AWS_DEFAULT_REGION` environment variable.');
12
+ }
13
+ return `https://bedrock-mantle.${region}.api.aws/openai/v1`;
14
+ }
15
+ /** Normalize a Bedrock Responses URL variant back to the provider API root. */
16
+ function normalizeBedrockBaseURL(baseURL) {
17
+ const url = new URL(baseURL);
18
+ const responsesMatch = url.pathname.match(/\/responses(?:\/.*)?$/);
19
+ if (responsesMatch?.index !== undefined) {
20
+ url.pathname = url.pathname.slice(0, responsesMatch.index) || '/';
21
+ }
22
+ return url.toString().replace(/\/$/, '');
23
+ }
24
+ /** Restore the SDK convenience property when Bedrock omits it from a streamed final response. */
25
+ function addBedrockOutputText(response) {
26
+ if (!Object.getOwnPropertyDescriptor(response, 'output_text')) {
27
+ addOutputText(response);
28
+ }
29
+ return response;
30
+ }
31
+ /** Keep the standard Responses surface while repairing Bedrock streamed final responses. */
32
+ function restoreBedrockStreamOutputText(responses) {
33
+ const stream = responses.stream.bind(responses);
34
+ responses.stream = ((body, options) => {
35
+ const responseStream = stream(body, options);
36
+ const finalResponse = responseStream.finalResponse.bind(responseStream);
37
+ responseStream.finalResponse = async () => addBedrockOutputText(await finalResponse());
38
+ return responseStream;
39
+ });
40
+ return responses;
41
+ }
42
+ /** API Client for interfacing with Amazon Bedrock's OpenAI-compatible endpoint. */
43
+ export class BedrockOpenAI extends OpenAI {
44
+ /**
45
+ * API Client for interfacing with Amazon Bedrock's OpenAI-compatible endpoint.
46
+ *
47
+ * @param {string | null | undefined} [opts.apiKey=process.env['AWS_BEARER_TOKEN_BEDROCK'] ?? null]
48
+ * @param {string | null | undefined} [opts.baseURL=process.env['AWS_BEDROCK_BASE_URL'] ?? derived from opts.awsRegion or AWS_REGION/AWS_DEFAULT_REGION]
49
+ * @param {string | undefined} [opts.awsRegion=process.env['AWS_REGION'] ?? process.env['AWS_DEFAULT_REGION'] ?? undefined]
50
+ * @param {ApiKeySetter | undefined} opts.bedrockTokenProvider - A function that returns a Bedrock bearer token and is invoked before each request.
51
+ */
52
+ constructor({ baseURL = readEnv('AWS_BEDROCK_BASE_URL'), apiKey, awsRegion = readEnv('AWS_REGION') ?? readEnv('AWS_DEFAULT_REGION'), bedrockTokenProvider, adminAPIKey, workloadIdentity, ...opts } = {}) {
53
+ if (adminAPIKey || workloadIdentity) {
54
+ throw new Errors.OpenAIError('BedrockOpenAI only supports Bedrock bearer token authentication.');
55
+ }
56
+ if (apiKey === undefined && !bedrockTokenProvider) {
57
+ apiKey = readEnv('AWS_BEARER_TOKEN_BEDROCK') ?? null;
58
+ }
59
+ if (typeof apiKey === 'function') {
60
+ throw new Errors.OpenAIError('Pass refreshable Bedrock credentials via `bedrockTokenProvider`, not `apiKey`.');
61
+ }
62
+ if (apiKey && bedrockTokenProvider) {
63
+ throw new Errors.OpenAIError('The `apiKey` and `bedrockTokenProvider` arguments are mutually exclusive; only one can be passed at a time.');
64
+ }
65
+ if (!apiKey && !bedrockTokenProvider) {
66
+ throw new Errors.OpenAIError('Missing credentials. Please pass an `apiKey` or `bedrockTokenProvider`, or set the `AWS_BEARER_TOKEN_BEDROCK` environment variable.');
67
+ }
68
+ const configuredBaseURL = baseURL?.trim() ? baseURL : deriveBedrockBaseURL(awsRegion);
69
+ super({
70
+ apiKey: bedrockTokenProvider ?? apiKey,
71
+ adminAPIKey: null,
72
+ baseURL: normalizeBedrockBaseURL(configuredBaseURL),
73
+ ...opts,
74
+ });
75
+ this.bedrockTokenProvider = bedrockTokenProvider;
76
+ this.responses = restoreBedrockStreamOutputText(new API.Responses(this));
77
+ }
78
+ async prepareOptions(options) {
79
+ const security = options.__security ?? { bearerAuth: true };
80
+ if (security.adminAPIKeyAuth && !security.bearerAuth) {
81
+ await this._callApiKey();
82
+ }
83
+ await super.prepareOptions(options);
84
+ }
85
+ async authHeaders(opts, schemes) {
86
+ const security = schemes ?? { bearerAuth: true, adminAPIKeyAuth: true };
87
+ if ((security.bearerAuth || security.adminAPIKeyAuth) && this.apiKey !== null) {
88
+ return buildHeaders([{ Authorization: `Bearer ${this.apiKey}` }]);
89
+ }
90
+ return super.authHeaders(opts, security);
91
+ }
92
+ withOptions(options) {
93
+ const bedrockTokenProvider = options.apiKey !== undefined ? undefined : options.bedrockTokenProvider ?? this.bedrockTokenProvider;
94
+ return super.withOptions({
95
+ ...options,
96
+ ...(bedrockTokenProvider ? { apiKey: undefined, bedrockTokenProvider } : {}),
97
+ });
98
+ }
99
+ }
100
+ //# sourceMappingURL=bedrock.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bedrock.mjs","sourceRoot":"","sources":["src/bedrock.ts"],"names":[],"mappings":"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"}
package/index.d.mts CHANGED
@@ -5,4 +5,5 @@ export { OpenAI, type ClientOptions } from "./client.mjs";
5
5
  export { PagePromise } from "./core/pagination.mjs";
6
6
  export { OpenAIError, APIError, APIConnectionError, APIConnectionTimeoutError, APIUserAbortError, NotFoundError, ConflictError, RateLimitError, BadRequestError, AuthenticationError, InternalServerError, PermissionDeniedError, UnprocessableEntityError, InvalidWebhookSignatureError, OAuthError, SubjectTokenProviderError, } from "./core/error.mjs";
7
7
  export { AzureOpenAI } from "./azure.mjs";
8
+ export { BedrockOpenAI, type BedrockClientOptions } from "./bedrock.mjs";
8
9
  //# sourceMappingURL=index.d.mts.map
package/index.d.mts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,qBAAiB;AAE7C,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,EAAE,2BAAuB;AACzD,OAAO,EAAE,UAAU,EAAE,+BAA2B;AAChD,OAAO,EAAE,MAAM,EAAE,KAAK,aAAa,EAAE,qBAAiB;AACtD,OAAO,EAAE,WAAW,EAAE,8BAA0B;AAChD,OAAO,EACL,WAAW,EACX,QAAQ,EACR,kBAAkB,EAClB,yBAAyB,EACzB,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,wBAAwB,EACxB,4BAA4B,EAC5B,UAAU,EACV,yBAAyB,GAC1B,yBAAqB;AAEtB,OAAO,EAAE,WAAW,EAAE,oBAAgB"}
1
+ {"version":3,"file":"index.d.mts","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,qBAAiB;AAE7C,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,EAAE,2BAAuB;AACzD,OAAO,EAAE,UAAU,EAAE,+BAA2B;AAChD,OAAO,EAAE,MAAM,EAAE,KAAK,aAAa,EAAE,qBAAiB;AACtD,OAAO,EAAE,WAAW,EAAE,8BAA0B;AAChD,OAAO,EACL,WAAW,EACX,QAAQ,EACR,kBAAkB,EAClB,yBAAyB,EACzB,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,wBAAwB,EACxB,4BAA4B,EAC5B,UAAU,EACV,yBAAyB,GAC1B,yBAAqB;AAEtB,OAAO,EAAE,WAAW,EAAE,oBAAgB;AACtC,OAAO,EAAE,aAAa,EAAE,KAAK,oBAAoB,EAAE,sBAAkB"}
package/index.d.ts CHANGED
@@ -5,4 +5,5 @@ export { OpenAI, type ClientOptions } from "./client.js";
5
5
  export { PagePromise } from "./core/pagination.js";
6
6
  export { OpenAIError, APIError, APIConnectionError, APIConnectionTimeoutError, APIUserAbortError, NotFoundError, ConflictError, RateLimitError, BadRequestError, AuthenticationError, InternalServerError, PermissionDeniedError, UnprocessableEntityError, InvalidWebhookSignatureError, OAuthError, SubjectTokenProviderError, } from "./core/error.js";
7
7
  export { AzureOpenAI } from "./azure.js";
8
+ export { BedrockOpenAI, type BedrockClientOptions } from "./bedrock.js";
8
9
  //# sourceMappingURL=index.d.ts.map
package/index.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,oBAAiB;AAE7C,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,EAAE,0BAAuB;AACzD,OAAO,EAAE,UAAU,EAAE,8BAA2B;AAChD,OAAO,EAAE,MAAM,EAAE,KAAK,aAAa,EAAE,oBAAiB;AACtD,OAAO,EAAE,WAAW,EAAE,6BAA0B;AAChD,OAAO,EACL,WAAW,EACX,QAAQ,EACR,kBAAkB,EAClB,yBAAyB,EACzB,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,wBAAwB,EACxB,4BAA4B,EAC5B,UAAU,EACV,yBAAyB,GAC1B,wBAAqB;AAEtB,OAAO,EAAE,WAAW,EAAE,mBAAgB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,oBAAiB;AAE7C,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,EAAE,0BAAuB;AACzD,OAAO,EAAE,UAAU,EAAE,8BAA2B;AAChD,OAAO,EAAE,MAAM,EAAE,KAAK,aAAa,EAAE,oBAAiB;AACtD,OAAO,EAAE,WAAW,EAAE,6BAA0B;AAChD,OAAO,EACL,WAAW,EACX,QAAQ,EACR,kBAAkB,EAClB,yBAAyB,EACzB,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,wBAAwB,EACxB,4BAA4B,EAC5B,UAAU,EACV,yBAAyB,GAC1B,wBAAqB;AAEtB,OAAO,EAAE,WAAW,EAAE,mBAAgB;AACtC,OAAO,EAAE,aAAa,EAAE,KAAK,oBAAoB,EAAE,qBAAkB"}
package/index.js CHANGED
@@ -4,7 +4,7 @@ exports = module.exports = function (...args) {
4
4
  return new exports.default(...args)
5
5
  }
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.AzureOpenAI = exports.SubjectTokenProviderError = exports.OAuthError = exports.InvalidWebhookSignatureError = exports.UnprocessableEntityError = exports.PermissionDeniedError = exports.InternalServerError = exports.AuthenticationError = exports.BadRequestError = exports.RateLimitError = exports.ConflictError = exports.NotFoundError = exports.APIUserAbortError = exports.APIConnectionTimeoutError = exports.APIConnectionError = exports.APIError = exports.OpenAIError = exports.PagePromise = exports.OpenAI = exports.APIPromise = exports.toFile = exports.default = void 0;
7
+ exports.BedrockOpenAI = exports.AzureOpenAI = exports.SubjectTokenProviderError = exports.OAuthError = exports.InvalidWebhookSignatureError = exports.UnprocessableEntityError = exports.PermissionDeniedError = exports.InternalServerError = exports.AuthenticationError = exports.BadRequestError = exports.RateLimitError = exports.ConflictError = exports.NotFoundError = exports.APIUserAbortError = exports.APIConnectionTimeoutError = exports.APIConnectionError = exports.APIError = exports.OpenAIError = exports.PagePromise = exports.OpenAI = exports.APIPromise = exports.toFile = exports.default = void 0;
8
8
  var client_1 = require("./client.js");
9
9
  Object.defineProperty(exports, "default", { enumerable: true, get: function () { return client_1.OpenAI; } });
10
10
  var uploads_1 = require("./core/uploads.js");
@@ -34,4 +34,6 @@ Object.defineProperty(exports, "OAuthError", { enumerable: true, get: function (
34
34
  Object.defineProperty(exports, "SubjectTokenProviderError", { enumerable: true, get: function () { return error_1.SubjectTokenProviderError; } });
35
35
  var azure_1 = require("./azure.js");
36
36
  Object.defineProperty(exports, "AzureOpenAI", { enumerable: true, get: function () { return azure_1.AzureOpenAI; } });
37
+ var bedrock_1 = require("./bedrock.js");
38
+ Object.defineProperty(exports, "BedrockOpenAI", { enumerable: true, get: function () { return bedrock_1.BedrockOpenAI; } });
37
39
  //# sourceMappingURL=index.js.map
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":";AAAA,sFAAsF;;;AAEtF,sCAA6C;AAApC,iGAAA,MAAM,OAAW;AAE1B,6CAAyD;AAA/B,iGAAA,MAAM,OAAA;AAChC,qDAAgD;AAAvC,yGAAA,UAAU,OAAA;AACnB,sCAAsD;AAA7C,gGAAA,MAAM,OAAA;AACf,mDAAgD;AAAvC,yGAAA,WAAW,OAAA;AACpB,yCAiBsB;AAhBpB,oGAAA,WAAW,OAAA;AACX,iGAAA,QAAQ,OAAA;AACR,2GAAA,kBAAkB,OAAA;AAClB,kHAAA,yBAAyB,OAAA;AACzB,0GAAA,iBAAiB,OAAA;AACjB,sGAAA,aAAa,OAAA;AACb,sGAAA,aAAa,OAAA;AACb,uGAAA,cAAc,OAAA;AACd,wGAAA,eAAe,OAAA;AACf,4GAAA,mBAAmB,OAAA;AACnB,4GAAA,mBAAmB,OAAA;AACnB,8GAAA,qBAAqB,OAAA;AACrB,iHAAA,wBAAwB,OAAA;AACxB,qHAAA,4BAA4B,OAAA;AAC5B,mGAAA,UAAU,OAAA;AACV,kHAAA,yBAAyB,OAAA;AAG3B,oCAAsC;AAA7B,oGAAA,WAAW,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":";AAAA,sFAAsF;;;AAEtF,sCAA6C;AAApC,iGAAA,MAAM,OAAW;AAE1B,6CAAyD;AAA/B,iGAAA,MAAM,OAAA;AAChC,qDAAgD;AAAvC,yGAAA,UAAU,OAAA;AACnB,sCAAsD;AAA7C,gGAAA,MAAM,OAAA;AACf,mDAAgD;AAAvC,yGAAA,WAAW,OAAA;AACpB,yCAiBsB;AAhBpB,oGAAA,WAAW,OAAA;AACX,iGAAA,QAAQ,OAAA;AACR,2GAAA,kBAAkB,OAAA;AAClB,kHAAA,yBAAyB,OAAA;AACzB,0GAAA,iBAAiB,OAAA;AACjB,sGAAA,aAAa,OAAA;AACb,sGAAA,aAAa,OAAA;AACb,uGAAA,cAAc,OAAA;AACd,wGAAA,eAAe,OAAA;AACf,4GAAA,mBAAmB,OAAA;AACnB,4GAAA,mBAAmB,OAAA;AACnB,8GAAA,qBAAqB,OAAA;AACrB,iHAAA,wBAAwB,OAAA;AACxB,qHAAA,4BAA4B,OAAA;AAC5B,mGAAA,UAAU,OAAA;AACV,kHAAA,yBAAyB,OAAA;AAG3B,oCAAsC;AAA7B,oGAAA,WAAW,OAAA;AACpB,wCAAqE;AAA5D,wGAAA,aAAa,OAAA"}
package/index.mjs CHANGED
@@ -6,4 +6,5 @@ export { OpenAI } from "./client.mjs";
6
6
  export { PagePromise } from "./core/pagination.mjs";
7
7
  export { OpenAIError, APIError, APIConnectionError, APIConnectionTimeoutError, APIUserAbortError, NotFoundError, ConflictError, RateLimitError, BadRequestError, AuthenticationError, InternalServerError, PermissionDeniedError, UnprocessableEntityError, InvalidWebhookSignatureError, OAuthError, SubjectTokenProviderError, } from "./core/error.mjs";
8
8
  export { AzureOpenAI } from "./azure.mjs";
9
+ export { BedrockOpenAI } from "./bedrock.mjs";
9
10
  //# sourceMappingURL=index.mjs.map
package/index.mjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":"AAAA,sFAAsF;AAEtF,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,qBAAiB;AAE7C,OAAO,EAAmB,MAAM,EAAE,2BAAuB;AACzD,OAAO,EAAE,UAAU,EAAE,+BAA2B;AAChD,OAAO,EAAE,MAAM,EAAsB,qBAAiB;AACtD,OAAO,EAAE,WAAW,EAAE,8BAA0B;AAChD,OAAO,EACL,WAAW,EACX,QAAQ,EACR,kBAAkB,EAClB,yBAAyB,EACzB,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,wBAAwB,EACxB,4BAA4B,EAC5B,UAAU,EACV,yBAAyB,GAC1B,yBAAqB;AAEtB,OAAO,EAAE,WAAW,EAAE,oBAAgB"}
1
+ {"version":3,"file":"index.mjs","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":"AAAA,sFAAsF;AAEtF,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,qBAAiB;AAE7C,OAAO,EAAmB,MAAM,EAAE,2BAAuB;AACzD,OAAO,EAAE,UAAU,EAAE,+BAA2B;AAChD,OAAO,EAAE,MAAM,EAAsB,qBAAiB;AACtD,OAAO,EAAE,WAAW,EAAE,8BAA0B;AAChD,OAAO,EACL,WAAW,EACX,QAAQ,EACR,kBAAkB,EAClB,yBAAyB,EACzB,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,wBAAwB,EACxB,4BAA4B,EAC5B,UAAU,EACV,yBAAyB,GAC1B,yBAAqB;AAEtB,OAAO,EAAE,WAAW,EAAE,oBAAgB;AACtC,OAAO,EAAE,aAAa,EAA6B,sBAAkB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openai",
3
- "version": "6.39.1",
3
+ "version": "6.41.0",
4
4
  "description": "The official TypeScript library for the OpenAI API",
5
5
  "author": "OpenAI <support@openai.com>",
6
6
  "types": "./index.d.ts",
@@ -25,9 +25,6 @@
25
25
  "fix": "./scripts/format"
26
26
  },
27
27
  "dependencies": {},
28
- "bin": {
29
- "openai": "bin/cli"
30
- },
31
28
  "overrides": {
32
29
  "minimatch": "^9.0.5"
33
30
  },
@@ -88,6 +85,16 @@
88
85
  "./azure.mjs": {
89
86
  "default": "./azure.mjs"
90
87
  },
88
+ "./bedrock": {
89
+ "import": "./bedrock.mjs",
90
+ "require": "./bedrock.js"
91
+ },
92
+ "./bedrock.js": {
93
+ "default": "./bedrock.js"
94
+ },
95
+ "./bedrock.mjs": {
96
+ "default": "./bedrock.mjs"
97
+ },
91
98
  "./beta/*.mjs": {
92
99
  "default": "./beta/*.mjs"
93
100
  },