phonic 0.30.3 → 0.30.4

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 (387) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/Client.js +2 -2
  3. package/dist/cjs/version.d.ts +1 -1
  4. package/dist/cjs/version.js +1 -1
  5. package/dist/esm/Client.d.mts +50 -0
  6. package/dist/esm/Client.mjs +47 -0
  7. package/dist/esm/api/errors/BadRequestError.d.mts +8 -0
  8. package/dist/esm/api/errors/BadRequestError.mjs +15 -0
  9. package/dist/esm/api/errors/ConflictError.d.mts +8 -0
  10. package/dist/esm/api/errors/ConflictError.mjs +15 -0
  11. package/dist/esm/api/errors/ForbiddenError.d.mts +8 -0
  12. package/dist/esm/api/errors/ForbiddenError.mjs +15 -0
  13. package/dist/esm/api/errors/GatewayTimeoutError.d.mts +9 -0
  14. package/dist/esm/api/errors/GatewayTimeoutError.mjs +15 -0
  15. package/dist/esm/api/errors/InternalServerError.d.mts +9 -0
  16. package/dist/esm/api/errors/InternalServerError.mjs +15 -0
  17. package/dist/esm/api/errors/NotFoundError.d.mts +8 -0
  18. package/dist/esm/api/errors/NotFoundError.mjs +15 -0
  19. package/dist/esm/api/errors/UnauthorizedError.d.mts +9 -0
  20. package/dist/esm/api/errors/UnauthorizedError.mjs +15 -0
  21. package/dist/esm/api/errors/index.d.mts +7 -0
  22. package/dist/esm/api/errors/index.mjs +7 -0
  23. package/dist/esm/api/index.d.mts +4 -0
  24. package/dist/esm/api/index.mjs +4 -0
  25. package/dist/esm/api/resources/agents/client/Client.d.mts +208 -0
  26. package/dist/esm/api/resources/agents/client/Client.mjs +558 -0
  27. package/dist/esm/api/resources/agents/client/index.d.mts +2 -0
  28. package/dist/esm/api/resources/agents/client/index.mjs +1 -0
  29. package/dist/esm/api/resources/agents/client/requests/AgentsCreateRequest.d.mts +41 -0
  30. package/dist/esm/api/resources/agents/client/requests/AgentsCreateRequest.mjs +4 -0
  31. package/dist/esm/api/resources/agents/client/requests/AgentsDeleteRequest.d.mts +13 -0
  32. package/dist/esm/api/resources/agents/client/requests/AgentsDeleteRequest.mjs +4 -0
  33. package/dist/esm/api/resources/agents/client/requests/AgentsGetRequest.d.mts +13 -0
  34. package/dist/esm/api/resources/agents/client/requests/AgentsGetRequest.mjs +4 -0
  35. package/dist/esm/api/resources/agents/client/requests/AgentsListRequest.d.mts +11 -0
  36. package/dist/esm/api/resources/agents/client/requests/AgentsListRequest.mjs +4 -0
  37. package/dist/esm/api/resources/agents/client/requests/UpdateAgentRequest.d.mts +102 -0
  38. package/dist/esm/api/resources/agents/client/requests/UpdateAgentRequest.mjs +10 -0
  39. package/dist/esm/api/resources/agents/client/requests/UpsertAgentRequest.d.mts +38 -0
  40. package/dist/esm/api/resources/agents/client/requests/UpsertAgentRequest.mjs +4 -0
  41. package/dist/esm/api/resources/agents/client/requests/index.d.mts +6 -0
  42. package/dist/esm/api/resources/agents/client/requests/index.mjs +1 -0
  43. package/dist/esm/api/resources/agents/index.d.mts +2 -0
  44. package/dist/esm/api/resources/agents/index.mjs +2 -0
  45. package/dist/esm/api/resources/agents/types/AgentsCreateResponse.d.mts +9 -0
  46. package/dist/esm/api/resources/agents/types/AgentsCreateResponse.mjs +4 -0
  47. package/dist/esm/api/resources/agents/types/AgentsDeleteResponse.d.mts +7 -0
  48. package/dist/esm/api/resources/agents/types/AgentsDeleteResponse.mjs +4 -0
  49. package/dist/esm/api/resources/agents/types/AgentsGetResponse.d.mts +7 -0
  50. package/dist/esm/api/resources/agents/types/AgentsGetResponse.mjs +4 -0
  51. package/dist/esm/api/resources/agents/types/AgentsListResponse.d.mts +7 -0
  52. package/dist/esm/api/resources/agents/types/AgentsListResponse.mjs +4 -0
  53. package/dist/esm/api/resources/agents/types/AgentsUpdateResponse.d.mts +7 -0
  54. package/dist/esm/api/resources/agents/types/AgentsUpdateResponse.mjs +4 -0
  55. package/dist/esm/api/resources/agents/types/AgentsUpsertResponse.d.mts +11 -0
  56. package/dist/esm/api/resources/agents/types/AgentsUpsertResponse.mjs +4 -0
  57. package/dist/esm/api/resources/agents/types/index.d.mts +6 -0
  58. package/dist/esm/api/resources/agents/types/index.mjs +6 -0
  59. package/dist/esm/api/resources/conversations/client/Client.d.mts +236 -0
  60. package/dist/esm/api/resources/conversations/client/Client.mjs +858 -0
  61. package/dist/esm/api/resources/conversations/client/Socket.d.mts +64 -0
  62. package/dist/esm/api/resources/conversations/client/Socket.mjs +159 -0
  63. package/dist/esm/api/resources/conversations/client/index.d.mts +2 -0
  64. package/dist/esm/api/resources/conversations/client/index.mjs +1 -0
  65. package/dist/esm/api/resources/conversations/client/requests/ConversationsListRequest.d.mts +30 -0
  66. package/dist/esm/api/resources/conversations/client/requests/ConversationsListRequest.mjs +4 -0
  67. package/dist/esm/api/resources/conversations/client/requests/ConversationsSipOutboundCallRequest.d.mts +29 -0
  68. package/dist/esm/api/resources/conversations/client/requests/ConversationsSipOutboundCallRequest.mjs +4 -0
  69. package/dist/esm/api/resources/conversations/client/requests/EvaluateConversationRequest.d.mts +13 -0
  70. package/dist/esm/api/resources/conversations/client/requests/EvaluateConversationRequest.mjs +4 -0
  71. package/dist/esm/api/resources/conversations/client/requests/ExtractDataRequest.d.mts +13 -0
  72. package/dist/esm/api/resources/conversations/client/requests/ExtractDataRequest.mjs +4 -0
  73. package/dist/esm/api/resources/conversations/client/requests/OutboundCallRequest.d.mts +30 -0
  74. package/dist/esm/api/resources/conversations/client/requests/OutboundCallRequest.mjs +4 -0
  75. package/dist/esm/api/resources/conversations/client/requests/index.d.mts +5 -0
  76. package/dist/esm/api/resources/conversations/client/requests/index.mjs +1 -0
  77. package/dist/esm/api/resources/conversations/index.d.mts +2 -0
  78. package/dist/esm/api/resources/conversations/index.mjs +2 -0
  79. package/dist/esm/api/resources/conversations/types/ConversationsCancelResponse.d.mts +7 -0
  80. package/dist/esm/api/resources/conversations/types/ConversationsCancelResponse.mjs +4 -0
  81. package/dist/esm/api/resources/conversations/types/ConversationsExtractDataResponse.d.mts +7 -0
  82. package/dist/esm/api/resources/conversations/types/ConversationsExtractDataResponse.mjs +4 -0
  83. package/dist/esm/api/resources/conversations/types/ConversationsGetAnalysisResponse.d.mts +7 -0
  84. package/dist/esm/api/resources/conversations/types/ConversationsGetAnalysisResponse.mjs +4 -0
  85. package/dist/esm/api/resources/conversations/types/ConversationsGetResponse.d.mts +7 -0
  86. package/dist/esm/api/resources/conversations/types/ConversationsGetResponse.mjs +4 -0
  87. package/dist/esm/api/resources/conversations/types/ConversationsListEvaluationsResponse.d.mts +7 -0
  88. package/dist/esm/api/resources/conversations/types/ConversationsListEvaluationsResponse.mjs +4 -0
  89. package/dist/esm/api/resources/conversations/types/ConversationsListExtractionsResponse.d.mts +7 -0
  90. package/dist/esm/api/resources/conversations/types/ConversationsListExtractionsResponse.mjs +4 -0
  91. package/dist/esm/api/resources/conversations/types/ConversationsListResponse.d.mts +9 -0
  92. package/dist/esm/api/resources/conversations/types/ConversationsListResponse.mjs +4 -0
  93. package/dist/esm/api/resources/conversations/types/ConversationsOutboundCallResponse.d.mts +7 -0
  94. package/dist/esm/api/resources/conversations/types/ConversationsOutboundCallResponse.mjs +4 -0
  95. package/dist/esm/api/resources/conversations/types/ConversationsSipOutboundCallResponse.d.mts +7 -0
  96. package/dist/esm/api/resources/conversations/types/ConversationsSipOutboundCallResponse.mjs +4 -0
  97. package/dist/esm/api/resources/conversations/types/index.d.mts +9 -0
  98. package/dist/esm/api/resources/conversations/types/index.mjs +9 -0
  99. package/dist/esm/api/resources/extractionSchemas/client/Client.d.mts +142 -0
  100. package/dist/esm/api/resources/extractionSchemas/client/Client.mjs +436 -0
  101. package/dist/esm/api/resources/extractionSchemas/client/index.d.mts +2 -0
  102. package/dist/esm/api/resources/extractionSchemas/client/index.mjs +1 -0
  103. package/dist/esm/api/resources/extractionSchemas/client/requests/CreateExtractionSchemaRequest.d.mts +35 -0
  104. package/dist/esm/api/resources/extractionSchemas/client/requests/CreateExtractionSchemaRequest.mjs +4 -0
  105. package/dist/esm/api/resources/extractionSchemas/client/requests/ExtractionSchemasDeleteRequest.d.mts +13 -0
  106. package/dist/esm/api/resources/extractionSchemas/client/requests/ExtractionSchemasDeleteRequest.mjs +4 -0
  107. package/dist/esm/api/resources/extractionSchemas/client/requests/ExtractionSchemasGetRequest.d.mts +13 -0
  108. package/dist/esm/api/resources/extractionSchemas/client/requests/ExtractionSchemasGetRequest.mjs +4 -0
  109. package/dist/esm/api/resources/extractionSchemas/client/requests/ExtractionSchemasListRequest.d.mts +13 -0
  110. package/dist/esm/api/resources/extractionSchemas/client/requests/ExtractionSchemasListRequest.mjs +4 -0
  111. package/dist/esm/api/resources/extractionSchemas/client/requests/UpdateExtractionSchemaRequest.d.mts +31 -0
  112. package/dist/esm/api/resources/extractionSchemas/client/requests/UpdateExtractionSchemaRequest.mjs +4 -0
  113. package/dist/esm/api/resources/extractionSchemas/client/requests/index.d.mts +5 -0
  114. package/dist/esm/api/resources/extractionSchemas/client/requests/index.mjs +1 -0
  115. package/dist/esm/api/resources/extractionSchemas/index.d.mts +2 -0
  116. package/dist/esm/api/resources/extractionSchemas/index.mjs +2 -0
  117. package/dist/esm/api/resources/extractionSchemas/types/ExtractionSchemasCreateResponse.d.mts +9 -0
  118. package/dist/esm/api/resources/extractionSchemas/types/ExtractionSchemasCreateResponse.mjs +4 -0
  119. package/dist/esm/api/resources/extractionSchemas/types/ExtractionSchemasDeleteResponse.d.mts +7 -0
  120. package/dist/esm/api/resources/extractionSchemas/types/ExtractionSchemasDeleteResponse.mjs +4 -0
  121. package/dist/esm/api/resources/extractionSchemas/types/ExtractionSchemasGetResponse.d.mts +7 -0
  122. package/dist/esm/api/resources/extractionSchemas/types/ExtractionSchemasGetResponse.mjs +4 -0
  123. package/dist/esm/api/resources/extractionSchemas/types/ExtractionSchemasListResponse.d.mts +7 -0
  124. package/dist/esm/api/resources/extractionSchemas/types/ExtractionSchemasListResponse.mjs +4 -0
  125. package/dist/esm/api/resources/extractionSchemas/types/ExtractionSchemasUpdateResponse.d.mts +7 -0
  126. package/dist/esm/api/resources/extractionSchemas/types/ExtractionSchemasUpdateResponse.mjs +4 -0
  127. package/dist/esm/api/resources/extractionSchemas/types/index.d.mts +5 -0
  128. package/dist/esm/api/resources/extractionSchemas/types/index.mjs +5 -0
  129. package/dist/esm/api/resources/index.d.mts +18 -0
  130. package/dist/esm/api/resources/index.mjs +18 -0
  131. package/dist/esm/api/resources/projects/client/Client.d.mts +157 -0
  132. package/dist/esm/api/resources/projects/client/Client.mjs +547 -0
  133. package/dist/esm/api/resources/projects/client/index.d.mts +2 -0
  134. package/dist/esm/api/resources/projects/client/index.mjs +1 -0
  135. package/dist/esm/api/resources/projects/client/requests/CreateConversationEvalPromptRequest.d.mts +16 -0
  136. package/dist/esm/api/resources/projects/client/requests/CreateConversationEvalPromptRequest.mjs +4 -0
  137. package/dist/esm/api/resources/projects/client/requests/CreateProjectRequest.d.mts +13 -0
  138. package/dist/esm/api/resources/projects/client/requests/CreateProjectRequest.mjs +4 -0
  139. package/dist/esm/api/resources/projects/client/requests/UpdateProjectRequest.d.mts +15 -0
  140. package/dist/esm/api/resources/projects/client/requests/UpdateProjectRequest.mjs +4 -0
  141. package/dist/esm/api/resources/projects/client/requests/index.d.mts +3 -0
  142. package/dist/esm/api/resources/projects/client/requests/index.mjs +1 -0
  143. package/dist/esm/api/resources/projects/index.d.mts +2 -0
  144. package/dist/esm/api/resources/projects/index.mjs +2 -0
  145. package/dist/esm/api/resources/projects/types/ProjectsCreateEvalPromptResponse.d.mts +7 -0
  146. package/dist/esm/api/resources/projects/types/ProjectsCreateEvalPromptResponse.mjs +4 -0
  147. package/dist/esm/api/resources/projects/types/ProjectsCreateResponse.d.mts +9 -0
  148. package/dist/esm/api/resources/projects/types/ProjectsCreateResponse.mjs +4 -0
  149. package/dist/esm/api/resources/projects/types/ProjectsDeleteResponse.d.mts +7 -0
  150. package/dist/esm/api/resources/projects/types/ProjectsDeleteResponse.mjs +4 -0
  151. package/dist/esm/api/resources/projects/types/ProjectsGetResponse.d.mts +7 -0
  152. package/dist/esm/api/resources/projects/types/ProjectsGetResponse.mjs +4 -0
  153. package/dist/esm/api/resources/projects/types/ProjectsListEvalPromptsResponse.d.mts +7 -0
  154. package/dist/esm/api/resources/projects/types/ProjectsListEvalPromptsResponse.mjs +4 -0
  155. package/dist/esm/api/resources/projects/types/ProjectsListResponse.d.mts +7 -0
  156. package/dist/esm/api/resources/projects/types/ProjectsListResponse.mjs +4 -0
  157. package/dist/esm/api/resources/projects/types/ProjectsUpdateResponse.d.mts +7 -0
  158. package/dist/esm/api/resources/projects/types/ProjectsUpdateResponse.mjs +4 -0
  159. package/dist/esm/api/resources/projects/types/index.d.mts +7 -0
  160. package/dist/esm/api/resources/projects/types/index.mjs +7 -0
  161. package/dist/esm/api/resources/tools/client/Client.d.mts +170 -0
  162. package/dist/esm/api/resources/tools/client/Client.mjs +457 -0
  163. package/dist/esm/api/resources/tools/client/index.d.mts +2 -0
  164. package/dist/esm/api/resources/tools/client/index.mjs +1 -0
  165. package/dist/esm/api/resources/tools/client/requests/CreateToolRequest.d.mts +103 -0
  166. package/dist/esm/api/resources/tools/client/requests/CreateToolRequest.mjs +15 -0
  167. package/dist/esm/api/resources/tools/client/requests/ToolsDeleteRequest.d.mts +13 -0
  168. package/dist/esm/api/resources/tools/client/requests/ToolsDeleteRequest.mjs +4 -0
  169. package/dist/esm/api/resources/tools/client/requests/ToolsGetRequest.d.mts +23 -0
  170. package/dist/esm/api/resources/tools/client/requests/ToolsGetRequest.mjs +4 -0
  171. package/dist/esm/api/resources/tools/client/requests/ToolsListRequest.d.mts +13 -0
  172. package/dist/esm/api/resources/tools/client/requests/ToolsListRequest.mjs +4 -0
  173. package/dist/esm/api/resources/tools/client/requests/UpdateToolRequest.d.mts +55 -0
  174. package/dist/esm/api/resources/tools/client/requests/UpdateToolRequest.mjs +15 -0
  175. package/dist/esm/api/resources/tools/client/requests/index.d.mts +5 -0
  176. package/dist/esm/api/resources/tools/client/requests/index.mjs +1 -0
  177. package/dist/esm/api/resources/tools/index.d.mts +2 -0
  178. package/dist/esm/api/resources/tools/index.mjs +2 -0
  179. package/dist/esm/api/resources/tools/types/ToolsCreateResponse.d.mts +9 -0
  180. package/dist/esm/api/resources/tools/types/ToolsCreateResponse.mjs +4 -0
  181. package/dist/esm/api/resources/tools/types/ToolsDeleteResponse.d.mts +7 -0
  182. package/dist/esm/api/resources/tools/types/ToolsDeleteResponse.mjs +4 -0
  183. package/dist/esm/api/resources/tools/types/ToolsGetResponse.d.mts +7 -0
  184. package/dist/esm/api/resources/tools/types/ToolsGetResponse.mjs +4 -0
  185. package/dist/esm/api/resources/tools/types/ToolsListResponse.d.mts +7 -0
  186. package/dist/esm/api/resources/tools/types/ToolsListResponse.mjs +4 -0
  187. package/dist/esm/api/resources/tools/types/ToolsUpdateResponse.d.mts +7 -0
  188. package/dist/esm/api/resources/tools/types/ToolsUpdateResponse.mjs +4 -0
  189. package/dist/esm/api/resources/tools/types/index.d.mts +5 -0
  190. package/dist/esm/api/resources/tools/types/index.mjs +5 -0
  191. package/dist/esm/api/resources/voices/client/Client.d.mts +65 -0
  192. package/dist/esm/api/resources/voices/client/Client.mjs +168 -0
  193. package/dist/esm/api/resources/voices/client/index.d.mts +2 -0
  194. package/dist/esm/api/resources/voices/client/index.mjs +1 -0
  195. package/dist/esm/api/resources/voices/client/requests/VoicesListRequest.d.mts +13 -0
  196. package/dist/esm/api/resources/voices/client/requests/VoicesListRequest.mjs +4 -0
  197. package/dist/esm/api/resources/voices/client/requests/index.d.mts +1 -0
  198. package/dist/esm/api/resources/voices/client/requests/index.mjs +1 -0
  199. package/dist/esm/api/resources/voices/index.d.mts +2 -0
  200. package/dist/esm/api/resources/voices/index.mjs +2 -0
  201. package/dist/esm/api/resources/voices/types/VoicesGetResponse.d.mts +7 -0
  202. package/dist/esm/api/resources/voices/types/VoicesGetResponse.mjs +4 -0
  203. package/dist/esm/api/resources/voices/types/VoicesListResponse.d.mts +7 -0
  204. package/dist/esm/api/resources/voices/types/VoicesListResponse.mjs +4 -0
  205. package/dist/esm/api/resources/voices/types/index.d.mts +2 -0
  206. package/dist/esm/api/resources/voices/types/index.mjs +2 -0
  207. package/dist/esm/api/types/Agent.d.mts +80 -0
  208. package/dist/esm/api/types/Agent.mjs +10 -0
  209. package/dist/esm/api/types/AssistantChoseNotToRespondPayload.d.mts +6 -0
  210. package/dist/esm/api/types/AssistantChoseNotToRespondPayload.mjs +4 -0
  211. package/dist/esm/api/types/AssistantEndedConversationPayload.d.mts +6 -0
  212. package/dist/esm/api/types/AssistantEndedConversationPayload.mjs +4 -0
  213. package/dist/esm/api/types/AudioChunkPayload.d.mts +10 -0
  214. package/dist/esm/api/types/AudioChunkPayload.mjs +4 -0
  215. package/dist/esm/api/types/AudioChunkResponsePayload.d.mts +10 -0
  216. package/dist/esm/api/types/AudioChunkResponsePayload.mjs +4 -0
  217. package/dist/esm/api/types/AudioFinishedPayload.d.mts +6 -0
  218. package/dist/esm/api/types/AudioFinishedPayload.mjs +4 -0
  219. package/dist/esm/api/types/BadRequestErrorBody.d.mts +5 -0
  220. package/dist/esm/api/types/BadRequestErrorBody.mjs +4 -0
  221. package/dist/esm/api/types/BasicError.d.mts +14 -0
  222. package/dist/esm/api/types/BasicError.mjs +4 -0
  223. package/dist/esm/api/types/ConfigPayload.d.mts +66 -0
  224. package/dist/esm/api/types/ConfigPayload.mjs +14 -0
  225. package/dist/esm/api/types/Conversation.d.mts +51 -0
  226. package/dist/esm/api/types/Conversation.mjs +4 -0
  227. package/dist/esm/api/types/ConversationAnalysis.d.mts +9 -0
  228. package/dist/esm/api/types/ConversationAnalysis.mjs +4 -0
  229. package/dist/esm/api/types/ConversationCreatedPayload.d.mts +8 -0
  230. package/dist/esm/api/types/ConversationCreatedPayload.mjs +4 -0
  231. package/dist/esm/api/types/ConversationEval.d.mts +4 -0
  232. package/dist/esm/api/types/ConversationEval.mjs +4 -0
  233. package/dist/esm/api/types/ConversationEvalPrompt.d.mts +11 -0
  234. package/dist/esm/api/types/ConversationEvalPrompt.mjs +4 -0
  235. package/dist/esm/api/types/ConversationEvaluation.d.mts +8 -0
  236. package/dist/esm/api/types/ConversationEvaluation.mjs +4 -0
  237. package/dist/esm/api/types/ConversationEvaluationResult.d.mts +32 -0
  238. package/dist/esm/api/types/ConversationEvaluationResult.mjs +12 -0
  239. package/dist/esm/api/types/ConversationExtraction.d.mts +22 -0
  240. package/dist/esm/api/types/ConversationExtraction.mjs +4 -0
  241. package/dist/esm/api/types/ConversationItem.d.mts +31 -0
  242. package/dist/esm/api/types/ConversationItem.mjs +10 -0
  243. package/dist/esm/api/types/CreateAgentRequest.d.mts +70 -0
  244. package/dist/esm/api/types/CreateAgentRequest.mjs +10 -0
  245. package/dist/esm/api/types/DtmfPayload.d.mts +8 -0
  246. package/dist/esm/api/types/DtmfPayload.mjs +4 -0
  247. package/dist/esm/api/types/ErrorPayload.d.mts +17 -0
  248. package/dist/esm/api/types/ErrorPayload.mjs +4 -0
  249. package/dist/esm/api/types/Error_.d.mts +5 -0
  250. package/dist/esm/api/types/Error_.mjs +4 -0
  251. package/dist/esm/api/types/ExtractionField.d.mts +23 -0
  252. package/dist/esm/api/types/ExtractionField.mjs +12 -0
  253. package/dist/esm/api/types/ExtractionSchema.d.mts +14 -0
  254. package/dist/esm/api/types/ExtractionSchema.mjs +4 -0
  255. package/dist/esm/api/types/InputCancelledPayload.d.mts +6 -0
  256. package/dist/esm/api/types/InputCancelledPayload.mjs +4 -0
  257. package/dist/esm/api/types/InputTextPayload.d.mts +8 -0
  258. package/dist/esm/api/types/InputTextPayload.mjs +4 -0
  259. package/dist/esm/api/types/InterruptedResponsePayload.d.mts +8 -0
  260. package/dist/esm/api/types/InterruptedResponsePayload.mjs +4 -0
  261. package/dist/esm/api/types/IsUserSpeakingPayload.d.mts +8 -0
  262. package/dist/esm/api/types/IsUserSpeakingPayload.mjs +4 -0
  263. package/dist/esm/api/types/OutboundCallConfig.d.mts +39 -0
  264. package/dist/esm/api/types/OutboundCallConfig.mjs +4 -0
  265. package/dist/esm/api/types/Project.d.mts +22 -0
  266. package/dist/esm/api/types/Project.mjs +4 -0
  267. package/dist/esm/api/types/ReadyToStartConversationPayload.d.mts +6 -0
  268. package/dist/esm/api/types/ReadyToStartConversationPayload.mjs +4 -0
  269. package/dist/esm/api/types/SetExternalIdPayload.d.mts +8 -0
  270. package/dist/esm/api/types/SetExternalIdPayload.mjs +4 -0
  271. package/dist/esm/api/types/SetTwilioCallSidPayload.d.mts +8 -0
  272. package/dist/esm/api/types/SetTwilioCallSidPayload.mjs +4 -0
  273. package/dist/esm/api/types/Task.d.mts +9 -0
  274. package/dist/esm/api/types/Task.mjs +4 -0
  275. package/dist/esm/api/types/Tool.d.mts +54 -0
  276. package/dist/esm/api/types/Tool.mjs +15 -0
  277. package/dist/esm/api/types/ToolCallInterruptedPayload.d.mts +12 -0
  278. package/dist/esm/api/types/ToolCallInterruptedPayload.mjs +4 -0
  279. package/dist/esm/api/types/ToolCallOutputPayload.d.mts +9 -0
  280. package/dist/esm/api/types/ToolCallOutputPayload.mjs +4 -0
  281. package/dist/esm/api/types/ToolCallOutputProcessedPayload.d.mts +35 -0
  282. package/dist/esm/api/types/ToolCallOutputProcessedPayload.mjs +4 -0
  283. package/dist/esm/api/types/ToolCallPayload.d.mts +12 -0
  284. package/dist/esm/api/types/ToolCallPayload.mjs +4 -0
  285. package/dist/esm/api/types/ToolParameter.d.mts +38 -0
  286. package/dist/esm/api/types/ToolParameter.mjs +19 -0
  287. package/dist/esm/api/types/UpdateSystemPromptPayload.d.mts +8 -0
  288. package/dist/esm/api/types/UpdateSystemPromptPayload.mjs +4 -0
  289. package/dist/esm/api/types/UserFinishedSpeakingPayload.d.mts +6 -0
  290. package/dist/esm/api/types/UserFinishedSpeakingPayload.mjs +4 -0
  291. package/dist/esm/api/types/UserStartedSpeakingPayload.d.mts +6 -0
  292. package/dist/esm/api/types/UserStartedSpeakingPayload.mjs +4 -0
  293. package/dist/esm/api/types/ValidationError.d.mts +14 -0
  294. package/dist/esm/api/types/ValidationError.mjs +4 -0
  295. package/dist/esm/api/types/Voice.d.mts +11 -0
  296. package/dist/esm/api/types/Voice.mjs +4 -0
  297. package/dist/esm/api/types/index.d.mts +45 -0
  298. package/dist/esm/api/types/index.mjs +45 -0
  299. package/dist/esm/api/types/overrides.d.mts +50 -0
  300. package/dist/esm/api/types/overrides.mjs +1 -0
  301. package/dist/esm/core/auth/AuthProvider.d.mts +4 -0
  302. package/dist/esm/core/auth/AuthProvider.mjs +1 -0
  303. package/dist/esm/core/auth/AuthRequest.d.mts +9 -0
  304. package/dist/esm/core/auth/AuthRequest.mjs +1 -0
  305. package/dist/esm/core/auth/BasicAuth.d.mts +8 -0
  306. package/dist/esm/core/auth/BasicAuth.mjs +23 -0
  307. package/dist/esm/core/auth/BearerToken.d.mts +5 -0
  308. package/dist/esm/core/auth/BearerToken.mjs +12 -0
  309. package/dist/esm/core/auth/index.d.mts +4 -0
  310. package/dist/esm/core/auth/index.mjs +2 -0
  311. package/dist/esm/core/base64.d.mts +2 -0
  312. package/dist/esm/core/base64.mjs +22 -0
  313. package/dist/esm/core/fetcher/APIResponse.d.mts +20 -0
  314. package/dist/esm/core/fetcher/APIResponse.mjs +1 -0
  315. package/dist/esm/core/fetcher/BinaryResponse.d.mts +20 -0
  316. package/dist/esm/core/fetcher/BinaryResponse.mjs +14 -0
  317. package/dist/esm/core/fetcher/Fetcher.d.mts +40 -0
  318. package/dist/esm/core/fetcher/Fetcher.mjs +116 -0
  319. package/dist/esm/core/fetcher/Headers.d.mts +2 -0
  320. package/dist/esm/core/fetcher/Headers.mjs +82 -0
  321. package/dist/esm/core/fetcher/HttpResponsePromise.d.mts +58 -0
  322. package/dist/esm/core/fetcher/HttpResponsePromise.mjs +99 -0
  323. package/dist/esm/core/fetcher/RawResponse.d.mts +29 -0
  324. package/dist/esm/core/fetcher/RawResponse.mjs +40 -0
  325. package/dist/esm/core/fetcher/ResponseWithBody.d.mts +4 -0
  326. package/dist/esm/core/fetcher/ResponseWithBody.mjs +3 -0
  327. package/dist/esm/core/fetcher/Supplier.d.mts +4 -0
  328. package/dist/esm/core/fetcher/Supplier.mjs +19 -0
  329. package/dist/esm/core/fetcher/createRequestUrl.d.mts +1 -0
  330. package/dist/esm/core/fetcher/createRequestUrl.mjs +5 -0
  331. package/dist/esm/core/fetcher/getErrorResponseBody.d.mts +1 -0
  332. package/dist/esm/core/fetcher/getErrorResponseBody.mjs +41 -0
  333. package/dist/esm/core/fetcher/getFetchFn.d.mts +1 -0
  334. package/dist/esm/core/fetcher/getFetchFn.mjs +14 -0
  335. package/dist/esm/core/fetcher/getHeader.d.mts +1 -0
  336. package/dist/esm/core/fetcher/getHeader.mjs +8 -0
  337. package/dist/esm/core/fetcher/getRequestBody.d.mts +7 -0
  338. package/dist/esm/core/fetcher/getRequestBody.mjs +20 -0
  339. package/dist/esm/core/fetcher/getResponseBody.d.mts +1 -0
  340. package/dist/esm/core/fetcher/getResponseBody.mjs +52 -0
  341. package/dist/esm/core/fetcher/index.d.mts +9 -0
  342. package/dist/esm/core/fetcher/index.mjs +5 -0
  343. package/dist/esm/core/fetcher/makeRequest.d.mts +1 -0
  344. package/dist/esm/core/fetcher/makeRequest.mjs +38 -0
  345. package/dist/esm/core/fetcher/requestWithRetries.d.mts +1 -0
  346. package/dist/esm/core/fetcher/requestWithRetries.mjs +37 -0
  347. package/dist/esm/core/fetcher/signals.d.mts +11 -0
  348. package/dist/esm/core/fetcher/signals.mjs +32 -0
  349. package/dist/esm/core/headers.d.mts +3 -0
  350. package/dist/esm/core/headers.mjs +25 -0
  351. package/dist/esm/core/index.d.mts +6 -0
  352. package/dist/esm/core/index.mjs +6 -0
  353. package/dist/esm/core/json.d.mts +15 -0
  354. package/dist/esm/core/json.mjs +19 -0
  355. package/dist/esm/core/runtime/index.d.mts +1 -0
  356. package/dist/esm/core/runtime/index.mjs +1 -0
  357. package/dist/esm/core/runtime/runtime.d.mts +9 -0
  358. package/dist/esm/core/runtime/runtime.mjs +99 -0
  359. package/dist/esm/core/url/index.d.mts +2 -0
  360. package/dist/esm/core/url/index.mjs +2 -0
  361. package/dist/esm/core/url/join.d.mts +1 -0
  362. package/dist/esm/core/url/join.mjs +66 -0
  363. package/dist/esm/core/url/qs.d.mts +6 -0
  364. package/dist/esm/core/url/qs.mjs +61 -0
  365. package/dist/esm/core/websocket/events.d.mts +36 -0
  366. package/dist/esm/core/websocket/events.mjs +21 -0
  367. package/dist/esm/core/websocket/index.d.mts +1 -0
  368. package/dist/esm/core/websocket/index.mjs +1 -0
  369. package/dist/esm/core/websocket/ws.d.mts +147 -0
  370. package/dist/esm/core/websocket/ws.mjs +423 -0
  371. package/dist/esm/environments.d.mts +14 -0
  372. package/dist/esm/environments.mjs +9 -0
  373. package/dist/esm/errors/PhonicError.d.mts +15 -0
  374. package/dist/esm/errors/PhonicError.mjs +26 -0
  375. package/dist/esm/errors/PhonicTimeoutError.d.mts +6 -0
  376. package/dist/esm/errors/PhonicTimeoutError.mjs +9 -0
  377. package/dist/esm/errors/index.d.mts +2 -0
  378. package/dist/esm/errors/index.mjs +2 -0
  379. package/dist/esm/index.d.mts +4 -0
  380. package/dist/esm/index.mjs +4 -0
  381. package/dist/esm/version.d.mts +1 -0
  382. package/dist/esm/version.mjs +1 -0
  383. package/package.json +1 -1
  384. package/dist/index.d.mts +0 -640
  385. package/dist/index.d.ts +0 -640
  386. package/dist/index.js +0 -628
  387. package/dist/index.mjs +0 -591
