retell-sdk 1.15.21 → 2.2.2

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 (466) hide show
  1. package/README.md +3 -629
  2. package/example.d.ts +2 -0
  3. package/example.d.ts.map +1 -0
  4. package/example.js +74 -0
  5. package/example.js.map +1 -0
  6. package/index.d.ts +3 -0
  7. package/index.d.ts.map +1 -0
  8. package/{dist/index.js → index.js} +2 -0
  9. package/index.js.map +1 -0
  10. package/lib/base64.d.ts +10 -0
  11. package/lib/base64.d.ts.map +1 -0
  12. package/lib/base64.js +61 -0
  13. package/lib/base64.js.map +1 -0
  14. package/lib/config.d.ts +31 -0
  15. package/lib/config.d.ts.map +1 -0
  16. package/lib/config.js +36 -0
  17. package/lib/config.js.map +1 -0
  18. package/lib/encodings.d.ts +41 -0
  19. package/lib/encodings.d.ts.map +1 -0
  20. package/lib/encodings.js +308 -0
  21. package/lib/encodings.js.map +1 -0
  22. package/lib/http.d.ts +45 -0
  23. package/lib/http.d.ts.map +1 -0
  24. package/lib/http.js +136 -0
  25. package/lib/http.js.map +1 -0
  26. package/lib/retries.d.ts +18 -0
  27. package/lib/retries.d.ts.map +1 -0
  28. package/lib/retries.js +136 -0
  29. package/lib/retries.js.map +1 -0
  30. package/lib/sdks.d.ts +32 -0
  31. package/lib/sdks.d.ts.map +1 -0
  32. package/lib/sdks.js +90 -0
  33. package/lib/sdks.js.map +1 -0
  34. package/lib/security.d.ts +57 -0
  35. package/lib/security.d.ts.map +1 -0
  36. package/lib/security.js +99 -0
  37. package/lib/security.js.map +1 -0
  38. package/lib/url.d.ts +4 -0
  39. package/lib/url.d.ts.map +1 -0
  40. package/lib/url.js +26 -0
  41. package/lib/url.js.map +1 -0
  42. package/models/components/agent.d.ts +180 -0
  43. package/models/components/agent.d.ts.map +1 -0
  44. package/models/components/agent.js +182 -0
  45. package/models/components/agent.js.map +1 -0
  46. package/models/components/agentnodefaultnorequired.d.ts +61 -0
  47. package/models/components/agentnodefaultnorequired.d.ts.map +1 -0
  48. package/models/components/agentnodefaultnorequired.js +66 -0
  49. package/models/components/agentnodefaultnorequired.js.map +1 -0
  50. package/models/components/agentpromptparams.d.ts +25 -0
  51. package/models/components/agentpromptparams.d.ts.map +1 -0
  52. package/models/components/agentpromptparams.js +34 -0
  53. package/models/components/agentpromptparams.js.map +1 -0
  54. package/models/components/calldetail.d.ts +92 -0
  55. package/models/components/calldetail.d.ts.map +1 -0
  56. package/models/components/calldetail.js +94 -0
  57. package/models/components/calldetail.js.map +1 -0
  58. package/models/components/callphonenumber.d.ts +28 -0
  59. package/models/components/callphonenumber.d.ts.map +1 -0
  60. package/models/components/callphonenumber.js +34 -0
  61. package/models/components/callphonenumber.js.map +1 -0
  62. package/{dist/models → models}/components/index.d.ts +1 -1
  63. package/models/components/index.d.ts.map +1 -0
  64. package/{dist/models → models}/components/index.js +1 -1
  65. package/models/components/index.js.map +1 -0
  66. package/{dist/models → models}/components/phonenumber.d.ts +22 -2
  67. package/models/components/phonenumber.d.ts.map +1 -0
  68. package/models/components/phonenumber.js +46 -0
  69. package/models/components/phonenumber.js.map +1 -0
  70. package/models/components/security.d.ts +4 -0
  71. package/models/components/security.d.ts.map +1 -0
  72. package/models/components/security.js +6 -0
  73. package/models/components/security.js.map +1 -0
  74. package/models/errors/createagent.d.ts +146 -0
  75. package/models/errors/createagent.d.ts.map +1 -0
  76. package/models/errors/createagent.js +236 -0
  77. package/models/errors/createagent.js.map +1 -0
  78. package/models/errors/createphonecall.d.ts +218 -0
  79. package/models/errors/createphonecall.d.ts.map +1 -0
  80. package/models/errors/createphonecall.js +350 -0
  81. package/models/errors/createphonecall.js.map +1 -0
  82. package/models/errors/createphonenumber.d.ts +182 -0
  83. package/models/errors/createphonenumber.d.ts.map +1 -0
  84. package/models/errors/createphonenumber.js +295 -0
  85. package/models/errors/createphonenumber.js.map +1 -0
  86. package/models/errors/deleteagent.d.ts +146 -0
  87. package/models/errors/deleteagent.d.ts.map +1 -0
  88. package/models/errors/deleteagent.js +236 -0
  89. package/models/errors/deleteagent.js.map +1 -0
  90. package/models/errors/deletephonenumber.d.ts +146 -0
  91. package/models/errors/deletephonenumber.d.ts.map +1 -0
  92. package/models/errors/deletephonenumber.js +238 -0
  93. package/models/errors/deletephonenumber.js.map +1 -0
  94. package/models/errors/getagent.d.ts +146 -0
  95. package/models/errors/getagent.d.ts.map +1 -0
  96. package/models/errors/getagent.js +236 -0
  97. package/models/errors/getagent.js.map +1 -0
  98. package/models/errors/getcall.d.ts +146 -0
  99. package/models/errors/getcall.d.ts.map +1 -0
  100. package/models/errors/getcall.js +240 -0
  101. package/models/errors/getcall.js.map +1 -0
  102. package/models/errors/getphonenumber.d.ts +146 -0
  103. package/models/errors/getphonenumber.d.ts.map +1 -0
  104. package/models/errors/getphonenumber.js +236 -0
  105. package/models/errors/getphonenumber.js.map +1 -0
  106. package/{dist/models → models}/errors/index.d.ts +1 -0
  107. package/models/errors/index.d.ts.map +1 -0
  108. package/{dist/models → models}/errors/index.js +1 -0
  109. package/models/errors/index.js.map +1 -0
  110. package/models/errors/listagents.d.ts +74 -0
  111. package/models/errors/listagents.d.ts.map +1 -0
  112. package/models/errors/listagents.js +124 -0
  113. package/models/errors/listagents.js.map +1 -0
  114. package/models/errors/listcalls.d.ts +110 -0
  115. package/models/errors/listcalls.d.ts.map +1 -0
  116. package/models/errors/listcalls.js +181 -0
  117. package/models/errors/listcalls.js.map +1 -0
  118. package/models/errors/listphonenumbers.d.ts +110 -0
  119. package/models/errors/listphonenumbers.d.ts.map +1 -0
  120. package/models/errors/listphonenumbers.js +179 -0
  121. package/models/errors/listphonenumbers.js.map +1 -0
  122. package/models/errors/sdkerror.d.ts +7 -0
  123. package/models/errors/sdkerror.d.ts.map +1 -0
  124. package/models/errors/sdkerror.js +22 -0
  125. package/models/errors/sdkerror.js.map +1 -0
  126. package/models/errors/updateagent.d.ts +146 -0
  127. package/models/errors/updateagent.d.ts.map +1 -0
  128. package/models/errors/updateagent.js +236 -0
  129. package/models/errors/updateagent.js.map +1 -0
  130. package/models/errors/updatephoneagent.d.ts +146 -0
  131. package/models/errors/updatephoneagent.d.ts.map +1 -0
  132. package/models/errors/updatephoneagent.js +236 -0
  133. package/models/errors/updatephoneagent.js.map +1 -0
  134. package/models/operations/createagent.d.ts +70 -0
  135. package/models/operations/createagent.d.ts.map +1 -0
  136. package/models/operations/createagent.js +102 -0
  137. package/models/operations/createagent.js.map +1 -0
  138. package/models/operations/createphonecall.d.ts +163 -0
  139. package/models/operations/createphonecall.d.ts.map +1 -0
  140. package/models/operations/createphonecall.js +196 -0
  141. package/models/operations/createphonecall.js.map +1 -0
  142. package/models/operations/createphonenumber.d.ts +61 -0
  143. package/models/operations/createphonenumber.d.ts.map +1 -0
  144. package/models/operations/createphonenumber.js +94 -0
  145. package/models/operations/createphonenumber.js.map +1 -0
  146. package/models/operations/createwebcall.d.ts +16 -0
  147. package/models/operations/createwebcall.d.ts.map +1 -0
  148. package/models/operations/createwebcall.js +3 -0
  149. package/models/operations/createwebcall.js.map +1 -0
  150. package/models/operations/deleteagent.d.ts +48 -0
  151. package/models/operations/deleteagent.d.ts.map +1 -0
  152. package/models/operations/deleteagent.js +62 -0
  153. package/models/operations/deleteagent.js.map +1 -0
  154. package/models/operations/deletephonenumber.d.ts +48 -0
  155. package/models/operations/deletephonenumber.d.ts.map +1 -0
  156. package/models/operations/deletephonenumber.js +62 -0
  157. package/models/operations/deletephonenumber.js.map +1 -0
  158. package/models/operations/getagent.d.ts +55 -0
  159. package/models/operations/getagent.d.ts.map +1 -0
  160. package/models/operations/getagent.js +90 -0
  161. package/models/operations/getagent.js.map +1 -0
  162. package/models/operations/getcall.d.ts +55 -0
  163. package/models/operations/getcall.d.ts.map +1 -0
  164. package/models/operations/getcall.js +90 -0
  165. package/models/operations/getcall.js.map +1 -0
  166. package/models/operations/getphonenumber.d.ts +55 -0
  167. package/models/operations/getphonenumber.d.ts.map +1 -0
  168. package/models/operations/getphonenumber.js +90 -0
  169. package/models/operations/getphonenumber.js.map +1 -0
  170. package/{dist/models → models}/operations/index.d.ts +2 -0
  171. package/models/operations/index.d.ts.map +1 -0
  172. package/{dist/models → models}/operations/index.js +2 -0
  173. package/models/operations/index.js.map +1 -0
  174. package/models/operations/listagents.d.ts +38 -0
  175. package/models/operations/listagents.d.ts.map +1 -0
  176. package/models/operations/listagents.js +68 -0
  177. package/models/operations/listagents.js.map +1 -0
  178. package/models/operations/listcalls.d.ts +127 -0
  179. package/models/operations/listcalls.d.ts.map +1 -0
  180. package/models/operations/listcalls.js +174 -0
  181. package/models/operations/listcalls.js.map +1 -0
  182. package/models/operations/listphonenumbers.d.ts +38 -0
  183. package/models/operations/listphonenumbers.d.ts.map +1 -0
  184. package/models/operations/listphonenumbers.js +68 -0
  185. package/models/operations/listphonenumbers.js.map +1 -0
  186. package/models/operations/updateagent.d.ts +90 -0
  187. package/models/operations/updateagent.d.ts.map +1 -0
  188. package/models/operations/updateagent.js +128 -0
  189. package/models/operations/updateagent.js.map +1 -0
  190. package/models/operations/updatephoneagent.d.ts +75 -0
  191. package/models/operations/updatephoneagent.d.ts.map +1 -0
  192. package/models/operations/updatephoneagent.js +116 -0
  193. package/models/operations/updatephoneagent.js.map +1 -0
  194. package/package.json +27 -30
  195. package/sdk/index.d.ts +3 -0
  196. package/sdk/index.d.ts.map +1 -0
  197. package/{dist/sdk → sdk}/index.js +2 -0
  198. package/sdk/index.js.map +1 -0
  199. package/sdk/liveClient.d.ts +14 -0
  200. package/sdk/liveClient.d.ts.map +1 -0
  201. package/sdk/liveClient.js +98 -0
  202. package/sdk/liveClient.js.map +1 -0
  203. package/sdk/sdk.d.ts +62 -0
  204. package/sdk/sdk.d.ts.map +1 -0
  205. package/sdk/sdk.js +1137 -0
  206. package/sdk/sdk.js.map +1 -0
  207. package/src/example.ts +79 -0
  208. package/src/index.ts +6 -0
  209. package/src/lib/base64.ts +37 -0
  210. package/src/lib/config.ts +57 -0
  211. package/src/lib/encodings.ts +379 -0
  212. package/src/lib/http.ts +203 -0
  213. package/src/lib/retries.ts +207 -0
  214. package/src/lib/sdks.ts +107 -0
  215. package/src/lib/security.ts +164 -0
  216. package/src/lib/url.ts +31 -0
  217. package/src/models/components/agent.ts +356 -0
  218. package/src/models/components/agentpromptparams.ts +53 -0
  219. package/src/models/components/calldetail.ts +160 -0
  220. package/src/models/components/callphonenumber.ts +56 -0
  221. package/src/models/components/index.ts +10 -0
  222. package/src/models/components/phonenumber.ts +83 -0
  223. package/src/models/components/security.ts +7 -0
  224. package/src/models/errors/createagent.ts +394 -0
  225. package/src/models/errors/createphonecall.ts +597 -0
  226. package/src/models/errors/createphonenumber.ts +500 -0
  227. package/src/models/errors/deleteagent.ts +394 -0
  228. package/src/models/errors/deletephonenumber.ts +400 -0
  229. package/src/models/errors/getagent.ts +383 -0
  230. package/src/models/errors/getcall.ts +379 -0
  231. package/src/models/errors/getphonenumber.ts +397 -0
  232. package/src/models/errors/index.ts +18 -0
  233. package/src/models/errors/listagents.ts +192 -0
  234. package/src/models/errors/listcalls.ts +289 -0
  235. package/src/models/errors/listphonenumbers.ts +297 -0
  236. package/src/models/errors/sdkerror.ts +24 -0
  237. package/src/models/errors/updateagent.ts +394 -0
  238. package/src/models/errors/updatephoneagent.ts +397 -0
  239. package/src/models/operations/createagent.ts +145 -0
  240. package/src/models/operations/createphonecall.ts +308 -0
  241. package/src/models/operations/createphonenumber.ts +124 -0
  242. package/src/models/operations/createwebcall.ts +16 -0
  243. package/src/models/operations/deleteagent.ts +103 -0
  244. package/src/models/operations/deletephonenumber.ts +103 -0
  245. package/src/models/operations/getagent.ts +114 -0
  246. package/src/models/operations/getcall.ts +114 -0
  247. package/src/models/operations/getphonenumber.ts +114 -0
  248. package/src/models/operations/index.ts +18 -0
  249. package/src/models/operations/listagents.ts +76 -0
  250. package/src/models/operations/listcalls.ts +255 -0
  251. package/src/models/operations/listphonenumbers.ts +76 -0
  252. package/src/models/operations/updateagent.ts +190 -0
  253. package/src/models/operations/updatephoneagent.ts +159 -0
  254. package/src/sdk/index.ts +6 -0
  255. package/src/sdk/liveClient.ts +109 -0
  256. package/src/sdk/sdk.ts +1191 -0
  257. package/src/types/blobs.ts +30 -0
  258. package/src/types/decimal.ts +5 -0
  259. package/src/types/index.ts +8 -0
  260. package/src/types/operations.ts +6 -0
  261. package/src/types/rfcdate.ts +54 -0
  262. package/types/blobs.d.ts +4 -0
  263. package/types/blobs.d.ts.map +1 -0
  264. package/types/blobs.js +52 -0
  265. package/types/blobs.js.map +1 -0
  266. package/types/decimal.d.ts +2 -0
  267. package/types/decimal.d.ts.map +1 -0
  268. package/{dist/types/index.js → types/decimal.js} +2 -1
  269. package/types/decimal.js.map +1 -0
  270. package/types/index.d.ts +5 -0
  271. package/types/index.d.ts.map +1 -0
  272. package/types/index.js +14 -0
  273. package/types/index.js.map +1 -0
  274. package/types/operations.d.ts +5 -0
  275. package/types/operations.d.ts.map +1 -0
  276. package/types/operations.js +6 -0
  277. package/types/operations.js.map +1 -0
  278. package/types/rfcdate.d.ts +21 -0
  279. package/types/rfcdate.d.ts.map +1 -0
  280. package/types/rfcdate.js +46 -0
  281. package/types/rfcdate.js.map +1 -0
  282. package/dist/index.d.ts +0 -1
  283. package/dist/internal/utils/contenttype.d.ts +0 -1
  284. package/dist/internal/utils/contenttype.js +0 -33
  285. package/dist/internal/utils/headers.d.ts +0 -4
  286. package/dist/internal/utils/headers.js +0 -92
  287. package/dist/internal/utils/index.d.ts +0 -8
  288. package/dist/internal/utils/index.js +0 -27
  289. package/dist/internal/utils/pathparams.d.ts +0 -2
  290. package/dist/internal/utils/pathparams.js +0 -53
  291. package/dist/internal/utils/queryparams.d.ts +0 -2
  292. package/dist/internal/utils/queryparams.js +0 -182
  293. package/dist/internal/utils/requestbody.d.ts +0 -2
  294. package/dist/internal/utils/requestbody.js +0 -328
  295. package/dist/internal/utils/retries.d.ts +0 -20
  296. package/dist/internal/utils/retries.js +0 -250
  297. package/dist/internal/utils/security.d.ts +0 -5
  298. package/dist/internal/utils/security.js +0 -196
  299. package/dist/internal/utils/utils.d.ts +0 -37
  300. package/dist/internal/utils/utils.js +0 -368
  301. package/dist/models/components/agent.d.ts +0 -43
  302. package/dist/models/components/agent.js +0 -90
  303. package/dist/models/components/agentnodefaultnorequired.d.ts +0 -35
  304. package/dist/models/components/agentnodefaultnorequired.js +0 -80
  305. package/dist/models/components/agentpromptparams.d.ts +0 -11
  306. package/dist/models/components/agentpromptparams.js +0 -50
  307. package/dist/models/components/calldetail.d.ts +0 -58
  308. package/dist/models/components/calldetail.js +0 -112
  309. package/dist/models/components/callphonenumber.d.ts +0 -14
  310. package/dist/models/components/callphonenumber.js +0 -53
  311. package/dist/models/components/phonenumber.js +0 -65
  312. package/dist/models/components/security.d.ts +0 -4
  313. package/dist/models/components/security.js +0 -45
  314. package/dist/models/errors/createagent.d.ts +0 -45
  315. package/dist/models/errors/createagent.js +0 -144
  316. package/dist/models/errors/createphonecall.d.ts +0 -67
  317. package/dist/models/errors/createphonecall.js +0 -200
  318. package/dist/models/errors/createphonenumber.d.ts +0 -56
  319. package/dist/models/errors/createphonenumber.js +0 -172
  320. package/dist/models/errors/deleteagent.d.ts +0 -45
  321. package/dist/models/errors/deleteagent.js +0 -144
  322. package/dist/models/errors/deletephonenumber.d.ts +0 -45
  323. package/dist/models/errors/deletephonenumber.js +0 -144
  324. package/dist/models/errors/getagent.d.ts +0 -45
  325. package/dist/models/errors/getagent.js +0 -144
  326. package/dist/models/errors/getcall.d.ts +0 -45
  327. package/dist/models/errors/getcall.js +0 -144
  328. package/dist/models/errors/getphonenumber.d.ts +0 -45
  329. package/dist/models/errors/getphonenumber.js +0 -144
  330. package/dist/models/errors/listagents.d.ts +0 -23
  331. package/dist/models/errors/listagents.js +0 -88
  332. package/dist/models/errors/listcalls.d.ts +0 -34
  333. package/dist/models/errors/listcalls.js +0 -116
  334. package/dist/models/errors/listphonenumbers.d.ts +0 -34
  335. package/dist/models/errors/listphonenumbers.js +0 -116
  336. package/dist/models/errors/sdkerror.d.ts +0 -7
  337. package/dist/models/errors/sdkerror.js +0 -40
  338. package/dist/models/errors/updateagent.d.ts +0 -45
  339. package/dist/models/errors/updateagent.js +0 -144
  340. package/dist/models/errors/updatephoneagent.d.ts +0 -45
  341. package/dist/models/errors/updatephoneagent.js +0 -144
  342. package/dist/models/operations/createagent.d.ts +0 -55
  343. package/dist/models/operations/createagent.js +0 -128
  344. package/dist/models/operations/createphonecall.d.ts +0 -87
  345. package/dist/models/operations/createphonecall.js +0 -187
  346. package/dist/models/operations/createphonenumber.d.ts +0 -31
  347. package/dist/models/operations/createphonenumber.js +0 -98
  348. package/dist/models/operations/deleteagent.d.ts +0 -22
  349. package/dist/models/operations/deleteagent.js +0 -63
  350. package/dist/models/operations/deletephonenumber.d.ts +0 -22
  351. package/dist/models/operations/deletephonenumber.js +0 -63
  352. package/dist/models/operations/getagent.d.ts +0 -27
  353. package/dist/models/operations/getagent.js +0 -91
  354. package/dist/models/operations/getcall.d.ts +0 -27
  355. package/dist/models/operations/getcall.js +0 -91
  356. package/dist/models/operations/getphonenumber.d.ts +0 -27
  357. package/dist/models/operations/getphonenumber.js +0 -91
  358. package/dist/models/operations/listagents.d.ts +0 -21
  359. package/dist/models/operations/listagents.js +0 -79
  360. package/dist/models/operations/listcalls.d.ts +0 -70
  361. package/dist/models/operations/listcalls.js +0 -145
  362. package/dist/models/operations/listphonenumbers.d.ts +0 -21
  363. package/dist/models/operations/listphonenumbers.js +0 -79
  364. package/dist/models/operations/updateagent.d.ts +0 -28
  365. package/dist/models/operations/updateagent.js +0 -95
  366. package/dist/models/operations/updatephoneagent.d.ts +0 -34
  367. package/dist/models/operations/updatephoneagent.js +0 -109
  368. package/dist/sdk/index.d.ts +0 -1
  369. package/dist/sdk/sdk.d.ts +0 -115
  370. package/dist/sdk/sdk.js +0 -1625
  371. package/dist/types/index.d.ts +0 -1
  372. package/dist/types/rfcdate.d.ts +0 -9
  373. package/dist/types/rfcdate.js +0 -59
  374. package/docs/models/components/agent.md +0 -17
  375. package/docs/models/components/agentnodefaultnorequired.md +0 -15
  376. package/docs/models/components/agentpromptparams.md +0 -9
  377. package/docs/models/components/calldetail.md +0 -17
  378. package/docs/models/components/callphonenumber.md +0 -11
  379. package/docs/models/components/callstatus.md +0 -12
  380. package/docs/models/components/calltype.md +0 -12
  381. package/docs/models/components/phonenumber.md +0 -12
  382. package/docs/models/components/security.md +0 -8
  383. package/docs/models/errors/createagentresponse422responsebody.md +0 -11
  384. package/docs/models/errors/createagentresponse500responsebody.md +0 -11
  385. package/docs/models/errors/createagentresponsebody.md +0 -11
  386. package/docs/models/errors/createagentresponseresponsebody.md +0 -11
  387. package/docs/models/errors/createphonecallresponse402responsebody.md +0 -11
  388. package/docs/models/errors/createphonecallresponse422responsebody.md +0 -11
  389. package/docs/models/errors/createphonecallresponse429responsebody.md +0 -11
  390. package/docs/models/errors/createphonecallresponse500responsebody.md +0 -11
  391. package/docs/models/errors/createphonecallresponsebody.md +0 -11
  392. package/docs/models/errors/createphonecallresponseresponsebody.md +0 -11
  393. package/docs/models/errors/createphonenumberresponse402responsebody.md +0 -11
  394. package/docs/models/errors/createphonenumberresponse422responsebody.md +0 -11
  395. package/docs/models/errors/createphonenumberresponse500responsebody.md +0 -11
  396. package/docs/models/errors/createphonenumberresponsebody.md +0 -11
  397. package/docs/models/errors/createphonenumberresponseresponsebody.md +0 -11
  398. package/docs/models/errors/deleteagentresponse422responsebody.md +0 -11
  399. package/docs/models/errors/deleteagentresponse500responsebody.md +0 -11
  400. package/docs/models/errors/deleteagentresponsebody.md +0 -11
  401. package/docs/models/errors/deleteagentresponseresponsebody.md +0 -11
  402. package/docs/models/errors/deletephonenumberresponse422responsebody.md +0 -11
  403. package/docs/models/errors/deletephonenumberresponse500responsebody.md +0 -11
  404. package/docs/models/errors/deletephonenumberresponsebody.md +0 -11
  405. package/docs/models/errors/deletephonenumberresponseresponsebody.md +0 -11
  406. package/docs/models/errors/getagentresponse422responsebody.md +0 -11
  407. package/docs/models/errors/getagentresponse500responsebody.md +0 -11
  408. package/docs/models/errors/getagentresponsebody.md +0 -11
  409. package/docs/models/errors/getagentresponseresponsebody.md +0 -11
  410. package/docs/models/errors/getcallresponse422responsebody.md +0 -11
  411. package/docs/models/errors/getcallresponse500responsebody.md +0 -11
  412. package/docs/models/errors/getcallresponsebody.md +0 -11
  413. package/docs/models/errors/getcallresponseresponsebody.md +0 -11
  414. package/docs/models/errors/getphonenumberresponse422responsebody.md +0 -11
  415. package/docs/models/errors/getphonenumberresponse500responsebody.md +0 -11
  416. package/docs/models/errors/getphonenumberresponsebody.md +0 -11
  417. package/docs/models/errors/getphonenumberresponseresponsebody.md +0 -11
  418. package/docs/models/errors/listagentsresponsebody.md +0 -11
  419. package/docs/models/errors/listagentsresponseresponsebody.md +0 -11
  420. package/docs/models/errors/listcallsresponse500responsebody.md +0 -11
  421. package/docs/models/errors/listcallsresponsebody.md +0 -11
  422. package/docs/models/errors/listcallsresponseresponsebody.md +0 -11
  423. package/docs/models/errors/listphonenumbersresponse500responsebody.md +0 -11
  424. package/docs/models/errors/listphonenumbersresponsebody.md +0 -11
  425. package/docs/models/errors/listphonenumbersresponseresponsebody.md +0 -11
  426. package/docs/models/errors/updateagentresponse422responsebody.md +0 -11
  427. package/docs/models/errors/updateagentresponse500responsebody.md +0 -11
  428. package/docs/models/errors/updateagentresponsebody.md +0 -11
  429. package/docs/models/errors/updateagentresponseresponsebody.md +0 -11
  430. package/docs/models/errors/updatephoneagentresponse422responsebody.md +0 -11
  431. package/docs/models/errors/updatephoneagentresponse500responsebody.md +0 -11
  432. package/docs/models/errors/updatephoneagentresponsebody.md +0 -11
  433. package/docs/models/errors/updatephoneagentresponseresponsebody.md +0 -11
  434. package/docs/models/operations/callstatus.md +0 -12
  435. package/docs/models/operations/calltype.md +0 -10
  436. package/docs/models/operations/createagentrequestbody.md +0 -15
  437. package/docs/models/operations/createagentresponse.md +0 -11
  438. package/docs/models/operations/createphonecallcalltype.md +0 -12
  439. package/docs/models/operations/createphonecallrequestbody.md +0 -9
  440. package/docs/models/operations/createphonecallresponse.md +0 -11
  441. package/docs/models/operations/createphonecallresponsebody.md +0 -16
  442. package/docs/models/operations/createphonenumberrequestbody.md +0 -9
  443. package/docs/models/operations/createphonenumberresponse.md +0 -11
  444. package/docs/models/operations/deleteagentrequest.md +0 -8
  445. package/docs/models/operations/deleteagentresponse.md +0 -10
  446. package/docs/models/operations/deletephonenumberrequest.md +0 -8
  447. package/docs/models/operations/deletephonenumberresponse.md +0 -10
  448. package/docs/models/operations/filtercriteria.md +0 -13
  449. package/docs/models/operations/getagentrequest.md +0 -8
  450. package/docs/models/operations/getagentresponse.md +0 -11
  451. package/docs/models/operations/getcallrequest.md +0 -8
  452. package/docs/models/operations/getcallresponse.md +0 -11
  453. package/docs/models/operations/getphonenumberrequest.md +0 -8
  454. package/docs/models/operations/getphonenumberresponse.md +0 -11
  455. package/docs/models/operations/listagentsresponse.md +0 -11
  456. package/docs/models/operations/listcallsrequest.md +0 -10
  457. package/docs/models/operations/listcallsresponse.md +0 -11
  458. package/docs/models/operations/listphonenumbersresponse.md +0 -11
  459. package/docs/models/operations/phonenumber.md +0 -11
  460. package/docs/models/operations/sortorder.md +0 -11
  461. package/docs/models/operations/updateagentrequest.md +0 -9
  462. package/docs/models/operations/updateagentresponse.md +0 -11
  463. package/docs/models/operations/updatephoneagentrequest.md +0 -9
  464. package/docs/models/operations/updatephoneagentrequestbody.md +0 -8
  465. package/docs/models/operations/updatephoneagentresponse.md +0 -11
  466. package/docs/sdks/retellclient/README.md +0 -673
