@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
@@ -0,0 +1,136 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
36
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
37
+ return new (P || (P = Promise))(function (resolve, reject) {
38
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
39
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
40
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
41
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
42
+ });
43
+ };
44
+ Object.defineProperty(exports, "__esModule", { value: true });
45
+ exports.createProxyToken = createProxyToken;
46
+ exports.verifyProxyToken = verifyProxyToken;
47
+ const jose = __importStar(require("jose"));
48
+ /**
49
+ * Creates a proxy token signed with the Deepgram API key.
50
+ * This token should be generated on the backend and sent to browser clients.
51
+ * The browser uses this token to connect to the proxy middleware.
52
+ *
53
+ * @param apiKey - Deepgram API key (used as signing secret)
54
+ * @param options - Token configuration options
55
+ * @returns JWT token string
56
+ *
57
+ * @example
58
+ * ```typescript
59
+ * const token = await createProxyToken(process.env.DEEPGRAM_API_KEY, {
60
+ * identity: 'user-123',
61
+ * ttl: '1h',
62
+ * scopes: ['listen', 'speak']
63
+ * });
64
+ * ```
65
+ */
66
+ function createProxyToken(apiKey_1) {
67
+ return __awaiter(this, arguments, void 0, function* (apiKey, options = {}) {
68
+ const { identity, ttl = "1h", scopes, metadata } = options;
69
+ const projectId = extractProjectId(apiKey);
70
+ const secret = new TextEncoder().encode(apiKey);
71
+ const payload = {};
72
+ if (scopes !== undefined) {
73
+ payload.scopes = scopes;
74
+ }
75
+ if (metadata !== undefined) {
76
+ payload.metadata = metadata;
77
+ }
78
+ const expirationTime = typeof ttl === "number"
79
+ ? Math.floor(Date.now() / 1000) + ttl
80
+ : ttl;
81
+ const jwt = new jose.SignJWT(payload)
82
+ .setProtectedHeader({ alg: "HS256" })
83
+ .setIssuer(projectId)
84
+ .setIssuedAt()
85
+ .setNotBefore(new Date())
86
+ .setExpirationTime(expirationTime);
87
+ if (identity !== undefined) {
88
+ jwt.setSubject(identity);
89
+ }
90
+ return jwt.sign(secret);
91
+ });
92
+ }
93
+ /**
94
+ * Verifies a proxy token and returns the decoded payload.
95
+ * This should be called by the proxy middleware to validate tokens from clients.
96
+ *
97
+ * @param token - JWT token to verify
98
+ * @param apiKey - Deepgram API key (used to verify signature)
99
+ * @returns Decoded token payload
100
+ * @throws Error if token is invalid, expired, or signature doesn't match
101
+ *
102
+ * @example
103
+ * ```typescript
104
+ * try {
105
+ * const payload = await verifyProxyToken(token, process.env.DEEPGRAM_API_KEY);
106
+ * console.log('Valid token for user:', payload.sub);
107
+ * } catch (error) {
108
+ * console.error('Invalid token:', error);
109
+ * }
110
+ * ```
111
+ */
112
+ function verifyProxyToken(token, apiKey) {
113
+ return __awaiter(this, void 0, void 0, function* () {
114
+ const secret = new TextEncoder().encode(apiKey);
115
+ const projectId = extractProjectId(apiKey);
116
+ const { payload } = yield jose.jwtVerify(token, secret, {
117
+ algorithms: ["HS256"],
118
+ issuer: projectId,
119
+ });
120
+ return payload;
121
+ });
122
+ }
123
+ /**
124
+ * Extracts the project ID from a Deepgram API key.
125
+ * API keys are formatted as: {project_id}:{secret}
126
+ *
127
+ * @param apiKey - Deepgram API key
128
+ * @returns Project ID portion of the API key
129
+ */
130
+ function extractProjectId(apiKey) {
131
+ const parts = apiKey.split(":");
132
+ if (parts.length < 2) {
133
+ throw new Error("Invalid API key format");
134
+ }
135
+ return parts[0];
136
+ }
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Options for configuring the Deepgram proxy middleware
3
+ */
4
+ export interface MiddlewareOptions {
5
+ /** Deepgram API key for server-side authentication */
6
+ apiKey: string;
7
+ /** Enable temporary token generation endpoint (GET /token) */
8
+ enableTokenAuth?: boolean;
9
+ /**
10
+ * Token mode: how tokens are generated and verified
11
+ * - "deepgram": Use Deepgram's native temporary token API (legacy)
12
+ * - "jwt": Use JWT tokens signed with API key (recommended for browser clients)
13
+ *
14
+ * @default "deepgram"
15
+ */
16
+ tokenMode?: "deepgram" | "jwt";
17
+ /** Custom Deepgram API base URL (e.g., for EU endpoint) */
18
+ baseUrl?: string;
19
+ /** Default token expiration in seconds (default: 3600 = 1 hour) */
20
+ defaultTokenExpiration?: number;
21
+ }
22
+ /**
23
+ * Request body for token generation
24
+ */
25
+ export interface TokenRequest {
26
+ /** Token time-to-live in seconds */
27
+ ttlSeconds?: number;
28
+ }
29
+ /**
30
+ * Response from token generation
31
+ */
32
+ export interface TokenResponse {
33
+ /** The generated access token */
34
+ token: string;
35
+ /** Token expiration time in seconds */
36
+ expiresIn: number;
37
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Deepgram SDK Middleware
3
+ *
4
+ * This module provides middleware for integrating Deepgram API proxying
5
+ * into Node.js web frameworks like Express and Fastify.
6
+ *
7
+ * ## Features
8
+ * - Server-side API key injection (hide keys from clients)
9
+ * - Temporary token generation (client requests token, uses it temporarily)
10
+ * - WebSocket proxying for Live/Agent APIs
11
+ * - Framework integration (Raw Node.js, Express, Fastify)
12
+ *
13
+ * @example Express
14
+ * ```typescript
15
+ * import express from 'express';
16
+ * import { createDeepgramProxy, createWebSocketHandler } from '@deepgram/sdk';
17
+ *
18
+ * const app = express();
19
+ * const options = {
20
+ * apiKey: process.env.DEEPGRAM_API_KEY!,
21
+ * enableTokenAuth: true
22
+ * };
23
+ *
24
+ * app.use('/api/deepgram', createDeepgramProxy(options));
25
+ *
26
+ * const server = app.listen(3000);
27
+ * server.on('upgrade', createWebSocketHandler(options));
28
+ * ```
29
+ *
30
+ * @example Fastify
31
+ * ```typescript
32
+ * import Fastify from 'fastify';
33
+ * import { fastifyDeepgramProxy } from '@deepgram/sdk';
34
+ *
35
+ * const fastify = Fastify();
36
+ *
37
+ * fastify.register(fastifyDeepgramProxy, {
38
+ * prefix: '/api/deepgram',
39
+ * apiKey: process.env.DEEPGRAM_API_KEY!,
40
+ * enableTokenAuth: true
41
+ * });
42
+ *
43
+ * fastify.listen({ port: 3000 });
44
+ * ```
45
+ *
46
+ * @packageDocumentation
47
+ */
48
+ export type { MiddlewareOptions, TokenRequest, TokenResponse } from "./core/types.js";
49
+ export { createHttpHandler, createUpgradeHandler as createHttpUpgradeHandler, createDeepgramHttpServer, type HttpRequestHandler, type UpgradeHandler as HttpUpgradeHandler, } from "./adapters/http.js";
50
+ export { createDeepgramProxy, createDeepgramMiddleware, createWebSocketHandler, type ExpressMiddleware, type UpgradeHandler, } from "./adapters/express.js";
51
+ export { fastifyDeepgramProxy, deepgramProxyPlugin, type FastifyDeepgramProxyOptions, } from "./adapters/fastify.js";
52
+ export { createProxyToken, verifyProxyToken, type ProxyTokenOptions, type ProxyTokenPayload, } from "./core/jwt.js";
53
+ export { ProxyHandler } from "./core/ProxyHandler.js";
54
+ export { TokenManager } from "./core/TokenManager.js";
55
+ export { WebSocketProxy } from "./core/WebSocketProxy.js";
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ /**
3
+ * Deepgram SDK Middleware
4
+ *
5
+ * This module provides middleware for integrating Deepgram API proxying
6
+ * into Node.js web frameworks like Express and Fastify.
7
+ *
8
+ * ## Features
9
+ * - Server-side API key injection (hide keys from clients)
10
+ * - Temporary token generation (client requests token, uses it temporarily)
11
+ * - WebSocket proxying for Live/Agent APIs
12
+ * - Framework integration (Raw Node.js, Express, Fastify)
13
+ *
14
+ * @example Express
15
+ * ```typescript
16
+ * import express from 'express';
17
+ * import { createDeepgramProxy, createWebSocketHandler } from '@deepgram/sdk';
18
+ *
19
+ * const app = express();
20
+ * const options = {
21
+ * apiKey: process.env.DEEPGRAM_API_KEY!,
22
+ * enableTokenAuth: true
23
+ * };
24
+ *
25
+ * app.use('/api/deepgram', createDeepgramProxy(options));
26
+ *
27
+ * const server = app.listen(3000);
28
+ * server.on('upgrade', createWebSocketHandler(options));
29
+ * ```
30
+ *
31
+ * @example Fastify
32
+ * ```typescript
33
+ * import Fastify from 'fastify';
34
+ * import { fastifyDeepgramProxy } from '@deepgram/sdk';
35
+ *
36
+ * const fastify = Fastify();
37
+ *
38
+ * fastify.register(fastifyDeepgramProxy, {
39
+ * prefix: '/api/deepgram',
40
+ * apiKey: process.env.DEEPGRAM_API_KEY!,
41
+ * enableTokenAuth: true
42
+ * });
43
+ *
44
+ * fastify.listen({ port: 3000 });
45
+ * ```
46
+ *
47
+ * @packageDocumentation
48
+ */
49
+ Object.defineProperty(exports, "__esModule", { value: true });
50
+ exports.WebSocketProxy = exports.TokenManager = exports.ProxyHandler = exports.verifyProxyToken = exports.createProxyToken = exports.deepgramProxyPlugin = exports.fastifyDeepgramProxy = exports.createWebSocketHandler = exports.createDeepgramMiddleware = exports.createDeepgramProxy = exports.createDeepgramHttpServer = exports.createHttpUpgradeHandler = exports.createHttpHandler = void 0;
51
+ // Raw Node.js HTTP/HTTPS adapter (no dependencies)
52
+ var http_js_1 = require("./adapters/http.js");
53
+ Object.defineProperty(exports, "createHttpHandler", { enumerable: true, get: function () { return http_js_1.createHttpHandler; } });
54
+ Object.defineProperty(exports, "createHttpUpgradeHandler", { enumerable: true, get: function () { return http_js_1.createUpgradeHandler; } });
55
+ Object.defineProperty(exports, "createDeepgramHttpServer", { enumerable: true, get: function () { return http_js_1.createDeepgramHttpServer; } });
56
+ // Express adapter
57
+ var express_js_1 = require("./adapters/express.js");
58
+ Object.defineProperty(exports, "createDeepgramProxy", { enumerable: true, get: function () { return express_js_1.createDeepgramProxy; } });
59
+ Object.defineProperty(exports, "createDeepgramMiddleware", { enumerable: true, get: function () { return express_js_1.createDeepgramMiddleware; } });
60
+ Object.defineProperty(exports, "createWebSocketHandler", { enumerable: true, get: function () { return express_js_1.createWebSocketHandler; } });
61
+ // Fastify adapter
62
+ var fastify_js_1 = require("./adapters/fastify.js");
63
+ Object.defineProperty(exports, "fastifyDeepgramProxy", { enumerable: true, get: function () { return fastify_js_1.fastifyDeepgramProxy; } });
64
+ Object.defineProperty(exports, "deepgramProxyPlugin", { enumerable: true, get: function () { return fastify_js_1.deepgramProxyPlugin; } });
65
+ // JWT token management
66
+ var jwt_js_1 = require("./core/jwt.js");
67
+ Object.defineProperty(exports, "createProxyToken", { enumerable: true, get: function () { return jwt_js_1.createProxyToken; } });
68
+ Object.defineProperty(exports, "verifyProxyToken", { enumerable: true, get: function () { return jwt_js_1.verifyProxyToken; } });
69
+ // Core classes (for advanced usage)
70
+ var ProxyHandler_js_1 = require("./core/ProxyHandler.js");
71
+ Object.defineProperty(exports, "ProxyHandler", { enumerable: true, get: function () { return ProxyHandler_js_1.ProxyHandler; } });
72
+ var TokenManager_js_1 = require("./core/TokenManager.js");
73
+ Object.defineProperty(exports, "TokenManager", { enumerable: true, get: function () { return TokenManager_js_1.TokenManager; } });
74
+ var WebSocketProxy_js_1 = require("./core/WebSocketProxy.js");
75
+ Object.defineProperty(exports, "WebSocketProxy", { enumerable: true, get: function () { return WebSocketProxy_js_1.WebSocketProxy; } });
@@ -0,0 +1,124 @@
1
+ /**
2
+ * Manual test: Verify baseUrl works for custom endpoints (like proxies)
3
+ *
4
+ * This test verifies that setting baseUrl to a custom endpoint correctly
5
+ * routes ALL requests (auth, listen, manage) to that endpoint
6
+ *
7
+ * Run with: DEEPGRAM_API_KEY=your_key node dist/cjs/tests/manual/test-custom-baseurl.js
8
+ */
9
+ const { DeepgramClient } = require("../../dist/cjs/index.js");
10
+ const http = require("http");
11
+ // Simple mock proxy server that logs what endpoints are being hit
12
+ function createMockProxyServer(port) {
13
+ const requestLog = [];
14
+ const server = http.createServer((req, res) => {
15
+ const requestInfo = {
16
+ method: req.method,
17
+ url: req.url,
18
+ path: new URL(req.url, `http://localhost:${port}`).pathname,
19
+ headers: req.headers,
20
+ };
21
+ console.log(` [Proxy] ${req.method} ${requestInfo.path}`);
22
+ requestLog.push(requestInfo);
23
+ // Return a minimal valid response for different endpoints
24
+ res.writeHead(200, { "Content-Type": "application/json" });
25
+ if (requestInfo.path === "/v1/auth/grant") {
26
+ res.end(JSON.stringify({ token: "mock_token_12345" }));
27
+ }
28
+ else if (requestInfo.path === "/v1/projects") {
29
+ res.end(JSON.stringify({ projects: [{ project_id: "test", name: "Test Project" }] }));
30
+ }
31
+ else if (requestInfo.path === "/v1/listen") {
32
+ res.end(JSON.stringify({
33
+ metadata: { request_id: "test" },
34
+ results: {
35
+ channels: [{
36
+ alternatives: [{
37
+ transcript: "This is a mock transcription."
38
+ }]
39
+ }]
40
+ }
41
+ }));
42
+ }
43
+ else {
44
+ res.end(JSON.stringify({ success: true }));
45
+ }
46
+ });
47
+ return new Promise((resolve) => {
48
+ server.listen(port, () => {
49
+ console.log(`Mock proxy server listening on http://localhost:${port}\n`);
50
+ resolve({ server, requestLog });
51
+ });
52
+ });
53
+ }
54
+ async function testCustomBaseUrl() {
55
+ console.log("=== Testing Custom baseUrl Configuration ===\n");
56
+ const port = 9999;
57
+ const { server, requestLog } = await createMockProxyServer(port);
58
+ try {
59
+ // Create client with custom baseUrl
60
+ const client = new DeepgramClient({
61
+ apiKey: "test_key_12345",
62
+ baseUrl: `http://localhost:${port}`,
63
+ });
64
+ console.log("Client configured with:");
65
+ console.log(` baseUrl: http://localhost:${port}`);
66
+ console.log(" (all requests should go to this URL)\n");
67
+ console.log("Running tests...\n");
68
+ // Test 1: Auth endpoint
69
+ console.log("Test 1: Auth endpoint");
70
+ await client.auth.v1.tokens.grant({ scopes: ["usage:write"] });
71
+ // Test 2: Management endpoint
72
+ console.log("Test 2: Management endpoint");
73
+ await client.manage.v1.projects.list();
74
+ // Test 3: Listen endpoint
75
+ console.log("Test 3: Listen endpoint");
76
+ await client.listen.v1.media.transcribeUrl({
77
+ url: "https://example.com/audio.wav",
78
+ model: "nova-3",
79
+ });
80
+ console.log("\n=== Results ===\n");
81
+ console.log("Requests received by proxy:");
82
+ requestLog.forEach((req, i) => {
83
+ console.log(` ${i + 1}. ${req.method} ${req.path}`);
84
+ });
85
+ console.log("\n=== Verification ===\n");
86
+ // Verify all requests went to the custom baseUrl
87
+ const expectedPaths = ["/v1/auth/grant", "/v1/projects", "/v1/listen"];
88
+ const receivedPaths = requestLog.map((r) => r.path);
89
+ let allCorrect = true;
90
+ expectedPaths.forEach((expected) => {
91
+ if (receivedPaths.includes(expected)) {
92
+ console.log(`✓ ${expected} - Correctly routed to custom baseUrl`);
93
+ }
94
+ else {
95
+ console.log(`✗ ${expected} - NOT found in proxy logs!`);
96
+ allCorrect = false;
97
+ }
98
+ });
99
+ if (allCorrect) {
100
+ console.log("\n✓ All tests passed!");
101
+ console.log("All requests were correctly routed to the custom baseUrl.");
102
+ }
103
+ else {
104
+ console.log("\n✗ Some requests were NOT routed correctly!");
105
+ console.log("This indicates a bug in baseUrl handling.");
106
+ process.exit(1);
107
+ }
108
+ }
109
+ catch (error) {
110
+ console.error("\n✗ Test failed!");
111
+ console.error(` Error: ${error.message}`);
112
+ if (error.stack) {
113
+ console.error(error.stack);
114
+ }
115
+ process.exit(1);
116
+ }
117
+ finally {
118
+ server.close();
119
+ }
120
+ }
121
+ // Run test
122
+ (async () => {
123
+ await testCustomBaseUrl();
124
+ })();
@@ -1 +1 @@
1
- export declare const SDK_VERSION = "0.0.283";
1
+ export declare const SDK_VERSION = "4.11.4";
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SDK_VERSION = void 0;
4
- exports.SDK_VERSION = "0.0.283";
4
+ exports.SDK_VERSION = "4.11.4";
@@ -5,9 +5,9 @@ import * as core from "./core/index.mjs";
5
5
  export function normalizeClientOptions(options) {
6
6
  const headers = mergeHeaders({
7
7
  "X-Fern-Language": "JavaScript",
8
- "X-Fern-SDK-Name": "",
9
- "X-Fern-SDK-Version": "0.0.283",
10
- "User-Agent": "/0.0.283",
8
+ "X-Fern-SDK-Name": "@deepgram/sdk",
9
+ "X-Fern-SDK-Version": "4.11.4",
10
+ "User-Agent": "@deepgram/sdk/4.11.4",
11
11
  "X-Fern-Runtime": core.RUNTIME.type,
12
12
  "X-Fern-Runtime-Version": core.RUNTIME.version,
13
13
  }, options === null || options === void 0 ? void 0 : options.headers);