@depup/openai 7.7.0-depup.0 → 7.8.0-depup.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 (205) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/README.md +1 -1
  3. package/auth/index.d.mts +1 -1
  4. package/auth/index.d.mts.map +1 -1
  5. package/auth/index.d.ts +1 -1
  6. package/auth/index.d.ts.map +1 -1
  7. package/auth/index.js.map +1 -1
  8. package/auth/index.mjs.map +1 -1
  9. package/auth/types.d.mts +9 -4
  10. package/auth/types.d.mts.map +1 -1
  11. package/auth/types.d.ts +9 -4
  12. package/auth/types.d.ts.map +1 -1
  13. package/auth/workload-identity-auth.d.mts +1 -1
  14. package/auth/workload-identity-auth.d.mts.map +1 -1
  15. package/auth/workload-identity-auth.d.ts +1 -1
  16. package/auth/workload-identity-auth.d.ts.map +1 -1
  17. package/auth/workload-identity-auth.js +23 -6
  18. package/auth/workload-identity-auth.js.map +1 -1
  19. package/auth/workload-identity-auth.mjs +23 -6
  20. package/auth/workload-identity-auth.mjs.map +1 -1
  21. package/auth/x509-transport.d.mts +36 -1
  22. package/auth/x509-transport.d.mts.map +1 -1
  23. package/auth/x509-transport.d.ts +36 -1
  24. package/auth/x509-transport.d.ts.map +1 -1
  25. package/auth/x509-transport.js +223 -0
  26. package/auth/x509-transport.js.map +1 -1
  27. package/auth/x509-transport.mjs +222 -1
  28. package/auth/x509-transport.mjs.map +1 -1
  29. package/azure.d.mts +3 -1
  30. package/azure.d.mts.map +1 -1
  31. package/azure.d.ts +3 -1
  32. package/azure.d.ts.map +1 -1
  33. package/azure.js.map +1 -1
  34. package/azure.mjs.map +1 -1
  35. package/bedrock.d.mts +3 -1
  36. package/bedrock.d.mts.map +1 -1
  37. package/bedrock.d.ts +3 -1
  38. package/bedrock.d.ts.map +1 -1
  39. package/bedrock.js.map +1 -1
  40. package/bedrock.mjs.map +1 -1
  41. package/beta/realtime/ws.d.mts.map +1 -1
  42. package/beta/realtime/ws.d.ts.map +1 -1
  43. package/beta/realtime/ws.js +2 -0
  44. package/beta/realtime/ws.js.map +1 -1
  45. package/beta/realtime/ws.mjs +2 -0
  46. package/beta/realtime/ws.mjs.map +1 -1
  47. package/changes.json +1 -1
  48. package/client.d.mts +3 -1
  49. package/client.d.mts.map +1 -1
  50. package/client.d.ts +3 -1
  51. package/client.d.ts.map +1 -1
  52. package/client.js +30 -37
  53. package/client.js.map +1 -1
  54. package/client.mjs +31 -38
  55. package/client.mjs.map +1 -1
  56. package/core/EventEmitter.d.mts.map +1 -1
  57. package/core/EventEmitter.d.ts.map +1 -1
  58. package/core/EventEmitter.js +14 -1
  59. package/core/EventEmitter.js.map +1 -1
  60. package/core/EventEmitter.mjs +14 -1
  61. package/core/EventEmitter.mjs.map +1 -1
  62. package/internal/auth/x509-api-origin.d.mts +5 -0
  63. package/internal/auth/x509-api-origin.d.mts.map +1 -0
  64. package/internal/auth/x509-api-origin.d.ts +5 -0
  65. package/internal/auth/x509-api-origin.d.ts.map +1 -0
  66. package/internal/auth/x509-api-origin.js +28 -0
  67. package/internal/auth/x509-api-origin.js.map +1 -0
  68. package/internal/auth/x509-api-origin.mjs +24 -0
  69. package/internal/auth/x509-api-origin.mjs.map +1 -0
  70. package/internal/auth/x509-credential-options.d.mts +13 -0
  71. package/internal/auth/x509-credential-options.d.mts.map +1 -0
  72. package/internal/auth/x509-credential-options.d.ts +13 -0
  73. package/internal/auth/x509-credential-options.d.ts.map +1 -0
  74. package/internal/auth/x509-credential-options.js +122 -0
  75. package/internal/auth/x509-credential-options.js.map +1 -0
  76. package/internal/auth/x509-credential-options.mjs +118 -0
  77. package/internal/auth/x509-credential-options.mjs.map +1 -0
  78. package/internal/auth/x509-token-exchange.mjs +1 -1
  79. package/internal/auth/x509-transport-capability.d.mts +12 -5
  80. package/internal/auth/x509-transport-capability.d.mts.map +1 -1
  81. package/internal/auth/x509-transport-capability.d.ts +12 -5
  82. package/internal/auth/x509-transport-capability.d.ts.map +1 -1
  83. package/internal/auth/x509-transport-capability.js +5 -4
  84. package/internal/auth/x509-transport-capability.js.map +1 -1
  85. package/internal/auth/x509-transport-capability.mjs +6 -5
  86. package/internal/auth/x509-transport-capability.mjs.map +1 -1
  87. package/internal/auth/x509-transport-registry.d.mts +8 -0
  88. package/internal/auth/x509-transport-registry.d.mts.map +1 -1
  89. package/internal/auth/x509-transport-registry.d.ts +8 -0
  90. package/internal/auth/x509-transport-registry.d.ts.map +1 -1
  91. package/internal/auth/x509-transport-registry.js.map +1 -1
  92. package/internal/auth/x509-transport-registry.mjs +1 -1
  93. package/internal/auth/x509-transport-registry.mjs.map +1 -1
  94. package/internal/auth/x509-transport-state-browser.d.mts +4 -0
  95. package/internal/auth/x509-transport-state-browser.d.mts.map +1 -1
  96. package/internal/auth/x509-transport-state-browser.d.ts +4 -0
  97. package/internal/auth/x509-transport-state-browser.d.ts.map +1 -1
  98. package/internal/auth/x509-transport-state-browser.js +6 -1
  99. package/internal/auth/x509-transport-state-browser.js.map +1 -1
  100. package/internal/auth/x509-transport-state-browser.mjs +5 -0
  101. package/internal/auth/x509-transport-state-browser.mjs.map +1 -1
  102. package/internal/auth/x509-transport-state.cjs +6 -1
  103. package/internal/auth/x509-transport-state.cjs.map +1 -1
  104. package/internal/auth/x509-transport-state.d.cts +4 -0
  105. package/internal/auth/x509-transport-state.d.cts.map +1 -1
  106. package/internal/auth/x509-transport-state.js +36 -0
  107. package/internal/auth/x509-transport-state.mjs +19 -0
  108. package/internal/auth/x509-workload-identity-auth.d.mts +2 -4
  109. package/internal/auth/x509-workload-identity-auth.d.mts.map +1 -1
  110. package/internal/auth/x509-workload-identity-auth.d.ts +2 -4
  111. package/internal/auth/x509-workload-identity-auth.d.ts.map +1 -1
  112. package/internal/auth/x509-workload-identity-auth.js +43 -34
  113. package/internal/auth/x509-workload-identity-auth.js.map +1 -1
  114. package/internal/auth/x509-workload-identity-auth.mjs +40 -30
  115. package/internal/auth/x509-workload-identity-auth.mjs.map +1 -1
  116. package/internal/uploads.js +4 -2
  117. package/internal/uploads.js.map +1 -1
  118. package/internal/uploads.mjs +4 -2
  119. package/internal/uploads.mjs.map +1 -1
  120. package/internal/utils/log.d.mts +6 -0
  121. package/internal/utils/log.d.mts.map +1 -1
  122. package/internal/utils/log.d.ts +6 -0
  123. package/internal/utils/log.d.ts.map +1 -1
  124. package/internal/utils/log.js +72 -11
  125. package/internal/utils/log.js.map +1 -1
  126. package/internal/utils/log.mjs +69 -11
  127. package/internal/utils/log.mjs.map +1 -1
  128. package/lib/EventEmitter.d.mts.map +1 -1
  129. package/lib/EventEmitter.d.ts.map +1 -1
  130. package/lib/EventEmitter.js +14 -1
  131. package/lib/EventEmitter.js.map +1 -1
  132. package/lib/EventEmitter.mjs +14 -1
  133. package/lib/EventEmitter.mjs.map +1 -1
  134. package/package.json +7 -7
  135. package/realtime/ws.d.mts.map +1 -1
  136. package/realtime/ws.d.ts.map +1 -1
  137. package/realtime/ws.js +2 -0
  138. package/realtime/ws.js.map +1 -1
  139. package/realtime/ws.mjs +2 -0
  140. package/realtime/ws.mjs.map +1 -1
  141. package/resources/admin/organization/audit-logs.d.mts +2 -2
  142. package/resources/admin/organization/audit-logs.d.mts.map +1 -1
  143. package/resources/admin/organization/audit-logs.d.ts +2 -2
  144. package/resources/admin/organization/audit-logs.d.ts.map +1 -1
  145. package/resources/beta/responses/responses.d.mts +4 -0
  146. package/resources/beta/responses/responses.d.mts.map +1 -1
  147. package/resources/beta/responses/responses.d.ts +4 -0
  148. package/resources/beta/responses/responses.d.ts.map +1 -1
  149. package/resources/beta/responses/responses.js.map +1 -1
  150. package/resources/beta/responses/responses.mjs.map +1 -1
  151. package/resources/beta/responses/ws.d.mts.map +1 -1
  152. package/resources/beta/responses/ws.d.ts.map +1 -1
  153. package/resources/beta/responses/ws.js +2 -0
  154. package/resources/beta/responses/ws.js.map +1 -1
  155. package/resources/beta/responses/ws.mjs +2 -0
  156. package/resources/beta/responses/ws.mjs.map +1 -1
  157. package/resources/completions.d.mts +4 -0
  158. package/resources/completions.d.mts.map +1 -1
  159. package/resources/completions.d.ts +4 -0
  160. package/resources/completions.d.ts.map +1 -1
  161. package/resources/responses/responses.d.mts +4 -0
  162. package/resources/responses/responses.d.mts.map +1 -1
  163. package/resources/responses/responses.d.ts +4 -0
  164. package/resources/responses/responses.d.ts.map +1 -1
  165. package/resources/responses/responses.js.map +1 -1
  166. package/resources/responses/responses.mjs.map +1 -1
  167. package/resources/responses/ws.d.mts.map +1 -1
  168. package/resources/responses/ws.d.ts.map +1 -1
  169. package/resources/responses/ws.js +2 -0
  170. package/resources/responses/ws.js.map +1 -1
  171. package/resources/responses/ws.mjs +2 -0
  172. package/resources/responses/ws.mjs.map +1 -1
  173. package/src/_vendor/partial-json-parser/LICENSE +21 -0
  174. package/src/_vendor/partial-json-parser/README.md +11 -1
  175. package/src/auth/index.ts +1 -0
  176. package/src/auth/types.ts +10 -4
  177. package/src/auth/workload-identity-auth.ts +30 -6
  178. package/src/auth/x509-transport.ts +311 -2
  179. package/src/azure.ts +4 -1
  180. package/src/bedrock.ts +4 -1
  181. package/src/beta/realtime/ws.ts +2 -0
  182. package/src/client.ts +39 -34
  183. package/src/core/EventEmitter.ts +13 -1
  184. package/src/internal/auth/x509-api-origin.ts +27 -0
  185. package/src/internal/auth/x509-credential-options.ts +146 -0
  186. package/src/internal/auth/x509-transport-capability.ts +12 -5
  187. package/src/internal/auth/x509-transport-registry.ts +9 -0
  188. package/src/internal/auth/x509-transport-state-browser.ts +7 -0
  189. package/src/internal/auth/x509-transport-state.cts +7 -0
  190. package/src/internal/auth/x509-workload-identity-auth.ts +42 -33
  191. package/src/internal/uploads.ts +4 -2
  192. package/src/internal/utils/log.ts +76 -11
  193. package/src/lib/EventEmitter.ts +13 -1
  194. package/src/realtime/ws.ts +2 -0
  195. package/src/resources/admin/organization/audit-logs.ts +4 -0
  196. package/src/resources/beta/responses/responses.ts +5 -0
  197. package/src/resources/beta/responses/ws.ts +3 -0
  198. package/src/resources/completions.ts +5 -0
  199. package/src/resources/responses/responses.ts +5 -0
  200. package/src/resources/responses/ws.ts +3 -0
  201. package/src/version.ts +1 -1
  202. package/version.d.mts +1 -1
  203. package/version.d.ts +1 -1
  204. package/version.js +1 -1
  205. package/version.mjs +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,23 @@
