@deepgram/sdk 5.0.0-beta.3 → 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (433) hide show
  1. package/README.md +234 -1472
  2. package/dist/browser/index.global.js +288 -192
  3. package/dist/cjs/BaseClient.js +3 -3
  4. package/dist/cjs/CustomClient.js +90 -107
  5. package/dist/cjs/api/resources/agent/exports.d.ts +3 -0
  6. package/dist/cjs/api/resources/agent/exports.js +22 -0
  7. package/dist/cjs/api/resources/agent/resources/v1/client/Client.d.ts +6 -0
  8. package/dist/cjs/api/resources/agent/resources/v1/client/Client.js +8 -3
  9. package/dist/cjs/api/resources/agent/resources/v1/client/Socket.d.ts +3 -2
  10. package/dist/cjs/api/resources/agent/resources/v1/client/Socket.js +4 -0
  11. package/dist/cjs/api/resources/agent/resources/v1/exports.d.ts +3 -0
  12. package/dist/cjs/api/resources/agent/resources/v1/exports.js +22 -0
  13. package/dist/cjs/api/resources/agent/resources/v1/resources/settings/exports.d.ts +3 -0
  14. package/dist/cjs/api/resources/agent/resources/v1/resources/settings/exports.js +22 -0
  15. package/dist/cjs/api/resources/agent/resources/v1/resources/settings/resources/think/exports.d.ts +3 -0
  16. package/dist/cjs/api/resources/agent/resources/v1/resources/settings/resources/think/exports.js +22 -0
  17. package/dist/cjs/api/resources/agent/resources/v1/resources/settings/resources/think/resources/models/exports.d.ts +2 -0
  18. package/dist/cjs/api/resources/agent/resources/v1/resources/settings/resources/think/resources/models/exports.js +21 -0
  19. package/dist/cjs/api/resources/agent/resources/v1/types/AgentV1ReceiveFunctionCallResponse.d.ts +1 -1
  20. package/dist/cjs/api/resources/agent/resources/v1/types/AgentV1SendFunctionCallResponse.d.ts +1 -1
  21. package/dist/cjs/api/resources/agent/resources/v1/types/AgentV1Settings.d.ts +21 -51
  22. package/dist/cjs/api/resources/agent/resources/v1/types/AgentV1SettingsAgentListenProvider.d.ts +5 -5
  23. package/dist/cjs/api/resources/agent/resources/v1/types/AgentV1ThinkUpdated.d.ts +4 -0
  24. package/dist/cjs/api/resources/agent/resources/v1/types/AgentV1ThinkUpdated.js +3 -0
  25. package/dist/cjs/api/resources/agent/resources/v1/types/AgentV1UpdateSpeak.d.ts +2 -11
  26. package/dist/cjs/api/resources/agent/resources/v1/types/AgentV1UpdateThink.d.ts +9 -0
  27. package/dist/cjs/api/resources/agent/resources/v1/types/AgentV1UpdateThink.js +3 -0
  28. package/dist/cjs/api/resources/agent/resources/v1/types/index.d.ts +2 -0
  29. package/dist/cjs/api/resources/agent/resources/v1/types/index.js +2 -0
  30. package/dist/cjs/api/resources/auth/exports.d.ts +3 -0
  31. package/dist/cjs/api/resources/auth/exports.js +22 -0
  32. package/dist/cjs/api/resources/auth/resources/v1/exports.d.ts +3 -0
  33. package/dist/cjs/api/resources/auth/resources/v1/exports.js +22 -0
  34. package/dist/cjs/api/resources/auth/resources/v1/resources/tokens/exports.d.ts +2 -0
  35. package/dist/cjs/api/resources/auth/resources/v1/resources/tokens/exports.js +21 -0
  36. package/dist/cjs/api/resources/listen/exports.d.ts +3 -0
  37. package/dist/cjs/api/resources/listen/exports.js +22 -0
  38. package/dist/cjs/api/resources/listen/resources/v1/client/Client.d.ts +35 -28
  39. package/dist/cjs/api/resources/listen/resources/v1/client/Client.js +40 -30
  40. package/dist/cjs/api/resources/listen/resources/v1/exports.d.ts +3 -0
  41. package/dist/cjs/api/resources/listen/resources/v1/exports.js +22 -0
  42. package/dist/cjs/api/resources/listen/resources/v1/resources/media/client/requests/MediaTranscribeRequestOctetStream.d.ts +0 -3
  43. package/dist/cjs/api/resources/listen/resources/v1/resources/media/exports.d.ts +2 -0
  44. package/dist/cjs/api/resources/listen/resources/v1/resources/media/exports.js +21 -0
  45. package/dist/cjs/api/resources/listen/resources/v1/types/ListenV1Results.d.ts +8 -8
  46. package/dist/cjs/api/resources/listen/resources/v2/client/Client.d.ts +16 -9
  47. package/dist/cjs/api/resources/listen/resources/v2/client/Client.js +29 -11
  48. package/dist/cjs/api/resources/listen/resources/v2/client/Socket.d.ts +3 -2
  49. package/dist/cjs/api/resources/listen/resources/v2/client/Socket.js +4 -0
  50. package/dist/cjs/api/resources/listen/resources/v2/exports.d.ts +2 -0
  51. package/dist/cjs/api/resources/listen/resources/v2/exports.js +21 -0
  52. package/dist/cjs/api/resources/listen/resources/v2/types/ListenV2Configure.d.ts +22 -0
  53. package/dist/cjs/api/resources/listen/resources/v2/types/ListenV2Configure.js +3 -0
  54. package/dist/cjs/api/resources/listen/resources/v2/types/ListenV2ConfigureFailure.d.ts +12 -0
  55. package/dist/cjs/api/resources/listen/resources/v2/types/ListenV2ConfigureFailure.js +3 -0
  56. package/dist/cjs/api/resources/listen/resources/v2/types/ListenV2ConfigureSuccess.d.ts +30 -0
  57. package/dist/cjs/api/resources/listen/resources/v2/types/ListenV2ConfigureSuccess.js +3 -0
  58. package/dist/cjs/api/resources/listen/resources/v2/types/index.d.ts +3 -0
  59. package/dist/cjs/api/resources/listen/resources/v2/types/index.js +3 -0
  60. package/dist/cjs/api/resources/manage/exports.d.ts +3 -0
  61. package/dist/cjs/api/resources/manage/exports.js +22 -0
  62. package/dist/cjs/api/resources/manage/resources/v1/exports.d.ts +3 -0
  63. package/dist/cjs/api/resources/manage/resources/v1/exports.js +22 -0
  64. package/dist/cjs/api/resources/manage/resources/v1/resources/models/exports.d.ts +2 -0
  65. package/dist/cjs/api/resources/manage/resources/v1/resources/models/exports.js +21 -0
  66. package/dist/cjs/api/resources/manage/resources/v1/resources/projects/exports.d.ts +3 -0
  67. package/dist/cjs/api/resources/manage/resources/v1/resources/projects/exports.js +22 -0
  68. package/dist/cjs/api/resources/manage/resources/v1/resources/projects/resources/billing/exports.d.ts +3 -0
  69. package/dist/cjs/api/resources/manage/resources/v1/resources/projects/resources/billing/exports.js +22 -0
  70. package/dist/cjs/api/resources/manage/resources/v1/resources/projects/resources/billing/resources/balances/exports.d.ts +2 -0
  71. package/dist/cjs/api/resources/manage/resources/v1/resources/projects/resources/billing/resources/balances/exports.js +21 -0
  72. package/dist/cjs/api/resources/manage/resources/v1/resources/projects/resources/billing/resources/breakdown/exports.d.ts +2 -0
  73. package/dist/cjs/api/resources/manage/resources/v1/resources/projects/resources/billing/resources/breakdown/exports.js +21 -0
  74. package/dist/cjs/api/resources/manage/resources/v1/resources/projects/resources/billing/resources/fields/exports.d.ts +2 -0
  75. package/dist/cjs/api/resources/manage/resources/v1/resources/projects/resources/billing/resources/fields/exports.js +21 -0
  76. package/dist/cjs/api/resources/manage/resources/v1/resources/projects/resources/billing/resources/purchases/exports.d.ts +2 -0
  77. package/dist/cjs/api/resources/manage/resources/v1/resources/projects/resources/billing/resources/purchases/exports.js +21 -0
  78. package/dist/cjs/api/resources/manage/resources/v1/resources/projects/resources/keys/exports.d.ts +2 -0
  79. package/dist/cjs/api/resources/manage/resources/v1/resources/projects/resources/keys/exports.js +21 -0
  80. package/dist/cjs/api/resources/manage/resources/v1/resources/projects/resources/members/exports.d.ts +3 -0
  81. package/dist/cjs/api/resources/manage/resources/v1/resources/projects/resources/members/exports.js +22 -0
  82. package/dist/cjs/api/resources/manage/resources/v1/resources/projects/resources/members/resources/invites/exports.d.ts +2 -0
  83. package/dist/cjs/api/resources/manage/resources/v1/resources/projects/resources/members/resources/invites/exports.js +21 -0
  84. package/dist/cjs/api/resources/manage/resources/v1/resources/projects/resources/members/resources/scopes/exports.d.ts +2 -0
  85. package/dist/cjs/api/resources/manage/resources/v1/resources/projects/resources/members/resources/scopes/exports.js +21 -0
  86. package/dist/cjs/api/resources/manage/resources/v1/resources/projects/resources/models/exports.d.ts +2 -0
  87. package/dist/cjs/api/resources/manage/resources/v1/resources/projects/resources/models/exports.js +21 -0
  88. package/dist/cjs/api/resources/manage/resources/v1/resources/projects/resources/requests/exports.d.ts +2 -0
  89. package/dist/cjs/api/resources/manage/resources/v1/resources/projects/resources/requests/exports.js +21 -0
  90. package/dist/cjs/api/resources/manage/resources/v1/resources/projects/resources/usage/client/Client.d.ts +2 -0
  91. package/dist/cjs/api/resources/manage/resources/v1/resources/projects/resources/usage/client/Client.js +2 -0
  92. package/dist/cjs/api/resources/manage/resources/v1/resources/projects/resources/usage/exports.d.ts +3 -0
  93. package/dist/cjs/api/resources/manage/resources/v1/resources/projects/resources/usage/exports.js +22 -0
  94. package/dist/cjs/api/resources/manage/resources/v1/resources/projects/resources/usage/resources/breakdown/exports.d.ts +2 -0
  95. package/dist/cjs/api/resources/manage/resources/v1/resources/projects/resources/usage/resources/breakdown/exports.js +21 -0
  96. package/dist/cjs/api/resources/manage/resources/v1/resources/projects/resources/usage/resources/fields/exports.d.ts +2 -0
  97. package/dist/cjs/api/resources/manage/resources/v1/resources/projects/resources/usage/resources/fields/exports.js +21 -0
  98. package/dist/cjs/api/resources/read/exports.d.ts +3 -0
  99. package/dist/cjs/api/resources/read/exports.js +22 -0
  100. package/dist/cjs/api/resources/read/resources/v1/exports.d.ts +3 -0
  101. package/dist/cjs/api/resources/read/resources/v1/exports.js +22 -0
  102. package/dist/cjs/api/resources/read/resources/v1/resources/text/exports.d.ts +2 -0
  103. package/dist/cjs/api/resources/read/resources/v1/resources/text/exports.js +21 -0
  104. package/dist/cjs/api/resources/selfHosted/exports.d.ts +3 -0
  105. package/dist/cjs/api/resources/selfHosted/exports.js +22 -0
  106. package/dist/cjs/api/resources/selfHosted/resources/v1/exports.d.ts +3 -0
  107. package/dist/cjs/api/resources/selfHosted/resources/v1/exports.js +22 -0
  108. package/dist/cjs/api/resources/selfHosted/resources/v1/resources/distributionCredentials/exports.d.ts +2 -0
  109. package/dist/cjs/api/resources/selfHosted/resources/v1/resources/distributionCredentials/exports.js +21 -0
  110. package/dist/cjs/api/resources/speak/exports.d.ts +3 -0
  111. package/dist/cjs/api/resources/speak/exports.js +22 -0
  112. package/dist/cjs/api/resources/speak/resources/v1/client/Client.d.ts +11 -4
  113. package/dist/cjs/api/resources/speak/resources/v1/client/Client.js +13 -7
  114. package/dist/cjs/api/resources/speak/resources/v1/exports.d.ts +3 -0
  115. package/dist/cjs/api/resources/speak/resources/v1/exports.js +22 -0
  116. package/dist/cjs/api/resources/speak/resources/v1/resources/audio/client/Client.d.ts +1 -0
  117. package/dist/cjs/api/resources/speak/resources/v1/resources/audio/client/Client.js +1 -0
  118. package/dist/cjs/api/resources/speak/resources/v1/resources/audio/exports.d.ts +2 -0
  119. package/dist/cjs/api/resources/speak/resources/v1/resources/audio/exports.js +21 -0
  120. package/dist/cjs/api/resources/speak/resources/v1/types/SpeakV1Metadata.d.ts +4 -2
  121. package/dist/cjs/api/types/Anthropic.d.ts +2 -2
  122. package/dist/cjs/api/types/AwsBedrockThinkProvider.d.ts +7 -7
  123. package/dist/cjs/api/types/AwsPollySpeakProvider.d.ts +2 -2
  124. package/dist/cjs/api/types/BillingBreakdownV1Response.d.ts +6 -6
  125. package/dist/cjs/api/types/Cartesia.d.ts +2 -2
  126. package/dist/cjs/api/types/CreateKeyV1Response.d.ts +6 -6
  127. package/dist/cjs/api/types/CreateProjectDistributionCredentialsV1Response.d.ts +1 -1
  128. package/dist/cjs/api/types/CreateProjectInviteV1Response.d.ts +1 -1
  129. package/dist/cjs/api/types/Deepgram.d.ts +1 -1
  130. package/dist/cjs/api/types/DeleteProjectInviteV1Response.d.ts +1 -1
  131. package/dist/cjs/api/types/DeleteProjectKeyV1Response.d.ts +1 -1
  132. package/dist/cjs/api/types/DeleteProjectMemberV1Response.d.ts +1 -1
  133. package/dist/cjs/api/types/DeleteProjectV1Response.d.ts +1 -1
  134. package/dist/cjs/api/types/ElevenLabsSpeakProvider.d.ts +3 -3
  135. package/dist/cjs/api/types/ErrorResponseLegacyError.d.ts +3 -3
  136. package/dist/cjs/api/types/ErrorResponseModernError.d.ts +4 -4
  137. package/dist/cjs/api/types/GetProjectBalanceV1Response.d.ts +4 -4
  138. package/dist/cjs/api/types/GetProjectDistributionCredentialsV1Response.d.ts +1 -1
  139. package/dist/cjs/api/types/GetProjectKeyV1Response.d.ts +13 -13
  140. package/dist/cjs/api/types/GetProjectRequestV1Response.d.ts +1 -1
  141. package/dist/cjs/api/types/GetProjectV1Response.d.ts +3 -3
  142. package/dist/cjs/api/types/Google.d.ts +2 -2
  143. package/dist/cjs/api/types/GrantV1Response.d.ts +1 -1
  144. package/dist/cjs/api/types/Groq.d.ts +2 -2
  145. package/dist/cjs/api/types/LeaveProjectV1Response.d.ts +1 -1
  146. package/dist/cjs/api/types/ListBillingFieldsV1Response.d.ts +4 -4
  147. package/dist/cjs/api/types/ListModelsV1Response.d.ts +2 -2
  148. package/dist/cjs/api/types/ListModelsV1ResponseSttModels.d.ts +9 -9
  149. package/dist/cjs/api/types/ListModelsV1ResponseTtsModels.d.ts +14 -14
  150. package/dist/cjs/api/types/ListProjectBalancesV1Response.d.ts +5 -5
  151. package/dist/cjs/api/types/ListProjectDistributionCredentialsV1Response.d.ts +2 -2
  152. package/dist/cjs/api/types/ListProjectInvitesV1Response.d.ts +3 -3
  153. package/dist/cjs/api/types/ListProjectKeysV1Response.d.ts +9 -9
  154. package/dist/cjs/api/types/ListProjectMemberScopesV1Response.d.ts +1 -1
  155. package/dist/cjs/api/types/ListProjectMembersV1Response.d.ts +3 -3
  156. package/dist/cjs/api/types/ListProjectPurchasesV1Response.d.ts +7 -7
  157. package/dist/cjs/api/types/ListProjectRequestsV1Response.d.ts +3 -3
  158. package/dist/cjs/api/types/ListProjectsV1Response.d.ts +3 -3
  159. package/dist/cjs/api/types/ListenV1ResponseMetadata.d.ts +18 -18
  160. package/dist/cjs/api/types/ListenV1ResponseResults.d.ts +5 -5
  161. package/dist/cjs/api/types/ListenV1ResponseResultsChannelsItem.d.ts +43 -43
  162. package/dist/cjs/api/types/ListenV1ResponseResultsSummary.d.ts +2 -2
  163. package/dist/cjs/api/types/ListenV1ResponseResultsUtterancesItem.d.ts +15 -15
  164. package/dist/cjs/api/types/OpenAiSpeakProvider.d.ts +27 -0
  165. package/dist/cjs/api/types/OpenAiSpeakProvider.js +21 -0
  166. package/dist/cjs/api/types/OpenAiThinkProvider.d.ts +23 -0
  167. package/dist/cjs/api/types/OpenAiThinkProvider.js +18 -0
  168. package/dist/cjs/api/types/ProjectRequestResponse.d.ts +9 -9
  169. package/dist/cjs/api/types/ReadV1ResponseMetadata.d.ts +20 -20
  170. package/dist/cjs/api/types/ReadV1ResponseResults.d.ts +4 -4
  171. package/dist/cjs/api/types/ReadV1ResponseResultsSummary.d.ts +3 -3
  172. package/dist/cjs/api/types/SharedIntents.d.ts +9 -9
  173. package/dist/cjs/api/types/SharedSentiments.d.ts +9 -9
  174. package/dist/cjs/api/types/SharedTopics.d.ts +9 -9
  175. package/dist/cjs/api/types/SpeakSettingsV1.d.ts +3 -3
  176. package/dist/cjs/api/types/SpeakSettingsV1Provider.d.ts +1 -1
  177. package/dist/cjs/api/types/ThinkSettingsV1.d.ts +15 -15
  178. package/dist/cjs/api/types/ThinkSettingsV1Provider.d.ts +19 -0
  179. package/dist/cjs/api/types/ThinkSettingsV1Provider.js +3 -0
  180. package/dist/cjs/api/types/UpdateProjectMemberScopesV1Response.d.ts +1 -1
  181. package/dist/cjs/api/types/UpdateProjectV1Response.d.ts +1 -1
  182. package/dist/cjs/api/types/UsageBreakdownV1Response.d.ts +9 -9
  183. package/dist/cjs/api/types/UsageFieldsV1Response.d.ts +8 -8
  184. package/dist/cjs/api/types/UsageV1Response.d.ts +5 -5
  185. package/dist/cjs/api/types/index.d.ts +3 -1
  186. package/dist/cjs/api/types/index.js +3 -1
  187. package/dist/cjs/core/fetcher/Fetcher.js +8 -2
  188. package/dist/cjs/core/fetcher/makeRequest.d.ts +6 -1
  189. package/dist/cjs/core/fetcher/makeRequest.js +30 -9
  190. package/dist/cjs/core/runtime/runtime.js +8 -7
  191. package/dist/cjs/core/websocket/ws.d.ts +4 -1
  192. package/dist/cjs/core/websocket/ws.js +32 -2
  193. package/dist/cjs/environments.d.ts +3 -3
  194. package/dist/cjs/environments.js +2 -2
  195. package/dist/cjs/index.d.ts +2 -0
  196. package/dist/cjs/index.js +6 -0
  197. package/dist/cjs/middleware/adapters/express.d.ts +103 -0
  198. package/dist/cjs/middleware/adapters/express.js +141 -0
  199. package/dist/cjs/middleware/adapters/fastify.d.ts +32 -0
  200. package/dist/cjs/middleware/adapters/fastify.js +194 -0
  201. package/dist/cjs/middleware/adapters/http.d.ts +153 -0
  202. package/dist/cjs/middleware/adapters/http.js +192 -0
  203. package/dist/cjs/middleware/core/ProxyHandler.d.ts +35 -0
  204. package/dist/cjs/middleware/core/ProxyHandler.js +225 -0
  205. package/dist/cjs/middleware/core/TokenManager.d.ts +29 -0
  206. package/dist/cjs/middleware/core/TokenManager.js +110 -0
  207. package/dist/cjs/middleware/core/WebSocketProxy.d.ts +32 -0
  208. package/dist/cjs/middleware/core/WebSocketProxy.js +169 -0
  209. package/dist/cjs/middleware/core/jwt.d.ts +71 -0
  210. package/dist/cjs/middleware/core/jwt.js +136 -0
  211. package/dist/cjs/middleware/core/types.d.ts +37 -0
  212. package/dist/cjs/middleware/core/types.js +2 -0
  213. package/dist/cjs/middleware/index.d.ts +55 -0
  214. package/dist/cjs/middleware/index.js +75 -0
  215. package/dist/cjs/tests/manual/test-custom-baseurl.js +124 -0
  216. package/dist/cjs/version.d.ts +1 -1
  217. package/dist/cjs/version.js +1 -1
  218. package/dist/esm/BaseClient.mjs +3 -3
  219. package/dist/esm/CustomClient.mjs +90 -107
  220. package/dist/esm/api/resources/agent/exports.d.mts +3 -0
  221. package/dist/esm/api/resources/agent/exports.mjs +4 -0
  222. package/dist/esm/api/resources/agent/resources/v1/client/Client.d.mts +6 -0
  223. package/dist/esm/api/resources/agent/resources/v1/client/Client.mjs +8 -3
  224. package/dist/esm/api/resources/agent/resources/v1/client/Socket.d.mts +3 -2
  225. package/dist/esm/api/resources/agent/resources/v1/client/Socket.mjs +4 -0
  226. package/dist/esm/api/resources/agent/resources/v1/exports.d.mts +3 -0
  227. package/dist/esm/api/resources/agent/resources/v1/exports.mjs +4 -0
  228. package/dist/esm/api/resources/agent/resources/v1/resources/settings/exports.d.mts +3 -0
  229. package/dist/esm/api/resources/agent/resources/v1/resources/settings/exports.mjs +4 -0
  230. package/dist/esm/api/resources/agent/resources/v1/resources/settings/resources/think/exports.d.mts +3 -0
  231. package/dist/esm/api/resources/agent/resources/v1/resources/settings/resources/think/exports.mjs +4 -0
  232. package/dist/esm/api/resources/agent/resources/v1/resources/settings/resources/think/resources/models/exports.d.mts +2 -0
  233. package/dist/esm/api/resources/agent/resources/v1/resources/settings/resources/think/resources/models/exports.mjs +3 -0
  234. package/dist/esm/api/resources/agent/resources/v1/types/AgentV1ReceiveFunctionCallResponse.d.mts +1 -1
  235. package/dist/esm/api/resources/agent/resources/v1/types/AgentV1SendFunctionCallResponse.d.mts +1 -1
  236. package/dist/esm/api/resources/agent/resources/v1/types/AgentV1Settings.d.mts +21 -51
  237. package/dist/esm/api/resources/agent/resources/v1/types/AgentV1SettingsAgentListenProvider.d.mts +5 -5
  238. package/dist/esm/api/resources/agent/resources/v1/types/AgentV1ThinkUpdated.d.mts +4 -0
  239. package/dist/esm/api/resources/agent/resources/v1/types/AgentV1ThinkUpdated.mjs +2 -0
  240. package/dist/esm/api/resources/agent/resources/v1/types/AgentV1UpdateSpeak.d.mts +2 -11
  241. package/dist/esm/api/resources/agent/resources/v1/types/AgentV1UpdateThink.d.mts +9 -0
  242. package/dist/esm/api/resources/agent/resources/v1/types/AgentV1UpdateThink.mjs +2 -0
  243. package/dist/esm/api/resources/agent/resources/v1/types/index.d.mts +2 -0
  244. package/dist/esm/api/resources/agent/resources/v1/types/index.mjs +2 -0
  245. package/dist/esm/api/resources/auth/exports.d.mts +3 -0
  246. package/dist/esm/api/resources/auth/exports.mjs +4 -0
  247. package/dist/esm/api/resources/auth/resources/v1/exports.d.mts +3 -0
  248. package/dist/esm/api/resources/auth/resources/v1/exports.mjs +4 -0
  249. package/dist/esm/api/resources/auth/resources/v1/resources/tokens/exports.d.mts +2 -0
  250. package/dist/esm/api/resources/auth/resources/v1/resources/tokens/exports.mjs +3 -0
  251. package/dist/esm/api/resources/listen/exports.d.mts +3 -0
  252. package/dist/esm/api/resources/listen/exports.mjs +4 -0
  253. package/dist/esm/api/resources/listen/resources/v1/client/Client.d.mts +35 -28
  254. package/dist/esm/api/resources/listen/resources/v1/client/Client.mjs +40 -30
  255. package/dist/esm/api/resources/listen/resources/v1/exports.d.mts +3 -0
  256. package/dist/esm/api/resources/listen/resources/v1/exports.mjs +4 -0
  257. package/dist/esm/api/resources/listen/resources/v1/resources/media/client/requests/MediaTranscribeRequestOctetStream.d.mts +0 -3
  258. package/dist/esm/api/resources/listen/resources/v1/resources/media/exports.d.mts +2 -0
  259. package/dist/esm/api/resources/listen/resources/v1/resources/media/exports.mjs +3 -0
  260. package/dist/esm/api/resources/listen/resources/v1/types/ListenV1Results.d.mts +8 -8
  261. package/dist/esm/api/resources/listen/resources/v2/client/Client.d.mts +16 -9
  262. package/dist/esm/api/resources/listen/resources/v2/client/Client.mjs +29 -11
  263. package/dist/esm/api/resources/listen/resources/v2/client/Socket.d.mts +3 -2
  264. package/dist/esm/api/resources/listen/resources/v2/client/Socket.mjs +4 -0
  265. package/dist/esm/api/resources/listen/resources/v2/exports.d.mts +2 -0
  266. package/dist/esm/api/resources/listen/resources/v2/exports.mjs +3 -0
  267. package/dist/esm/api/resources/listen/resources/v2/types/ListenV2Configure.d.mts +22 -0
  268. package/dist/esm/api/resources/listen/resources/v2/types/ListenV2Configure.mjs +2 -0
  269. package/dist/esm/api/resources/listen/resources/v2/types/ListenV2ConfigureFailure.d.mts +12 -0
  270. package/dist/esm/api/resources/listen/resources/v2/types/ListenV2ConfigureFailure.mjs +2 -0
  271. package/dist/esm/api/resources/listen/resources/v2/types/ListenV2ConfigureSuccess.d.mts +30 -0
  272. package/dist/esm/api/resources/listen/resources/v2/types/ListenV2ConfigureSuccess.mjs +2 -0
  273. package/dist/esm/api/resources/listen/resources/v2/types/index.d.mts +3 -0
  274. package/dist/esm/api/resources/listen/resources/v2/types/index.mjs +3 -0
  275. package/dist/esm/api/resources/manage/exports.d.mts +3 -0
  276. package/dist/esm/api/resources/manage/exports.mjs +4 -0
  277. package/dist/esm/api/resources/manage/resources/v1/exports.d.mts +3 -0
  278. package/dist/esm/api/resources/manage/resources/v1/exports.mjs +4 -0
  279. package/dist/esm/api/resources/manage/resources/v1/resources/models/exports.d.mts +2 -0
  280. package/dist/esm/api/resources/manage/resources/v1/resources/models/exports.mjs +3 -0
  281. package/dist/esm/api/resources/manage/resources/v1/resources/projects/exports.d.mts +3 -0
  282. package/dist/esm/api/resources/manage/resources/v1/resources/projects/exports.mjs +4 -0
  283. package/dist/esm/api/resources/manage/resources/v1/resources/projects/resources/billing/exports.d.mts +3 -0
  284. package/dist/esm/api/resources/manage/resources/v1/resources/projects/resources/billing/exports.mjs +4 -0
  285. package/dist/esm/api/resources/manage/resources/v1/resources/projects/resources/billing/resources/balances/exports.d.mts +2 -0
  286. package/dist/esm/api/resources/manage/resources/v1/resources/projects/resources/billing/resources/balances/exports.mjs +3 -0
  287. package/dist/esm/api/resources/manage/resources/v1/resources/projects/resources/billing/resources/breakdown/exports.d.mts +2 -0
  288. package/dist/esm/api/resources/manage/resources/v1/resources/projects/resources/billing/resources/breakdown/exports.mjs +3 -0
  289. package/dist/esm/api/resources/manage/resources/v1/resources/projects/resources/billing/resources/fields/exports.d.mts +2 -0
  290. package/dist/esm/api/resources/manage/resources/v1/resources/projects/resources/billing/resources/fields/exports.mjs +3 -0
  291. package/dist/esm/api/resources/manage/resources/v1/resources/projects/resources/billing/resources/purchases/exports.d.mts +2 -0
  292. package/dist/esm/api/resources/manage/resources/v1/resources/projects/resources/billing/resources/purchases/exports.mjs +3 -0
  293. package/dist/esm/api/resources/manage/resources/v1/resources/projects/resources/keys/exports.d.mts +2 -0
  294. package/dist/esm/api/resources/manage/resources/v1/resources/projects/resources/keys/exports.mjs +3 -0
  295. package/dist/esm/api/resources/manage/resources/v1/resources/projects/resources/members/exports.d.mts +3 -0
  296. package/dist/esm/api/resources/manage/resources/v1/resources/projects/resources/members/exports.mjs +4 -0
  297. package/dist/esm/api/resources/manage/resources/v1/resources/projects/resources/members/resources/invites/exports.d.mts +2 -0
  298. package/dist/esm/api/resources/manage/resources/v1/resources/projects/resources/members/resources/invites/exports.mjs +3 -0
  299. package/dist/esm/api/resources/manage/resources/v1/resources/projects/resources/members/resources/scopes/exports.d.mts +2 -0
  300. package/dist/esm/api/resources/manage/resources/v1/resources/projects/resources/members/resources/scopes/exports.mjs +3 -0
  301. package/dist/esm/api/resources/manage/resources/v1/resources/projects/resources/models/exports.d.mts +2 -0
  302. package/dist/esm/api/resources/manage/resources/v1/resources/projects/resources/models/exports.mjs +3 -0
  303. package/dist/esm/api/resources/manage/resources/v1/resources/projects/resources/requests/exports.d.mts +2 -0
  304. package/dist/esm/api/resources/manage/resources/v1/resources/projects/resources/requests/exports.mjs +3 -0
  305. package/dist/esm/api/resources/manage/resources/v1/resources/projects/resources/usage/client/Client.d.mts +2 -0
  306. package/dist/esm/api/resources/manage/resources/v1/resources/projects/resources/usage/client/Client.mjs +2 -0
  307. package/dist/esm/api/resources/manage/resources/v1/resources/projects/resources/usage/exports.d.mts +3 -0
  308. package/dist/esm/api/resources/manage/resources/v1/resources/projects/resources/usage/exports.mjs +4 -0
  309. package/dist/esm/api/resources/manage/resources/v1/resources/projects/resources/usage/resources/breakdown/exports.d.mts +2 -0
  310. package/dist/esm/api/resources/manage/resources/v1/resources/projects/resources/usage/resources/breakdown/exports.mjs +3 -0
  311. package/dist/esm/api/resources/manage/resources/v1/resources/projects/resources/usage/resources/fields/exports.d.mts +2 -0
  312. package/dist/esm/api/resources/manage/resources/v1/resources/projects/resources/usage/resources/fields/exports.mjs +3 -0
  313. package/dist/esm/api/resources/read/exports.d.mts +3 -0
  314. package/dist/esm/api/resources/read/exports.mjs +4 -0
  315. package/dist/esm/api/resources/read/resources/v1/exports.d.mts +3 -0
  316. package/dist/esm/api/resources/read/resources/v1/exports.mjs +4 -0
  317. package/dist/esm/api/resources/read/resources/v1/resources/text/exports.d.mts +2 -0
  318. package/dist/esm/api/resources/read/resources/v1/resources/text/exports.mjs +3 -0
  319. package/dist/esm/api/resources/selfHosted/exports.d.mts +3 -0
  320. package/dist/esm/api/resources/selfHosted/exports.mjs +4 -0
  321. package/dist/esm/api/resources/selfHosted/resources/v1/exports.d.mts +3 -0
  322. package/dist/esm/api/resources/selfHosted/resources/v1/exports.mjs +4 -0
  323. package/dist/esm/api/resources/selfHosted/resources/v1/resources/distributionCredentials/exports.d.mts +2 -0
  324. package/dist/esm/api/resources/selfHosted/resources/v1/resources/distributionCredentials/exports.mjs +3 -0
  325. package/dist/esm/api/resources/speak/exports.d.mts +3 -0
  326. package/dist/esm/api/resources/speak/exports.mjs +4 -0
  327. package/dist/esm/api/resources/speak/resources/v1/client/Client.d.mts +11 -4
  328. package/dist/esm/api/resources/speak/resources/v1/client/Client.mjs +13 -7
  329. package/dist/esm/api/resources/speak/resources/v1/exports.d.mts +3 -0
  330. package/dist/esm/api/resources/speak/resources/v1/exports.mjs +4 -0
  331. package/dist/esm/api/resources/speak/resources/v1/resources/audio/client/Client.d.mts +1 -0
  332. package/dist/esm/api/resources/speak/resources/v1/resources/audio/client/Client.mjs +1 -0
  333. package/dist/esm/api/resources/speak/resources/v1/resources/audio/exports.d.mts +2 -0
  334. package/dist/esm/api/resources/speak/resources/v1/resources/audio/exports.mjs +3 -0
  335. package/dist/esm/api/resources/speak/resources/v1/types/SpeakV1Metadata.d.mts +4 -2
  336. package/dist/esm/api/types/Anthropic.d.mts +2 -2
  337. package/dist/esm/api/types/AwsBedrockThinkProvider.d.mts +7 -7
  338. package/dist/esm/api/types/AwsPollySpeakProvider.d.mts +2 -2
  339. package/dist/esm/api/types/BillingBreakdownV1Response.d.mts +6 -6
  340. package/dist/esm/api/types/Cartesia.d.mts +2 -2
  341. package/dist/esm/api/types/CreateKeyV1Response.d.mts +6 -6
  342. package/dist/esm/api/types/CreateProjectDistributionCredentialsV1Response.d.mts +1 -1
  343. package/dist/esm/api/types/CreateProjectInviteV1Response.d.mts +1 -1
  344. package/dist/esm/api/types/Deepgram.d.mts +1 -1
  345. package/dist/esm/api/types/DeleteProjectInviteV1Response.d.mts +1 -1
  346. package/dist/esm/api/types/DeleteProjectKeyV1Response.d.mts +1 -1
  347. package/dist/esm/api/types/DeleteProjectMemberV1Response.d.mts +1 -1
  348. package/dist/esm/api/types/DeleteProjectV1Response.d.mts +1 -1
  349. package/dist/esm/api/types/ElevenLabsSpeakProvider.d.mts +3 -3
  350. package/dist/esm/api/types/ErrorResponseLegacyError.d.mts +3 -3
  351. package/dist/esm/api/types/ErrorResponseModernError.d.mts +4 -4
  352. package/dist/esm/api/types/GetProjectBalanceV1Response.d.mts +4 -4
  353. package/dist/esm/api/types/GetProjectDistributionCredentialsV1Response.d.mts +1 -1
  354. package/dist/esm/api/types/GetProjectKeyV1Response.d.mts +13 -13
  355. package/dist/esm/api/types/GetProjectRequestV1Response.d.mts +1 -1
  356. package/dist/esm/api/types/GetProjectV1Response.d.mts +3 -3
  357. package/dist/esm/api/types/Google.d.mts +2 -2
  358. package/dist/esm/api/types/GrantV1Response.d.mts +1 -1
  359. package/dist/esm/api/types/Groq.d.mts +2 -2
  360. package/dist/esm/api/types/LeaveProjectV1Response.d.mts +1 -1
  361. package/dist/esm/api/types/ListBillingFieldsV1Response.d.mts +4 -4
  362. package/dist/esm/api/types/ListModelsV1Response.d.mts +2 -2
  363. package/dist/esm/api/types/ListModelsV1ResponseSttModels.d.mts +9 -9
  364. package/dist/esm/api/types/ListModelsV1ResponseTtsModels.d.mts +14 -14
  365. package/dist/esm/api/types/ListProjectBalancesV1Response.d.mts +5 -5
  366. package/dist/esm/api/types/ListProjectDistributionCredentialsV1Response.d.mts +2 -2
  367. package/dist/esm/api/types/ListProjectInvitesV1Response.d.mts +3 -3
  368. package/dist/esm/api/types/ListProjectKeysV1Response.d.mts +9 -9
  369. package/dist/esm/api/types/ListProjectMemberScopesV1Response.d.mts +1 -1
  370. package/dist/esm/api/types/ListProjectMembersV1Response.d.mts +3 -3
  371. package/dist/esm/api/types/ListProjectPurchasesV1Response.d.mts +7 -7
  372. package/dist/esm/api/types/ListProjectRequestsV1Response.d.mts +3 -3
  373. package/dist/esm/api/types/ListProjectsV1Response.d.mts +3 -3
  374. package/dist/esm/api/types/ListenV1ResponseMetadata.d.mts +18 -18
  375. package/dist/esm/api/types/ListenV1ResponseResults.d.mts +5 -5
  376. package/dist/esm/api/types/ListenV1ResponseResultsChannelsItem.d.mts +43 -43
  377. package/dist/esm/api/types/ListenV1ResponseResultsSummary.d.mts +2 -2
  378. package/dist/esm/api/types/ListenV1ResponseResultsUtterancesItem.d.mts +15 -15
  379. package/dist/esm/api/types/OpenAiSpeakProvider.d.mts +27 -0
  380. package/dist/esm/api/types/OpenAiSpeakProvider.mjs +18 -0
  381. package/dist/esm/api/types/OpenAiThinkProvider.d.mts +23 -0
  382. package/dist/esm/api/types/OpenAiThinkProvider.mjs +15 -0
  383. package/dist/esm/api/types/ProjectRequestResponse.d.mts +9 -9
  384. package/dist/esm/api/types/ReadV1ResponseMetadata.d.mts +20 -20
  385. package/dist/esm/api/types/ReadV1ResponseResults.d.mts +4 -4
  386. package/dist/esm/api/types/ReadV1ResponseResultsSummary.d.mts +3 -3
  387. package/dist/esm/api/types/SharedIntents.d.mts +9 -9
  388. package/dist/esm/api/types/SharedSentiments.d.mts +9 -9
  389. package/dist/esm/api/types/SharedTopics.d.mts +9 -9
  390. package/dist/esm/api/types/SpeakSettingsV1.d.mts +3 -3
  391. package/dist/esm/api/types/SpeakSettingsV1Provider.d.mts +1 -1
  392. package/dist/esm/api/types/ThinkSettingsV1.d.mts +15 -15
  393. package/dist/esm/api/types/ThinkSettingsV1Provider.d.mts +19 -0
  394. package/dist/esm/api/types/ThinkSettingsV1Provider.mjs +2 -0
  395. package/dist/esm/api/types/UpdateProjectMemberScopesV1Response.d.mts +1 -1
  396. package/dist/esm/api/types/UpdateProjectV1Response.d.mts +1 -1
  397. package/dist/esm/api/types/UsageBreakdownV1Response.d.mts +9 -9
  398. package/dist/esm/api/types/UsageFieldsV1Response.d.mts +8 -8
  399. package/dist/esm/api/types/UsageV1Response.d.mts +5 -5
  400. package/dist/esm/api/types/index.d.mts +3 -1
  401. package/dist/esm/api/types/index.mjs +3 -1
  402. package/dist/esm/core/fetcher/Fetcher.mjs +8 -2
  403. package/dist/esm/core/fetcher/makeRequest.d.mts +6 -1
  404. package/dist/esm/core/fetcher/makeRequest.mjs +28 -9
  405. package/dist/esm/core/runtime/runtime.mjs +8 -7
  406. package/dist/esm/core/websocket/ws.d.mts +4 -1
  407. package/dist/esm/core/websocket/ws.mjs +32 -2
  408. package/dist/esm/environments.d.mts +3 -3
  409. package/dist/esm/environments.mjs +2 -2
  410. package/dist/esm/index.d.mts +2 -0
  411. package/dist/esm/index.mjs +6 -0
  412. package/dist/esm/middleware/adapters/express.d.mts +103 -0
  413. package/dist/esm/middleware/adapters/express.mjs +136 -0
  414. package/dist/esm/middleware/adapters/fastify.d.mts +32 -0
  415. package/dist/esm/middleware/adapters/fastify.mjs +157 -0
  416. package/dist/esm/middleware/adapters/http.d.mts +153 -0
  417. package/dist/esm/middleware/adapters/http.mjs +187 -0
  418. package/dist/esm/middleware/core/ProxyHandler.d.mts +35 -0
  419. package/dist/esm/middleware/core/ProxyHandler.mjs +218 -0
  420. package/dist/esm/middleware/core/TokenManager.d.mts +29 -0
  421. package/dist/esm/middleware/core/TokenManager.mjs +106 -0
  422. package/dist/esm/middleware/core/WebSocketProxy.d.mts +32 -0
  423. package/dist/esm/middleware/core/WebSocketProxy.mjs +162 -0
  424. package/dist/esm/middleware/core/jwt.d.mts +71 -0
  425. package/dist/esm/middleware/core/jwt.mjs +99 -0
  426. package/dist/esm/middleware/core/types.d.mts +37 -0
  427. package/dist/esm/middleware/core/types.mjs +1 -0
  428. package/dist/esm/middleware/index.d.mts +55 -0
  429. package/dist/esm/middleware/index.mjs +59 -0
  430. package/dist/esm/version.d.mts +1 -1
  431. package/dist/esm/version.mjs +1 -1
  432. package/package.json +433 -4
  433. package/reference.md +1 -0
