@deepgram/sdk 5.0.0 → 5.1.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 (404) hide show
  1. package/dist/browser/index.global.js +1172 -199
  2. package/dist/cjs/BaseClient.js +2 -2
  3. package/dist/cjs/Client.d.ts +15 -0
  4. package/dist/cjs/Client.js +79 -0
  5. package/dist/cjs/api/resources/agent/resources/v1/client/Client.d.ts +2 -0
  6. package/dist/cjs/api/resources/agent/resources/v1/client/Client.js +5 -5
  7. package/dist/cjs/api/resources/agent/resources/v1/client/Socket.d.ts +6 -6
  8. package/dist/cjs/api/resources/agent/resources/v1/client/Socket.js +6 -6
  9. package/dist/cjs/api/resources/agent/resources/v1/exports.d.ts +1 -0
  10. package/dist/cjs/api/resources/agent/resources/v1/exports.js +3 -1
  11. package/dist/cjs/api/resources/agent/resources/v1/resources/settings/resources/think/resources/models/client/Client.js +1 -1
  12. package/dist/cjs/api/resources/agent/resources/v1/types/AgentV1FunctionCallRequest.d.ts +2 -0
  13. package/dist/cjs/api/resources/agent/resources/v1/types/AgentV1History.d.ts +24 -0
  14. package/dist/cjs/api/resources/agent/resources/v1/types/AgentV1History.js +3 -0
  15. package/dist/cjs/api/resources/agent/resources/v1/types/AgentV1Settings.d.ts +2 -1
  16. package/dist/cjs/api/resources/agent/resources/v1/types/index.d.ts +1 -0
  17. package/dist/cjs/api/resources/agent/resources/v1/types/index.js +1 -0
  18. package/dist/cjs/api/resources/auth/resources/v1/resources/tokens/client/Client.js +1 -1
  19. package/dist/cjs/api/resources/index.d.ts +1 -0
  20. package/dist/cjs/api/resources/index.js +2 -1
  21. package/dist/cjs/api/resources/listen/resources/v1/client/Client.d.ts +2 -0
  22. package/dist/cjs/api/resources/listen/resources/v1/client/Client.js +5 -5
  23. package/dist/cjs/api/resources/listen/resources/v1/client/Socket.d.ts +3 -3
  24. package/dist/cjs/api/resources/listen/resources/v1/client/Socket.js +2 -2
  25. package/dist/cjs/api/resources/listen/resources/v1/exports.d.ts +1 -0
  26. package/dist/cjs/api/resources/listen/resources/v1/exports.js +3 -1
  27. package/dist/cjs/api/resources/listen/resources/v1/resources/media/client/Client.d.ts +1 -0
  28. package/dist/cjs/api/resources/listen/resources/v1/resources/media/client/Client.js +11 -2
  29. package/dist/cjs/api/resources/listen/resources/v1/resources/media/client/requests/ListenV1RequestUrl.d.ts +1 -0
  30. package/dist/cjs/api/resources/listen/resources/v2/client/Client.d.ts +2 -0
  31. package/dist/cjs/api/resources/listen/resources/v2/client/Client.js +5 -5
  32. package/dist/cjs/api/resources/listen/resources/v2/client/Socket.d.ts +4 -4
  33. package/dist/cjs/api/resources/listen/resources/v2/client/Socket.js +3 -3
  34. package/dist/cjs/api/resources/listen/resources/v2/exports.d.ts +1 -0
  35. package/dist/cjs/api/resources/listen/resources/v2/exports.js +3 -1
  36. package/dist/cjs/api/resources/listen/resources/v2/types/ListenV2Configure.d.ts +6 -0
  37. package/dist/cjs/api/resources/listen/resources/v2/types/ListenV2TurnInfo.d.ts +11 -0
  38. package/dist/cjs/api/resources/manage/resources/v1/resources/models/client/Client.js +6 -2
  39. package/dist/cjs/api/resources/manage/resources/v1/resources/projects/client/Client.js +9 -5
  40. package/dist/cjs/api/resources/manage/resources/v1/resources/projects/resources/billing/resources/balances/client/Client.js +2 -2
  41. package/dist/cjs/api/resources/manage/resources/v1/resources/projects/resources/billing/resources/breakdown/client/Client.d.ts +2 -1
  42. package/dist/cjs/api/resources/manage/resources/v1/resources/projects/resources/billing/resources/breakdown/client/Client.js +7 -2
  43. package/dist/cjs/api/resources/manage/resources/v1/resources/projects/resources/billing/resources/breakdown/client/requests/BreakdownListRequest.d.ts +2 -1
  44. package/dist/cjs/api/resources/manage/resources/v1/resources/projects/resources/billing/resources/fields/client/Client.js +5 -1
  45. package/dist/cjs/api/resources/manage/resources/v1/resources/projects/resources/billing/resources/purchases/client/Client.js +5 -1
  46. package/dist/cjs/api/resources/manage/resources/v1/resources/projects/resources/keys/client/Client.js +8 -4
  47. package/dist/cjs/api/resources/manage/resources/v1/resources/projects/resources/members/client/Client.js +2 -2
  48. package/dist/cjs/api/resources/manage/resources/v1/resources/projects/resources/members/resources/invites/client/Client.js +3 -3
  49. package/dist/cjs/api/resources/manage/resources/v1/resources/projects/resources/members/resources/scopes/client/Client.js +2 -2
  50. package/dist/cjs/api/resources/manage/resources/v1/resources/projects/resources/models/client/Client.js +6 -2
  51. package/dist/cjs/api/resources/manage/resources/v1/resources/projects/resources/requests/client/Client.js +6 -2
  52. package/dist/cjs/api/resources/manage/resources/v1/resources/projects/resources/usage/client/Client.js +5 -1
  53. package/dist/cjs/api/resources/manage/resources/v1/resources/projects/resources/usage/resources/breakdown/client/Client.js +5 -1
  54. package/dist/cjs/api/resources/manage/resources/v1/resources/projects/resources/usage/resources/fields/client/Client.js +5 -1
  55. package/dist/cjs/api/resources/read/resources/v1/resources/text/client/Client.js +5 -1
  56. package/dist/cjs/api/resources/selfHosted/resources/v1/resources/distributionCredentials/client/Client.d.ts +1 -0
  57. package/dist/cjs/api/resources/selfHosted/resources/v1/resources/distributionCredentials/client/Client.js +9 -4
  58. package/dist/cjs/api/resources/selfHosted/resources/v1/resources/distributionCredentials/client/requests/CreateProjectDistributionCredentialsV1Request.d.ts +1 -0
  59. package/dist/cjs/api/resources/speak/resources/v1/client/Client.d.ts +3 -0
  60. package/dist/cjs/api/resources/speak/resources/v1/client/Client.js +6 -5
  61. package/dist/cjs/api/resources/speak/resources/v1/client/Socket.d.ts +2 -2
  62. package/dist/cjs/api/resources/speak/resources/v1/client/Socket.js +2 -2
  63. package/dist/cjs/api/resources/speak/resources/v1/exports.d.ts +1 -0
  64. package/dist/cjs/api/resources/speak/resources/v1/exports.js +3 -1
  65. package/dist/cjs/api/resources/speak/resources/v1/resources/audio/client/Client.js +7 -2
  66. package/dist/cjs/api/resources/speak/resources/v1/resources/audio/client/requests/SpeakV1Request.d.ts +2 -0
  67. package/dist/cjs/api/resources/speak/resources/v1/types/SpeakV1Metadata.d.ts +2 -4
  68. package/dist/cjs/api/resources/voiceAgent/client/Client.d.ts +15 -0
  69. package/dist/cjs/api/resources/voiceAgent/client/Client.js +21 -0
  70. package/dist/cjs/api/resources/voiceAgent/exports.d.ts +3 -0
  71. package/dist/cjs/api/resources/voiceAgent/exports.js +22 -0
  72. package/dist/cjs/api/resources/voiceAgent/index.d.ts +2 -0
  73. package/dist/cjs/api/resources/voiceAgent/index.js +18 -0
  74. package/dist/cjs/api/resources/voiceAgent/resources/configurations/client/Client.d.ts +89 -0
  75. package/dist/cjs/api/resources/voiceAgent/resources/configurations/client/Client.js +325 -0
  76. package/dist/cjs/api/resources/voiceAgent/resources/configurations/client/index.d.ts +1 -0
  77. package/dist/cjs/api/resources/voiceAgent/resources/configurations/client/index.js +17 -0
  78. package/dist/cjs/api/resources/voiceAgent/resources/configurations/client/requests/CreateAgentConfigurationV1Request.d.ts +14 -0
  79. package/dist/cjs/api/resources/voiceAgent/resources/configurations/client/requests/CreateAgentConfigurationV1Request.js +3 -0
  80. package/dist/cjs/api/resources/voiceAgent/resources/configurations/client/requests/UpdateAgentMetadataV1Request.d.ts +12 -0
  81. package/dist/cjs/api/resources/voiceAgent/resources/configurations/client/requests/UpdateAgentMetadataV1Request.js +3 -0
  82. package/dist/cjs/api/resources/voiceAgent/resources/configurations/client/requests/index.d.ts +2 -0
  83. package/dist/cjs/api/resources/voiceAgent/resources/configurations/client/requests/index.js +2 -0
  84. package/dist/cjs/api/resources/voiceAgent/resources/configurations/exports.d.ts +2 -0
  85. package/dist/cjs/api/resources/voiceAgent/resources/configurations/exports.js +21 -0
  86. package/dist/cjs/api/resources/voiceAgent/resources/configurations/index.d.ts +1 -0
  87. package/dist/cjs/api/resources/voiceAgent/resources/configurations/index.js +17 -0
  88. package/dist/cjs/api/resources/voiceAgent/resources/index.d.ts +4 -0
  89. package/dist/cjs/api/resources/voiceAgent/resources/index.js +43 -0
  90. package/dist/cjs/api/resources/voiceAgent/resources/variables/client/Client.d.ts +92 -0
  91. package/dist/cjs/api/resources/voiceAgent/resources/variables/client/Client.js +325 -0
  92. package/dist/cjs/api/resources/voiceAgent/resources/variables/client/index.d.ts +1 -0
  93. package/dist/cjs/api/resources/voiceAgent/resources/variables/client/index.js +17 -0
  94. package/dist/cjs/api/resources/voiceAgent/resources/variables/client/requests/CreateAgentVariableV1Request.d.ts +16 -0
  95. package/dist/cjs/api/resources/voiceAgent/resources/variables/client/requests/CreateAgentVariableV1Request.js +3 -0
  96. package/dist/cjs/api/resources/voiceAgent/resources/variables/client/requests/UpdateAgentVariableV1Request.d.ts +11 -0
  97. package/dist/cjs/api/resources/voiceAgent/resources/variables/client/requests/UpdateAgentVariableV1Request.js +3 -0
  98. package/dist/cjs/api/resources/voiceAgent/resources/variables/client/requests/index.d.ts +2 -0
  99. package/dist/cjs/api/resources/voiceAgent/resources/variables/client/requests/index.js +2 -0
  100. package/dist/cjs/api/resources/voiceAgent/resources/variables/exports.d.ts +2 -0
  101. package/dist/cjs/api/resources/voiceAgent/resources/variables/exports.js +21 -0
  102. package/dist/cjs/api/resources/voiceAgent/resources/variables/index.d.ts +1 -0
  103. package/dist/cjs/api/resources/voiceAgent/resources/variables/index.js +17 -0
  104. package/dist/cjs/api/types/AgentConfigurationV1.d.ts +15 -0
  105. package/dist/cjs/api/types/AgentConfigurationV1.js +3 -0
  106. package/dist/cjs/api/types/AgentVariableV1.d.ts +14 -0
  107. package/dist/cjs/api/types/AgentVariableV1.js +3 -0
  108. package/dist/cjs/api/types/Cartesia.d.ts +2 -0
  109. package/dist/cjs/api/types/CreateAgentConfigurationV1Response.d.ts +8 -0
  110. package/dist/cjs/api/types/CreateAgentConfigurationV1Response.js +3 -0
  111. package/dist/cjs/api/types/Deepgram.d.ts +2 -0
  112. package/dist/cjs/api/types/DeleteAgentConfigurationV1Response.d.ts +4 -0
  113. package/dist/cjs/api/types/DeleteAgentConfigurationV1Response.js +3 -0
  114. package/dist/cjs/api/types/DeleteAgentVariableV1Response.d.ts +4 -0
  115. package/dist/cjs/api/types/DeleteAgentVariableV1Response.js +3 -0
  116. package/dist/cjs/api/types/ListAgentConfigurationsV1Response.d.ts +5 -0
  117. package/dist/cjs/api/types/ListAgentConfigurationsV1Response.js +3 -0
  118. package/dist/cjs/api/types/ListAgentVariablesV1Response.d.ts +5 -0
  119. package/dist/cjs/api/types/ListAgentVariablesV1Response.js +3 -0
  120. package/dist/cjs/api/types/ListenV1Callback.d.ts +3 -0
  121. package/dist/cjs/api/types/ListenV1Channels.d.ts +3 -0
  122. package/dist/cjs/api/types/ListenV1Endpointing.d.ts +3 -0
  123. package/dist/cjs/api/types/ListenV1Extra.d.ts +3 -0
  124. package/dist/cjs/api/types/ListenV1Keyterm.d.ts +3 -0
  125. package/dist/cjs/api/types/ListenV1Keywords.d.ts +3 -0
  126. package/dist/cjs/api/types/ListenV1Language.d.ts +3 -0
  127. package/dist/cjs/api/types/ListenV1MipOptOut.d.ts +3 -0
  128. package/dist/cjs/api/types/ListenV1Replace.d.ts +3 -0
  129. package/dist/cjs/api/types/ListenV1SampleRate.d.ts +3 -0
  130. package/dist/cjs/api/types/ListenV1Search.d.ts +3 -0
  131. package/dist/cjs/api/types/ListenV1Tag.d.ts +3 -0
  132. package/dist/cjs/api/types/ListenV1UtteranceEndMs.d.ts +3 -0
  133. package/dist/cjs/api/types/ListenV1Version.d.ts +3 -0
  134. package/dist/cjs/api/types/ListenV2EagerEotThreshold.d.ts +5 -0
  135. package/dist/cjs/api/types/ListenV2EotThreshold.d.ts +4 -0
  136. package/dist/cjs/api/types/ListenV2EotTimeoutMs.d.ts +4 -0
  137. package/dist/cjs/api/types/ListenV2MipOptOut.d.ts +5 -0
  138. package/dist/cjs/api/types/ListenV2Model.d.ts +6 -4
  139. package/dist/cjs/api/types/ListenV2Model.js +6 -0
  140. package/dist/cjs/api/types/ListenV2SampleRate.d.ts +3 -0
  141. package/dist/cjs/api/types/ListenV2Tag.d.ts +4 -0
  142. package/dist/cjs/api/types/SpeakV1MipOptOut.d.ts +3 -0
  143. package/dist/cjs/api/types/SpeakV1Speed.d.ts +4 -0
  144. package/dist/cjs/api/types/SpeakV1Speed.js +3 -0
  145. package/dist/cjs/api/types/UsageBreakdownV1Response.d.ts +3 -4
  146. package/dist/cjs/api/types/index.d.ts +8 -0
  147. package/dist/cjs/api/types/index.js +8 -0
  148. package/dist/cjs/core/auth/BasicAuth.d.ts +2 -2
  149. package/dist/cjs/core/auth/BasicAuth.js +7 -1
  150. package/dist/cjs/core/fetcher/BinaryResponse.d.ts +1 -1
  151. package/dist/cjs/core/fetcher/Fetcher.d.ts +8 -0
  152. package/dist/cjs/core/fetcher/Fetcher.js +13 -8
  153. package/dist/cjs/core/fetcher/index.d.ts +2 -0
  154. package/dist/cjs/core/fetcher/index.js +3 -1
  155. package/dist/cjs/core/fetcher/makePassthroughRequest.d.ts +49 -0
  156. package/dist/cjs/core/fetcher/makePassthroughRequest.js +135 -0
  157. package/dist/cjs/core/file/file.js +3 -2
  158. package/dist/cjs/core/url/QueryStringBuilder.d.ts +47 -0
  159. package/dist/cjs/core/url/QueryStringBuilder.js +83 -0
  160. package/dist/cjs/core/url/index.d.ts +1 -0
  161. package/dist/cjs/core/url/index.js +3 -1
  162. package/dist/cjs/core/url/qs.d.ts +2 -1
  163. package/dist/cjs/core/url/qs.js +24 -12
  164. package/dist/cjs/core/websocket/ws.d.ts +10 -1
  165. package/dist/cjs/core/websocket/ws.js +19 -5
  166. package/dist/cjs/errors/DeepgramError.d.ts +3 -1
  167. package/dist/cjs/errors/DeepgramError.js +4 -1
  168. package/dist/cjs/errors/DeepgramTimeoutError.d.ts +4 -1
  169. package/dist/cjs/errors/DeepgramTimeoutError.js +4 -1
  170. package/dist/cjs/errors/handleNonStatusCodeError.js +4 -1
  171. package/dist/cjs/version.d.ts +1 -1
  172. package/dist/cjs/version.js +1 -1
  173. package/dist/esm/BaseClient.mjs +2 -2
  174. package/dist/esm/Client.d.mts +15 -0
  175. package/dist/esm/Client.mjs +46 -0
  176. package/dist/esm/api/resources/agent/resources/v1/client/Client.d.mts +2 -0
  177. package/dist/esm/api/resources/agent/resources/v1/client/Client.mjs +5 -5
  178. package/dist/esm/api/resources/agent/resources/v1/client/Socket.d.mts +6 -6
  179. package/dist/esm/api/resources/agent/resources/v1/client/Socket.mjs +6 -6
  180. package/dist/esm/api/resources/agent/resources/v1/exports.d.mts +1 -0
  181. package/dist/esm/api/resources/agent/resources/v1/exports.mjs +1 -0
  182. package/dist/esm/api/resources/agent/resources/v1/resources/settings/resources/think/resources/models/client/Client.mjs +1 -1
  183. package/dist/esm/api/resources/agent/resources/v1/types/AgentV1FunctionCallRequest.d.mts +2 -0
  184. package/dist/esm/api/resources/agent/resources/v1/types/AgentV1History.d.mts +24 -0
  185. package/dist/esm/api/resources/agent/resources/v1/types/AgentV1History.mjs +2 -0
  186. package/dist/esm/api/resources/agent/resources/v1/types/AgentV1Settings.d.mts +2 -1
  187. package/dist/esm/api/resources/agent/resources/v1/types/index.d.mts +1 -0
  188. package/dist/esm/api/resources/agent/resources/v1/types/index.mjs +1 -0
  189. package/dist/esm/api/resources/auth/resources/v1/resources/tokens/client/Client.mjs +1 -1
  190. package/dist/esm/api/resources/index.d.mts +1 -0
  191. package/dist/esm/api/resources/index.mjs +1 -0
  192. package/dist/esm/api/resources/listen/resources/v1/client/Client.d.mts +2 -0
  193. package/dist/esm/api/resources/listen/resources/v1/client/Client.mjs +5 -5
  194. package/dist/esm/api/resources/listen/resources/v1/client/Socket.d.mts +3 -3
  195. package/dist/esm/api/resources/listen/resources/v1/client/Socket.mjs +2 -2
  196. package/dist/esm/api/resources/listen/resources/v1/exports.d.mts +1 -0
  197. package/dist/esm/api/resources/listen/resources/v1/exports.mjs +1 -0
  198. package/dist/esm/api/resources/listen/resources/v1/resources/media/client/Client.d.mts +1 -0
  199. package/dist/esm/api/resources/listen/resources/v1/resources/media/client/Client.mjs +11 -2
  200. package/dist/esm/api/resources/listen/resources/v1/resources/media/client/requests/ListenV1RequestUrl.d.mts +1 -0
  201. package/dist/esm/api/resources/listen/resources/v2/client/Client.d.mts +2 -0
  202. package/dist/esm/api/resources/listen/resources/v2/client/Client.mjs +5 -5
  203. package/dist/esm/api/resources/listen/resources/v2/client/Socket.d.mts +4 -4
  204. package/dist/esm/api/resources/listen/resources/v2/client/Socket.mjs +3 -3
  205. package/dist/esm/api/resources/listen/resources/v2/exports.d.mts +1 -0
  206. package/dist/esm/api/resources/listen/resources/v2/exports.mjs +1 -0
  207. package/dist/esm/api/resources/listen/resources/v2/types/ListenV2Configure.d.mts +6 -0
  208. package/dist/esm/api/resources/listen/resources/v2/types/ListenV2TurnInfo.d.mts +11 -0
  209. package/dist/esm/api/resources/manage/resources/v1/resources/models/client/Client.mjs +6 -2
  210. package/dist/esm/api/resources/manage/resources/v1/resources/projects/client/Client.mjs +9 -5
  211. package/dist/esm/api/resources/manage/resources/v1/resources/projects/resources/billing/resources/balances/client/Client.mjs +2 -2
  212. package/dist/esm/api/resources/manage/resources/v1/resources/projects/resources/billing/resources/breakdown/client/Client.d.mts +2 -1
  213. package/dist/esm/api/resources/manage/resources/v1/resources/projects/resources/billing/resources/breakdown/client/Client.mjs +7 -2
  214. package/dist/esm/api/resources/manage/resources/v1/resources/projects/resources/billing/resources/breakdown/client/requests/BreakdownListRequest.d.mts +2 -1
  215. package/dist/esm/api/resources/manage/resources/v1/resources/projects/resources/billing/resources/fields/client/Client.mjs +5 -1
  216. package/dist/esm/api/resources/manage/resources/v1/resources/projects/resources/billing/resources/purchases/client/Client.mjs +5 -1
  217. package/dist/esm/api/resources/manage/resources/v1/resources/projects/resources/keys/client/Client.mjs +8 -4
  218. package/dist/esm/api/resources/manage/resources/v1/resources/projects/resources/members/client/Client.mjs +2 -2
  219. package/dist/esm/api/resources/manage/resources/v1/resources/projects/resources/members/resources/invites/client/Client.mjs +3 -3
  220. package/dist/esm/api/resources/manage/resources/v1/resources/projects/resources/members/resources/scopes/client/Client.mjs +2 -2
  221. package/dist/esm/api/resources/manage/resources/v1/resources/projects/resources/models/client/Client.mjs +6 -2
  222. package/dist/esm/api/resources/manage/resources/v1/resources/projects/resources/requests/client/Client.mjs +6 -2
  223. package/dist/esm/api/resources/manage/resources/v1/resources/projects/resources/usage/client/Client.mjs +5 -1
  224. package/dist/esm/api/resources/manage/resources/v1/resources/projects/resources/usage/resources/breakdown/client/Client.mjs +5 -1
  225. package/dist/esm/api/resources/manage/resources/v1/resources/projects/resources/usage/resources/fields/client/Client.mjs +5 -1
  226. package/dist/esm/api/resources/read/resources/v1/resources/text/client/Client.mjs +5 -1
  227. package/dist/esm/api/resources/selfHosted/resources/v1/resources/distributionCredentials/client/Client.d.mts +1 -0
  228. package/dist/esm/api/resources/selfHosted/resources/v1/resources/distributionCredentials/client/Client.mjs +9 -4
  229. package/dist/esm/api/resources/selfHosted/resources/v1/resources/distributionCredentials/client/requests/CreateProjectDistributionCredentialsV1Request.d.mts +1 -0
  230. package/dist/esm/api/resources/speak/resources/v1/client/Client.d.mts +3 -0
  231. package/dist/esm/api/resources/speak/resources/v1/client/Client.mjs +6 -5
  232. package/dist/esm/api/resources/speak/resources/v1/client/Socket.d.mts +2 -2
  233. package/dist/esm/api/resources/speak/resources/v1/client/Socket.mjs +2 -2
  234. package/dist/esm/api/resources/speak/resources/v1/exports.d.mts +1 -0
  235. package/dist/esm/api/resources/speak/resources/v1/exports.mjs +1 -0
  236. package/dist/esm/api/resources/speak/resources/v1/resources/audio/client/Client.mjs +7 -2
  237. package/dist/esm/api/resources/speak/resources/v1/resources/audio/client/requests/SpeakV1Request.d.mts +2 -0
  238. package/dist/esm/api/resources/speak/resources/v1/types/SpeakV1Metadata.d.mts +2 -4
  239. package/dist/esm/api/resources/voiceAgent/client/Client.d.mts +15 -0
  240. package/dist/esm/api/resources/voiceAgent/client/Client.mjs +17 -0
  241. package/dist/esm/api/resources/voiceAgent/client/index.d.mts +1 -0
  242. package/dist/esm/api/resources/voiceAgent/client/index.mjs +1 -0
  243. package/dist/esm/api/resources/voiceAgent/exports.d.mts +3 -0
  244. package/dist/esm/api/resources/voiceAgent/exports.mjs +4 -0
  245. package/dist/esm/api/resources/voiceAgent/index.d.mts +2 -0
  246. package/dist/esm/api/resources/voiceAgent/index.mjs +2 -0
  247. package/dist/esm/api/resources/voiceAgent/resources/configurations/client/Client.d.mts +89 -0
  248. package/dist/esm/api/resources/voiceAgent/resources/configurations/client/Client.mjs +288 -0
  249. package/dist/esm/api/resources/voiceAgent/resources/configurations/client/index.d.mts +1 -0
  250. package/dist/esm/api/resources/voiceAgent/resources/configurations/client/index.mjs +1 -0
  251. package/dist/esm/api/resources/voiceAgent/resources/configurations/client/requests/CreateAgentConfigurationV1Request.d.mts +14 -0
  252. package/dist/esm/api/resources/voiceAgent/resources/configurations/client/requests/CreateAgentConfigurationV1Request.mjs +2 -0
  253. package/dist/esm/api/resources/voiceAgent/resources/configurations/client/requests/UpdateAgentMetadataV1Request.d.mts +12 -0
  254. package/dist/esm/api/resources/voiceAgent/resources/configurations/client/requests/UpdateAgentMetadataV1Request.mjs +2 -0
  255. package/dist/esm/api/resources/voiceAgent/resources/configurations/client/requests/index.d.mts +2 -0
  256. package/dist/esm/api/resources/voiceAgent/resources/configurations/client/requests/index.mjs +1 -0
  257. package/dist/esm/api/resources/voiceAgent/resources/configurations/exports.d.mts +2 -0
  258. package/dist/esm/api/resources/voiceAgent/resources/configurations/exports.mjs +3 -0
  259. package/dist/esm/api/resources/voiceAgent/resources/configurations/index.d.mts +1 -0
  260. package/dist/esm/api/resources/voiceAgent/resources/configurations/index.mjs +1 -0
  261. package/dist/esm/api/resources/voiceAgent/resources/index.d.mts +4 -0
  262. package/dist/esm/api/resources/voiceAgent/resources/index.mjs +4 -0
  263. package/dist/esm/api/resources/voiceAgent/resources/variables/client/Client.d.mts +92 -0
  264. package/dist/esm/api/resources/voiceAgent/resources/variables/client/Client.mjs +288 -0
  265. package/dist/esm/api/resources/voiceAgent/resources/variables/client/index.d.mts +1 -0
  266. package/dist/esm/api/resources/voiceAgent/resources/variables/client/index.mjs +1 -0
  267. package/dist/esm/api/resources/voiceAgent/resources/variables/client/requests/CreateAgentVariableV1Request.d.mts +16 -0
  268. package/dist/esm/api/resources/voiceAgent/resources/variables/client/requests/CreateAgentVariableV1Request.mjs +2 -0
  269. package/dist/esm/api/resources/voiceAgent/resources/variables/client/requests/UpdateAgentVariableV1Request.d.mts +11 -0
  270. package/dist/esm/api/resources/voiceAgent/resources/variables/client/requests/UpdateAgentVariableV1Request.mjs +2 -0
  271. package/dist/esm/api/resources/voiceAgent/resources/variables/client/requests/index.d.mts +2 -0
  272. package/dist/esm/api/resources/voiceAgent/resources/variables/client/requests/index.mjs +1 -0
  273. package/dist/esm/api/resources/voiceAgent/resources/variables/exports.d.mts +2 -0
  274. package/dist/esm/api/resources/voiceAgent/resources/variables/exports.mjs +3 -0
  275. package/dist/esm/api/resources/voiceAgent/resources/variables/index.d.mts +1 -0
  276. package/dist/esm/api/resources/voiceAgent/resources/variables/index.mjs +1 -0
  277. package/dist/esm/api/types/AgentConfigurationV1.d.mts +15 -0
  278. package/dist/esm/api/types/AgentConfigurationV1.mjs +2 -0
  279. package/dist/esm/api/types/AgentVariableV1.d.mts +14 -0
  280. package/dist/esm/api/types/AgentVariableV1.mjs +2 -0
  281. package/dist/esm/api/types/Cartesia.d.mts +2 -0
  282. package/dist/esm/api/types/CreateAgentConfigurationV1Response.d.mts +8 -0
  283. package/dist/esm/api/types/CreateAgentConfigurationV1Response.mjs +2 -0
  284. package/dist/esm/api/types/Deepgram.d.mts +2 -0
  285. package/dist/esm/api/types/DeleteAgentConfigurationV1Response.d.mts +4 -0
  286. package/dist/esm/api/types/DeleteAgentConfigurationV1Response.mjs +2 -0
  287. package/dist/esm/api/types/DeleteAgentVariableV1Response.d.mts +4 -0
  288. package/dist/esm/api/types/DeleteAgentVariableV1Response.mjs +2 -0
  289. package/dist/esm/api/types/ListAgentConfigurationsV1Response.d.mts +5 -0
  290. package/dist/esm/api/types/ListAgentConfigurationsV1Response.mjs +2 -0
  291. package/dist/esm/api/types/ListAgentVariablesV1Response.d.mts +5 -0
  292. package/dist/esm/api/types/ListAgentVariablesV1Response.mjs +2 -0
  293. package/dist/esm/api/types/ListenV1Callback.d.mts +3 -0
  294. package/dist/esm/api/types/ListenV1Channels.d.mts +3 -0
  295. package/dist/esm/api/types/ListenV1Endpointing.d.mts +3 -0
  296. package/dist/esm/api/types/ListenV1Extra.d.mts +3 -0
  297. package/dist/esm/api/types/ListenV1Keyterm.d.mts +3 -0
  298. package/dist/esm/api/types/ListenV1Keywords.d.mts +3 -0
  299. package/dist/esm/api/types/ListenV1Language.d.mts +3 -0
  300. package/dist/esm/api/types/ListenV1MipOptOut.d.mts +3 -0
  301. package/dist/esm/api/types/ListenV1Replace.d.mts +3 -0
  302. package/dist/esm/api/types/ListenV1SampleRate.d.mts +3 -0
  303. package/dist/esm/api/types/ListenV1Search.d.mts +3 -0
  304. package/dist/esm/api/types/ListenV1Tag.d.mts +3 -0
  305. package/dist/esm/api/types/ListenV1UtteranceEndMs.d.mts +3 -0
  306. package/dist/esm/api/types/ListenV1Version.d.mts +3 -0
  307. package/dist/esm/api/types/ListenV2EagerEotThreshold.d.mts +5 -0
  308. package/dist/esm/api/types/ListenV2EotThreshold.d.mts +4 -0
  309. package/dist/esm/api/types/ListenV2EotTimeoutMs.d.mts +4 -0
  310. package/dist/esm/api/types/ListenV2MipOptOut.d.mts +5 -0
  311. package/dist/esm/api/types/ListenV2Model.d.mts +6 -4
  312. package/dist/esm/api/types/ListenV2Model.mjs +5 -1
  313. package/dist/esm/api/types/ListenV2SampleRate.d.mts +3 -0
  314. package/dist/esm/api/types/ListenV2Tag.d.mts +4 -0
  315. package/dist/esm/api/types/SpeakV1MipOptOut.d.mts +3 -0
  316. package/dist/esm/api/types/SpeakV1Speed.d.mts +4 -0
  317. package/dist/esm/api/types/SpeakV1Speed.mjs +2 -0
  318. package/dist/esm/api/types/UsageBreakdownV1Response.d.mts +3 -4
  319. package/dist/esm/api/types/index.d.mts +8 -0
  320. package/dist/esm/api/types/index.mjs +8 -0
  321. package/dist/esm/core/auth/BasicAuth.d.mts +2 -2
  322. package/dist/esm/core/auth/BasicAuth.mjs +7 -1
  323. package/dist/esm/core/fetcher/BinaryResponse.d.mts +1 -1
  324. package/dist/esm/core/fetcher/Fetcher.d.mts +8 -0
  325. package/dist/esm/core/fetcher/Fetcher.mjs +13 -8
  326. package/dist/esm/core/fetcher/index.d.mts +2 -0
  327. package/dist/esm/core/fetcher/index.mjs +1 -0
  328. package/dist/esm/core/fetcher/makePassthroughRequest.d.mts +49 -0
  329. package/dist/esm/core/fetcher/makePassthroughRequest.mjs +132 -0
  330. package/dist/esm/core/file/file.mjs +3 -2
  331. package/dist/esm/core/url/QueryStringBuilder.d.mts +47 -0
  332. package/dist/esm/core/url/QueryStringBuilder.mjs +80 -0
  333. package/dist/esm/core/url/index.d.mts +1 -0
  334. package/dist/esm/core/url/index.mjs +1 -0
  335. package/dist/esm/core/url/qs.d.mts +2 -1
  336. package/dist/esm/core/url/qs.mjs +24 -12
  337. package/dist/esm/core/websocket/ws.d.mts +10 -1
  338. package/dist/esm/core/websocket/ws.mjs +19 -5
  339. package/dist/esm/errors/DeepgramError.d.mts +3 -1
  340. package/dist/esm/errors/DeepgramError.mjs +4 -1
  341. package/dist/esm/errors/DeepgramTimeoutError.d.mts +4 -1
  342. package/dist/esm/errors/DeepgramTimeoutError.mjs +4 -1
  343. package/dist/esm/errors/handleNonStatusCodeError.mjs +4 -1
  344. package/dist/esm/version.d.mts +1 -1
  345. package/dist/esm/version.mjs +1 -1
  346. package/package.json +540 -500
  347. package/reference.md +731 -1
  348. package/dist/cjs/api/resources/agent/resources/v1/types/AgentV1SettingsAgentSpeakEndpointProvider.d.ts +0 -201
  349. package/dist/cjs/api/resources/agent/resources/v1/types/AgentV1SettingsAgentSpeakEndpointProvider.js +0 -139
  350. package/dist/cjs/api/resources/agent/resources/v1/types/AgentV1SettingsAgentSpeakOneItemProvider.d.ts +0 -201
  351. package/dist/cjs/api/resources/agent/resources/v1/types/AgentV1SettingsAgentSpeakOneItemProvider.js +0 -139
  352. package/dist/cjs/api/resources/agent/resources/v1/types/AgentV1SettingsAgentThinkProvider.d.ts +0 -115
  353. package/dist/cjs/api/resources/agent/resources/v1/types/AgentV1SettingsAgentThinkProvider.js +0 -57
  354. package/dist/cjs/api/resources/agent/resources/v1/types/AgentV1UpdateSpeakSpeakProvider.d.ts +0 -201
  355. package/dist/cjs/api/resources/agent/resources/v1/types/AgentV1UpdateSpeakSpeakProvider.js +0 -139
  356. package/dist/cjs/api/types/OpenAi.d.ts +0 -27
  357. package/dist/cjs/api/types/OpenAi.js +0 -21
  358. package/dist/cjs/middleware/adapters/express.d.ts +0 -103
  359. package/dist/cjs/middleware/adapters/express.js +0 -141
  360. package/dist/cjs/middleware/adapters/fastify.d.ts +0 -32
  361. package/dist/cjs/middleware/adapters/fastify.js +0 -194
  362. package/dist/cjs/middleware/adapters/http.d.ts +0 -153
  363. package/dist/cjs/middleware/adapters/http.js +0 -192
  364. package/dist/cjs/middleware/core/ProxyHandler.d.ts +0 -35
  365. package/dist/cjs/middleware/core/ProxyHandler.js +0 -225
  366. package/dist/cjs/middleware/core/TokenManager.d.ts +0 -29
  367. package/dist/cjs/middleware/core/TokenManager.js +0 -110
  368. package/dist/cjs/middleware/core/WebSocketProxy.d.ts +0 -32
  369. package/dist/cjs/middleware/core/WebSocketProxy.js +0 -169
  370. package/dist/cjs/middleware/core/jwt.d.ts +0 -71
  371. package/dist/cjs/middleware/core/jwt.js +0 -136
  372. package/dist/cjs/middleware/core/types.d.ts +0 -37
  373. package/dist/cjs/middleware/index.d.ts +0 -55
  374. package/dist/cjs/middleware/index.js +0 -75
  375. package/dist/cjs/tests/manual/test-custom-baseurl.js +0 -124
  376. package/dist/esm/api/resources/agent/resources/v1/types/AgentV1SettingsAgentSpeakEndpointProvider.d.mts +0 -201
  377. package/dist/esm/api/resources/agent/resources/v1/types/AgentV1SettingsAgentSpeakEndpointProvider.mjs +0 -136
  378. package/dist/esm/api/resources/agent/resources/v1/types/AgentV1SettingsAgentSpeakOneItemProvider.d.mts +0 -201
  379. package/dist/esm/api/resources/agent/resources/v1/types/AgentV1SettingsAgentSpeakOneItemProvider.mjs +0 -136
  380. package/dist/esm/api/resources/agent/resources/v1/types/AgentV1SettingsAgentThinkProvider.d.mts +0 -115
  381. package/dist/esm/api/resources/agent/resources/v1/types/AgentV1SettingsAgentThinkProvider.mjs +0 -54
  382. package/dist/esm/api/resources/agent/resources/v1/types/AgentV1UpdateSpeakSpeakProvider.d.mts +0 -201
  383. package/dist/esm/api/resources/agent/resources/v1/types/AgentV1UpdateSpeakSpeakProvider.mjs +0 -136
  384. package/dist/esm/api/types/OpenAi.d.mts +0 -27
  385. package/dist/esm/api/types/OpenAi.mjs +0 -18
  386. package/dist/esm/middleware/adapters/express.d.mts +0 -103
  387. package/dist/esm/middleware/adapters/express.mjs +0 -136
  388. package/dist/esm/middleware/adapters/fastify.d.mts +0 -32
  389. package/dist/esm/middleware/adapters/fastify.mjs +0 -157
  390. package/dist/esm/middleware/adapters/http.d.mts +0 -153
  391. package/dist/esm/middleware/adapters/http.mjs +0 -187
  392. package/dist/esm/middleware/core/ProxyHandler.d.mts +0 -35
  393. package/dist/esm/middleware/core/ProxyHandler.mjs +0 -218
  394. package/dist/esm/middleware/core/TokenManager.d.mts +0 -29
  395. package/dist/esm/middleware/core/TokenManager.mjs +0 -106
  396. package/dist/esm/middleware/core/WebSocketProxy.d.mts +0 -32
  397. package/dist/esm/middleware/core/WebSocketProxy.mjs +0 -162
  398. package/dist/esm/middleware/core/jwt.d.mts +0 -71
  399. package/dist/esm/middleware/core/jwt.mjs +0 -99
  400. package/dist/esm/middleware/core/types.d.mts +0 -37
  401. package/dist/esm/middleware/index.d.mts +0 -55
  402. package/dist/esm/middleware/index.mjs +0 -59
  403. /package/dist/{esm/middleware/core/types.mjs → cjs/api/resources/voiceAgent/client/index.d.ts} +0 -0
  404. /package/dist/cjs/{middleware/core/types.js → api/resources/voiceAgent/client/index.js} +0 -0