@@ -0,0 +1,858 @@
1
+ /**
2
+ * This file was auto-generated by Fern from our API Definition.
3
+ */
4
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
5
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
6
+ return new (P || (P = Promise))(function (resolve, reject) {
7
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
8
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
9
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
10
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
11
+ });
12
+ };
13
+ var __rest = (this && this.__rest) || function (s, e) {
14
+ var t = {};
15
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
16
+ t[p] = s[p];
17
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
18
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
19
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
20
+ t[p[i]] = s[p[i]];
21
+ }
22
+ return t;
23
+ };
24
+ import * as environments from "../../../../environments.mjs";
25
+ import * as core from "../../../../core/index.mjs";
26
+ import * as Phonic from "../../../index.mjs";
27
+ import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../core/headers.mjs";
28
+ import * as errors from "../../../../errors/index.mjs";
29
+ import { ConversationsSocket } from "./Socket.mjs";
30
+ export class Conversations {
31
+ constructor(_options = {}) {
32
+ this._options = _options;
33
+ }
34
+ /**
35
+ * Returns conversations with optional filtering.
36
+ *
37
+ * @param {Phonic.ConversationsListRequest} request
38
+ * @param {Conversations.RequestOptions} requestOptions - Request-specific configuration.
39
+ *
40
+ * @throws {@link Phonic.BadRequestError}
41
+ * @throws {@link Phonic.UnauthorizedError}
42
+ * @throws {@link Phonic.ForbiddenError}
43
+ * @throws {@link Phonic.NotFoundError}
44
+ * @throws {@link Phonic.InternalServerError}
45
+ *
46
+ * @example
47
+ * await client.conversations.list()
48
+ */
49
+ list(request = {}, requestOptions) {
50
+ return core.HttpResponsePromise.fromPromise(this.__list(request, requestOptions));
51
+ }
52
+ __list() {
53
+ return __awaiter(this, arguments, void 0, function* (request = {}, requestOptions) {
54
+ var _a, _b, _c, _d;
55
+ const { project, external_id: externalId, duration_min: durationMin, duration_max: durationMax, started_at_min: startedAtMin, started_at_max: startedAtMax, before, after, limit, } = request;
56
+ const _queryParams = {};
57
+ if (project != null) {
58
+ _queryParams["project"] = project;
59
+ }
60
+ if (externalId != null) {
61
+ _queryParams["external_id"] = externalId;
62
+ }
63
+ if (durationMin != null) {
64
+ _queryParams["duration_min"] = durationMin.toString();
65
+ }
66
+ if (durationMax != null) {
67
+ _queryParams["duration_max"] = durationMax.toString();
68
+ }
69
+ if (startedAtMin != null) {
70
+ _queryParams["started_at_min"] = startedAtMin;
71
+ }
72
+ if (startedAtMax != null) {
73
+ _queryParams["started_at_max"] = startedAtMax;
74
+ }
75
+ if (before != null) {
76
+ _queryParams["before"] = before;
77
+ }
78
+ if (after != null) {
79
+ _queryParams["after"] = after;
80
+ }
81
+ if (limit != null) {
82
+ _queryParams["limit"] = limit.toString();
83
+ }
84
+ const _response = yield ((_a = this._options.fetcher) !== null && _a !== void 0 ? _a : core.fetcher)({
85
+ url: core.url.join((_b = (yield core.Supplier.get(this._options.baseUrl))) !== null && _b !== void 0 ? _b : ((_c = (yield core.Supplier.get(this._options.environment))) !== null && _c !== void 0 ? _c : environments.PhonicEnvironment.Default)
86
+ .base, "conversations"),
87
+ method: "GET",
88
+ headers: mergeHeaders((_d = this._options) === null || _d === void 0 ? void 0 : _d.headers, mergeOnlyDefinedHeaders({ Authorization: yield this._getAuthorizationHeader() }), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers),
89
+ queryParameters: Object.assign(Object.assign({}, _queryParams), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams),
90
+ timeoutMs: (requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) != null ? requestOptions.timeoutInSeconds * 1000 : 60000,
91
+ maxRetries: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries,
92
+ abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,
93
+ });
94
+ if (_response.ok) {
95
+ return { data: _response.body, rawResponse: _response.rawResponse };
96
+ }
97
+ if (_response.error.reason === "status-code") {
98
+ switch (_response.error.statusCode) {
99
+ case 400:
100
+ throw new Phonic.BadRequestError(_response.error.body, _response.rawResponse);
101
+ case 401:
102
+ throw new Phonic.UnauthorizedError(_response.error.body, _response.rawResponse);
103
+ case 403:
104
+ throw new Phonic.ForbiddenError(_response.error.body, _response.rawResponse);
105
+ case 404:
106
+ throw new Phonic.NotFoundError(_response.error.body, _response.rawResponse);
107
+ case 500:
108
+ throw new Phonic.InternalServerError(_response.error.body, _response.rawResponse);
109
+ default:
110
+ throw new errors.PhonicError({
111
+ statusCode: _response.error.statusCode,
112
+ body: _response.error.body,
113
+ rawResponse: _response.rawResponse,
114
+ });
115
+ }
116
+ }
117
+ switch (_response.error.reason) {
118
+ case "non-json":
119
+ throw new errors.PhonicError({
120
+ statusCode: _response.error.statusCode,
121
+ body: _response.error.rawBody,
122
+ rawResponse: _response.rawResponse,
123
+ });
124
+ case "timeout":
125
+ throw new errors.PhonicTimeoutError("Timeout exceeded when calling GET /conversations.");
126
+ case "unknown":
127
+ throw new errors.PhonicError({
128
+ message: _response.error.errorMessage,
129
+ rawResponse: _response.rawResponse,
130
+ });
131
+ }
132
+ });
133
+ }
134
+ /**
135
+ * Returns a conversation by ID.
136
+ *
137
+ * @param {string} id - The ID of the conversation to get.
138
+ * @param {Conversations.RequestOptions} requestOptions - Request-specific configuration.
139
+ *
140
+ * @throws {@link Phonic.UnauthorizedError}
141
+ * @throws {@link Phonic.ForbiddenError}
142
+ * @throws {@link Phonic.NotFoundError}
143
+ * @throws {@link Phonic.InternalServerError}
144
+ *
145
+ * @example
146
+ * await client.conversations.get("id")
147
+ */
148
+ get(id, requestOptions) {
149
+ return core.HttpResponsePromise.fromPromise(this.__get(id, requestOptions));
150
+ }
151
+ __get(id, requestOptions) {
152
+ return __awaiter(this, void 0, void 0, function* () {
153
+ var _a, _b, _c, _d;
154
+ const _response = yield ((_a = this._options.fetcher) !== null && _a !== void 0 ? _a : core.fetcher)({
155
+ url: core.url.join((_b = (yield core.Supplier.get(this._options.baseUrl))) !== null && _b !== void 0 ? _b : ((_c = (yield core.Supplier.get(this._options.environment))) !== null && _c !== void 0 ? _c : environments.PhonicEnvironment.Default)
156
+ .base, `conversations/${encodeURIComponent(id)}`),
157
+ method: "GET",
158
+ headers: mergeHeaders((_d = this._options) === null || _d === void 0 ? void 0 : _d.headers, mergeOnlyDefinedHeaders({ Authorization: yield this._getAuthorizationHeader() }), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers),
159
+ queryParameters: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams,
160
+ timeoutMs: (requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) != null ? requestOptions.timeoutInSeconds * 1000 : 60000,
161
+ maxRetries: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries,
162
+ abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,
163
+ });
164
+ if (_response.ok) {
165
+ return { data: _response.body, rawResponse: _response.rawResponse };
166
+ }
167
+ if (_response.error.reason === "status-code") {
168
+ switch (_response.error.statusCode) {
169
+ case 401:
170
+ throw new Phonic.UnauthorizedError(_response.error.body, _response.rawResponse);
171
+ case 403:
172
+ throw new Phonic.ForbiddenError(_response.error.body, _response.rawResponse);
173
+ case 404:
174
+ throw new Phonic.NotFoundError(_response.error.body, _response.rawResponse);
175
+ case 500:
176
+ throw new Phonic.InternalServerError(_response.error.body, _response.rawResponse);
177
+ default:
178
+ throw new errors.PhonicError({
179
+ statusCode: _response.error.statusCode,
180
+ body: _response.error.body,
181
+ rawResponse: _response.rawResponse,
182
+ });
183
+ }
184
+ }
185
+ switch (_response.error.reason) {
186
+ case "non-json":
187
+ throw new errors.PhonicError({
188
+ statusCode: _response.error.statusCode,
189
+ body: _response.error.rawBody,
190
+ rawResponse: _response.rawResponse,
191
+ });
192
+ case "timeout":
193
+ throw new errors.PhonicTimeoutError("Timeout exceeded when calling GET /conversations/{id}.");
194
+ case "unknown":
195
+ throw new errors.PhonicError({
196
+ message: _response.error.errorMessage,
197
+ rawResponse: _response.rawResponse,
198
+ });
199
+ }
200
+ });
201
+ }
202
+ /**
203
+ * Cancels an active conversation.
204
+ *
205
+ * @param {string} id - The ID of the conversation to cancel.
206
+ * @param {Conversations.RequestOptions} requestOptions - Request-specific configuration.
207
+ *
208
+ * @throws {@link Phonic.UnauthorizedError}
209
+ * @throws {@link Phonic.ForbiddenError}
210
+ * @throws {@link Phonic.NotFoundError}
211
+ * @throws {@link Phonic.ConflictError}
212
+ * @throws {@link Phonic.InternalServerError}
213
+ * @throws {@link Phonic.GatewayTimeoutError}
214
+ *
215
+ * @example
216
+ * await client.conversations.cancel("id")
217
+ */
218
+ cancel(id, requestOptions) {
219
+ return core.HttpResponsePromise.fromPromise(this.__cancel(id, requestOptions));
220
+ }
221
+ __cancel(id, requestOptions) {
222
+ return __awaiter(this, void 0, void 0, function* () {
223
+ var _a, _b, _c, _d;
224
+ const _response = yield ((_a = this._options.fetcher) !== null && _a !== void 0 ? _a : core.fetcher)({
225
+ url: core.url.join((_b = (yield core.Supplier.get(this._options.baseUrl))) !== null && _b !== void 0 ? _b : ((_c = (yield core.Supplier.get(this._options.environment))) !== null && _c !== void 0 ? _c : environments.PhonicEnvironment.Default)
226
+ .base, `conversations/${encodeURIComponent(id)}/cancel`),
227
+ method: "POST",
228
+ headers: mergeHeaders((_d = this._options) === null || _d === void 0 ? void 0 : _d.headers, mergeOnlyDefinedHeaders({ Authorization: yield this._getAuthorizationHeader() }), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers),
229
+ queryParameters: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams,
230
+ timeoutMs: (requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) != null ? requestOptions.timeoutInSeconds * 1000 : 60000,
231
+ maxRetries: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries,
232
+ abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,
233
+ });
234
+ if (_response.ok) {
235
+ return { data: _response.body, rawResponse: _response.rawResponse };
236
+ }
237
+ if (_response.error.reason === "status-code") {
238
+ switch (_response.error.statusCode) {
239
+ case 401:
240
+ throw new Phonic.UnauthorizedError(_response.error.body, _response.rawResponse);
241
+ case 403:
242
+ throw new Phonic.ForbiddenError(_response.error.body, _response.rawResponse);
243
+ case 404:
244
+ throw new Phonic.NotFoundError(_response.error.body, _response.rawResponse);
245
+ case 409:
246
+ throw new Phonic.ConflictError(_response.error.body, _response.rawResponse);
247
+ case 500:
248
+ throw new Phonic.InternalServerError(_response.error.body, _response.rawResponse);
249
+ case 504:
250
+ throw new Phonic.GatewayTimeoutError(_response.error.body, _response.rawResponse);
251
+ default:
252
+ throw new errors.PhonicError({
253
+ statusCode: _response.error.statusCode,
254
+ body: _response.error.body,
255
+ rawResponse: _response.rawResponse,
256
+ });
257
+ }
258
+ }
259
+ switch (_response.error.reason) {
260
+ case "non-json":
261
+ throw new errors.PhonicError({
262
+ statusCode: _response.error.statusCode,
263
+ body: _response.error.rawBody,
264
+ rawResponse: _response.rawResponse,
265
+ });
266
+ case "timeout":
267
+ throw new errors.PhonicTimeoutError("Timeout exceeded when calling POST /conversations/{id}/cancel.");
268
+ case "unknown":
269
+ throw new errors.PhonicError({
270
+ message: _response.error.errorMessage,
271
+ rawResponse: _response.rawResponse,
272
+ });
273
+ }
274
+ });
275
+ }
276
+ /**
277
+ * Returns an analysis of the specified conversation.
278
+ *
279
+ * @param {string} id - The ID of the conversation to analyze.
280
+ * @param {Conversations.RequestOptions} requestOptions - Request-specific configuration.
281
+ *
282
+ * @throws {@link Phonic.UnauthorizedError}
283
+ * @throws {@link Phonic.ForbiddenError}
284
+ * @throws {@link Phonic.NotFoundError}
285
+ * @throws {@link Phonic.InternalServerError}
286
+ *
287
+ * @example
288
+ * await client.conversations.getAnalysis("id")
289
+ */
290
+ getAnalysis(id, requestOptions) {
291
+ return core.HttpResponsePromise.fromPromise(this.__getAnalysis(id, requestOptions));
292
+ }
293
+ __getAnalysis(id, requestOptions) {
294
+ return __awaiter(this, void 0, void 0, function* () {
295
+ var _a, _b, _c, _d;
296
+ const _response = yield ((_a = this._options.fetcher) !== null && _a !== void 0 ? _a : core.fetcher)({
297
+ url: core.url.join((_b = (yield core.Supplier.get(this._options.baseUrl))) !== null && _b !== void 0 ? _b : ((_c = (yield core.Supplier.get(this._options.environment))) !== null && _c !== void 0 ? _c : environments.PhonicEnvironment.Default)
298
+ .base, `conversations/${encodeURIComponent(id)}/analysis`),
299
+ method: "GET",
300
+ headers: mergeHeaders((_d = this._options) === null || _d === void 0 ? void 0 : _d.headers, mergeOnlyDefinedHeaders({ Authorization: yield this._getAuthorizationHeader() }), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers),
301
+ queryParameters: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams,
302
+ timeoutMs: (requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) != null ? requestOptions.timeoutInSeconds * 1000 : 60000,
303
+ maxRetries: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries,
304
+ abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,
305
+ });
306
+ if (_response.ok) {
307
+ return {
308
+ data: _response.body,
309
+ rawResponse: _response.rawResponse,
310
+ };
311
+ }
312
+ if (_response.error.reason === "status-code") {
313
+ switch (_response.error.statusCode) {
314
+ case 401:
315
+ throw new Phonic.UnauthorizedError(_response.error.body, _response.rawResponse);
316
+ case 403:
317
+ throw new Phonic.ForbiddenError(_response.error.body, _response.rawResponse);
318
+ case 404:
319
+ throw new Phonic.NotFoundError(_response.error.body, _response.rawResponse);
320
+ case 500:
321
+ throw new Phonic.InternalServerError(_response.error.body, _response.rawResponse);
322
+ default:
323
+ throw new errors.PhonicError({
324
+ statusCode: _response.error.statusCode,
325
+ body: _response.error.body,
326
+ rawResponse: _response.rawResponse,
327
+ });
328
+ }
329
+ }
330
+ switch (_response.error.reason) {
331
+ case "non-json":
332
+ throw new errors.PhonicError({
333
+ statusCode: _response.error.statusCode,
334
+ body: _response.error.rawBody,
335
+ rawResponse: _response.rawResponse,
336
+ });
337
+ case "timeout":
338
+ throw new errors.PhonicTimeoutError("Timeout exceeded when calling GET /conversations/{id}/analysis.");
339
+ case "unknown":
340
+ throw new errors.PhonicError({
341
+ message: _response.error.errorMessage,
342
+ rawResponse: _response.rawResponse,
343
+ });
344
+ }
345
+ });
346
+ }
347
+ /**
348
+ * Returns all extractions for a conversation.
349
+ *
350
+ * @param {string} id - The ID of the conversation to get extractions for.
351
+ * @param {Conversations.RequestOptions} requestOptions - Request-specific configuration.
352
+ *
353
+ * @throws {@link Phonic.UnauthorizedError}
354
+ * @throws {@link Phonic.ForbiddenError}
355
+ * @throws {@link Phonic.NotFoundError}
356
+ * @throws {@link Phonic.InternalServerError}
357
+ *
358
+ * @example
359
+ * await client.conversations.listExtractions("id")
360
+ */
361
+ listExtractions(id, requestOptions) {
362
+ return core.HttpResponsePromise.fromPromise(this.__listExtractions(id, requestOptions));
363
+ }
364
+ __listExtractions(id, requestOptions) {
365
+ return __awaiter(this, void 0, void 0, function* () {
366
+ var _a, _b, _c, _d;
367
+ const _response = yield ((_a = this._options.fetcher) !== null && _a !== void 0 ? _a : core.fetcher)({
368
+ url: core.url.join((_b = (yield core.Supplier.get(this._options.baseUrl))) !== null && _b !== void 0 ? _b : ((_c = (yield core.Supplier.get(this._options.environment))) !== null && _c !== void 0 ? _c : environments.PhonicEnvironment.Default)
369
+ .base, `conversations/${encodeURIComponent(id)}/extractions`),
370
+ method: "GET",
371
+ headers: mergeHeaders((_d = this._options) === null || _d === void 0 ? void 0 : _d.headers, mergeOnlyDefinedHeaders({ Authorization: yield this._getAuthorizationHeader() }), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers),
372
+ queryParameters: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams,
373
+ timeoutMs: (requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) != null ? requestOptions.timeoutInSeconds * 1000 : 60000,
374
+ maxRetries: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries,
375
+ abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,
376
+ });
377
+ if (_response.ok) {
378
+ return {
379
+ data: _response.body,
380
+ rawResponse: _response.rawResponse,
381
+ };
382
+ }
383
+ if (_response.error.reason === "status-code") {
384
+ switch (_response.error.statusCode) {
385
+ case 401:
386
+ throw new Phonic.UnauthorizedError(_response.error.body, _response.rawResponse);
387
+ case 403:
388
+ throw new Phonic.ForbiddenError(_response.error.body, _response.rawResponse);
389
+ case 404:
390
+ throw new Phonic.NotFoundError(_response.error.body, _response.rawResponse);
391
+ case 500:
392
+ throw new Phonic.InternalServerError(_response.error.body, _response.rawResponse);
393
+ default:
394
+ throw new errors.PhonicError({
395
+ statusCode: _response.error.statusCode,
396
+ body: _response.error.body,
397
+ rawResponse: _response.rawResponse,
398
+ });
399
+ }
400
+ }
401
+ switch (_response.error.reason) {
402
+ case "non-json":
403
+ throw new errors.PhonicError({
404
+ statusCode: _response.error.statusCode,
405
+ body: _response.error.rawBody,
406
+ rawResponse: _response.rawResponse,
407
+ });
408
+ case "timeout":
409
+ throw new errors.PhonicTimeoutError("Timeout exceeded when calling GET /conversations/{id}/extractions.");
410
+ case "unknown":
411
+ throw new errors.PhonicError({
412
+ message: _response.error.errorMessage,
413
+ rawResponse: _response.rawResponse,
414
+ });
415
+ }
416
+ });
417
+ }
418
+ /**
419
+ * Extracts data from a conversation using a schema.
420
+ *
421
+ * @param {string} id - The ID of the conversation to extract data from.
422
+ * @param {Phonic.ExtractDataRequest} request
423
+ * @param {Conversations.RequestOptions} requestOptions - Request-specific configuration.
424
+ *
425
+ * @throws {@link Phonic.BadRequestError}
426
+ * @throws {@link Phonic.UnauthorizedError}
427
+ * @throws {@link Phonic.ForbiddenError}
428
+ * @throws {@link Phonic.NotFoundError}
429
+ * @throws {@link Phonic.InternalServerError}
430
+ *
431
+ * @example
432
+ * await client.conversations.extractData("id", {
433
+ * schema_id: "conv_extract_schema_6458e4ac-533c-4bdf-8e6d-c2f06f87fd5c"
434
+ * })
435
+ */
436
+ extractData(id, request, requestOptions) {
437
+ return core.HttpResponsePromise.fromPromise(this.__extractData(id, request, requestOptions));
438
+ }
439
+ __extractData(id, request, requestOptions) {
440
+ return __awaiter(this, void 0, void 0, function* () {
441
+ var _a, _b, _c, _d;
442
+ const _response = yield ((_a = this._options.fetcher) !== null && _a !== void 0 ? _a : core.fetcher)({
443
+ url: core.url.join((_b = (yield core.Supplier.get(this._options.baseUrl))) !== null && _b !== void 0 ? _b : ((_c = (yield core.Supplier.get(this._options.environment))) !== null && _c !== void 0 ? _c : environments.PhonicEnvironment.Default)
444
+ .base, `conversations/${encodeURIComponent(id)}/extractions`),
445
+ method: "POST",
446
+ headers: mergeHeaders((_d = this._options) === null || _d === void 0 ? void 0 : _d.headers, mergeOnlyDefinedHeaders({ Authorization: yield this._getAuthorizationHeader() }), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers),
447
+ contentType: "application/json",
448
+ queryParameters: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams,
449
+ requestType: "json",
450
+ body: request,
451
+ timeoutMs: (requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) != null ? requestOptions.timeoutInSeconds * 1000 : 60000,
452
+ maxRetries: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries,
453
+ abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,
454
+ });
455
+ if (_response.ok) {
456
+ return {
457
+ data: _response.body,
458
+ rawResponse: _response.rawResponse,
459
+ };
460
+ }
461
+ if (_response.error.reason === "status-code") {
462
+ switch (_response.error.statusCode) {
463
+ case 400:
464
+ throw new Phonic.BadRequestError(_response.error.body, _response.rawResponse);
465
+ case 401:
466
+ throw new Phonic.UnauthorizedError(_response.error.body, _response.rawResponse);
467
+ case 403:
468
+ throw new Phonic.ForbiddenError(_response.error.body, _response.rawResponse);
469
+ case 404:
470
+ throw new Phonic.NotFoundError(_response.error.body, _response.rawResponse);
471
+ case 500:
472
+ throw new Phonic.InternalServerError(_response.error.body, _response.rawResponse);
473
+ default:
474
+ throw new errors.PhonicError({
475
+ statusCode: _response.error.statusCode,
476
+ body: _response.error.body,
477
+ rawResponse: _response.rawResponse,
478
+ });
479
+ }
480
+ }
481
+ switch (_response.error.reason) {
482
+ case "non-json":
483
+ throw new errors.PhonicError({
484
+ statusCode: _response.error.statusCode,
485
+ body: _response.error.rawBody,
486
+ rawResponse: _response.rawResponse,
487
+ });
488
+ case "timeout":
489
+ throw new errors.PhonicTimeoutError("Timeout exceeded when calling POST /conversations/{id}/extractions.");
490
+ case "unknown":
491
+ throw new errors.PhonicError({
492
+ message: _response.error.errorMessage,
493
+ rawResponse: _response.rawResponse,
494
+ });
495
+ }
496
+ });
497
+ }
498
+ /**
499
+ * Returns all evaluations for a conversation.
500
+ *
501
+ * @param {string} id - The ID of the conversation to get evaluations for.
502
+ * @param {Conversations.RequestOptions} requestOptions - Request-specific configuration.
503
+ *
504
+ * @throws {@link Phonic.UnauthorizedError}
505
+ * @throws {@link Phonic.ForbiddenError}
506
+ * @throws {@link Phonic.NotFoundError}
507
+ * @throws {@link Phonic.InternalServerError}
508
+ *
509
+ * @example
510
+ * await client.conversations.listEvaluations("id")
511
+ */
512
+ listEvaluations(id, requestOptions) {
513
+ return core.HttpResponsePromise.fromPromise(this.__listEvaluations(id, requestOptions));
514
+ }
515
+ __listEvaluations(id, requestOptions) {
516
+ return __awaiter(this, void 0, void 0, function* () {
517
+ var _a, _b, _c, _d;
518
+ const _response = yield ((_a = this._options.fetcher) !== null && _a !== void 0 ? _a : core.fetcher)({
519
+ url: core.url.join((_b = (yield core.Supplier.get(this._options.baseUrl))) !== null && _b !== void 0 ? _b : ((_c = (yield core.Supplier.get(this._options.environment))) !== null && _c !== void 0 ? _c : environments.PhonicEnvironment.Default)
520
+ .base, `conversations/${encodeURIComponent(id)}/evals`),
521
+ method: "GET",
522
+ headers: mergeHeaders((_d = this._options) === null || _d === void 0 ? void 0 : _d.headers, mergeOnlyDefinedHeaders({ Authorization: yield this._getAuthorizationHeader() }), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers),
523
+ queryParameters: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams,
524
+ timeoutMs: (requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) != null ? requestOptions.timeoutInSeconds * 1000 : 60000,
525
+ maxRetries: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries,
526
+ abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,
527
+ });
528
+ if (_response.ok) {
529
+ return {
530
+ data: _response.body,
531
+ rawResponse: _response.rawResponse,
532
+ };
533
+ }
534
+ if (_response.error.reason === "status-code") {
535
+ switch (_response.error.statusCode) {
536
+ case 401:
537
+ throw new Phonic.UnauthorizedError(_response.error.body, _response.rawResponse);
538
+ case 403:
539
+ throw new Phonic.ForbiddenError(_response.error.body, _response.rawResponse);
540
+ case 404:
541
+ throw new Phonic.NotFoundError(_response.error.body, _response.rawResponse);
542
+ case 500:
543
+ throw new Phonic.InternalServerError(_response.error.body, _response.rawResponse);
544
+ default:
545
+ throw new errors.PhonicError({
546
+ statusCode: _response.error.statusCode,
547
+ body: _response.error.body,
548
+ rawResponse: _response.rawResponse,
549
+ });
550
+ }
551
+ }
552
+ switch (_response.error.reason) {
553
+ case "non-json":
554
+ throw new errors.PhonicError({
555
+ statusCode: _response.error.statusCode,
556
+ body: _response.error.rawBody,
557
+ rawResponse: _response.rawResponse,
558
+ });
559
+ case "timeout":
560
+ throw new errors.PhonicTimeoutError("Timeout exceeded when calling GET /conversations/{id}/evals.");
561
+ case "unknown":
562
+ throw new errors.PhonicError({
563
+ message: _response.error.errorMessage,
564
+ rawResponse: _response.rawResponse,
565
+ });
566
+ }
567
+ });
568
+ }
569
+ /**
570
+ * Evaluates a conversation using an evaluation prompt.
571
+ *
572
+ * @param {string} id - The ID of the conversation to evaluate.
573
+ * @param {Phonic.EvaluateConversationRequest} request
574
+ * @param {Conversations.RequestOptions} requestOptions - Request-specific configuration.
575
+ *
576
+ * @throws {@link Phonic.BadRequestError}
577
+ * @throws {@link Phonic.UnauthorizedError}
578
+ * @throws {@link Phonic.ForbiddenError}
579
+ * @throws {@link Phonic.NotFoundError}
580
+ * @throws {@link Phonic.InternalServerError}
581
+ *
582
+ * @example
583
+ * await client.conversations.evaluate("id", {
584
+ * prompt_id: "conv_eval_prompt_d7cfe45d-35db-4ef6-a254-81ab1da76ce0"
585
+ * })
586
+ */
587
+ evaluate(id, request, requestOptions) {
588
+ return core.HttpResponsePromise.fromPromise(this.__evaluate(id, request, requestOptions));
589
+ }
590
+ __evaluate(id, request, requestOptions) {
591
+ return __awaiter(this, void 0, void 0, function* () {
592
+ var _a, _b, _c, _d;
593
+ const _response = yield ((_a = this._options.fetcher) !== null && _a !== void 0 ? _a : core.fetcher)({
594
+ url: core.url.join((_b = (yield core.Supplier.get(this._options.baseUrl))) !== null && _b !== void 0 ? _b : ((_c = (yield core.Supplier.get(this._options.environment))) !== null && _c !== void 0 ? _c : environments.PhonicEnvironment.Default)
595
+ .base, `conversations/${encodeURIComponent(id)}/evals`),
596
+ method: "POST",
597
+ headers: mergeHeaders((_d = this._options) === null || _d === void 0 ? void 0 : _d.headers, mergeOnlyDefinedHeaders({ Authorization: yield this._getAuthorizationHeader() }), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers),
598
+ contentType: "application/json",
599
+ queryParameters: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams,
600
+ requestType: "json",
601
+ body: request,
602
+ timeoutMs: (requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) != null ? requestOptions.timeoutInSeconds * 1000 : 60000,
603
+ maxRetries: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries,
604
+ abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,
605
+ });
606
+ if (_response.ok) {
607
+ return { data: _response.body, rawResponse: _response.rawResponse };
608
+ }
609
+ if (_response.error.reason === "status-code") {
610
+ switch (_response.error.statusCode) {
611
+ case 400:
612
+ throw new Phonic.BadRequestError(_response.error.body, _response.rawResponse);
613
+ case 401:
614
+ throw new Phonic.UnauthorizedError(_response.error.body, _response.rawResponse);
615
+ case 403:
616
+ throw new Phonic.ForbiddenError(_response.error.body, _response.rawResponse);
617
+ case 404:
618
+ throw new Phonic.NotFoundError(_response.error.body, _response.rawResponse);
619
+ case 500:
620
+ throw new Phonic.InternalServerError(_response.error.body, _response.rawResponse);
621
+ default:
622
+ throw new errors.PhonicError({
623
+ statusCode: _response.error.statusCode,
624
+ body: _response.error.body,
625
+ rawResponse: _response.rawResponse,
626
+ });
627
+ }
628
+ }
629
+ switch (_response.error.reason) {
630
+ case "non-json":
631
+ throw new errors.PhonicError({
632
+ statusCode: _response.error.statusCode,
633
+ body: _response.error.rawBody,
634
+ rawResponse: _response.rawResponse,
635
+ });
636
+ case "timeout":
637
+ throw new errors.PhonicTimeoutError("Timeout exceeded when calling POST /conversations/{id}/evals.");
638
+ case "unknown":
639
+ throw new errors.PhonicError({
640
+ message: _response.error.errorMessage,
641
+ rawResponse: _response.rawResponse,
642
+ });
643
+ }
644
+ });
645
+ }
646
+ /**
647
+ * Initiates a call to a given phone number using Phonic's Twilio account.
648
+ *
649
+ * @param {Phonic.OutboundCallRequest} request
650
+ * @param {Conversations.RequestOptions} requestOptions - Request-specific configuration.
651
+ *
652
+ * @throws {@link Phonic.BadRequestError}
653
+ * @throws {@link Phonic.UnauthorizedError}
654
+ * @throws {@link Phonic.NotFoundError}
655
+ * @throws {@link Phonic.InternalServerError}
656
+ *
657
+ * @example
658
+ * await client.conversations.outboundCall({
659
+ * to_phone_number: "+19189397081",
660
+ * config: {
661
+ * agent: "support-agent",
662
+ * welcome_message: "Hi {{customer_name}}. How can I help you today?",
663
+ * system_prompt: "You are an expert in {{subject}}. Be friendly, helpful and concise.",
664
+ * template_variables: {
665
+ * "customer_name": "David",
666
+ * "subject": "Chess"
667
+ * },
668
+ * voice_id: "sarah",
669
+ * no_input_poke_sec: 30,
670
+ * no_input_poke_text: "Are you still there?",
671
+ * no_input_end_conversation_sec: 180,
672
+ * boosted_keywords: ["Load ID", "dispatch"],
673
+ * tools: ["keypad_input"]
674
+ * }
675
+ * })
676
+ */
677
+ outboundCall(request, requestOptions) {
678
+ return core.HttpResponsePromise.fromPromise(this.__outboundCall(request, requestOptions));
679
+ }
680
+ __outboundCall(request, requestOptions) {
681
+ return __awaiter(this, void 0, void 0, function* () {
682
+ var _a, _b, _c, _d;
683
+ const _response = yield ((_a = this._options.fetcher) !== null && _a !== void 0 ? _a : core.fetcher)({
684
+ url: core.url.join((_b = (yield core.Supplier.get(this._options.baseUrl))) !== null && _b !== void 0 ? _b : ((_c = (yield core.Supplier.get(this._options.environment))) !== null && _c !== void 0 ? _c : environments.PhonicEnvironment.Default)
685
+ .base, "conversations/outbound_call"),
686
+ method: "POST",
687
+ headers: mergeHeaders((_d = this._options) === null || _d === void 0 ? void 0 : _d.headers, mergeOnlyDefinedHeaders({ Authorization: yield this._getAuthorizationHeader() }), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers),
688
+ contentType: "application/json",
689
+ queryParameters: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams,
690
+ requestType: "json",
691
+ body: request,
692
+ timeoutMs: (requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) != null ? requestOptions.timeoutInSeconds * 1000 : 60000,
693
+ maxRetries: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries,
694
+ abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,
695
+ });
696
+ if (_response.ok) {
697
+ return {
698
+ data: _response.body,
699
+ rawResponse: _response.rawResponse,
700
+ };
701
+ }
702
+ if (_response.error.reason === "status-code") {
703
+ switch (_response.error.statusCode) {
704
+ case 400:
705
+ throw new Phonic.BadRequestError(_response.error.body, _response.rawResponse);
706
+ case 401:
707
+ throw new Phonic.UnauthorizedError(_response.error.body, _response.rawResponse);
708
+ case 404:
709
+ throw new Phonic.NotFoundError(_response.error.body, _response.rawResponse);
710
+ case 500:
711
+ throw new Phonic.InternalServerError(_response.error.body, _response.rawResponse);
712
+ default:
713
+ throw new errors.PhonicError({
714
+ statusCode: _response.error.statusCode,
715
+ body: _response.error.body,
716
+ rawResponse: _response.rawResponse,
717
+ });
718
+ }
719
+ }
720
+ switch (_response.error.reason) {
721
+ case "non-json":
722
+ throw new errors.PhonicError({
723
+ statusCode: _response.error.statusCode,
724
+ body: _response.error.rawBody,
725
+ rawResponse: _response.rawResponse,
726
+ });
727
+ case "timeout":
728
+ throw new errors.PhonicTimeoutError("Timeout exceeded when calling POST /conversations/outbound_call.");
729
+ case "unknown":
730
+ throw new errors.PhonicError({
731
+ message: _response.error.errorMessage,
732
+ rawResponse: _response.rawResponse,
733
+ });
734
+ }
735
+ });
736
+ }
737
+ /**
738
+ * Initiates a SIP outbound call using user-supplied SIP credentials in headers.
739
+ *
740
+ * @param {Phonic.ConversationsSipOutboundCallRequest} request
741
+ * @param {Conversations.RequestOptions} requestOptions - Request-specific configuration.
742
+ *
743
+ * @throws {@link Phonic.BadRequestError}
744
+ * @throws {@link Phonic.UnauthorizedError}
745
+ * @throws {@link Phonic.InternalServerError}
746
+ *
747
+ * @example
748
+ * await client.conversations.sipOutboundCall({
749
+ * "X-Sip-Address": "X-Sip-Address",
750
+ * from_phone_number: "from_phone_number",
751
+ * to_phone_number: "to_phone_number"
752
+ * })
753
+ */
754
+ sipOutboundCall(request, requestOptions) {
755
+ return core.HttpResponsePromise.fromPromise(this.__sipOutboundCall(request, requestOptions));
756
+ }
757
+ __sipOutboundCall(request, requestOptions) {
758
+ return __awaiter(this, void 0, void 0, function* () {
759
+ var _a, _b, _c, _d;
760
+ const { token, downstream_websocket_url: downstreamWebsocketUrl, "X-Sip-Address": sipAddress, "X-Sip-Auth-Username": sipAuthUsername, "X-Sip-Auth-Password": sipAuthPassword } = request, _body = __rest(request, ["token", "downstream_websocket_url", "X-Sip-Address", "X-Sip-Auth-Username", "X-Sip-Auth-Password"]);
761
+ const _queryParams = {};
762
+ if (token != null) {
763
+ _queryParams["token"] = token;
764
+ }
765
+ if (downstreamWebsocketUrl != null) {
766
+ _queryParams["downstream_websocket_url"] = downstreamWebsocketUrl;
767
+ }
768
+ const _response = yield ((_a = this._options.fetcher) !== null && _a !== void 0 ? _a : core.fetcher)({
769
+ url: core.url.join((_b = (yield core.Supplier.get(this._options.baseUrl))) !== null && _b !== void 0 ? _b : ((_c = (yield core.Supplier.get(this._options.environment))) !== null && _c !== void 0 ? _c : environments.PhonicEnvironment.Default)
770
+ .base, "conversations/sip/outbound_call"),
771
+ method: "POST",
772
+ headers: mergeHeaders((_d = this._options) === null || _d === void 0 ? void 0 : _d.headers, mergeOnlyDefinedHeaders({
773
+ Authorization: yield this._getAuthorizationHeader(),
774
+ "X-Sip-Address": sipAddress,
775
+ "X-Sip-Auth-Username": sipAuthUsername != null ? sipAuthUsername : undefined,
776
+ "X-Sip-Auth-Password": sipAuthPassword != null ? sipAuthPassword : undefined,
777
+ }), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers),
778
+ contentType: "application/json",
779
+ queryParameters: Object.assign(Object.assign({}, _queryParams), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams),
780
+ requestType: "json",
781
+ body: _body,
782
+ timeoutMs: (requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) != null ? requestOptions.timeoutInSeconds * 1000 : 60000,
783
+ maxRetries: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries,
784
+ abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,
785
+ });
786
+ if (_response.ok) {
787
+ return {
788
+ data: _response.body,
789
+ rawResponse: _response.rawResponse,
790
+ };
791
+ }
792
+ if (_response.error.reason === "status-code") {
793
+ switch (_response.error.statusCode) {
794
+ case 400:
795
+ throw new Phonic.BadRequestError(_response.error.body, _response.rawResponse);
796
+ case 401:
797
+ throw new Phonic.UnauthorizedError(_response.error.body, _response.rawResponse);
798
+ case 500:
799
+ throw new Phonic.InternalServerError(_response.error.body, _response.rawResponse);
800
+ default:
801
+ throw new errors.PhonicError({
802
+ statusCode: _response.error.statusCode,
803
+ body: _response.error.body,
804
+ rawResponse: _response.rawResponse,
805
+ });
806
+ }
807
+ }
808
+ switch (_response.error.reason) {
809
+ case "non-json":
810
+ throw new errors.PhonicError({
811
+ statusCode: _response.error.statusCode,
812
+ body: _response.error.rawBody,
813
+ rawResponse: _response.rawResponse,
814
+ });
815
+ case "timeout":
816
+ throw new errors.PhonicTimeoutError("Timeout exceeded when calling POST /conversations/sip/outbound_call.");
817
+ case "unknown":
818
+ throw new errors.PhonicError({
819
+ message: _response.error.errorMessage,
820
+ rawResponse: _response.rawResponse,
821
+ });
822
+ }
823
+ });
824
+ }
825
+ connect() {
826
+ return __awaiter(this, arguments, void 0, function* (args = {}) {
827
+ var _a, _b;
828
+ const { downstream_websocket_url, headers, debug, reconnectAttempts } = args;
829
+ const _queryParams = {};
830
+ if (downstream_websocket_url != null) {
831
+ _queryParams["downstream_websocket_url"] = downstream_websocket_url;
832
+ }
833
+ let _headers = Object.assign({}, headers);
834
+ _headers["Authorization"] = yield this._getAuthorizationHeader();
835
+ const socket = new core.ReconnectingWebSocket({
836
+ url: core.url.join((_a = (yield core.Supplier.get(this._options["baseUrl"]))) !== null && _a !== void 0 ? _a : ((_b = (yield core.Supplier.get(this._options["environment"]))) !== null && _b !== void 0 ? _b : environments.PhonicEnvironment.Default)
837
+ .production, "/v1/sts/ws"),
838
+ protocols: [],
839
+ queryParameters: _queryParams,
840
+ headers: _headers,
841
+ options: { debug: debug !== null && debug !== void 0 ? debug : false, maxRetries: reconnectAttempts !== null && reconnectAttempts !== void 0 ? reconnectAttempts : 30 },
842
+ });
843
+ return new ConversationsSocket({ socket });
844
+ });
845
+ }
846
+ _getAuthorizationHeader() {
847
+ return __awaiter(this, void 0, void 0, function* () {
848
+ var _a;
849
+ const bearer = (_a = (yield core.Supplier.get(this._options.apiKey))) !== null && _a !== void 0 ? _a : process === null || process === void 0 ? void 0 : process.env["PHONIC_API_KEY"];
850
+ if (bearer == null) {
851
+ throw new errors.PhonicError({
852
+ message: "Please specify a bearer by either passing it in to the constructor or initializing a PHONIC_API_KEY environment variable",
853
+ });
854
+ }
855
+ return `Bearer ${bearer}`;
856
+ });
857
+ }
858
+ }