1
1
  # Changelog
2
2
 
3
+ ## [7.8.0](https://github.com/openai/openai-node/compare/v7.7.0...v7.8.0) (2026-08-27)
4
+
5
+
6
+ ### Features
7
+
8
+ * **api:** add compute_units to Responses and Chat Completions usage ([#2505](https://github.com/openai/openai-node/issues/2505)) ([f9b1313](https://github.com/openai/openai-node/commit/f9b131388a270451eec7242aa0d302e2135b1d3e))
9
+ * **api:** add default WebSocket User-Agent and audit log events ([#2504](https://github.com/openai/openai-node/issues/2504)) ([9b2f089](https://github.com/openai/openai-node/commit/9b2f0892c9fde399163bea59d4aa9bc4ba0ae03e))
10
+
11
+
12
+ ### Bug Fixes
13
+
14
+ * **auth:** clamp the workload-identity refresh buffer to the token lifetime ([#2490](https://github.com/openai/openai-node/issues/2490)) ([76b73a9](https://github.com/openai/openai-node/commit/76b73a9c73aafe11c60a425a82898705f1db966d))
15
+ * **auth:** secure first-class X.509 workload credentials ([#2479](https://github.com/openai/openai-node/issues/2479)) ([1b36c19](https://github.com/openai/openai-node/commit/1b36c19c011bcb9775a5cecb0d8a1bd072b74cd6))
16
+ * **deps:** harden dependency and release boundaries ([#2484](https://github.com/openai/openai-node/issues/2484)) ([b21ff45](https://github.com/openai/openai-node/commit/b21ff456e7bd578547c456e5f7abd1d494a02090))
17
+ * **events:** settle WebSocket waiters when listeners throw ([#2491](https://github.com/openai/openai-node/issues/2491)) ([b5a13a7](https://github.com/openai/openai-node/commit/b5a13a7dc8c95669440ec87662bcae8227b398d9))
18
+ * restore native browser ESM imports ([#2495](https://github.com/openai/openai-node/issues/2495)) ([c8cab1e](https://github.com/openai/openai-node/commit/c8cab1e90eb5daf05d17d5c90492e6728afa91b7))
19
+ * **uploads:** detect multipart bodies from own properties only ([#2492](https://github.com/openai/openai-node/issues/2492)) ([559ffc8](https://github.com/openai/openai-node/commit/559ffc8079d0ae716bbf7915305e7db6ecc016a1))
20
+
3
21
  ## [7.7.0](https://github.com/openai/openai-node/compare/v7.6.0...v7.7.0) (2026-08-26)
4
22
 
5
23
 
package/README.md CHANGED
@@ -13,7 +13,7 @@ npm install @depup/openai
13
13
 
14
14
  | Field | Value |
15
15
  |-------|-------|
16
- | Original | [openai](https://www.npmjs.com/package/openai) @ 7.7.0 |
16
+ | Original | [openai](https://www.npmjs.com/package/openai) @ 7.8.0 |
17
17
  | Processed | 2026-08-27 |
18
18
  | Smoke test | passed |
19
19
  | Deps updated | 0 |
package/auth/index.d.mts CHANGED
@@ -1,4 +1,4 @@
1
- export type { WorkloadIdentity, X509WorkloadIdentity, SubjectTokenProvider, TokenExchangeResponse, } from "./types.mjs";
1
+ export type { WorkloadIdentity, X509WorkloadIdentity, X509Credential, SubjectTokenProvider, TokenExchangeResponse, } from "./types.mjs";
2
2
  export { k8sServiceAccountTokenProvider, azureManagedIdentityTokenProvider, gcpIDTokenProvider, } from "./subject-token-providers.mjs";
3
3
  export { OAuthError, SubjectTokenProviderError } from "../core/error.mjs";
4
4
  //# sourceMappingURL=index.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../src/auth/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,GACtB,oBAAgB;AAEjB,OAAO,EACL,8BAA8B,EAC9B,iCAAiC,EACjC,kBAAkB,GACnB,sCAAkC;AAEnC,OAAO,EAAE,UAAU,EAAE,yBAAyB,EAAE,0BAAsB"}
1
+ {"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../src/auth/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,gBAAgB,EAChB,oBAAoB,EACpB,cAAc,EACd,oBAAoB,EACpB,qBAAqB,GACtB,oBAAgB;AAEjB,OAAO,EACL,8BAA8B,EAC9B,iCAAiC,EACjC,kBAAkB,GACnB,sCAAkC;AAEnC,OAAO,EAAE,UAAU,EAAE,yBAAyB,EAAE,0BAAsB"}
package/auth/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export type { WorkloadIdentity, X509WorkloadIdentity, SubjectTokenProvider, TokenExchangeResponse, } from "./types.js";
1
+ export type { WorkloadIdentity, X509WorkloadIdentity, X509Credential, SubjectTokenProvider, TokenExchangeResponse, } from "./types.js";
2
2
  export { k8sServiceAccountTokenProvider, azureManagedIdentityTokenProvider, gcpIDTokenProvider, } from "./subject-token-providers.js";
3
3
  export { OAuthError, SubjectTokenProviderError } from "../core/error.js";
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/auth/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,GACtB,mBAAgB;AAEjB,OAAO,EACL,8BAA8B,EAC9B,iCAAiC,EACjC,kBAAkB,GACnB,qCAAkC;AAEnC,OAAO,EAAE,UAAU,EAAE,yBAAyB,EAAE,yBAAsB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/auth/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,gBAAgB,EAChB,oBAAoB,EACpB,cAAc,EACd,oBAAoB,EACpB,qBAAqB,GACtB,mBAAgB;AAEjB,OAAO,EACL,8BAA8B,EAC9B,iCAAiC,EACjC,kBAAkB,GACnB,qCAAkC;AAEnC,OAAO,EAAE,UAAU,EAAE,yBAAyB,EAAE,yBAAsB"}
package/auth/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/auth/index.ts"],"names":[],"mappings":";;;AAOA,wEAImC;AAHjC,yIAAA,8BAA8B,OAAA;AAC9B,4IAAA,iCAAiC,OAAA;AACjC,6HAAA,kBAAkB,OAAA;AAGpB,0CAAsE;AAA7D,mGAAA,UAAU,OAAA;AAAE,kHAAA,yBAAyB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/auth/index.ts"],"names":[],"mappings":";;;AAQA,wEAImC;AAHjC,yIAAA,8BAA8B,OAAA;AAC9B,4IAAA,iCAAiC,OAAA;AACjC,6HAAA,kBAAkB,OAAA;AAGpB,0CAAsE;AAA7D,mGAAA,UAAU,OAAA;AAAE,kHAAA,yBAAyB,OAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../src/auth/index.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,8BAA8B,EAC9B,iCAAiC,EACjC,kBAAkB,GACnB,sCAAkC;AAEnC,OAAO,EAAE,UAAU,EAAE,yBAAyB,EAAE,0BAAsB"}
1
+ {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../src/auth/index.ts"],"names":[],"mappings":"AAQA,OAAO,EACL,8BAA8B,EAC9B,iCAAiC,EACjC,kBAAkB,GACnB,sCAAkC;AAEnC,OAAO,EAAE,UAAU,EAAE,yBAAyB,EAAE,0BAAsB"}
package/auth/types.d.mts CHANGED
@@ -15,7 +15,7 @@ export interface WorkloadIdentity {
15
15
  serviceAccountId: string;
16
16
  /** Provider that obtains the external subject token for each token exchange. */
17
17
  provider: SubjectTokenProvider;
18
- /** Seconds before expiration when access-token refresh begins; defaults to 1,200 seconds. */
18
+ /** Seconds before expiration when access-token refresh begins; defaults to 1,200 seconds and is capped at half of the actual token lifetime. */
19
19
  refreshBufferSeconds?: number;
20
20
  }
21
21
  /** Configures OpenAI-only federation from an explicitly attested X.509 client certificate. */
@@ -26,14 +26,19 @@ export interface X509WorkloadIdentity {
26
26
  identityProviderId: string;
27
27
  /** OpenAI service account authorized for the verified certificate identity. */
28
28
  serviceAccountId: string;
29
- /** Optional milliseconds before expiry when the certificate-backed token should refresh. */
29
+ /** Seconds before expiration when access-token refresh begins; defaults to 1,200 seconds. */
30
+ refreshBufferSeconds?: number;
31
+ /** @deprecated Use refreshBufferSeconds to match other workload-identity credentials. */
30
32
  refreshBufferMs?: number;
31
33
  /** X.509 federation proves certificate possession instead of supplying a subject token. */
32
34
  provider?: never;
33
35
  /** X.509 federation does not send an OAuth client identifier. */
34
36
  clientId?: never;
35
- /** X.509 federation does not accept subject-token refresh configuration. */
36
- refreshBufferSeconds?: never;
37
+ }
38
+ /** An SDK-owned certificate credential created by the Node-only X.509 authentication helper. */
39
+ export interface X509Credential {
40
+ /** Closes the credential's owned certificate transport after requests have finished. */
41
+ close: () => Promise<void>;
37
42
  }
38
43
  /** OAuth token-exchange response returned by the OpenAI workload-identity endpoint. */
39
44
  export interface TokenExchangeResponse {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.mts","sourceRoot":"","sources":["../src/auth/types.ts"],"names":[],"mappings":"AAAA,yFAAyF;AACzF,MAAM,WAAW,oBAAoB;IACnC,qFAAqF;IACrF,SAAS,EAAE,KAAK,GAAG,IAAI,CAAC;IAExB,oGAAoG;IACpG,QAAQ,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;CACjC;AAED,+FAA+F;AAC/F,MAAM,WAAW,gBAAgB;IAC/B,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,6FAA6F;IAC7F,kBAAkB,EAAE,MAAM,CAAC;IAE3B,6FAA6F;IAC7F,gBAAgB,EAAE,MAAM,CAAC;IAEzB,gFAAgF;IAChF,QAAQ,EAAE,oBAAoB,CAAC;IAE/B,6FAA6F;IAC7F,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,8FAA8F;AAC9F,MAAM,WAAW,oBAAoB;IACnC,4FAA4F;IAC5F,IAAI,EAAE,MAAM,CAAC;IAEb,mFAAmF;IACnF,kBAAkB,EAAE,MAAM,CAAC;IAE3B,+EAA+E;IAC/E,gBAAgB,EAAE,MAAM,CAAC;IAEzB,4FAA4F;IAC5F,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,2FAA2F;IAC3F,QAAQ,CAAC,EAAE,KAAK,CAAC;IAEjB,iEAAiE;IACjE,QAAQ,CAAC,EAAE,KAAK,CAAC;IAEjB,4EAA4E;IAC5E,oBAAoB,CAAC,EAAE,KAAK,CAAC;CAC9B;AAED,uFAAuF;AACvF,MAAM,WAAW,qBAAqB;IACpC,qEAAqE;IACrE,YAAY,EAAE,MAAM,CAAC;IAErB,+DAA+D;IAC/D,iBAAiB,EAAE,MAAM,CAAC;IAE1B,gFAAgF;IAChF,UAAU,EAAE,MAAM,CAAC;IAEnB,6EAA6E;IAC7E,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB"}
1
+ {"version":3,"file":"types.d.mts","sourceRoot":"","sources":["../src/auth/types.ts"],"names":[],"mappings":"AAAA,yFAAyF;AACzF,MAAM,WAAW,oBAAoB;IACnC,qFAAqF;IACrF,SAAS,EAAE,KAAK,GAAG,IAAI,CAAC;IAExB,oGAAoG;IACpG,QAAQ,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;CACjC;AAED,+FAA+F;AAC/F,MAAM,WAAW,gBAAgB;IAC/B,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,6FAA6F;IAC7F,kBAAkB,EAAE,MAAM,CAAC;IAE3B,6FAA6F;IAC7F,gBAAgB,EAAE,MAAM,CAAC;IAEzB,gFAAgF;IAChF,QAAQ,EAAE,oBAAoB,CAAC;IAE/B,gJAAgJ;IAChJ,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,8FAA8F;AAC9F,MAAM,WAAW,oBAAoB;IACnC,4FAA4F;IAC5F,IAAI,EAAE,MAAM,CAAC;IAEb,mFAAmF;IACnF,kBAAkB,EAAE,MAAM,CAAC;IAE3B,+EAA+E;IAC/E,gBAAgB,EAAE,MAAM,CAAC;IAEzB,6FAA6F;IAC7F,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAE9B,yFAAyF;IACzF,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,2FAA2F;IAC3F,QAAQ,CAAC,EAAE,KAAK,CAAC;IAEjB,iEAAiE;IACjE,QAAQ,CAAC,EAAE,KAAK,CAAC;CAClB;AAED,gGAAgG;AAChG,MAAM,WAAW,cAAc;IAC7B,wFAAwF;IACxF,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B;AAED,uFAAuF;AACvF,MAAM,WAAW,qBAAqB;IACpC,qEAAqE;IACrE,YAAY,EAAE,MAAM,CAAC;IAErB,+DAA+D;IAC/D,iBAAiB,EAAE,MAAM,CAAC;IAE1B,gFAAgF;IAChF,UAAU,EAAE,MAAM,CAAC;IAEnB,6EAA6E;IAC7E,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB"}
package/auth/types.d.ts CHANGED
@@ -15,7 +15,7 @@ export interface WorkloadIdentity {
15
15
  serviceAccountId: string;
16
16
  /** Provider that obtains the external subject token for each token exchange. */
17
17
  provider: SubjectTokenProvider;
18
- /** Seconds before expiration when access-token refresh begins; defaults to 1,200 seconds. */
18
+ /** Seconds before expiration when access-token refresh begins; defaults to 1,200 seconds and is capped at half of the actual token lifetime. */
19
19
  refreshBufferSeconds?: number;
20
20
  }
21
21
  /** Configures OpenAI-only federation from an explicitly attested X.509 client certificate. */
@@ -26,14 +26,19 @@ export interface X509WorkloadIdentity {
26
26
  identityProviderId: string;
27
27
  /** OpenAI service account authorized for the verified certificate identity. */
28
28
  serviceAccountId: string;
29
- /** Optional milliseconds before expiry when the certificate-backed token should refresh. */
29
+ /** Seconds before expiration when access-token refresh begins; defaults to 1,200 seconds. */
30
+ refreshBufferSeconds?: number;
31
+ /** @deprecated Use refreshBufferSeconds to match other workload-identity credentials. */
30
32
  refreshBufferMs?: number;
31
33
  /** X.509 federation proves certificate possession instead of supplying a subject token. */
32
34
  provider?: never;
33
35
  /** X.509 federation does not send an OAuth client identifier. */
34
36
  clientId?: never;
35
- /** X.509 federation does not accept subject-token refresh configuration. */
36
- refreshBufferSeconds?: never;
37
+ }
38
+ /** An SDK-owned certificate credential created by the Node-only X.509 authentication helper. */
39
+ export interface X509Credential {
40
+ /** Closes the credential's owned certificate transport after requests have finished. */
41
+ close: () => Promise<void>;
37
42
  }
38
43
  /** OAuth token-exchange response returned by the OpenAI workload-identity endpoint. */
39
44
  export interface TokenExchangeResponse {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/auth/types.ts"],"names":[],"mappings":"AAAA,yFAAyF;AACzF,MAAM,WAAW,oBAAoB;IACnC,qFAAqF;IACrF,SAAS,EAAE,KAAK,GAAG,IAAI,CAAC;IAExB,oGAAoG;IACpG,QAAQ,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;CACjC;AAED,+FAA+F;AAC/F,MAAM,WAAW,gBAAgB;IAC/B,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,6FAA6F;IAC7F,kBAAkB,EAAE,MAAM,CAAC;IAE3B,6FAA6F;IAC7F,gBAAgB,EAAE,MAAM,CAAC;IAEzB,gFAAgF;IAChF,QAAQ,EAAE,oBAAoB,CAAC;IAE/B,6FAA6F;IAC7F,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,8FAA8F;AAC9F,MAAM,WAAW,oBAAoB;IACnC,4FAA4F;IAC5F,IAAI,EAAE,MAAM,CAAC;IAEb,mFAAmF;IACnF,kBAAkB,EAAE,MAAM,CAAC;IAE3B,+EAA+E;IAC/E,gBAAgB,EAAE,MAAM,CAAC;IAEzB,4FAA4F;IAC5F,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,2FAA2F;IAC3F,QAAQ,CAAC,EAAE,KAAK,CAAC;IAEjB,iEAAiE;IACjE,QAAQ,CAAC,EAAE,KAAK,CAAC;IAEjB,4EAA4E;IAC5E,oBAAoB,CAAC,EAAE,KAAK,CAAC;CAC9B;AAED,uFAAuF;AACvF,MAAM,WAAW,qBAAqB;IACpC,qEAAqE;IACrE,YAAY,EAAE,MAAM,CAAC;IAErB,+DAA+D;IAC/D,iBAAiB,EAAE,MAAM,CAAC;IAE1B,gFAAgF;IAChF,UAAU,EAAE,MAAM,CAAC;IAEnB,6EAA6E;IAC7E,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/auth/types.ts"],"names":[],"mappings":"AAAA,yFAAyF;AACzF,MAAM,WAAW,oBAAoB;IACnC,qFAAqF;IACrF,SAAS,EAAE,KAAK,GAAG,IAAI,CAAC;IAExB,oGAAoG;IACpG,QAAQ,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;CACjC;AAED,+FAA+F;AAC/F,MAAM,WAAW,gBAAgB;IAC/B,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,6FAA6F;IAC7F,kBAAkB,EAAE,MAAM,CAAC;IAE3B,6FAA6F;IAC7F,gBAAgB,EAAE,MAAM,CAAC;IAEzB,gFAAgF;IAChF,QAAQ,EAAE,oBAAoB,CAAC;IAE/B,gJAAgJ;IAChJ,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,8FAA8F;AAC9F,MAAM,WAAW,oBAAoB;IACnC,4FAA4F;IAC5F,IAAI,EAAE,MAAM,CAAC;IAEb,mFAAmF;IACnF,kBAAkB,EAAE,MAAM,CAAC;IAE3B,+EAA+E;IAC/E,gBAAgB,EAAE,MAAM,CAAC;IAEzB,6FAA6F;IAC7F,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAE9B,yFAAyF;IACzF,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,2FAA2F;IAC3F,QAAQ,CAAC,EAAE,KAAK,CAAC;IAEjB,iEAAiE;IACjE,QAAQ,CAAC,EAAE,KAAK,CAAC;CAClB;AAED,gGAAgG;AAChG,MAAM,WAAW,cAAc;IAC7B,wFAAwF;IACxF,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B;AAED,uFAAuF;AACvF,MAAM,WAAW,qBAAqB;IACpC,qEAAqE;IACrE,YAAY,EAAE,MAAM,CAAC;IAErB,+DAA+D;IAC/D,iBAAiB,EAAE,MAAM,CAAC;IAE1B,gFAAgF;IAChF,UAAU,EAAE,MAAM,CAAC;IAEnB,6EAA6E;IAC7E,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB"}
@@ -34,7 +34,7 @@ export declare class WorkloadIdentityAuth {
34
34
  getToken(): Promise<string>;
35
35
  private refreshToken;
36
36
  private static isTokenExpired;
37
- private needsRefresh;
37
+ private static needsRefresh;
38
38
  /** Discards the cached access token so the next request performs a fresh exchange. */
39
39
  invalidateToken(): void;
40
40
  }
@@ -1 +1 @@
1
- {"version":3,"file":"workload-identity-auth.d.mts","sourceRoot":"","sources":["../src/auth/workload-identity-auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAyB,oBAAgB;AACvE,OAAO,KAAK,EAAE,KAAK,EAAE,sCAAkC;AAgHvD;;;;;;GAMG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,cAAc,CAAgC;IACtD,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmB;IAC1C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAiD;IAClF,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAQ;IAE9B;;;;;OAKG;gBACS,MAAM,EAAE,gBAAgB,EAAE,KAAK,CAAC,EAAE,KAAK;IAKnD;;;;;;;;;OASG;IACG,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC;YA+BnB,YAAY;IA8E1B,OAAO,CAAC,MAAM,CAAC,cAAc;IAI7B,OAAO,CAAC,YAAY;IAMpB,sFAAsF;IACtF,eAAe,IAAI,IAAI;CAKxB"}
1
+ {"version":3,"file":"workload-identity-auth.d.mts","sourceRoot":"","sources":["../src/auth/workload-identity-auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAyB,oBAAgB;AACvE,OAAO,KAAK,EAAE,KAAK,EAAE,sCAAkC;AA+HvD;;;;;;GAMG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,cAAc,CAAgC;IACtD,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmB;IAC1C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAiD;IAClF,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAQ;IAE9B;;;;;OAKG;gBACS,MAAM,EAAE,gBAAgB,EAAE,KAAK,CAAC,EAAE,KAAK;IAenD;;;;;;;;;OASG;IACG,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC;YA+BnB,YAAY;IA+E1B,OAAO,CAAC,MAAM,CAAC,cAAc;IAI7B,OAAO,CAAC,MAAM,CAAC,YAAY;IAI3B,sFAAsF;IACtF,eAAe,IAAI,IAAI;CAKxB"}
@@ -34,7 +34,7 @@ export declare class WorkloadIdentityAuth {
34
34
  getToken(): Promise<string>;
35
35
  private refreshToken;
36
36
  private static isTokenExpired;
37
- private needsRefresh;
37
+ private static needsRefresh;
38
38
  /** Discards the cached access token so the next request performs a fresh exchange. */
39
39
  invalidateToken(): void;
40
40
  }
@@ -1 +1 @@
1
- {"version":3,"file":"workload-identity-auth.d.ts","sourceRoot":"","sources":["../src/auth/workload-identity-auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAyB,mBAAgB;AACvE,OAAO,KAAK,EAAE,KAAK,EAAE,qCAAkC;AAgHvD;;;;;;GAMG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,cAAc,CAAgC;IACtD,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmB;IAC1C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAiD;IAClF,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAQ;IAE9B;;;;;OAKG;gBACS,MAAM,EAAE,gBAAgB,EAAE,KAAK,CAAC,EAAE,KAAK;IAKnD;;;;;;;;;OASG;IACG,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC;YA+BnB,YAAY;IA8E1B,OAAO,CAAC,MAAM,CAAC,cAAc;IAI7B,OAAO,CAAC,YAAY;IAMpB,sFAAsF;IACtF,eAAe,IAAI,IAAI;CAKxB"}
1
+ {"version":3,"file":"workload-identity-auth.d.ts","sourceRoot":"","sources":["../src/auth/workload-identity-auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAyB,mBAAgB;AACvE,OAAO,KAAK,EAAE,KAAK,EAAE,qCAAkC;AA+HvD;;;;;;GAMG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,cAAc,CAAgC;IACtD,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmB;IAC1C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAiD;IAClF,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAQ;IAE9B;;;;;OAKG;gBACS,MAAM,EAAE,gBAAgB,EAAE,KAAK,CAAC,EAAE,KAAK;IAenD;;;;;;;;;OASG;IACG,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC;YA+BnB,YAAY;IA+E1B,OAAO,CAAC,MAAM,CAAC,cAAc;IAI7B,OAAO,CAAC,MAAM,CAAC,YAAY;IAI3B,sFAAsF;IACtF,eAAe,IAAI,IAAI;CAKxB"}
@@ -9,6 +9,14 @@ const SUBJECT_TOKEN_TYPES = {
9
9
  id: 'urn:ietf:params:oauth:token-type:id_token',
10
10
  };
11
11
  const TOKEN_EXCHANGE_GRANT_TYPE = 'urn:ietf:params:oauth:grant-type:token-exchange';
12
+ // Cap the refresh buffer at half the actual token lifetime, matching the X.509
13
+ // workload-identity path, so short-lived tokens keep a usable cache window.
14
+ const MAX_REFRESH_BUFFER_FRACTION = 0.5;
15
+ function calculateRefreshAt(expiresAt, now, refreshBufferSeconds) {
16
+ const configuredBufferMs = (refreshBufferSeconds ?? 1200) * 1000;
17
+ const effectiveBufferMs = Math.min(configuredBufferMs, (expiresAt - now) * MAX_REFRESH_BUFFER_FRACTION);
18
+ return expiresAt - effectiveBufferMs;
19
+ }
12
20
  const NATIVE_RESPONSE_PROTOTYPE = Response.prototype;
13
21
  const READ_NATIVE_RESPONSE_BODY = NATIVE_RESPONSE_PROTOTYPE.arrayBuffer;
14
22
  function isResponsePrototype(response, prototype) {
@@ -101,7 +109,17 @@ class WorkloadIdentityAuth {
101
109
  this.refreshPromise = null;
102
110
  this.tokenGeneration = 0;
103
111
  this.tokenExchangeUrl = 'https://auth.openai.com/oauth/token';
104
- this.config = config;
112
+ const { identityProviderId, serviceAccountId, clientId, refreshBufferSeconds, provider } = config;
113
+ this.config = {
114
+ identityProviderId,
115
+ serviceAccountId,
116
+ ...(clientId === undefined ? {} : { clientId }),
117
+ ...(refreshBufferSeconds === undefined ? {} : { refreshBufferSeconds }),
118
+ provider: {
119
+ tokenType: provider.tokenType,
120
+ getToken: provider.getToken.bind(provider),
121
+ },
122
+ };
105
123
  this.fetch = fetch ?? Shims.getDefaultFetch();
106
124
  }
107
125
  /**
@@ -130,7 +148,7 @@ class WorkloadIdentityAuth {
130
148
  }
131
149
  }
132
150
  }
133
- if (this.needsRefresh(this.cachedToken) && !this.refreshPromise) {
151
+ if (WorkloadIdentityAuth.needsRefresh(this.cachedToken) && !this.refreshPromise) {
134
152
  const refreshPromise = this.refreshToken(this.tokenGeneration).finally(() => {
135
153
  if (this.refreshPromise === refreshPromise) {
136
154
  this.refreshPromise = null;
@@ -197,6 +215,7 @@ class WorkloadIdentityAuth {
197
215
  this.cachedToken = {
198
216
  token: accessToken,
199
217
  expiresAt,
218
+ refreshAt: calculateRefreshAt(expiresAt, now, this.config.refreshBufferSeconds),
200
219
  };
201
220
  }
202
221
  return accessToken;
@@ -204,10 +223,8 @@ class WorkloadIdentityAuth {
204
223
  static isTokenExpired(cachedToken) {
205
224
  return Date.now() >= cachedToken.expiresAt;
206
225
  }
207
- needsRefresh(cachedToken) {
208
- const bufferSeconds = this.config.refreshBufferSeconds ?? 1200;
209
- const bufferMs = bufferSeconds * 1000;
210
- return Date.now() >= cachedToken.expiresAt - bufferMs;
226
+ static needsRefresh(cachedToken) {
227
+ return Date.now() >= cachedToken.refreshAt;
211
228
  }
212
229
  /** Discards the cached access token so the next request performs a fresh exchange. */
213
230
  invalidateToken() {
@@ -1 +1 @@
1
- {"version":3,"file":"workload-identity-auth.js","sourceRoot":"","sources":["../src/auth/workload-identity-auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workload-identity-auth.js","sourceRoot":"","sources":["../src/auth/workload-identity-auth.ts"],"names":[],"mappings":";;;;AAEA,oEAA2C;AAC3C,4CAAkE;AAQlE,MAAM,mBAAmB,GAA8D;IACrF,GAAG,EAAE,sCAAsC;IAC3C,EAAE,EAAE,2CAA2C;CAChD,CAAC;AAEF,MAAM,yBAAyB,GAAG,iDAAiD,CAAC;AACpF,+EAA+E;AAC/E,4EAA4E;AAC5E,MAAM,2BAA2B,GAAG,GAAG,CAAC;AAExC,SAAS,kBAAkB,CACzB,SAAiB,EACjB,GAAW,EACX,oBAAwC;IAExC,MAAM,kBAAkB,GAAG,CAAC,oBAAoB,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC;IACjE,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC,SAAS,GAAG,GAAG,CAAC,GAAG,2BAA2B,CAAC,CAAC;IACxG,OAAO,SAAS,GAAG,iBAAiB,CAAC;AACvC,CAAC;AAED,MAAM,yBAAyB,GAAG,QAAQ,CAAC,SAAS,CAAC;AACrD,MAAM,yBAAyB,GAAG,yBAAyB,CAAC,WAAW,CAAC;AAExE,SAAS,mBAAmB,CAAC,QAAkB,EAAE,SAAiB;IAChE,MAAM,WAAW,GAAG,MAAM,CAAC,wBAAwB,CAAC,SAAS,EAAE,aAAa,CAAC,EAAE,KAAK,CAAC;IACrF,IACE,SAAS,KAAK,QAAQ;QACtB,OAAO,WAAW,KAAK,UAAU;QACjC,MAAM,CAAC,wBAAwB,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE,KAAK,KAAK,UAAU;QAC1E,MAAM,CAAC,wBAAwB,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE,KAAK,KAAK,SAAS,EAC9E,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,CAAC,wBAAwB,CAAC,SAAS,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;IAC3E,OAAO,CACL,CAAC,GAAG,EAAE,KAAK,KAAK,UAAU,IAAI,OAAO,GAAG,EAAE,GAAG,KAAK,UAAU,CAAC;QAC7D,OAAO,MAAM,CAAC,wBAAwB,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,GAAG,KAAK,UAAU;QAChF,OAAO,MAAM,CAAC,wBAAwB,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,GAAG,KAAK,UAAU;QAC3E,OAAO,MAAM,CAAC,wBAAwB,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,GAAG,KAAK,UAAU,CAChF,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAAC,SAAiB,EAAE,iBAAgC;IAClF,IAAI,SAAS,KAAK,iBAAiB,EAAE,CAAC;QACpC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,CAAC,wBAAwB,CAAC,SAAS,EAAE,aAAa,CAAC,EAAE,KAAK,CAAC;IACrF,OAAO,CACL,iBAAiB,KAAK,IAAI;QAC1B,MAAM,CAAC,cAAc,CAAC,iBAAiB,CAAC,KAAK,SAAS;QACtD,OAAO,WAAW,KAAK,UAAU;QACjC,MAAM,CAAC,wBAAwB,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE,KAAK,KAAK,MAAM;QACtE,MAAM,CAAC,wBAAwB,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE,KAAK,KAAK,SAAS,CAC/E,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB,CAAC,IAAiB;IACjD,MAAM,KAAK,GAAG,UAAiE,CAAC;IAChF,OAAO,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,OAAO,KAAK,CAAC,GAAG,EAAE,OAAO,KAAK,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACtG,CAAC;AAED,KAAK,UAAU,uBAAuB,CAAC,QAAkB;IACvD,IAAI,QAA2D,CAAC;IAChE,IAAI,iBAAiB,GAAkB,IAAI,CAAC;IAC5C,KACE,IAAI,KAAK,GAAG,CAAC,EAAE,SAAS,GAAkB,QAAQ,EAClD,SAAS,KAAK,IAAI,IAAI,KAAK,GAAG,EAAE,EAChC,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,KAAK,IAAI,CAAC,EACxD,CAAC;QACD,IAAI,SAAS,KAAK,yBAAyB,EAAE,CAAC;YAC5C,MAAM;QACR,CAAC;QAED,IAAI,mBAAmB,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,CAAC;YAC7C,iBAAiB,GAAG,SAAS,CAAC;QAChC,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,CAAC,wBAAwB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAClE,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,SAAS;QACX,CAAC;QAED,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;YACvC,MAAM;QACR,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,CAAC,wBAAwB,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,KAAK,CAAC;QAC7E,IAAI,OAAO,UAAU,KAAK,UAAU,IAAI,uBAAuB,CAAC,SAAS,EAAE,iBAAiB,CAAC,EAAE,CAAC;YAC9F,QAAQ,GAAG,UAAU,CAAC;YACtB,MAAM;QACR,CAAC;QAED,0FAA0F;QAC1F,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC;IAED,MAAM,IAAI,GACR,QAAQ,KAAK,SAAS;QACpB,CAAC,CAAC,wBAAwB,CAAC,MAAM,yBAAyB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1E,CAAC,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACpC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,WAAW,CAAC,+CAA+C,CAAC,CAAC;IACzE,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,WAAmB;IAC9C,MAAM,KAAK,GAAG,UAAiE,CAAC;IAChF,IAAI,OAAO,KAAK,CAAC,GAAG,EAAE,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC3C,OAAO,mCAAmC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,gDAAgD,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAC5E,CAAC;AAED;;;;;;GAMG;AACH,MAAa,oBAAoB;IAQ/B;;;;;OAKG;IACH,YAAY,MAAwB,EAAE,KAAa;QAb3C,gBAAW,GAAuB,IAAI,CAAC;QACvC,mBAAc,GAA2B,IAAI,CAAC;QAC9C,oBAAe,GAAG,CAAC,CAAC;QAEX,qBAAgB,GAAW,qCAAqC,CAAC;QAUhF,MAAM,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,QAAQ,EAAE,oBAAoB,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;QAClG,IAAI,CAAC,MAAM,GAAG;YACZ,kBAAkB;YAClB,gBAAgB;YAChB,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;YAC/C,GAAG,CAAC,oBAAoB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,oBAAoB,EAAE,CAAC;YACvE,QAAQ,EAAE;gBACR,SAAS,EAAE,QAAQ,CAAC,SAAS;gBAC7B,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC;aAC3C;SACF,CAAC;QACF,IAAI,CAAC,KAAK,GAAG,KAAK,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;IAChD,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,QAAQ;QACZ,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,oBAAoB,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YAC/E,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBACxB,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC;YACnC,CAAC;YAED,MAAM,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAC/D,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;YAErC,IAAI,CAAC;gBACH,OAAO,MAAM,cAAc,CAAC;YAC9B,CAAC;oBAAS,CAAC;gBACT,IAAI,IAAI,CAAC,cAAc,KAAK,cAAc,EAAE,CAAC;oBAC3C,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;gBAC7B,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,oBAAoB,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YAChF,MAAM,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;gBAC1E,IAAI,IAAI,CAAC,cAAc,KAAK,cAAc,EAAE,CAAC;oBAC3C,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;gBAC7B,CAAC;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;YACrC,KAAK,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QACxC,CAAC;QAED,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;IAChC,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,UAAkB;QAC3C,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QAC3D,MAAM,IAAI,GAA2B;YACnC,UAAU,EAAE,yBAAyB;YACrC,aAAa,EAAE,YAAY;YAC3B,kBAAkB,EAAE,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC;YACvE,oBAAoB,EAAE,IAAI,CAAC,MAAM,CAAC,kBAAkB;YACpD,kBAAkB,EAAE,IAAI,CAAC,MAAM,CAAC,gBAAgB;SACjD,CAAC;QAEF,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACzB,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;QAC3C,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,EAAE;YACvD,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YAC1B,QAAQ,EAAE,QAAQ;SACnB,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACxC,IAAI,IAAI,GAAQ,SAAS,CAAC;YAE1B,IAAI,CAAC;gBACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAC/B,CAAC;YAAC,MAAM,CAAC;gBACP,gCAAgC;YAClC,CAAC;YAED,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBAClF,MAAM,IAAI,kBAAU,CAAC,QAAQ,CAAC,MAAyB,EAAE,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;YACnF,CAAC;YACD,MAAM,gBAAQ,CAAC,QAAQ,CACrB,QAAQ,CAAC,MAAM,EACf,IAAI,EACJ,qCAAqC,QAAQ,CAAC,MAAM,EAAE,EACtD,QAAQ,CAAC,OAAO,CACjB,CAAC;QACJ,CAAC;QAED,MAAM,aAAa,GAAY,MAAM,uBAAuB,CAAC,QAAQ,CAAC,CAAC;QACvE,MAAM,WAAW,GACf,OAAO,aAAa,KAAK,QAAQ,IAAI,aAAa,KAAK,IAAI,IAAI,cAAc,IAAI,aAAa;YAC5F,CAAC,CAAC,aAAa,CAAC,YAAY;YAC5B,CAAC,CAAC,SAAS,CAAC;QAChB,IACE,OAAO,WAAW,KAAK,QAAQ;YAC/B,WAAW,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;YAC/B,mBAAmB,CAAC,WAAW,CAAC,EAChC,CAAC;YACD,MAAM,IAAI,mBAAW,CAAC,sDAAsD,CAAC,CAAC;QAChF,CAAC;QAED,MAAM,SAAS,GAAI,aAAgD,CAAC,UAAU,IAAI,IAAI,CAAC;QACvF,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;YACnF,MAAM,IAAI,mBAAW,CAAC,wDAAwD,CAAC,CAAC;QAClF,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,SAAS,GAAG,GAAG,GAAG,SAAS,GAAG,IAAI,CAAC;QACzC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,SAAS,IAAI,GAAG,EAAE,CAAC;YACzD,MAAM,IAAI,mBAAW,CAAC,wDAAwD,CAAC,CAAC;QAClF,CAAC;QAED,IAAI,IAAI,CAAC,eAAe,KAAK,UAAU,EAAE,CAAC;YACxC,IAAI,CAAC,WAAW,GAAG;gBACjB,KAAK,EAAE,WAAW;gBAClB,SAAS;gBACT,SAAS,EAAE,kBAAkB,CAAC,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC;aAChF,CAAC;QACJ,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;IAEO,MAAM,CAAC,cAAc,CAAC,WAAwB;QACpD,OAAO,IAAI,CAAC,GAAG,EAAE,IAAI,WAAW,CAAC,SAAS,CAAC;IAC7C,CAAC;IAEO,MAAM,CAAC,YAAY,CAAC,WAAwB;QAClD,OAAO,IAAI,CAAC,GAAG,EAAE,IAAI,WAAW,CAAC,SAAS,CAAC;IAC7C,CAAC;IAED,sFAAsF;IACtF,eAAe;QACb,IAAI,CAAC,eAAe,IAAI,CAAC,CAAC;QAC1B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;IAC7B,CAAC;CACF;AAnKD,oDAmKC"}
@@ -5,6 +5,14 @@ const SUBJECT_TOKEN_TYPES = {
5
5
  id: 'urn:ietf:params:oauth:token-type:id_token',
6
6
  };
7
7
  const TOKEN_EXCHANGE_GRANT_TYPE = 'urn:ietf:params:oauth:grant-type:token-exchange';
8
+ // Cap the refresh buffer at half the actual token lifetime, matching the X.509
9
+ // workload-identity path, so short-lived tokens keep a usable cache window.
10
+ const MAX_REFRESH_BUFFER_FRACTION = 0.5;
11
+ function calculateRefreshAt(expiresAt, now, refreshBufferSeconds) {
12
+ const configuredBufferMs = (refreshBufferSeconds ?? 1200) * 1000;
13
+ const effectiveBufferMs = Math.min(configuredBufferMs, (expiresAt - now) * MAX_REFRESH_BUFFER_FRACTION);
14
+ return expiresAt - effectiveBufferMs;
15
+ }
8
16
  const NATIVE_RESPONSE_PROTOTYPE = Response.prototype;
9
17
  const READ_NATIVE_RESPONSE_BODY = NATIVE_RESPONSE_PROTOTYPE.arrayBuffer;
10
18
  function isResponsePrototype(response, prototype) {
@@ -97,7 +105,17 @@ export class WorkloadIdentityAuth {
97
105
  this.refreshPromise = null;
98
106
  this.tokenGeneration = 0;
99
107
  this.tokenExchangeUrl = 'https://auth.openai.com/oauth/token';
100
- this.config = config;
108
+ const { identityProviderId, serviceAccountId, clientId, refreshBufferSeconds, provider } = config;
109
+ this.config = {
110
+ identityProviderId,
111
+ serviceAccountId,
112
+ ...(clientId === undefined ? {} : { clientId }),
113
+ ...(refreshBufferSeconds === undefined ? {} : { refreshBufferSeconds }),
114
+ provider: {
115
+ tokenType: provider.tokenType,
116
+ getToken: provider.getToken.bind(provider),
117
+ },
118
+ };
101
119
  this.fetch = fetch ?? Shims.getDefaultFetch();
102
120
  }
103
121
  /**
@@ -126,7 +144,7 @@ export class WorkloadIdentityAuth {
126
144
  }
127
145
  }
128
146
  }
129
- if (this.needsRefresh(this.cachedToken) && !this.refreshPromise) {
147
+ if (WorkloadIdentityAuth.needsRefresh(this.cachedToken) && !this.refreshPromise) {
130
148
  const refreshPromise = this.refreshToken(this.tokenGeneration).finally(() => {
131
149
  if (this.refreshPromise === refreshPromise) {
132
150
  this.refreshPromise = null;
@@ -193,6 +211,7 @@ export class WorkloadIdentityAuth {
193
211
  this.cachedToken = {
194
212
  token: accessToken,
195
213
  expiresAt,
214
+ refreshAt: calculateRefreshAt(expiresAt, now, this.config.refreshBufferSeconds),
196
215
  };
197
216
  }
198
217
  return accessToken;
@@ -200,10 +219,8 @@ export class WorkloadIdentityAuth {
200
219
  static isTokenExpired(cachedToken) {
201
220
  return Date.now() >= cachedToken.expiresAt;
202
221
  }
203
- needsRefresh(cachedToken) {
204
- const bufferSeconds = this.config.refreshBufferSeconds ?? 1200;
205
- const bufferMs = bufferSeconds * 1000;
206
- return Date.now() >= cachedToken.expiresAt - bufferMs;
222
+ static needsRefresh(cachedToken) {
223
+ return Date.now() >= cachedToken.refreshAt;
207
224
  }
208
225
  /** Discards the cached access token so the next request performs a fresh exchange. */
209
226
  invalidateToken() {
@@ -1 +1 @@
1
- {"version":3,"file":"workload-identity-auth.mjs","sourceRoot":"","sources":["../src/auth/workload-identity-auth.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,8BAA0B;AAC3C,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,0BAAsB;AAOlE,MAAM,mBAAmB,GAA8D;IACrF,GAAG,EAAE,sCAAsC;IAC3C,EAAE,EAAE,2CAA2C;CAChD,CAAC;AAEF,MAAM,yBAAyB,GAAG,iDAAiD,CAAC;AACpF,MAAM,yBAAyB,GAAG,QAAQ,CAAC,SAAS,CAAC;AACrD,MAAM,yBAAyB,GAAG,yBAAyB,CAAC,WAAW,CAAC;AAExE,SAAS,mBAAmB,CAAC,QAAkB,EAAE,SAAiB;IAChE,MAAM,WAAW,GAAG,MAAM,CAAC,wBAAwB,CAAC,SAAS,EAAE,aAAa,CAAC,EAAE,KAAK,CAAC;IACrF,IACE,SAAS,KAAK,QAAQ;QACtB,OAAO,WAAW,KAAK,UAAU;QACjC,MAAM,CAAC,wBAAwB,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE,KAAK,KAAK,UAAU;QAC1E,MAAM,CAAC,wBAAwB,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE,KAAK,KAAK,SAAS,EAC9E,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,CAAC,wBAAwB,CAAC,SAAS,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;IAC3E,OAAO,CACL,CAAC,GAAG,EAAE,KAAK,KAAK,UAAU,IAAI,OAAO,GAAG,EAAE,GAAG,KAAK,UAAU,CAAC;QAC7D,OAAO,MAAM,CAAC,wBAAwB,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,GAAG,KAAK,UAAU;QAChF,OAAO,MAAM,CAAC,wBAAwB,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,GAAG,KAAK,UAAU;QAC3E,OAAO,MAAM,CAAC,wBAAwB,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,GAAG,KAAK,UAAU,CAChF,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAAC,SAAiB,EAAE,iBAAgC;IAClF,IAAI,SAAS,KAAK,iBAAiB,EAAE,CAAC;QACpC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,CAAC,wBAAwB,CAAC,SAAS,EAAE,aAAa,CAAC,EAAE,KAAK,CAAC;IACrF,OAAO,CACL,iBAAiB,KAAK,IAAI;QAC1B,MAAM,CAAC,cAAc,CAAC,iBAAiB,CAAC,KAAK,SAAS;QACtD,OAAO,WAAW,KAAK,UAAU;QACjC,MAAM,CAAC,wBAAwB,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE,KAAK,KAAK,MAAM;QACtE,MAAM,CAAC,wBAAwB,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE,KAAK,KAAK,SAAS,CAC/E,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB,CAAC,IAAiB;IACjD,MAAM,KAAK,GAAG,UAAiE,CAAC;IAChF,OAAO,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,OAAO,KAAK,CAAC,GAAG,EAAE,OAAO,KAAK,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACtG,CAAC;AAED,KAAK,UAAU,uBAAuB,CAAC,QAAkB;IACvD,IAAI,QAA2D,CAAC;IAChE,IAAI,iBAAiB,GAAkB,IAAI,CAAC;IAC5C,KACE,IAAI,KAAK,GAAG,CAAC,EAAE,SAAS,GAAkB,QAAQ,EAClD,SAAS,KAAK,IAAI,IAAI,KAAK,GAAG,EAAE,EAChC,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,KAAK,IAAI,CAAC,EACxD,CAAC;QACD,IAAI,SAAS,KAAK,yBAAyB,EAAE,CAAC;YAC5C,MAAM;QACR,CAAC;QAED,IAAI,mBAAmB,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,CAAC;YAC7C,iBAAiB,GAAG,SAAS,CAAC;QAChC,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,CAAC,wBAAwB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAClE,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,SAAS;QACX,CAAC;QAED,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;YACvC,MAAM;QACR,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,CAAC,wBAAwB,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,KAAK,CAAC;QAC7E,IAAI,OAAO,UAAU,KAAK,UAAU,IAAI,uBAAuB,CAAC,SAAS,EAAE,iBAAiB,CAAC,EAAE,CAAC;YAC9F,QAAQ,GAAG,UAAU,CAAC;YACtB,MAAM;QACR,CAAC;QAED,0FAA0F;QAC1F,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC;IAED,MAAM,IAAI,GACR,QAAQ,KAAK,SAAS;QACpB,CAAC,CAAC,wBAAwB,CAAC,MAAM,yBAAyB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1E,CAAC,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACpC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,WAAW,CAAC,+CAA+C,CAAC,CAAC;IACzE,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,WAAmB;IAC9C,MAAM,KAAK,GAAG,UAAiE,CAAC;IAChF,IAAI,OAAO,KAAK,CAAC,GAAG,EAAE,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC3C,OAAO,mCAAmC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,gDAAgD,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAC5E,CAAC;AAED;;;;;;GAMG;AACH,MAAM,OAAO,oBAAoB;IAQ/B;;;;;OAKG;IACH,YAAY,MAAwB,EAAE,KAAa;QAb3C,gBAAW,GAAuB,IAAI,CAAC;QACvC,mBAAc,GAA2B,IAAI,CAAC;QAC9C,oBAAe,GAAG,CAAC,CAAC;QAEX,qBAAgB,GAAW,qCAAqC,CAAC;QAUhF,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,KAAK,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;IAChD,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,QAAQ;QACZ,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,oBAAoB,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YAC/E,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBACxB,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC;YACnC,CAAC;YAED,MAAM,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAC/D,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;YAErC,IAAI,CAAC;gBACH,OAAO,MAAM,cAAc,CAAC;YAC9B,CAAC;oBAAS,CAAC;gBACT,IAAI,IAAI,CAAC,cAAc,KAAK,cAAc,EAAE,CAAC;oBAC3C,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;gBAC7B,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YAChE,MAAM,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;gBAC1E,IAAI,IAAI,CAAC,cAAc,KAAK,cAAc,EAAE,CAAC;oBAC3C,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;gBAC7B,CAAC;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;YACrC,KAAK,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QACxC,CAAC;QAED,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;IAChC,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,UAAkB;QAC3C,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QAC3D,MAAM,IAAI,GAA2B;YACnC,UAAU,EAAE,yBAAyB;YACrC,aAAa,EAAE,YAAY;YAC3B,kBAAkB,EAAE,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC;YACvE,oBAAoB,EAAE,IAAI,CAAC,MAAM,CAAC,kBAAkB;YACpD,kBAAkB,EAAE,IAAI,CAAC,MAAM,CAAC,gBAAgB;SACjD,CAAC;QAEF,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACzB,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;QAC3C,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,EAAE;YACvD,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YAC1B,QAAQ,EAAE,QAAQ;SACnB,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACxC,IAAI,IAAI,GAAQ,SAAS,CAAC;YAE1B,IAAI,CAAC;gBACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAC/B,CAAC;YAAC,MAAM,CAAC;gBACP,gCAAgC;YAClC,CAAC;YAED,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBAClF,MAAM,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAyB,EAAE,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;YACnF,CAAC;YACD,MAAM,QAAQ,CAAC,QAAQ,CACrB,QAAQ,CAAC,MAAM,EACf,IAAI,EACJ,qCAAqC,QAAQ,CAAC,MAAM,EAAE,EACtD,QAAQ,CAAC,OAAO,CACjB,CAAC;QACJ,CAAC;QAED,MAAM,aAAa,GAAY,MAAM,uBAAuB,CAAC,QAAQ,CAAC,CAAC;QACvE,MAAM,WAAW,GACf,OAAO,aAAa,KAAK,QAAQ,IAAI,aAAa,KAAK,IAAI,IAAI,cAAc,IAAI,aAAa;YAC5F,CAAC,CAAC,aAAa,CAAC,YAAY;YAC5B,CAAC,CAAC,SAAS,CAAC;QAChB,IACE,OAAO,WAAW,KAAK,QAAQ;YAC/B,WAAW,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;YAC/B,mBAAmB,CAAC,WAAW,CAAC,EAChC,CAAC;YACD,MAAM,IAAI,WAAW,CAAC,sDAAsD,CAAC,CAAC;QAChF,CAAC;QAED,MAAM,SAAS,GAAI,aAAgD,CAAC,UAAU,IAAI,IAAI,CAAC;QACvF,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;YACnF,MAAM,IAAI,WAAW,CAAC,wDAAwD,CAAC,CAAC;QAClF,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,SAAS,GAAG,GAAG,GAAG,SAAS,GAAG,IAAI,CAAC;QACzC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,SAAS,IAAI,GAAG,EAAE,CAAC;YACzD,MAAM,IAAI,WAAW,CAAC,wDAAwD,CAAC,CAAC;QAClF,CAAC;QAED,IAAI,IAAI,CAAC,eAAe,KAAK,UAAU,EAAE,CAAC;YACxC,IAAI,CAAC,WAAW,GAAG;gBACjB,KAAK,EAAE,WAAW;gBAClB,SAAS;aACV,CAAC;QACJ,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;IAEO,MAAM,CAAC,cAAc,CAAC,WAAwB;QACpD,OAAO,IAAI,CAAC,GAAG,EAAE,IAAI,WAAW,CAAC,SAAS,CAAC;IAC7C,CAAC;IAEO,YAAY,CAAC,WAAwB;QAC3C,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,oBAAoB,IAAI,IAAI,CAAC;QAC/D,MAAM,QAAQ,GAAG,aAAa,GAAG,IAAI,CAAC;QACtC,OAAO,IAAI,CAAC,GAAG,EAAE,IAAI,WAAW,CAAC,SAAS,GAAG,QAAQ,CAAC;IACxD,CAAC;IAED,sFAAsF;IACtF,eAAe;QACb,IAAI,CAAC,eAAe,IAAI,CAAC,CAAC;QAC1B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;IAC7B,CAAC;CACF"}
1
+ {"version":3,"file":"workload-identity-auth.mjs","sourceRoot":"","sources":["../src/auth/workload-identity-auth.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,40 @@
1
- import type { X509Transport, X509TransportOptions } from "../internal/auth/x509-transport-capability.mjs";
1
+ import type { X509ProxyMode, X509Transport, X509TransportOptions } from "../internal/auth/x509-transport-capability.mjs";
2
+ import type { X509Credential } from "./types.mjs";
3
+ /** Explicit, separately trusted CONNECT configuration for an SDK-owned X.509 credential. */
4
+ export interface X509CredentialProxyOptions {
5
+ /** CONNECT proxy endpoint; its protocol must match the selected mode. */
6
+ url: string | URL;
7
+ /** Whether the connection to the CONNECT proxy itself is encrypted. */
8
+ mode: Exclude<X509ProxyMode, 'direct'>;
9
+ /** Optional private trust roots for the HTTPS proxy; never used for workload TLS. */
10
+ ca?: string | string[] | undefined;
11
+ }
12
+ /** Private certificate material and enrolled selectors for one SDK-owned workload credential. */
13
+ export interface X509CredentialOptions {
14
+ /** Leaf client certificate followed by its required PEM intermediate chain. */
15
+ certificateChain: string;
16
+ /** PEM private key matching the leaf client certificate. */
17
+ privateKey: string;
18
+ /** Existing OpenAI identity-provider resource enrolled for the certificate. */
19
+ identityProviderId: string;
20
+ /** OpenAI service account authorized for the verified certificate identity. */
21
+ serviceAccountId: string;
22
+ /** Optional private certificate authorities trusted for OpenAI's issuer and API. */
23
+ ca?: string | string[] | undefined;
24
+ /** Optional passphrase used to decrypt an encrypted PEM private key. */
25
+ passphrase?: string | undefined;
26
+ /** Optional CONNECT proxy with separately scoped target and proxy TLS settings. */
27
+ proxy?: X509CredentialProxyOptions | undefined;
28
+ /** Seconds before expiration when access-token refresh begins; defaults to 1,200. */
29
+ refreshBufferSeconds?: number | undefined;
30
+ }
2
31
  /** Creates one frozen, caller-attested Node.js transport for X.509 workload authentication. */
3
32
  export declare function createX509Transport(options: X509TransportOptions): X509Transport;
33
+ /** Creates a first-class certificate credential with SDK-owned, verified TLS and CONNECT policy. */
34
+ export declare function fromX509(options: X509CredentialOptions): X509Credential;
35
+ /** Namespaced first-class credential factory, isolated from ordinary browser-safe auth imports. */
36
+ export declare const workloadIdentity: Readonly<{
37
+ fromX509: typeof fromX509;
38
+ }>;
4
39
  export type { X509ProxyMode, X509Transport, X509TransportOptions, } from "../internal/auth/x509-transport-capability.mjs";
5
40
  //# sourceMappingURL=x509-transport.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"x509-transport.d.mts","sourceRoot":"","sources":["../src/auth/x509-transport.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,uDAAmD;AAMtG,+FAA+F;AAC/F,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,oBAAoB,GAAG,aAAa,CA4BhF;AAED,YAAY,EACV,aAAa,EACb,aAAa,EACb,oBAAoB,GACrB,uDAAmD"}
1
+ {"version":3,"file":"x509-transport.d.mts","sourceRoot":"","sources":["../src/auth/x509-transport.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EACV,aAAa,EACb,aAAa,EACb,oBAAoB,EACrB,uDAAmD;AAKpD,OAAO,KAAK,EAAE,cAAc,EAAwB,oBAAgB;AAEpE,4FAA4F;AAC5F,MAAM,WAAW,0BAA0B;IACzC,yEAAyE;IACzE,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;IAElB,uEAAuE;IACvE,IAAI,EAAE,OAAO,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IAEvC,qFAAqF;IACrF,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC;CACpC;AAED,iGAAiG;AACjG,MAAM,WAAW,qBAAqB;IACpC,+EAA+E;IAC/E,gBAAgB,EAAE,MAAM,CAAC;IAEzB,4DAA4D;IAC5D,UAAU,EAAE,MAAM,CAAC;IAEnB,+EAA+E;IAC/E,kBAAkB,EAAE,MAAM,CAAC;IAE3B,+EAA+E;IAC/E,gBAAgB,EAAE,MAAM,CAAC;IAEzB,oFAAoF;IACpF,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC;IAEnC,wEAAwE;IACxE,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAEhC,mFAAmF;IACnF,KAAK,CAAC,EAAE,0BAA0B,GAAG,SAAS,CAAC;IAE/C,qFAAqF;IACrF,oBAAoB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3C;AAgOD,+FAA+F;AAC/F,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,oBAAoB,GAAG,aAAa,CA4BhF;AAED,oGAAoG;AACpG,wBAAgB,QAAQ,CAAC,OAAO,EAAE,qBAAqB,GAAG,cAAc,CAkCvE;AAED,mGAAmG;AACnG,eAAO,MAAM,gBAAgB;;EAA8B,CAAC;AAE5D,YAAY,EACV,aAAa,EACb,aAAa,EACb,oBAAoB,GACrB,uDAAmD"}
@@ -1,5 +1,40 @@
1
- import type { X509Transport, X509TransportOptions } from "../internal/auth/x509-transport-capability.js";
1
+ import type { X509ProxyMode, X509Transport, X509TransportOptions } from "../internal/auth/x509-transport-capability.js";
2
+ import type { X509Credential } from "./types.js";
3
+ /** Explicit, separately trusted CONNECT configuration for an SDK-owned X.509 credential. */
4
+ export interface X509CredentialProxyOptions {
5
+ /** CONNECT proxy endpoint; its protocol must match the selected mode. */
6
+ url: string | URL;
7
+ /** Whether the connection to the CONNECT proxy itself is encrypted. */
8
+ mode: Exclude<X509ProxyMode, 'direct'>;
9
+ /** Optional private trust roots for the HTTPS proxy; never used for workload TLS. */
10
+ ca?: string | string[] | undefined;
11
+ }
12
+ /** Private certificate material and enrolled selectors for one SDK-owned workload credential. */
13
+ export interface X509CredentialOptions {
14
+ /** Leaf client certificate followed by its required PEM intermediate chain. */
15
+ certificateChain: string;
16
+ /** PEM private key matching the leaf client certificate. */
17
+ privateKey: string;
18
+ /** Existing OpenAI identity-provider resource enrolled for the certificate. */
19
+ identityProviderId: string;
20
+ /** OpenAI service account authorized for the verified certificate identity. */
21
+ serviceAccountId: string;
22
+ /** Optional private certificate authorities trusted for OpenAI's issuer and API. */
23
+ ca?: string | string[] | undefined;
24
+ /** Optional passphrase used to decrypt an encrypted PEM private key. */
25
+ passphrase?: string | undefined;
26
+ /** Optional CONNECT proxy with separately scoped target and proxy TLS settings. */
27
+ proxy?: X509CredentialProxyOptions | undefined;
28
+ /** Seconds before expiration when access-token refresh begins; defaults to 1,200. */
29
+ refreshBufferSeconds?: number | undefined;
30
+ }
2
31
  /** Creates one frozen, caller-attested Node.js transport for X.509 workload authentication. */
3
32
  export declare function createX509Transport(options: X509TransportOptions): X509Transport;
33
+ /** Creates a first-class certificate credential with SDK-owned, verified TLS and CONNECT policy. */
34
+ export declare function fromX509(options: X509CredentialOptions): X509Credential;
35
+ /** Namespaced first-class credential factory, isolated from ordinary browser-safe auth imports. */
36
+ export declare const workloadIdentity: Readonly<{
37
+ fromX509: typeof fromX509;
38
+ }>;
4
39
  export type { X509ProxyMode, X509Transport, X509TransportOptions, } from "../internal/auth/x509-transport-capability.js";
5
40
  //# sourceMappingURL=x509-transport.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"x509-transport.d.ts","sourceRoot":"","sources":["../src/auth/x509-transport.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,sDAAmD;AAMtG,+FAA+F;AAC/F,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,oBAAoB,GAAG,aAAa,CA4BhF;AAED,YAAY,EACV,aAAa,EACb,aAAa,EACb,oBAAoB,GACrB,sDAAmD"}
1
+ {"version":3,"file":"x509-transport.d.ts","sourceRoot":"","sources":["../src/auth/x509-transport.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EACV,aAAa,EACb,aAAa,EACb,oBAAoB,EACrB,sDAAmD;AAKpD,OAAO,KAAK,EAAE,cAAc,EAAwB,mBAAgB;AAEpE,4FAA4F;AAC5F,MAAM,WAAW,0BAA0B;IACzC,yEAAyE;IACzE,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;IAElB,uEAAuE;IACvE,IAAI,EAAE,OAAO,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IAEvC,qFAAqF;IACrF,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC;CACpC;AAED,iGAAiG;AACjG,MAAM,WAAW,qBAAqB;IACpC,+EAA+E;IAC/E,gBAAgB,EAAE,MAAM,CAAC;IAEzB,4DAA4D;IAC5D,UAAU,EAAE,MAAM,CAAC;IAEnB,+EAA+E;IAC/E,kBAAkB,EAAE,MAAM,CAAC;IAE3B,+EAA+E;IAC/E,gBAAgB,EAAE,MAAM,CAAC;IAEzB,oFAAoF;IACpF,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC;IAEnC,wEAAwE;IACxE,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAEhC,mFAAmF;IACnF,KAAK,CAAC,EAAE,0BAA0B,GAAG,SAAS,CAAC;IAE/C,qFAAqF;IACrF,oBAAoB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3C;AAgOD,+FAA+F;AAC/F,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,oBAAoB,GAAG,aAAa,CA4BhF;AAED,oGAAoG;AACpG,wBAAgB,QAAQ,CAAC,OAAO,EAAE,qBAAqB,GAAG,cAAc,CAkCvE;AAED,mGAAmG;AACnG,eAAO,MAAM,gBAAgB;;EAA8B,CAAC;AAE5D,YAAY,EACV,aAAa,EACb,aAAa,EACb,oBAAoB,GACrB,sDAAmD"}