@@ -1,169 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.WebSocketProxy = void 0;
16
- const node_url_1 = require("node:url");
17
- const ws_1 = __importDefault(require("ws"));
18
- const jwt_js_1 = require("./jwt.js");
19
- /**
20
- * Handles WebSocket proxying to Deepgram API
21
- */
22
- class WebSocketProxy {
23
- constructor(options) {
24
- var _a, _b;
25
- this.apiKey = options.apiKey;
26
- this.tokenMode = (_a = options.tokenMode) !== null && _a !== void 0 ? _a : "deepgram";
27
- // Convert HTTP(S) base URL to WebSocket URL
28
- this.baseUrl = ((_b = options.baseUrl) !== null && _b !== void 0 ? _b : "https://api.deepgram.com")
29
- .replace(/^https:/, "wss:")
30
- .replace(/^http:/, "ws:");
31
- }
32
- /**
33
- * Handle WebSocket upgrade request
34
- */
35
- handleUpgrade(req, socket, head) {
36
- this.handleUpgradeAsync(req, socket, head).catch((error) => {
37
- console.error("WebSocket upgrade error:", error);
38
- socket.destroy();
39
- });
40
- }
41
- /**
42
- * Async version of handleUpgrade to support JWT verification
43
- */
44
- handleUpgradeAsync(req, socket, head) {
45
- return __awaiter(this, void 0, void 0, function* () {
46
- try {
47
- // Build Deepgram WebSocket URL
48
- const targetUrl = this.buildWebSocketUrl(req);
49
- // Prepare headers (may verify JWT)
50
- const headers = yield this.prepareHeaders(req);
51
- // Connect to Deepgram WebSocket
52
- const deepgramSocket = new ws_1.default(targetUrl, { headers });
53
- // Handle connection open
54
- deepgramSocket.on("open", () => {
55
- // Complete the client upgrade
56
- socket.write("HTTP/1.1 101 Switching Protocols\r\n" +
57
- "Upgrade: websocket\r\n" +
58
- "Connection: Upgrade\r\n" +
59
- "\r\n");
60
- // Create client WebSocket
61
- const clientSocket = new ws_1.default(null, null);
62
- // eslint-disable-next-line @typescript-eslint/no-explicit-any -- WebSocket internals
63
- clientSocket.setSocket(socket, head, { maxPayload: 100 * 1024 * 1024 });
64
- // Forward messages bidirectionally
65
- this.forwardMessages(clientSocket, deepgramSocket);
66
- });
67
- // Handle connection errors
68
- deepgramSocket.on("error", (error) => {
69
- console.error("WebSocket proxy error (Deepgram):", error);
70
- socket.destroy();
71
- });
72
- }
73
- catch (error) {
74
- console.error("WebSocket upgrade error:", error);
75
- throw error;
76
- }
77
- });
78
- }
79
- /**
80
- * Build WebSocket URL for Deepgram
81
- */
82
- buildWebSocketUrl(req) {
83
- var _a;
84
- // Strip /api/deepgram prefix if present
85
- const cleanUrl = ((_a = req.url) !== null && _a !== void 0 ? _a : "/").replace(/^\/api\/deepgram/, "");
86
- const url = new node_url_1.URL(cleanUrl, this.baseUrl);
87
- return url.toString();
88
- }
89
- /**
90
- * Prepare headers for Deepgram WebSocket connection
91
- */
92
- prepareHeaders(req) {
93
- return __awaiter(this, void 0, void 0, function* () {
94
- const headers = {};
95
- // Copy relevant headers
96
- const allowedHeaders = [
97
- "user-agent",
98
- "x-fern-language",
99
- "x-fern-sdk-name",
100
- "x-fern-sdk-version",
101
- "x-deepgram-session-id",
102
- ];
103
- for (const header of allowedHeaders) {
104
- const value = req.headers[header];
105
- if (value) {
106
- headers[header] = Array.isArray(value) ? value[0] : value;
107
- }
108
- }
109
- // Authentication logic (similar to ProxyHandler)
110
- const clientAuth = req.headers.authorization;
111
- if (clientAuth && this.tokenMode === "jwt" && clientAuth.startsWith("Bearer ")) {
112
- const token = clientAuth.replace("Bearer ", "");
113
- console.log(`[WebSocketProxy] Client provided JWT token, verifying...`);
114
- try {
115
- yield (0, jwt_js_1.verifyProxyToken)(token, this.apiKey);
116
- console.log(`[WebSocketProxy] JWT verified successfully, using server API key`);
117
- headers.authorization = `Token ${this.apiKey}`;
118
- }
119
- catch (error) {
120
- console.error(`[WebSocketProxy] JWT verification failed:`, error);
121
- throw new Error("Invalid or expired token");
122
- }
123
- }
124
- else {
125
- // Use server API key
126
- headers.authorization = `Token ${this.apiKey}`;
127
- }
128
- return headers;
129
- });
130
- }
131
- /**
132
- * Forward WebSocket messages bidirectionally
133
- */
134
- forwardMessages(clientSocket, deepgramSocket) {
135
- // Forward client messages to Deepgram
136
- clientSocket.on("message", (data, isBinary) => {
137
- if (deepgramSocket.readyState === ws_1.default.OPEN) {
138
- deepgramSocket.send(data, { binary: isBinary });
139
- }
140
- });
141
- // Forward Deepgram messages to client
142
- deepgramSocket.on("message", (data, isBinary) => {
143
- if (clientSocket.readyState === ws_1.default.OPEN) {
144
- clientSocket.send(data, { binary: isBinary });
145
- }
146
- });
147
- // Handle closures
148
- clientSocket.on("close", (code, reason) => {
149
- if (deepgramSocket.readyState === ws_1.default.OPEN) {
150
- deepgramSocket.close(code, reason);
151
- }
152
- });
153
- deepgramSocket.on("close", (code, reason) => {
154
- if (clientSocket.readyState === ws_1.default.OPEN) {
155
- clientSocket.close(code, reason);
156
- }
157
- });
158
- // Handle errors
159
- clientSocket.on("error", (error) => {
160
- console.error("WebSocket error (client):", error);
161
- deepgramSocket.close();
162
- });
163
- deepgramSocket.on("error", (error) => {
164
- console.error("WebSocket error (Deepgram):", error);
165
- clientSocket.close();
166
- });
167
- }
168
- }
169
- exports.WebSocketProxy = WebSocketProxy;
@@ -1,71 +0,0 @@
1
- /**
2
- * Options for creating a proxy token
3
- */
4
- export interface ProxyTokenOptions {
5
- /** Optional user or session identifier */
6
- identity?: string;
7
- /** Token time-to-live (e.g., "1h", "30m", 3600). Defaults to "1h" */
8
- ttl?: string | number;
9
- /** Optional scopes/permissions for the token */
10
- scopes?: string[];
11
- /** Optional custom metadata to include in token */
12
- metadata?: Record<string, unknown>;
13
- }
14
- /**
15
- * Decoded proxy token payload
16
- */
17
- export interface ProxyTokenPayload {
18
- /** Issuer - the project ID extracted from API key */
19
- iss: string;
20
- /** Subject - optional user/session identifier */
21
- sub?: string;
22
- /** Issued at timestamp */
23
- iat: number;
24
- /** Expiration timestamp */
25
- exp: number;
26
- /** Not before timestamp */
27
- nbf: number;
28
- /** Optional scopes/permissions */
29
- scopes?: string[];
30
- /** Optional custom metadata */
31
- metadata?: Record<string, unknown>;
32
- }
33
- /**
34
- * Creates a proxy token signed with the Deepgram API key.
35
- * This token should be generated on the backend and sent to browser clients.
36
- * The browser uses this token to connect to the proxy middleware.
37
- *
38
- * @param apiKey - Deepgram API key (used as signing secret)
39
- * @param options - Token configuration options
40
- * @returns JWT token string
41
- *
42
- * @example
43
- * ```typescript
44
- * const token = await createProxyToken(process.env.DEEPGRAM_API_KEY, {
45
- * identity: 'user-123',
46
- * ttl: '1h',
47
- * scopes: ['listen', 'speak']
48
- * });
49
- * ```
50
- */
51
- export declare function createProxyToken(apiKey: string, options?: ProxyTokenOptions): Promise<string>;
52
- /**
53
- * Verifies a proxy token and returns the decoded payload.
54
- * This should be called by the proxy middleware to validate tokens from clients.
55
- *
56
- * @param token - JWT token to verify
57
- * @param apiKey - Deepgram API key (used to verify signature)
58
- * @returns Decoded token payload
59
- * @throws Error if token is invalid, expired, or signature doesn't match
60
- *
61
- * @example
62
- * ```typescript
63
- * try {
64
- * const payload = await verifyProxyToken(token, process.env.DEEPGRAM_API_KEY);
65
- * console.log('Valid token for user:', payload.sub);
66
- * } catch (error) {
67
- * console.error('Invalid token:', error);
68
- * }
69
- * ```
70
- */
71
- export declare function verifyProxyToken(token: string, apiKey: string): Promise<ProxyTokenPayload>;
@@ -1,136 +0,0 @@
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
- }
@@ -1,37 +0,0 @@
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
- }
@@ -1,55 +0,0 @@
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";
@@ -1,75 +0,0 @@
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; } });
@@ -1,124 +0,0 @@
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
- })();