@@ -0,0 +1,203 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
3
+ */
4
+
5
+ export type Fetcher = (
6
+ input: RequestInfo | URL,
7
+ init?: RequestInit,
8
+ ) => Promise<Response>;
9
+
10
+ const DEFAULT_FETCHER: Fetcher = (input, init) => fetch(input, init);
11
+
12
+ export interface HTTPClientOptions {
13
+ fetcher?: Fetcher;
14
+ }
15
+
16
+ type BeforeRequestHook = (req: Request) => Request | void;
17
+ type RequestErrorHook = (err: unknown, req: Request) => void;
18
+ type ResponseHook = (res: Response, req: Request) => void;
19
+
20
+ export class HTTPClient {
21
+ private fetcher: Fetcher;
22
+ private requestHooks: BeforeRequestHook[] = [];
23
+ private requestErrorHooks: RequestErrorHook[] = [];
24
+ private responseHooks: ResponseHook[] = [];
25
+
26
+ constructor(private options: HTTPClientOptions = {}) {
27
+ this.fetcher = options.fetcher || DEFAULT_FETCHER;
28
+ }
29
+
30
+ async request(request: Request): Promise<Response> {
31
+ const req = this.requestHooks.reduce((currentReq, fn) => {
32
+ const nextRequest = fn(currentReq);
33
+ return nextRequest || currentReq;
34
+ }, request);
35
+
36
+ try {
37
+ const res = await this.fetcher(req);
38
+ this.responseHooks.forEach((fn) => fn(res, req));
39
+ return res;
40
+ } catch (err) {
41
+ this.requestErrorHooks.forEach((fn) => fn(err, req));
42
+ throw err;
43
+ }
44
+ }
45
+
46
+ /**
47
+ * Registers a hook that is called before a request is made. The hook function
48
+ * can mutate the request or return a new request. This may be useful to add
49
+ * additional information to request such as request IDs and tracing headers.
50
+ */
51
+ addHook(hook: "beforeRequest", fn: BeforeRequestHook): this;
52
+ /**
53
+ * Registers a hook that is called when a request cannot be made due to a
54
+ * network error.
55
+ */
56
+ addHook(hook: "requestError", fn: RequestErrorHook): this;
57
+ /**
58
+ * Registers a hook that is called when a response has been received from the
59
+ * server.
60
+ */
61
+ addHook(hook: "response", fn: ResponseHook): this;
62
+ addHook(
63
+ ...args:
64
+ | [hook: "beforeRequest", fn: BeforeRequestHook]
65
+ | [hook: "requestError", fn: RequestErrorHook]
66
+ | [hook: "response", fn: ResponseHook]
67
+ ) {
68
+ if (args[0] === "beforeRequest") {
69
+ this.requestHooks.push(args[1]);
70
+ } else if (args[0] === "requestError") {
71
+ this.requestErrorHooks.push(args[1]);
72
+ } else if (args[0] === "response") {
73
+ this.responseHooks.push(args[1]);
74
+ } else {
75
+ throw new Error(`Invalid hook type: ${args[0]}`);
76
+ }
77
+ return this;
78
+ }
79
+
80
+ /** Removes a hook that was previously registered with `addHook`. */
81
+ removeHook(hook: "beforeRequest", fn: BeforeRequestHook): this;
82
+ /** Removes a hook that was previously registered with `addHook`. */
83
+ removeHook(hook: "requestError", fn: RequestErrorHook): this;
84
+ /** Removes a hook that was previously registered with `addHook`. */
85
+ removeHook(hook: "response", fn: ResponseHook): this;
86
+ removeHook(
87
+ ...args:
88
+ | [hook: "beforeRequest", fn: BeforeRequestHook]
89
+ | [hook: "requestError", fn: RequestErrorHook]
90
+ | [hook: "response", fn: ResponseHook]
91
+ ) {
92
+ let target: unknown[];
93
+ if (args[0] === "beforeRequest") {
94
+ target = this.requestHooks;
95
+ } else if (args[0] === "requestError") {
96
+ target = this.requestErrorHooks;
97
+ } else if (args[0] === "response") {
98
+ target = this.responseHooks;
99
+ } else {
100
+ throw new Error(`Invalid hook type: ${args[0]}`);
101
+ }
102
+
103
+ const index = target.findIndex((v) => v === args[1]);
104
+ if (index >= 0) {
105
+ target.splice(index, 1);
106
+ }
107
+
108
+ return this;
109
+ }
110
+
111
+ clone() {
112
+ const child = new HTTPClient(this.options);
113
+ child.requestHooks = this.requestHooks.slice();
114
+ child.requestErrorHooks = this.requestErrorHooks.slice();
115
+ child.responseHooks = this.responseHooks.slice();
116
+
117
+ return child;
118
+ }
119
+ }
120
+
121
+ export function matchContentType(response: Response, pattern: string): boolean {
122
+ if (pattern === "*" || pattern === "*/*") {
123
+ return true;
124
+ }
125
+
126
+ const contentType =
127
+ response.headers.get("content-type") ?? "application/octet-stream";
128
+
129
+ const idx = contentType.split(";").findIndex((raw) => {
130
+ const ctype = raw.trim();
131
+ if (ctype === pattern) {
132
+ return true;
133
+ }
134
+
135
+ const parts = ctype.split("/");
136
+ if (parts.length !== 2) {
137
+ return false;
138
+ }
139
+
140
+ return `${parts[0]}/*` === pattern || `*/${parts[1]}` === pattern;
141
+ });
142
+
143
+ return idx >= 0;
144
+ }
145
+
146
+ const codeRangeRE = new RegExp("^[0-9]xx$", "i");
147
+
148
+ export function matchStatusCode(
149
+ response: Response,
150
+ codes: number | string | (number | string)[],
151
+ ) {
152
+ const actual = `${response.status}`;
153
+ const expectedCodes = Array.isArray(codes) ? codes : [codes];
154
+ if (!expectedCodes.length) {
155
+ return false;
156
+ }
157
+
158
+ return expectedCodes.some((ec) => {
159
+ const code = `${ec}`;
160
+
161
+ if (code === "default") {
162
+ return true;
163
+ }
164
+
165
+ if (!codeRangeRE.test(`${code}`)) {
166
+ return code === actual;
167
+ }
168
+
169
+ const expectFamily = code.charAt(0);
170
+ if (!expectFamily) {
171
+ throw new Error("Invalid status code range");
172
+ }
173
+
174
+ const actualFamily = actual.charAt(0);
175
+ if (!actualFamily) {
176
+ throw new Error(`Invalid response status code: ${actual}`);
177
+ }
178
+
179
+ return actualFamily === expectFamily;
180
+ });
181
+ }
182
+
183
+ export function matchResponse(
184
+ response: Response,
185
+ code: number | string | (number | string)[],
186
+ contentTypePattern: string,
187
+ ): boolean {
188
+ return (
189
+ matchStatusCode(response, code) &&
190
+ matchContentType(response, contentTypePattern)
191
+ );
192
+ }
193
+
194
+ const headerValRE = /, */;
195
+ export function unpackHeaders(headers: Headers): Record<string, string[]> {
196
+ const out: Record<string, string[]> = {};
197
+
198
+ for (const [k, v] of headers.entries()) {
199
+ out[k] = v.split(headerValRE);
200
+ }
201
+
202
+ return out;
203
+ }
@@ -0,0 +1,207 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
3
+ */
4
+
5
+ export type BackoffStrategy = {
6
+ initialInterval: number;
7
+ maxInterval: number;
8
+ exponent: number;
9
+ maxElapsedTime: number;
10
+ };
11
+
12
+ const defaultBackoff: BackoffStrategy = {
13
+ initialInterval: 500,
14
+ maxInterval: 60000,
15
+ exponent: 1.5,
16
+ maxElapsedTime: 3600000,
17
+ };
18
+
19
+ export type RetryConfig =
20
+ | { strategy: "none" }
21
+ | {
22
+ strategy: "backoff";
23
+ backoff?: BackoffStrategy;
24
+ retryConnectionErrors?: boolean;
25
+ };
26
+
27
+ class PermanentError extends Error {
28
+ inner: unknown;
29
+
30
+ constructor(inner: unknown) {
31
+ super("Permanent error");
32
+ this.inner = inner;
33
+
34
+ Object.setPrototypeOf(this, PermanentError.prototype);
35
+ }
36
+ }
37
+
38
+ class TemporaryError extends Error {
39
+ res: Response;
40
+
41
+ constructor(res: Response) {
42
+ super("Temporary error");
43
+ this.res = res;
44
+
45
+ Object.setPrototypeOf(this, TemporaryError.prototype);
46
+ }
47
+ }
48
+
49
+ export async function retry(
50
+ fetchFn: () => Promise<Response>,
51
+ options: {
52
+ config: RetryConfig;
53
+ statusCodes: string[];
54
+ },
55
+ ): Promise<Response> {
56
+ switch (options.config.strategy) {
57
+ case "backoff":
58
+ return retryBackoff(
59
+ wrapFetcher(fetchFn, {
60
+ statusCodes: options.statusCodes,
61
+ retryConnectionErrors: !!options.config.retryConnectionErrors,
62
+ }),
63
+ options.config.backoff ?? defaultBackoff,
64
+ );
65
+ default:
66
+ return await fetchFn();
67
+ }
68
+ }
69
+
70
+ function wrapFetcher(
71
+ fn: () => Promise<Response>,
72
+ options: {
73
+ statusCodes: string[];
74
+ retryConnectionErrors: boolean;
75
+ },
76
+ ): () => Promise<Response> {
77
+ return async () => {
78
+ try {
79
+ const res = await fn();
80
+ if (isRetryableResponse(res, options.statusCodes)) {
81
+ throw new TemporaryError(res);
82
+ }
83
+
84
+ return res;
85
+ } catch (err) {
86
+ if (err instanceof TemporaryError) {
87
+ throw err;
88
+ }
89
+
90
+ if (
91
+ options.retryConnectionErrors &&
92
+ (isTimeoutError(err) || isConnectionError(err))
93
+ ) {
94
+ throw err;
95
+ }
96
+
97
+ throw new PermanentError(err);
98
+ }
99
+ };
100
+ }
101
+
102
+ function isConnectionError(err: unknown) {
103
+ if (typeof err !== "object" || err == null) {
104
+ return false;
105
+ }
106
+
107
+ // Covers fetch in Deno as well
108
+ const isBrowserErr =
109
+ err instanceof TypeError &&
110
+ err.message.toLowerCase().startsWith("failed to fetch");
111
+
112
+ const isNodeErr =
113
+ err instanceof TypeError &&
114
+ err.message.toLowerCase().startsWith("fetch failed");
115
+
116
+ const isBunErr = "name" in err && err.name === "ConnectionError";
117
+
118
+ const isGenericErr =
119
+ "code" in err &&
120
+ typeof err.code === "string" &&
121
+ err.code.toLowerCase() === "econnreset";
122
+
123
+ return isBrowserErr || isNodeErr || isGenericErr || isBunErr;
124
+ }
125
+
126
+ function isTimeoutError(err: unknown) {
127
+ if (typeof err !== "object" || err == null) {
128
+ return false;
129
+ }
130
+
131
+ // Fetch in browser, Node.js, Bun, Deno
132
+ const isNative = "name" in err && err.name === "TimeoutError";
133
+
134
+ // Node.js HTTP client and Axios
135
+ const isGenericErr =
136
+ "code" in err &&
137
+ typeof err.code === "string" &&
138
+ err.code.toLowerCase() === "econnaborted";
139
+
140
+ return isNative || isGenericErr;
141
+ }
142
+
143
+ const codeRangeRE = new RegExp("^[0-9]xx$", "i");
144
+
145
+ function isRetryableResponse(res: Response, statusCodes: string[]): boolean {
146
+ const actual = `${res.status}`;
147
+
148
+ return statusCodes.some((code) => {
149
+ if (!codeRangeRE.test(code)) {
150
+ return code === actual;
151
+ }
152
+
153
+ const expectFamily = code.charAt(0);
154
+ if (!expectFamily) {
155
+ throw new Error("Invalid status code range");
156
+ }
157
+
158
+ const actualFamily = actual.charAt(0);
159
+ if (!actualFamily) {
160
+ throw new Error(`Invalid response status code: ${actual}`);
161
+ }
162
+
163
+ return actualFamily === expectFamily;
164
+ });
165
+ }
166
+
167
+ async function retryBackoff(
168
+ fn: () => Promise<Response>,
169
+ strategy: BackoffStrategy,
170
+ ): Promise<Response> {
171
+ const { maxElapsedTime, initialInterval, exponent, maxInterval } = strategy;
172
+
173
+ const start = Date.now();
174
+ let x = 0;
175
+
176
+ // eslint-disable-next-line no-constant-condition
177
+ while (true) {
178
+ try {
179
+ const res = await fn();
180
+ return res;
181
+ } catch (err) {
182
+ if (err instanceof PermanentError) {
183
+ throw err.inner;
184
+ }
185
+ const elapsed = Date.now() - start;
186
+ if (elapsed > maxElapsedTime) {
187
+ if (err instanceof TemporaryError) {
188
+ return err.res;
189
+ }
190
+
191
+ throw err;
192
+ }
193
+
194
+ const d = Math.min(
195
+ initialInterval * Math.pow(x, exponent) + Math.random() * 1000,
196
+ maxInterval,
197
+ );
198
+
199
+ await delay(d);
200
+ x++;
201
+ }
202
+ }
203
+ }
204
+
205
+ async function delay(delay: number): Promise<void> {
206
+ return new Promise((resolve) => setTimeout(resolve, delay));
207
+ }
@@ -0,0 +1,107 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
3
+ */
4
+
5
+ import { HTTPClient, matchResponse, matchStatusCode, unpackHeaders } from "./http";
6
+ import { SecurityState, resolveSecurity, resolveGlobalSecurity } from "./security";
7
+ import { pathToFunc } from "./url";
8
+ import { encodeForm } from "./encodings";
9
+ import { stringToBase64 } from "./base64";
10
+
11
+ export type RequestOptions = {
12
+ fetchOptions?: Omit<RequestInit, "method" | "body">;
13
+ };
14
+
15
+ type RequestConfig = {
16
+ method: string;
17
+ path: string;
18
+ baseURL?: string | URL;
19
+ query?: string;
20
+ body?: RequestInit["body"];
21
+ headers?: HeadersInit;
22
+ security?: SecurityState | null;
23
+ };
24
+
25
+ export class ClientSDK {
26
+ readonly #client: HTTPClient;
27
+ protected readonly baseURL: URL;
28
+
29
+ constructor(init: { client: HTTPClient; baseURL: URL }) {
30
+ const url = init.baseURL;
31
+ url.pathname = url.pathname.replace(/\/+$/, "") + "/";
32
+
33
+ this.#client = init.client;
34
+ this.baseURL = url;
35
+ }
36
+
37
+ protected async fetch$(conf: RequestConfig, options?: RequestOptions) {
38
+ const { method, path, query, headers: opHeaders, security } = conf;
39
+
40
+ const reqURL = new URL(conf.baseURL ?? this.baseURL);
41
+ const inputURL = new URL(path, reqURL);
42
+
43
+ if (path) {
44
+ reqURL.pathname += inputURL.pathname.replace(/^\/+/, "");
45
+ }
46
+
47
+ let finalQuery = query || "";
48
+
49
+ const secQuery: string[] = [];
50
+ for (const [k, v] of Object.entries(security?.queryParams || {})) {
51
+ secQuery.push(encodeForm(k, v, { charEncoding: "percent" }));
52
+ }
53
+ if (secQuery.length) {
54
+ finalQuery += `&${secQuery.join("&")}`;
55
+ }
56
+
57
+ if (finalQuery) {
58
+ const q = finalQuery.startsWith("&") ? finalQuery.slice(1) : finalQuery;
59
+ reqURL.search = `?${q}`;
60
+ }
61
+
62
+ const headers = new Headers(opHeaders);
63
+
64
+ const username = security?.basic.username || "";
65
+ const password = security?.basic.password || "";
66
+ if (username) {
67
+ const encoded = stringToBase64([username, password].join(":"));
68
+ headers.set("Authorization", `Basic ${encoded}`);
69
+ }
70
+
71
+ const securityHeaders = new Headers(security?.headers || {});
72
+ for (const [k, v] of securityHeaders) {
73
+ headers.set(k, v);
74
+ }
75
+
76
+ let cookie = headers.get("cookie") || "";
77
+ for (const [k, v] of Object.entries(security?.cookies || {})) {
78
+ cookie += `; ${k}=${v}`;
79
+ }
80
+ cookie = cookie.startsWith("; ") ? cookie.slice(2) : cookie;
81
+ headers.set("cookie", cookie);
82
+
83
+ const userHeaders = new Headers(options?.fetchOptions?.headers);
84
+ for (const [k, v] of userHeaders) {
85
+ headers.set(k, v);
86
+ }
87
+
88
+ const req = new Request(reqURL, {
89
+ ...options?.fetchOptions,
90
+ body: conf.body ?? null,
91
+ headers,
92
+ method,
93
+ });
94
+
95
+ return this.#client.request(req);
96
+ }
97
+
98
+ protected unpackHeaders = unpackHeaders;
99
+
100
+ protected matchStatusCode = matchStatusCode;
101
+ protected matchResponse = matchResponse;
102
+
103
+ protected templateURLComponent = pathToFunc;
104
+
105
+ protected resolveSecurity = resolveSecurity;
106
+ protected resolveGlobalSecurity = resolveGlobalSecurity;
107
+ }
@@ -0,0 +1,164 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
3
+ */
4
+
5
+ import * as components from "../models/components";
6
+
7
+ export enum SecurityErrorCode {
8
+ Incomplete = "incomplete",
9
+ UnrecognisedSecurityType = "unrecognized_security_type",
10
+ }
11
+
12
+ export class SecurityError extends Error {
13
+ constructor(public code: SecurityErrorCode, message: string, options?: ErrorOptions) {
14
+ super(message, options);
15
+ this.name = "SecurityError";
16
+ }
17
+
18
+ static incomplete(): SecurityError {
19
+ return new SecurityError(
20
+ SecurityErrorCode.Incomplete,
21
+ "Security requirements not met in order to perform the operation"
22
+ );
23
+ }
24
+ static unrecognizedType(type: string): SecurityError {
25
+ return new SecurityError(
26
+ SecurityErrorCode.UnrecognisedSecurityType,
27
+ `Unrecognised security type: ${type}`
28
+ );
29
+ }
30
+ }
31
+
32
+ export type SecurityState = {
33
+ basic: { username: string; password?: string };
34
+ headers: Record<string, string>;
35
+ queryParams: Record<string, string>;
36
+ cookies: Record<string, string>;
37
+ };
38
+
39
+ type SecurityInputBasicPacked = {
40
+ type: "http:basic";
41
+ value: { username: string; password?: string } | null | undefined;
42
+ };
43
+
44
+ type SecurityInputBasic = {
45
+ type: "http:basic";
46
+ value: string | null | undefined;
47
+ fieldName: "username" | "password";
48
+ };
49
+
50
+ type SecurityInputBearer = {
51
+ type: "http:bearer";
52
+ value: string | null | undefined;
53
+ fieldName: string;
54
+ };
55
+
56
+ type SecurityInputAPIKey = {
57
+ type: "apiKey:header" | "apiKey:query" | "apiKey:cookie";
58
+ value: string | null | undefined;
59
+ fieldName: string;
60
+ };
61
+
62
+ type SecurityInputOIDC = {
63
+ type: "openIdConnect";
64
+ value: string | null | undefined;
65
+ fieldName: string;
66
+ };
67
+
68
+ type SecurityInputOAuth2 = {
69
+ type: "oauth2";
70
+ value: string | null | undefined;
71
+ fieldName: string;
72
+ };
73
+
74
+ export type SecurityInput =
75
+ | SecurityInputBasic
76
+ | SecurityInputBasicPacked
77
+ | SecurityInputBearer
78
+ | SecurityInputAPIKey
79
+ | SecurityInputOAuth2
80
+ | SecurityInputOIDC;
81
+
82
+ export function resolveSecurity(...options: SecurityInput[][]): SecurityState | null {
83
+ const state: SecurityState = {
84
+ basic: { username: "", password: "" },
85
+ headers: {},
86
+ queryParams: {},
87
+ cookies: {},
88
+ };
89
+
90
+ const option = options.find((opts) => opts.every((o) => Boolean(o.value)));
91
+ if (option == null) {
92
+ return null;
93
+ }
94
+
95
+ option.forEach((spec) => {
96
+ if (spec.value == null) {
97
+ return;
98
+ }
99
+
100
+ const { type } = spec;
101
+
102
+ switch (type) {
103
+ case "apiKey:header":
104
+ state.headers[spec.fieldName] = spec.value;
105
+ break;
106
+ case "apiKey:query":
107
+ state.queryParams[spec.fieldName] = spec.value;
108
+ break;
109
+ case "apiKey:cookie":
110
+ state.cookies[spec.fieldName] = spec.value;
111
+ break;
112
+ case "http:basic":
113
+ applyBasic(state, spec);
114
+ break;
115
+ case "http:bearer":
116
+ applyBearer(state, spec);
117
+ break;
118
+ case "oauth2":
119
+ applyBearer(state, spec);
120
+ break;
121
+ case "openIdConnect":
122
+ applyBearer(state, spec);
123
+ break;
124
+ default:
125
+ spec satisfies never;
126
+ throw SecurityError.unrecognizedType(type);
127
+ }
128
+ });
129
+
130
+ return state;
131
+ }
132
+
133
+ function applyBasic(state: SecurityState, spec: SecurityInputBasic | SecurityInputBasicPacked) {
134
+ if (spec.value == null) {
135
+ return;
136
+ }
137
+
138
+ if ("fieldName" in spec) {
139
+ state.basic[spec.fieldName] = spec.value;
140
+ } else {
141
+ state.basic = spec.value;
142
+ }
143
+ }
144
+
145
+ function applyBearer(
146
+ state: SecurityState,
147
+ spec: SecurityInputBearer | SecurityInputOAuth2 | SecurityInputOIDC
148
+ ) {
149
+ if (spec.value == null) {
150
+ return;
151
+ }
152
+
153
+ let value = spec.value;
154
+ if (value.slice(0, 7).toLowerCase() !== "bearer ") {
155
+ value = `Bearer ${value}`;
156
+ }
157
+
158
+ state.headers[spec.fieldName] = value;
159
+ }
160
+ export function resolveGlobalSecurity(security: Partial<components.Security> | null | undefined) {
161
+ return resolveSecurity([
162
+ { value: security?.apiKey, fieldName: "Authorization", type: "http:bearer" },
163
+ ]);
164
+ }
package/src/lib/url.ts ADDED
@@ -0,0 +1,31 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
3
+ */
4
+
5
+ const hasOwn = Object.prototype.hasOwnProperty;
6
+
7
+ export function pathToFunc(
8
+ pathPattern: string,
9
+ options?: { charEncoding?: "percent" | "none" },
10
+ ): (params?: Record<string, string | number>) => string {
11
+ const paramRE = /\{([a-zA-Z0-9_]+?)\}/g;
12
+
13
+ return function buildURLPath(params: Record<string, unknown> = {}): string {
14
+ return pathPattern.replace(paramRE, function (_, placeholder) {
15
+ if (!hasOwn.call(params, placeholder)) {
16
+ throw new Error(`Parameter '${placeholder}' is required`);
17
+ }
18
+
19
+ const value = params[placeholder];
20
+ if (typeof value !== "string" && typeof value !== "number") {
21
+ throw new Error(
22
+ `Parameter '${placeholder}' must be a string or number`,
23
+ );
24
+ }
25
+
26
+ return options?.charEncoding === "percent"
27
+ ? encodeURIComponent(`${value}`)
28
+ : `${value}`;
29
+ });
30
+ };
31
+ }