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.
- package/CHANGELOG.md +21 -0
- package/README.md +33 -0
- package/bedrock.d.mts +58 -0
- package/bedrock.d.mts.map +1 -0
- package/bedrock.d.ts +58 -0
- package/bedrock.d.ts.map +1 -0
- package/bedrock.js +105 -0
- package/bedrock.js.map +1 -0
- package/bedrock.mjs +100 -0
- package/bedrock.mjs.map +1 -0
- package/index.d.mts +1 -0
- package/index.d.mts.map +1 -1
- package/index.d.ts +1 -0
- package/index.d.ts.map +1 -1
- package/index.js +3 -1
- package/index.js.map +1 -1
- package/index.mjs +1 -0
- package/index.mjs.map +1 -1
- package/package.json +11 -4
- package/resources/admin/organization/audit-logs.d.mts +120 -2
- package/resources/admin/organization/audit-logs.d.mts.map +1 -1
- package/resources/admin/organization/audit-logs.d.ts +120 -2
- package/resources/admin/organization/audit-logs.d.ts.map +1 -1
- package/resources/chat/completions/completions.d.mts +8 -0
- package/resources/chat/completions/completions.d.mts.map +1 -1
- package/resources/chat/completions/completions.d.ts +8 -0
- package/resources/chat/completions/completions.d.ts.map +1 -1
- package/resources/chat/completions/completions.js.map +1 -1
- package/resources/chat/completions/completions.mjs.map +1 -1
- package/resources/conversations/items.d.mts +19 -1
- package/resources/conversations/items.d.mts.map +1 -1
- package/resources/conversations/items.d.ts +19 -1
- package/resources/conversations/items.d.ts.map +1 -1
- package/resources/responses/input-tokens.d.mts +6 -0
- package/resources/responses/input-tokens.d.mts.map +1 -1
- package/resources/responses/input-tokens.d.ts +6 -0
- package/resources/responses/input-tokens.d.ts.map +1 -1
- package/resources/responses/responses.d.mts +86 -8
- package/resources/responses/responses.d.mts.map +1 -1
- package/resources/responses/responses.d.ts +86 -8
- package/resources/responses/responses.d.ts.map +1 -1
- package/resources/responses/responses.js.map +1 -1
- package/resources/responses/responses.mjs.map +1 -1
- package/src/bedrock.ts +191 -0
- package/src/index.ts +1 -0
- package/src/resources/admin/organization/audit-logs.ts +152 -0
- package/src/resources/chat/completions/completions.ts +8 -0
- package/src/resources/conversations/items.ts +23 -0
- package/src/resources/responses/input-tokens.ts +7 -0
- package/src/resources/responses/responses.ts +99 -5
- package/src/version.ts +1 -1
- package/version.d.mts +1 -1
- package/version.d.ts +1 -1
- package/version.js +1 -1
- package/version.mjs +1 -1
- package/bin/cli +0 -52
- 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
|
package/bedrock.d.ts.map
ADDED
|
@@ -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
|
package/bedrock.mjs.map
ADDED
|
@@ -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.
|
|
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
|
},
|