openai 6.34.0 → 6.36.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 +69 -0
- package/azure.d.mts +4 -1
- package/azure.d.mts.map +1 -1
- package/azure.d.ts +4 -1
- package/azure.d.ts.map +1 -1
- package/azure.js +4 -3
- package/azure.js.map +1 -1
- package/azure.mjs +4 -3
- package/azure.mjs.map +1 -1
- package/beta/realtime/websocket.d.mts.map +1 -1
- package/beta/realtime/websocket.d.ts.map +1 -1
- package/beta/realtime/websocket.js +7 -2
- package/beta/realtime/websocket.js.map +1 -1
- package/beta/realtime/websocket.mjs +7 -2
- package/beta/realtime/websocket.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 +5 -1
- package/beta/realtime/ws.js.map +1 -1
- package/beta/realtime/ws.mjs +5 -1
- package/beta/realtime/ws.mjs.map +1 -1
- package/bin/migration-config.json +735 -0
- package/client.d.mts +30 -8
- package/client.d.mts.map +1 -1
- package/client.d.ts +30 -8
- package/client.d.ts.map +1 -1
- package/client.js +78 -22
- package/client.js.map +1 -1
- package/client.mjs +78 -22
- package/client.mjs.map +1 -1
- package/core/EventEmitter.d.mts +11 -0
- package/core/EventEmitter.d.mts.map +1 -1
- package/core/EventEmitter.d.ts +11 -0
- package/core/EventEmitter.d.ts.map +1 -1
- package/core/EventEmitter.js +15 -1
- package/core/EventEmitter.js.map +1 -1
- package/core/EventEmitter.mjs +13 -0
- package/core/EventEmitter.mjs.map +1 -1
- package/core/pagination.d.mts +18 -0
- package/core/pagination.d.mts.map +1 -1
- package/core/pagination.d.ts +18 -0
- package/core/pagination.d.ts.map +1 -1
- package/core/pagination.js +32 -1
- package/core/pagination.js.map +1 -1
- package/core/pagination.mjs +30 -0
- package/core/pagination.mjs.map +1 -1
- package/internal/request-options.d.mts +4 -0
- package/internal/request-options.d.mts.map +1 -1
- package/internal/request-options.d.ts +4 -0
- package/internal/request-options.d.ts.map +1 -1
- package/internal/request-options.js.map +1 -1
- package/internal/request-options.mjs.map +1 -1
- package/internal/types.d.mts +6 -6
- package/internal/types.d.mts.map +1 -1
- package/internal/types.d.ts +6 -6
- package/internal/types.d.ts.map +1 -1
- package/internal/utils/env.js +2 -2
- package/internal/utils/env.js.map +1 -1
- package/internal/utils/env.mjs +2 -2
- package/internal/utils/env.mjs.map +1 -1
- package/internal/ws-adapter-browser.d.mts +34 -0
- package/internal/ws-adapter-browser.d.mts.map +1 -0
- package/internal/ws-adapter-browser.d.ts +34 -0
- package/internal/ws-adapter-browser.d.ts.map +1 -0
- package/internal/ws-adapter-browser.js +88 -0
- package/internal/ws-adapter-browser.js.map +1 -0
- package/internal/ws-adapter-browser.mjs +84 -0
- package/internal/ws-adapter-browser.mjs.map +1 -0
- package/internal/ws-adapter-node.d.mts +27 -0
- package/internal/ws-adapter-node.d.mts.map +1 -0
- package/internal/ws-adapter-node.d.ts +27 -0
- package/internal/ws-adapter-node.d.ts.map +1 -0
- package/internal/ws-adapter-node.js +90 -0
- package/internal/ws-adapter-node.js.map +1 -0
- package/internal/ws-adapter-node.mjs +86 -0
- package/internal/ws-adapter-node.mjs.map +1 -0
- package/internal/ws-adapter.d.mts +24 -0
- package/internal/ws-adapter.d.mts.map +1 -0
- package/internal/ws-adapter.d.ts +24 -0
- package/internal/ws-adapter.d.ts.map +1 -0
- package/internal/ws-adapter.js +11 -0
- package/internal/ws-adapter.js.map +1 -0
- package/internal/ws-adapter.mjs +8 -0
- package/internal/ws-adapter.mjs.map +1 -0
- package/internal/ws.d.mts +80 -0
- package/internal/ws.d.mts.map +1 -0
- package/internal/ws.d.ts +80 -0
- package/internal/ws.d.ts.map +1 -0
- package/internal/ws.js +153 -0
- package/internal/ws.js.map +1 -0
- package/internal/ws.mjs +147 -0
- package/internal/ws.mjs.map +1 -0
- package/package.json +13 -13
- package/realtime/websocket.d.mts.map +1 -1
- package/realtime/websocket.d.ts.map +1 -1
- package/realtime/websocket.js +7 -2
- package/realtime/websocket.js.map +1 -1
- package/realtime/websocket.mjs +7 -2
- package/realtime/websocket.mjs.map +1 -1
- package/realtime/ws.d.mts.map +1 -1
- package/realtime/ws.d.ts.map +1 -1
- package/realtime/ws.js +5 -1
- package/realtime/ws.js.map +1 -1
- package/realtime/ws.mjs +5 -1
- package/realtime/ws.mjs.map +1 -1
- package/resources/admin/admin.d.mts +10 -0
- package/resources/admin/admin.d.mts.map +1 -0
- package/resources/admin/admin.d.ts +10 -0
- package/resources/admin/admin.d.ts.map +1 -0
- package/resources/admin/admin.js +17 -0
- package/resources/admin/admin.js.map +1 -0
- package/resources/admin/admin.mjs +12 -0
- package/resources/admin/admin.mjs.map +1 -0
- package/resources/admin/index.d.mts +3 -0
- package/resources/admin/index.d.mts.map +1 -0
- package/resources/admin/index.d.ts +3 -0
- package/resources/admin/index.d.ts.map +1 -0
- package/resources/admin/index.js +9 -0
- package/resources/admin/index.js.map +1 -0
- package/resources/admin/index.mjs +4 -0
- package/resources/admin/index.mjs.map +1 -0
- package/resources/admin/organization/admin-api-keys.d.mts +140 -0
- package/resources/admin/organization/admin-api-keys.d.mts.map +1 -0
- package/resources/admin/organization/admin-api-keys.d.ts +140 -0
- package/resources/admin/organization/admin-api-keys.d.ts.map +1 -0
- package/resources/admin/organization/admin-api-keys.js +81 -0
- package/resources/admin/organization/admin-api-keys.js.map +1 -0
- package/resources/admin/organization/admin-api-keys.mjs +77 -0
- package/resources/admin/organization/admin-api-keys.mjs.map +1 -0
- package/resources/admin/organization/audit-logs.d.mts +1267 -0
- package/resources/admin/organization/audit-logs.d.mts.map +1 -0
- package/resources/admin/organization/audit-logs.d.ts +1267 -0
- package/resources/admin/organization/audit-logs.d.ts.map +1 -0
- package/resources/admin/organization/audit-logs.js +31 -0
- package/resources/admin/organization/audit-logs.js.map +1 -0
- package/resources/admin/organization/audit-logs.mjs +27 -0
- package/resources/admin/organization/audit-logs.mjs.map +1 -0
- package/resources/admin/organization/certificates.d.mts +322 -0
- package/resources/admin/organization/certificates.d.mts.map +1 -0
- package/resources/admin/organization/certificates.d.ts +322 -0
- package/resources/admin/organization/certificates.d.ts.map +1 -0
- package/resources/admin/organization/certificates.js +144 -0
- package/resources/admin/organization/certificates.js.map +1 -0
- package/resources/admin/organization/certificates.mjs +140 -0
- package/resources/admin/organization/certificates.mjs.map +1 -0
- package/resources/admin/organization/groups/groups.d.mts +148 -0
- package/resources/admin/organization/groups/groups.d.mts.map +1 -0
- package/resources/admin/organization/groups/groups.d.ts +148 -0
- package/resources/admin/organization/groups/groups.d.ts.map +1 -0
- package/resources/admin/organization/groups/groups.js +92 -0
- package/resources/admin/organization/groups/groups.js.map +1 -0
- package/resources/admin/organization/groups/groups.mjs +87 -0
- package/resources/admin/organization/groups/groups.mjs.map +1 -0
- package/resources/admin/organization/groups/index.d.mts +4 -0
- package/resources/admin/organization/groups/index.d.mts.map +1 -0
- package/resources/admin/organization/groups/index.d.ts +4 -0
- package/resources/admin/organization/groups/index.d.ts.map +1 -0
- package/resources/admin/organization/groups/index.js +11 -0
- package/resources/admin/organization/groups/index.js.map +1 -0
- package/resources/admin/organization/groups/index.mjs +5 -0
- package/resources/admin/organization/groups/index.mjs.map +1 -0
- package/resources/admin/organization/groups/roles.d.mts +182 -0
- package/resources/admin/organization/groups/roles.d.mts.map +1 -0
- package/resources/admin/organization/groups/roles.d.ts +182 -0
- package/resources/admin/organization/groups/roles.d.ts.map +1 -0
- package/resources/admin/organization/groups/roles.js +65 -0
- package/resources/admin/organization/groups/roles.js.map +1 -0
- package/resources/admin/organization/groups/roles.mjs +61 -0
- package/resources/admin/organization/groups/roles.mjs.map +1 -0
- package/resources/admin/organization/groups/users.d.mts +116 -0
- package/resources/admin/organization/groups/users.d.mts.map +1 -0
- package/resources/admin/organization/groups/users.d.ts +116 -0
- package/resources/admin/organization/groups/users.d.ts.map +1 -0
- package/resources/admin/organization/groups/users.js +65 -0
- package/resources/admin/organization/groups/users.js.map +1 -0
- package/resources/admin/organization/groups/users.mjs +61 -0
- package/resources/admin/organization/groups/users.mjs.map +1 -0
- package/resources/admin/organization/groups.d.mts +2 -0
- package/resources/admin/organization/groups.d.mts.map +1 -0
- package/resources/admin/organization/groups.d.ts +2 -0
- package/resources/admin/organization/groups.d.ts.map +1 -0
- package/resources/admin/organization/groups.js +6 -0
- package/resources/admin/organization/groups.js.map +1 -0
- package/resources/admin/organization/groups.mjs +3 -0
- package/resources/admin/organization/groups.mjs.map +1 -0
- package/resources/admin/organization/index.d.mts +11 -0
- package/resources/admin/organization/index.d.mts.map +1 -0
- package/resources/admin/organization/index.d.ts +11 -0
- package/resources/admin/organization/index.d.ts.map +1 -0
- package/resources/admin/organization/index.js +25 -0
- package/resources/admin/organization/index.js.map +1 -0
- package/resources/admin/organization/index.mjs +12 -0
- package/resources/admin/organization/index.mjs.map +1 -0
- package/resources/admin/organization/invites.d.mts +152 -0
- package/resources/admin/organization/invites.d.mts.map +1 -0
- package/resources/admin/organization/invites.d.ts +152 -0
- package/resources/admin/organization/invites.d.ts.map +1 -0
- package/resources/admin/organization/invites.js +83 -0
- package/resources/admin/organization/invites.js.map +1 -0
- package/resources/admin/organization/invites.mjs +79 -0
- package/resources/admin/organization/invites.mjs.map +1 -0
- package/resources/admin/organization/organization.d.mts +42 -0
- package/resources/admin/organization/organization.d.mts.map +1 -0
- package/resources/admin/organization/organization.d.ts +42 -0
- package/resources/admin/organization/organization.d.ts.map +1 -0
- package/resources/admin/organization/organization.js +49 -0
- package/resources/admin/organization/organization.js.map +1 -0
- package/resources/admin/organization/organization.mjs +44 -0
- package/resources/admin/organization/organization.mjs.map +1 -0
- package/resources/admin/organization/projects/api-keys.d.mts +167 -0
- package/resources/admin/organization/projects/api-keys.d.mts.map +1 -0
- package/resources/admin/organization/projects/api-keys.d.ts +167 -0
- package/resources/admin/organization/projects/api-keys.d.ts.map +1 -0
- package/resources/admin/organization/projects/api-keys.js +68 -0
- package/resources/admin/organization/projects/api-keys.js.map +1 -0
- package/resources/admin/organization/projects/api-keys.mjs +64 -0
- package/resources/admin/organization/projects/api-keys.mjs.map +1 -0
- package/resources/admin/organization/projects/certificates.d.mts +186 -0
- package/resources/admin/organization/projects/certificates.d.mts.map +1 -0
- package/resources/admin/organization/projects/certificates.d.ts +186 -0
- package/resources/admin/organization/projects/certificates.d.ts.map +1 -0
- package/resources/admin/organization/projects/certificates.js +64 -0
- package/resources/admin/organization/projects/certificates.js.map +1 -0
- package/resources/admin/organization/projects/certificates.mjs +60 -0
- package/resources/admin/organization/projects/certificates.mjs.map +1 -0
- package/resources/admin/organization/projects/groups/groups.d.mts +119 -0
- package/resources/admin/organization/projects/groups/groups.d.mts.map +1 -0
- package/resources/admin/organization/projects/groups/groups.d.ts +119 -0
- package/resources/admin/organization/projects/groups/groups.d.ts.map +1 -0
- package/resources/admin/organization/projects/groups/groups.js +73 -0
- package/resources/admin/organization/projects/groups/groups.js.map +1 -0
- package/resources/admin/organization/projects/groups/groups.mjs +68 -0
- package/resources/admin/organization/projects/groups/groups.mjs.map +1 -0
- package/resources/admin/organization/projects/groups/index.d.mts +3 -0
- package/resources/admin/organization/projects/groups/index.d.mts.map +1 -0
- package/resources/admin/organization/projects/groups/index.d.ts +3 -0
- package/resources/admin/organization/projects/groups/index.d.ts.map +1 -0
- package/resources/admin/organization/projects/groups/index.js +9 -0
- package/resources/admin/organization/projects/groups/index.js.map +1 -0
- package/resources/admin/organization/projects/groups/index.mjs +4 -0
- package/resources/admin/organization/projects/groups/index.mjs.map +1 -0
- package/resources/admin/organization/projects/groups/roles.d.mts +195 -0
- package/resources/admin/organization/projects/groups/roles.d.mts.map +1 -0
- package/resources/admin/organization/projects/groups/roles.d.ts +195 -0
- package/resources/admin/organization/projects/groups/roles.d.ts.map +1 -0
- package/resources/admin/organization/projects/groups/roles.js +68 -0
- package/resources/admin/organization/projects/groups/roles.js.map +1 -0
- package/resources/admin/organization/projects/groups/roles.mjs +64 -0
- package/resources/admin/organization/projects/groups/roles.mjs.map +1 -0
- package/resources/admin/organization/projects/groups.d.mts +2 -0
- package/resources/admin/organization/projects/groups.d.mts.map +1 -0
- package/resources/admin/organization/projects/groups.d.ts +2 -0
- package/resources/admin/organization/projects/groups.d.ts.map +1 -0
- package/resources/admin/organization/projects/groups.js +6 -0
- package/resources/admin/organization/projects/groups.js.map +1 -0
- package/resources/admin/organization/projects/groups.mjs +3 -0
- package/resources/admin/organization/projects/groups.mjs.map +1 -0
- package/resources/admin/organization/projects/index.d.mts +9 -0
- package/resources/admin/organization/projects/index.d.mts.map +1 -0
- package/resources/admin/organization/projects/index.d.ts +9 -0
- package/resources/admin/organization/projects/index.d.ts.map +1 -0
- package/resources/admin/organization/projects/index.js +21 -0
- package/resources/admin/organization/projects/index.js.map +1 -0
- package/resources/admin/organization/projects/index.mjs +10 -0
- package/resources/admin/organization/projects/index.mjs.map +1 -0
- package/resources/admin/organization/projects/projects.d.mts +172 -0
- package/resources/admin/organization/projects/projects.d.mts.map +1 -0
- package/resources/admin/organization/projects/projects.d.ts +172 -0
- package/resources/admin/organization/projects/projects.d.ts.map +1 -0
- package/resources/admin/organization/projects/projects.js +133 -0
- package/resources/admin/organization/projects/projects.js.map +1 -0
- package/resources/admin/organization/projects/projects.mjs +128 -0
- package/resources/admin/organization/projects/projects.mjs.map +1 -0
- package/resources/admin/organization/projects/rate-limits.d.mts +120 -0
- package/resources/admin/organization/projects/rate-limits.d.mts.map +1 -0
- package/resources/admin/organization/projects/rate-limits.d.ts +120 -0
- package/resources/admin/organization/projects/rate-limits.d.ts.map +1 -0
- package/resources/admin/organization/projects/rate-limits.js +47 -0
- package/resources/admin/organization/projects/rate-limits.js.map +1 -0
- package/resources/admin/organization/projects/rate-limits.mjs +43 -0
- package/resources/admin/organization/projects/rate-limits.mjs.map +1 -0
- package/resources/admin/organization/projects/roles.d.mts +127 -0
- package/resources/admin/organization/projects/roles.d.mts.map +1 -0
- package/resources/admin/organization/projects/roles.d.ts +127 -0
- package/resources/admin/organization/projects/roles.d.ts.map +1 -0
- package/resources/admin/organization/projects/roles.js +89 -0
- package/resources/admin/organization/projects/roles.js.map +1 -0
- package/resources/admin/organization/projects/roles.mjs +85 -0
- package/resources/admin/organization/projects/roles.mjs.map +1 -0
- package/resources/admin/organization/projects/service-accounts.d.mts +141 -0
- package/resources/admin/organization/projects/service-accounts.d.mts.map +1 -0
- package/resources/admin/organization/projects/service-accounts.d.ts +141 -0
- package/resources/admin/organization/projects/service-accounts.d.ts.map +1 -0
- package/resources/admin/organization/projects/service-accounts.js +85 -0
- package/resources/admin/organization/projects/service-accounts.js.map +1 -0
- package/resources/admin/organization/projects/service-accounts.mjs +81 -0
- package/resources/admin/organization/projects/service-accounts.mjs.map +1 -0
- package/resources/admin/organization/projects/users/index.d.mts +3 -0
- package/resources/admin/organization/projects/users/index.d.mts.map +1 -0
- package/resources/admin/organization/projects/users/index.d.ts +3 -0
- package/resources/admin/organization/projects/users/index.d.ts.map +1 -0
- package/resources/admin/organization/projects/users/index.js +9 -0
- package/resources/admin/organization/projects/users/index.js.map +1 -0
- package/resources/admin/organization/projects/users/index.mjs +4 -0
- package/resources/admin/organization/projects/users/index.mjs.map +1 -0
- package/resources/admin/organization/projects/users/roles.d.mts +169 -0
- package/resources/admin/organization/projects/users/roles.d.mts.map +1 -0
- package/resources/admin/organization/projects/users/roles.d.ts +169 -0
- package/resources/admin/organization/projects/users/roles.d.ts.map +1 -0
- package/resources/admin/organization/projects/users/roles.js +68 -0
- package/resources/admin/organization/projects/users/roles.js.map +1 -0
- package/resources/admin/organization/projects/users/roles.mjs +64 -0
- package/resources/admin/organization/projects/users/roles.mjs.map +1 -0
- package/resources/admin/organization/projects/users/users.d.mts +157 -0
- package/resources/admin/organization/projects/users/users.d.mts.map +1 -0
- package/resources/admin/organization/projects/users/users.d.ts +157 -0
- package/resources/admin/organization/projects/users/users.d.ts.map +1 -0
- package/resources/admin/organization/projects/users/users.js +116 -0
- package/resources/admin/organization/projects/users/users.js.map +1 -0
- package/resources/admin/organization/projects/users/users.mjs +111 -0
- package/resources/admin/organization/projects/users/users.mjs.map +1 -0
- package/resources/admin/organization/projects/users.d.mts +2 -0
- package/resources/admin/organization/projects/users.d.mts.map +1 -0
- package/resources/admin/organization/projects/users.d.ts +2 -0
- package/resources/admin/organization/projects/users.d.ts.map +1 -0
- package/resources/admin/organization/projects/users.js +6 -0
- package/resources/admin/organization/projects/users.js.map +1 -0
- package/resources/admin/organization/projects/users.mjs +3 -0
- package/resources/admin/organization/projects/users.mjs.map +1 -0
- package/resources/admin/organization/projects.d.mts +2 -0
- package/resources/admin/organization/projects.d.mts.map +1 -0
- package/resources/admin/organization/projects.d.ts +2 -0
- package/resources/admin/organization/projects.d.ts.map +1 -0
- package/resources/admin/organization/projects.js +6 -0
- package/resources/admin/organization/projects.js.map +1 -0
- package/resources/admin/organization/projects.mjs +3 -0
- package/resources/admin/organization/projects.mjs.map +1 -0
- package/resources/admin/organization/roles.d.mts +142 -0
- package/resources/admin/organization/roles.d.mts.map +1 -0
- package/resources/admin/organization/roles.d.ts +142 -0
- package/resources/admin/organization/roles.d.ts.map +1 -0
- package/resources/admin/organization/roles.js +80 -0
- package/resources/admin/organization/roles.js.map +1 -0
- package/resources/admin/organization/roles.mjs +76 -0
- package/resources/admin/organization/roles.mjs.map +1 -0
- package/resources/admin/organization/usage.d.mts +3519 -0
- package/resources/admin/organization/usage.d.mts.map +1 -0
- package/resources/admin/organization/usage.d.ts +3519 -0
- package/resources/admin/organization/usage.d.ts.map +1 -0
- package/resources/admin/organization/usage.js +171 -0
- package/resources/admin/organization/usage.js.map +1 -0
- package/resources/admin/organization/usage.mjs +167 -0
- package/resources/admin/organization/usage.mjs.map +1 -0
- package/resources/admin/organization/users/index.d.mts +3 -0
- package/resources/admin/organization/users/index.d.mts.map +1 -0
- package/resources/admin/organization/users/index.d.ts +3 -0
- package/resources/admin/organization/users/index.d.ts.map +1 -0
- package/resources/admin/organization/users/index.js +9 -0
- package/resources/admin/organization/users/index.js.map +1 -0
- package/resources/admin/organization/users/index.mjs +4 -0
- package/resources/admin/organization/users/index.mjs.map +1 -0
- package/resources/admin/organization/users/roles.d.mts +156 -0
- package/resources/admin/organization/users/roles.d.mts.map +1 -0
- package/resources/admin/organization/users/roles.d.ts +156 -0
- package/resources/admin/organization/users/roles.d.ts.map +1 -0
- package/resources/admin/organization/users/roles.js +65 -0
- package/resources/admin/organization/users/roles.js.map +1 -0
- package/resources/admin/organization/users/roles.mjs +61 -0
- package/resources/admin/organization/users/roles.mjs.map +1 -0
- package/resources/admin/organization/users/users.d.mts +185 -0
- package/resources/admin/organization/users/users.d.mts.map +1 -0
- package/resources/admin/organization/users/users.d.ts +185 -0
- package/resources/admin/organization/users/users.d.ts.map +1 -0
- package/resources/admin/organization/users/users.js +84 -0
- package/resources/admin/organization/users/users.js.map +1 -0
- package/resources/admin/organization/users/users.mjs +79 -0
- package/resources/admin/organization/users/users.mjs.map +1 -0
- package/resources/admin/organization/users.d.mts +2 -0
- package/resources/admin/organization/users.d.mts.map +1 -0
- package/resources/admin/organization/users.d.ts +2 -0
- package/resources/admin/organization/users.d.ts.map +1 -0
- package/resources/admin/organization/users.js +6 -0
- package/resources/admin/organization/users.js.map +1 -0
- package/resources/admin/organization/users.mjs +3 -0
- package/resources/admin/organization/users.mjs.map +1 -0
- package/resources/admin/organization.d.mts +2 -0
- package/resources/admin/organization.d.mts.map +1 -0
- package/resources/admin/organization.d.ts +2 -0
- package/resources/admin/organization.d.ts.map +1 -0
- package/resources/admin/organization.js +6 -0
- package/resources/admin/organization.js.map +1 -0
- package/resources/admin/organization.mjs +3 -0
- package/resources/admin/organization.mjs.map +1 -0
- package/resources/admin.d.mts +2 -0
- package/resources/admin.d.mts.map +1 -0
- package/resources/admin.d.ts +2 -0
- package/resources/admin.d.ts.map +1 -0
- package/resources/admin.js +6 -0
- package/resources/admin.js.map +1 -0
- package/resources/admin.mjs +3 -0
- package/resources/admin.mjs.map +1 -0
- package/resources/audio/speech.d.mts +2 -2
- package/resources/audio/speech.d.mts.map +1 -1
- package/resources/audio/speech.d.ts +2 -2
- package/resources/audio/speech.d.ts.map +1 -1
- package/resources/audio/speech.js +3 -2
- package/resources/audio/speech.js.map +1 -1
- package/resources/audio/speech.mjs +3 -2
- package/resources/audio/speech.mjs.map +1 -1
- package/resources/audio/transcriptions.d.mts.map +1 -1
- package/resources/audio/transcriptions.d.ts.map +1 -1
- package/resources/audio/transcriptions.js +1 -0
- package/resources/audio/transcriptions.js.map +1 -1
- package/resources/audio/transcriptions.mjs +1 -0
- package/resources/audio/transcriptions.mjs.map +1 -1
- package/resources/audio/translations.d.mts.map +1 -1
- package/resources/audio/translations.d.ts.map +1 -1
- package/resources/audio/translations.js +1 -1
- package/resources/audio/translations.js.map +1 -1
- package/resources/audio/translations.mjs +1 -1
- package/resources/audio/translations.mjs.map +1 -1
- package/resources/batches.d.mts.map +1 -1
- package/resources/batches.d.ts.map +1 -1
- package/resources/batches.js +11 -4
- package/resources/batches.js.map +1 -1
- package/resources/batches.mjs +11 -4
- package/resources/batches.mjs.map +1 -1
- package/resources/beta/assistants.d.mts.map +1 -1
- package/resources/beta/assistants.d.ts.map +1 -1
- package/resources/beta/assistants.js +5 -0
- package/resources/beta/assistants.js.map +1 -1
- package/resources/beta/assistants.mjs +5 -0
- package/resources/beta/assistants.mjs.map +1 -1
- package/resources/beta/chatkit/sessions.d.mts.map +1 -1
- package/resources/beta/chatkit/sessions.d.ts.map +1 -1
- package/resources/beta/chatkit/sessions.js +2 -0
- package/resources/beta/chatkit/sessions.js.map +1 -1
- package/resources/beta/chatkit/sessions.mjs +2 -0
- package/resources/beta/chatkit/sessions.mjs.map +1 -1
- package/resources/beta/chatkit/threads.d.mts.map +1 -1
- package/resources/beta/chatkit/threads.d.ts.map +1 -1
- package/resources/beta/chatkit/threads.js +9 -1
- package/resources/beta/chatkit/threads.js.map +1 -1
- package/resources/beta/chatkit/threads.mjs +9 -1
- package/resources/beta/chatkit/threads.mjs.map +1 -1
- package/resources/beta/realtime/sessions.d.mts.map +1 -1
- package/resources/beta/realtime/sessions.d.ts.map +1 -1
- package/resources/beta/realtime/sessions.js +1 -0
- package/resources/beta/realtime/sessions.js.map +1 -1
- package/resources/beta/realtime/sessions.mjs +1 -0
- package/resources/beta/realtime/sessions.mjs.map +1 -1
- package/resources/beta/realtime/transcription-sessions.d.mts.map +1 -1
- package/resources/beta/realtime/transcription-sessions.d.ts.map +1 -1
- package/resources/beta/realtime/transcription-sessions.js +1 -0
- package/resources/beta/realtime/transcription-sessions.js.map +1 -1
- package/resources/beta/realtime/transcription-sessions.mjs +1 -0
- package/resources/beta/realtime/transcription-sessions.mjs.map +1 -1
- package/resources/beta/threads/messages.d.mts.map +1 -1
- package/resources/beta/threads/messages.d.ts.map +1 -1
- package/resources/beta/threads/messages.js +5 -0
- package/resources/beta/threads/messages.js.map +1 -1
- package/resources/beta/threads/messages.mjs +5 -0
- package/resources/beta/threads/messages.mjs.map +1 -1
- package/resources/beta/threads/runs/runs.d.mts.map +1 -1
- package/resources/beta/threads/runs/runs.d.ts.map +1 -1
- package/resources/beta/threads/runs/runs.js +6 -0
- package/resources/beta/threads/runs/runs.js.map +1 -1
- package/resources/beta/threads/runs/runs.mjs +6 -0
- package/resources/beta/threads/runs/runs.mjs.map +1 -1
- package/resources/beta/threads/runs/steps.d.mts.map +1 -1
- package/resources/beta/threads/runs/steps.d.ts.map +1 -1
- package/resources/beta/threads/runs/steps.js +2 -0
- package/resources/beta/threads/runs/steps.js.map +1 -1
- package/resources/beta/threads/runs/steps.mjs +2 -0
- package/resources/beta/threads/runs/steps.mjs.map +1 -1
- package/resources/beta/threads/threads.d.mts.map +1 -1
- package/resources/beta/threads/threads.d.ts.map +1 -1
- package/resources/beta/threads/threads.js +5 -0
- package/resources/beta/threads/threads.js.map +1 -1
- package/resources/beta/threads/threads.mjs +5 -0
- package/resources/beta/threads/threads.mjs.map +1 -1
- package/resources/chat/completions/completions.d.mts +1 -1
- package/resources/chat/completions/completions.d.mts.map +1 -1
- package/resources/chat/completions/completions.d.ts +1 -1
- package/resources/chat/completions/completions.d.ts.map +1 -1
- package/resources/chat/completions/completions.js +24 -5
- package/resources/chat/completions/completions.js.map +1 -1
- package/resources/chat/completions/completions.mjs +24 -5
- package/resources/chat/completions/completions.mjs.map +1 -1
- package/resources/chat/completions/messages.js +1 -1
- package/resources/chat/completions/messages.js.map +1 -1
- package/resources/chat/completions/messages.mjs +1 -1
- package/resources/chat/completions/messages.mjs.map +1 -1
- package/resources/completions.d.mts +1 -1
- package/resources/completions.d.mts.map +1 -1
- package/resources/completions.d.ts +1 -1
- package/resources/completions.d.ts.map +1 -1
- package/resources/completions.js +6 -1
- package/resources/completions.js.map +1 -1
- package/resources/completions.mjs +6 -1
- package/resources/completions.mjs.map +1 -1
- package/resources/containers/containers.d.mts.map +1 -1
- package/resources/containers/containers.d.ts.map +1 -1
- package/resources/containers/containers.js +11 -3
- package/resources/containers/containers.js.map +1 -1
- package/resources/containers/containers.mjs +11 -3
- package/resources/containers/containers.mjs.map +1 -1
- package/resources/containers/files/content.d.mts.map +1 -1
- package/resources/containers/files/content.d.ts.map +1 -1
- package/resources/containers/files/content.js +1 -0
- package/resources/containers/files/content.js.map +1 -1
- package/resources/containers/files/content.mjs +1 -0
- package/resources/containers/files/content.mjs.map +1 -1
- package/resources/containers/files/files.d.mts.map +1 -1
- package/resources/containers/files/files.d.ts.map +1 -1
- package/resources/containers/files/files.js +7 -2
- package/resources/containers/files/files.js.map +1 -1
- package/resources/containers/files/files.mjs +7 -2
- package/resources/containers/files/files.mjs.map +1 -1
- package/resources/conversations/conversations.d.mts.map +1 -1
- package/resources/conversations/conversations.d.ts.map +1 -1
- package/resources/conversations/conversations.js +14 -4
- package/resources/conversations/conversations.js.map +1 -1
- package/resources/conversations/conversations.mjs +14 -4
- package/resources/conversations/conversations.mjs.map +1 -1
- package/resources/conversations/items.d.mts.map +1 -1
- package/resources/conversations/items.d.ts.map +1 -1
- package/resources/conversations/items.js +11 -3
- package/resources/conversations/items.js.map +1 -1
- package/resources/conversations/items.mjs +11 -3
- package/resources/conversations/items.mjs.map +1 -1
- package/resources/embeddings.d.mts.map +1 -1
- package/resources/embeddings.d.ts.map +1 -1
- package/resources/embeddings.js +1 -0
- package/resources/embeddings.js.map +1 -1
- package/resources/embeddings.mjs +1 -0
- package/resources/embeddings.mjs.map +1 -1
- package/resources/evals/evals.d.mts.map +1 -1
- package/resources/evals/evals.d.ts.map +1 -1
- package/resources/evals/evals.js +9 -5
- package/resources/evals/evals.js.map +1 -1
- package/resources/evals/evals.mjs +9 -5
- package/resources/evals/evals.mjs.map +1 -1
- package/resources/evals/runs/output-items.d.mts.map +1 -1
- package/resources/evals/runs/output-items.d.ts.map +1 -1
- package/resources/evals/runs/output-items.js +5 -2
- package/resources/evals/runs/output-items.js.map +1 -1
- package/resources/evals/runs/output-items.mjs +5 -2
- package/resources/evals/runs/output-items.mjs.map +1 -1
- package/resources/evals/runs/runs.d.mts.map +1 -1
- package/resources/evals/runs/runs.d.ts.map +1 -1
- package/resources/evals/runs/runs.js +18 -4
- package/resources/evals/runs/runs.js.map +1 -1
- package/resources/evals/runs/runs.mjs +18 -4
- package/resources/evals/runs/runs.mjs.map +1 -1
- package/resources/files.d.mts +8 -1
- package/resources/files.d.mts.map +1 -1
- package/resources/files.d.ts +8 -1
- package/resources/files.d.ts.map +1 -1
- package/resources/files.js +17 -5
- package/resources/files.js.map +1 -1
- package/resources/files.mjs +17 -5
- package/resources/files.mjs.map +1 -1
- package/resources/fine-tuning/alpha/graders.d.mts.map +1 -1
- package/resources/fine-tuning/alpha/graders.d.ts.map +1 -1
- package/resources/fine-tuning/alpha/graders.js +10 -2
- package/resources/fine-tuning/alpha/graders.js.map +1 -1
- package/resources/fine-tuning/alpha/graders.mjs +10 -2
- package/resources/fine-tuning/alpha/graders.mjs.map +1 -1
- package/resources/fine-tuning/checkpoints/permissions.d.mts.map +1 -1
- package/resources/fine-tuning/checkpoints/permissions.d.ts.map +1 -1
- package/resources/fine-tuning/checkpoints/permissions.js +4 -3
- package/resources/fine-tuning/checkpoints/permissions.js.map +1 -1
- package/resources/fine-tuning/checkpoints/permissions.mjs +4 -3
- package/resources/fine-tuning/checkpoints/permissions.mjs.map +1 -1
- package/resources/fine-tuning/jobs/checkpoints.js +1 -1
- package/resources/fine-tuning/jobs/checkpoints.js.map +1 -1
- package/resources/fine-tuning/jobs/checkpoints.mjs +1 -1
- package/resources/fine-tuning/jobs/checkpoints.mjs.map +1 -1
- package/resources/fine-tuning/jobs/jobs.d.mts.map +1 -1
- package/resources/fine-tuning/jobs/jobs.d.ts.map +1 -1
- package/resources/fine-tuning/jobs/jobs.js +23 -7
- package/resources/fine-tuning/jobs/jobs.js.map +1 -1
- package/resources/fine-tuning/jobs/jobs.mjs +23 -7
- package/resources/fine-tuning/jobs/jobs.mjs.map +1 -1
- package/resources/images.d.mts.map +1 -1
- package/resources/images.d.ts.map +1 -1
- package/resources/images.js +8 -3
- package/resources/images.js.map +1 -1
- package/resources/images.mjs +8 -3
- package/resources/images.mjs.map +1 -1
- package/resources/index.d.mts +1 -0
- package/resources/index.d.mts.map +1 -1
- package/resources/index.d.ts +1 -0
- package/resources/index.d.ts.map +1 -1
- package/resources/index.js +3 -1
- package/resources/index.js.map +1 -1
- package/resources/index.mjs +1 -0
- package/resources/index.mjs.map +1 -1
- package/resources/models.js +3 -3
- package/resources/models.js.map +1 -1
- package/resources/models.mjs +3 -3
- package/resources/models.mjs.map +1 -1
- package/resources/moderations.js +1 -1
- package/resources/moderations.js.map +1 -1
- package/resources/moderations.mjs +1 -1
- package/resources/moderations.mjs.map +1 -1
- package/resources/realtime/calls.d.mts.map +1 -1
- package/resources/realtime/calls.d.ts.map +1 -1
- package/resources/realtime/calls.js +4 -0
- package/resources/realtime/calls.js.map +1 -1
- package/resources/realtime/calls.mjs +4 -0
- package/resources/realtime/calls.mjs.map +1 -1
- package/resources/realtime/client-secrets.d.mts.map +1 -1
- package/resources/realtime/client-secrets.d.ts.map +1 -1
- package/resources/realtime/client-secrets.js +5 -1
- package/resources/realtime/client-secrets.js.map +1 -1
- package/resources/realtime/client-secrets.mjs +5 -1
- package/resources/realtime/client-secrets.mjs.map +1 -1
- package/resources/responses/index.d.mts +2 -0
- package/resources/responses/index.d.mts.map +1 -1
- package/resources/responses/index.d.ts +2 -0
- package/resources/responses/index.d.ts.map +1 -1
- package/resources/responses/input-items.js +1 -1
- package/resources/responses/input-items.js.map +1 -1
- package/resources/responses/input-items.mjs +1 -1
- package/resources/responses/input-items.mjs.map +1 -1
- package/resources/responses/input-tokens.d.mts.map +1 -1
- package/resources/responses/input-tokens.d.ts.map +1 -1
- package/resources/responses/input-tokens.js +5 -1
- package/resources/responses/input-tokens.js.map +1 -1
- package/resources/responses/input-tokens.mjs +5 -1
- package/resources/responses/input-tokens.mjs.map +1 -1
- package/resources/responses/internal-base.d.mts +24 -2
- package/resources/responses/internal-base.d.mts.map +1 -1
- package/resources/responses/internal-base.d.ts +24 -2
- package/resources/responses/internal-base.d.ts.map +1 -1
- package/resources/responses/internal-base.js +5 -9
- package/resources/responses/internal-base.js.map +1 -1
- package/resources/responses/internal-base.mjs +5 -9
- package/resources/responses/internal-base.mjs.map +1 -1
- package/resources/responses/responses.d.mts +19 -3
- package/resources/responses/responses.d.mts.map +1 -1
- package/resources/responses/responses.d.ts +19 -3
- package/resources/responses/responses.d.ts.map +1 -1
- package/resources/responses/responses.js +13 -3
- package/resources/responses/responses.js.map +1 -1
- package/resources/responses/responses.mjs +13 -3
- package/resources/responses/responses.mjs.map +1 -1
- package/resources/responses/ws-base.d.mts +106 -0
- package/resources/responses/ws-base.d.mts.map +1 -0
- package/resources/responses/ws-base.d.ts +106 -0
- package/resources/responses/ws-base.d.ts.map +1 -0
- package/resources/responses/ws-base.js +476 -0
- package/resources/responses/ws-base.js.map +1 -0
- package/resources/responses/ws-base.mjs +472 -0
- package/resources/responses/ws-base.mjs.map +1 -0
- package/resources/responses/ws.d.mts +9 -38
- package/resources/responses/ws.d.mts.map +1 -1
- package/resources/responses/ws.d.ts +9 -38
- package/resources/responses/ws.d.ts.map +1 -1
- package/resources/responses/ws.js +17 -171
- package/resources/responses/ws.js.map +1 -1
- package/resources/responses/ws.mjs +17 -171
- package/resources/responses/ws.mjs.map +1 -1
- package/resources/skills/content.d.mts.map +1 -1
- package/resources/skills/content.d.ts.map +1 -1
- package/resources/skills/content.js +1 -0
- package/resources/skills/content.js.map +1 -1
- package/resources/skills/content.mjs +1 -0
- package/resources/skills/content.mjs.map +1 -1
- package/resources/skills/skills.d.mts.map +1 -1
- package/resources/skills/skills.d.ts.map +1 -1
- package/resources/skills/skills.js +13 -5
- package/resources/skills/skills.js.map +1 -1
- package/resources/skills/skills.mjs +13 -5
- package/resources/skills/skills.mjs.map +1 -1
- package/resources/skills/versions/content.d.mts.map +1 -1
- package/resources/skills/versions/content.d.ts.map +1 -1
- package/resources/skills/versions/content.js +1 -0
- package/resources/skills/versions/content.js.map +1 -1
- package/resources/skills/versions/content.mjs +1 -0
- package/resources/skills/versions/content.mjs.map +1 -1
- package/resources/skills/versions/versions.d.mts.map +1 -1
- package/resources/skills/versions/versions.d.ts.map +1 -1
- package/resources/skills/versions/versions.js +10 -3
- package/resources/skills/versions/versions.js.map +1 -1
- package/resources/skills/versions/versions.mjs +10 -3
- package/resources/skills/versions/versions.mjs.map +1 -1
- package/resources/uploads/parts.js +1 -1
- package/resources/uploads/parts.js.map +1 -1
- package/resources/uploads/parts.mjs +1 -1
- package/resources/uploads/parts.mjs.map +1 -1
- package/resources/uploads/uploads.d.mts.map +1 -1
- package/resources/uploads/uploads.d.ts.map +1 -1
- package/resources/uploads/uploads.js +10 -3
- package/resources/uploads/uploads.js.map +1 -1
- package/resources/uploads/uploads.mjs +10 -3
- package/resources/uploads/uploads.mjs.map +1 -1
- package/resources/vector-stores/file-batches.d.mts.map +1 -1
- package/resources/vector-stores/file-batches.d.ts.map +1 -1
- package/resources/vector-stores/file-batches.js +9 -1
- package/resources/vector-stores/file-batches.js.map +1 -1
- package/resources/vector-stores/file-batches.mjs +9 -1
- package/resources/vector-stores/file-batches.mjs.map +1 -1
- package/resources/vector-stores/files.d.mts.map +1 -1
- package/resources/vector-stores/files.d.ts.map +1 -1
- package/resources/vector-stores/files.js +10 -1
- package/resources/vector-stores/files.js.map +1 -1
- package/resources/vector-stores/files.mjs +10 -1
- package/resources/vector-stores/files.mjs.map +1 -1
- package/resources/vector-stores/vector-stores.d.mts.map +1 -1
- package/resources/vector-stores/vector-stores.d.ts.map +1 -1
- package/resources/vector-stores/vector-stores.js +6 -0
- package/resources/vector-stores/vector-stores.js.map +1 -1
- package/resources/vector-stores/vector-stores.mjs +6 -0
- package/resources/vector-stores/vector-stores.mjs.map +1 -1
- package/resources/videos.d.mts.map +1 -1
- package/resources/videos.d.ts.map +1 -1
- package/resources/videos.js +17 -9
- package/resources/videos.js.map +1 -1
- package/resources/videos.mjs +17 -9
- package/resources/videos.mjs.map +1 -1
- package/src/azure.ts +7 -3
- package/src/beta/realtime/websocket.ts +7 -2
- package/src/beta/realtime/ws.ts +5 -1
- package/src/client.ts +114 -27
- package/src/core/EventEmitter.ts +16 -0
- package/src/core/pagination.ts +62 -0
- package/src/internal/request-options.ts +1 -0
- package/src/internal/types.ts +6 -8
- package/src/internal/utils/env.ts +2 -2
- package/src/internal/ws-adapter-browser.ts +123 -0
- package/src/internal/ws-adapter-node.ts +105 -0
- package/src/internal/ws-adapter.ts +30 -0
- package/src/internal/ws.ts +193 -0
- package/src/realtime/websocket.ts +7 -2
- package/src/realtime/ws.ts +5 -1
- package/src/resources/admin/admin.ts +15 -0
- package/src/resources/admin/index.ts +4 -0
- package/src/resources/admin/organization/admin-api-keys.ts +199 -0
- package/src/resources/admin/organization/audit-logs.ts +1597 -0
- package/src/resources/admin/organization/certificates.ts +458 -0
- package/src/resources/admin/organization/groups/groups.ts +251 -0
- package/src/resources/admin/organization/groups/index.ts +32 -0
- package/src/resources/admin/organization/groups/roles.ts +239 -0
- package/src/resources/admin/organization/groups/users.ts +164 -0
- package/src/resources/admin/organization/groups.ts +3 -0
- package/src/resources/admin/organization/index.ts +99 -0
- package/src/resources/admin/organization/invites.ts +214 -0
- package/src/resources/admin/organization/organization.ts +232 -0
- package/src/resources/admin/organization/projects/api-keys.ts +239 -0
- package/src/resources/admin/organization/projects/certificates.ts +269 -0
- package/src/resources/admin/organization/projects/groups/groups.ts +193 -0
- package/src/resources/admin/organization/projects/groups/index.ts +21 -0
- package/src/resources/admin/organization/projects/groups/roles.ts +261 -0
- package/src/resources/admin/organization/projects/groups.ts +3 -0
- package/src/resources/admin/organization/projects/index.ts +77 -0
- package/src/resources/admin/organization/projects/projects.ts +372 -0
- package/src/resources/admin/organization/projects/rate-limits.ts +173 -0
- package/src/resources/admin/organization/projects/roles.ts +182 -0
- package/src/resources/admin/organization/projects/service-accounts.ts +224 -0
- package/src/resources/admin/organization/projects/users/index.ts +23 -0
- package/src/resources/admin/organization/projects/users/roles.ts +226 -0
- package/src/resources/admin/organization/projects/users/users.ts +252 -0
- package/src/resources/admin/organization/projects/users.ts +3 -0
- package/src/resources/admin/organization/projects.ts +3 -0
- package/src/resources/admin/organization/roles.ts +200 -0
- package/src/resources/admin/organization/usage.ts +4429 -0
- package/src/resources/admin/organization/users/index.ts +20 -0
- package/src/resources/admin/organization/users/roles.ts +208 -0
- package/src/resources/admin/organization/users/users.ts +287 -0
- package/src/resources/admin/organization/users.ts +3 -0
- package/src/resources/admin/organization.ts +3 -0
- package/src/resources/admin.ts +3 -0
- package/src/resources/audio/speech.ts +3 -2
- package/src/resources/audio/transcriptions.ts +1 -0
- package/src/resources/audio/translations.ts +4 -1
- package/src/resources/batches.ts +11 -4
- package/src/resources/beta/assistants.ts +5 -0
- package/src/resources/beta/chatkit/sessions.ts +2 -0
- package/src/resources/beta/chatkit/threads.ts +9 -1
- package/src/resources/beta/realtime/sessions.ts +1 -0
- package/src/resources/beta/realtime/transcription-sessions.ts +1 -0
- package/src/resources/beta/threads/messages.ts +5 -0
- package/src/resources/beta/threads/runs/runs.ts +6 -0
- package/src/resources/beta/threads/runs/steps.ts +2 -0
- package/src/resources/beta/threads/threads.ts +5 -0
- package/src/resources/chat/completions/completions.ts +25 -8
- package/src/resources/chat/completions/messages.ts +1 -1
- package/src/resources/completions.ts +7 -4
- package/src/resources/containers/containers.ts +11 -3
- package/src/resources/containers/files/content.ts +1 -0
- package/src/resources/containers/files/files.ts +7 -2
- package/src/resources/conversations/conversations.ts +14 -4
- package/src/resources/conversations/items.ts +11 -3
- package/src/resources/embeddings.ts +1 -0
- package/src/resources/evals/evals.ts +9 -5
- package/src/resources/evals/runs/output-items.ts +5 -2
- package/src/resources/evals/runs/runs.ts +18 -4
- package/src/resources/files.ts +20 -5
- package/src/resources/fine-tuning/alpha/graders.ts +10 -2
- package/src/resources/fine-tuning/checkpoints/permissions.ts +4 -3
- package/src/resources/fine-tuning/jobs/checkpoints.ts +1 -1
- package/src/resources/fine-tuning/jobs/jobs.ts +23 -7
- package/src/resources/images.ts +11 -5
- package/src/resources/index.ts +1 -0
- package/src/resources/models.ts +3 -3
- package/src/resources/moderations.ts +1 -1
- package/src/resources/realtime/calls.ts +4 -0
- package/src/resources/realtime/client-secrets.ts +5 -1
- package/src/resources/responses/index.ts +2 -0
- package/src/resources/responses/input-items.ts +1 -1
- package/src/resources/responses/input-tokens.ts +5 -1
- package/src/resources/responses/internal-base.ts +26 -10
- package/src/resources/responses/responses.ts +35 -8
- package/src/resources/responses/ws-base.ts +611 -0
- package/src/resources/responses/ws.ts +23 -186
- package/src/resources/skills/content.ts +1 -0
- package/src/resources/skills/skills.ts +16 -5
- package/src/resources/skills/versions/content.ts +1 -0
- package/src/resources/skills/versions/versions.ts +10 -3
- package/src/resources/uploads/parts.ts +1 -1
- package/src/resources/uploads/uploads.ts +10 -3
- package/src/resources/vector-stores/file-batches.ts +9 -1
- package/src/resources/vector-stores/files.ts +10 -1
- package/src/resources/vector-stores/vector-stores.ts +6 -0
- package/src/resources/videos.ts +20 -9
- 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/src/client.ts
CHANGED
|
@@ -24,6 +24,8 @@ import {
|
|
|
24
24
|
ConversationCursorPageResponse,
|
|
25
25
|
type CursorPageParams,
|
|
26
26
|
CursorPageResponse,
|
|
27
|
+
type NextCursorPageParams,
|
|
28
|
+
NextCursorPageResponse,
|
|
27
29
|
PageResponse,
|
|
28
30
|
} from './core/pagination';
|
|
29
31
|
import * as Uploads from './core/uploads';
|
|
@@ -115,6 +117,7 @@ import {
|
|
|
115
117
|
Videos,
|
|
116
118
|
VideosPage,
|
|
117
119
|
} from './resources/videos';
|
|
120
|
+
import { Admin } from './resources/admin/admin';
|
|
118
121
|
import { Audio, AudioModel, AudioResponseFormat } from './resources/audio/audio';
|
|
119
122
|
import { Beta } from './resources/beta/beta';
|
|
120
123
|
import { Chat } from './resources/chat/chat';
|
|
@@ -258,7 +261,12 @@ export interface ClientOptions {
|
|
|
258
261
|
* error available as `cause`.
|
|
259
262
|
* - Mutually exclusive with `workloadIdentity`.
|
|
260
263
|
*/
|
|
261
|
-
apiKey?: string | ApiKeySetter | undefined;
|
|
264
|
+
apiKey?: string | ApiKeySetter | null | undefined;
|
|
265
|
+
|
|
266
|
+
/**
|
|
267
|
+
* Defaults to process.env['OPENAI_ADMIN_KEY'].
|
|
268
|
+
*/
|
|
269
|
+
adminAPIKey?: string | null | undefined;
|
|
262
270
|
|
|
263
271
|
/**
|
|
264
272
|
* Defaults to process.env['OPENAI_ORG_ID'].
|
|
@@ -361,7 +369,8 @@ export interface ClientOptions {
|
|
|
361
369
|
* API Client for interfacing with the OpenAI API.
|
|
362
370
|
*/
|
|
363
371
|
export class OpenAI {
|
|
364
|
-
apiKey: string;
|
|
372
|
+
apiKey: string | null;
|
|
373
|
+
adminAPIKey: string | null;
|
|
365
374
|
organization: string | null;
|
|
366
375
|
project: string | null;
|
|
367
376
|
webhookSecret: string | null;
|
|
@@ -382,7 +391,8 @@ export class OpenAI {
|
|
|
382
391
|
/**
|
|
383
392
|
* API Client for interfacing with the OpenAI API.
|
|
384
393
|
*
|
|
385
|
-
* @param {string | undefined} [opts.apiKey=process.env['OPENAI_API_KEY'] ??
|
|
394
|
+
* @param {string | null | undefined} [opts.apiKey=process.env['OPENAI_API_KEY'] ?? null]
|
|
395
|
+
* @param {string | null | undefined} [opts.adminAPIKey=process.env['OPENAI_ADMIN_KEY'] ?? null]
|
|
386
396
|
* @param {string | null | undefined} [opts.organization=process.env['OPENAI_ORG_ID'] ?? null]
|
|
387
397
|
* @param {string | null | undefined} [opts.project=process.env['OPENAI_PROJECT_ID'] ?? null]
|
|
388
398
|
* @param {string | null | undefined} [opts.webhookSecret=process.env['OPENAI_WEBHOOK_SECRET'] ?? null]
|
|
@@ -397,28 +407,17 @@ export class OpenAI {
|
|
|
397
407
|
*/
|
|
398
408
|
constructor({
|
|
399
409
|
baseURL = readEnv('OPENAI_BASE_URL'),
|
|
400
|
-
apiKey = readEnv('OPENAI_API_KEY'),
|
|
410
|
+
apiKey = readEnv('OPENAI_API_KEY') ?? null,
|
|
411
|
+
adminAPIKey = readEnv('OPENAI_ADMIN_KEY') ?? null,
|
|
401
412
|
organization = readEnv('OPENAI_ORG_ID') ?? null,
|
|
402
413
|
project = readEnv('OPENAI_PROJECT_ID') ?? null,
|
|
403
414
|
webhookSecret = readEnv('OPENAI_WEBHOOK_SECRET') ?? null,
|
|
404
415
|
workloadIdentity,
|
|
405
416
|
...opts
|
|
406
417
|
}: ClientOptions = {}) {
|
|
407
|
-
if (workloadIdentity) {
|
|
408
|
-
if (apiKey && apiKey !== WORKLOAD_IDENTITY_API_KEY_PLACEHOLDER) {
|
|
409
|
-
throw new Errors.OpenAIError(
|
|
410
|
-
'The `apiKey` and `workloadIdentity` arguments are mutually exclusive; only one can be passed at a time.',
|
|
411
|
-
);
|
|
412
|
-
}
|
|
413
|
-
apiKey = WORKLOAD_IDENTITY_API_KEY_PLACEHOLDER;
|
|
414
|
-
} else if (apiKey === undefined) {
|
|
415
|
-
throw new Errors.OpenAIError(
|
|
416
|
-
'Missing credentials. Please pass an `apiKey`, `workloadIdentity`, or set the `OPENAI_API_KEY` environment variable.',
|
|
417
|
-
);
|
|
418
|
-
}
|
|
419
|
-
|
|
420
418
|
const options: ClientOptions = {
|
|
421
419
|
apiKey,
|
|
420
|
+
adminAPIKey,
|
|
422
421
|
organization,
|
|
423
422
|
project,
|
|
424
423
|
webhookSecret,
|
|
@@ -427,6 +426,16 @@ export class OpenAI {
|
|
|
427
426
|
baseURL: baseURL || `https://api.openai.com/v1`,
|
|
428
427
|
};
|
|
429
428
|
|
|
429
|
+
if (apiKey && workloadIdentity) {
|
|
430
|
+
throw new Errors.OpenAIError('The `apiKey` and `workloadIdentity` options are mutually exclusive');
|
|
431
|
+
}
|
|
432
|
+
|
|
433
|
+
if (!apiKey && !adminAPIKey && !workloadIdentity) {
|
|
434
|
+
throw new Errors.OpenAIError(
|
|
435
|
+
'Missing credentials. Please pass an `apiKey`, `workloadIdentity`, `adminAPIKey`, or set the `OPENAI_API_KEY` or `OPENAI_ADMIN_KEY` environment variable.',
|
|
436
|
+
);
|
|
437
|
+
}
|
|
438
|
+
|
|
430
439
|
if (!options.dangerouslyAllowBrowser && isRunningInBrowser()) {
|
|
431
440
|
throw new Errors.OpenAIError(
|
|
432
441
|
"It looks like you're running in a browser-like environment.\n\nThis is disabled by default, as it risks exposing your secret API credentials to attackers.\nIf you understand the risks and have appropriate mitigations in place,\nyou can set the `dangerouslyAllowBrowser` option to `true`, e.g.,\n\nnew OpenAI({ apiKey, dangerouslyAllowBrowser: true });\n\nhttps://help.openai.com/en/articles/5112595-best-practices-for-api-key-safety\n",
|
|
@@ -448,13 +457,26 @@ export class OpenAI {
|
|
|
448
457
|
this.fetch = options.fetch ?? Shims.getDefaultFetch();
|
|
449
458
|
this.#encoder = Opts.FallbackEncoder;
|
|
450
459
|
|
|
460
|
+
const customHeadersEnv = readEnv('OPENAI_CUSTOM_HEADERS');
|
|
461
|
+
if (customHeadersEnv) {
|
|
462
|
+
const parsed: Record<string, string> = {};
|
|
463
|
+
for (const line of customHeadersEnv.split('\n')) {
|
|
464
|
+
const colon = line.indexOf(':');
|
|
465
|
+
if (colon >= 0) {
|
|
466
|
+
parsed[line.substring(0, colon).trim()] = line.substring(colon + 1).trim();
|
|
467
|
+
}
|
|
468
|
+
}
|
|
469
|
+
options.defaultHeaders = buildHeaders([parsed, options.defaultHeaders]);
|
|
470
|
+
}
|
|
471
|
+
|
|
451
472
|
this._options = options;
|
|
452
473
|
|
|
453
474
|
if (workloadIdentity) {
|
|
454
475
|
this._workloadIdentityAuth = new WorkloadIdentityAuth(workloadIdentity, this.fetch);
|
|
455
476
|
}
|
|
456
477
|
|
|
457
|
-
this.apiKey = typeof apiKey === 'string' ? apiKey :
|
|
478
|
+
this.apiKey = typeof apiKey === 'string' ? apiKey : null;
|
|
479
|
+
this.adminAPIKey = adminAPIKey;
|
|
458
480
|
this.organization = organization;
|
|
459
481
|
this.project = project;
|
|
460
482
|
this.webhookSecret = webhookSecret;
|
|
@@ -473,7 +495,8 @@ export class OpenAI {
|
|
|
473
495
|
logLevel: this.logLevel,
|
|
474
496
|
fetch: this.fetch,
|
|
475
497
|
fetchOptions: this.fetchOptions,
|
|
476
|
-
apiKey: this.apiKey,
|
|
498
|
+
apiKey: this._options.apiKey,
|
|
499
|
+
adminAPIKey: this.adminAPIKey,
|
|
477
500
|
workloadIdentity: this._options.workloadIdentity,
|
|
478
501
|
organization: this.organization,
|
|
479
502
|
project: this.project,
|
|
@@ -494,14 +517,59 @@ export class OpenAI {
|
|
|
494
517
|
return this._options.defaultQuery;
|
|
495
518
|
}
|
|
496
519
|
|
|
497
|
-
protected validateHeaders(
|
|
498
|
-
|
|
520
|
+
protected validateHeaders(
|
|
521
|
+
{ values, nulls }: NullableHeaders,
|
|
522
|
+
schemes: { bearerAuth?: boolean; adminAPIKeyAuth?: boolean } = {
|
|
523
|
+
bearerAuth: true,
|
|
524
|
+
adminAPIKeyAuth: true,
|
|
525
|
+
},
|
|
526
|
+
) {
|
|
527
|
+
if (values.get('authorization') || values.get('api-key')) {
|
|
528
|
+
return;
|
|
529
|
+
}
|
|
530
|
+
if (nulls.has('authorization') || nulls.has('api-key')) {
|
|
531
|
+
return;
|
|
532
|
+
}
|
|
533
|
+
|
|
534
|
+
if (this._workloadIdentityAuth && schemes.bearerAuth) {
|
|
535
|
+
return;
|
|
536
|
+
}
|
|
537
|
+
|
|
538
|
+
throw new Error(
|
|
539
|
+
'Could not resolve authentication method. Expected either apiKey or adminAPIKey to be set. Or for one of the "Authorization" or "api-key" headers to be explicitly omitted',
|
|
540
|
+
);
|
|
541
|
+
}
|
|
542
|
+
|
|
543
|
+
protected async authHeaders(
|
|
544
|
+
opts: FinalRequestOptions,
|
|
545
|
+
schemes: { bearerAuth?: boolean; adminAPIKeyAuth?: boolean } = {
|
|
546
|
+
bearerAuth: true,
|
|
547
|
+
adminAPIKeyAuth: true,
|
|
548
|
+
},
|
|
549
|
+
): Promise<NullableHeaders | undefined> {
|
|
550
|
+
return buildHeaders([
|
|
551
|
+
schemes.bearerAuth ? await this.bearerAuth(opts) : null,
|
|
552
|
+
schemes.adminAPIKeyAuth ? await this.adminAPIKeyAuth(opts) : null,
|
|
553
|
+
]);
|
|
499
554
|
}
|
|
500
555
|
|
|
501
|
-
protected async
|
|
556
|
+
protected async bearerAuth(opts: FinalRequestOptions): Promise<NullableHeaders | undefined> {
|
|
557
|
+
if (this._workloadIdentityAuth) {
|
|
558
|
+
return buildHeaders([{ Authorization: `Bearer ${await this._workloadIdentityAuth.getToken()}` }]);
|
|
559
|
+
}
|
|
560
|
+
if (this.apiKey == null) {
|
|
561
|
+
return undefined;
|
|
562
|
+
}
|
|
502
563
|
return buildHeaders([{ Authorization: `Bearer ${this.apiKey}` }]);
|
|
503
564
|
}
|
|
504
565
|
|
|
566
|
+
protected async adminAPIKeyAuth(opts: FinalRequestOptions): Promise<NullableHeaders | undefined> {
|
|
567
|
+
if (this.adminAPIKey == null) {
|
|
568
|
+
return undefined;
|
|
569
|
+
}
|
|
570
|
+
return buildHeaders([{ Authorization: `Bearer ${this.adminAPIKey}` }]);
|
|
571
|
+
}
|
|
572
|
+
|
|
505
573
|
protected stringifyQuery(query: object | Record<string, unknown>): string {
|
|
506
574
|
return stringifyQuery(query);
|
|
507
575
|
}
|
|
@@ -576,7 +644,10 @@ export class OpenAI {
|
|
|
576
644
|
* Used as a callback for mutating the given `FinalRequestOptions` object.
|
|
577
645
|
*/
|
|
578
646
|
protected async prepareOptions(options: FinalRequestOptions): Promise<void> {
|
|
579
|
-
|
|
647
|
+
const security = options.__security ?? { bearerAuth: true };
|
|
648
|
+
if (security.bearerAuth) {
|
|
649
|
+
await this._callApiKey();
|
|
650
|
+
}
|
|
580
651
|
}
|
|
581
652
|
|
|
582
653
|
/**
|
|
@@ -668,8 +739,9 @@ export class OpenAI {
|
|
|
668
739
|
throw new Errors.APIUserAbortError();
|
|
669
740
|
}
|
|
670
741
|
|
|
742
|
+
const security = options.__security ?? { bearerAuth: true };
|
|
671
743
|
const controller = new AbortController();
|
|
672
|
-
const response = await this.fetchWithAuth(url, req, timeout, controller).catch(castToError);
|
|
744
|
+
const response = await this.fetchWithAuth(url, req, timeout, controller, security).catch(castToError);
|
|
673
745
|
const headersTime = Date.now();
|
|
674
746
|
|
|
675
747
|
if (response instanceof globalThis.Error) {
|
|
@@ -732,6 +804,7 @@ export class OpenAI {
|
|
|
732
804
|
if (
|
|
733
805
|
response.status === 401 &&
|
|
734
806
|
this._workloadIdentityAuth &&
|
|
807
|
+
security.bearerAuth &&
|
|
735
808
|
!options.__metadata?.['hasStreamingBody'] &&
|
|
736
809
|
!options.__metadata?.['workloadIdentityTokenRefreshed']
|
|
737
810
|
) {
|
|
@@ -844,8 +917,12 @@ export class OpenAI {
|
|
|
844
917
|
init: RequestInit,
|
|
845
918
|
timeout: number,
|
|
846
919
|
controller: AbortController,
|
|
920
|
+
schemes: { bearerAuth?: boolean; adminAPIKeyAuth?: boolean } = {
|
|
921
|
+
bearerAuth: true,
|
|
922
|
+
adminAPIKeyAuth: true,
|
|
923
|
+
},
|
|
847
924
|
): Promise<Response> {
|
|
848
|
-
if (this._workloadIdentityAuth) {
|
|
925
|
+
if (this._workloadIdentityAuth && schemes.bearerAuth) {
|
|
849
926
|
const headers = init.headers as Headers;
|
|
850
927
|
const authHeader = headers.get('Authorization');
|
|
851
928
|
if (!authHeader || authHeader === `Bearer ${WORKLOAD_IDENTITY_API_KEY_PLACEHOLDER}`) {
|
|
@@ -1035,13 +1112,13 @@ export class OpenAI {
|
|
|
1035
1112
|
'OpenAI-Organization': this.organization,
|
|
1036
1113
|
'OpenAI-Project': this.project,
|
|
1037
1114
|
},
|
|
1038
|
-
await this.authHeaders(options),
|
|
1115
|
+
await this.authHeaders(options, options.__security ?? { bearerAuth: true }),
|
|
1039
1116
|
this._options.defaultHeaders,
|
|
1040
1117
|
bodyHeaders,
|
|
1041
1118
|
options.headers,
|
|
1042
1119
|
]);
|
|
1043
1120
|
|
|
1044
|
-
this.validateHeaders(headers);
|
|
1121
|
+
this.validateHeaders(headers, options.__security ?? { bearerAuth: true });
|
|
1045
1122
|
|
|
1046
1123
|
return headers.values;
|
|
1047
1124
|
}
|
|
@@ -1176,6 +1253,7 @@ export class OpenAI {
|
|
|
1176
1253
|
* Use Uploads to upload large files in multiple parts.
|
|
1177
1254
|
*/
|
|
1178
1255
|
uploads: API.Uploads = new API.Uploads(this);
|
|
1256
|
+
admin: API.Admin = new API.Admin(this);
|
|
1179
1257
|
responses: API.Responses = new API.Responses(this);
|
|
1180
1258
|
realtime: API.Realtime = new API.Realtime(this);
|
|
1181
1259
|
/**
|
|
@@ -1206,6 +1284,7 @@ OpenAI.Webhooks = Webhooks;
|
|
|
1206
1284
|
OpenAI.Beta = Beta;
|
|
1207
1285
|
OpenAI.Batches = Batches;
|
|
1208
1286
|
OpenAI.Uploads = UploadsAPIUploads;
|
|
1287
|
+
OpenAI.Admin = Admin;
|
|
1209
1288
|
OpenAI.Responses = Responses;
|
|
1210
1289
|
OpenAI.Realtime = Realtime;
|
|
1211
1290
|
OpenAI.Conversations = Conversations;
|
|
@@ -1229,6 +1308,12 @@ export declare namespace OpenAI {
|
|
|
1229
1308
|
type ConversationCursorPageResponse as ConversationCursorPageResponse,
|
|
1230
1309
|
};
|
|
1231
1310
|
|
|
1311
|
+
export import NextCursorPage = Pagination.NextCursorPage;
|
|
1312
|
+
export {
|
|
1313
|
+
type NextCursorPageParams as NextCursorPageParams,
|
|
1314
|
+
type NextCursorPageResponse as NextCursorPageResponse,
|
|
1315
|
+
};
|
|
1316
|
+
|
|
1232
1317
|
export {
|
|
1233
1318
|
Completions as Completions,
|
|
1234
1319
|
type Completion as Completion,
|
|
@@ -1391,6 +1476,8 @@ export declare namespace OpenAI {
|
|
|
1391
1476
|
type UploadCompleteParams as UploadCompleteParams,
|
|
1392
1477
|
};
|
|
1393
1478
|
|
|
1479
|
+
export { Admin as Admin };
|
|
1480
|
+
|
|
1394
1481
|
export { Responses as Responses };
|
|
1395
1482
|
|
|
1396
1483
|
export { Realtime as Realtime };
|
package/src/core/EventEmitter.ts
CHANGED
|
@@ -96,3 +96,19 @@ export class EventEmitter<EventTypes extends Record<string, (...args: any) => an
|
|
|
96
96
|
return listeners && listeners.length > 0;
|
|
97
97
|
}
|
|
98
98
|
}
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
* An EventEmitter variant that exposes `_emit()` publicly.
|
|
102
|
+
*
|
|
103
|
+
* The base {@link EventEmitter} keeps `_emit` protected so that consumers
|
|
104
|
+
* can only listen, not dispatch. When you need a separate emitter instance
|
|
105
|
+
* that your own code can emit on, without exposing emit on the
|
|
106
|
+
* consumer-facing emitter, use this class.
|
|
107
|
+
*/
|
|
108
|
+
export class InternalEventEmitter<
|
|
109
|
+
EventTypes extends Record<string, (...args: any) => any>,
|
|
110
|
+
> extends EventEmitter<EventTypes> {
|
|
111
|
+
override _emit<Event extends keyof EventTypes>(event: Event, ...args: EventParameters<EventTypes, Event>) {
|
|
112
|
+
super._emit(event, ...args);
|
|
113
|
+
}
|
|
114
|
+
}
|
package/src/core/pagination.ts
CHANGED
|
@@ -267,3 +267,65 @@ export class ConversationCursorPage<Item>
|
|
|
267
267
|
};
|
|
268
268
|
}
|
|
269
269
|
}
|
|
270
|
+
|
|
271
|
+
export interface NextCursorPageResponse<Item> {
|
|
272
|
+
data: Array<Item>;
|
|
273
|
+
|
|
274
|
+
has_more: boolean;
|
|
275
|
+
|
|
276
|
+
next: string | null;
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
export interface NextCursorPageParams {
|
|
280
|
+
after?: string;
|
|
281
|
+
|
|
282
|
+
limit?: number;
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
export class NextCursorPage<Item> extends AbstractPage<Item> implements NextCursorPageResponse<Item> {
|
|
286
|
+
data: Array<Item>;
|
|
287
|
+
|
|
288
|
+
has_more: boolean;
|
|
289
|
+
|
|
290
|
+
next: string | null;
|
|
291
|
+
|
|
292
|
+
constructor(
|
|
293
|
+
client: OpenAI,
|
|
294
|
+
response: Response,
|
|
295
|
+
body: NextCursorPageResponse<Item>,
|
|
296
|
+
options: FinalRequestOptions,
|
|
297
|
+
) {
|
|
298
|
+
super(client, response, body, options);
|
|
299
|
+
|
|
300
|
+
this.data = body.data || [];
|
|
301
|
+
this.has_more = body.has_more || false;
|
|
302
|
+
this.next = body.next || null;
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
getPaginatedItems(): Item[] {
|
|
306
|
+
return this.data ?? [];
|
|
307
|
+
}
|
|
308
|
+
|
|
309
|
+
override hasNextPage(): boolean {
|
|
310
|
+
if (this.has_more === false) {
|
|
311
|
+
return false;
|
|
312
|
+
}
|
|
313
|
+
|
|
314
|
+
return super.hasNextPage();
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
nextPageRequestOptions(): PageRequestOptions | null {
|
|
318
|
+
const cursor = this.next;
|
|
319
|
+
if (!cursor) {
|
|
320
|
+
return null;
|
|
321
|
+
}
|
|
322
|
+
|
|
323
|
+
return {
|
|
324
|
+
...this.options,
|
|
325
|
+
query: {
|
|
326
|
+
...maybeObj(this.options.query),
|
|
327
|
+
after: cursor,
|
|
328
|
+
},
|
|
329
|
+
};
|
|
330
|
+
}
|
|
331
|
+
}
|
|
@@ -77,6 +77,7 @@ export type RequestOptions = {
|
|
|
77
77
|
defaultBaseURL?: string | undefined;
|
|
78
78
|
|
|
79
79
|
__metadata?: Record<string, unknown>;
|
|
80
|
+
__security?: { bearerAuth?: boolean; adminAPIKeyAuth?: boolean };
|
|
80
81
|
__binaryResponse?: boolean | undefined;
|
|
81
82
|
__streamClass?: typeof Stream;
|
|
82
83
|
__synthesizeEventData?: boolean;
|
package/src/internal/types.ts
CHANGED
|
@@ -40,7 +40,6 @@ type OverloadedParameters<T> =
|
|
|
40
40
|
: T extends (...args: infer A) => unknown ? A
|
|
41
41
|
: never;
|
|
42
42
|
|
|
43
|
-
/* eslint-disable */
|
|
44
43
|
/**
|
|
45
44
|
* These imports attempt to get types from a parent package's dependencies.
|
|
46
45
|
* Unresolved bare specifiers can trigger [automatic type acquisition][1] in some projects, which
|
|
@@ -63,19 +62,18 @@ type OverloadedParameters<T> =
|
|
|
63
62
|
*
|
|
64
63
|
* [1]: https://www.typescriptlang.org/tsconfig/#typeAcquisition
|
|
65
64
|
*/
|
|
66
|
-
/** @ts-ignore For users with \@types/node */
|
|
65
|
+
/** @ts-ignore For users with \@types/node */ /* prettier-ignore */
|
|
67
66
|
type UndiciTypesRequestInit = NotAny<import('../node_modules/undici-types/index.d.ts').RequestInit> | NotAny<import('../../node_modules/undici-types/index.d.ts').RequestInit> | NotAny<import('../../../node_modules/undici-types/index.d.ts').RequestInit> | NotAny<import('../../../../node_modules/undici-types/index.d.ts').RequestInit> | NotAny<import('../../../../../node_modules/undici-types/index.d.ts').RequestInit> | NotAny<import('../../../../../../node_modules/undici-types/index.d.ts').RequestInit> | NotAny<import('../../../../../../../node_modules/undici-types/index.d.ts').RequestInit> | NotAny<import('../../../../../../../../node_modules/undici-types/index.d.ts').RequestInit> | NotAny<import('../../../../../../../../../node_modules/undici-types/index.d.ts').RequestInit> | NotAny<import('../../../../../../../../../../node_modules/undici-types/index.d.ts').RequestInit>;
|
|
68
|
-
/** @ts-ignore For users with undici */
|
|
67
|
+
/** @ts-ignore For users with undici */ /* prettier-ignore */
|
|
69
68
|
type UndiciRequestInit = NotAny<import('../node_modules/undici/index.d.ts').RequestInit> | NotAny<import('../../node_modules/undici/index.d.ts').RequestInit> | NotAny<import('../../../node_modules/undici/index.d.ts').RequestInit> | NotAny<import('../../../../node_modules/undici/index.d.ts').RequestInit> | NotAny<import('../../../../../node_modules/undici/index.d.ts').RequestInit> | NotAny<import('../../../../../../node_modules/undici/index.d.ts').RequestInit> | NotAny<import('../../../../../../../node_modules/undici/index.d.ts').RequestInit> | NotAny<import('../../../../../../../../node_modules/undici/index.d.ts').RequestInit> | NotAny<import('../../../../../../../../../node_modules/undici/index.d.ts').RequestInit> | NotAny<import('../../../../../../../../../../node_modules/undici/index.d.ts').RequestInit>;
|
|
70
|
-
/** @ts-ignore For users with \@types/bun */
|
|
69
|
+
/** @ts-ignore For users with \@types/bun */ /* prettier-ignore */
|
|
71
70
|
type BunRequestInit = globalThis.FetchRequestInit;
|
|
72
|
-
/** @ts-ignore For users with node-fetch@2 */
|
|
71
|
+
/** @ts-ignore For users with node-fetch@2 */ /* prettier-ignore */
|
|
73
72
|
type NodeFetch2RequestInit = NotAny<import('../node_modules/@types/node-fetch/index.d.ts').RequestInit> | NotAny<import('../../node_modules/@types/node-fetch/index.d.ts').RequestInit> | NotAny<import('../../../node_modules/@types/node-fetch/index.d.ts').RequestInit> | NotAny<import('../../../../node_modules/@types/node-fetch/index.d.ts').RequestInit> | NotAny<import('../../../../../node_modules/@types/node-fetch/index.d.ts').RequestInit> | NotAny<import('../../../../../../node_modules/@types/node-fetch/index.d.ts').RequestInit> | NotAny<import('../../../../../../../node_modules/@types/node-fetch/index.d.ts').RequestInit> | NotAny<import('../../../../../../../../node_modules/@types/node-fetch/index.d.ts').RequestInit> | NotAny<import('../../../../../../../../../node_modules/@types/node-fetch/index.d.ts').RequestInit> | NotAny<import('../../../../../../../../../../node_modules/@types/node-fetch/index.d.ts').RequestInit>;
|
|
74
|
-
/** @ts-ignore For users with node-fetch@3, doesn't need file extension because types are at ./@types/index.d.ts */
|
|
73
|
+
/** @ts-ignore For users with node-fetch@3, doesn't need file extension because types are at ./@types/index.d.ts */ /* prettier-ignore */
|
|
75
74
|
type NodeFetch3RequestInit = NotAny<import('../node_modules/node-fetch').RequestInit> | NotAny<import('../../node_modules/node-fetch').RequestInit> | NotAny<import('../../../node_modules/node-fetch').RequestInit> | NotAny<import('../../../../node_modules/node-fetch').RequestInit> | NotAny<import('../../../../../node_modules/node-fetch').RequestInit> | NotAny<import('../../../../../../node_modules/node-fetch').RequestInit> | NotAny<import('../../../../../../../node_modules/node-fetch').RequestInit> | NotAny<import('../../../../../../../../node_modules/node-fetch').RequestInit> | NotAny<import('../../../../../../../../../node_modules/node-fetch').RequestInit> | NotAny<import('../../../../../../../../../../node_modules/node-fetch').RequestInit>;
|
|
76
|
-
/** @ts-ignore For users who use Deno */
|
|
75
|
+
/** @ts-ignore For users who use Deno */ /* prettier-ignore */
|
|
77
76
|
type FetchRequestInit = NonNullable<OverloadedParameters<typeof fetch>[1]>;
|
|
78
|
-
/* eslint-enable */
|
|
79
77
|
|
|
80
78
|
type RequestInits =
|
|
81
79
|
| NotAny<UndiciTypesRequestInit>
|
|
@@ -9,10 +9,10 @@
|
|
|
9
9
|
*/
|
|
10
10
|
export const readEnv = (env: string): string | undefined => {
|
|
11
11
|
if (typeof (globalThis as any).process !== 'undefined') {
|
|
12
|
-
return (globalThis as any).process.env?.[env]?.trim()
|
|
12
|
+
return (globalThis as any).process.env?.[env]?.trim() || undefined;
|
|
13
13
|
}
|
|
14
14
|
if (typeof (globalThis as any).Deno !== 'undefined') {
|
|
15
|
-
return (globalThis as any).Deno.env?.get?.(env)?.trim();
|
|
15
|
+
return (globalThis as any).Deno.env?.get?.(env)?.trim() || undefined;
|
|
16
16
|
}
|
|
17
17
|
return undefined;
|
|
18
18
|
};
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import type { WebSocketLike } from './ws-adapter';
|
|
2
|
+
|
|
3
|
+
/** A generic event listener callback. */
|
|
4
|
+
type Listener = (...args: any[]) => void;
|
|
5
|
+
|
|
6
|
+
/** A DOM-style event handler passed to addEventListener/removeEventListener. */
|
|
7
|
+
type DOMEventHandler = (ev: any) => void;
|
|
8
|
+
|
|
9
|
+
// Minimal browser API type declarations.
|
|
10
|
+
declare class WebSocket {
|
|
11
|
+
readonly readyState: number;
|
|
12
|
+
binaryType: string;
|
|
13
|
+
send(data: string | ArrayBufferLike | ArrayBufferView): void;
|
|
14
|
+
close(code?: number, reason?: string): void;
|
|
15
|
+
addEventListener(type: string, listener: DOMEventHandler): void;
|
|
16
|
+
removeEventListener(type: string, listener: DOMEventHandler): void;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
interface MessageEvent {
|
|
20
|
+
data: any;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
interface CloseEvent {
|
|
24
|
+
code: number;
|
|
25
|
+
reason: string;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export class BrowserWebSocket implements WebSocketLike {
|
|
29
|
+
private _ws: WebSocket;
|
|
30
|
+
private _listenerMap = new Map<string, Map<Listener, DOMEventHandler>>();
|
|
31
|
+
|
|
32
|
+
constructor(ws: WebSocket) {
|
|
33
|
+
this._ws = ws;
|
|
34
|
+
this._ws.binaryType = 'arraybuffer';
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/** The underlying platform-specific socket. Code that accesses this will not be isomorphic across server and browser environments. */
|
|
38
|
+
get platformSocket(): WebSocket {
|
|
39
|
+
return this._ws;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
get readyState(): number {
|
|
43
|
+
return this._ws.readyState;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
send(data: string | ArrayBufferLike | ArrayBufferView): void {
|
|
47
|
+
this._ws.send(data);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
close(code?: number, reason?: string): void {
|
|
51
|
+
this._ws.close(code, reason);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
on(event: string, listener: Listener): void {
|
|
55
|
+
const wrapped = this._wrapListener(event, listener);
|
|
56
|
+
this._listenersFor(event).set(listener, wrapped);
|
|
57
|
+
this._ws.addEventListener(event, wrapped);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
off(event: string, listener: Listener): void {
|
|
61
|
+
const byListener = this._listenerMap.get(event);
|
|
62
|
+
if (!byListener) return;
|
|
63
|
+
const wrapped = byListener.get(listener);
|
|
64
|
+
if (wrapped) {
|
|
65
|
+
byListener.delete(listener);
|
|
66
|
+
this._ws.removeEventListener(event, wrapped);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
once(event: string, listener: Listener): void {
|
|
71
|
+
const onceListener: Listener = (...args) => {
|
|
72
|
+
this.off(event, listener);
|
|
73
|
+
listener(...args);
|
|
74
|
+
};
|
|
75
|
+
const wrapped = this._wrapListener(event, onceListener);
|
|
76
|
+
this._listenersFor(event).set(listener, wrapped);
|
|
77
|
+
this._ws.addEventListener(event, wrapped);
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
private _listenersFor(event: string): Map<Listener, DOMEventHandler> {
|
|
81
|
+
let map = this._listenerMap.get(event);
|
|
82
|
+
if (!map) {
|
|
83
|
+
map = new Map();
|
|
84
|
+
this._listenerMap.set(event, map);
|
|
85
|
+
}
|
|
86
|
+
return map;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
/**
|
|
90
|
+
* Converts browser event objects to positional arguments matching the
|
|
91
|
+
* {@link WebSocketLike} interface.
|
|
92
|
+
*/
|
|
93
|
+
private _wrapListener(event: string, listener: Listener): DOMEventHandler {
|
|
94
|
+
switch (event) {
|
|
95
|
+
case 'message':
|
|
96
|
+
return (ev: MessageEvent) => {
|
|
97
|
+
const isBinary = typeof ev.data !== 'string';
|
|
98
|
+
listener(ev.data, isBinary);
|
|
99
|
+
};
|
|
100
|
+
|
|
101
|
+
case 'close':
|
|
102
|
+
return (ev: CloseEvent) => {
|
|
103
|
+
listener(ev.code, ev.reason);
|
|
104
|
+
};
|
|
105
|
+
|
|
106
|
+
case 'error':
|
|
107
|
+
return (ev: any) => {
|
|
108
|
+
// Some environments provide an ErrorEvent with a `.message`;
|
|
109
|
+
// fall back to a generic message when the event carries nothing.
|
|
110
|
+
const message = ev?.message || ev?.error?.message || 'WebSocket error';
|
|
111
|
+
const err = new Error(message);
|
|
112
|
+
if (ev?.error) {
|
|
113
|
+
(err as any).cause = ev.error;
|
|
114
|
+
}
|
|
115
|
+
listener(err);
|
|
116
|
+
};
|
|
117
|
+
|
|
118
|
+
case 'open':
|
|
119
|
+
default:
|
|
120
|
+
return listener as DOMEventHandler;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import type * as WS from 'ws';
|
|
2
|
+
import type { WebSocketLike } from './ws-adapter';
|
|
3
|
+
|
|
4
|
+
/** A generic event listener callback. */
|
|
5
|
+
type Listener = (...args: any[]) => void;
|
|
6
|
+
|
|
7
|
+
export class NodeWebSocket implements WebSocketLike {
|
|
8
|
+
private _ws: WS.WebSocket;
|
|
9
|
+
|
|
10
|
+
/** Maps `(event, originalListener)` -> wrapped listener for correct `off()` removal. */
|
|
11
|
+
private _listenerMap = new Map<string, Map<Listener, Listener>>();
|
|
12
|
+
|
|
13
|
+
constructor(ws: WS.WebSocket) {
|
|
14
|
+
this._ws = ws;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
/** The underlying platform-specific socket. Code that accesses this will not be isomorphic across server and browser environments. */
|
|
18
|
+
get platformSocket(): WS.WebSocket {
|
|
19
|
+
return this._ws;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
get readyState(): number {
|
|
23
|
+
return this._ws.readyState;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
send(data: string | ArrayBufferLike | ArrayBufferView): void {
|
|
27
|
+
this._ws.send(data);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
close(code?: number, reason?: string): void {
|
|
31
|
+
this._ws.close(code, reason);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
on(event: string, listener: Listener): void {
|
|
35
|
+
const wrapped = this._wrapListener(event, listener);
|
|
36
|
+
this._listenersFor(event).set(listener, wrapped);
|
|
37
|
+
this._ws.on(event, wrapped);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
off(event: string, listener: Listener): void {
|
|
41
|
+
const byListener = this._listenerMap.get(event);
|
|
42
|
+
if (!byListener) return;
|
|
43
|
+
const wrapped = byListener.get(listener);
|
|
44
|
+
if (wrapped) {
|
|
45
|
+
byListener.delete(listener);
|
|
46
|
+
this._ws.removeListener(event, wrapped);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
once(event: string, listener: Listener): void {
|
|
51
|
+
const onceListener: Listener = (...args) => {
|
|
52
|
+
this.off(event, listener);
|
|
53
|
+
listener(...args);
|
|
54
|
+
};
|
|
55
|
+
const wrapped = this._wrapListener(event, onceListener);
|
|
56
|
+
this._listenersFor(event).set(listener, wrapped);
|
|
57
|
+
this._ws.on(event, wrapped);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
private _listenersFor(event: string): Map<Listener, Listener> {
|
|
61
|
+
let map = this._listenerMap.get(event);
|
|
62
|
+
if (!map) {
|
|
63
|
+
map = new Map();
|
|
64
|
+
this._listenerMap.set(event, map);
|
|
65
|
+
}
|
|
66
|
+
return map;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* Normalizes `ws` message payloads: text frames become strings,
|
|
71
|
+
* binary frames stay as `Buffer`, and fragmented frames are merged.
|
|
72
|
+
*/
|
|
73
|
+
private static _normalizeMessageData(
|
|
74
|
+
data: Buffer | ArrayBuffer | Buffer[],
|
|
75
|
+
isBinary: boolean,
|
|
76
|
+
): string | Buffer {
|
|
77
|
+
if (!isBinary) {
|
|
78
|
+
if (Array.isArray(data)) return Buffer.concat(data).toString();
|
|
79
|
+
if (data instanceof ArrayBuffer) return Buffer.from(data).toString();
|
|
80
|
+
return data.toString();
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
if (Array.isArray(data)) return Buffer.concat(data);
|
|
84
|
+
if (data instanceof ArrayBuffer) return Buffer.from(data);
|
|
85
|
+
return data;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
private _wrapListener(event: string, listener: Listener): Listener {
|
|
89
|
+
switch (event) {
|
|
90
|
+
case 'message':
|
|
91
|
+
return (data: Buffer | ArrayBuffer | Buffer[], isBinary: boolean) => {
|
|
92
|
+
listener(NodeWebSocket._normalizeMessageData(data, isBinary), isBinary);
|
|
93
|
+
};
|
|
94
|
+
|
|
95
|
+
case 'close':
|
|
96
|
+
return (code: number, reason: Buffer) => {
|
|
97
|
+
listener(code, reason.toString());
|
|
98
|
+
};
|
|
99
|
+
|
|
100
|
+
// 'open' and 'error' pass through unchanged
|
|
101
|
+
default:
|
|
102
|
+
return listener;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
}
|