contiguity 0.0.4 → 0.0.6

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 (386) hide show
  1. package/README.md +156 -48
  2. package/dist/cjs/client.d.ts +27 -0
  3. package/dist/cjs/client.d.ts.map +1 -0
  4. package/dist/cjs/client.js +43 -0
  5. package/dist/cjs/index.d.ts +13 -0
  6. package/dist/cjs/index.d.ts.map +1 -0
  7. package/dist/cjs/index.js +11 -0
  8. package/dist/cjs/resources/conversations.d.ts +30 -0
  9. package/dist/cjs/resources/conversations.d.ts.map +1 -0
  10. package/dist/cjs/resources/conversations.js +24 -0
  11. package/dist/cjs/resources/domains.d.ts +39 -0
  12. package/dist/cjs/resources/domains.d.ts.map +1 -0
  13. package/dist/cjs/resources/domains.js +28 -0
  14. package/dist/cjs/resources/email.d.ts +17 -0
  15. package/dist/cjs/resources/email.d.ts.map +1 -0
  16. package/dist/cjs/resources/email.js +19 -0
  17. package/dist/cjs/resources/imessage.d.ts +49 -0
  18. package/dist/cjs/resources/imessage.d.ts.map +1 -0
  19. package/dist/cjs/resources/imessage.js +42 -0
  20. package/dist/cjs/resources/lease.d.ts +55 -0
  21. package/dist/cjs/resources/lease.d.ts.map +1 -0
  22. package/dist/cjs/resources/lease.js +34 -0
  23. package/dist/cjs/resources/otp.d.ts +63 -0
  24. package/dist/cjs/resources/otp.d.ts.map +1 -0
  25. package/dist/cjs/resources/otp.js +48 -0
  26. package/dist/cjs/resources/text.d.ts +17 -0
  27. package/dist/cjs/resources/text.d.ts.map +1 -0
  28. package/dist/cjs/resources/text.js +19 -0
  29. package/dist/cjs/resources/voice.d.ts +129 -0
  30. package/dist/cjs/resources/voice.d.ts.map +1 -0
  31. package/dist/cjs/resources/voice.js +95 -0
  32. package/dist/cjs/resources/webhook.d.ts +21 -0
  33. package/dist/cjs/resources/webhook.d.ts.map +1 -0
  34. package/dist/cjs/resources/webhook.js +47 -0
  35. package/dist/cjs/resources/whatsapp.d.ts +33 -0
  36. package/dist/cjs/resources/whatsapp.d.ts.map +1 -0
  37. package/dist/cjs/resources/whatsapp.js +32 -0
  38. package/dist/cjs/schemas/conversations.d.ts +5 -0
  39. package/dist/cjs/schemas/conversations.d.ts.map +1 -0
  40. package/dist/cjs/schemas/conversations.js +5 -0
  41. package/dist/cjs/schemas/domains.d.ts +7 -0
  42. package/dist/cjs/schemas/domains.d.ts.map +1 -0
  43. package/dist/cjs/schemas/domains.js +10 -0
  44. package/dist/cjs/schemas/email.d.ts +16 -0
  45. package/dist/cjs/schemas/email.d.ts.map +1 -0
  46. package/dist/cjs/schemas/email.js +16 -0
  47. package/dist/cjs/schemas/imessage.d.ts +25 -0
  48. package/dist/cjs/schemas/imessage.d.ts.map +1 -0
  49. package/dist/cjs/schemas/imessage.js +25 -0
  50. package/dist/cjs/schemas/index.d.ts +10 -0
  51. package/dist/cjs/schemas/index.d.ts.map +1 -0
  52. package/dist/cjs/schemas/index.js +25 -0
  53. package/dist/cjs/schemas/leases.d.ts +9 -0
  54. package/dist/cjs/schemas/leases.d.ts.map +1 -0
  55. package/dist/cjs/schemas/leases.js +9 -0
  56. package/dist/cjs/schemas/otp.d.ts +25 -0
  57. package/dist/cjs/schemas/otp.d.ts.map +1 -0
  58. package/dist/cjs/schemas/otp.js +16 -0
  59. package/dist/cjs/schemas/text.d.ts +9 -0
  60. package/dist/cjs/schemas/text.d.ts.map +1 -0
  61. package/dist/cjs/schemas/text.js +12 -0
  62. package/dist/cjs/schemas/voice.d.ts +5 -0
  63. package/dist/cjs/schemas/voice.d.ts.map +1 -0
  64. package/dist/cjs/schemas/voice.js +5 -0
  65. package/dist/cjs/schemas/whatsapp.d.ts +25 -0
  66. package/dist/cjs/schemas/whatsapp.d.ts.map +1 -0
  67. package/dist/cjs/schemas/whatsapp.js +25 -0
  68. package/dist/cjs/types/index.d.ts +3 -0
  69. package/dist/cjs/types/index.d.ts.map +1 -0
  70. package/dist/cjs/types/index.js +18 -0
  71. package/dist/cjs/types/responses.d.ts +8 -0
  72. package/dist/cjs/types/responses.d.ts.map +1 -0
  73. package/dist/cjs/types/responses.js +2 -0
  74. package/dist/cjs/types/webhooks.d.ts +10 -0
  75. package/dist/cjs/types/webhooks.d.ts.map +1 -0
  76. package/dist/cjs/types/webhooks.js +2 -0
  77. package/dist/cjs/utils/errors.d.ts +6 -0
  78. package/dist/cjs/utils/errors.d.ts.map +1 -0
  79. package/dist/cjs/utils/errors.js +15 -0
  80. package/dist/cjs/utils/request.d.ts +27 -0
  81. package/dist/cjs/utils/request.d.ts.map +1 -0
  82. package/dist/cjs/utils/request.js +36 -0
  83. package/dist/cjs/utils/response.d.ts +12 -0
  84. package/dist/cjs/utils/response.d.ts.map +1 -0
  85. package/dist/cjs/utils/response.js +12 -0
  86. package/dist/cjs/webhook/parse.d.ts +6 -0
  87. package/dist/cjs/webhook/parse.d.ts.map +1 -0
  88. package/dist/cjs/webhook/parse.js +14 -0
  89. package/dist/cjs/webhook/verify.d.ts +6 -0
  90. package/dist/cjs/webhook/verify.d.ts.map +1 -0
  91. package/dist/cjs/webhook/verify.js +39 -0
  92. package/dist/client.d.ts +23 -0
  93. package/dist/client.d.ts.map +1 -0
  94. package/dist/client.js +44 -0
  95. package/dist/esm/client.d.ts +27 -0
  96. package/dist/esm/client.d.ts.map +1 -0
  97. package/dist/esm/client.js +39 -0
  98. package/dist/esm/index.d.ts +13 -0
  99. package/dist/esm/index.d.ts.map +1 -0
  100. package/dist/esm/index.js +4 -0
  101. package/dist/esm/resources/conversations.d.ts +30 -0
  102. package/dist/esm/resources/conversations.d.ts.map +1 -0
  103. package/dist/esm/resources/conversations.js +20 -0
  104. package/dist/esm/resources/domains.d.ts +39 -0
  105. package/dist/esm/resources/domains.d.ts.map +1 -0
  106. package/dist/esm/resources/domains.js +24 -0
  107. package/dist/esm/resources/email.d.ts +17 -0
  108. package/dist/esm/resources/email.d.ts.map +1 -0
  109. package/dist/esm/resources/email.js +15 -0
  110. package/dist/esm/resources/imessage.d.ts +49 -0
  111. package/dist/esm/resources/imessage.d.ts.map +1 -0
  112. package/dist/esm/resources/imessage.js +38 -0
  113. package/dist/esm/resources/lease.d.ts +55 -0
  114. package/dist/esm/resources/lease.d.ts.map +1 -0
  115. package/dist/esm/resources/lease.js +30 -0
  116. package/dist/esm/resources/otp.d.ts +63 -0
  117. package/dist/esm/resources/otp.d.ts.map +1 -0
  118. package/dist/esm/resources/otp.js +44 -0
  119. package/dist/esm/resources/text.d.ts +17 -0
  120. package/dist/esm/resources/text.d.ts.map +1 -0
  121. package/dist/esm/resources/text.js +15 -0
  122. package/dist/esm/resources/voice.d.ts +129 -0
  123. package/dist/esm/resources/voice.d.ts.map +1 -0
  124. package/dist/esm/resources/voice.js +91 -0
  125. package/dist/esm/resources/webhook.d.ts +21 -0
  126. package/dist/esm/resources/webhook.d.ts.map +1 -0
  127. package/dist/esm/resources/webhook.js +43 -0
  128. package/dist/esm/resources/whatsapp.d.ts +33 -0
  129. package/dist/esm/resources/whatsapp.d.ts.map +1 -0
  130. package/dist/esm/resources/whatsapp.js +28 -0
  131. package/dist/esm/schemas/conversations.d.ts +5 -0
  132. package/dist/esm/schemas/conversations.d.ts.map +1 -0
  133. package/dist/esm/schemas/conversations.js +2 -0
  134. package/dist/esm/schemas/domains.d.ts +7 -0
  135. package/dist/esm/schemas/domains.d.ts.map +1 -0
  136. package/dist/esm/schemas/domains.js +7 -0
  137. package/dist/esm/schemas/email.d.ts +16 -0
  138. package/dist/esm/schemas/email.d.ts.map +1 -0
  139. package/dist/esm/schemas/email.js +13 -0
  140. package/dist/esm/schemas/imessage.d.ts +25 -0
  141. package/dist/esm/schemas/imessage.d.ts.map +1 -0
  142. package/dist/esm/schemas/imessage.js +22 -0
  143. package/dist/esm/schemas/index.d.ts +10 -0
  144. package/dist/esm/schemas/index.d.ts.map +1 -0
  145. package/dist/esm/schemas/index.js +9 -0
  146. package/dist/esm/schemas/leases.d.ts +9 -0
  147. package/dist/esm/schemas/leases.d.ts.map +1 -0
  148. package/dist/esm/schemas/leases.js +6 -0
  149. package/dist/esm/schemas/otp.d.ts +25 -0
  150. package/dist/esm/schemas/otp.d.ts.map +1 -0
  151. package/dist/esm/schemas/otp.js +13 -0
  152. package/dist/esm/schemas/text.d.ts +9 -0
  153. package/dist/esm/schemas/text.d.ts.map +1 -0
  154. package/dist/esm/schemas/text.js +9 -0
  155. package/dist/esm/schemas/voice.d.ts +5 -0
  156. package/dist/esm/schemas/voice.d.ts.map +1 -0
  157. package/dist/esm/schemas/voice.js +2 -0
  158. package/dist/esm/schemas/whatsapp.d.ts +25 -0
  159. package/dist/esm/schemas/whatsapp.d.ts.map +1 -0
  160. package/dist/esm/schemas/whatsapp.js +22 -0
  161. package/dist/esm/types/index.d.ts +3 -0
  162. package/dist/esm/types/index.d.ts.map +1 -0
  163. package/dist/esm/types/index.js +2 -0
  164. package/dist/esm/types/responses.d.ts +8 -0
  165. package/dist/esm/types/responses.d.ts.map +1 -0
  166. package/dist/esm/types/webhooks.d.ts +10 -0
  167. package/dist/esm/types/webhooks.d.ts.map +1 -0
  168. package/dist/esm/types/webhooks.js +1 -0
  169. package/dist/esm/utils/errors.d.ts +6 -0
  170. package/dist/esm/utils/errors.d.ts.map +1 -0
  171. package/dist/esm/utils/errors.js +11 -0
  172. package/dist/esm/utils/request.d.ts +27 -0
  173. package/dist/esm/utils/request.d.ts.map +1 -0
  174. package/dist/esm/utils/request.js +33 -0
  175. package/dist/esm/utils/response.d.ts +12 -0
  176. package/dist/esm/utils/response.d.ts.map +1 -0
  177. package/dist/esm/utils/response.js +9 -0
  178. package/dist/esm/webhook/parse.d.ts +6 -0
  179. package/dist/esm/webhook/parse.d.ts.map +1 -0
  180. package/dist/esm/webhook/parse.js +11 -0
  181. package/dist/esm/webhook/verify.d.ts +6 -0
  182. package/dist/esm/webhook/verify.d.ts.map +1 -0
  183. package/dist/esm/webhook/verify.js +36 -0
  184. package/dist/index.d.ts +13 -27
  185. package/dist/index.d.ts.map +1 -1
  186. package/dist/index.js +4 -12423
  187. package/dist/resources/conversations.d.ts +31 -0
  188. package/dist/resources/conversations.d.ts.map +1 -0
  189. package/dist/resources/conversations.js +21 -0
  190. package/dist/resources/domains.d.ts +39 -0
  191. package/dist/resources/domains.d.ts.map +1 -0
  192. package/dist/resources/domains.js +24 -0
  193. package/dist/resources/email.d.ts +17 -0
  194. package/dist/resources/email.d.ts.map +1 -0
  195. package/dist/resources/email.js +15 -0
  196. package/dist/resources/identity.d.ts +56 -0
  197. package/dist/resources/identity.d.ts.map +1 -0
  198. package/dist/resources/identity.js +43 -0
  199. package/dist/resources/imessage.d.ts +58 -0
  200. package/dist/resources/imessage.d.ts.map +1 -0
  201. package/dist/resources/imessage.js +47 -0
  202. package/dist/resources/lease.d.ts +55 -0
  203. package/dist/resources/lease.d.ts.map +1 -0
  204. package/dist/resources/lease.js +30 -0
  205. package/dist/resources/otp.d.ts +63 -0
  206. package/dist/resources/otp.d.ts.map +1 -0
  207. package/dist/resources/otp.js +44 -0
  208. package/dist/resources/product.d.ts +23 -0
  209. package/dist/resources/product.d.ts.map +1 -0
  210. package/dist/resources/product.js +19 -0
  211. package/dist/resources/text.d.ts +44 -0
  212. package/dist/resources/text.d.ts.map +1 -0
  213. package/dist/resources/text.js +33 -0
  214. package/dist/resources/voice.d.ts +129 -0
  215. package/dist/resources/voice.d.ts.map +1 -0
  216. package/dist/resources/voice.js +91 -0
  217. package/dist/resources/webhook.d.ts +21 -0
  218. package/dist/resources/webhook.d.ts.map +1 -0
  219. package/dist/resources/webhook.js +43 -0
  220. package/dist/resources/whatsapp.d.ts +33 -0
  221. package/dist/resources/whatsapp.d.ts.map +1 -0
  222. package/dist/resources/whatsapp.js +31 -0
  223. package/dist/schemas/conversations.d.ts +8 -0
  224. package/dist/schemas/conversations.d.ts.map +1 -0
  225. package/dist/schemas/conversations.js +8 -0
  226. package/dist/schemas/domains.d.ts +7 -0
  227. package/dist/schemas/domains.d.ts.map +1 -0
  228. package/dist/schemas/domains.js +7 -0
  229. package/dist/schemas/email.d.ts +16 -0
  230. package/dist/schemas/email.d.ts.map +1 -0
  231. package/dist/schemas/email.js +13 -0
  232. package/dist/schemas/imessage.d.ts +44 -0
  233. package/dist/schemas/imessage.d.ts.map +1 -0
  234. package/dist/schemas/imessage.js +36 -0
  235. package/dist/schemas/index.d.ts +10 -0
  236. package/dist/schemas/index.d.ts.map +1 -0
  237. package/dist/schemas/index.js +9 -0
  238. package/dist/schemas/leases.d.ts +9 -0
  239. package/dist/schemas/leases.d.ts.map +1 -0
  240. package/dist/schemas/leases.js +6 -0
  241. package/dist/schemas/otp.d.ts +25 -0
  242. package/dist/schemas/otp.d.ts.map +1 -0
  243. package/dist/schemas/otp.js +13 -0
  244. package/dist/schemas/product.d.ts +12 -0
  245. package/dist/schemas/product.d.ts.map +1 -0
  246. package/dist/schemas/product.js +9 -0
  247. package/dist/schemas/text.d.ts +24 -0
  248. package/dist/schemas/text.d.ts.map +1 -0
  249. package/dist/schemas/text.js +18 -0
  250. package/dist/schemas/voice.d.ts +5 -0
  251. package/dist/schemas/voice.d.ts.map +1 -0
  252. package/dist/schemas/voice.js +2 -0
  253. package/dist/schemas/whatsapp.d.ts +31 -0
  254. package/dist/schemas/whatsapp.d.ts.map +1 -0
  255. package/dist/schemas/whatsapp.js +29 -0
  256. package/dist/types/index.d.ts +3 -0
  257. package/dist/types/index.d.ts.map +1 -0
  258. package/dist/types/index.js +2 -0
  259. package/dist/types/responses.d.ts +8 -0
  260. package/dist/types/responses.d.ts.map +1 -0
  261. package/dist/types/responses.js +1 -0
  262. package/dist/types/webhooks.d.ts +10 -0
  263. package/dist/types/webhooks.d.ts.map +1 -0
  264. package/dist/types/webhooks.js +1 -0
  265. package/dist/utils/errors.d.ts +6 -0
  266. package/dist/utils/errors.d.ts.map +1 -0
  267. package/dist/utils/errors.js +11 -0
  268. package/dist/utils/request.d.ts +26 -5
  269. package/dist/utils/request.d.ts.map +1 -1
  270. package/dist/utils/request.js +31 -45
  271. package/dist/utils/response.d.ts +12 -0
  272. package/dist/utils/response.d.ts.map +1 -0
  273. package/dist/utils/response.js +9 -0
  274. package/dist/webhook/parse.d.ts +6 -0
  275. package/dist/webhook/parse.d.ts.map +1 -0
  276. package/dist/webhook/parse.js +11 -0
  277. package/dist/webhook/verify.d.ts +6 -0
  278. package/dist/webhook/verify.d.ts.map +1 -0
  279. package/dist/webhook/verify.js +36 -0
  280. package/package.json +30 -33
  281. package/LICENSE.md +0 -8
  282. package/dist/client/fetch.d.ts +0 -25
  283. package/dist/client/fetch.d.ts.map +0 -1
  284. package/dist/client/fetch.js +0 -85
  285. package/dist/contiguity.d.ts +0 -81
  286. package/dist/contiguity.d.ts.map +0 -1
  287. package/dist/contiguity.js +0 -106
  288. package/dist/services/domains/delete.d.ts +0 -28
  289. package/dist/services/domains/delete.d.ts.map +0 -1
  290. package/dist/services/domains/delete.js +0 -37
  291. package/dist/services/domains/get.d.ts +0 -98
  292. package/dist/services/domains/get.d.ts.map +0 -1
  293. package/dist/services/domains/get.js +0 -89
  294. package/dist/services/domains/index.d.ts +0 -34
  295. package/dist/services/domains/index.d.ts.map +0 -1
  296. package/dist/services/domains/index.js +0 -37
  297. package/dist/services/domains/list.d.ts +0 -36
  298. package/dist/services/domains/list.d.ts.map +0 -1
  299. package/dist/services/domains/list.js +0 -42
  300. package/dist/services/domains/register.d.ts +0 -67
  301. package/dist/services/domains/register.d.ts.map +0 -1
  302. package/dist/services/domains/register.js +0 -67
  303. package/dist/services/email/index.d.ts +0 -17
  304. package/dist/services/email/index.d.ts.map +0 -1
  305. package/dist/services/email/index.js +0 -16
  306. package/dist/services/email/send.d.ts +0 -66
  307. package/dist/services/email/send.d.ts.map +0 -1
  308. package/dist/services/email/send.js +0 -78
  309. package/dist/services/imessage/index.d.ts +0 -24
  310. package/dist/services/imessage/index.d.ts.map +0 -1
  311. package/dist/services/imessage/index.js +0 -23
  312. package/dist/services/imessage/send.d.ts +0 -57
  313. package/dist/services/imessage/send.d.ts.map +0 -1
  314. package/dist/services/imessage/send.js +0 -60
  315. package/dist/services/imessage/typing.d.ts +0 -40
  316. package/dist/services/imessage/typing.d.ts.map +0 -1
  317. package/dist/services/imessage/typing.js +0 -49
  318. package/dist/services/lease/available.d.ts +0 -193
  319. package/dist/services/lease/available.d.ts.map +0 -1
  320. package/dist/services/lease/available.js +0 -103
  321. package/dist/services/lease/create.d.ts +0 -108
  322. package/dist/services/lease/create.d.ts.map +0 -1
  323. package/dist/services/lease/create.js +0 -78
  324. package/dist/services/lease/details.d.ts +0 -133
  325. package/dist/services/lease/details.d.ts.map +0 -1
  326. package/dist/services/lease/details.js +0 -65
  327. package/dist/services/lease/get.d.ts +0 -96
  328. package/dist/services/lease/get.d.ts.map +0 -1
  329. package/dist/services/lease/get.js +0 -68
  330. package/dist/services/lease/index.d.ts +0 -50
  331. package/dist/services/lease/index.d.ts.map +0 -1
  332. package/dist/services/lease/index.js +0 -51
  333. package/dist/services/lease/leased.d.ts +0 -228
  334. package/dist/services/lease/leased.d.ts.map +0 -1
  335. package/dist/services/lease/leased.js +0 -108
  336. package/dist/services/lease/terminate.d.ts +0 -71
  337. package/dist/services/lease/terminate.d.ts.map +0 -1
  338. package/dist/services/lease/terminate.js +0 -78
  339. package/dist/services/otp/index.d.ts +0 -33
  340. package/dist/services/otp/index.d.ts.map +0 -1
  341. package/dist/services/otp/index.js +0 -37
  342. package/dist/services/otp/new.d.ts +0 -29
  343. package/dist/services/otp/new.d.ts.map +0 -1
  344. package/dist/services/otp/new.js +0 -44
  345. package/dist/services/otp/resend.d.ts +0 -22
  346. package/dist/services/otp/resend.d.ts.map +0 -1
  347. package/dist/services/otp/resend.js +0 -31
  348. package/dist/services/otp/send.d.ts +0 -26
  349. package/dist/services/otp/send.d.ts.map +0 -1
  350. package/dist/services/otp/send.js +0 -38
  351. package/dist/services/otp/verify.d.ts +0 -24
  352. package/dist/services/otp/verify.d.ts.map +0 -1
  353. package/dist/services/otp/verify.js +0 -34
  354. package/dist/services/text/index.d.ts +0 -17
  355. package/dist/services/text/index.d.ts.map +0 -1
  356. package/dist/services/text/index.js +0 -16
  357. package/dist/services/text/send.d.ts +0 -25
  358. package/dist/services/text/send.d.ts.map +0 -1
  359. package/dist/services/text/send.js +0 -37
  360. package/dist/services/whatsapp/index.d.ts +0 -24
  361. package/dist/services/whatsapp/index.d.ts.map +0 -1
  362. package/dist/services/whatsapp/index.js +0 -23
  363. package/dist/services/whatsapp/send.d.ts +0 -57
  364. package/dist/services/whatsapp/send.d.ts.map +0 -1
  365. package/dist/services/whatsapp/send.js +0 -60
  366. package/dist/services/whatsapp/typing.d.ts +0 -40
  367. package/dist/services/whatsapp/typing.d.ts.map +0 -1
  368. package/dist/services/whatsapp/typing.js +0 -49
  369. package/dist/types/base.d.ts +0 -17
  370. package/dist/types/base.d.ts.map +0 -1
  371. package/dist/types/base.js +0 -20
  372. package/dist/types/common.d.ts +0 -56
  373. package/dist/types/common.d.ts.map +0 -1
  374. package/dist/types/common.js +0 -48
  375. package/dist/types/error.d.ts +0 -37
  376. package/dist/types/error.d.ts.map +0 -1
  377. package/dist/types/error.js +0 -54
  378. package/dist/types/metadata.d.ts +0 -10
  379. package/dist/types/metadata.d.ts.map +0 -1
  380. package/dist/types/response.d.ts +0 -10
  381. package/dist/types/response.d.ts.map +0 -1
  382. package/dist/types/response.js +0 -10
  383. package/dist/utils/parse.d.ts +0 -8
  384. package/dist/utils/parse.d.ts.map +0 -1
  385. package/dist/utils/parse.js +0 -36
  386. /package/dist/{types/metadata.js → esm/types/responses.js} +0 -0
