openai 7.7.0 → 7.8.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 +18 -0
- package/README.md +15 -30
- package/auth/index.d.mts +1 -1
- package/auth/index.d.mts.map +1 -1
- package/auth/index.d.ts +1 -1
- package/auth/index.d.ts.map +1 -1
- package/auth/index.js.map +1 -1
- package/auth/index.mjs.map +1 -1
- package/auth/types.d.mts +9 -4
- package/auth/types.d.mts.map +1 -1
- package/auth/types.d.ts +9 -4
- package/auth/types.d.ts.map +1 -1
- package/auth/workload-identity-auth.d.mts +1 -1
- package/auth/workload-identity-auth.d.mts.map +1 -1
- package/auth/workload-identity-auth.d.ts +1 -1
- package/auth/workload-identity-auth.d.ts.map +1 -1
- package/auth/workload-identity-auth.js +23 -6
- package/auth/workload-identity-auth.js.map +1 -1
- package/auth/workload-identity-auth.mjs +23 -6
- package/auth/workload-identity-auth.mjs.map +1 -1
- package/auth/x509-transport.d.mts +36 -1
- package/auth/x509-transport.d.mts.map +1 -1
- package/auth/x509-transport.d.ts +36 -1
- package/auth/x509-transport.d.ts.map +1 -1
- package/auth/x509-transport.js +223 -0
- package/auth/x509-transport.js.map +1 -1
- package/auth/x509-transport.mjs +222 -1
- package/auth/x509-transport.mjs.map +1 -1
- package/azure.d.mts +3 -1
- package/azure.d.mts.map +1 -1
- package/azure.d.ts +3 -1
- package/azure.d.ts.map +1 -1
- package/azure.js.map +1 -1
- package/azure.mjs.map +1 -1
- package/bedrock.d.mts +3 -1
- package/bedrock.d.mts.map +1 -1
- package/bedrock.d.ts +3 -1
- package/bedrock.d.ts.map +1 -1
- package/bedrock.js.map +1 -1
- package/bedrock.mjs.map +1 -1
- package/beta/realtime/ws.d.mts.map +1 -1
- package/beta/realtime/ws.d.ts.map +1 -1
- package/beta/realtime/ws.js +2 -0
- package/beta/realtime/ws.js.map +1 -1
- package/beta/realtime/ws.mjs +2 -0
- package/beta/realtime/ws.mjs.map +1 -1
- package/client.d.mts +3 -1
- package/client.d.mts.map +1 -1
- package/client.d.ts +3 -1
- package/client.d.ts.map +1 -1
- package/client.js +30 -37
- package/client.js.map +1 -1
- package/client.mjs +31 -38
- package/client.mjs.map +1 -1
- package/core/EventEmitter.d.mts.map +1 -1
- package/core/EventEmitter.d.ts.map +1 -1
- package/core/EventEmitter.js +14 -1
- package/core/EventEmitter.js.map +1 -1
- package/core/EventEmitter.mjs +14 -1
- package/core/EventEmitter.mjs.map +1 -1
- package/internal/auth/x509-api-origin.d.mts +5 -0
- package/internal/auth/x509-api-origin.d.mts.map +1 -0
- package/internal/auth/x509-api-origin.d.ts +5 -0
- package/internal/auth/x509-api-origin.d.ts.map +1 -0
- package/internal/auth/x509-api-origin.js +28 -0
- package/internal/auth/x509-api-origin.js.map +1 -0
- package/internal/auth/x509-api-origin.mjs +24 -0
- package/internal/auth/x509-api-origin.mjs.map +1 -0
- package/internal/auth/x509-credential-options.d.mts +13 -0
- package/internal/auth/x509-credential-options.d.mts.map +1 -0
- package/internal/auth/x509-credential-options.d.ts +13 -0
- package/internal/auth/x509-credential-options.d.ts.map +1 -0
- package/internal/auth/x509-credential-options.js +122 -0
- package/internal/auth/x509-credential-options.js.map +1 -0
- package/internal/auth/x509-credential-options.mjs +118 -0
- package/internal/auth/x509-credential-options.mjs.map +1 -0
- package/internal/auth/x509-token-exchange.mjs +1 -1
- package/internal/auth/x509-transport-capability.d.mts +12 -5
- package/internal/auth/x509-transport-capability.d.mts.map +1 -1
- package/internal/auth/x509-transport-capability.d.ts +12 -5
- package/internal/auth/x509-transport-capability.d.ts.map +1 -1
- package/internal/auth/x509-transport-capability.js +5 -4
- package/internal/auth/x509-transport-capability.js.map +1 -1
- package/internal/auth/x509-transport-capability.mjs +6 -5
- package/internal/auth/x509-transport-capability.mjs.map +1 -1
- package/internal/auth/x509-transport-registry.d.mts +8 -0
- package/internal/auth/x509-transport-registry.d.mts.map +1 -1
- package/internal/auth/x509-transport-registry.d.ts +8 -0
- package/internal/auth/x509-transport-registry.d.ts.map +1 -1
- package/internal/auth/x509-transport-registry.js.map +1 -1
- package/internal/auth/x509-transport-registry.mjs +1 -1
- package/internal/auth/x509-transport-registry.mjs.map +1 -1
- package/internal/auth/x509-transport-state-browser.d.mts +4 -0
- package/internal/auth/x509-transport-state-browser.d.mts.map +1 -1
- package/internal/auth/x509-transport-state-browser.d.ts +4 -0
- package/internal/auth/x509-transport-state-browser.d.ts.map +1 -1
- package/internal/auth/x509-transport-state-browser.js +6 -1
- package/internal/auth/x509-transport-state-browser.js.map +1 -1
- package/internal/auth/x509-transport-state-browser.mjs +5 -0
- package/internal/auth/x509-transport-state-browser.mjs.map +1 -1
- package/internal/auth/x509-transport-state.cjs +6 -1
- package/internal/auth/x509-transport-state.cjs.map +1 -1
- package/internal/auth/x509-transport-state.d.cts +4 -0
- package/internal/auth/x509-transport-state.d.cts.map +1 -1
- package/internal/auth/x509-transport-state.js +36 -0
- package/internal/auth/x509-transport-state.mjs +19 -0
- package/internal/auth/x509-workload-identity-auth.d.mts +2 -4
- package/internal/auth/x509-workload-identity-auth.d.mts.map +1 -1
- package/internal/auth/x509-workload-identity-auth.d.ts +2 -4
- package/internal/auth/x509-workload-identity-auth.d.ts.map +1 -1
- package/internal/auth/x509-workload-identity-auth.js +43 -34
- package/internal/auth/x509-workload-identity-auth.js.map +1 -1
- package/internal/auth/x509-workload-identity-auth.mjs +40 -30
- package/internal/auth/x509-workload-identity-auth.mjs.map +1 -1
- package/internal/uploads.js +4 -2
- package/internal/uploads.js.map +1 -1
- package/internal/uploads.mjs +4 -2
- package/internal/uploads.mjs.map +1 -1
- package/internal/utils/log.d.mts +6 -0
- package/internal/utils/log.d.mts.map +1 -1
- package/internal/utils/log.d.ts +6 -0
- package/internal/utils/log.d.ts.map +1 -1
- package/internal/utils/log.js +72 -11
- package/internal/utils/log.js.map +1 -1
- package/internal/utils/log.mjs +69 -11
- package/internal/utils/log.mjs.map +1 -1
- package/lib/EventEmitter.d.mts.map +1 -1
- package/lib/EventEmitter.d.ts.map +1 -1
- package/lib/EventEmitter.js +14 -1
- package/lib/EventEmitter.js.map +1 -1
- package/lib/EventEmitter.mjs +14 -1
- package/lib/EventEmitter.mjs.map +1 -1
- package/package.json +5 -5
- package/realtime/ws.d.mts.map +1 -1
- package/realtime/ws.d.ts.map +1 -1
- package/realtime/ws.js +2 -0
- package/realtime/ws.js.map +1 -1
- package/realtime/ws.mjs +2 -0
- package/realtime/ws.mjs.map +1 -1
- package/resources/admin/organization/audit-logs.d.mts +2 -2
- package/resources/admin/organization/audit-logs.d.mts.map +1 -1
- package/resources/admin/organization/audit-logs.d.ts +2 -2
- package/resources/admin/organization/audit-logs.d.ts.map +1 -1
- package/resources/beta/responses/responses.d.mts +4 -0
- package/resources/beta/responses/responses.d.mts.map +1 -1
- package/resources/beta/responses/responses.d.ts +4 -0
- package/resources/beta/responses/responses.d.ts.map +1 -1
- package/resources/beta/responses/responses.js.map +1 -1
- package/resources/beta/responses/responses.mjs.map +1 -1
- package/resources/beta/responses/ws.d.mts.map +1 -1
- package/resources/beta/responses/ws.d.ts.map +1 -1
- package/resources/beta/responses/ws.js +2 -0
- package/resources/beta/responses/ws.js.map +1 -1
- package/resources/beta/responses/ws.mjs +2 -0
- package/resources/beta/responses/ws.mjs.map +1 -1
- package/resources/completions.d.mts +4 -0
- package/resources/completions.d.mts.map +1 -1
- package/resources/completions.d.ts +4 -0
- package/resources/completions.d.ts.map +1 -1
- package/resources/responses/responses.d.mts +4 -0
- package/resources/responses/responses.d.mts.map +1 -1
- package/resources/responses/responses.d.ts +4 -0
- 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/resources/responses/ws.d.mts.map +1 -1
- package/resources/responses/ws.d.ts.map +1 -1
- package/resources/responses/ws.js +2 -0
- package/resources/responses/ws.js.map +1 -1
- package/resources/responses/ws.mjs +2 -0
- package/resources/responses/ws.mjs.map +1 -1
- package/src/_vendor/partial-json-parser/LICENSE +21 -0
- package/src/_vendor/partial-json-parser/README.md +11 -1
- package/src/auth/index.ts +1 -0
- package/src/auth/types.ts +10 -4
- package/src/auth/workload-identity-auth.ts +30 -6
- package/src/auth/x509-transport.ts +311 -2
- package/src/azure.ts +4 -1
- package/src/bedrock.ts +4 -1
- package/src/beta/realtime/ws.ts +2 -0
- package/src/client.ts +39 -34
- package/src/core/EventEmitter.ts +13 -1
- package/src/internal/auth/x509-api-origin.ts +27 -0
- package/src/internal/auth/x509-credential-options.ts +146 -0
- package/src/internal/auth/x509-transport-capability.ts +12 -5
- package/src/internal/auth/x509-transport-registry.ts +9 -0
- package/src/internal/auth/x509-transport-state-browser.ts +7 -0
- package/src/internal/auth/x509-transport-state.cts +7 -0
- package/src/internal/auth/x509-workload-identity-auth.ts +42 -33
- package/src/internal/uploads.ts +4 -2
- package/src/internal/utils/log.ts +76 -11
- package/src/lib/EventEmitter.ts +13 -1
- package/src/realtime/ws.ts +2 -0
- package/src/resources/admin/organization/audit-logs.ts +4 -0
- package/src/resources/beta/responses/responses.ts +5 -0
- package/src/resources/beta/responses/ws.ts +3 -0
- package/src/resources/completions.ts +5 -0
- package/src/resources/responses/responses.ts +5 -0
- package/src/resources/responses/ws.ts +3 -0
- 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/auth/x509-transport.js
CHANGED
|
@@ -1,12 +1,198 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var _OwnedX509Credential_dispatcher, _OwnedX509Credential_closing;
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.workloadIdentity = void 0;
|
|
3
5
|
exports.createX509Transport = createX509Transport;
|
|
6
|
+
exports.fromX509 = fromX509;
|
|
7
|
+
const tslib_1 = require("../internal/tslib.js");
|
|
4
8
|
const node_async_hooks_1 = require("node:async_hooks");
|
|
9
|
+
const node_crypto_1 = require("node:crypto");
|
|
5
10
|
const promises_1 = require("node:timers/promises");
|
|
11
|
+
const node_util_1 = require("node:util");
|
|
12
|
+
const undici_1 = require("undici");
|
|
6
13
|
const x509_transport_capability_1 = require("../internal/auth/x509-transport-capability.js");
|
|
7
14
|
const x509_token_exchange_1 = require("../internal/auth/x509-token-exchange.js");
|
|
8
15
|
const x509_transport_registry_1 = require("../internal/auth/x509-transport-registry.js");
|
|
9
16
|
const _x509_transport_state_1 = require("#x509-transport-state");
|
|
17
|
+
const credentialOptionNames = new Set([
|
|
18
|
+
'certificateChain',
|
|
19
|
+
'privateKey',
|
|
20
|
+
'identityProviderId',
|
|
21
|
+
'serviceAccountId',
|
|
22
|
+
'ca',
|
|
23
|
+
'passphrase',
|
|
24
|
+
'proxy',
|
|
25
|
+
'refreshBufferSeconds',
|
|
26
|
+
]);
|
|
27
|
+
const proxyOptionNames = new Set(['url', 'mode', 'ca']);
|
|
28
|
+
function safeOptionRecord(value, allowed, label) {
|
|
29
|
+
if (!value || typeof value !== 'object' || node_util_1.types.isProxy(value)) {
|
|
30
|
+
throw new Error(`X.509 ${label} options must be a non-proxy object.`);
|
|
31
|
+
}
|
|
32
|
+
const prototype = Object.getPrototypeOf(value);
|
|
33
|
+
if (prototype !== Object.prototype && prototype !== null) {
|
|
34
|
+
throw new Error(`X.509 ${label} options must have only own plain data properties.`);
|
|
35
|
+
}
|
|
36
|
+
const snapshot = Object.create(null);
|
|
37
|
+
for (const name of Reflect.ownKeys(value)) {
|
|
38
|
+
if (typeof name !== 'string' || !allowed.has(name)) {
|
|
39
|
+
throw new Error(`Unsupported X.509 ${label} option: \`${String(name)}\`.`);
|
|
40
|
+
}
|
|
41
|
+
const descriptor = Object.getOwnPropertyDescriptor(value, name);
|
|
42
|
+
if (!descriptor || !('value' in descriptor)) {
|
|
43
|
+
throw new Error(`X.509 ${label} option \`${name}\` must be a plain data property.`);
|
|
44
|
+
}
|
|
45
|
+
snapshot[name] = descriptor.value;
|
|
46
|
+
}
|
|
47
|
+
return snapshot;
|
|
48
|
+
}
|
|
49
|
+
function requiredCredentialValue(options, name) {
|
|
50
|
+
const value = options[name];
|
|
51
|
+
if (typeof value !== 'string' || value.trim().length === 0) {
|
|
52
|
+
throw new Error(`X.509 credential requires a nonempty own \`${name}\` value.`);
|
|
53
|
+
}
|
|
54
|
+
return value;
|
|
55
|
+
}
|
|
56
|
+
function snapshotCertificateAuthorities(value) {
|
|
57
|
+
if (value === undefined) {
|
|
58
|
+
return undefined;
|
|
59
|
+
}
|
|
60
|
+
if (typeof value === 'string') {
|
|
61
|
+
if (value.trim().length === 0) {
|
|
62
|
+
throw new Error('X.509 certificate authorities must contain nonempty PEM values.');
|
|
63
|
+
}
|
|
64
|
+
return value;
|
|
65
|
+
}
|
|
66
|
+
if (!Array.isArray(value) || node_util_1.types.isProxy(value) || value.length === 0) {
|
|
67
|
+
throw new Error('X.509 certificate authorities must be a PEM string or plain PEM string array.');
|
|
68
|
+
}
|
|
69
|
+
const authorities = [];
|
|
70
|
+
for (let index = 0; index < value.length; index += 1) {
|
|
71
|
+
const entry = Object.getOwnPropertyDescriptor(value, String(index));
|
|
72
|
+
if (!entry || !('value' in entry) || typeof entry.value !== 'string' || entry.value.trim().length === 0) {
|
|
73
|
+
throw new Error('X.509 certificate authorities require own plain nonempty PEM strings.');
|
|
74
|
+
}
|
|
75
|
+
authorities.push(entry.value);
|
|
76
|
+
}
|
|
77
|
+
return authorities;
|
|
78
|
+
}
|
|
79
|
+
class OwnedX509Credential {
|
|
80
|
+
constructor(dispatcher) {
|
|
81
|
+
_OwnedX509Credential_dispatcher.set(this, void 0);
|
|
82
|
+
_OwnedX509Credential_closing.set(this, void 0);
|
|
83
|
+
tslib_1.__classPrivateFieldSet(this, _OwnedX509Credential_dispatcher, dispatcher, "f");
|
|
84
|
+
Object.freeze(this);
|
|
85
|
+
}
|
|
86
|
+
/** Closes this credential's owned transport once all in-flight requests have drained. */
|
|
87
|
+
close() {
|
|
88
|
+
tslib_1.__classPrivateFieldSet(this, _OwnedX509Credential_closing, tslib_1.__classPrivateFieldGet(this, _OwnedX509Credential_closing, "f") ?? tslib_1.__classPrivateFieldGet(this, _OwnedX509Credential_dispatcher, "f").close(), "f");
|
|
89
|
+
return tslib_1.__classPrivateFieldGet(this, _OwnedX509Credential_closing, "f");
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
_OwnedX509Credential_dispatcher = new WeakMap(), _OwnedX509Credential_closing = new WeakMap();
|
|
93
|
+
function validatedCredentialOptions(options) {
|
|
94
|
+
const configured = safeOptionRecord(options, credentialOptionNames, 'credential');
|
|
95
|
+
const certificateChain = requiredCredentialValue(configured, 'certificateChain');
|
|
96
|
+
const privateKeyPEM = requiredCredentialValue(configured, 'privateKey');
|
|
97
|
+
const identityProviderId = requiredCredentialValue(configured, 'identityProviderId');
|
|
98
|
+
const serviceAccountId = requiredCredentialValue(configured, 'serviceAccountId');
|
|
99
|
+
const { refreshBufferSeconds, passphrase } = configured;
|
|
100
|
+
if (passphrase !== undefined && typeof passphrase !== 'string') {
|
|
101
|
+
throw new Error('X.509 credential requires a string private-key passphrase.');
|
|
102
|
+
}
|
|
103
|
+
if (refreshBufferSeconds !== undefined &&
|
|
104
|
+
(typeof refreshBufferSeconds !== 'number' ||
|
|
105
|
+
!Number.isSafeInteger(refreshBufferSeconds) ||
|
|
106
|
+
refreshBufferSeconds < 0 ||
|
|
107
|
+
!Number.isSafeInteger(refreshBufferSeconds * 1000))) {
|
|
108
|
+
throw new Error('X.509 credential requires a nonnegative integer refreshBufferSeconds.');
|
|
109
|
+
}
|
|
110
|
+
const ca = snapshotCertificateAuthorities(configured['ca']);
|
|
111
|
+
const leaf = new node_crypto_1.X509Certificate(certificateChain);
|
|
112
|
+
const privateKey = (0, node_crypto_1.createPrivateKey)({
|
|
113
|
+
key: privateKeyPEM,
|
|
114
|
+
...(passphrase === undefined ? {} : { passphrase }),
|
|
115
|
+
});
|
|
116
|
+
if (!leaf.checkPrivateKey(privateKey)) {
|
|
117
|
+
throw new Error('X.509 credential private key must match its leaf client certificate.');
|
|
118
|
+
}
|
|
119
|
+
return {
|
|
120
|
+
certificateChain,
|
|
121
|
+
privateKey: privateKeyPEM,
|
|
122
|
+
identityProviderId,
|
|
123
|
+
serviceAccountId,
|
|
124
|
+
refreshBufferSeconds,
|
|
125
|
+
passphrase,
|
|
126
|
+
ca,
|
|
127
|
+
proxy: configured['proxy'],
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
function proxyAuthentication(url) {
|
|
131
|
+
if (url.username === '' && url.password === '') {
|
|
132
|
+
return undefined;
|
|
133
|
+
}
|
|
134
|
+
let username;
|
|
135
|
+
let password;
|
|
136
|
+
try {
|
|
137
|
+
username = decodeURIComponent(url.username);
|
|
138
|
+
password = decodeURIComponent(url.password);
|
|
139
|
+
}
|
|
140
|
+
catch {
|
|
141
|
+
throw new Error('X.509 CONNECT proxy credentials contain invalid URL encoding.');
|
|
142
|
+
}
|
|
143
|
+
if (username.includes(':')) {
|
|
144
|
+
throw new Error('X.509 CONNECT proxy username cannot contain a colon.');
|
|
145
|
+
}
|
|
146
|
+
return Buffer.from(`${username}:${password}`, 'utf-8').toString('base64');
|
|
147
|
+
}
|
|
148
|
+
function normalizeProxyURL(value) {
|
|
149
|
+
if (typeof value !== 'string' && (typeof value !== 'object' || value === null || node_util_1.types.isProxy(value))) {
|
|
150
|
+
throw new Error('X.509 CONNECT proxy requires an own URL string or URL value.');
|
|
151
|
+
}
|
|
152
|
+
try {
|
|
153
|
+
return new URL(typeof value === 'string' ? value : URL.prototype.toString.call(value));
|
|
154
|
+
}
|
|
155
|
+
catch {
|
|
156
|
+
throw new Error('X.509 CONNECT proxy requires a valid proxy URL.');
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
function credentialDispatcher(proxyOptionsInput, requestTls) {
|
|
160
|
+
if (proxyOptionsInput === undefined) {
|
|
161
|
+
return { dispatcher: new undici_1.Agent({ connect: requestTls }), proxy: 'direct' };
|
|
162
|
+
}
|
|
163
|
+
const proxyOptions = safeOptionRecord(proxyOptionsInput, proxyOptionNames, 'proxy');
|
|
164
|
+
const url = normalizeProxyURL(proxyOptions['url']);
|
|
165
|
+
const selected = proxyOptions['mode'];
|
|
166
|
+
const proxy = selected === 'http-connect' || selected === 'https-connect' ? selected : 'direct';
|
|
167
|
+
if ((proxy !== 'http-connect' && proxy !== 'https-connect') ||
|
|
168
|
+
url.protocol !== (proxy === 'https-connect' ? 'https:' : 'http:') ||
|
|
169
|
+
url.pathname !== '/' ||
|
|
170
|
+
url.search ||
|
|
171
|
+
url.hash) {
|
|
172
|
+
throw new Error('X.509 CONNECT proxy URL protocol must match its selected secure proxy mode.');
|
|
173
|
+
}
|
|
174
|
+
const proxyCA = snapshotCertificateAuthorities(proxyOptions['ca']);
|
|
175
|
+
if (proxy === 'http-connect' && proxyCA !== undefined) {
|
|
176
|
+
throw new Error('A plaintext X.509 CONNECT proxy cannot configure proxy TLS authorities.');
|
|
177
|
+
}
|
|
178
|
+
const auth = proxyAuthentication(url);
|
|
179
|
+
return {
|
|
180
|
+
proxy,
|
|
181
|
+
dispatcher: new undici_1.ProxyAgent({
|
|
182
|
+
uri: url.href,
|
|
183
|
+
...(auth === undefined ? {} : { auth }),
|
|
184
|
+
requestTls,
|
|
185
|
+
...(proxy === 'https-connect'
|
|
186
|
+
? {
|
|
187
|
+
proxyTls: {
|
|
188
|
+
rejectUnauthorized: true,
|
|
189
|
+
...(proxyCA === undefined ? {} : { ca: proxyCA }),
|
|
190
|
+
},
|
|
191
|
+
}
|
|
192
|
+
: {}),
|
|
193
|
+
}),
|
|
194
|
+
};
|
|
195
|
+
}
|
|
10
196
|
/** Creates one frozen, caller-attested Node.js transport for X.509 workload authentication. */
|
|
11
197
|
function createX509Transport(options) {
|
|
12
198
|
const capability = (0, x509_transport_capability_1.createX509Transport)(options);
|
|
@@ -36,4 +222,41 @@ function createX509Transport(options) {
|
|
|
36
222
|
});
|
|
37
223
|
return capability;
|
|
38
224
|
}
|
|
225
|
+
/** Creates a first-class certificate credential with SDK-owned, verified TLS and CONNECT policy. */
|
|
226
|
+
function fromX509(options) {
|
|
227
|
+
const configured = validatedCredentialOptions(options);
|
|
228
|
+
const requestTls = {
|
|
229
|
+
cert: configured.certificateChain,
|
|
230
|
+
key: configured.privateKey,
|
|
231
|
+
rejectUnauthorized: true,
|
|
232
|
+
...(configured.passphrase === undefined ? {} : { passphrase: configured.passphrase }),
|
|
233
|
+
...(configured.ca === undefined ? {} : { ca: configured.ca }),
|
|
234
|
+
};
|
|
235
|
+
const { dispatcher, proxy } = credentialDispatcher(configured.proxy, requestTls);
|
|
236
|
+
try {
|
|
237
|
+
const transport = createX509Transport({
|
|
238
|
+
runtime: 'node',
|
|
239
|
+
dispatcher,
|
|
240
|
+
certificateIdentity: 'static',
|
|
241
|
+
proxy,
|
|
242
|
+
});
|
|
243
|
+
const identity = Object.freeze({
|
|
244
|
+
type: 'x509',
|
|
245
|
+
identityProviderId: configured.identityProviderId,
|
|
246
|
+
serviceAccountId: configured.serviceAccountId,
|
|
247
|
+
...(configured.refreshBufferSeconds === undefined
|
|
248
|
+
? {}
|
|
249
|
+
: { refreshBufferSeconds: configured.refreshBufferSeconds }),
|
|
250
|
+
});
|
|
251
|
+
const credential = new OwnedX509Credential(dispatcher);
|
|
252
|
+
(0, _x509_transport_state_1.rememberX509Credential)(credential, Object.freeze({ identity, transport }));
|
|
253
|
+
return credential;
|
|
254
|
+
}
|
|
255
|
+
catch (error) {
|
|
256
|
+
void dispatcher.close();
|
|
257
|
+
throw error;
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
/** Namespaced first-class credential factory, isolated from ordinary browser-safe auth imports. */
|
|
261
|
+
exports.workloadIdentity = Object.freeze({ fromX509 });
|
|
39
262
|
//# sourceMappingURL=x509-transport.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"x509-transport.js","sourceRoot":"","sources":["../src/auth/x509-transport.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"x509-transport.js","sourceRoot":"","sources":["../src/auth/x509-transport.ts"],"names":[],"mappings":"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"}
|
package/auth/x509-transport.mjs
CHANGED
|
@@ -1,9 +1,193 @@
|
|
|
1
|
+
var _OwnedX509Credential_dispatcher, _OwnedX509Credential_closing;
|
|
2
|
+
import { __classPrivateFieldGet, __classPrivateFieldSet } from "../internal/tslib.mjs";
|
|
1
3
|
import { AsyncLocalStorage } from 'node:async_hooks';
|
|
4
|
+
import { createPrivateKey, X509Certificate } from 'node:crypto';
|
|
2
5
|
import { setTimeout as delay } from 'node:timers/promises';
|
|
6
|
+
import { types } from 'node:util';
|
|
7
|
+
import { Agent, ProxyAgent } from 'undici';
|
|
3
8
|
import { createX509Transport as createCapability, registerX509Transport, sendX509Request, } from "../internal/auth/x509-transport-capability.mjs";
|
|
4
9
|
import { exchangeX509Token } from "../internal/auth/x509-token-exchange.mjs";
|
|
5
10
|
import { isRetryableX509TransportFailure } from "../internal/auth/x509-transport-registry.mjs";
|
|
6
|
-
import { markTransientX509ConnectionError } from '
|
|
11
|
+
import { markTransientX509ConnectionError, rememberX509Credential } from '../internal/auth/x509-transport-state.mjs';
|
|
12
|
+
const credentialOptionNames = new Set([
|
|
13
|
+
'certificateChain',
|
|
14
|
+
'privateKey',
|
|
15
|
+
'identityProviderId',
|
|
16
|
+
'serviceAccountId',
|
|
17
|
+
'ca',
|
|
18
|
+
'passphrase',
|
|
19
|
+
'proxy',
|
|
20
|
+
'refreshBufferSeconds',
|
|
21
|
+
]);
|
|
22
|
+
const proxyOptionNames = new Set(['url', 'mode', 'ca']);
|
|
23
|
+
function safeOptionRecord(value, allowed, label) {
|
|
24
|
+
if (!value || typeof value !== 'object' || types.isProxy(value)) {
|
|
25
|
+
throw new Error(`X.509 ${label} options must be a non-proxy object.`);
|
|
26
|
+
}
|
|
27
|
+
const prototype = Object.getPrototypeOf(value);
|
|
28
|
+
if (prototype !== Object.prototype && prototype !== null) {
|
|
29
|
+
throw new Error(`X.509 ${label} options must have only own plain data properties.`);
|
|
30
|
+
}
|
|
31
|
+
const snapshot = Object.create(null);
|
|
32
|
+
for (const name of Reflect.ownKeys(value)) {
|
|
33
|
+
if (typeof name !== 'string' || !allowed.has(name)) {
|
|
34
|
+
throw new Error(`Unsupported X.509 ${label} option: \`${String(name)}\`.`);
|
|
35
|
+
}
|
|
36
|
+
const descriptor = Object.getOwnPropertyDescriptor(value, name);
|
|
37
|
+
if (!descriptor || !('value' in descriptor)) {
|
|
38
|
+
throw new Error(`X.509 ${label} option \`${name}\` must be a plain data property.`);
|
|
39
|
+
}
|
|
40
|
+
snapshot[name] = descriptor.value;
|
|
41
|
+
}
|
|
42
|
+
return snapshot;
|
|
43
|
+
}
|
|
44
|
+
function requiredCredentialValue(options, name) {
|
|
45
|
+
const value = options[name];
|
|
46
|
+
if (typeof value !== 'string' || value.trim().length === 0) {
|
|
47
|
+
throw new Error(`X.509 credential requires a nonempty own \`${name}\` value.`);
|
|
48
|
+
}
|
|
49
|
+
return value;
|
|
50
|
+
}
|
|
51
|
+
function snapshotCertificateAuthorities(value) {
|
|
52
|
+
if (value === undefined) {
|
|
53
|
+
return undefined;
|
|
54
|
+
}
|
|
55
|
+
if (typeof value === 'string') {
|
|
56
|
+
if (value.trim().length === 0) {
|
|
57
|
+
throw new Error('X.509 certificate authorities must contain nonempty PEM values.');
|
|
58
|
+
}
|
|
59
|
+
return value;
|
|
60
|
+
}
|
|
61
|
+
if (!Array.isArray(value) || types.isProxy(value) || value.length === 0) {
|
|
62
|
+
throw new Error('X.509 certificate authorities must be a PEM string or plain PEM string array.');
|
|
63
|
+
}
|
|
64
|
+
const authorities = [];
|
|
65
|
+
for (let index = 0; index < value.length; index += 1) {
|
|
66
|
+
const entry = Object.getOwnPropertyDescriptor(value, String(index));
|
|
67
|
+
if (!entry || !('value' in entry) || typeof entry.value !== 'string' || entry.value.trim().length === 0) {
|
|
68
|
+
throw new Error('X.509 certificate authorities require own plain nonempty PEM strings.');
|
|
69
|
+
}
|
|
70
|
+
authorities.push(entry.value);
|
|
71
|
+
}
|
|
72
|
+
return authorities;
|
|
73
|
+
}
|
|
74
|
+
class OwnedX509Credential {
|
|
75
|
+
constructor(dispatcher) {
|
|
76
|
+
_OwnedX509Credential_dispatcher.set(this, void 0);
|
|
77
|
+
_OwnedX509Credential_closing.set(this, void 0);
|
|
78
|
+
__classPrivateFieldSet(this, _OwnedX509Credential_dispatcher, dispatcher, "f");
|
|
79
|
+
Object.freeze(this);
|
|
80
|
+
}
|
|
81
|
+
/** Closes this credential's owned transport once all in-flight requests have drained. */
|
|
82
|
+
close() {
|
|
83
|
+
__classPrivateFieldSet(this, _OwnedX509Credential_closing, __classPrivateFieldGet(this, _OwnedX509Credential_closing, "f") ?? __classPrivateFieldGet(this, _OwnedX509Credential_dispatcher, "f").close(), "f");
|
|
84
|
+
return __classPrivateFieldGet(this, _OwnedX509Credential_closing, "f");
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
_OwnedX509Credential_dispatcher = new WeakMap(), _OwnedX509Credential_closing = new WeakMap();
|
|
88
|
+
function validatedCredentialOptions(options) {
|
|
89
|
+
const configured = safeOptionRecord(options, credentialOptionNames, 'credential');
|
|
90
|
+
const certificateChain = requiredCredentialValue(configured, 'certificateChain');
|
|
91
|
+
const privateKeyPEM = requiredCredentialValue(configured, 'privateKey');
|
|
92
|
+
const identityProviderId = requiredCredentialValue(configured, 'identityProviderId');
|
|
93
|
+
const serviceAccountId = requiredCredentialValue(configured, 'serviceAccountId');
|
|
94
|
+
const { refreshBufferSeconds, passphrase } = configured;
|
|
95
|
+
if (passphrase !== undefined && typeof passphrase !== 'string') {
|
|
96
|
+
throw new Error('X.509 credential requires a string private-key passphrase.');
|
|
97
|
+
}
|
|
98
|
+
if (refreshBufferSeconds !== undefined &&
|
|
99
|
+
(typeof refreshBufferSeconds !== 'number' ||
|
|
100
|
+
!Number.isSafeInteger(refreshBufferSeconds) ||
|
|
101
|
+
refreshBufferSeconds < 0 ||
|
|
102
|
+
!Number.isSafeInteger(refreshBufferSeconds * 1000))) {
|
|
103
|
+
throw new Error('X.509 credential requires a nonnegative integer refreshBufferSeconds.');
|
|
104
|
+
}
|
|
105
|
+
const ca = snapshotCertificateAuthorities(configured['ca']);
|
|
106
|
+
const leaf = new X509Certificate(certificateChain);
|
|
107
|
+
const privateKey = createPrivateKey({
|
|
108
|
+
key: privateKeyPEM,
|
|
109
|
+
...(passphrase === undefined ? {} : { passphrase }),
|
|
110
|
+
});
|
|
111
|
+
if (!leaf.checkPrivateKey(privateKey)) {
|
|
112
|
+
throw new Error('X.509 credential private key must match its leaf client certificate.');
|
|
113
|
+
}
|
|
114
|
+
return {
|
|
115
|
+
certificateChain,
|
|
116
|
+
privateKey: privateKeyPEM,
|
|
117
|
+
identityProviderId,
|
|
118
|
+
serviceAccountId,
|
|
119
|
+
refreshBufferSeconds,
|
|
120
|
+
passphrase,
|
|
121
|
+
ca,
|
|
122
|
+
proxy: configured['proxy'],
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
function proxyAuthentication(url) {
|
|
126
|
+
if (url.username === '' && url.password === '') {
|
|
127
|
+
return undefined;
|
|
128
|
+
}
|
|
129
|
+
let username;
|
|
130
|
+
let password;
|
|
131
|
+
try {
|
|
132
|
+
username = decodeURIComponent(url.username);
|
|
133
|
+
password = decodeURIComponent(url.password);
|
|
134
|
+
}
|
|
135
|
+
catch {
|
|
136
|
+
throw new Error('X.509 CONNECT proxy credentials contain invalid URL encoding.');
|
|
137
|
+
}
|
|
138
|
+
if (username.includes(':')) {
|
|
139
|
+
throw new Error('X.509 CONNECT proxy username cannot contain a colon.');
|
|
140
|
+
}
|
|
141
|
+
return Buffer.from(`${username}:${password}`, 'utf-8').toString('base64');
|
|
142
|
+
}
|
|
143
|
+
function normalizeProxyURL(value) {
|
|
144
|
+
if (typeof value !== 'string' && (typeof value !== 'object' || value === null || types.isProxy(value))) {
|
|
145
|
+
throw new Error('X.509 CONNECT proxy requires an own URL string or URL value.');
|
|
146
|
+
}
|
|
147
|
+
try {
|
|
148
|
+
return new URL(typeof value === 'string' ? value : URL.prototype.toString.call(value));
|
|
149
|
+
}
|
|
150
|
+
catch {
|
|
151
|
+
throw new Error('X.509 CONNECT proxy requires a valid proxy URL.');
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
function credentialDispatcher(proxyOptionsInput, requestTls) {
|
|
155
|
+
if (proxyOptionsInput === undefined) {
|
|
156
|
+
return { dispatcher: new Agent({ connect: requestTls }), proxy: 'direct' };
|
|
157
|
+
}
|
|
158
|
+
const proxyOptions = safeOptionRecord(proxyOptionsInput, proxyOptionNames, 'proxy');
|
|
159
|
+
const url = normalizeProxyURL(proxyOptions['url']);
|
|
160
|
+
const selected = proxyOptions['mode'];
|
|
161
|
+
const proxy = selected === 'http-connect' || selected === 'https-connect' ? selected : 'direct';
|
|
162
|
+
if ((proxy !== 'http-connect' && proxy !== 'https-connect') ||
|
|
163
|
+
url.protocol !== (proxy === 'https-connect' ? 'https:' : 'http:') ||
|
|
164
|
+
url.pathname !== '/' ||
|
|
165
|
+
url.search ||
|
|
166
|
+
url.hash) {
|
|
167
|
+
throw new Error('X.509 CONNECT proxy URL protocol must match its selected secure proxy mode.');
|
|
168
|
+
}
|
|
169
|
+
const proxyCA = snapshotCertificateAuthorities(proxyOptions['ca']);
|
|
170
|
+
if (proxy === 'http-connect' && proxyCA !== undefined) {
|
|
171
|
+
throw new Error('A plaintext X.509 CONNECT proxy cannot configure proxy TLS authorities.');
|
|
172
|
+
}
|
|
173
|
+
const auth = proxyAuthentication(url);
|
|
174
|
+
return {
|
|
175
|
+
proxy,
|
|
176
|
+
dispatcher: new ProxyAgent({
|
|
177
|
+
uri: url.href,
|
|
178
|
+
...(auth === undefined ? {} : { auth }),
|
|
179
|
+
requestTls,
|
|
180
|
+
...(proxy === 'https-connect'
|
|
181
|
+
? {
|
|
182
|
+
proxyTls: {
|
|
183
|
+
rejectUnauthorized: true,
|
|
184
|
+
...(proxyCA === undefined ? {} : { ca: proxyCA }),
|
|
185
|
+
},
|
|
186
|
+
}
|
|
187
|
+
: {}),
|
|
188
|
+
}),
|
|
189
|
+
};
|
|
190
|
+
}
|
|
7
191
|
/** Creates one frozen, caller-attested Node.js transport for X.509 workload authentication. */
|
|
8
192
|
export function createX509Transport(options) {
|
|
9
193
|
const capability = createCapability(options);
|
|
@@ -33,4 +217,41 @@ export function createX509Transport(options) {
|
|
|
33
217
|
});
|
|
34
218
|
return capability;
|
|
35
219
|
}
|
|
220
|
+
/** Creates a first-class certificate credential with SDK-owned, verified TLS and CONNECT policy. */
|
|
221
|
+
export function fromX509(options) {
|
|
222
|
+
const configured = validatedCredentialOptions(options);
|
|
223
|
+
const requestTls = {
|
|
224
|
+
cert: configured.certificateChain,
|
|
225
|
+
key: configured.privateKey,
|
|
226
|
+
rejectUnauthorized: true,
|
|
227
|
+
...(configured.passphrase === undefined ? {} : { passphrase: configured.passphrase }),
|
|
228
|
+
...(configured.ca === undefined ? {} : { ca: configured.ca }),
|
|
229
|
+
};
|
|
230
|
+
const { dispatcher, proxy } = credentialDispatcher(configured.proxy, requestTls);
|
|
231
|
+
try {
|
|
232
|
+
const transport = createX509Transport({
|
|
233
|
+
runtime: 'node',
|
|
234
|
+
dispatcher,
|
|
235
|
+
certificateIdentity: 'static',
|
|
236
|
+
proxy,
|
|
237
|
+
});
|
|
238
|
+
const identity = Object.freeze({
|
|
239
|
+
type: 'x509',
|
|
240
|
+
identityProviderId: configured.identityProviderId,
|
|
241
|
+
serviceAccountId: configured.serviceAccountId,
|
|
242
|
+
...(configured.refreshBufferSeconds === undefined
|
|
243
|
+
? {}
|
|
244
|
+
: { refreshBufferSeconds: configured.refreshBufferSeconds }),
|
|
245
|
+
});
|
|
246
|
+
const credential = new OwnedX509Credential(dispatcher);
|
|
247
|
+
rememberX509Credential(credential, Object.freeze({ identity, transport }));
|
|
248
|
+
return credential;
|
|
249
|
+
}
|
|
250
|
+
catch (error) {
|
|
251
|
+
void dispatcher.close();
|
|
252
|
+
throw error;
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
/** Namespaced first-class credential factory, isolated from ordinary browser-safe auth imports. */
|
|
256
|
+
export const workloadIdentity = Object.freeze({ fromX509 });
|
|
36
257
|
//# sourceMappingURL=x509-transport.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"x509-transport.mjs","sourceRoot":"","sources":["../src/auth/x509-transport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,UAAU,IAAI,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EACL,mBAAmB,IAAI,gBAAgB,EACvC,qBAAqB,EACrB,eAAe,GAChB,uDAAmD;
|
|
1
|
+
{"version":3,"file":"x509-transport.mjs","sourceRoot":"","sources":["../src/auth/x509-transport.ts"],"names":[],"mappings":"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"}
|
package/azure.d.mts
CHANGED
|
@@ -5,11 +5,13 @@ import { OpenAI } from "./client.mjs";
|
|
|
5
5
|
import type { ClientOptions } from "./client.mjs";
|
|
6
6
|
import type { WorkloadIdentity } from "./auth/types.mjs";
|
|
7
7
|
/** API Client for interfacing with the Azure OpenAI API. */
|
|
8
|
-
export interface AzureClientOptions extends Omit<ClientOptions, 'provider' | 'dataResidency' | 'workloadIdentity' | 'x509Transport'> {
|
|
8
|
+
export interface AzureClientOptions extends Omit<ClientOptions, 'provider' | 'dataResidency' | 'credential' | 'workloadIdentity' | 'x509Transport'> {
|
|
9
9
|
/** AzureOpenAI does not support third-party provider configuration. */
|
|
10
10
|
provider?: never;
|
|
11
11
|
/** OpenAI data residency cannot be combined with Azure routing. */
|
|
12
12
|
dataResidency?: never;
|
|
13
|
+
/** Azure cannot receive an SDK-owned OpenAI X.509 certificate credential. */
|
|
14
|
+
credential?: never;
|
|
13
15
|
/** Azure cannot receive OpenAI X.509 workload-identity certificate transports. */
|
|
14
16
|
x509Transport?: never;
|
|
15
17
|
/** Existing subject-token workload-identity configuration remains unchanged. */
|
package/azure.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"azure.d.mts","sourceRoot":"","sources":["src/azure.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,qCAAiC;AACnF,OAAO,KAAK,EAAE,eAAe,EAAE,+BAA2B;AAG1D,OAAO,KAAK,EAAE,mBAAmB,EAAE,uCAAmC;AAGtE,OAAO,EAAE,MAAM,EAAE,qBAAiB;AAClC,OAAO,KAAK,EAAE,aAAa,EAAE,qBAAiB;AAC9C,OAAO,KAAK,EAAE,gBAAgB,EAAE,yBAAqB;AAGrD,4DAA4D;AAC5D,MAAM,WAAW,kBAAmB,SAAQ,IAAI,CAC9C,aAAa,EACb,UAAU,GAAG,eAAe,GAAG,kBAAkB,GAAG,eAAe,
|
|
1
|
+
{"version":3,"file":"azure.d.mts","sourceRoot":"","sources":["src/azure.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,qCAAiC;AACnF,OAAO,KAAK,EAAE,eAAe,EAAE,+BAA2B;AAG1D,OAAO,KAAK,EAAE,mBAAmB,EAAE,uCAAmC;AAGtE,OAAO,EAAE,MAAM,EAAE,qBAAiB;AAClC,OAAO,KAAK,EAAE,aAAa,EAAE,qBAAiB;AAC9C,OAAO,KAAK,EAAE,gBAAgB,EAAE,yBAAqB;AAGrD,4DAA4D;AAC5D,MAAM,WAAW,kBAAmB,SAAQ,IAAI,CAC9C,aAAa,EACb,UAAU,GAAG,eAAe,GAAG,YAAY,GAAG,kBAAkB,GAAG,eAAe,CACnF;IACC,uEAAuE;IACvE,QAAQ,CAAC,EAAE,KAAK,CAAC;IAEjB,mEAAmE;IACnE,aAAa,CAAC,EAAE,KAAK,CAAC;IAEtB,6EAA6E;IAC7E,UAAU,CAAC,EAAE,KAAK,CAAC;IAEnB,kFAAkF;IAClF,aAAa,CAAC,EAAE,KAAK,CAAC;IAEtB,gFAAgF;IAChF,gBAAgB,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAC;IAEhD;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAEhC;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAE9B;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAEhC;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAE5B;;;OAGG;IACH,oBAAoB,CAAC,EAAE,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC;CAC5D;AAED,4DAA4D;AAC5D,qBAAa,WAAY,SAAQ,MAAM;IACrC,wEAAwE;IACxE,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,yEAAyE;IACzE,UAAU,SAAM;IAEhB;;;;;;;;;;;;;;;;OAgBG;gBACS,EACV,OAAoC,EACpC,MAAwC,EACxC,UAA0C,EAC1C,QAAQ,EACR,UAAU,EACV,oBAAoB,EACpB,uBAAuB,EACvB,aAAa,EACb,GAAG,IAAI,EACR,GAAE,kBAAuB;IAyD1B,wFAAwF;IAC/E,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,IAAI;IAIhE,2FAA2F;IAC5E,YAAY,CACzB,OAAO,EAAE,mBAAmB,EAC5B,KAAK,GAAE;QACL,mEAAmE;QACnE,UAAU,CAAC,EAAE,MAAM,CAAC;KAChB,GACL,OAAO,CAAC;QACT,sFAAsF;QACtF,GAAG,EAAE,WAAW,GAAG;YACjB,2DAA2D;YAC3D,OAAO,EAAE,OAAO,CAAC;SAClB,CAAC;QACF,6CAA6C;QAC7C,GAAG,EAAE,MAAM,CAAC;QACZ,uCAAuC;QACvC,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;cAiBuB,aAAa,CACpC,GAAG,EAAE,WAAW,EAChB,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,eAAe,EAC3B,OAAO,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,OAAO,CAAC;QAAC,eAAe,CAAC,EAAE,OAAO,CAAA;KAAE,GAC5D,OAAO,CAAC,QAAQ,CAAC;cAQK,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;CAOxC"}
|
package/azure.d.ts
CHANGED
|
@@ -5,11 +5,13 @@ import { OpenAI } from "./client.js";
|
|
|
5
5
|
import type { ClientOptions } from "./client.js";
|
|
6
6
|
import type { WorkloadIdentity } from "./auth/types.js";
|
|
7
7
|
/** API Client for interfacing with the Azure OpenAI API. */
|
|
8
|
-
export interface AzureClientOptions extends Omit<ClientOptions, 'provider' | 'dataResidency' | 'workloadIdentity' | 'x509Transport'> {
|
|
8
|
+
export interface AzureClientOptions extends Omit<ClientOptions, 'provider' | 'dataResidency' | 'credential' | 'workloadIdentity' | 'x509Transport'> {
|
|
9
9
|
/** AzureOpenAI does not support third-party provider configuration. */
|
|
10
10
|
provider?: never;
|
|
11
11
|
/** OpenAI data residency cannot be combined with Azure routing. */
|
|
12
12
|
dataResidency?: never;
|
|
13
|
+
/** Azure cannot receive an SDK-owned OpenAI X.509 certificate credential. */
|
|
14
|
+
credential?: never;
|
|
13
15
|
/** Azure cannot receive OpenAI X.509 workload-identity certificate transports. */
|
|
14
16
|
x509Transport?: never;
|
|
15
17
|
/** Existing subject-token workload-identity configuration remains unchanged. */
|
package/azure.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"azure.d.ts","sourceRoot":"","sources":["src/azure.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,oCAAiC;AACnF,OAAO,KAAK,EAAE,eAAe,EAAE,8BAA2B;AAG1D,OAAO,KAAK,EAAE,mBAAmB,EAAE,sCAAmC;AAGtE,OAAO,EAAE,MAAM,EAAE,oBAAiB;AAClC,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAiB;AAC9C,OAAO,KAAK,EAAE,gBAAgB,EAAE,wBAAqB;AAGrD,4DAA4D;AAC5D,MAAM,WAAW,kBAAmB,SAAQ,IAAI,CAC9C,aAAa,EACb,UAAU,GAAG,eAAe,GAAG,kBAAkB,GAAG,eAAe,
|
|
1
|
+
{"version":3,"file":"azure.d.ts","sourceRoot":"","sources":["src/azure.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,oCAAiC;AACnF,OAAO,KAAK,EAAE,eAAe,EAAE,8BAA2B;AAG1D,OAAO,KAAK,EAAE,mBAAmB,EAAE,sCAAmC;AAGtE,OAAO,EAAE,MAAM,EAAE,oBAAiB;AAClC,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAiB;AAC9C,OAAO,KAAK,EAAE,gBAAgB,EAAE,wBAAqB;AAGrD,4DAA4D;AAC5D,MAAM,WAAW,kBAAmB,SAAQ,IAAI,CAC9C,aAAa,EACb,UAAU,GAAG,eAAe,GAAG,YAAY,GAAG,kBAAkB,GAAG,eAAe,CACnF;IACC,uEAAuE;IACvE,QAAQ,CAAC,EAAE,KAAK,CAAC;IAEjB,mEAAmE;IACnE,aAAa,CAAC,EAAE,KAAK,CAAC;IAEtB,6EAA6E;IAC7E,UAAU,CAAC,EAAE,KAAK,CAAC;IAEnB,kFAAkF;IAClF,aAAa,CAAC,EAAE,KAAK,CAAC;IAEtB,gFAAgF;IAChF,gBAAgB,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAC;IAEhD;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAEhC;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAE9B;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAEhC;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAE5B;;;OAGG;IACH,oBAAoB,CAAC,EAAE,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC;CAC5D;AAED,4DAA4D;AAC5D,qBAAa,WAAY,SAAQ,MAAM;IACrC,wEAAwE;IACxE,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,yEAAyE;IACzE,UAAU,SAAM;IAEhB;;;;;;;;;;;;;;;;OAgBG;gBACS,EACV,OAAoC,EACpC,MAAwC,EACxC,UAA0C,EAC1C,QAAQ,EACR,UAAU,EACV,oBAAoB,EACpB,uBAAuB,EACvB,aAAa,EACb,GAAG,IAAI,EACR,GAAE,kBAAuB;IAyD1B,wFAAwF;IAC/E,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,IAAI;IAIhE,2FAA2F;IAC5E,YAAY,CACzB,OAAO,EAAE,mBAAmB,EAC5B,KAAK,GAAE;QACL,mEAAmE;QACnE,UAAU,CAAC,EAAE,MAAM,CAAC;KAChB,GACL,OAAO,CAAC;QACT,sFAAsF;QACtF,GAAG,EAAE,WAAW,GAAG;YACjB,2DAA2D;YAC3D,OAAO,EAAE,OAAO,CAAC;SAClB,CAAC;QACF,6CAA6C;QAC7C,GAAG,EAAE,MAAM,CAAC;QACZ,uCAAuC;QACvC,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;cAiBuB,aAAa,CACpC,GAAG,EAAE,WAAW,EAChB,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,eAAe,EAC3B,OAAO,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,OAAO,CAAC;QAAC,eAAe,CAAC,EAAE,OAAO,CAAA;KAAE,GAC5D,OAAO,CAAC,QAAQ,CAAC;cAQK,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;CAOxC"}
|
package/azure.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"azure.js","sourceRoot":"","sources":["src/azure.ts"],"names":[],"mappings":";;;;AAEA,mDAAkD;AAClD,2DAAkC;AAElC,+CAAkD;AAClD,mDAA6C;AAC7C,wCAAkC;AAGlC,iEAAkE;
|
|
1
|
+
{"version":3,"file":"azure.js","sourceRoot":"","sources":["src/azure.ts"],"names":[],"mappings":"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"}
|
package/azure.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"azure.mjs","sourceRoot":"","sources":["src/azure.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,+BAA2B;AAClD,OAAO,KAAK,MAAM,oBAAgB;AAElC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,6BAAyB;AAClD,OAAO,EAAE,IAAI,EAAE,kCAA8B;AAC7C,OAAO,EAAE,MAAM,EAAE,qBAAiB;AAGlC,OAAO,EAAE,qBAAqB,EAAE,sCAAkC;
|
|
1
|
+
{"version":3,"file":"azure.mjs","sourceRoot":"","sources":["src/azure.ts"],"names":[],"mappings":"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"}
|
package/bedrock.d.mts
CHANGED
|
@@ -5,7 +5,7 @@ import type { RequestInit } from "./internal/builtin-types.mjs";
|
|
|
5
5
|
import type { NullableHeaders } from "./internal/headers.mjs";
|
|
6
6
|
import type { FinalRequestOptions } from "./internal/request-options.mjs";
|
|
7
7
|
/** Configures Amazon Bedrock's OpenAI-compatible endpoint and bearer-token authentication. */
|
|
8
|
-
export interface BedrockClientOptions extends Omit<ClientOptions, 'apiKey' | 'adminAPIKey' | 'baseURL' | 'workloadIdentity' | 'x509Transport' | 'dataResidency'> {
|
|
8
|
+
export interface BedrockClientOptions extends Omit<ClientOptions, 'apiKey' | 'adminAPIKey' | 'baseURL' | 'credential' | 'workloadIdentity' | 'x509Transport' | 'dataResidency'> {
|
|
9
9
|
/**
|
|
10
10
|
* Bedrock bearer token used for authentication.
|
|
11
11
|
*
|
|
@@ -26,6 +26,8 @@ export interface BedrockClientOptions extends Omit<ClientOptions, 'apiKey' | 'ad
|
|
|
26
26
|
adminAPIKey?: never;
|
|
27
27
|
/** OpenAI data residency cannot be combined with Bedrock routing. */
|
|
28
28
|
dataResidency?: never;
|
|
29
|
+
/** Bedrock cannot receive an SDK-owned OpenAI X.509 certificate credential. */
|
|
30
|
+
credential?: never;
|
|
29
31
|
/**
|
|
30
32
|
* BedrockOpenAI only supports Bedrock bearer token authentication.
|
|
31
33
|
*/
|