@@ -8,7 +8,32 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  });
9
9
  };
10
10
  import { anySignal, getTimeoutSignal } from "./signals.mjs";
11
- export const makeRequest = (fetchFn, url, method, headers, requestBody, timeoutMs, abortSignal, withCredentials, duplex) => __awaiter(void 0, void 0, void 0, function* () {
11
+ /**
12
+ * Cached result of checking whether the current runtime supports
13
+ * the `cache` option in `Request`. Some runtimes (e.g. Cloudflare Workers)
14
+ * throw a TypeError when this option is used.
15
+ */
16
+ let _cacheNoStoreSupported;
17
+ export function isCacheNoStoreSupported() {
18
+ if (_cacheNoStoreSupported != null) {
19
+ return _cacheNoStoreSupported;
20
+ }
21
+ try {
22
+ new Request("http://localhost", { cache: "no-store" });
23
+ _cacheNoStoreSupported = true;
24
+ }
25
+ catch (_a) {
26
+ _cacheNoStoreSupported = false;
27
+ }
28
+ return _cacheNoStoreSupported;
29
+ }
30
+ /**
31
+ * Reset the cached result of `isCacheNoStoreSupported`. Exposed for testing only.
32
+ */
33
+ export function resetCacheNoStoreSupported() {
34
+ _cacheNoStoreSupported = undefined;
35
+ }
36
+ export const makeRequest = (fetchFn, url, method, headers, requestBody, timeoutMs, abortSignal, withCredentials, duplex, disableCache) => __awaiter(void 0, void 0, void 0, function* () {
12
37
  const signals = [];
13
38
  let timeoutAbortId;
14
39
  if (timeoutMs != null) {
@@ -20,15 +45,9 @@ export const makeRequest = (fetchFn, url, method, headers, requestBody, timeoutM
20
45
  signals.push(abortSignal);
21
46
  }
22
47
  const newSignals = anySignal(signals);
23
- const response = yield fetchFn(url, {
24
- method: method,
25
- headers,
26
- body: requestBody,
27
- signal: newSignals,
28
- credentials: withCredentials ? "include" : undefined,
48
+ const response = yield fetchFn(url, Object.assign({ method: method, headers, body: requestBody, signal: newSignals, credentials: withCredentials ? "include" : undefined,
29
49
  // @ts-ignore
30
- duplex,
31
- });
50
+ duplex }, (disableCache && isCacheNoStoreSupported() ? { cache: "no-store" } : {})));
32
51
  if (timeoutAbortId != null) {
33
52
  clearTimeout(timeoutAbortId);
34
53
  }
@@ -81,17 +81,18 @@ function evaluateRuntime() {
81
81
  }
82
82
  /**
83
83
  * A constant that indicates whether the environment the code is running is Node.JS.
84
+ *
85
+ * We assign `process` to a local variable first to avoid being flagged by
86
+ * bundlers that perform static analysis on `process.versions` (e.g. Next.js
87
+ * Edge Runtime warns about Node.js APIs even when they are guarded).
84
88
  */
85
- const isNode = typeof process !== "undefined" &&
86
- "version" in process &&
87
- !!process.version &&
88
- "versions" in process &&
89
- !!((_e = process.versions) === null || _e === void 0 ? void 0 : _e.node);
89
+ const _process = typeof process !== "undefined" ? process : undefined;
90
+ const isNode = typeof _process !== "undefined" && typeof ((_e = _process.versions) === null || _e === void 0 ? void 0 : _e.node) === "string";
90
91
  if (isNode) {
91
92
  return {
92
93
  type: "node",
93
- version: process.versions.node,
94
- parsedVersion: Number(process.versions.node.split(".")[0]),
94
+ version: _process.versions.node,
95
+ parsedVersion: Number(_process.versions.node.split(".")[0]),
95
96
  };
96
97
  }
97
98
  return {
@@ -9,6 +9,7 @@ export declare namespace ReconnectingWebSocket {
9
9
  options?: ReconnectingWebSocket.Options;
10
10
  headers?: Record<string, unknown>;
11
11
  queryParameters?: Record<string, unknown>;
12
+ abortSignal?: AbortSignal;
12
13
  }
13
14
  type Options = {
14
15
  WebSocket?: any;
@@ -47,7 +48,8 @@ export declare class ReconnectingWebSocket {
47
48
  private readonly _options;
48
49
  private readonly _headers?;
49
50
  private readonly _queryParameters?;
50
- constructor({ url, protocols, options, headers, queryParameters }: ReconnectingWebSocket.Args);
51
+ private readonly _abortSignal?;
52
+ constructor({ url, protocols, options, headers, queryParameters, abortSignal }: ReconnectingWebSocket.Args);
51
53
  static readonly CONNECTING = 0;
52
54
  static readonly OPEN = 1;
53
55
  static readonly CLOSING = 2;
@@ -133,6 +135,7 @@ export declare class ReconnectingWebSocket {
133
135
  private _wait;
134
136
  private _getNextUrl;
135
137
  private _connect;
138
+ private _handleAbort;
136
139
  private _handleTimeout;
137
140
  private _disconnect;
138
141
  private _acceptOpen;
@@ -28,7 +28,7 @@ const DEFAULT_OPTIONS = {
28
28
  debug: false,
29
29
  };
30
30
  export class ReconnectingWebSocket {
31
- constructor({ url, protocols, options, headers, queryParameters }) {
31
+ constructor({ url, protocols, options, headers, queryParameters, abortSignal }) {
32
32
  this._listeners = {
33
33
  error: [],
34
34
  message: [],
@@ -62,6 +62,25 @@ export class ReconnectingWebSocket {
62
62
  * this indicates that the connection is ready to send and receive data
63
63
  */
64
64
  this.onopen = null;
65
+ this._handleAbort = () => {
66
+ if (this._closeCalled) {
67
+ return;
68
+ }
69
+ this._debug("abort signal fired");
70
+ this._shouldReconnect = false;
71
+ this._closeCalled = true;
72
+ this._clearTimeouts();
73
+ if (this._ws) {
74
+ this._removeListeners();
75
+ try {
76
+ this._ws.close(1000, "aborted");
77
+ this._handleClose(new Events.CloseEvent(1000, "aborted", this));
78
+ }
79
+ catch (_error) {
80
+ // ignore
81
+ }
82
+ }
83
+ };
65
84
  this._handleOpen = (event) => {
66
85
  this._debug("open event");
67
86
  const { minUptime = DEFAULT_OPTIONS.minUptime } = this._options;
@@ -112,6 +131,10 @@ export class ReconnectingWebSocket {
112
131
  this._options = options !== null && options !== void 0 ? options : DEFAULT_OPTIONS;
113
132
  this._headers = headers;
114
133
  this._queryParameters = queryParameters;
134
+ this._abortSignal = abortSignal;
135
+ if (this._abortSignal) {
136
+ this._abortSignal.addEventListener("abort", this._handleAbort, { once: true });
137
+ }
115
138
  if (this._options.startClosed) {
116
139
  this._shouldReconnect = false;
117
140
  }
@@ -304,9 +327,14 @@ export class ReconnectingWebSocket {
304
327
  throw Error("Invalid URL");
305
328
  }
306
329
  _connect() {
330
+ var _a;
307
331
  if (this._connectLock || !this._shouldReconnect) {
308
332
  return;
309
333
  }
334
+ if ((_a = this._abortSignal) === null || _a === void 0 ? void 0 : _a.aborted) {
335
+ this._debug("connect aborted");
336
+ return;
337
+ }
310
338
  this._connectLock = true;
311
339
  const { maxRetries = DEFAULT_OPTIONS.maxRetries, connectionTimeout = DEFAULT_OPTIONS.connectionTimeout, WebSocket = getGlobalWebSocket(), } = this._options;
312
340
  if (this._retryCount >= maxRetries) {
@@ -322,7 +350,9 @@ export class ReconnectingWebSocket {
322
350
  this._wait()
323
351
  .then(() => this._getNextUrl(this._url))
324
352
  .then((url) => {
325
- if (this._closeCalled) {
353
+ var _a;
354
+ if (this._closeCalled || ((_a = this._abortSignal) === null || _a === void 0 ? void 0 : _a.aborted)) {
355
+ this._connectLock = false;
326
356
  return;
327
357
  }
328
358
  const options = {};
@@ -1,18 +1,18 @@
1
1
  export interface DeepgramEnvironmentUrls {
2
2
  base: string;
3
- production: string;
4
3
  agent: string;
4
+ production: string;
5
5
  }
6
6
  export declare const DeepgramEnvironment: {
7
7
  readonly Production: {
8
8
  readonly base: "https://api.deepgram.com";
9
- readonly production: "wss://api.deepgram.com";
10
9
  readonly agent: "wss://agent.deepgram.com";
10
+ readonly production: "wss://api.deepgram.com";
11
11
  };
12
12
  readonly Agent: {
13
13
  readonly base: "https://agent.deepgram.com";
14
- readonly production: "wss://api.deepgram.com";
15
14
  readonly agent: "wss://agent.deepgram.com";
15
+ readonly production: "wss://api.deepgram.com";
16
16
  };
17
17
  };
18
18
  export type DeepgramEnvironment = typeof DeepgramEnvironment.Production | typeof DeepgramEnvironment.Agent;
@@ -2,12 +2,12 @@
2
2
  export const DeepgramEnvironment = {
3
3
  Production: {
4
4
  base: "https://api.deepgram.com",
5
- production: "wss://api.deepgram.com",
6
5
  agent: "wss://agent.deepgram.com",
6
+ production: "wss://api.deepgram.com",
7
7
  },
8
8
  Agent: {
9
9
  base: "https://agent.deepgram.com",
10
- production: "wss://api.deepgram.com",
11
10
  agent: "wss://agent.deepgram.com",
11
+ production: "wss://api.deepgram.com",
12
12
  },
13
13
  };
@@ -1,4 +1,6 @@
1
1
  export * as Deepgram from "./api/index.mjs";
2
+ export * from "./api/types/index.mjs";
3
+ export * from "./api/resources/index.mjs";
2
4
  export type { BaseClientOptions, BaseRequestOptions } from "./BaseClient.mjs";
3
5
  export { DeepgramClient as DefaultDeepgramClient } from "./Client.mjs";
4
6
  export { CustomDeepgramClient as DeepgramClient } from "./CustomClient.mjs";
@@ -1,4 +1,10 @@
1
+ // Export everything under Deepgram namespace for backwards compatibility
1
2
  export * as Deepgram from "./api/index.mjs";
3
+ // ALSO export all types directly for better discoverability and IDE autocomplete
4
+ // This allows: import { ListenV1Response } from "@deepgram/sdk"
5
+ // While still supporting: import { Deepgram } from "@deepgram/sdk"; type Response = Deepgram.ListenV1Response;
6
+ export * from "./api/types/index.mjs";
7
+ export * from "./api/resources/index.mjs";
2
8
  export { DeepgramClient as DefaultDeepgramClient } from "./Client.mjs";
3
9
  export { CustomDeepgramClient as DeepgramClient } from "./CustomClient.mjs";
4
10
  export { DeepgramEnvironment } from "./environments.mjs";
@@ -0,0 +1,103 @@
1
+ /**
2
+ * Express middleware for proxying Deepgram API requests.
3
+ *
4
+ * @packageDocumentation
5
+ *
6
+ * **Peer Dependencies Required:**
7
+ * ```bash
8
+ * npm install express
9
+ * # or
10
+ * pnpm add express
11
+ * ```
12
+ *
13
+ * This module provides Express-compatible middleware for proxying requests to the
14
+ * Deepgram API, including REST endpoints and WebSocket connections.
15
+ */
16
+ import type { IncomingMessage, Server, ServerResponse } from "node:http";
17
+ import type { Duplex } from "node:stream";
18
+ import type { MiddlewareOptions } from "../core/types.mjs";
19
+ /**
20
+ * Express middleware type
21
+ */
22
+ export type ExpressMiddleware = (req: IncomingMessage, res: ServerResponse, next: (error?: Error) => void) => void | Promise<void>;
23
+ /**
24
+ * WebSocket upgrade handler type
25
+ */
26
+ export type UpgradeHandler = (req: IncomingMessage, socket: Duplex, head: Buffer) => void;
27
+ /**
28
+ * Create Express middleware for proxying Deepgram API requests
29
+ *
30
+ * @param options - Middleware configuration options
31
+ * @returns Express middleware function
32
+ *
33
+ * @example
34
+ * ```typescript
35
+ * import express from 'express';
36
+ * import { createDeepgramProxy, createWebSocketHandler } from '@deepgram/sdk';
37
+ *
38
+ * const app = express();
39
+ * const proxyOptions = {
40
+ * apiKey: process.env.DEEPGRAM_API_KEY!,
41
+ * enableTokenAuth: true
42
+ * };
43
+ *
44
+ * // REST API proxy
45
+ * app.use('/api/deepgram', createDeepgramProxy(proxyOptions));
46
+ *
47
+ * // WebSocket upgrade handler
48
+ * const server = app.listen(3000);
49
+ * server.on('upgrade', createWebSocketHandler(proxyOptions));
50
+ * ```
51
+ */
52
+ export declare function createDeepgramProxy(options: MiddlewareOptions): ExpressMiddleware;
53
+ /**
54
+ * Create WebSocket upgrade handler for Express
55
+ *
56
+ * This must be registered on the HTTP server, not the Express app.
57
+ *
58
+ * @param options - Middleware configuration options
59
+ * @returns Upgrade handler function
60
+ *
61
+ * @example
62
+ * ```typescript
63
+ * import express from 'express';
64
+ * import { createWebSocketHandler } from '@deepgram/sdk';
65
+ *
66
+ * const app = express();
67
+ * const server = app.listen(3000);
68
+ *
69
+ * // Register WebSocket handler on the server
70
+ * server.on('upgrade', createWebSocketHandler({
71
+ * apiKey: process.env.DEEPGRAM_API_KEY!
72
+ * }));
73
+ * ```
74
+ */
75
+ export declare function createWebSocketHandler(options: MiddlewareOptions): UpgradeHandler;
76
+ /**
77
+ * Combined helper that returns both middleware and upgrade handler
78
+ *
79
+ * @param options - Middleware configuration options
80
+ * @returns Object with middleware and upgrade handler
81
+ *
82
+ * @example
83
+ * ```typescript
84
+ * import express from 'express';
85
+ * import { createDeepgramMiddleware } from '@deepgram/sdk';
86
+ *
87
+ * const app = express();
88
+ * const { middleware, upgradeHandler } = createDeepgramMiddleware({
89
+ * apiKey: process.env.DEEPGRAM_API_KEY!,
90
+ * enableTokenAuth: true
91
+ * });
92
+ *
93
+ * app.use('/api/deepgram', middleware);
94
+ *
95
+ * const server = app.listen(3000);
96
+ * server.on('upgrade', upgradeHandler);
97
+ * ```
98
+ */
99
+ export declare function createDeepgramMiddleware(options: MiddlewareOptions): {
100
+ middleware: ExpressMiddleware;
101
+ upgradeHandler: UpgradeHandler;
102
+ server: (httpServer: Server) => void;
103
+ };
@@ -0,0 +1,136 @@
1
+ /**
2
+ * Express middleware for proxying Deepgram API requests.
3
+ *
4
+ * @packageDocumentation
5
+ *
6
+ * **Peer Dependencies Required:**
7
+ * ```bash
8
+ * npm install express
9
+ * # or
10
+ * pnpm add express
11
+ * ```
12
+ *
13
+ * This module provides Express-compatible middleware for proxying requests to the
14
+ * Deepgram API, including REST endpoints and WebSocket connections.
15
+ */
16
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
17
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
18
+ return new (P || (P = Promise))(function (resolve, reject) {
19
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
20
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
21
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
22
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
23
+ });
24
+ };
25
+ import { ProxyHandler } from "../core/ProxyHandler.mjs";
26
+ import { TokenManager } from "../core/TokenManager.mjs";
27
+ import { WebSocketProxy } from "../core/WebSocketProxy.mjs";
28
+ /**
29
+ * Create Express middleware for proxying Deepgram API requests
30
+ *
31
+ * @param options - Middleware configuration options
32
+ * @returns Express middleware function
33
+ *
34
+ * @example
35
+ * ```typescript
36
+ * import express from 'express';
37
+ * import { createDeepgramProxy, createWebSocketHandler } from '@deepgram/sdk';
38
+ *
39
+ * const app = express();
40
+ * const proxyOptions = {
41
+ * apiKey: process.env.DEEPGRAM_API_KEY!,
42
+ * enableTokenAuth: true
43
+ * };
44
+ *
45
+ * // REST API proxy
46
+ * app.use('/api/deepgram', createDeepgramProxy(proxyOptions));
47
+ *
48
+ * // WebSocket upgrade handler
49
+ * const server = app.listen(3000);
50
+ * server.on('upgrade', createWebSocketHandler(proxyOptions));
51
+ * ```
52
+ */
53
+ export function createDeepgramProxy(options) {
54
+ const proxyHandler = new ProxyHandler(options);
55
+ const tokenManager = options.enableTokenAuth
56
+ ? new TokenManager(options)
57
+ : null;
58
+ return (req, res, next) => __awaiter(this, void 0, void 0, function* () {
59
+ try {
60
+ // Handle token generation requests
61
+ if (options.enableTokenAuth &&
62
+ req.url === "/token" &&
63
+ req.method === "GET") {
64
+ yield tokenManager.handleTokenRequest(req, res);
65
+ return;
66
+ }
67
+ // Handle all other requests (proxy to Deepgram)
68
+ yield proxyHandler.handleRequest(req, res);
69
+ }
70
+ catch (error) {
71
+ next(error instanceof Error ? error : new Error(String(error)));
72
+ }
73
+ });
74
+ }
75
+ /**
76
+ * Create WebSocket upgrade handler for Express
77
+ *
78
+ * This must be registered on the HTTP server, not the Express app.
79
+ *
80
+ * @param options - Middleware configuration options
81
+ * @returns Upgrade handler function
82
+ *
83
+ * @example
84
+ * ```typescript
85
+ * import express from 'express';
86
+ * import { createWebSocketHandler } from '@deepgram/sdk';
87
+ *
88
+ * const app = express();
89
+ * const server = app.listen(3000);
90
+ *
91
+ * // Register WebSocket handler on the server
92
+ * server.on('upgrade', createWebSocketHandler({
93
+ * apiKey: process.env.DEEPGRAM_API_KEY!
94
+ * }));
95
+ * ```
96
+ */
97
+ export function createWebSocketHandler(options) {
98
+ const wsProxy = new WebSocketProxy(options);
99
+ return (req, socket, head) => {
100
+ wsProxy.handleUpgrade(req, socket, head);
101
+ };
102
+ }
103
+ /**
104
+ * Combined helper that returns both middleware and upgrade handler
105
+ *
106
+ * @param options - Middleware configuration options
107
+ * @returns Object with middleware and upgrade handler
108
+ *
109
+ * @example
110
+ * ```typescript
111
+ * import express from 'express';
112
+ * import { createDeepgramMiddleware } from '@deepgram/sdk';
113
+ *
114
+ * const app = express();
115
+ * const { middleware, upgradeHandler } = createDeepgramMiddleware({
116
+ * apiKey: process.env.DEEPGRAM_API_KEY!,
117
+ * enableTokenAuth: true
118
+ * });
119
+ *
120
+ * app.use('/api/deepgram', middleware);
121
+ *
122
+ * const server = app.listen(3000);
123
+ * server.on('upgrade', upgradeHandler);
124
+ * ```
125
+ */
126
+ export function createDeepgramMiddleware(options) {
127
+ const middleware = createDeepgramProxy(options);
128
+ const upgradeHandler = createWebSocketHandler(options);
129
+ return {
130
+ middleware,
131
+ upgradeHandler,
132
+ server: (httpServer) => {
133
+ httpServer.on("upgrade", upgradeHandler);
134
+ },
135
+ };
136
+ }
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Fastify plugin for proxying Deepgram API requests.
3
+ *
4
+ * @packageDocumentation
5
+ *
6
+ * **Peer Dependencies Required:**
7
+ * ```bash
8
+ * npm install fastify fastify-plugin
9
+ * # or
10
+ * pnpm add fastify fastify-plugin
11
+ * ```
12
+ *
13
+ * This module provides a Fastify plugin for proxying requests to the Deepgram API,
14
+ * including REST endpoints and WebSocket connections.
15
+ */
16
+ import type { FastifyPluginAsync, FastifyPluginOptions } from "fastify";
17
+ import type { MiddlewareOptions } from "../core/types.mjs";
18
+ /**
19
+ * Fastify plugin options
20
+ */
21
+ export interface FastifyDeepgramProxyOptions extends MiddlewareOptions, FastifyPluginOptions {
22
+ /** URL prefix for the proxy routes (default: "") */
23
+ prefix?: string;
24
+ }
25
+ /**
26
+ * Export as Fastify plugin with proper typing
27
+ */
28
+ export declare const fastifyDeepgramProxy: FastifyPluginAsync<FastifyDeepgramProxyOptions>;
29
+ /**
30
+ * Alternative export for direct usage (without fastify-plugin wrapper)
31
+ */
32
+ export declare const deepgramProxyPlugin: FastifyPluginAsync<FastifyDeepgramProxyOptions>;
@@ -0,0 +1,157 @@
1
+ /**
2
+ * Fastify plugin for proxying Deepgram API requests.
3
+ *
4
+ * @packageDocumentation
5
+ *
6
+ * **Peer Dependencies Required:**
7
+ * ```bash
8
+ * npm install fastify fastify-plugin
9
+ * # or
10
+ * pnpm add fastify fastify-plugin
11
+ * ```
12
+ *
13
+ * This module provides a Fastify plugin for proxying requests to the Deepgram API,
14
+ * including REST endpoints and WebSocket connections.
15
+ */
16
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
17
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
18
+ return new (P || (P = Promise))(function (resolve, reject) {
19
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
20
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
21
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
22
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
23
+ });
24
+ };
25
+ import { ProxyHandler } from "../core/ProxyHandler.mjs";
26
+ import { TokenManager } from "../core/TokenManager.mjs";
27
+ import { WebSocketProxy } from "../core/WebSocketProxy.mjs";
28
+ // Lazy-load fastify-plugin
29
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- Dynamic loading
30
+ let fp = null;
31
+ function loadFastifyPlugin() {
32
+ return __awaiter(this, void 0, void 0, function* () {
33
+ if (fp) {
34
+ return fp;
35
+ }
36
+ try {
37
+ const module = yield import("fastify-plugin");
38
+ fp = module.default || module;
39
+ return fp;
40
+ }
41
+ catch (_a) {
42
+ throw new Error("fastify-plugin is required for Fastify middleware. Install it with: npm install fastify-plugin");
43
+ }
44
+ });
45
+ }
46
+ /**
47
+ * Fastify plugin for proxying Deepgram API requests
48
+ *
49
+ * @param fastify - Fastify instance
50
+ * @param options - Plugin configuration options
51
+ *
52
+ * @example
53
+ * ```typescript
54
+ * import Fastify from 'fastify';
55
+ * import { fastifyDeepgramProxy } from '@deepgram/sdk';
56
+ *
57
+ * const fastify = Fastify();
58
+ *
59
+ * fastify.register(fastifyDeepgramProxy, {
60
+ * prefix: '/api/deepgram',
61
+ * apiKey: process.env.DEEPGRAM_API_KEY!,
62
+ * enableTokenAuth: true
63
+ * });
64
+ *
65
+ * fastify.listen({ port: 3000 });
66
+ * ```
67
+ */
68
+ const fastifyDeepgramProxyPlugin = (fastify, options) => __awaiter(void 0, void 0, void 0, function* () {
69
+ var _a;
70
+ const proxyHandler = new ProxyHandler(options);
71
+ const tokenManager = options.enableTokenAuth
72
+ ? new TokenManager(options)
73
+ : null;
74
+ const wsProxy = new WebSocketProxy(options);
75
+ // NOTE: We do NOT add a custom content type parser here because:
76
+ // 1. fastify-plugin breaks encapsulation, so it would affect ALL routes
77
+ // 2. We handle body reconstruction in our route handlers instead
78
+ // This allows users to use their own body parsers for their routes
79
+ // Register token endpoint if token auth is enabled
80
+ if (tokenManager) {
81
+ fastify.get("/token", (request, reply) => {
82
+ reply.hijack();
83
+ tokenManager.handleTokenRequest(request.raw, reply.raw).catch((error) => {
84
+ console.error("Token generation error:", error);
85
+ });
86
+ });
87
+ }
88
+ // Register wildcard route to catch ALL paths
89
+ // This must match any path depth: /, /v1, /v1/listen, /v1/listen/more/paths
90
+ fastify.all("/*", (request, reply) => {
91
+ reply.hijack();
92
+ // Fastify has already consumed the request body stream, so we need to
93
+ // write the parsed body back to the raw request
94
+ if (request.body && (request.method === 'POST' || request.method === 'PUT' || request.method === 'PATCH')) {
95
+ const bodyString = typeof request.body === 'string' ? request.body : JSON.stringify(request.body);
96
+ // Write the body to the raw request stream
97
+ process.nextTick(() => {
98
+ request.raw.emit('data', Buffer.from(bodyString));
99
+ request.raw.emit('end');
100
+ });
101
+ }
102
+ proxyHandler.handleRequest(request.raw, reply.raw).catch((error) => {
103
+ console.error("[Fastify] Proxy error:", error);
104
+ });
105
+ });
106
+ // Also catch root path explicitly
107
+ fastify.all("/", (request, reply) => {
108
+ reply.hijack();
109
+ // Reconstruct body if needed
110
+ if (request.body && (request.method === 'POST' || request.method === 'PUT' || request.method === 'PATCH')) {
111
+ const bodyString = typeof request.body === 'string' ? request.body : JSON.stringify(request.body);
112
+ process.nextTick(() => {
113
+ request.raw.emit('data', Buffer.from(bodyString));
114
+ request.raw.emit('end');
115
+ });
116
+ }
117
+ proxyHandler.handleRequest(request.raw, reply.raw).catch((error) => {
118
+ console.error("[Fastify] Root proxy error:", error);
119
+ });
120
+ });
121
+ // Register WebSocket upgrade handler
122
+ if (fastify.server) {
123
+ const prefix = (_a = options.prefix) !== null && _a !== void 0 ? _a : "";
124
+ fastify.server.on("upgrade", (req, socket, head) => {
125
+ var _a;
126
+ // Only handle requests matching our prefix
127
+ if ((_a = req.url) === null || _a === void 0 ? void 0 : _a.startsWith(prefix)) {
128
+ // Remove prefix from URL before proxying
129
+ const originalUrl = req.url;
130
+ req.url = originalUrl.slice(prefix.length);
131
+ wsProxy.handleUpgrade(req, socket, head);
132
+ }
133
+ });
134
+ }
135
+ });
136
+ /**
137
+ * Lazy-loaded Fastify plugin (only loads fastify-plugin when called)
138
+ */
139
+ let _fastifyDeepgramProxy = null;
140
+ /**
141
+ * Export as Fastify plugin with proper typing
142
+ */
143
+ export const fastifyDeepgramProxy = (fastify, options) => __awaiter(void 0, void 0, void 0, function* () {
144
+ if (!_fastifyDeepgramProxy) {
145
+ const pluginWrapper = yield loadFastifyPlugin();
146
+ _fastifyDeepgramProxy = pluginWrapper(fastifyDeepgramProxyPlugin, {
147
+ fastify: ">=4.0.0",
148
+ name: "@deepgram/sdk-middleware",
149
+ });
150
+ }
151
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- Guaranteed to be set above
152
+ return _fastifyDeepgramProxy(fastify, options);
153
+ });
154
+ /**
155
+ * Alternative export for direct usage (without fastify-plugin wrapper)
156
+ */
157
+ export const deepgramProxyPlugin = fastifyDeepgramProxyPlugin;