@@ -1,60 +0,0 @@
1
- import { z } from "zod";
2
- import { E164PhoneNumber, OptionalSenderNumber, MessageContent, AttachmentList, createFallbackSchema } from "@/types/common";
3
- export const WhatsAppSendRequest = z.object({
4
- /** Recipient's WhatsApp number. Must be in E.164 format */
5
- to: E164PhoneNumber,
6
- /** Your leased WhatsApp number. If none is provided, we will use a random WhatsApp number of yours */
7
- from: OptionalSenderNumber,
8
- /** The WhatsApp message to send */
9
- message: MessageContent,
10
- /** Should Contiguity fallback to SMS/RCS if the recipient does not have WhatsApp, or if WhatsApp fails to send? */
11
- fallback: createFallbackSchema("whatsapp", ["whatsapp_unsupported", "whatsapp_fails"]),
12
- /** Attachments to send. Can be a URL to your attachment (e.g. example.com/image.png) or a base64 string. Max 10 attachments, with a cumulative size of 50MB */
13
- attachments: AttachmentList
14
- });
15
- export const WhatsAppResponse = z.object({
16
- /** The message's ID. Use it to refer to this message in the future, when checking the status of the message or finding it in the Console */
17
- message_id: z.string(),
18
- });
19
- /**
20
- * Sends a WhatsApp message
21
- *
22
- * @example
23
- * ```typescript
24
- * const response = await contiguity.whatsapp.send({
25
- * to: "+1234567890",
26
- * message: "Hello from Contiguity!"
27
- * });
28
- * console.log(`Message ID: ${response.message_id}`);
29
- * ```
30
- *
31
- * @example
32
- * ```typescript
33
- * // Send with fallback to SMS and attachments
34
- * const response = await contiguity.whatsapp.send({
35
- * to: "+1234567890",
36
- * from: "+15555555555",
37
- * message: "Check out this image!",
38
- * fallback: {
39
- * when: ["whatsapp_unsupported", "whatsapp_fails"],
40
- * from: "+15555555555"
41
- * },
42
- * attachments: [
43
- * "https://example.com/image.png",
44
- * "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34..."
45
- * ]
46
- * });
47
- * console.log(`Message ID: ${response.message_id}`);
48
- * ```
49
- */
50
- export async function _whatsAppSend(params) {
51
- const validatedParams = WhatsAppSendRequest.parse(params);
52
- const response = await this.request("/send/whatsapp", {
53
- method: "POST",
54
- body: JSON.stringify(validatedParams),
55
- });
56
- return this.parse({
57
- response,
58
- schema: WhatsAppResponse
59
- });
60
- }
@@ -1,40 +0,0 @@
1
- import { z } from "zod";
2
- export declare const WhatsAppTypingRequest: z.ZodObject<{
3
- to: z.ZodString;
4
- from: z.ZodOptional<z.ZodString>;
5
- action: z.ZodEnum<{
6
- start: "start";
7
- stop: "stop";
8
- }>;
9
- }, z.core.$strip>;
10
- export declare const WhatsAppTypingResponse: z.ZodObject<{
11
- status: z.ZodString;
12
- }, z.core.$strip>;
13
- export type WhatsAppTypingParams = z.infer<typeof WhatsAppTypingRequest>;
14
- export type WhatsAppTypingResponseType = z.infer<typeof WhatsAppTypingResponse>;
15
- /**
16
- * Start or stop sending typing indicators over WhatsApp
17
- *
18
- * @example
19
- * ```typescript
20
- * // Start typing indicator
21
- * const response = await contiguity.whatsapp.typing({
22
- * to: "+1234567890",
23
- * action: "start"
24
- * });
25
- * console.log(`Typing status: ${response.status}`);
26
- * ```
27
- *
28
- * @example
29
- * ```typescript
30
- * // Stop typing indicator with specific sender number
31
- * const response = await contiguity.whatsapp.typing({
32
- * to: "+1234567890",
33
- * from: "+15555555555",
34
- * action: "stop"
35
- * });
36
- * console.log(`Typing status: ${response.status}`);
37
- * ```
38
- */
39
- export declare function _whatsAppTyping(this: any, params: WhatsAppTypingParams): Promise<any>;
40
- //# sourceMappingURL=typing.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"typing.d.ts","sourceRoot":"","sources":["../../../src/services/whatsapp/typing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,qBAAqB;;;;;;;iBAOhC,CAAA;AAEF,eAAO,MAAM,sBAAsB;;iBAGjC,CAAA;AAKF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACzE,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEhF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,GAAG,CAAC,CAW3F"}
@@ -1,49 +0,0 @@
1
- import { z } from "zod";
2
- import { E164PhoneNumber, OptionalSenderNumber, TypingAction } from "@/types/common";
3
- export const WhatsAppTypingRequest = z.object({
4
- /** Recipient's WhatsApp number. Must be in E.164 format */
5
- to: E164PhoneNumber,
6
- /** Your leased WhatsApp number. If none is provided, we will use a random WhatsApp number of yours */
7
- from: OptionalSenderNumber,
8
- /** Whether to start or stop sending typing indicators */
9
- action: TypingAction
10
- });
11
- export const WhatsAppTypingResponse = z.object({
12
- /** Status of the typing indicator */
13
- status: z.string(),
14
- });
15
- /**
16
- * Start or stop sending typing indicators over WhatsApp
17
- *
18
- * @example
19
- * ```typescript
20
- * // Start typing indicator
21
- * const response = await contiguity.whatsapp.typing({
22
- * to: "+1234567890",
23
- * action: "start"
24
- * });
25
- * console.log(`Typing status: ${response.status}`);
26
- * ```
27
- *
28
- * @example
29
- * ```typescript
30
- * // Stop typing indicator with specific sender number
31
- * const response = await contiguity.whatsapp.typing({
32
- * to: "+1234567890",
33
- * from: "+15555555555",
34
- * action: "stop"
35
- * });
36
- * console.log(`Typing status: ${response.status}`);
37
- * ```
38
- */
39
- export async function _whatsAppTyping(params) {
40
- const validatedParams = WhatsAppTypingRequest.parse(params);
41
- const response = await this.request("/send/whatsapp/typing", {
42
- method: "POST",
43
- body: JSON.stringify(validatedParams),
44
- });
45
- return this.parse({
46
- response,
47
- schema: WhatsAppTypingResponse
48
- });
49
- }
@@ -1,17 +0,0 @@
1
- import { z } from "zod";
2
- /**
3
- * Base response builder that automatically creates typed responses with metadata
4
- * This creates flattened responses where the data is combined with metadata
5
- */
6
- export declare class BaseResponseBuilder<T extends z.ZodObject<any>> {
7
- readonly schema: T;
8
- constructor(schema: T);
9
- get response(): T;
10
- get flattened(): z.ZodObject<{
11
- [x: string]: any;
12
- }, z.core.$strip>;
13
- }
14
- export declare function createResponse<T extends z.ZodObject<any>>(schema: T): BaseResponseBuilder<T>;
15
- export type BaseResponse<T extends BaseResponseBuilder<any>> = z.infer<T['response']>;
16
- export type FlattenedResponse<T extends BaseResponseBuilder<any>> = z.infer<T['flattened']>;
17
- //# sourceMappingURL=base.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/types/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;;GAGG;AACH,qBAAa,mBAAmB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC;aAC3B,MAAM,EAAE,CAAC;gBAAT,MAAM,EAAE,CAAC;IAErC,IAAI,QAAQ,MAEX;IAED,IAAI,SAAS;;sBAEZ;CACJ;AAED,wBAAgB,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC,0BAEnE;AAED,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;AACtF,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC"}
@@ -1,20 +0,0 @@
1
- import { ContiguityResponse } from "@/types/response";
2
- /**
3
- * Base response builder that automatically creates typed responses with metadata
4
- * This creates flattened responses where the data is combined with metadata
5
- */
6
- export class BaseResponseBuilder {
7
- schema;
8
- constructor(schema) {
9
- this.schema = schema;
10
- }
11
- get response() {
12
- return this.schema;
13
- }
14
- get flattened() {
15
- return ContiguityResponse.extend(this.schema.shape);
16
- }
17
- }
18
- export function createResponse(schema) {
19
- return new BaseResponseBuilder(schema);
20
- }
@@ -1,56 +0,0 @@
1
- import { z } from "zod";
2
- /**
3
- * Common validation schemas used across multiple services
4
- */
5
- export declare const E164PhoneNumber: z.ZodString;
6
- export declare const MessageContent: z.ZodString;
7
- export declare const OptionalSenderNumber: z.ZodOptional<z.ZodString>;
8
- export declare const AttachmentList: z.ZodOptional<z.ZodArray<z.ZodString>>;
9
- export declare const SingleOrMultipleEmails: (maxCount?: number, fieldName?: string) => z.ZodUnion<readonly [z.ZodEmail, z.ZodArray<z.ZodEmail>]>;
10
- export declare const TypingAction: z.ZodEnum<{
11
- start: "start";
12
- stop: "stop";
13
- }>;
14
- export declare const NumberStatus: z.ZodEnum<{
15
- available: "available";
16
- "g-available": "g-available";
17
- leased: "leased";
18
- unavailable: "unavailable";
19
- }>;
20
- export declare const LeaseStatus: z.ZodEnum<{
21
- active: "active";
22
- expired: "expired";
23
- terminated: "terminated";
24
- }>;
25
- export declare const BillingMethod: z.ZodEnum<{
26
- monthly: "monthly";
27
- service_contract: "service_contract";
28
- goodwill: "goodwill";
29
- }>;
30
- export declare const Currency: z.ZodEnum<{
31
- USD: "USD";
32
- EUR: "EUR";
33
- GBP: "GBP";
34
- CAD: "CAD";
35
- AUD: "AUD";
36
- }>;
37
- export declare const Carrier: z.ZodEnum<{
38
- "T-Mobile": "T-Mobile";
39
- "AT&T": "AT&T";
40
- Verizon: "Verizon";
41
- Contiguity: "Contiguity";
42
- "International Partner": "International Partner";
43
- }>;
44
- export declare const MessageChannel: z.ZodEnum<{
45
- sms: "sms";
46
- mms: "mms";
47
- rcs: "rcs";
48
- imessage: "imessage";
49
- whatsapp: "whatsapp";
50
- }>;
51
- export declare const createFallbackSchema: <T extends string>(serviceType: T, fallbackConditions: readonly [T, ...T[]]) => z.ZodOptional<z.ZodObject<{
52
- when: z.ZodArray<z.ZodEnum<{ [k_1 in T]: k_1; } extends infer T_1 ? { [k in keyof T_1]: T_1[k]; } : never>>;
53
- from: z.ZodOptional<z.ZodString>;
54
- }, z.core.$strip>>;
55
- export type RequestFunction<TParams, TResponse> = (this: any, params: TParams) => Promise<TResponse>;
56
- //# sourceMappingURL=common.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/types/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AAGH,eAAO,MAAM,eAAe,aAAgF,CAAC;AAG7G,eAAO,MAAM,cAAc,aAA+C,CAAC;AAG3E,eAAO,MAAM,oBAAoB,4BAAwB,CAAC;AAG1D,eAAO,MAAM,cAAc,wCAGZ,CAAC;AAGhB,eAAO,MAAM,sBAAsB,GAAI,WAAU,MAAW,EAAE,YAAW,MAAgB,8DAKnF,CAAC;AAGP,eAAO,MAAM,YAAY;;;EAAgF,CAAC;AAG1G,eAAO,MAAM,YAAY;;;;;EAAgE,CAAC;AAE1F,eAAO,MAAM,WAAW;;;;EAA8C,CAAC;AAEvE,eAAO,MAAM,aAAa;;;;EAAsD,CAAC;AAEjF,eAAO,MAAM,QAAQ;;;;;;EAA8C,CAAC;AAEpE,eAAO,MAAM,OAAO;;;;;;EAMlB,CAAC;AAEH,eAAO,MAAM,cAAc;;;;;;EAMzB,CAAC;AAEH,eAAO,MAAM,oBAAoB,GAAI,CAAC,SAAS,MAAM,EACjD,aAAa,CAAC,EACd,oBAAoB,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;;;kBAM/B,CAAC;AAGd,MAAM,MAAM,eAAe,CAAC,OAAO,EAAE,SAAS,IAAI,CAC9C,IAAI,EAAE,GAAG,EACT,MAAM,EAAE,OAAO,KACd,OAAO,CAAC,SAAS,CAAC,CAAC"}
@@ -1,48 +0,0 @@
1
- import { z } from "zod";
2
- /**
3
- * Common validation schemas used across multiple services
4
- */
5
- // Phone number validation - used in text, iMessage, WhatsApp, and lease services
6
- export const E164PhoneNumber = z.string().regex(/^\+[1-9]\d{1,14}$/, "Phone number must be in E.164 format");
7
- // Message validation - used across messaging services
8
- export const MessageContent = z.string().min(1, "Message cannot be empty");
9
- // Optional sender number - used across messaging services
10
- export const OptionalSenderNumber = z.string().optional();
11
- // Attachment validation - used in iMessage and WhatsApp
12
- export const AttachmentList = z
13
- .array(z.string().min(1, "Attachment cannot be empty"))
14
- .max(10, "Maximum 10 attachments allowed")
15
- .optional();
16
- // Email validation patterns - used in email service
17
- export const SingleOrMultipleEmails = (maxCount = 10, fieldName = "email") => z.union([
18
- z.email(`Must be a valid ${fieldName} address`),
19
- z.array(z.email(`Must be a valid ${fieldName} address`))
20
- .max(maxCount, `Maximum ${maxCount} ${fieldName} addresses allowed`)
21
- ]);
22
- // Typing action validation - used in iMessage and WhatsApp typing
23
- export const TypingAction = z.enum(["start", "stop"]).describe("Action must be either 'start' or 'stop'");
24
- // Common status enums
25
- export const NumberStatus = z.enum(["available", "g-available", "leased", "unavailable"]);
26
- export const LeaseStatus = z.enum(["active", "expired", "terminated"]);
27
- export const BillingMethod = z.enum(["monthly", "service_contract", "goodwill"]);
28
- export const Currency = z.enum(["USD", "EUR", "GBP", "CAD", "AUD"]);
29
- export const Carrier = z.enum([
30
- "T-Mobile",
31
- "AT&T",
32
- "Verizon",
33
- "Contiguity",
34
- "International Partner"
35
- ]);
36
- export const MessageChannel = z.enum([
37
- "sms",
38
- "mms",
39
- "rcs",
40
- "imessage",
41
- "whatsapp"
42
- ]);
43
- export const createFallbackSchema = (serviceType, fallbackConditions) => z.object({
44
- /** When to fallback to SMS/RCS */
45
- when: z.array(z.enum(fallbackConditions)).min(1, "At least one fallback condition must be specified"),
46
- /** Fallback sender number */
47
- from: OptionalSenderNumber
48
- }).optional();
@@ -1,37 +0,0 @@
1
- import { z } from "zod";
2
- export declare const ContiguityAPIError: z.ZodObject<{
3
- id: z.ZodString;
4
- timestamp: z.ZodNumber;
5
- api_version: z.ZodString;
6
- object: z.ZodString;
7
- data: z.ZodObject<{
8
- status: z.ZodNumber;
9
- error: z.ZodString;
10
- }, z.core.$strip>;
11
- }, z.core.$strip>;
12
- export interface ContiguityErrorData {
13
- data: {
14
- status: number;
15
- error: string;
16
- };
17
- }
18
- export declare class ContiguityError extends Error {
19
- readonly status: number;
20
- constructor(response: ContiguityErrorData);
21
- static fromError(error: any): ContiguityError;
22
- toString(): string;
23
- toJSON(): {
24
- message: string;
25
- status: number;
26
- };
27
- }
28
- export declare class ContiguitySDKError extends Error {
29
- readonly status: string;
30
- constructor(message: string, status?: string);
31
- toString(): string;
32
- toJSON(): {
33
- message: string;
34
- status: string;
35
- };
36
- }
37
- //# sourceMappingURL=error.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../src/types/error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,kBAAkB;;;;;;;;;iBAS7B,CAAC;AAEH,MAAM,WAAW,mBAAmB;IAChC,IAAI,EAAE;QACF,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;KACjB,CAAC;CACL;AAED,qBAAa,eAAgB,SAAQ,KAAK;IACtC,SAAgB,MAAM,EAAE,MAAM,CAAC;gBAEnB,QAAQ,EAAE,mBAAmB;IAMzC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG;IASlB,QAAQ;IAIjB,MAAM;;;;CAMT;AAED,qBAAa,kBAAmB,SAAQ,KAAK;IACzC,SAAgB,MAAM,EAAE,MAAM,CAAC;gBAEnB,OAAO,EAAE,MAAM,EAAE,MAAM,GAAE,MAAoB;IAOhD,QAAQ;IAIjB,MAAM;;;;CAMT"}
@@ -1,54 +0,0 @@
1
- import { z } from "zod";
2
- export const ContiguityAPIError = z.object({
3
- id: z.string(),
4
- timestamp: z.number(),
5
- api_version: z.string(),
6
- object: z.string(),
7
- data: z.object({
8
- status: z.number(),
9
- error: z.string(),
10
- }),
11
- });
12
- export class ContiguityError extends Error {
13
- status;
14
- constructor(response) {
15
- super(response.data.error);
16
- this.message = response.data.error;
17
- this.status = response.data.status;
18
- }
19
- static fromError(error) {
20
- return new ContiguityError({
21
- data: {
22
- error: error.message || "Unknown error",
23
- status: error.status || 500,
24
- }
25
- });
26
- }
27
- toString() {
28
- return `[Contiguity Error]: ${this.message} (status: ${this.status})`;
29
- }
30
- toJSON() {
31
- return {
32
- message: this.message,
33
- status: this.status,
34
- };
35
- }
36
- }
37
- export class ContiguitySDKError extends Error {
38
- status;
39
- constructor(message, status = 'sdk_error') {
40
- super(message);
41
- this.message = message;
42
- this.status = status;
43
- this.name = '[Contiguity SDK Error]';
44
- }
45
- toString() {
46
- return `[Contiguity SDK Error]: ${this.message} (status: ${this.status})`;
47
- }
48
- toJSON() {
49
- return {
50
- message: this.message,
51
- status: this.status,
52
- };
53
- }
54
- }
@@ -1,10 +0,0 @@
1
- export interface ContiguityMetadata {
2
- id: string;
3
- timestamp: number;
4
- api_version: string;
5
- object: string;
6
- }
7
- export type WithMetadata<T> = T & {
8
- metadata: ContiguityMetadata;
9
- };
10
- //# sourceMappingURL=metadata.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../src/types/metadata.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,kBAAkB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG;IAC9B,QAAQ,EAAE,kBAAkB,CAAC;CAChC,CAAC"}
@@ -1,10 +0,0 @@
1
- import { z } from "zod";
2
- export declare const ContiguityResponse: z.ZodObject<{
3
- metadata: z.ZodObject<{
4
- id: z.ZodString;
5
- timestamp: z.ZodNumber;
6
- api_version: z.ZodString;
7
- object: z.ZodString;
8
- }, z.core.$strip>;
9
- }, z.core.$strip>;
10
- //# sourceMappingURL=response.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../src/types/response.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,kBAAkB;;;;;;;iBAQ7B,CAAC"}
@@ -1,10 +0,0 @@
1
- import { z } from "zod";
2
- export const ContiguityResponse = z.object({
3
- metadata: z.object({
4
- id: z.string(),
5
- timestamp: z.number(),
6
- api_version: z.string(),
7
- object: z.string(),
8
- }),
9
- // we run zod.extend with data here.
10
- });
@@ -1,8 +0,0 @@
1
- import { z } from "zod";
2
- /**
3
- * Normalizes API responses to either raw or flattened format
4
- * This utility handles the complex logic of parsing different response formats
5
- * from the Contiguity API and normalizing them consistently.
6
- */
7
- export declare function parseContiguityResponse<T extends z.ZodType, R extends z.ZodType>(response: any, dataSchema: T, rawResponseSchema: R, returnRaw?: boolean): any;
8
- //# sourceMappingURL=parse.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../src/utils/parse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC,OAAO,EAC5E,QAAQ,EAAE,GAAG,EACb,UAAU,EAAE,CAAC,EACb,iBAAiB,EAAE,CAAC,EACpB,SAAS,GAAE,OAAe,GAC3B,GAAG,CAiCL"}
@@ -1,36 +0,0 @@
1
- /**
2
- * Normalizes API responses to either raw or flattened format
3
- * This utility handles the complex logic of parsing different response formats
4
- * from the Contiguity API and normalizing them consistently.
5
- */
6
- export function parseContiguityResponse(response, dataSchema, rawResponseSchema, returnRaw = false) {
7
- // Handle different response formats:
8
- // 1. Already wrapped in response format (response.object === "response")
9
- // 2. Direct data that needs wrapping
10
- // 3. Fallback to raw parsing
11
- const validatedResponse = response.object === "response"
12
- ? rawResponseSchema.parse(response)
13
- : dataSchema.safeParse(response).success
14
- ? {
15
- id: response.id || "unknown",
16
- timestamp: response.timestamp || Date.now(),
17
- api_version: response.api_version || "unknown",
18
- object: response.object || "unknown",
19
- data: dataSchema.parse(response),
20
- }
21
- : rawResponseSchema.parse(response);
22
- if (returnRaw) {
23
- return validatedResponse;
24
- }
25
- // For flattened responses, we need to handle both formats
26
- const rawData = rawResponseSchema.parse(validatedResponse);
27
- return {
28
- ...rawData.data,
29
- metadata: {
30
- id: rawData.id,
31
- timestamp: rawData.timestamp,
32
- api_version: rawData.api_version,
33
- object: rawData.object,
34
- },
35
- };
36
- }