@typecall/admin-sdk 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (523) hide show
  1. package/dist/fabric/common/call.cjs +4 -0
  2. package/dist/fabric/common/call.cjs.map +1 -0
  3. package/dist/fabric/common/call.d.cts +12 -0
  4. package/dist/fabric/common/call.d.ts +12 -0
  5. package/dist/fabric/common/call.js +3 -0
  6. package/dist/fabric/common/call.js.map +1 -0
  7. package/dist/fabric/common/conversation.cjs +4 -0
  8. package/dist/fabric/common/conversation.cjs.map +1 -0
  9. package/dist/fabric/common/conversation.d.cts +13 -0
  10. package/dist/fabric/common/conversation.d.ts +13 -0
  11. package/dist/fabric/common/conversation.js +3 -0
  12. package/dist/fabric/common/conversation.js.map +1 -0
  13. package/dist/fabric/common/country.cjs +4 -0
  14. package/dist/fabric/common/country.cjs.map +1 -0
  15. package/dist/fabric/common/country.d.cts +3 -0
  16. package/dist/fabric/common/country.d.ts +3 -0
  17. package/dist/fabric/common/country.js +3 -0
  18. package/dist/fabric/common/country.js.map +1 -0
  19. package/dist/fabric/common/date.cjs +4 -0
  20. package/dist/fabric/common/date.cjs.map +1 -0
  21. package/dist/fabric/common/date.d.cts +4 -0
  22. package/dist/fabric/common/date.d.ts +4 -0
  23. package/dist/fabric/common/date.js +3 -0
  24. package/dist/fabric/common/date.js.map +1 -0
  25. package/dist/fabric/common/entity.cjs +4 -0
  26. package/dist/fabric/common/entity.cjs.map +1 -0
  27. package/dist/fabric/common/entity.d.cts +9 -0
  28. package/dist/fabric/common/entity.d.ts +9 -0
  29. package/dist/fabric/common/entity.js +3 -0
  30. package/dist/fabric/common/entity.js.map +1 -0
  31. package/dist/fabric/common/field.cjs +4 -0
  32. package/dist/fabric/common/field.cjs.map +1 -0
  33. package/dist/fabric/common/field.d.cts +8 -0
  34. package/dist/fabric/common/field.d.ts +8 -0
  35. package/dist/fabric/common/field.js +3 -0
  36. package/dist/fabric/common/field.js.map +1 -0
  37. package/dist/fabric/common/handle.cjs +18 -0
  38. package/dist/fabric/common/handle.cjs.map +1 -0
  39. package/dist/fabric/common/handle.d.cts +20 -0
  40. package/dist/fabric/common/handle.d.ts +20 -0
  41. package/dist/fabric/common/handle.js +11 -0
  42. package/dist/fabric/common/handle.js.map +1 -0
  43. package/dist/fabric/common/language.cjs +4 -0
  44. package/dist/fabric/common/language.cjs.map +1 -0
  45. package/dist/fabric/common/language.d.cts +3 -0
  46. package/dist/fabric/common/language.d.ts +3 -0
  47. package/dist/fabric/common/language.js +3 -0
  48. package/dist/fabric/common/language.js.map +1 -0
  49. package/dist/fabric/common/money.cjs +4 -0
  50. package/dist/fabric/common/money.cjs.map +1 -0
  51. package/dist/fabric/common/money.d.cts +7 -0
  52. package/dist/fabric/common/money.d.ts +7 -0
  53. package/dist/fabric/common/money.js +3 -0
  54. package/dist/fabric/common/money.js.map +1 -0
  55. package/dist/fabric/common/note.cjs +4 -0
  56. package/dist/fabric/common/note.cjs.map +1 -0
  57. package/dist/fabric/common/note.d.cts +10 -0
  58. package/dist/fabric/common/note.d.ts +10 -0
  59. package/dist/fabric/common/note.js +3 -0
  60. package/dist/fabric/common/note.js.map +1 -0
  61. package/dist/fabric/common/region.cjs +4 -0
  62. package/dist/fabric/common/region.cjs.map +1 -0
  63. package/dist/fabric/common/region.d.cts +3 -0
  64. package/dist/fabric/common/region.d.ts +3 -0
  65. package/dist/fabric/common/region.js +3 -0
  66. package/dist/fabric/common/region.js.map +1 -0
  67. package/dist/fabric/common/user.cjs +4 -0
  68. package/dist/fabric/common/user.cjs.map +1 -0
  69. package/dist/fabric/common/user.d.cts +4 -0
  70. package/dist/fabric/common/user.d.ts +4 -0
  71. package/dist/fabric/common/user.js +3 -0
  72. package/dist/fabric/common/user.js.map +1 -0
  73. package/dist/fabric/domains/account/account.cjs +4 -0
  74. package/dist/fabric/domains/account/account.cjs.map +1 -0
  75. package/dist/fabric/domains/account/account.d.cts +58 -0
  76. package/dist/fabric/domains/account/account.d.ts +58 -0
  77. package/dist/fabric/domains/account/account.js +3 -0
  78. package/dist/fabric/domains/account/account.js.map +1 -0
  79. package/dist/fabric/domains/account/device.cjs +4 -0
  80. package/dist/fabric/domains/account/device.cjs.map +1 -0
  81. package/dist/fabric/domains/account/device.d.cts +29 -0
  82. package/dist/fabric/domains/account/device.d.ts +29 -0
  83. package/dist/fabric/domains/account/device.js +3 -0
  84. package/dist/fabric/domains/account/device.js.map +1 -0
  85. package/dist/fabric/domains/account/token.cjs +4 -0
  86. package/dist/fabric/domains/account/token.cjs.map +1 -0
  87. package/dist/fabric/domains/account/token.d.cts +7 -0
  88. package/dist/fabric/domains/account/token.d.ts +7 -0
  89. package/dist/fabric/domains/account/token.js +3 -0
  90. package/dist/fabric/domains/account/token.js.map +1 -0
  91. package/dist/fabric/domains/analytics/call.cjs +4 -0
  92. package/dist/fabric/domains/analytics/call.cjs.map +1 -0
  93. package/dist/fabric/domains/analytics/call.d.cts +288 -0
  94. package/dist/fabric/domains/analytics/call.d.ts +288 -0
  95. package/dist/fabric/domains/analytics/call.js +3 -0
  96. package/dist/fabric/domains/analytics/call.js.map +1 -0
  97. package/dist/fabric/domains/analytics/charge.cjs +4 -0
  98. package/dist/fabric/domains/analytics/charge.cjs.map +1 -0
  99. package/dist/fabric/domains/analytics/charge.d.cts +14 -0
  100. package/dist/fabric/domains/analytics/charge.d.ts +14 -0
  101. package/dist/fabric/domains/analytics/charge.js +3 -0
  102. package/dist/fabric/domains/analytics/charge.js.map +1 -0
  103. package/dist/fabric/domains/analytics/utterance.cjs +4 -0
  104. package/dist/fabric/domains/analytics/utterance.cjs.map +1 -0
  105. package/dist/fabric/domains/analytics/utterance.d.cts +39 -0
  106. package/dist/fabric/domains/analytics/utterance.d.ts +39 -0
  107. package/dist/fabric/domains/analytics/utterance.js +3 -0
  108. package/dist/fabric/domains/analytics/utterance.js.map +1 -0
  109. package/dist/fabric/domains/phone/call.cjs +4 -0
  110. package/dist/fabric/domains/phone/call.cjs.map +1 -0
  111. package/dist/fabric/domains/phone/call.d.cts +7 -0
  112. package/dist/fabric/domains/phone/call.d.ts +7 -0
  113. package/dist/fabric/domains/phone/call.js +3 -0
  114. package/dist/fabric/domains/phone/call.js.map +1 -0
  115. package/dist/fabric/domains/phone/command.cjs +4 -0
  116. package/dist/fabric/domains/phone/command.cjs.map +1 -0
  117. package/dist/fabric/domains/phone/command.d.cts +142 -0
  118. package/dist/fabric/domains/phone/command.d.ts +142 -0
  119. package/dist/fabric/domains/phone/command.js +3 -0
  120. package/dist/fabric/domains/phone/command.js.map +1 -0
  121. package/dist/fabric/domains/phone/endpoint.cjs +4 -0
  122. package/dist/fabric/domains/phone/endpoint.cjs.map +1 -0
  123. package/dist/fabric/domains/phone/endpoint.d.cts +37 -0
  124. package/dist/fabric/domains/phone/endpoint.d.ts +37 -0
  125. package/dist/fabric/domains/phone/endpoint.js +3 -0
  126. package/dist/fabric/domains/phone/endpoint.js.map +1 -0
  127. package/dist/fabric/domains/phone/state.cjs +4 -0
  128. package/dist/fabric/domains/phone/state.cjs.map +1 -0
  129. package/dist/fabric/domains/phone/state.d.cts +42 -0
  130. package/dist/fabric/domains/phone/state.d.ts +42 -0
  131. package/dist/fabric/domains/phone/state.js +3 -0
  132. package/dist/fabric/domains/phone/state.js.map +1 -0
  133. package/dist/fabric/domains/workspace/business_hours.cjs +4 -0
  134. package/dist/fabric/domains/workspace/business_hours.cjs.map +1 -0
  135. package/dist/fabric/domains/workspace/business_hours.d.cts +65 -0
  136. package/dist/fabric/domains/workspace/business_hours.d.ts +65 -0
  137. package/dist/fabric/domains/workspace/business_hours.js +3 -0
  138. package/dist/fabric/domains/workspace/business_hours.js.map +1 -0
  139. package/dist/fabric/domains/workspace/channel.cjs +4 -0
  140. package/dist/fabric/domains/workspace/channel.cjs.map +1 -0
  141. package/dist/fabric/domains/workspace/channel.d.cts +103 -0
  142. package/dist/fabric/domains/workspace/channel.d.ts +103 -0
  143. package/dist/fabric/domains/workspace/channel.js +3 -0
  144. package/dist/fabric/domains/workspace/channel.js.map +1 -0
  145. package/dist/fabric/domains/workspace/channel_number.cjs +4 -0
  146. package/dist/fabric/domains/workspace/channel_number.cjs.map +1 -0
  147. package/dist/fabric/domains/workspace/channel_number.d.cts +53 -0
  148. package/dist/fabric/domains/workspace/channel_number.d.ts +53 -0
  149. package/dist/fabric/domains/workspace/channel_number.js +3 -0
  150. package/dist/fabric/domains/workspace/channel_number.js.map +1 -0
  151. package/dist/fabric/domains/workspace/channel_user.cjs +4 -0
  152. package/dist/fabric/domains/workspace/channel_user.cjs.map +1 -0
  153. package/dist/fabric/domains/workspace/channel_user.d.cts +23 -0
  154. package/dist/fabric/domains/workspace/channel_user.d.ts +23 -0
  155. package/dist/fabric/domains/workspace/channel_user.js +3 -0
  156. package/dist/fabric/domains/workspace/channel_user.js.map +1 -0
  157. package/dist/fabric/domains/workspace/chat.cjs +4 -0
  158. package/dist/fabric/domains/workspace/chat.cjs.map +1 -0
  159. package/dist/fabric/domains/workspace/chat.d.cts +43 -0
  160. package/dist/fabric/domains/workspace/chat.d.ts +43 -0
  161. package/dist/fabric/domains/workspace/chat.js +3 -0
  162. package/dist/fabric/domains/workspace/chat.js.map +1 -0
  163. package/dist/fabric/domains/workspace/chat_user.cjs +4 -0
  164. package/dist/fabric/domains/workspace/chat_user.cjs.map +1 -0
  165. package/dist/fabric/domains/workspace/chat_user.d.cts +23 -0
  166. package/dist/fabric/domains/workspace/chat_user.d.ts +23 -0
  167. package/dist/fabric/domains/workspace/chat_user.js +3 -0
  168. package/dist/fabric/domains/workspace/chat_user.js.map +1 -0
  169. package/dist/fabric/domains/workspace/communication.cjs +4 -0
  170. package/dist/fabric/domains/workspace/communication.cjs.map +1 -0
  171. package/dist/fabric/domains/workspace/communication.d.cts +112 -0
  172. package/dist/fabric/domains/workspace/communication.d.ts +112 -0
  173. package/dist/fabric/domains/workspace/communication.js +3 -0
  174. package/dist/fabric/domains/workspace/communication.js.map +1 -0
  175. package/dist/fabric/domains/workspace/company.cjs +4 -0
  176. package/dist/fabric/domains/workspace/company.cjs.map +1 -0
  177. package/dist/fabric/domains/workspace/company.d.cts +22 -0
  178. package/dist/fabric/domains/workspace/company.d.ts +22 -0
  179. package/dist/fabric/domains/workspace/company.js +3 -0
  180. package/dist/fabric/domains/workspace/company.js.map +1 -0
  181. package/dist/fabric/domains/workspace/contact.cjs +4 -0
  182. package/dist/fabric/domains/workspace/contact.cjs.map +1 -0
  183. package/dist/fabric/domains/workspace/contact.d.cts +50 -0
  184. package/dist/fabric/domains/workspace/contact.d.ts +50 -0
  185. package/dist/fabric/domains/workspace/contact.js +3 -0
  186. package/dist/fabric/domains/workspace/contact.js.map +1 -0
  187. package/dist/fabric/domains/workspace/contact_channel.cjs +4 -0
  188. package/dist/fabric/domains/workspace/contact_channel.cjs.map +1 -0
  189. package/dist/fabric/domains/workspace/contact_channel.d.cts +23 -0
  190. package/dist/fabric/domains/workspace/contact_channel.d.ts +23 -0
  191. package/dist/fabric/domains/workspace/contact_channel.js +3 -0
  192. package/dist/fabric/domains/workspace/contact_channel.js.map +1 -0
  193. package/dist/fabric/domains/workspace/contact_company.cjs +4 -0
  194. package/dist/fabric/domains/workspace/contact_company.cjs.map +1 -0
  195. package/dist/fabric/domains/workspace/contact_company.d.cts +22 -0
  196. package/dist/fabric/domains/workspace/contact_company.d.ts +22 -0
  197. package/dist/fabric/domains/workspace/contact_company.js +3 -0
  198. package/dist/fabric/domains/workspace/contact_company.js.map +1 -0
  199. package/dist/fabric/domains/workspace/domain.cjs +4 -0
  200. package/dist/fabric/domains/workspace/domain.cjs.map +1 -0
  201. package/dist/fabric/domains/workspace/domain.d.cts +21 -0
  202. package/dist/fabric/domains/workspace/domain.d.ts +21 -0
  203. package/dist/fabric/domains/workspace/domain.js +3 -0
  204. package/dist/fabric/domains/workspace/domain.js.map +1 -0
  205. package/dist/fabric/domains/workspace/file.cjs +4 -0
  206. package/dist/fabric/domains/workspace/file.cjs.map +1 -0
  207. package/dist/fabric/domains/workspace/file.d.cts +25 -0
  208. package/dist/fabric/domains/workspace/file.d.ts +25 -0
  209. package/dist/fabric/domains/workspace/file.js +3 -0
  210. package/dist/fabric/domains/workspace/file.js.map +1 -0
  211. package/dist/fabric/domains/workspace/integration.cjs +4 -0
  212. package/dist/fabric/domains/workspace/integration.cjs.map +1 -0
  213. package/dist/fabric/domains/workspace/integration.d.cts +36 -0
  214. package/dist/fabric/domains/workspace/integration.d.ts +36 -0
  215. package/dist/fabric/domains/workspace/integration.js +3 -0
  216. package/dist/fabric/domains/workspace/integration.js.map +1 -0
  217. package/dist/fabric/domains/workspace/integration_channel.cjs +4 -0
  218. package/dist/fabric/domains/workspace/integration_channel.cjs.map +1 -0
  219. package/dist/fabric/domains/workspace/integration_channel.d.cts +23 -0
  220. package/dist/fabric/domains/workspace/integration_channel.d.ts +23 -0
  221. package/dist/fabric/domains/workspace/integration_channel.js +3 -0
  222. package/dist/fabric/domains/workspace/integration_channel.js.map +1 -0
  223. package/dist/fabric/domains/workspace/invoice.cjs +4 -0
  224. package/dist/fabric/domains/workspace/invoice.cjs.map +1 -0
  225. package/dist/fabric/domains/workspace/invoice.d.cts +30 -0
  226. package/dist/fabric/domains/workspace/invoice.d.ts +30 -0
  227. package/dist/fabric/domains/workspace/invoice.js +3 -0
  228. package/dist/fabric/domains/workspace/invoice.js.map +1 -0
  229. package/dist/fabric/domains/workspace/payment_method.cjs +4 -0
  230. package/dist/fabric/domains/workspace/payment_method.cjs.map +1 -0
  231. package/dist/fabric/domains/workspace/payment_method.d.cts +26 -0
  232. package/dist/fabric/domains/workspace/payment_method.d.ts +26 -0
  233. package/dist/fabric/domains/workspace/payment_method.js +3 -0
  234. package/dist/fabric/domains/workspace/payment_method.js.map +1 -0
  235. package/dist/fabric/domains/workspace/phone.cjs +4 -0
  236. package/dist/fabric/domains/workspace/phone.cjs.map +1 -0
  237. package/dist/fabric/domains/workspace/phone.d.cts +36 -0
  238. package/dist/fabric/domains/workspace/phone.d.ts +36 -0
  239. package/dist/fabric/domains/workspace/phone.js +3 -0
  240. package/dist/fabric/domains/workspace/phone.js.map +1 -0
  241. package/dist/fabric/domains/workspace/phone_number.cjs +4 -0
  242. package/dist/fabric/domains/workspace/phone_number.cjs.map +1 -0
  243. package/dist/fabric/domains/workspace/phone_number.d.cts +178 -0
  244. package/dist/fabric/domains/workspace/phone_number.d.ts +178 -0
  245. package/dist/fabric/domains/workspace/phone_number.js +3 -0
  246. package/dist/fabric/domains/workspace/phone_number.js.map +1 -0
  247. package/dist/fabric/domains/workspace/prompt.cjs +4 -0
  248. package/dist/fabric/domains/workspace/prompt.cjs.map +1 -0
  249. package/dist/fabric/domains/workspace/prompt.d.cts +38 -0
  250. package/dist/fabric/domains/workspace/prompt.d.ts +38 -0
  251. package/dist/fabric/domains/workspace/prompt.js +3 -0
  252. package/dist/fabric/domains/workspace/prompt.js.map +1 -0
  253. package/dist/fabric/domains/workspace/sip_trunk.cjs +4 -0
  254. package/dist/fabric/domains/workspace/sip_trunk.cjs.map +1 -0
  255. package/dist/fabric/domains/workspace/sip_trunk.d.cts +31 -0
  256. package/dist/fabric/domains/workspace/sip_trunk.d.ts +31 -0
  257. package/dist/fabric/domains/workspace/sip_trunk.js +3 -0
  258. package/dist/fabric/domains/workspace/sip_trunk.js.map +1 -0
  259. package/dist/fabric/domains/workspace/subscription.cjs +4 -0
  260. package/dist/fabric/domains/workspace/subscription.cjs.map +1 -0
  261. package/dist/fabric/domains/workspace/subscription.d.cts +57 -0
  262. package/dist/fabric/domains/workspace/subscription.d.ts +57 -0
  263. package/dist/fabric/domains/workspace/subscription.js +3 -0
  264. package/dist/fabric/domains/workspace/subscription.js.map +1 -0
  265. package/dist/fabric/domains/workspace/tag.cjs +4 -0
  266. package/dist/fabric/domains/workspace/tag.cjs.map +1 -0
  267. package/dist/fabric/domains/workspace/tag.d.cts +23 -0
  268. package/dist/fabric/domains/workspace/tag.d.ts +23 -0
  269. package/dist/fabric/domains/workspace/tag.js +3 -0
  270. package/dist/fabric/domains/workspace/tag.js.map +1 -0
  271. package/dist/fabric/domains/workspace/thread.cjs +4 -0
  272. package/dist/fabric/domains/workspace/thread.cjs.map +1 -0
  273. package/dist/fabric/domains/workspace/thread.d.cts +45 -0
  274. package/dist/fabric/domains/workspace/thread.d.ts +45 -0
  275. package/dist/fabric/domains/workspace/thread.js +3 -0
  276. package/dist/fabric/domains/workspace/thread.js.map +1 -0
  277. package/dist/fabric/domains/workspace/user.cjs +4 -0
  278. package/dist/fabric/domains/workspace/user.cjs.map +1 -0
  279. package/dist/fabric/domains/workspace/user.d.cts +61 -0
  280. package/dist/fabric/domains/workspace/user.d.ts +61 -0
  281. package/dist/fabric/domains/workspace/user.js +3 -0
  282. package/dist/fabric/domains/workspace/user.js.map +1 -0
  283. package/dist/fabric/domains/workspace/voice.cjs +4 -0
  284. package/dist/fabric/domains/workspace/voice.cjs.map +1 -0
  285. package/dist/fabric/domains/workspace/voice.d.cts +43 -0
  286. package/dist/fabric/domains/workspace/voice.d.ts +43 -0
  287. package/dist/fabric/domains/workspace/voice.js +3 -0
  288. package/dist/fabric/domains/workspace/voice.js.map +1 -0
  289. package/dist/fabric/domains/workspace/workspace.cjs +4 -0
  290. package/dist/fabric/domains/workspace/workspace.cjs.map +1 -0
  291. package/dist/fabric/domains/workspace/workspace.d.cts +37 -0
  292. package/dist/fabric/domains/workspace/workspace.d.ts +37 -0
  293. package/dist/fabric/domains/workspace/workspace.js +3 -0
  294. package/dist/fabric/domains/workspace/workspace.js.map +1 -0
  295. package/dist/fabric/services/account/account.cjs +4 -0
  296. package/dist/fabric/services/account/account.cjs.map +1 -0
  297. package/dist/fabric/services/account/account.d.cts +24 -0
  298. package/dist/fabric/services/account/account.d.ts +24 -0
  299. package/dist/fabric/services/account/account.js +3 -0
  300. package/dist/fabric/services/account/account.js.map +1 -0
  301. package/dist/fabric/services/account/client.cjs +106 -0
  302. package/dist/fabric/services/account/client.cjs.map +1 -0
  303. package/dist/fabric/services/account/client.d.cts +28 -0
  304. package/dist/fabric/services/account/client.d.ts +28 -0
  305. package/dist/fabric/services/account/client.js +104 -0
  306. package/dist/fabric/services/account/client.js.map +1 -0
  307. package/dist/fabric/services/rest/client/analytics.cjs +212 -0
  308. package/dist/fabric/services/rest/client/analytics.cjs.map +1 -0
  309. package/dist/fabric/services/rest/client/analytics.d.cts +37 -0
  310. package/dist/fabric/services/rest/client/analytics.d.ts +37 -0
  311. package/dist/fabric/services/rest/client/analytics.js +206 -0
  312. package/dist/fabric/services/rest/client/analytics.js.map +1 -0
  313. package/dist/fabric/services/rest/client/base.cjs +135 -0
  314. package/dist/fabric/services/rest/client/base.cjs.map +1 -0
  315. package/dist/fabric/services/rest/client/base.d.cts +66 -0
  316. package/dist/fabric/services/rest/client/base.d.ts +66 -0
  317. package/dist/fabric/services/rest/client/base.js +129 -0
  318. package/dist/fabric/services/rest/client/base.js.map +1 -0
  319. package/dist/fabric/services/rest/client/business_hours.cjs +196 -0
  320. package/dist/fabric/services/rest/client/business_hours.cjs.map +1 -0
  321. package/dist/fabric/services/rest/client/business_hours.d.cts +20 -0
  322. package/dist/fabric/services/rest/client/business_hours.d.ts +20 -0
  323. package/dist/fabric/services/rest/client/business_hours.js +190 -0
  324. package/dist/fabric/services/rest/client/business_hours.js.map +1 -0
  325. package/dist/fabric/services/rest/client/channel_numbers.cjs +198 -0
  326. package/dist/fabric/services/rest/client/channel_numbers.cjs.map +1 -0
  327. package/dist/fabric/services/rest/client/channel_numbers.d.cts +20 -0
  328. package/dist/fabric/services/rest/client/channel_numbers.d.ts +20 -0
  329. package/dist/fabric/services/rest/client/channel_numbers.js +192 -0
  330. package/dist/fabric/services/rest/client/channel_numbers.js.map +1 -0
  331. package/dist/fabric/services/rest/client/channels.cjs +196 -0
  332. package/dist/fabric/services/rest/client/channels.cjs.map +1 -0
  333. package/dist/fabric/services/rest/client/channels.d.cts +26 -0
  334. package/dist/fabric/services/rest/client/channels.d.ts +26 -0
  335. package/dist/fabric/services/rest/client/channels.js +190 -0
  336. package/dist/fabric/services/rest/client/channels.js.map +1 -0
  337. package/dist/fabric/services/rest/client/domains.cjs +186 -0
  338. package/dist/fabric/services/rest/client/domains.cjs.map +1 -0
  339. package/dist/fabric/services/rest/client/domains.d.cts +19 -0
  340. package/dist/fabric/services/rest/client/domains.d.ts +19 -0
  341. package/dist/fabric/services/rest/client/domains.js +180 -0
  342. package/dist/fabric/services/rest/client/domains.js.map +1 -0
  343. package/dist/fabric/services/rest/client/files.cjs +183 -0
  344. package/dist/fabric/services/rest/client/files.cjs.map +1 -0
  345. package/dist/fabric/services/rest/client/files.d.cts +19 -0
  346. package/dist/fabric/services/rest/client/files.d.ts +19 -0
  347. package/dist/fabric/services/rest/client/files.js +177 -0
  348. package/dist/fabric/services/rest/client/files.js.map +1 -0
  349. package/dist/fabric/services/rest/client/invoices.cjs +171 -0
  350. package/dist/fabric/services/rest/client/invoices.cjs.map +1 -0
  351. package/dist/fabric/services/rest/client/invoices.d.cts +18 -0
  352. package/dist/fabric/services/rest/client/invoices.d.ts +18 -0
  353. package/dist/fabric/services/rest/client/invoices.js +165 -0
  354. package/dist/fabric/services/rest/client/invoices.js.map +1 -0
  355. package/dist/fabric/services/rest/client/payment_methods.cjs +189 -0
  356. package/dist/fabric/services/rest/client/payment_methods.cjs.map +1 -0
  357. package/dist/fabric/services/rest/client/payment_methods.d.cts +18 -0
  358. package/dist/fabric/services/rest/client/payment_methods.d.ts +18 -0
  359. package/dist/fabric/services/rest/client/payment_methods.js +183 -0
  360. package/dist/fabric/services/rest/client/payment_methods.js.map +1 -0
  361. package/dist/fabric/services/rest/client/phone_numbers.cjs +181 -0
  362. package/dist/fabric/services/rest/client/phone_numbers.cjs.map +1 -0
  363. package/dist/fabric/services/rest/client/phone_numbers.d.cts +20 -0
  364. package/dist/fabric/services/rest/client/phone_numbers.d.ts +20 -0
  365. package/dist/fabric/services/rest/client/phone_numbers.js +175 -0
  366. package/dist/fabric/services/rest/client/phone_numbers.js.map +1 -0
  367. package/dist/fabric/services/rest/client/phones.cjs +191 -0
  368. package/dist/fabric/services/rest/client/phones.cjs.map +1 -0
  369. package/dist/fabric/services/rest/client/phones.d.cts +21 -0
  370. package/dist/fabric/services/rest/client/phones.d.ts +21 -0
  371. package/dist/fabric/services/rest/client/phones.js +185 -0
  372. package/dist/fabric/services/rest/client/phones.js.map +1 -0
  373. package/dist/fabric/services/rest/client/prompts.cjs +189 -0
  374. package/dist/fabric/services/rest/client/prompts.cjs.map +1 -0
  375. package/dist/fabric/services/rest/client/prompts.d.cts +21 -0
  376. package/dist/fabric/services/rest/client/prompts.d.ts +21 -0
  377. package/dist/fabric/services/rest/client/prompts.js +183 -0
  378. package/dist/fabric/services/rest/client/prompts.js.map +1 -0
  379. package/dist/fabric/services/rest/client/subscriptions.cjs +159 -0
  380. package/dist/fabric/services/rest/client/subscriptions.cjs.map +1 -0
  381. package/dist/fabric/services/rest/client/subscriptions.d.cts +16 -0
  382. package/dist/fabric/services/rest/client/subscriptions.d.ts +16 -0
  383. package/dist/fabric/services/rest/client/subscriptions.js +153 -0
  384. package/dist/fabric/services/rest/client/subscriptions.js.map +1 -0
  385. package/dist/fabric/services/rest/client/tags.cjs +186 -0
  386. package/dist/fabric/services/rest/client/tags.cjs.map +1 -0
  387. package/dist/fabric/services/rest/client/tags.d.cts +19 -0
  388. package/dist/fabric/services/rest/client/tags.d.ts +19 -0
  389. package/dist/fabric/services/rest/client/tags.js +180 -0
  390. package/dist/fabric/services/rest/client/tags.js.map +1 -0
  391. package/dist/fabric/services/rest/client/users.cjs +186 -0
  392. package/dist/fabric/services/rest/client/users.cjs.map +1 -0
  393. package/dist/fabric/services/rest/client/users.d.cts +21 -0
  394. package/dist/fabric/services/rest/client/users.d.ts +21 -0
  395. package/dist/fabric/services/rest/client/users.js +180 -0
  396. package/dist/fabric/services/rest/client/users.js.map +1 -0
  397. package/dist/fabric/services/rest/client/voices.cjs +174 -0
  398. package/dist/fabric/services/rest/client/voices.cjs.map +1 -0
  399. package/dist/fabric/services/rest/client/voices.d.cts +17 -0
  400. package/dist/fabric/services/rest/client/voices.d.ts +17 -0
  401. package/dist/fabric/services/rest/client/voices.js +168 -0
  402. package/dist/fabric/services/rest/client/voices.js.map +1 -0
  403. package/dist/fabric/services/rest/client/workspace.cjs +171 -0
  404. package/dist/fabric/services/rest/client/workspace.cjs.map +1 -0
  405. package/dist/fabric/services/rest/client/workspace.d.cts +16 -0
  406. package/dist/fabric/services/rest/client/workspace.d.ts +16 -0
  407. package/dist/fabric/services/rest/client/workspace.js +165 -0
  408. package/dist/fabric/services/rest/client/workspace.js.map +1 -0
  409. package/dist/fabric/services/rest/client.cjs +1079 -0
  410. package/dist/fabric/services/rest/client.cjs.map +1 -0
  411. package/dist/fabric/services/rest/client.d.cts +105 -0
  412. package/dist/fabric/services/rest/client.d.ts +105 -0
  413. package/dist/fabric/services/rest/client.js +1070 -0
  414. package/dist/fabric/services/rest/client.js.map +1 -0
  415. package/dist/fabric/services/rest/dto/analytics.cjs +4 -0
  416. package/dist/fabric/services/rest/dto/analytics.cjs.map +1 -0
  417. package/dist/fabric/services/rest/dto/analytics.d.cts +11 -0
  418. package/dist/fabric/services/rest/dto/analytics.d.ts +11 -0
  419. package/dist/fabric/services/rest/dto/analytics.js +3 -0
  420. package/dist/fabric/services/rest/dto/analytics.js.map +1 -0
  421. package/dist/fabric/services/rest/dto/billing.cjs +4 -0
  422. package/dist/fabric/services/rest/dto/billing.cjs.map +1 -0
  423. package/dist/fabric/services/rest/dto/billing.d.cts +2 -0
  424. package/dist/fabric/services/rest/dto/billing.d.ts +2 -0
  425. package/dist/fabric/services/rest/dto/billing.js +3 -0
  426. package/dist/fabric/services/rest/dto/billing.js.map +1 -0
  427. package/dist/fabric/services/rest/dto/business_hours.cjs +91 -0
  428. package/dist/fabric/services/rest/dto/business_hours.cjs.map +1 -0
  429. package/dist/fabric/services/rest/dto/business_hours.d.cts +410 -0
  430. package/dist/fabric/services/rest/dto/business_hours.d.ts +410 -0
  431. package/dist/fabric/services/rest/dto/business_hours.js +81 -0
  432. package/dist/fabric/services/rest/dto/business_hours.js.map +1 -0
  433. package/dist/fabric/services/rest/dto/channel.cjs +76 -0
  434. package/dist/fabric/services/rest/dto/channel.cjs.map +1 -0
  435. package/dist/fabric/services/rest/dto/channel.d.cts +171 -0
  436. package/dist/fabric/services/rest/dto/channel.d.ts +171 -0
  437. package/dist/fabric/services/rest/dto/channel.js +65 -0
  438. package/dist/fabric/services/rest/dto/channel.js.map +1 -0
  439. package/dist/fabric/services/rest/dto/channel_number.cjs +20 -0
  440. package/dist/fabric/services/rest/dto/channel_number.cjs.map +1 -0
  441. package/dist/fabric/services/rest/dto/channel_number.d.cts +24 -0
  442. package/dist/fabric/services/rest/dto/channel_number.d.ts +24 -0
  443. package/dist/fabric/services/rest/dto/channel_number.js +17 -0
  444. package/dist/fabric/services/rest/dto/channel_number.js.map +1 -0
  445. package/dist/fabric/services/rest/dto/domain.cjs +14 -0
  446. package/dist/fabric/services/rest/dto/domain.cjs.map +1 -0
  447. package/dist/fabric/services/rest/dto/domain.d.cts +12 -0
  448. package/dist/fabric/services/rest/dto/domain.d.ts +12 -0
  449. package/dist/fabric/services/rest/dto/domain.js +11 -0
  450. package/dist/fabric/services/rest/dto/domain.js.map +1 -0
  451. package/dist/fabric/services/rest/dto/file.cjs +4 -0
  452. package/dist/fabric/services/rest/dto/file.cjs.map +1 -0
  453. package/dist/fabric/services/rest/dto/file.d.cts +9 -0
  454. package/dist/fabric/services/rest/dto/file.d.ts +9 -0
  455. package/dist/fabric/services/rest/dto/file.js +3 -0
  456. package/dist/fabric/services/rest/dto/file.js.map +1 -0
  457. package/dist/fabric/services/rest/dto/invoice.cjs +4 -0
  458. package/dist/fabric/services/rest/dto/invoice.cjs.map +1 -0
  459. package/dist/fabric/services/rest/dto/invoice.d.cts +5 -0
  460. package/dist/fabric/services/rest/dto/invoice.d.ts +5 -0
  461. package/dist/fabric/services/rest/dto/invoice.js +3 -0
  462. package/dist/fabric/services/rest/dto/invoice.js.map +1 -0
  463. package/dist/fabric/services/rest/dto/payment-method.cjs +4 -0
  464. package/dist/fabric/services/rest/dto/payment-method.cjs.map +1 -0
  465. package/dist/fabric/services/rest/dto/payment-method.d.cts +1 -0
  466. package/dist/fabric/services/rest/dto/payment-method.d.ts +1 -0
  467. package/dist/fabric/services/rest/dto/payment-method.js +3 -0
  468. package/dist/fabric/services/rest/dto/payment-method.js.map +1 -0
  469. package/dist/fabric/services/rest/dto/payment_method.cjs +4 -0
  470. package/dist/fabric/services/rest/dto/payment_method.cjs.map +1 -0
  471. package/dist/fabric/services/rest/dto/payment_method.d.cts +5 -0
  472. package/dist/fabric/services/rest/dto/payment_method.d.ts +5 -0
  473. package/dist/fabric/services/rest/dto/payment_method.js +3 -0
  474. package/dist/fabric/services/rest/dto/payment_method.js.map +1 -0
  475. package/dist/fabric/services/rest/dto/phone.cjs +37 -0
  476. package/dist/fabric/services/rest/dto/phone.cjs.map +1 -0
  477. package/dist/fabric/services/rest/dto/phone.d.cts +69 -0
  478. package/dist/fabric/services/rest/dto/phone.d.ts +69 -0
  479. package/dist/fabric/services/rest/dto/phone.js +32 -0
  480. package/dist/fabric/services/rest/dto/phone.js.map +1 -0
  481. package/dist/fabric/services/rest/dto/phone_number.cjs +15 -0
  482. package/dist/fabric/services/rest/dto/phone_number.cjs.map +1 -0
  483. package/dist/fabric/services/rest/dto/phone_number.d.cts +11 -0
  484. package/dist/fabric/services/rest/dto/phone_number.d.ts +11 -0
  485. package/dist/fabric/services/rest/dto/phone_number.js +12 -0
  486. package/dist/fabric/services/rest/dto/phone_number.js.map +1 -0
  487. package/dist/fabric/services/rest/dto/prompt.cjs +34 -0
  488. package/dist/fabric/services/rest/dto/prompt.cjs.map +1 -0
  489. package/dist/fabric/services/rest/dto/prompt.d.cts +62 -0
  490. package/dist/fabric/services/rest/dto/prompt.d.ts +62 -0
  491. package/dist/fabric/services/rest/dto/prompt.js +30 -0
  492. package/dist/fabric/services/rest/dto/prompt.js.map +1 -0
  493. package/dist/fabric/services/rest/dto/tag.cjs +25 -0
  494. package/dist/fabric/services/rest/dto/tag.cjs.map +1 -0
  495. package/dist/fabric/services/rest/dto/tag.d.cts +38 -0
  496. package/dist/fabric/services/rest/dto/tag.d.ts +38 -0
  497. package/dist/fabric/services/rest/dto/tag.js +21 -0
  498. package/dist/fabric/services/rest/dto/tag.js.map +1 -0
  499. package/dist/fabric/services/rest/dto/user.cjs +36 -0
  500. package/dist/fabric/services/rest/dto/user.cjs.map +1 -0
  501. package/dist/fabric/services/rest/dto/user.d.cts +76 -0
  502. package/dist/fabric/services/rest/dto/user.d.ts +76 -0
  503. package/dist/fabric/services/rest/dto/user.js +31 -0
  504. package/dist/fabric/services/rest/dto/user.js.map +1 -0
  505. package/dist/fabric/services/rest/dto/workspace.cjs +25 -0
  506. package/dist/fabric/services/rest/dto/workspace.cjs.map +1 -0
  507. package/dist/fabric/services/rest/dto/workspace.d.cts +50 -0
  508. package/dist/fabric/services/rest/dto/workspace.d.ts +50 -0
  509. package/dist/fabric/services/rest/dto/workspace.js +22 -0
  510. package/dist/fabric/services/rest/dto/workspace.js.map +1 -0
  511. package/dist/fabric/services/rest/errors.cjs +41 -0
  512. package/dist/fabric/services/rest/errors.cjs.map +1 -0
  513. package/dist/fabric/services/rest/errors.d.cts +12 -0
  514. package/dist/fabric/services/rest/errors.d.ts +12 -0
  515. package/dist/fabric/services/rest/errors.js +37 -0
  516. package/dist/fabric/services/rest/errors.js.map +1 -0
  517. package/dist/index.cjs +1336 -14
  518. package/dist/index.cjs.map +1 -1
  519. package/dist/index.d.cts +137 -6
  520. package/dist/index.d.ts +137 -6
  521. package/dist/index.js +1332 -14
  522. package/dist/index.js.map +1 -1
  523. package/package.json +10 -1
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/errors.ts","../src/client.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["export class AdminSdkError extends Error {\n constructor(message: string) {\n super(message);\n this.name = \"AdminSdkError\";\n Object.setPrototypeOf(this, new.target.prototype);\n }\n}\n\nexport class ApiError extends AdminSdkError {\n readonly status: number;\n readonly statusText: string;\n readonly body: unknown;\n\n constructor(status: number, statusText: string, body: unknown) {\n super(`API request failed with status ${status} (${statusText})`);\n this.name = \"ApiError\";\n this.status = status;\n this.statusText = statusText;\n this.body = body;\n Object.setPrototypeOf(this, new.target.prototype);\n }\n}\n\nexport class AuthenticationError extends ApiError {\n constructor(statusText: string, body: unknown) {\n super(401, statusText, body);\n this.name = \"AuthenticationError\";\n }\n}\n\nexport class NotFoundError extends ApiError {\n constructor(statusText: string, body: unknown) {\n super(404, statusText, body);\n this.name = \"NotFoundError\";\n }\n}\n\nexport class RateLimitError extends ApiError {\n readonly retryAfterSeconds?: number;\n\n constructor(statusText: string, body: unknown, retryAfterSeconds?: number) {\n super(429, statusText, body);\n this.name = \"RateLimitError\";\n this.retryAfterSeconds = retryAfterSeconds;\n }\n}\n","import { AdminSdkOptions, RequestOptions } from \"./types\";\nimport {\n AdminSdkError,\n ApiError,\n AuthenticationError,\n NotFoundError,\n RateLimitError,\n} from \"./errors\";\n\nconst DEFAULT_BASE_URL = \"https://api.typecall.com/v1\";\nconst DEFAULT_TIMEOUT_MS = 30_000;\n\nexport class TypecallAdmin {\n private readonly apiKey: string;\n private readonly baseUrl: string;\n private readonly fetchFn: typeof fetch;\n private readonly timeoutMs: number;\n private readonly defaultHeaders: Record<string, string>;\n\n constructor(options: AdminSdkOptions) {\n if (!options?.apiKey) {\n throw new AdminSdkError(\n \"An `apiKey` must be provided to initialize TypecallAdmin.\",\n );\n }\n\n this.apiKey = options.apiKey;\n this.baseUrl = (options.baseUrl ?? DEFAULT_BASE_URL).replace(/\\/+$/, \"\");\n this.fetchFn = options.fetch ?? globalThis.fetch;\n this.timeoutMs = options.timeoutMs ?? DEFAULT_TIMEOUT_MS;\n this.defaultHeaders = options.headers ?? {};\n\n if (!this.fetchFn) {\n throw new AdminSdkError(\n \"No global `fetch` found. Provide a custom `fetch` implementation in `AdminSdkOptions`.\",\n );\n }\n }\n\n /**\n * Helper to perform authenticated HTTP requests against the Typecall Admin API.\n */\n async request<T>(path: string, options: RequestOptions = {}): Promise<T> {\n const { query, headers = {}, ...init } = options;\n\n const normalizedPath = path.startsWith(\"/\") ? path : `/${path}`;\n const url = new URL(`${this.baseUrl}${normalizedPath}`);\n\n if (query) {\n for (const [key, value] of Object.entries(query)) {\n if (value !== undefined) {\n url.searchParams.append(key, String(value));\n }\n }\n }\n\n const controller = new AbortController();\n const timer = setTimeout(() => controller.abort(), this.timeoutMs);\n\n try {\n const response = await this.fetchFn(url.toString(), {\n ...init,\n headers: {\n Authorization: `Bearer ${this.apiKey}`,\n \"Content-Type\": \"application/json\",\n Accept: \"application/json\",\n ...this.defaultHeaders,\n ...headers,\n },\n signal: init.signal ?? controller.signal,\n });\n\n if (!response.ok) {\n let errorBody: unknown;\n try {\n errorBody = await response.json();\n } catch {\n errorBody = await response.text();\n }\n\n switch (response.status) {\n case 401:\n throw new AuthenticationError(response.statusText, errorBody);\n case 404:\n throw new NotFoundError(response.statusText, errorBody);\n case 429: {\n const retryHeader = response.headers?.get(\"retry-after\");\n const retryAfter = retryHeader\n ? parseInt(retryHeader, 10)\n : undefined;\n throw new RateLimitError(\n response.statusText,\n errorBody,\n retryAfter,\n );\n }\n default:\n throw new ApiError(\n response.status,\n response.statusText,\n errorBody,\n );\n }\n }\n\n if (response.status === 204) {\n return undefined as T;\n }\n\n return (await response.json()) as T;\n } finally {\n clearTimeout(timer);\n }\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/errors.ts","../src/fabric/services/rest/errors.ts","../src/fabric/services/account/client.ts","../src/fabric/services/rest/client/base.ts","../src/fabric/services/rest/client/users.ts","../src/fabric/services/rest/client/channels.ts","../src/fabric/services/rest/client/channel_numbers.ts","../src/fabric/services/rest/client/phones.ts","../src/fabric/services/rest/client/phone_numbers.ts","../src/fabric/services/rest/client/business_hours.ts","../src/fabric/services/rest/client/tags.ts","../src/fabric/services/rest/client/domains.ts","../src/fabric/services/rest/client/workspace.ts","../src/fabric/services/rest/client/files.ts","../src/fabric/services/rest/client/prompts.ts","../src/fabric/services/rest/client/voices.ts","../src/fabric/services/rest/client/invoices.ts","../src/fabric/services/rest/client/payment_methods.ts","../src/fabric/services/rest/client/subscriptions.ts","../src/fabric/services/rest/client/analytics.ts","../src/fabric/services/rest/client.ts","../src/client.ts"],"names":["NotFoundError"],"mappings":"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","file":"index.js","sourcesContent":["export class AdminSdkError extends Error {\n constructor(message: string) {\n super(message);\n this.name = \"AdminSdkError\";\n Object.setPrototypeOf(this, new.target.prototype);\n }\n}\n\nexport class ApiError extends AdminSdkError {\n readonly status: number;\n readonly statusText: string;\n readonly body: unknown;\n\n constructor(status: number, statusText: string, body: unknown) {\n super(`API request failed with status ${status} (${statusText})`);\n this.name = \"ApiError\";\n this.status = status;\n this.statusText = statusText;\n this.body = body;\n Object.setPrototypeOf(this, new.target.prototype);\n }\n}\n\nexport class AuthenticationError extends ApiError {\n constructor(statusText: string, body: unknown) {\n super(401, statusText, body);\n this.name = \"AuthenticationError\";\n }\n}\n\nexport class NotFoundError extends ApiError {\n constructor(statusText: string, body: unknown) {\n super(404, statusText, body);\n this.name = \"NotFoundError\";\n }\n}\n\nexport class RateLimitError extends ApiError {\n readonly retryAfterSeconds?: number;\n\n constructor(statusText: string, body: unknown, retryAfterSeconds?: number) {\n super(429, statusText, body);\n this.name = \"RateLimitError\";\n this.retryAfterSeconds = retryAfterSeconds;\n }\n}\n","export class RestError extends Error {\n readonly status: number;\n readonly statusText: string;\n readonly body?: string;\n\n constructor(status: number, statusText: string, body?: string) {\n super(`HTTP ${status} ${statusText}: ${body ?? \"\"}`);\n this.name = \"RestError\";\n this.status = status;\n this.statusText = statusText;\n this.body = body;\n Object.setPrototypeOf(this, new.target.prototype);\n }\n}\n\nexport class NotFoundError extends RestError {\n constructor(statusText: string = \"Not Found\", body?: string) {\n super(404, statusText, body);\n this.name = \"NotFoundError\";\n Object.setPrototypeOf(this, new.target.prototype);\n }\n}\n\nexport function isNotFoundError(error: unknown): error is NotFoundError {\n if (error instanceof NotFoundError) {\n return true;\n }\n if (error instanceof RestError && error.status === 404) {\n return true;\n }\n if (\n typeof error === \"object\" &&\n error !== null &&\n (error as { status?: number }).status === 404\n ) {\n return true;\n }\n return false;\n}\n","import type { Account } from \"../../domains/account/account.js\";\nimport { RestError, NotFoundError } from \"../rest/errors.js\";\nimport type { GetAccountResponse, RefreshTokenResponse } from \"./account.js\";\n\nexport type FetchFn = (\n input: string | URL | Request,\n init?: RequestInit,\n) => Promise<Response>;\n\nexport interface AccountClientConfig {\n baseUrl: string;\n accessToken: string;\n fetch?: FetchFn;\n}\n\nexport class AccountClient {\n private baseUrl: string;\n private accessToken: string;\n private fetchFn: FetchFn;\n private refreshPromise: Promise<string> | null = null;\n\n constructor(config: AccountClientConfig) {\n this.baseUrl = config.baseUrl.replace(/\\/$/, \"\");\n this.accessToken = config.accessToken;\n this.fetchFn = config.fetch ?? globalThis.fetch.bind(globalThis);\n }\n\n getToken(): string {\n return this.accessToken;\n }\n\n async refreshToken(): Promise<string> {\n if (this.refreshPromise) {\n return this.refreshPromise;\n }\n this.refreshPromise = (async () => {\n try {\n const res = await this.fetchFn(`${this.baseUrl}/api/tokens`, {\n method: \"POST\",\n headers: {\n Accept: \"application/json\",\n },\n credentials: \"include\",\n });\n if (!res.ok) {\n const errorText = await res.text().catch(() => \"\");\n throw new Error(\n `Token refresh failed: HTTP ${res.status} ${res.statusText}: ${errorText}`,\n );\n }\n const body = (await res.json()) as RefreshTokenResponse;\n this.accessToken = body.data.access_token;\n return this.accessToken;\n } finally {\n this.refreshPromise = null;\n }\n })();\n return this.refreshPromise;\n }\n\n async revokeToken(): Promise<void> {\n await this.fetchFn(`${this.baseUrl}/api/tokens`, {\n method: \"DELETE\",\n credentials: \"include\",\n });\n this.accessToken = \"\";\n }\n\n /**\n * GET /api/account\n * Fetches the currently authenticated account and associated workspaces.\n * Automatically refreshes and retries once if a 401 Unauthorized is encountered.\n */\n async getAccount(): Promise<Account> {\n const doFetch = (token: string) =>\n this.fetchFn(`${this.baseUrl}/api/account`, {\n method: \"GET\",\n headers: {\n Accept: \"application/json\",\n Authorization: `Bearer ${token}`,\n },\n });\n\n let res = await doFetch(this.accessToken);\n\n // If 401, rotate token via the HttpOnly cookie and retry once\n if (res.status === 401) {\n const newToken = await this.refreshToken();\n res = await doFetch(newToken);\n }\n\n if (!res.ok) {\n const errorText = await res.text().catch(() => \"\");\n if (res.status === 404) {\n throw new NotFoundError(res.statusText, errorText);\n }\n throw new RestError(res.status, res.statusText, errorText);\n }\n\n const json = (await res.json()) as GetAccountResponse;\n return json.data;\n }\n}\n","import MiniSearch from \"minisearch\";\nimport { atom, type ReadableAtom, type WritableAtom } from \"nanostores\";\n\nexport type { ReadableAtom };\n\nexport interface RestTransport {\n request<T>(path: string, init?: RequestInit): Promise<T>;\n requestData<T>(path: string, init?: RequestInit): Promise<T>;\n requestBlob(path: string, init?: RequestInit): Promise<Blob>;\n}\n\nexport abstract class BaseResourceClient<T extends { id: string } = any> {\n protected readonly items = new Map<string, T>();\n protected isLoaded = false;\n protected searchIndex?: MiniSearch;\n\n private readonly _version: WritableAtom<number> = atom(1);\n\n readonly $version: ReadableAtom<number> = this._version;\n\n get version(): number {\n return this._version.get();\n }\n\n get loaded(): boolean {\n return this.isLoaded;\n }\n\n constructor(protected readonly transport: RestTransport) {}\n\n /**\n * Returns all items currently stored in cache.\n */\n all(): T[] {\n return Array.from(this.items.values());\n }\n\n /**\n * Synchronously finds an item in cache by ID.\n */\n find(id: string): T | undefined {\n return this.items.get(id);\n }\n\n /**\n * Synchronously finds multiple items in cache by ID.\n */\n getMany(...ids: string[]): T[] {\n const results: T[] = [];\n for (const id of ids) {\n const item = this.items.get(id);\n if (item) results.push(item);\n }\n return results;\n }\n\n /**\n * Searches cached items by search term using MiniSearch prefix matching.\n * If search term is empty, returns all items.\n */\n search(term: string): T[] {\n const trimmed = term.trim();\n if (!trimmed || !this.searchIndex) {\n return this.all();\n }\n const results = this.searchIndex.search(trimmed, { prefix: true });\n const matched: T[] = [];\n for (const r of results) {\n const item = this.items.get(r.id);\n if (item) matched.push(item);\n }\n return matched;\n }\n\n /**\n * Hook for subclasses to define what fields get indexed for search.\n */\n protected extractSearchTerms(item: T): string {\n return Object.values(item as Record<string, unknown>)\n .filter((v) => typeof v === \"string\" || typeof v === \"number\")\n .join(\" \")\n .toLowerCase();\n }\n\n /**\n * Adds or replaces an item in the search index.\n */\n protected indexItem(item: T): void {\n if (!this.searchIndex) {\n this.searchIndex = new MiniSearch({\n fields: [\"terms\"],\n storeFields: [\"id\"],\n });\n }\n const doc = { id: item.id, terms: this.extractSearchTerms(item) };\n if (this.searchIndex.has(item.id)) {\n this.searchIndex.replace(doc);\n } else {\n this.searchIndex.add(doc);\n }\n }\n\n /**\n * Sets or updates a single item in cache and search index.\n */\n protected setItem(item: T): void {\n this.items.set(item.id, item);\n this.indexItem(item);\n }\n\n /**\n * Removes a single item from cache and search index.\n */\n protected removeItem(id: string): void {\n this.items.delete(id);\n if (this.searchIndex?.has(id)) {\n this.searchIndex.discard(id);\n }\n }\n\n /**\n * Populates cache and search index with all items, marking the client as loaded.\n */\n protected setAll(items: T[]): void {\n this.items.clear();\n this.searchIndex?.removeAll();\n for (const item of items) {\n this.items.set(item.id, item);\n this.indexItem(item);\n }\n this.isLoaded = true;\n this.bump();\n }\n\n /**\n * Clears the in-memory cache and search index.\n */\n clearCache(): void {\n this.items.clear();\n this.searchIndex?.removeAll();\n this.isLoaded = false;\n this.bump();\n }\n\n bump(): void {\n this._version.set(this._version.get() + 1);\n }\n}\n","import type { User } from \"../../../domains/workspace/user.js\";\nimport type { CreateUserRequest, UpdateUserRequest } from \"../dto/user.js\";\nimport { BaseResourceClient } from \"./base.js\";\n\nexport class UsersClient extends BaseResourceClient<User> {\n protected override extractSearchTerms(user: User): string {\n return `${user.first_name} ${user.last_name} ${user.display_name ?? \"\"} ${user.email} ${user.extension ?? \"\"}`.toLowerCase();\n }\n\n async listAll(force = false): Promise<User[]> {\n if (this.isLoaded && !force) {\n return this.all();\n }\n const users = await this.transport.requestData<User[]>(\"/users\");\n this.setAll(users);\n return users;\n }\n\n async load(force = false): Promise<User[]> {\n return this.listAll(force);\n }\n\n async get(id: string, force = false): Promise<User> {\n if (!force) {\n const cached = this.find(id);\n if (cached) return cached;\n }\n const user = await this.transport.requestData<User>(`/users/${id}`);\n this.setItem(user);\n this.bump();\n return user;\n }\n\n async create(data: CreateUserRequest): Promise<User> {\n const user = await this.transport.requestData<User>(\"/users\", {\n method: \"POST\",\n body: JSON.stringify(data),\n });\n this.setItem(user);\n this.bump();\n return user;\n }\n\n async update(id: string, data: UpdateUserRequest): Promise<User> {\n const user = await this.transport.requestData<User>(`/users/${id}`, {\n method: \"PATCH\",\n body: JSON.stringify(data),\n });\n this.setItem(user);\n this.bump();\n return user;\n }\n\n async delete(id: string): Promise<void> {\n await this.transport.request<void>(`/users/${id}`, { method: \"DELETE\" });\n this.removeItem(id);\n this.bump();\n }\n}\n","import type { Channel } from \"../../../domains/workspace/channel.js\";\nimport type {\n CreateChannelRequest,\n UpdateChannelRequest,\n} from \"../dto/channel.js\";\nimport { BaseResourceClient } from \"./base.js\";\n\nexport class ChannelsClient extends BaseResourceClient<Channel> {\n protected override extractSearchTerms(channel: Channel): string {\n return `${channel.name}`.toLowerCase();\n }\n\n async listAll(force = false): Promise<Channel[]> {\n if (this.isLoaded && !force) {\n return this.all();\n }\n const channels = await this.transport.requestData<Channel[]>(\"/channels\");\n this.setAll(channels);\n return channels;\n }\n\n async load(force = false): Promise<Channel[]> {\n return this.listAll(force);\n }\n\n async get(id: string, force = false): Promise<Channel> {\n if (!force) {\n const cached = this.find(id);\n if (cached) return cached;\n }\n const channel = await this.transport.requestData<Channel>(\n `/channels/${id}`,\n );\n this.setItem(channel);\n this.bump();\n return channel;\n }\n\n async create(data: CreateChannelRequest): Promise<Channel> {\n const channel = await this.transport.requestData<Channel>(\"/channels\", {\n method: \"POST\",\n body: JSON.stringify(data),\n });\n this.setItem(channel);\n this.bump();\n return channel;\n }\n\n async update(id: string, data: UpdateChannelRequest): Promise<Channel> {\n const channel = await this.transport.requestData<Channel>(\n `/channels/${id}`,\n {\n method: \"PATCH\",\n body: JSON.stringify(data),\n },\n );\n this.setItem(channel);\n this.bump();\n return channel;\n }\n\n async delete(id: string): Promise<void> {\n await this.transport.request<void>(`/channels/${id}`, {\n method: \"DELETE\",\n });\n this.removeItem(id);\n this.bump();\n }\n\n publicChannels(): Channel[] {\n return this.all().filter((c) => !c.is_private);\n }\n}\n","import type { ChannelNumber } from \"../../../domains/workspace/channel_number.js\";\nimport type {\n CreateChannelNumberRequest,\n UpdateChannelNumberRequest,\n} from \"../dto/channel_number.js\";\nimport { BaseResourceClient } from \"./base.js\";\n\nexport class ChannelNumbersClient extends BaseResourceClient<ChannelNumber> {\n protected override extractSearchTerms(item: ChannelNumber): string {\n const rawCid = item.cid || \"\";\n const cleanCid = rawCid.replace(/^\\+/, \"\");\n return `${item.name || \"\"} ${rawCid} ${cleanCid} ${item.label || \"\"} ${item.country || \"\"}`.toLowerCase();\n }\n\n async listAll(force = false): Promise<ChannelNumber[]> {\n if (this.isLoaded && !force) {\n return this.all();\n }\n const items =\n await this.transport.requestData<ChannelNumber[]>(\"/channel-numbers\");\n this.setAll(items);\n return items;\n }\n\n async load(force = false): Promise<ChannelNumber[]> {\n return this.listAll(force);\n }\n\n async get(id: string, force = false): Promise<ChannelNumber> {\n if (!force) {\n const cached = this.find(id);\n if (cached) return cached;\n }\n const item = await this.transport.requestData<ChannelNumber>(\n `/channel-numbers/${id}`,\n );\n this.setItem(item);\n this.bump();\n return item;\n }\n\n async create(data: CreateChannelNumberRequest): Promise<ChannelNumber> {\n const channelNumber = await this.transport.requestData<ChannelNumber>(\n \"/channel-numbers\",\n {\n method: \"POST\",\n body: JSON.stringify(data),\n },\n );\n this.setItem(channelNumber);\n this.bump();\n return channelNumber;\n }\n\n async update(\n id: string,\n data: UpdateChannelNumberRequest,\n ): Promise<ChannelNumber> {\n const channelNumber = await this.transport.requestData<ChannelNumber>(\n `/channel-numbers/${id}`,\n {\n method: \"PATCH\",\n body: JSON.stringify(data),\n },\n );\n this.setItem(channelNumber);\n this.bump();\n return channelNumber;\n }\n\n async delete(id: string): Promise<void> {\n await this.transport.request<void>(`/channel-numbers/${id}`, {\n method: \"DELETE\",\n });\n this.removeItem(id);\n this.bump();\n }\n}\n","import type { Phone } from \"../../../domains/workspace/phone.js\";\nimport type {\n CreatePhoneRequest,\n UpdatePhoneRequest,\n PhoneConfigResponse,\n} from \"../dto/phone.js\";\nimport { BaseResourceClient } from \"./base.js\";\n\nexport class PhonesClient extends BaseResourceClient<Phone> {\n protected override extractSearchTerms(item: Phone): string {\n const rawMac = item.mac_address || \"\";\n const cleanMac = rawMac.replace(/[:-]/g, \"\");\n return `${item.name} ${item.model} ${item.serial_number || \"\"} ${rawMac} ${cleanMac} ${item.location}`.toLowerCase();\n }\n\n async listAll(force = false): Promise<Phone[]> {\n if (this.isLoaded && !force) {\n return this.all();\n }\n const items = await this.transport.requestData<Phone[]>(\"/phones\");\n this.setAll(items);\n return items;\n }\n\n async load(force = false): Promise<Phone[]> {\n return this.listAll(force);\n }\n\n async get(id: string, force = false): Promise<Phone> {\n if (!force) {\n const cached = this.find(id);\n if (cached) return cached;\n }\n const item = await this.transport.requestData<Phone>(`/phones/${id}`);\n this.setItem(item);\n this.bump();\n return item;\n }\n\n getConfig(id: string): Promise<PhoneConfigResponse> {\n return this.transport.request<PhoneConfigResponse>(`/phones/${id}/config`);\n }\n\n async create(data: CreatePhoneRequest): Promise<Phone> {\n const item = await this.transport.requestData<Phone>(\"/phones\", {\n method: \"POST\",\n body: JSON.stringify(data),\n });\n this.setItem(item);\n this.bump();\n return item;\n }\n\n async update(id: string, data: UpdatePhoneRequest): Promise<Phone> {\n const item = await this.transport.requestData<Phone>(`/phones/${id}`, {\n method: \"PATCH\",\n body: JSON.stringify(data),\n });\n this.setItem(item);\n this.bump();\n return item;\n }\n\n async delete(id: string): Promise<void> {\n await this.transport.request<void>(`/phones/${id}`, { method: \"DELETE\" });\n this.removeItem(id);\n this.bump();\n }\n}\n","import type { PhoneNumber } from \"../../../domains/workspace/phone_number.js\";\nimport type { UpdatePhoneNumberRequest } from \"../dto/phone_number.js\";\nimport { BaseResourceClient } from \"./base.js\";\n\nexport class PhoneNumbersClient extends BaseResourceClient<PhoneNumber> {\n protected override extractSearchTerms(item: PhoneNumber): string {\n const rawStart = item.range_start || \"\";\n const rawEnd = item.range_end || \"\";\n const cleanStart = rawStart.replace(/^\\+/, \"\");\n const cleanEnd = rawEnd.replace(/^\\+/, \"\");\n return `${item.name} ${rawStart} ${cleanStart} ${rawEnd} ${cleanEnd} ${item.country}`.toLowerCase();\n }\n\n async listAll(force = false): Promise<PhoneNumber[]> {\n if (this.isLoaded && !force) {\n return this.all();\n }\n const items =\n await this.transport.requestData<PhoneNumber[]>(\"/phone-numbers\");\n this.setAll(items);\n return items;\n }\n\n async load(force = false): Promise<PhoneNumber[]> {\n return this.listAll(force);\n }\n\n async get(id: string, force = false): Promise<PhoneNumber> {\n if (!force) {\n const cached = this.find(id);\n if (cached) return cached;\n }\n const item = await this.transport.requestData<PhoneNumber>(\n `/phone-numbers/${id}`,\n );\n this.setItem(item);\n this.bump();\n return item;\n }\n\n async update(\n id: string,\n data: UpdatePhoneNumberRequest,\n ): Promise<PhoneNumber> {\n const item = await this.transport.requestData<PhoneNumber>(\n `/phone-numbers/${id}`,\n {\n method: \"PATCH\",\n body: JSON.stringify(data),\n },\n );\n this.setItem(item);\n this.bump();\n return item;\n }\n}\n","import type { BusinessHours } from \"../../../domains/workspace/business_hours.js\";\nimport type {\n CreateBusinessHoursRequest,\n UpdateBusinessHoursRequest,\n} from \"../dto/business_hours.js\";\nimport { BaseResourceClient } from \"./base.js\";\n\nexport class BusinessHoursClient extends BaseResourceClient<BusinessHours> {\n protected override extractSearchTerms(item: BusinessHours): string {\n return `${item.name} ${item.timezone}`.toLowerCase();\n }\n\n async listAll(force = false): Promise<BusinessHours[]> {\n if (this.isLoaded && !force) {\n return this.all();\n }\n const items =\n await this.transport.requestData<BusinessHours[]>(\"/business-hours\");\n this.setAll(items);\n return items;\n }\n\n async load(force = false): Promise<BusinessHours[]> {\n return this.listAll(force);\n }\n\n async get(id: string, force = false): Promise<BusinessHours> {\n if (!force) {\n const cached = this.find(id);\n if (cached) return cached;\n }\n const item = await this.transport.requestData<BusinessHours>(\n `/business-hours/${id}`,\n );\n this.setItem(item);\n this.bump();\n return item;\n }\n\n async create(data: CreateBusinessHoursRequest): Promise<BusinessHours> {\n const item = await this.transport.requestData<BusinessHours>(\n \"/business-hours\",\n {\n method: \"POST\",\n body: JSON.stringify(data),\n },\n );\n this.setItem(item);\n this.bump();\n return item;\n }\n\n async update(\n id: string,\n data: UpdateBusinessHoursRequest,\n ): Promise<BusinessHours> {\n const item = await this.transport.requestData<BusinessHours>(\n `/business-hours/${id}`,\n {\n method: \"PATCH\",\n body: JSON.stringify(data),\n },\n );\n this.setItem(item);\n this.bump();\n return item;\n }\n\n async delete(id: string): Promise<void> {\n await this.transport.request<void>(`/business-hours/${id}`, {\n method: \"DELETE\",\n });\n this.removeItem(id);\n this.bump();\n }\n}\n","import type { Tag } from \"../../../domains/workspace/tag.js\";\nimport type { CreateTagRequest, UpdateTagRequest } from \"../dto/tag.js\";\nimport { BaseResourceClient } from \"./base.js\";\n\nexport class TagsClient extends BaseResourceClient<Tag> {\n protected override extractSearchTerms(item: Tag): string {\n return `${item.name} ${item.color} ${item.scopes.join(\" \")}`.toLowerCase();\n }\n\n async listAll(force = false): Promise<Tag[]> {\n if (this.isLoaded && !force) {\n return this.all();\n }\n const items = await this.transport.requestData<Tag[]>(\"/tags\");\n this.setAll(items);\n return items;\n }\n\n async load(force = false): Promise<Tag[]> {\n return this.listAll(force);\n }\n\n async get(id: string, force = false): Promise<Tag> {\n if (!force) {\n const cached = this.find(id);\n if (cached) return cached;\n }\n const item = await this.transport.requestData<Tag>(`/tags/${id}`);\n this.setItem(item);\n this.bump();\n return item;\n }\n\n async create(data: CreateTagRequest): Promise<Tag> {\n const tag = await this.transport.requestData<Tag>(\"/tags\", {\n method: \"POST\",\n body: JSON.stringify(data),\n });\n this.setItem(tag);\n this.bump();\n return tag;\n }\n\n async update(id: string, data: UpdateTagRequest): Promise<Tag> {\n const tag = await this.transport.requestData<Tag>(`/tags/${id}`, {\n method: \"PATCH\",\n body: JSON.stringify(data),\n });\n this.setItem(tag);\n this.bump();\n return tag;\n }\n\n async delete(id: string): Promise<void> {\n await this.transport.request<void>(`/tags/${id}`, { method: \"DELETE\" });\n this.removeItem(id);\n this.bump();\n }\n}\n","import type { Domain } from \"../../../domains/workspace/domain.js\";\nimport type {\n CreateDomainRequest,\n UpdateDomainRequest,\n} from \"../dto/domain.js\";\nimport { BaseResourceClient } from \"./base.js\";\n\nexport class DomainsClient extends BaseResourceClient<Domain> {\n protected override extractSearchTerms(item: Domain): string {\n return item.domain.toLowerCase();\n }\n\n async listAll(force = false): Promise<Domain[]> {\n if (this.isLoaded && !force) {\n return this.all();\n }\n const items = await this.transport.requestData<Domain[]>(\"/domains\");\n this.setAll(items);\n return items;\n }\n\n async load(force = false): Promise<Domain[]> {\n return this.listAll(force);\n }\n\n async get(id: string, force = false): Promise<Domain> {\n if (!force) {\n const cached = this.find(id);\n if (cached) return cached;\n }\n const item = await this.transport.requestData<Domain>(`/domains/${id}`);\n this.setItem(item);\n this.bump();\n return item;\n }\n\n async create(data: CreateDomainRequest): Promise<Domain> {\n const domain = await this.transport.requestData<Domain>(\"/domains\", {\n method: \"POST\",\n body: JSON.stringify(data),\n });\n this.setItem(domain);\n this.bump();\n return domain;\n }\n\n async update(id: string, data: UpdateDomainRequest): Promise<Domain> {\n const domain = await this.transport.requestData<Domain>(`/domains/${id}`, {\n method: \"PATCH\",\n body: JSON.stringify(data),\n });\n this.setItem(domain);\n this.bump();\n return domain;\n }\n\n async delete(id: string): Promise<void> {\n await this.transport.request<void>(`/domains/${id}`, { method: \"DELETE\" });\n this.removeItem(id);\n this.bump();\n }\n}\n","import type {\n WorkspaceBillingProfile,\n UpdateWorkspaceRequest,\n} from \"../dto/workspace.js\";\nimport { BaseResourceClient } from \"./base.js\";\n\nexport class WorkspaceClient extends BaseResourceClient {\n private cachedProfile: WorkspaceBillingProfile | null = null;\n\n async get(force = false): Promise<WorkspaceBillingProfile> {\n if (this.cachedProfile && !force) {\n return this.cachedProfile;\n }\n const profile =\n await this.transport.requestData<WorkspaceBillingProfile>(\"/workspace\");\n this.cachedProfile = profile;\n this.bump();\n return profile;\n }\n\n async load(force = false): Promise<WorkspaceBillingProfile> {\n return this.get(force);\n }\n\n current(): WorkspaceBillingProfile | null {\n return this.cachedProfile;\n }\n\n async update(data: UpdateWorkspaceRequest): Promise<WorkspaceBillingProfile> {\n const profile = await this.transport.requestData<WorkspaceBillingProfile>(\n \"/workspace\",\n {\n method: \"PATCH\",\n body: JSON.stringify(data),\n },\n );\n this.cachedProfile = profile;\n this.bump();\n return profile;\n }\n\n override clearCache(): void {\n super.clearCache();\n this.cachedProfile = null;\n }\n}\n","import type { FileDownloadLink, FileUploadLink } from \"../dto/file.js\";\nimport { BaseResourceClient } from \"./base.js\";\n\nexport class FilesClient extends BaseResourceClient {\n getDownloadLink(path: string): Promise<FileDownloadLink> {\n return this.transport.requestData<FileDownloadLink>(\n \"/files/link/download\",\n {\n headers: { \"X-File-Path\": path },\n },\n );\n }\n\n getUploadLink(\n category: string,\n entityId?: string,\n extension?: string,\n ): Promise<FileUploadLink> {\n const params = new URLSearchParams({ category });\n if (entityId) params.append(\"entity_id\", entityId);\n if (extension) params.append(\"extension\", extension);\n return this.transport.requestData<FileUploadLink>(\n `/files/link/upload?${params.toString()}`,\n );\n }\n\n async uploadToS3(data: Blob | ArrayBuffer, url: string): Promise<void> {\n const response = await fetch(url, {\n method: \"PUT\",\n body: data,\n });\n if (!response.ok) {\n throw new Error(`S3 Upload failed: ${response.statusText}`);\n }\n }\n\n async uploadBlob(\n blob: Blob,\n entityId?: string,\n category = \"track\",\n extension = \"wav\",\n ): Promise<string> {\n const { url, path } = await this.getUploadLink(\n category,\n entityId,\n extension,\n );\n await this.uploadToS3(blob, url);\n return path;\n }\n\n async uploadTrack(\n file: { name: string } & Blob,\n entityId?: string,\n ): Promise<{ path: string; name: string }> {\n const extension = file.name.split(\".\").pop()?.toLowerCase() || \"wav\";\n const { url, path } = await this.getUploadLink(\n \"track\",\n entityId,\n extension,\n );\n await this.uploadToS3(file, url);\n return { path, name: file.name };\n }\n}\n","import type { Prompt } from \"../../../domains/workspace/prompt.js\";\nimport type {\n CreatePromptRequest,\n UpdatePromptRequest,\n} from \"../dto/prompt.js\";\nimport { BaseResourceClient } from \"./base.js\";\n\nexport class PromptsClient extends BaseResourceClient<Prompt> {\n protected override extractSearchTerms(item: Prompt): string {\n return `${item.name} ${item.entity_id}`.toLowerCase();\n }\n\n async listAll(force = false): Promise<Prompt[]> {\n if (this.isLoaded && !force) {\n return this.all();\n }\n const items = await this.transport.requestData<Prompt[]>(\"/prompts\");\n this.setAll(items);\n return items;\n }\n\n async load(force = false): Promise<Prompt[]> {\n return this.listAll(force);\n }\n\n listAllMy(): Promise<Prompt[]> {\n return this.transport.requestData<Prompt[]>(\"/prompts/my\");\n }\n\n async get(id: string, force = false): Promise<Prompt> {\n if (!force) {\n const cached = this.find(id);\n if (cached) return cached;\n }\n const item = await this.transport.requestData<Prompt>(`/prompts/${id}`);\n this.setItem(item);\n this.bump();\n return item;\n }\n\n async create(data: CreatePromptRequest): Promise<Prompt> {\n const prompt = await this.transport.requestData<Prompt>(\"/prompts\", {\n method: \"POST\",\n body: JSON.stringify(data),\n });\n this.setItem(prompt);\n this.bump();\n return prompt;\n }\n\n async update(id: string, data: UpdatePromptRequest): Promise<Prompt> {\n const prompt = await this.transport.requestData<Prompt>(`/prompts/${id}`, {\n method: \"PATCH\",\n body: JSON.stringify(data),\n });\n this.setItem(prompt);\n this.bump();\n return prompt;\n }\n\n async delete(id: string): Promise<void> {\n await this.transport.request<void>(`/prompts/${id}`, { method: \"DELETE\" });\n this.removeItem(id);\n this.bump();\n }\n}\n","import type { Voice } from \"../../../domains/workspace/voice.js\";\nimport { BaseResourceClient } from \"./base.js\";\n\nexport class VoicesClient extends BaseResourceClient<Voice> {\n protected override extractSearchTerms(item: Voice): string {\n return `${item.name} ${item.language_code} ${item.gender} ${item.provider}`.toLowerCase();\n }\n\n async listAll(force = false): Promise<Voice[]> {\n if (this.isLoaded && !force) {\n return this.all();\n }\n const items = await this.transport.requestData<Voice[]>(\"/voices\");\n this.setAll(items);\n return items;\n }\n\n async load(force = false): Promise<Voice[]> {\n return this.listAll(force);\n }\n\n async get(id: string, force = false): Promise<Voice> {\n if (!force) {\n const cached = this.find(id);\n if (cached) return cached;\n }\n const item = await this.transport.requestData<Voice>(`/voices/${id}`);\n this.setItem(item);\n this.bump();\n return item;\n }\n\n voiceAgents(): Voice[] {\n return this.all().filter(\n (v) => v.scope.toLowerCase().replace(/[-_]/g, \"\") === \"voiceagent\",\n );\n }\n\n synthesize(id: string, ssml: string): Promise<Blob> {\n return this.transport.requestBlob(`/voices/${id}/tts/synthesize`, {\n method: \"POST\",\n body: JSON.stringify({ ssml }),\n });\n }\n}\n","import type { Invoice } from \"../../../domains/workspace/invoice.js\";\nimport type { InvoicePaymentUrlResponse } from \"../dto/invoice.js\";\nimport { BaseResourceClient } from \"./base.js\";\n\nexport class InvoicesClient extends BaseResourceClient<Invoice> {\n protected override extractSearchTerms(item: Invoice): string {\n return `${item.number} ${item.status}`.toLowerCase();\n }\n\n async listAll(force = false): Promise<Invoice[]> {\n if (this.isLoaded && !force) {\n return this.all();\n }\n const items = await this.transport.requestData<Invoice[]>(\"/invoices\");\n this.setAll(items);\n return items;\n }\n\n async load(force = false): Promise<Invoice[]> {\n return this.listAll(force);\n }\n\n async get(id: string, force = false): Promise<Invoice> {\n if (!force) {\n const cached = this.find(id);\n if (cached) return cached;\n }\n const item = await this.transport.requestData<Invoice>(`/invoices/${id}`);\n this.setItem(item);\n this.bump();\n return item;\n }\n\n getPaymentUrl(id: string): Promise<InvoicePaymentUrlResponse> {\n return this.transport.request<InvoicePaymentUrlResponse>(\n `/invoices/${id}/payment-url`,\n );\n }\n\n download(id: string): Promise<Blob> {\n return this.transport.requestBlob(`/invoices/${id}/download`);\n }\n}\n","import type { PaymentMethod } from \"../../../domains/workspace/payment_method.js\";\nimport type { CreatePaymentMethodUrlResponse } from \"../dto/payment_method.js\";\nimport { BaseResourceClient } from \"./base.js\";\n\nexport class PaymentMethodsClient extends BaseResourceClient<PaymentMethod> {\n protected override extractSearchTerms(item: PaymentMethod): string {\n return (item.last_four || item.last_four_digits || \"\").toLowerCase();\n }\n\n async listAll(force = false): Promise<PaymentMethod[]> {\n if (this.isLoaded && !force) {\n return this.all();\n }\n const items =\n await this.transport.requestData<PaymentMethod[]>(\"/payment-methods\");\n this.setAll(items);\n return items;\n }\n\n async load(force = false): Promise<PaymentMethod[]> {\n return this.listAll(force);\n }\n\n async get(id: string, force = false): Promise<PaymentMethod> {\n if (!force) {\n const cached = this.find(id);\n if (cached) return cached;\n }\n const item = await this.transport.requestData<PaymentMethod>(\n `/payment-methods/${id}`,\n );\n this.setItem(item);\n this.bump();\n return item;\n }\n\n createUrl(): Promise<CreatePaymentMethodUrlResponse> {\n return this.transport.request<CreatePaymentMethodUrlResponse>(\n \"/payment-methods/create-url\",\n );\n }\n\n async delete(id: string): Promise<void> {\n await this.transport.request<void>(`/payment-methods/${id}`, {\n method: \"DELETE\",\n });\n this.removeItem(id);\n this.bump();\n }\n\n async setAsPrimary(id: string): Promise<PaymentMethod> {\n const paymentMethod = await this.transport.requestData<PaymentMethod>(\n `/payment-methods/${id}/set-as-primary`,\n { method: \"POST\" },\n );\n for (const item of this.items.values()) {\n item.is_primary = item.id === id;\n }\n this.setItem(paymentMethod);\n this.bump();\n return paymentMethod;\n }\n}\n","import type { Subscription } from \"../../../domains/workspace/subscription.js\";\nimport { BaseResourceClient } from \"./base.js\";\n\nexport class SubscriptionsClient extends BaseResourceClient {\n private cachedSubscription: Subscription | null = null;\n\n async get(force = false): Promise<Subscription> {\n if (this.cachedSubscription && !force) {\n return this.cachedSubscription;\n }\n const sub = await this.transport.requestData<Subscription>(\"/subscription\");\n this.cachedSubscription = sub;\n this.bump();\n return sub;\n }\n\n async load(force = false): Promise<Subscription> {\n return this.get(force);\n }\n\n current(): Subscription | null {\n return this.cachedSubscription;\n }\n\n override clearCache(): void {\n super.clearCache();\n this.cachedSubscription = null;\n }\n}\n","import type { CallEvent, CallLog } from \"../../../domains/analytics/call.js\";\nimport type { UtteranceLite } from \"../../../domains/analytics/utterance.js\";\nimport type { GetCallLogsRequest } from \"../dto/analytics.js\";\nimport { isNotFoundError } from \"../errors.js\";\nimport { BaseResourceClient } from \"./base.js\";\n\nexport interface PaginatedCallLogsResponse {\n data: CallLog[];\n links?: {\n first?: string | null;\n last?: string | null;\n prev?: string | null;\n next?: string | null;\n };\n meta?: {\n current_page: number;\n from?: number | null;\n last_page: number;\n per_page: number;\n to?: number | null;\n total: number;\n };\n}\n\nexport class AnalyticsClient extends BaseResourceClient {\n listCallLogs(\n params: GetCallLogsRequest = {},\n ): Promise<PaginatedCallLogsResponse> {\n const query = new URLSearchParams();\n if (params.from) query.append(\"from\", params.from);\n if (params.to) query.append(\"to\", params.to);\n if (params.page) query.append(\"page\", String(params.page));\n if (params.per_page) query.append(\"per_page\", String(params.per_page));\n if (params.status) {\n params.status.forEach((s) => query.append(\"status[]\", s));\n }\n if (params.category) {\n params.category.forEach((c) => query.append(\"category[]\", c));\n }\n if (params.user_id) {\n params.user_id.forEach((u) => query.append(\"user_id[]\", u));\n }\n const qs = query.toString();\n const queryString = qs ? `?${qs}` : \"\";\n\n return this.transport\n .request<PaginatedCallLogsResponse>(`/analytics/call-logs${queryString}`)\n .catch((err) => {\n if (isNotFoundError(err)) {\n return this.transport.request<PaginatedCallLogsResponse>(\n `/reports/call-logs${queryString}`,\n );\n }\n throw err;\n });\n }\n\n async listCallEvents(callLogId: string): Promise<CallEvent[]> {\n return this.transport\n .requestData<CallEvent[]>(`/analytics/call-logs/${callLogId}/events`)\n .catch((err) => {\n if (isNotFoundError(err)) {\n return this.transport.requestData<CallEvent[]>(\n `/reports/call-logs/${callLogId}/events`,\n );\n }\n throw err;\n });\n }\n\n listCallUtterances(callLogId: string): Promise<UtteranceLite[]> {\n return this.transport.requestData<UtteranceLite[]>(\n `/analytics/call-logs/${callLogId}/utterances`,\n );\n }\n}\n","import type { FetchFn } from \"../account/client.js\";\nimport { RestError, NotFoundError, isNotFoundError } from \"./errors.js\";\nimport type { RestTransport } from \"./client/base.js\";\nimport { UsersClient } from \"./client/users.js\";\nimport { ChannelsClient } from \"./client/channels.js\";\nimport { ChannelNumbersClient } from \"./client/channel_numbers.js\";\nimport { PhonesClient } from \"./client/phones.js\";\nimport { PhoneNumbersClient } from \"./client/phone_numbers.js\";\nimport { BusinessHoursClient } from \"./client/business_hours.js\";\nimport { TagsClient } from \"./client/tags.js\";\nimport { DomainsClient } from \"./client/domains.js\";\nimport { WorkspaceClient } from \"./client/workspace.js\";\nimport { FilesClient } from \"./client/files.js\";\nimport { PromptsClient } from \"./client/prompts.js\";\nimport { VoicesClient } from \"./client/voices.js\";\nimport { InvoicesClient } from \"./client/invoices.js\";\nimport { PaymentMethodsClient } from \"./client/payment_methods.js\";\nimport { SubscriptionsClient } from \"./client/subscriptions.js\";\nimport { AnalyticsClient } from \"./client/analytics.js\";\n\nexport type RefreshTokenFn = () => Promise<string | void | undefined>;\n\nexport interface WorkspaceRestClientConfig {\n baseUrl: string;\n getAccessToken: () => string | undefined;\n getWorkspaceId: () => string | undefined;\n refreshAccessToken?: RefreshTokenFn;\n fetch?: FetchFn;\n}\n\nexport class WorkspaceRestClient implements RestTransport {\n private baseUrl: string;\n private getAccessToken: () => string | undefined;\n private getWorkspaceId: () => string | undefined;\n private refreshAccessToken?: RefreshTokenFn;\n private fetchFn: FetchFn;\n private refreshPromise: Promise<string | void | undefined> | null = null;\n\n readonly users: UsersClient;\n readonly channels: ChannelsClient;\n readonly channelNumbers: ChannelNumbersClient;\n readonly phones: PhonesClient;\n readonly phoneNumbers: PhoneNumbersClient;\n readonly businessHours: BusinessHoursClient;\n readonly tags: TagsClient;\n readonly domains: DomainsClient;\n readonly workspace: WorkspaceClient;\n readonly files: FilesClient;\n readonly prompts: PromptsClient;\n readonly voices: VoicesClient;\n readonly invoices: InvoicesClient;\n readonly paymentMethods: PaymentMethodsClient;\n readonly subscriptions: SubscriptionsClient;\n readonly analytics: AnalyticsClient;\n\n constructor(config: WorkspaceRestClientConfig) {\n this.baseUrl = config.baseUrl.replace(/\\/+$/, \"\");\n this.getAccessToken = config.getAccessToken;\n this.getWorkspaceId = config.getWorkspaceId;\n this.refreshAccessToken = config.refreshAccessToken;\n this.fetchFn = config.fetch ?? globalThis.fetch.bind(globalThis);\n\n this.users = new UsersClient(this);\n this.channels = new ChannelsClient(this);\n this.channelNumbers = new ChannelNumbersClient(this);\n this.phones = new PhonesClient(this);\n this.phoneNumbers = new PhoneNumbersClient(this);\n this.businessHours = new BusinessHoursClient(this);\n this.tags = new TagsClient(this);\n this.domains = new DomainsClient(this);\n this.workspace = new WorkspaceClient(this);\n this.files = new FilesClient(this);\n this.prompts = new PromptsClient(this);\n this.voices = new VoicesClient(this);\n this.invoices = new InvoicesClient(this);\n this.paymentMethods = new PaymentMethodsClient(this);\n this.subscriptions = new SubscriptionsClient(this);\n this.analytics = new AnalyticsClient(this);\n }\n\n clearCaches(): void {\n this.users.clearCache();\n this.channels.clearCache();\n this.channelNumbers.clearCache();\n this.phones.clearCache();\n this.phoneNumbers.clearCache();\n this.businessHours.clearCache();\n this.tags.clearCache();\n this.domains.clearCache();\n this.workspace.clearCache();\n this.files.clearCache();\n this.prompts.clearCache();\n this.voices.clearCache();\n this.invoices.clearCache();\n this.paymentMethods.clearCache();\n this.subscriptions.clearCache();\n }\n\n private async refreshToken(): Promise<string | void | undefined> {\n if (!this.refreshAccessToken) {\n return undefined;\n }\n if (!this.refreshPromise) {\n this.refreshPromise = (async () => {\n try {\n return await this.refreshAccessToken!();\n } finally {\n this.refreshPromise = null;\n }\n })();\n }\n return this.refreshPromise;\n }\n\n private async execute(\n path: string,\n init: RequestInit = {},\n overrideToken?: string,\n isRetry = false,\n ): Promise<Response> {\n const token = overrideToken ?? this.getAccessToken();\n const workspaceId = this.getWorkspaceId();\n\n const headers: Record<string, string> = {\n ...(init.body && typeof init.body === \"string\"\n ? { \"Content-Type\": \"application/json\" }\n : {}),\n ...(token ? { Authorization: `Bearer ${token}` } : {}),\n ...(workspaceId ? { \"X-Workspace-ID\": workspaceId } : {}),\n ...((init.headers as Record<string, string>) || {}),\n };\n\n const res = await this.fetchFn(`${this.baseUrl}${path}`, {\n ...init,\n headers,\n });\n\n if (res.status === 401 && !isRetry && this.refreshAccessToken) {\n try {\n const refreshedToken = await this.refreshToken();\n const nextToken =\n typeof refreshedToken === \"string\" && refreshedToken.length > 0\n ? refreshedToken\n : undefined;\n return await this.execute(path, init, nextToken, true);\n } catch (refreshErr) {\n throw refreshErr;\n }\n }\n\n if (!res.ok) {\n const errorText = await res.text().catch(() => \"\");\n if (res.status === 404) {\n throw new NotFoundError(res.statusText, errorText);\n }\n throw new RestError(res.status, res.statusText, errorText);\n }\n\n return res;\n }\n\n async request<T>(path: string, init: RequestInit = {}): Promise<T> {\n const res = await this.execute(path, {\n ...init,\n headers: {\n Accept: \"application/json\",\n ...((init.headers as Record<string, string>) || {}),\n },\n });\n\n if (res.status === 204) {\n return undefined as T;\n }\n\n return (await res.json()) as T;\n }\n\n async requestData<T>(path: string, init: RequestInit = {}): Promise<T> {\n const res = await this.request<{ data: T }>(path, init);\n return res.data;\n }\n\n async requestBlob(path: string, init: RequestInit = {}): Promise<Blob> {\n const res = await this.execute(path, init);\n return res.blob();\n }\n}\n\nexport { RestError, NotFoundError, isNotFoundError };\n","import { AdminSdkOptions, RequestOptions } from \"./types\";\nimport {\n AdminSdkError,\n ApiError,\n AuthenticationError,\n NotFoundError,\n RateLimitError,\n} from \"./errors\";\nimport { AccountClient } from \"./fabric/services/account/client\";\nimport { WorkspaceRestClient } from \"./fabric/services/rest/client\";\nimport type { Account } from \"./fabric/domains/account/account\";\n\nconst ENVIRONMENTS = {\n production: {\n api: \"https://rest.typecall.com/\",\n account: \"https://account.typecall.com\",\n },\n development: {\n api: \"https://rest.typecall.dev/\",\n account: \"https://account.typecall.dev\",\n },\n} as const;\n\nconst DEFAULT_TIMEOUT_MS = 30_000;\n\nexport class TypecallAdmin {\n private apiKey?: string;\n private accessToken?: string;\n private activeWorkspaceId?: string;\n private accountData?: Account;\n private readonly baseUrl: string;\n private readonly accountUrl: string;\n private readonly fetchFn: typeof fetch;\n private readonly timeoutMs: number;\n private readonly defaultHeaders: Record<string, string>;\n private accountClient: AccountClient;\n private restClient: WorkspaceRestClient;\n\n constructor(options: AdminSdkOptions = {}) {\n if (options.apiKey !== undefined && !options.apiKey.trim()) {\n throw new AdminSdkError(\n \"An `apiKey` must be provided to initialize TypecallAdmin.\",\n );\n }\n\n const env = options.environment ?? \"production\";\n const envDefaults = ENVIRONMENTS[env] ?? ENVIRONMENTS.production;\n\n this.apiKey = options.apiKey;\n this.accessToken = options.accessToken || undefined;\n this.baseUrl = (options.baseUrl ?? envDefaults.api).replace(/\\/+$/, \"\");\n this.accountUrl = (options.accountUrl ?? envDefaults.account).replace(\n /\\/+$/,\n \"\",\n );\n const rawFetch = options.fetch ?? globalThis.fetch;\n if (!rawFetch) {\n throw new AdminSdkError(\n \"No global `fetch` found. Provide a custom `fetch` implementation in `AdminSdkOptions`.\",\n );\n }\n this.fetchFn = rawFetch.bind(globalThis);\n this.timeoutMs = options.timeoutMs ?? DEFAULT_TIMEOUT_MS;\n this.defaultHeaders = options.headers ?? {};\n\n this.accountClient = new AccountClient({\n baseUrl: this.accountUrl,\n accessToken: this.accessToken ?? \"\",\n fetch: this.fetchFn,\n });\n\n this.restClient = new WorkspaceRestClient({\n baseUrl: this.baseUrl,\n getAccessToken: () =>\n this.apiKey || this.accessToken || this.accountClient.getToken(),\n getWorkspaceId: () => this.activeWorkspaceId,\n refreshAccessToken: async () => {\n if (this.apiKey) return;\n const newToken = await this.accountClient.refreshToken();\n this.accessToken = newToken;\n return newToken;\n },\n fetch: this.fetchFn,\n });\n }\n\n /**\n * Sets the active workspace ID for subsequent workspace-scoped requests.\n */\n setWorkspaceId(workspaceId: string): void {\n if (this.activeWorkspaceId !== workspaceId) {\n this.activeWorkspaceId = workspaceId;\n this.restClient.clearCaches();\n }\n }\n\n /**\n * Returns the active workspace ID, if set.\n */\n getWorkspaceId(): string | undefined {\n return this.activeWorkspaceId;\n }\n\n get users() {\n return this.restClient.users;\n }\n get channels() {\n return this.restClient.channels;\n }\n get channelNumbers() {\n return this.restClient.channelNumbers;\n }\n get phones() {\n return this.restClient.phones;\n }\n get phoneNumbers() {\n return this.restClient.phoneNumbers;\n }\n get businessHours() {\n return this.restClient.businessHours;\n }\n get tags() {\n return this.restClient.tags;\n }\n get domains() {\n return this.restClient.domains;\n }\n get workspace() {\n return this.restClient.workspace;\n }\n get files() {\n return this.restClient.files;\n }\n get prompts() {\n return this.restClient.prompts;\n }\n get voices() {\n return this.restClient.voices;\n }\n get invoices() {\n return this.restClient.invoices;\n }\n get paymentMethods() {\n return this.restClient.paymentMethods;\n }\n get subscriptions() {\n return this.restClient.subscriptions;\n }\n get billing() {\n return {\n invoices: this.restClient.invoices,\n paymentMethods: this.restClient.paymentMethods,\n subscriptions: this.restClient.subscriptions,\n };\n }\n get analytics() {\n return this.restClient.analytics;\n }\n\n /**\n * Returns the currently cached Account, if loaded.\n */\n get account(): Account | undefined {\n return this.accountData;\n }\n\n /**\n * Updates the active access token and re-syncs the internal Account client.\n */\n setAccessToken(token: string): void {\n this.accessToken = token;\n this.accountClient = new AccountClient({\n baseUrl: this.accountUrl,\n accessToken: token,\n fetch: this.fetchFn,\n });\n }\n\n /**\n * Returns the active access token.\n */\n getAccessToken(): string | undefined {\n return this.accessToken || this.accountClient.getToken() || undefined;\n }\n\n async getAccount(): Promise<Account> {\n try {\n let account: Account;\n if (this.accessToken) {\n try {\n account = await this.accountClient.getAccount();\n } catch (fetchErr) {\n const newToken = await this.accountClient.refreshToken();\n this.accessToken = newToken;\n account = await this.accountClient.getAccount();\n }\n } else {\n const newToken = await this.accountClient.refreshToken();\n this.accessToken = newToken;\n account = await this.accountClient.getAccount();\n }\n this.accountData = account;\n this.accessToken = this.accountClient.getToken();\n return account;\n } catch (err: unknown) {\n throw new AuthenticationError(\n \"Authentication failed: unable to fetch account or refresh token\",\n err instanceof Error ? err.message : err,\n );\n }\n }\n\n /**\n * Signs out by revoking the current session and clearing internal state.\n */\n async logout(): Promise<void> {\n try {\n await this.accountClient.revokeToken();\n } finally {\n this.accessToken = undefined;\n this.accountData = undefined;\n }\n }\n\n /**\n * Helper to perform authenticated HTTP requests against the Typecall Admin API.\n */\n async request<T>(path: string, options: RequestOptions = {}): Promise<T> {\n const authHeader = this.apiKey\n ? `Bearer ${this.apiKey}`\n : this.accessToken\n ? `Bearer ${this.accessToken}`\n : null;\n\n if (!authHeader) {\n throw new AdminSdkError(\n \"No authentication credentials available for this request.\",\n );\n }\n\n const { query, headers = {}, ...init } = options;\n\n const normalizedPath = path.startsWith(\"/\") ? path : `/${path}`;\n const url = new URL(`${this.baseUrl}${normalizedPath}`);\n\n if (query) {\n for (const [key, value] of Object.entries(query)) {\n if (value !== undefined) {\n url.searchParams.append(key, String(value));\n }\n }\n }\n\n const controller = new AbortController();\n const timer = setTimeout(() => controller.abort(), this.timeoutMs);\n\n try {\n const response = await this.fetchFn(url.toString(), {\n ...init,\n headers: {\n Authorization: authHeader,\n \"Content-Type\": \"application/json\",\n Accept: \"application/json\",\n ...this.defaultHeaders,\n ...headers,\n },\n signal: init.signal ?? controller.signal,\n });\n\n if (!response.ok) {\n let errorBody: unknown;\n try {\n errorBody = await response.json();\n } catch {\n errorBody = await response.text();\n }\n\n switch (response.status) {\n case 401:\n throw new AuthenticationError(response.statusText, errorBody);\n case 404:\n throw new NotFoundError(response.statusText, errorBody);\n case 429: {\n const retryHeader = response.headers?.get(\"retry-after\");\n const retryAfter = retryHeader\n ? parseInt(retryHeader, 10)\n : undefined;\n throw new RateLimitError(\n response.statusText,\n errorBody,\n retryAfter,\n );\n }\n default:\n throw new ApiError(response.status, response.statusText, errorBody);\n }\n }\n\n if (response.status === 204) {\n return undefined as T;\n }\n\n return (await response.json()) as T;\n } finally {\n clearTimeout(timer);\n }\n }\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@typecall/admin-sdk",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "description": "JS/TS Admin SDK for Typecall APIs",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",
@@ -12,6 +12,10 @@
12
12
  "import": "./dist/index.js",
13
13
  "require": "./dist/index.cjs"
14
14
  },
15
+ "./fabric/*": {
16
+ "types": "./dist/fabric/*.d.ts",
17
+ "import": "./dist/fabric/*.js"
18
+ },
15
19
  "./package.json": "./package.json"
16
20
  },
17
21
  "files": [
@@ -46,6 +50,11 @@
46
50
  "engines": {
47
51
  "node": ">=24.0.0"
48
52
  },
53
+ "dependencies": {
54
+ "minisearch": "^7.2.0",
55
+ "nanostores": "^1.5.4",
56
+ "zod": "^4.4.3"
57
+ },
49
58
  "devDependencies": {
50
59
  "@types/node": "^22.13.1",
51
60
  "tsup": "^8.3.6",