openai 7.14.0 → 7.16.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 +41 -0
- package/README.md +6 -0
- package/bedrock.d.mts.map +1 -1
- package/bedrock.d.ts.map +1 -1
- package/bedrock.js +9 -6
- package/bedrock.js.map +1 -1
- package/bedrock.mjs +9 -6
- package/bedrock.mjs.map +1 -1
- package/client.d.mts +16 -4
- package/client.d.mts.map +1 -1
- package/client.d.ts +16 -4
- package/client.d.ts.map +1 -1
- package/client.js +37 -20
- package/client.js.map +1 -1
- package/client.mjs +37 -20
- package/client.mjs.map +1 -1
- package/core/pagination.d.mts +19 -1
- package/core/pagination.d.mts.map +1 -1
- package/core/pagination.d.ts +19 -1
- 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/realtime-credentials.d.mts +1 -1
- package/internal/realtime-credentials.d.ts +1 -1
- package/internal/realtime-credentials.js +1 -1
- package/internal/realtime-credentials.mjs +1 -1
- package/internal/utils/abort.d.mts +11 -0
- package/internal/utils/abort.d.mts.map +1 -0
- package/internal/utils/abort.d.ts +11 -0
- package/internal/utils/abort.d.ts.map +1 -0
- package/internal/utils/abort.js +87 -0
- package/internal/utils/abort.js.map +1 -0
- package/internal/utils/abort.mjs +83 -0
- package/internal/utils/abort.mjs.map +1 -0
- package/internal/ws.d.mts +13 -0
- package/internal/ws.d.mts.map +1 -1
- package/internal/ws.d.ts +13 -0
- package/internal/ws.d.ts.map +1 -1
- package/internal/ws.js +10 -0
- package/internal/ws.js.map +1 -1
- package/internal/ws.mjs +9 -0
- package/internal/ws.mjs.map +1 -1
- package/lib/agents/agent-session-stream.d.mts +41 -0
- package/lib/agents/agent-session-stream.d.mts.map +1 -0
- package/lib/agents/agent-session-stream.d.ts +41 -0
- package/lib/agents/agent-session-stream.d.ts.map +1 -0
- package/lib/agents/agent-session-stream.js +271 -0
- package/lib/agents/agent-session-stream.js.map +1 -0
- package/lib/agents/agent-session-stream.mjs +267 -0
- package/lib/agents/agent-session-stream.mjs.map +1 -0
- package/lib/agents/output-text.d.mts +4 -0
- package/lib/agents/output-text.d.mts.map +1 -0
- package/lib/agents/output-text.d.ts +4 -0
- package/lib/agents/output-text.d.ts.map +1 -0
- package/lib/agents/output-text.js +8 -0
- package/lib/agents/output-text.js.map +1 -0
- package/lib/agents/output-text.mjs +5 -0
- package/lib/agents/output-text.mjs.map +1 -0
- package/lib/agents/turn-state.d.mts +14 -0
- package/lib/agents/turn-state.d.mts.map +1 -0
- package/lib/agents/turn-state.d.ts +14 -0
- package/lib/agents/turn-state.d.ts.map +1 -0
- package/lib/agents/turn-state.js +62 -0
- package/lib/agents/turn-state.js.map +1 -0
- package/lib/agents/turn-state.mjs +58 -0
- package/lib/agents/turn-state.mjs.map +1 -0
- package/lib/live/transcript-grouping.d.mts +2 -2
- package/lib/live/transcript-grouping.d.mts.map +1 -1
- package/lib/live/transcript-grouping.d.ts +2 -2
- package/lib/live/transcript-grouping.d.ts.map +1 -1
- package/lib/live/transcript-grouping.js +44 -22
- package/lib/live/transcript-grouping.js.map +1 -1
- package/lib/live/transcript-grouping.mjs +44 -22
- package/lib/live/transcript-grouping.mjs.map +1 -1
- package/package.json +1 -1
- package/resources/beta/agents/agents.d.mts +3678 -0
- package/resources/beta/agents/agents.d.mts.map +1 -0
- package/resources/beta/agents/agents.d.ts +3678 -0
- package/resources/beta/agents/agents.d.ts.map +1 -0
- package/resources/beta/agents/agents.js +118 -0
- package/resources/beta/agents/agents.js.map +1 -0
- package/resources/beta/agents/agents.mjs +113 -0
- package/resources/beta/agents/agents.mjs.map +1 -0
- package/resources/beta/agents/environments/environments.d.mts +65 -0
- package/resources/beta/agents/environments/environments.d.mts.map +1 -0
- package/resources/beta/agents/environments/environments.d.ts +65 -0
- package/resources/beta/agents/environments/environments.d.ts.map +1 -0
- package/resources/beta/agents/environments/environments.js +43 -0
- package/resources/beta/agents/environments/environments.js.map +1 -0
- package/resources/beta/agents/environments/environments.mjs +38 -0
- package/resources/beta/agents/environments/environments.mjs.map +1 -0
- package/resources/beta/agents/environments/files.d.mts +111 -0
- package/resources/beta/agents/environments/files.d.mts.map +1 -0
- package/resources/beta/agents/environments/files.d.ts +111 -0
- package/resources/beta/agents/environments/files.d.ts.map +1 -0
- package/resources/beta/agents/environments/files.js +61 -0
- package/resources/beta/agents/environments/files.js.map +1 -0
- package/resources/beta/agents/environments/files.mjs +57 -0
- package/resources/beta/agents/environments/files.mjs.map +1 -0
- package/resources/beta/agents/environments/index.d.mts +4 -0
- package/resources/beta/agents/environments/index.d.mts.map +1 -0
- package/resources/beta/agents/environments/index.d.ts +4 -0
- package/resources/beta/agents/environments/index.d.ts.map +1 -0
- package/resources/beta/agents/environments/index.js +11 -0
- package/resources/beta/agents/environments/index.js.map +1 -0
- package/resources/beta/agents/environments/index.mjs +5 -0
- package/resources/beta/agents/environments/index.mjs.map +1 -0
- package/resources/beta/agents/environments/templates.d.mts +415 -0
- package/resources/beta/agents/environments/templates.d.mts.map +1 -0
- package/resources/beta/agents/environments/templates.d.ts +415 -0
- package/resources/beta/agents/environments/templates.d.ts.map +1 -0
- package/resources/beta/agents/environments/templates.js +112 -0
- package/resources/beta/agents/environments/templates.js.map +1 -0
- package/resources/beta/agents/environments/templates.mjs +108 -0
- package/resources/beta/agents/environments/templates.mjs.map +1 -0
- package/resources/beta/agents/environments.d.mts +2 -0
- package/resources/beta/agents/environments.d.mts.map +1 -0
- package/resources/beta/agents/environments.d.ts +2 -0
- package/resources/beta/agents/environments.d.ts.map +1 -0
- package/resources/beta/agents/environments.js +6 -0
- package/resources/beta/agents/environments.js.map +1 -0
- package/resources/beta/agents/environments.mjs +3 -0
- package/resources/beta/agents/environments.mjs.map +1 -0
- package/resources/beta/agents/index.d.mts +5 -0
- package/resources/beta/agents/index.d.mts.map +1 -0
- package/resources/beta/agents/index.d.ts +5 -0
- package/resources/beta/agents/index.d.ts.map +1 -0
- package/resources/beta/agents/index.js +13 -0
- package/resources/beta/agents/index.js.map +1 -0
- package/resources/beta/agents/index.mjs +6 -0
- package/resources/beta/agents/index.mjs.map +1 -0
- package/resources/beta/agents/sessions/artifacts.d.mts +158 -0
- package/resources/beta/agents/sessions/artifacts.d.mts.map +1 -0
- package/resources/beta/agents/sessions/artifacts.d.ts +158 -0
- package/resources/beta/agents/sessions/artifacts.d.ts.map +1 -0
- package/resources/beta/agents/sessions/artifacts.js +106 -0
- package/resources/beta/agents/sessions/artifacts.js.map +1 -0
- package/resources/beta/agents/sessions/artifacts.mjs +102 -0
- package/resources/beta/agents/sessions/artifacts.mjs.map +1 -0
- package/resources/beta/agents/sessions/events.d.mts +61 -0
- package/resources/beta/agents/sessions/events.d.mts.map +1 -0
- package/resources/beta/agents/sessions/events.d.ts +61 -0
- package/resources/beta/agents/sessions/events.d.ts.map +1 -0
- package/resources/beta/agents/sessions/events.js +72 -0
- package/resources/beta/agents/sessions/events.js.map +1 -0
- package/resources/beta/agents/sessions/events.mjs +68 -0
- package/resources/beta/agents/sessions/events.mjs.map +1 -0
- package/resources/beta/agents/sessions/index.d.mts +7 -0
- package/resources/beta/agents/sessions/index.d.mts.map +1 -0
- package/resources/beta/agents/sessions/index.d.ts +7 -0
- package/resources/beta/agents/sessions/index.d.ts.map +1 -0
- package/resources/beta/agents/sessions/index.js +17 -0
- package/resources/beta/agents/sessions/index.js.map +1 -0
- package/resources/beta/agents/sessions/index.mjs +8 -0
- package/resources/beta/agents/sessions/index.mjs.map +1 -0
- package/resources/beta/agents/sessions/items.d.mts +37 -0
- package/resources/beta/agents/sessions/items.d.mts.map +1 -0
- package/resources/beta/agents/sessions/items.d.ts +37 -0
- package/resources/beta/agents/sessions/items.d.ts.map +1 -0
- package/resources/beta/agents/sessions/items.js +35 -0
- package/resources/beta/agents/sessions/items.js.map +1 -0
- package/resources/beta/agents/sessions/items.mjs +31 -0
- package/resources/beta/agents/sessions/items.mjs.map +1 -0
- package/resources/beta/agents/sessions/sessions.d.mts +220 -0
- package/resources/beta/agents/sessions/sessions.d.mts.map +1 -0
- package/resources/beta/agents/sessions/sessions.d.ts +220 -0
- package/resources/beta/agents/sessions/sessions.d.ts.map +1 -0
- package/resources/beta/agents/sessions/sessions.js +124 -0
- package/resources/beta/agents/sessions/sessions.js.map +1 -0
- package/resources/beta/agents/sessions/sessions.mjs +119 -0
- package/resources/beta/agents/sessions/sessions.mjs.map +1 -0
- package/resources/beta/agents/sessions/subagents/index.d.mts +4 -0
- package/resources/beta/agents/sessions/subagents/index.d.mts.map +1 -0
- package/resources/beta/agents/sessions/subagents/index.d.ts +4 -0
- package/resources/beta/agents/sessions/subagents/index.d.ts.map +1 -0
- package/resources/beta/agents/sessions/subagents/index.js +11 -0
- package/resources/beta/agents/sessions/subagents/index.js.map +1 -0
- package/resources/beta/agents/sessions/subagents/index.mjs +5 -0
- package/resources/beta/agents/sessions/subagents/index.mjs.map +1 -0
- package/resources/beta/agents/sessions/subagents/items.d.mts +41 -0
- package/resources/beta/agents/sessions/subagents/items.d.mts.map +1 -0
- package/resources/beta/agents/sessions/subagents/items.d.ts +41 -0
- package/resources/beta/agents/sessions/subagents/items.d.ts.map +1 -0
- package/resources/beta/agents/sessions/subagents/items.js +36 -0
- package/resources/beta/agents/sessions/subagents/items.js.map +1 -0
- package/resources/beta/agents/sessions/subagents/items.mjs +32 -0
- package/resources/beta/agents/sessions/subagents/items.mjs.map +1 -0
- package/resources/beta/agents/sessions/subagents/subagents.d.mts +65 -0
- package/resources/beta/agents/sessions/subagents/subagents.d.mts.map +1 -0
- package/resources/beta/agents/sessions/subagents/subagents.d.ts +65 -0
- package/resources/beta/agents/sessions/subagents/subagents.d.ts.map +1 -0
- package/resources/beta/agents/sessions/subagents/subagents.js +67 -0
- package/resources/beta/agents/sessions/subagents/subagents.js.map +1 -0
- package/resources/beta/agents/sessions/subagents/subagents.mjs +62 -0
- package/resources/beta/agents/sessions/subagents/subagents.mjs.map +1 -0
- package/resources/beta/agents/sessions/subagents/turns/index.d.mts +3 -0
- package/resources/beta/agents/sessions/subagents/turns/index.d.mts.map +1 -0
- package/resources/beta/agents/sessions/subagents/turns/index.d.ts +3 -0
- package/resources/beta/agents/sessions/subagents/turns/index.d.ts.map +1 -0
- package/resources/beta/agents/sessions/subagents/turns/index.js +9 -0
- package/resources/beta/agents/sessions/subagents/turns/index.js.map +1 -0
- package/resources/beta/agents/sessions/subagents/turns/index.mjs +4 -0
- package/resources/beta/agents/sessions/subagents/turns/index.mjs.map +1 -0
- package/resources/beta/agents/sessions/subagents/turns/items.d.mts +45 -0
- package/resources/beta/agents/sessions/subagents/turns/items.d.mts.map +1 -0
- package/resources/beta/agents/sessions/subagents/turns/items.d.ts +45 -0
- package/resources/beta/agents/sessions/subagents/turns/items.d.ts.map +1 -0
- package/resources/beta/agents/sessions/subagents/turns/items.js +36 -0
- package/resources/beta/agents/sessions/subagents/turns/items.js.map +1 -0
- package/resources/beta/agents/sessions/subagents/turns/items.mjs +32 -0
- package/resources/beta/agents/sessions/subagents/turns/items.mjs.map +1 -0
- package/resources/beta/agents/sessions/subagents/turns/turns.d.mts +73 -0
- package/resources/beta/agents/sessions/subagents/turns/turns.d.mts.map +1 -0
- package/resources/beta/agents/sessions/subagents/turns/turns.d.ts +73 -0
- package/resources/beta/agents/sessions/subagents/turns/turns.d.ts.map +1 -0
- package/resources/beta/agents/sessions/subagents/turns/turns.js +68 -0
- package/resources/beta/agents/sessions/subagents/turns/turns.js.map +1 -0
- package/resources/beta/agents/sessions/subagents/turns/turns.mjs +63 -0
- package/resources/beta/agents/sessions/subagents/turns/turns.mjs.map +1 -0
- package/resources/beta/agents/sessions/subagents/turns.d.mts +2 -0
- package/resources/beta/agents/sessions/subagents/turns.d.mts.map +1 -0
- package/resources/beta/agents/sessions/subagents/turns.d.ts +2 -0
- package/resources/beta/agents/sessions/subagents/turns.d.ts.map +1 -0
- package/resources/beta/agents/sessions/subagents/turns.js +6 -0
- package/resources/beta/agents/sessions/subagents/turns.js.map +1 -0
- package/resources/beta/agents/sessions/subagents/turns.mjs +3 -0
- package/resources/beta/agents/sessions/subagents/turns.mjs.map +1 -0
- package/resources/beta/agents/sessions/subagents.d.mts +2 -0
- package/resources/beta/agents/sessions/subagents.d.mts.map +1 -0
- package/resources/beta/agents/sessions/subagents.d.ts +2 -0
- package/resources/beta/agents/sessions/subagents.d.ts.map +1 -0
- package/resources/beta/agents/sessions/subagents.js +6 -0
- package/resources/beta/agents/sessions/subagents.js.map +1 -0
- package/resources/beta/agents/sessions/subagents.mjs +3 -0
- package/resources/beta/agents/sessions/subagents.mjs.map +1 -0
- package/resources/beta/agents/sessions/turns.d.mts +116 -0
- package/resources/beta/agents/sessions/turns.d.mts.map +1 -0
- package/resources/beta/agents/sessions/turns.d.ts +116 -0
- package/resources/beta/agents/sessions/turns.d.ts.map +1 -0
- package/resources/beta/agents/sessions/turns.js +57 -0
- package/resources/beta/agents/sessions/turns.js.map +1 -0
- package/resources/beta/agents/sessions/turns.mjs +53 -0
- package/resources/beta/agents/sessions/turns.mjs.map +1 -0
- package/resources/beta/agents/sessions.d.mts +2 -0
- package/resources/beta/agents/sessions.d.mts.map +1 -0
- package/resources/beta/agents/sessions.d.ts +2 -0
- package/resources/beta/agents/sessions.d.ts.map +1 -0
- package/resources/beta/agents/sessions.js +6 -0
- package/resources/beta/agents/sessions.js.map +1 -0
- package/resources/beta/agents/sessions.mjs +3 -0
- package/resources/beta/agents/sessions.mjs.map +1 -0
- package/resources/beta/agents/vaults/credentials.d.mts +526 -0
- package/resources/beta/agents/vaults/credentials.d.mts.map +1 -0
- package/resources/beta/agents/vaults/credentials.d.ts +526 -0
- package/resources/beta/agents/vaults/credentials.d.ts.map +1 -0
- package/resources/beta/agents/vaults/credentials.js +132 -0
- package/resources/beta/agents/vaults/credentials.js.map +1 -0
- package/resources/beta/agents/vaults/credentials.mjs +128 -0
- package/resources/beta/agents/vaults/credentials.mjs.map +1 -0
- package/resources/beta/agents/vaults/index.d.mts +3 -0
- package/resources/beta/agents/vaults/index.d.mts.map +1 -0
- package/resources/beta/agents/vaults/index.d.ts +3 -0
- package/resources/beta/agents/vaults/index.d.ts.map +1 -0
- package/resources/beta/agents/vaults/index.js +9 -0
- package/resources/beta/agents/vaults/index.js.map +1 -0
- package/resources/beta/agents/vaults/index.mjs +4 -0
- package/resources/beta/agents/vaults/index.mjs.map +1 -0
- package/resources/beta/agents/vaults/vaults.d.mts +145 -0
- package/resources/beta/agents/vaults/vaults.d.mts.map +1 -0
- package/resources/beta/agents/vaults/vaults.d.ts +145 -0
- package/resources/beta/agents/vaults/vaults.d.ts.map +1 -0
- package/resources/beta/agents/vaults/vaults.js +93 -0
- package/resources/beta/agents/vaults/vaults.js.map +1 -0
- package/resources/beta/agents/vaults/vaults.mjs +88 -0
- package/resources/beta/agents/vaults/vaults.mjs.map +1 -0
- package/resources/beta/agents/vaults.d.mts +2 -0
- package/resources/beta/agents/vaults.d.mts.map +1 -0
- package/resources/beta/agents/vaults.d.ts +2 -0
- package/resources/beta/agents/vaults.d.ts.map +1 -0
- package/resources/beta/agents/vaults.js +6 -0
- package/resources/beta/agents/vaults.js.map +1 -0
- package/resources/beta/agents/vaults.mjs +3 -0
- package/resources/beta/agents/vaults.mjs.map +1 -0
- package/resources/beta/agents.d.mts +2 -0
- package/resources/beta/agents.d.mts.map +1 -0
- package/resources/beta/agents.d.ts +2 -0
- package/resources/beta/agents.d.ts.map +1 -0
- package/resources/beta/agents.js +6 -0
- package/resources/beta/agents.js.map +1 -0
- package/resources/beta/agents.mjs +3 -0
- package/resources/beta/agents.mjs.map +1 -0
- package/resources/beta/beta.d.mts +4 -1
- package/resources/beta/beta.d.mts.map +1 -1
- package/resources/beta/beta.d.ts +4 -1
- package/resources/beta/beta.d.ts.map +1 -1
- package/resources/beta/beta.js +4 -0
- package/resources/beta/beta.js.map +1 -1
- package/resources/beta/beta.mjs +4 -0
- package/resources/beta/beta.mjs.map +1 -1
- package/resources/beta/index.d.mts +1 -0
- package/resources/beta/index.d.mts.map +1 -1
- package/resources/beta/index.d.ts +1 -0
- package/resources/beta/index.d.ts.map +1 -1
- package/resources/beta/index.js +11 -9
- package/resources/beta/index.js.map +1 -1
- package/resources/beta/index.mjs +1 -0
- package/resources/beta/index.mjs.map +1 -1
- package/resources/beta/responses/internal-base.d.mts.map +1 -1
- package/resources/beta/responses/internal-base.d.ts.map +1 -1
- package/resources/beta/responses/internal-base.js +6 -0
- package/resources/beta/responses/internal-base.js.map +1 -1
- package/resources/beta/responses/internal-base.mjs +6 -0
- package/resources/beta/responses/internal-base.mjs.map +1 -1
- package/resources/beta/responses/ws-base.d.mts +13 -8
- package/resources/beta/responses/ws-base.d.mts.map +1 -1
- package/resources/beta/responses/ws-base.d.ts +13 -8
- package/resources/beta/responses/ws-base.d.ts.map +1 -1
- package/resources/beta/responses/ws-base.js +85 -14
- package/resources/beta/responses/ws-base.js.map +1 -1
- package/resources/beta/responses/ws-base.mjs +87 -16
- package/resources/beta/responses/ws-base.mjs.map +1 -1
- package/resources/beta/responses/ws.d.mts +1 -0
- package/resources/beta/responses/ws.d.mts.map +1 -1
- package/resources/beta/responses/ws.d.ts +1 -0
- package/resources/beta/responses/ws.d.ts.map +1 -1
- package/resources/beta/responses/ws.js.map +1 -1
- package/resources/beta/responses/ws.mjs.map +1 -1
- package/resources/live/forks/ws-base.d.mts +13 -8
- package/resources/live/forks/ws-base.d.mts.map +1 -1
- package/resources/live/forks/ws-base.d.ts +13 -8
- package/resources/live/forks/ws-base.d.ts.map +1 -1
- package/resources/live/forks/ws-base.js +85 -14
- package/resources/live/forks/ws-base.js.map +1 -1
- package/resources/live/forks/ws-base.mjs +87 -16
- package/resources/live/forks/ws-base.mjs.map +1 -1
- package/resources/live/forks/ws.d.mts +1 -0
- package/resources/live/forks/ws.d.mts.map +1 -1
- package/resources/live/forks/ws.d.ts +1 -0
- package/resources/live/forks/ws.d.ts.map +1 -1
- package/resources/live/forks/ws.js.map +1 -1
- package/resources/live/forks/ws.mjs.map +1 -1
- package/resources/live/sessions.d.mts +10 -4
- package/resources/live/sessions.d.mts.map +1 -1
- package/resources/live/sessions.d.ts +10 -4
- package/resources/live/sessions.d.ts.map +1 -1
- package/resources/live/sessions.js +10 -4
- package/resources/live/sessions.js.map +1 -1
- package/resources/live/sessions.mjs +10 -4
- package/resources/live/sessions.mjs.map +1 -1
- package/resources/live/sideband/ws-base.d.mts +13 -8
- package/resources/live/sideband/ws-base.d.mts.map +1 -1
- package/resources/live/sideband/ws-base.d.ts +13 -8
- package/resources/live/sideband/ws-base.d.ts.map +1 -1
- package/resources/live/sideband/ws-base.js +85 -14
- package/resources/live/sideband/ws-base.js.map +1 -1
- package/resources/live/sideband/ws-base.mjs +87 -16
- package/resources/live/sideband/ws-base.mjs.map +1 -1
- package/resources/live/sideband/ws.d.mts +1 -0
- package/resources/live/sideband/ws.d.mts.map +1 -1
- package/resources/live/sideband/ws.d.ts +1 -0
- package/resources/live/sideband/ws.d.ts.map +1 -1
- package/resources/live/sideband/ws.js.map +1 -1
- package/resources/live/sideband/ws.mjs.map +1 -1
- package/resources/live/ws-base.d.mts +13 -8
- package/resources/live/ws-base.d.mts.map +1 -1
- package/resources/live/ws-base.d.ts +13 -8
- package/resources/live/ws-base.d.ts.map +1 -1
- package/resources/live/ws-base.js +85 -14
- package/resources/live/ws-base.js.map +1 -1
- package/resources/live/ws-base.mjs +87 -16
- package/resources/live/ws-base.mjs.map +1 -1
- package/resources/live/ws.d.mts +1 -0
- package/resources/live/ws.d.mts.map +1 -1
- package/resources/live/ws.d.ts +1 -0
- package/resources/live/ws.d.ts.map +1 -1
- package/resources/live/ws.js.map +1 -1
- package/resources/live/ws.mjs.map +1 -1
- package/resources/responses/internal-base.d.mts.map +1 -1
- package/resources/responses/internal-base.d.ts.map +1 -1
- package/resources/responses/internal-base.js +6 -0
- package/resources/responses/internal-base.js.map +1 -1
- package/resources/responses/internal-base.mjs +6 -0
- package/resources/responses/internal-base.mjs.map +1 -1
- package/resources/responses/ws-base.d.mts +13 -8
- package/resources/responses/ws-base.d.mts.map +1 -1
- package/resources/responses/ws-base.d.ts +13 -8
- package/resources/responses/ws-base.d.ts.map +1 -1
- package/resources/responses/ws-base.js +85 -14
- package/resources/responses/ws-base.js.map +1 -1
- package/resources/responses/ws-base.mjs +87 -16
- package/resources/responses/ws-base.mjs.map +1 -1
- package/resources/responses/ws.d.mts +1 -0
- package/resources/responses/ws.d.mts.map +1 -1
- package/resources/responses/ws.d.ts +1 -0
- package/resources/responses/ws.d.ts.map +1 -1
- package/resources/responses/ws.js.map +1 -1
- package/resources/responses/ws.mjs.map +1 -1
- package/src/bedrock.ts +18 -7
- package/src/client.ts +48 -19
- package/src/core/pagination.ts +63 -1
- package/src/internal/realtime-credentials.ts +1 -1
- package/src/internal/utils/abort.ts +111 -0
- package/src/internal/ws.ts +22 -0
- package/src/lib/agents/agent-session-stream.ts +326 -0
- package/src/lib/agents/output-text.ts +6 -0
- package/src/lib/agents/turn-state.ts +61 -0
- package/src/lib/live/transcript-grouping.ts +59 -27
- package/src/resources/beta/agents/agents.ts +4621 -0
- package/src/resources/beta/agents/environments/environments.ts +111 -0
- package/src/resources/beta/agents/environments/files.ts +164 -0
- package/src/resources/beta/agents/environments/index.ts +19 -0
- package/src/resources/beta/agents/environments/templates.ts +537 -0
- package/src/resources/beta/agents/environments.ts +3 -0
- package/src/resources/beta/agents/index.ts +127 -0
- package/src/resources/beta/agents/sessions/artifacts.ts +239 -0
- package/src/resources/beta/agents/sessions/events.ts +91 -0
- package/src/resources/beta/agents/sessions/index.ts +24 -0
- package/src/resources/beta/agents/sessions/items.ts +59 -0
- package/src/resources/beta/agents/sessions/sessions.ts +350 -0
- package/src/resources/beta/agents/sessions/subagents/index.ts +5 -0
- package/src/resources/beta/agents/sessions/subagents/items.ts +65 -0
- package/src/resources/beta/agents/sessions/subagents/subagents.ts +113 -0
- package/src/resources/beta/agents/sessions/subagents/turns/index.ts +4 -0
- package/src/resources/beta/agents/sessions/subagents/turns/items.ts +70 -0
- package/src/resources/beta/agents/sessions/subagents/turns/turns.ts +111 -0
- package/src/resources/beta/agents/sessions/subagents/turns.ts +3 -0
- package/src/resources/beta/agents/sessions/subagents.ts +3 -0
- package/src/resources/beta/agents/sessions/turns.ts +159 -0
- package/src/resources/beta/agents/sessions.ts +3 -0
- package/src/resources/beta/agents/vaults/credentials.ts +687 -0
- package/src/resources/beta/agents/vaults/index.ts +29 -0
- package/src/resources/beta/agents/vaults/vaults.ts +237 -0
- package/src/resources/beta/agents/vaults.ts +3 -0
- package/src/resources/beta/agents.ts +3 -0
- package/src/resources/beta/beta.ts +207 -0
- package/src/resources/beta/index.ts +106 -0
- package/src/resources/beta/responses/internal-base.ts +5 -0
- package/src/resources/beta/responses/ws-base.ts +110 -21
- package/src/resources/beta/responses/ws.ts +2 -0
- package/src/resources/live/forks/ws-base.ts +110 -21
- package/src/resources/live/forks/ws.ts +2 -0
- package/src/resources/live/sessions.ts +10 -4
- package/src/resources/live/sideband/ws-base.ts +110 -21
- package/src/resources/live/sideband/ws.ts +2 -0
- package/src/resources/live/ws-base.ts +110 -21
- package/src/resources/live/ws.ts +2 -0
- package/src/resources/responses/internal-base.ts +5 -0
- package/src/resources/responses/ws-base.ts +110 -21
- package/src/resources/responses/ws.ts +2 -0
- package/src/version.ts +1 -1
- package/version.d.mts +1 -1
- package/version.d.ts +1 -1
- package/version.js +1 -1
- package/version.mjs +1 -1
|
@@ -6,6 +6,8 @@ import { sleep } from '../../../internal/utils/sleep';
|
|
|
6
6
|
import { type WebSocketLike, ReadyState } from '../../../internal/ws-adapter';
|
|
7
7
|
import {
|
|
8
8
|
SendQueue,
|
|
9
|
+
getMaxBufferedEvents,
|
|
10
|
+
type WebSocketStreamOptions,
|
|
9
11
|
flattenRawData,
|
|
10
12
|
isRecoverableClose,
|
|
11
13
|
type RawWebSocketData,
|
|
@@ -51,11 +53,11 @@ export interface ResponsesWSBaseOptions {
|
|
|
51
53
|
reconnect?: ResponsesWSReconnectOptions | null | undefined;
|
|
52
54
|
|
|
53
55
|
/**
|
|
54
|
-
*
|
|
55
|
-
*
|
|
56
|
-
*
|
|
57
|
-
*
|
|
58
|
-
* Default: 1
|
|
56
|
+
* Byte budget for outgoing messages queued while the socket is connecting
|
|
57
|
+
* or reconnecting. An empty queue accepts one message even if it exceeds
|
|
58
|
+
* this budget. Further messages are discarded and an `error` event is emitted
|
|
59
|
+
* if the total queued size would exceed the budget.
|
|
60
|
+
* Default: 1 MiB (1,048,576 bytes).
|
|
59
61
|
*/
|
|
60
62
|
maxQueueSize?: number | undefined;
|
|
61
63
|
}
|
|
@@ -169,6 +171,11 @@ export abstract class ResponsesWSBase<TSocket extends WebSocketLike> extends Res
|
|
|
169
171
|
* The iterator will exit if the socket closes but exiting the iterator
|
|
170
172
|
* does not close the socket.
|
|
171
173
|
*
|
|
174
|
+
* Pass `maxBufferedEvents` to limit queued records for this iterator, including
|
|
175
|
+
* lifecycle events. Overflow discards its backlog and rejects `next()` with a
|
|
176
|
+
* WebSocketError; the shared socket and other iterators remain active.
|
|
177
|
+
* Omitted means unlimited. This is an event-count limit, not a byte limit.
|
|
178
|
+
*
|
|
172
179
|
* @example
|
|
173
180
|
* ```ts
|
|
174
181
|
* for await (const event of client.stream()) {
|
|
@@ -186,26 +193,59 @@ export abstract class ResponsesWSBase<TSocket extends WebSocketLike> extends Res
|
|
|
186
193
|
* }
|
|
187
194
|
* ```
|
|
188
195
|
*/
|
|
189
|
-
stream(): AsyncIterableIterator<ResponsesStreamMessage> {
|
|
190
|
-
return this[Symbol.asyncIterator]();
|
|
196
|
+
stream(options?: WebSocketStreamOptions): AsyncIterableIterator<ResponsesStreamMessage> {
|
|
197
|
+
return options === undefined ? this[Symbol.asyncIterator]() : this[Symbol.asyncIterator](options);
|
|
191
198
|
}
|
|
192
199
|
|
|
193
|
-
[Symbol.asyncIterator](): AsyncIterableIterator<ResponsesStreamMessage> {
|
|
200
|
+
[Symbol.asyncIterator](options?: WebSocketStreamOptions): AsyncIterableIterator<ResponsesStreamMessage> {
|
|
194
201
|
if (!this.socket) {
|
|
195
202
|
throw new OpenAIError('Internal error: failed to initialize socket. Please report this issue.');
|
|
196
203
|
}
|
|
197
204
|
|
|
205
|
+
const maxBufferedEvents = getMaxBufferedEvents(options);
|
|
206
|
+
|
|
198
207
|
// Two-queue async iterator: `queue` buffers incoming messages,
|
|
199
208
|
// `resolvers` buffers waiting next() calls. A push wakes the
|
|
200
209
|
// oldest next(); a next() drains the oldest message.
|
|
201
|
-
const queue: ResponsesStreamMessage[] = [];
|
|
202
|
-
const resolvers: (() => void)[] = [];
|
|
210
|
+
const queue: (ResponsesStreamMessage | undefined)[] = [];
|
|
211
|
+
const resolvers: ((() => void) | undefined)[] = [];
|
|
212
|
+
let queueHead = 0;
|
|
213
|
+
let resolverHead = 0;
|
|
203
214
|
let done = false;
|
|
215
|
+
let failure: WebSocketError | undefined;
|
|
204
216
|
let currentSocket = this.socket;
|
|
205
217
|
|
|
218
|
+
const wakeResolver = () => {
|
|
219
|
+
if (resolverHead >= resolvers.length) return;
|
|
220
|
+
|
|
221
|
+
const resolver = resolvers[resolverHead];
|
|
222
|
+
resolvers[resolverHead] = undefined;
|
|
223
|
+
resolverHead += 1;
|
|
224
|
+
if (resolverHead >= 64 && resolverHead * 2 >= resolvers.length) {
|
|
225
|
+
resolvers.splice(0, resolverHead);
|
|
226
|
+
resolverHead = 0;
|
|
227
|
+
}
|
|
228
|
+
resolver?.();
|
|
229
|
+
};
|
|
230
|
+
|
|
206
231
|
const push = (msg: ResponsesStreamMessage) => {
|
|
232
|
+
if (done) return;
|
|
233
|
+
|
|
234
|
+
if (maxBufferedEvents !== undefined && queue.length - queueHead >= maxBufferedEvents) {
|
|
235
|
+
failure = new WebSocketError(
|
|
236
|
+
`WebSocket stream exceeded maxBufferedEvents (${maxBufferedEvents})`,
|
|
237
|
+
null,
|
|
238
|
+
);
|
|
239
|
+
done = true;
|
|
240
|
+
queue.length = 0;
|
|
241
|
+
queueHead = 0;
|
|
242
|
+
cleanup();
|
|
243
|
+
flushResolvers();
|
|
244
|
+
return;
|
|
245
|
+
}
|
|
246
|
+
|
|
207
247
|
queue.push(msg);
|
|
208
|
-
|
|
248
|
+
wakeResolver();
|
|
209
249
|
};
|
|
210
250
|
|
|
211
251
|
const onEvent = (event: ResponsesAPI.BetaResponsesServerEvent) => {
|
|
@@ -235,9 +275,14 @@ export abstract class ResponsesWSBase<TSocket extends WebSocketLike> extends Res
|
|
|
235
275
|
};
|
|
236
276
|
|
|
237
277
|
const flushResolvers = () => {
|
|
238
|
-
|
|
239
|
-
resolver
|
|
278
|
+
while (resolverHead < resolvers.length) {
|
|
279
|
+
const resolver = resolvers[resolverHead];
|
|
280
|
+
resolvers[resolverHead] = undefined;
|
|
281
|
+
resolverHead += 1;
|
|
282
|
+
resolver?.();
|
|
240
283
|
}
|
|
284
|
+
resolvers.length = 0;
|
|
285
|
+
resolverHead = 0;
|
|
241
286
|
};
|
|
242
287
|
|
|
243
288
|
const onClose = (
|
|
@@ -251,8 +296,9 @@ export abstract class ResponsesWSBase<TSocket extends WebSocketLike> extends Res
|
|
|
251
296
|
cleanup();
|
|
252
297
|
};
|
|
253
298
|
|
|
254
|
-
const onSocketSwap = (
|
|
255
|
-
|
|
299
|
+
const onSocketSwap = (_oldSocket: TSocket, newSocket: TSocket) => {
|
|
300
|
+
if (currentSocket === newSocket) return;
|
|
301
|
+
currentSocket.off('open', onOpen);
|
|
256
302
|
newSocket.on('open', onOpen);
|
|
257
303
|
currentSocket = newSocket;
|
|
258
304
|
};
|
|
@@ -309,9 +355,21 @@ export abstract class ResponsesWSBase<TSocket extends WebSocketLike> extends Res
|
|
|
309
355
|
}
|
|
310
356
|
}
|
|
311
357
|
|
|
312
|
-
const resolve = (
|
|
313
|
-
|
|
314
|
-
|
|
358
|
+
const resolve = (
|
|
359
|
+
res: (value: IteratorResult<ResponsesStreamMessage>) => void,
|
|
360
|
+
reject: (error: WebSocketError) => void,
|
|
361
|
+
) => {
|
|
362
|
+
if (failure) {
|
|
363
|
+
reject(failure);
|
|
364
|
+
} else if (queueHead < queue.length) {
|
|
365
|
+
const queued = queue[queueHead]!;
|
|
366
|
+
queue[queueHead] = undefined;
|
|
367
|
+
queueHead += 1;
|
|
368
|
+
if (queueHead >= 64 && queueHead * 2 >= queue.length) {
|
|
369
|
+
queue.splice(0, queueHead);
|
|
370
|
+
queueHead = 0;
|
|
371
|
+
}
|
|
372
|
+
res({ value: queued, done: false });
|
|
315
373
|
} else if (done) {
|
|
316
374
|
res({ value: undefined, done: true });
|
|
317
375
|
} else {
|
|
@@ -321,10 +379,10 @@ export abstract class ResponsesWSBase<TSocket extends WebSocketLike> extends Res
|
|
|
321
379
|
};
|
|
322
380
|
|
|
323
381
|
const next = (): Promise<IteratorResult<ResponsesStreamMessage>> =>
|
|
324
|
-
new Promise((res) => {
|
|
325
|
-
if (resolve(res)) return;
|
|
382
|
+
new Promise((res, reject) => {
|
|
383
|
+
if (resolve(res, reject)) return;
|
|
326
384
|
resolvers.push(() => {
|
|
327
|
-
resolve(res);
|
|
385
|
+
resolve(res, reject);
|
|
328
386
|
});
|
|
329
387
|
});
|
|
330
388
|
|
|
@@ -332,6 +390,8 @@ export abstract class ResponsesWSBase<TSocket extends WebSocketLike> extends Res
|
|
|
332
390
|
next,
|
|
333
391
|
return: (): Promise<IteratorReturnResult<undefined>> => {
|
|
334
392
|
done = true;
|
|
393
|
+
queue.length = 0;
|
|
394
|
+
queueHead = 0;
|
|
335
395
|
cleanup();
|
|
336
396
|
flushResolvers();
|
|
337
397
|
return Promise.resolve({ value: undefined, done: true });
|
|
@@ -364,6 +424,35 @@ export abstract class ResponsesWSBase<TSocket extends WebSocketLike> extends Res
|
|
|
364
424
|
return;
|
|
365
425
|
}
|
|
366
426
|
|
|
427
|
+
if (
|
|
428
|
+
event === null ||
|
|
429
|
+
typeof event !== 'object' ||
|
|
430
|
+
Array.isArray(event) ||
|
|
431
|
+
!Object.prototype.hasOwnProperty.call(event, 'type') ||
|
|
432
|
+
typeof event.type !== 'string'
|
|
433
|
+
) {
|
|
434
|
+
this._onError(
|
|
435
|
+
null,
|
|
436
|
+
'received invalid WebSocket event: expected an object with an own string type',
|
|
437
|
+
undefined,
|
|
438
|
+
);
|
|
439
|
+
return;
|
|
440
|
+
}
|
|
441
|
+
|
|
442
|
+
const eventType: string = event.type;
|
|
443
|
+
const reservedEventType =
|
|
444
|
+
eventType === 'raw' ||
|
|
445
|
+
eventType === 'close' ||
|
|
446
|
+
eventType === 'event' ||
|
|
447
|
+
eventType === 'reconnecting' ||
|
|
448
|
+
eventType === 'reconnected' ||
|
|
449
|
+
eventType === 'open' ||
|
|
450
|
+
eventType === 'error';
|
|
451
|
+
if (reservedEventType && eventType !== 'error') {
|
|
452
|
+
this._onError(null, 'received reserved WebSocket event type', undefined);
|
|
453
|
+
return;
|
|
454
|
+
}
|
|
455
|
+
|
|
367
456
|
this._emit('event', event);
|
|
368
457
|
|
|
369
458
|
if (event.type === 'error') {
|
|
@@ -6,6 +6,8 @@ import { ResponsesWSBase, type ResponsesWSBaseOptions } from './ws-base';
|
|
|
6
6
|
import { OpenAI } from '../../../client';
|
|
7
7
|
import { VERSION } from '../../../version';
|
|
8
8
|
|
|
9
|
+
export type { WebSocketStreamOptions } from '../../../internal/ws';
|
|
10
|
+
|
|
9
11
|
export type { ResponsesWSReconnectOptions } from './ws-base';
|
|
10
12
|
|
|
11
13
|
export interface ResponsesWSClientOptions extends WS.ClientOptions, ResponsesWSBaseOptions {}
|
|
@@ -6,6 +6,8 @@ import { sleep } from '../../../internal/utils/sleep';
|
|
|
6
6
|
import { type WebSocketLike, ReadyState } from '../../../internal/ws-adapter';
|
|
7
7
|
import {
|
|
8
8
|
SendQueue,
|
|
9
|
+
getMaxBufferedEvents,
|
|
10
|
+
type WebSocketStreamOptions,
|
|
9
11
|
flattenRawData,
|
|
10
12
|
isRecoverableClose,
|
|
11
13
|
type RawWebSocketData,
|
|
@@ -55,11 +57,11 @@ export interface ForksWSBaseOptions {
|
|
|
55
57
|
reconnect?: ForksWSReconnectOptions | null | undefined;
|
|
56
58
|
|
|
57
59
|
/**
|
|
58
|
-
*
|
|
59
|
-
*
|
|
60
|
-
*
|
|
61
|
-
*
|
|
62
|
-
* Default: 1
|
|
60
|
+
* Byte budget for outgoing messages queued while the socket is connecting
|
|
61
|
+
* or reconnecting. An empty queue accepts one message even if it exceeds
|
|
62
|
+
* this budget. Further messages are discarded and an `error` event is emitted
|
|
63
|
+
* if the total queued size would exceed the budget.
|
|
64
|
+
* Default: 1 MiB (1,048,576 bytes).
|
|
63
65
|
*/
|
|
64
66
|
maxQueueSize?: number | undefined;
|
|
65
67
|
}
|
|
@@ -169,6 +171,11 @@ export abstract class ForksWSBase<TSocket extends WebSocketLike> extends ForksEm
|
|
|
169
171
|
* The iterator will exit if the socket closes but exiting the iterator
|
|
170
172
|
* does not close the socket.
|
|
171
173
|
*
|
|
174
|
+
* Pass `maxBufferedEvents` to limit queued records for this iterator, including
|
|
175
|
+
* lifecycle events. Overflow discards its backlog and rejects `next()` with a
|
|
176
|
+
* WebSocketError; the shared socket and other iterators remain active.
|
|
177
|
+
* Omitted means unlimited. This is an event-count limit, not a byte limit.
|
|
178
|
+
*
|
|
172
179
|
* @example
|
|
173
180
|
* ```ts
|
|
174
181
|
* for await (const event of client.stream()) {
|
|
@@ -186,26 +193,59 @@ export abstract class ForksWSBase<TSocket extends WebSocketLike> extends ForksEm
|
|
|
186
193
|
* }
|
|
187
194
|
* ```
|
|
188
195
|
*/
|
|
189
|
-
stream(): AsyncIterableIterator<ForksStreamMessage> {
|
|
190
|
-
return this[Symbol.asyncIterator]();
|
|
196
|
+
stream(options?: WebSocketStreamOptions): AsyncIterableIterator<ForksStreamMessage> {
|
|
197
|
+
return options === undefined ? this[Symbol.asyncIterator]() : this[Symbol.asyncIterator](options);
|
|
191
198
|
}
|
|
192
199
|
|
|
193
|
-
[Symbol.asyncIterator](): AsyncIterableIterator<ForksStreamMessage> {
|
|
200
|
+
[Symbol.asyncIterator](options?: WebSocketStreamOptions): AsyncIterableIterator<ForksStreamMessage> {
|
|
194
201
|
if (!this.socket) {
|
|
195
202
|
throw new OpenAIError('Internal error: failed to initialize socket. Please report this issue.');
|
|
196
203
|
}
|
|
197
204
|
|
|
205
|
+
const maxBufferedEvents = getMaxBufferedEvents(options);
|
|
206
|
+
|
|
198
207
|
// Two-queue async iterator: `queue` buffers incoming messages,
|
|
199
208
|
// `resolvers` buffers waiting next() calls. A push wakes the
|
|
200
209
|
// oldest next(); a next() drains the oldest message.
|
|
201
|
-
const queue: ForksStreamMessage[] = [];
|
|
202
|
-
const resolvers: (() => void)[] = [];
|
|
210
|
+
const queue: (ForksStreamMessage | undefined)[] = [];
|
|
211
|
+
const resolvers: ((() => void) | undefined)[] = [];
|
|
212
|
+
let queueHead = 0;
|
|
213
|
+
let resolverHead = 0;
|
|
203
214
|
let done = false;
|
|
215
|
+
let failure: WebSocketError | undefined;
|
|
204
216
|
let currentSocket = this.socket;
|
|
205
217
|
|
|
218
|
+
const wakeResolver = () => {
|
|
219
|
+
if (resolverHead >= resolvers.length) return;
|
|
220
|
+
|
|
221
|
+
const resolver = resolvers[resolverHead];
|
|
222
|
+
resolvers[resolverHead] = undefined;
|
|
223
|
+
resolverHead += 1;
|
|
224
|
+
if (resolverHead >= 64 && resolverHead * 2 >= resolvers.length) {
|
|
225
|
+
resolvers.splice(0, resolverHead);
|
|
226
|
+
resolverHead = 0;
|
|
227
|
+
}
|
|
228
|
+
resolver?.();
|
|
229
|
+
};
|
|
230
|
+
|
|
206
231
|
const push = (msg: ForksStreamMessage) => {
|
|
232
|
+
if (done) return;
|
|
233
|
+
|
|
234
|
+
if (maxBufferedEvents !== undefined && queue.length - queueHead >= maxBufferedEvents) {
|
|
235
|
+
failure = new WebSocketError(
|
|
236
|
+
`WebSocket stream exceeded maxBufferedEvents (${maxBufferedEvents})`,
|
|
237
|
+
null,
|
|
238
|
+
);
|
|
239
|
+
done = true;
|
|
240
|
+
queue.length = 0;
|
|
241
|
+
queueHead = 0;
|
|
242
|
+
cleanup();
|
|
243
|
+
flushResolvers();
|
|
244
|
+
return;
|
|
245
|
+
}
|
|
246
|
+
|
|
207
247
|
queue.push(msg);
|
|
208
|
-
|
|
248
|
+
wakeResolver();
|
|
209
249
|
};
|
|
210
250
|
|
|
211
251
|
const onEvent = (event: ForksAPI.ForkServerEvent) => {
|
|
@@ -235,9 +275,14 @@ export abstract class ForksWSBase<TSocket extends WebSocketLike> extends ForksEm
|
|
|
235
275
|
};
|
|
236
276
|
|
|
237
277
|
const flushResolvers = () => {
|
|
238
|
-
|
|
239
|
-
resolver
|
|
278
|
+
while (resolverHead < resolvers.length) {
|
|
279
|
+
const resolver = resolvers[resolverHead];
|
|
280
|
+
resolvers[resolverHead] = undefined;
|
|
281
|
+
resolverHead += 1;
|
|
282
|
+
resolver?.();
|
|
240
283
|
}
|
|
284
|
+
resolvers.length = 0;
|
|
285
|
+
resolverHead = 0;
|
|
241
286
|
};
|
|
242
287
|
|
|
243
288
|
const onClose = (code: number, reason: string, unsent: UnsentMessage<ForksAPI.ForkClientEvent>[]) => {
|
|
@@ -247,8 +292,9 @@ export abstract class ForksWSBase<TSocket extends WebSocketLike> extends ForksEm
|
|
|
247
292
|
cleanup();
|
|
248
293
|
};
|
|
249
294
|
|
|
250
|
-
const onSocketSwap = (
|
|
251
|
-
|
|
295
|
+
const onSocketSwap = (_oldSocket: TSocket, newSocket: TSocket) => {
|
|
296
|
+
if (currentSocket === newSocket) return;
|
|
297
|
+
currentSocket.off('open', onOpen);
|
|
252
298
|
newSocket.on('open', onOpen);
|
|
253
299
|
currentSocket = newSocket;
|
|
254
300
|
};
|
|
@@ -305,9 +351,21 @@ export abstract class ForksWSBase<TSocket extends WebSocketLike> extends ForksEm
|
|
|
305
351
|
}
|
|
306
352
|
}
|
|
307
353
|
|
|
308
|
-
const resolve = (
|
|
309
|
-
|
|
310
|
-
|
|
354
|
+
const resolve = (
|
|
355
|
+
res: (value: IteratorResult<ForksStreamMessage>) => void,
|
|
356
|
+
reject: (error: WebSocketError) => void,
|
|
357
|
+
) => {
|
|
358
|
+
if (failure) {
|
|
359
|
+
reject(failure);
|
|
360
|
+
} else if (queueHead < queue.length) {
|
|
361
|
+
const queued = queue[queueHead]!;
|
|
362
|
+
queue[queueHead] = undefined;
|
|
363
|
+
queueHead += 1;
|
|
364
|
+
if (queueHead >= 64 && queueHead * 2 >= queue.length) {
|
|
365
|
+
queue.splice(0, queueHead);
|
|
366
|
+
queueHead = 0;
|
|
367
|
+
}
|
|
368
|
+
res({ value: queued, done: false });
|
|
311
369
|
} else if (done) {
|
|
312
370
|
res({ value: undefined, done: true });
|
|
313
371
|
} else {
|
|
@@ -317,10 +375,10 @@ export abstract class ForksWSBase<TSocket extends WebSocketLike> extends ForksEm
|
|
|
317
375
|
};
|
|
318
376
|
|
|
319
377
|
const next = (): Promise<IteratorResult<ForksStreamMessage>> =>
|
|
320
|
-
new Promise((res) => {
|
|
321
|
-
if (resolve(res)) return;
|
|
378
|
+
new Promise((res, reject) => {
|
|
379
|
+
if (resolve(res, reject)) return;
|
|
322
380
|
resolvers.push(() => {
|
|
323
|
-
resolve(res);
|
|
381
|
+
resolve(res, reject);
|
|
324
382
|
});
|
|
325
383
|
});
|
|
326
384
|
|
|
@@ -328,6 +386,8 @@ export abstract class ForksWSBase<TSocket extends WebSocketLike> extends ForksEm
|
|
|
328
386
|
next,
|
|
329
387
|
return: (): Promise<IteratorReturnResult<undefined>> => {
|
|
330
388
|
done = true;
|
|
389
|
+
queue.length = 0;
|
|
390
|
+
queueHead = 0;
|
|
331
391
|
cleanup();
|
|
332
392
|
flushResolvers();
|
|
333
393
|
return Promise.resolve({ value: undefined, done: true });
|
|
@@ -360,6 +420,35 @@ export abstract class ForksWSBase<TSocket extends WebSocketLike> extends ForksEm
|
|
|
360
420
|
return;
|
|
361
421
|
}
|
|
362
422
|
|
|
423
|
+
if (
|
|
424
|
+
event === null ||
|
|
425
|
+
typeof event !== 'object' ||
|
|
426
|
+
Array.isArray(event) ||
|
|
427
|
+
!Object.prototype.hasOwnProperty.call(event, 'type') ||
|
|
428
|
+
typeof event.type !== 'string'
|
|
429
|
+
) {
|
|
430
|
+
this._onError(
|
|
431
|
+
null,
|
|
432
|
+
'received invalid WebSocket event: expected an object with an own string type',
|
|
433
|
+
undefined,
|
|
434
|
+
);
|
|
435
|
+
return;
|
|
436
|
+
}
|
|
437
|
+
|
|
438
|
+
const eventType: string = event.type;
|
|
439
|
+
const reservedEventType =
|
|
440
|
+
eventType === 'raw' ||
|
|
441
|
+
eventType === 'close' ||
|
|
442
|
+
eventType === 'event' ||
|
|
443
|
+
eventType === 'reconnecting' ||
|
|
444
|
+
eventType === 'reconnected' ||
|
|
445
|
+
eventType === 'open' ||
|
|
446
|
+
eventType === 'error';
|
|
447
|
+
if (reservedEventType && eventType !== 'error') {
|
|
448
|
+
this._onError(null, 'received reserved WebSocket event type', undefined);
|
|
449
|
+
return;
|
|
450
|
+
}
|
|
451
|
+
|
|
363
452
|
this._emit('event', event);
|
|
364
453
|
|
|
365
454
|
if (event.type === 'error') {
|
|
@@ -6,6 +6,8 @@ import { ForksWSBase, type ForksWSBaseOptions, type ForksWSParameters } from './
|
|
|
6
6
|
import { OpenAI } from '../../../client';
|
|
7
7
|
import { VERSION } from '../../../version';
|
|
8
8
|
|
|
9
|
+
export type { WebSocketStreamOptions } from '../../../internal/ws';
|
|
10
|
+
|
|
9
11
|
export type { ForksWSParameters, ForksWSReconnectOptions } from './ws-base';
|
|
10
12
|
|
|
11
13
|
export interface ForksWSClientOptions extends WS.ClientOptions, ForksWSBaseOptions {}
|
|
@@ -9,7 +9,11 @@ import { path } from '../../internal/utils/path';
|
|
|
9
9
|
|
|
10
10
|
export class Sessions extends APIResource {
|
|
11
11
|
/**
|
|
12
|
-
* Accept an incoming SIP call with
|
|
12
|
+
* Accept an incoming SIP call. Supply session with type live, the model, and
|
|
13
|
+
* startup configuration. Before accepting calls, follow the
|
|
14
|
+
* [Live prompting guide](https://developers.openai.com/api/docs/guides/live-prompting)
|
|
15
|
+
* to write frontend conversation instructions and a separate backend prompt. SIP
|
|
16
|
+
* media format is negotiated; omit audio.format.
|
|
13
17
|
*
|
|
14
18
|
* @example
|
|
15
19
|
* ```ts
|
|
@@ -72,7 +76,7 @@ export class Sessions extends APIResource {
|
|
|
72
76
|
}
|
|
73
77
|
|
|
74
78
|
/**
|
|
75
|
-
*
|
|
79
|
+
* End a SIP call identified by session_id.
|
|
76
80
|
*
|
|
77
81
|
* @example
|
|
78
82
|
* ```ts
|
|
@@ -88,7 +92,8 @@ export class Sessions extends APIResource {
|
|
|
88
92
|
}
|
|
89
93
|
|
|
90
94
|
/**
|
|
91
|
-
* Transfer a
|
|
95
|
+
* Transfer a SIP call to another destination. Supply a nonblank target_uri for the
|
|
96
|
+
* SIP Refer-To header.
|
|
92
97
|
*
|
|
93
98
|
* @example
|
|
94
99
|
* ```ts
|
|
@@ -107,7 +112,8 @@ export class Sessions extends APIResource {
|
|
|
107
112
|
}
|
|
108
113
|
|
|
109
114
|
/**
|
|
110
|
-
* Reject an incoming SIP call.
|
|
115
|
+
* Reject an incoming SIP call. Send a required SIP rejection status_code between
|
|
116
|
+
* 300 and 699.
|
|
111
117
|
*
|
|
112
118
|
* @example
|
|
113
119
|
* ```ts
|