@keystrokehq/spoki 0.1.0 → 0.1.3

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 (461) hide show
  1. package/dist/action.cjs.map +1 -1
  2. package/dist/action.mjs.map +1 -1
  3. package/dist/actions/add-contact-operator.cjs +1 -1
  4. package/dist/actions/add-contact-operator.cjs.map +1 -1
  5. package/dist/actions/add-contact-operator.d.cts +9 -3
  6. package/dist/actions/add-contact-operator.d.cts.map +1 -1
  7. package/dist/actions/add-contact-operator.d.mts +9 -3
  8. package/dist/actions/add-contact-operator.d.mts.map +1 -1
  9. package/dist/actions/add-contact-operator.mjs +1 -1
  10. package/dist/actions/add-contact-operator.mjs.map +1 -1
  11. package/dist/actions/add-service-user.cjs +4 -4
  12. package/dist/actions/add-service-user.cjs.map +1 -1
  13. package/dist/actions/add-service-user.d.cts +13 -3
  14. package/dist/actions/add-service-user.d.cts.map +1 -1
  15. package/dist/actions/add-service-user.d.mts +13 -3
  16. package/dist/actions/add-service-user.d.mts.map +1 -1
  17. package/dist/actions/add-service-user.mjs +4 -4
  18. package/dist/actions/add-service-user.mjs.map +1 -1
  19. package/dist/actions/check-role-private-key.cjs +1 -1
  20. package/dist/actions/check-role-private-key.cjs.map +1 -1
  21. package/dist/actions/check-role-private-key.d.cts +9 -3
  22. package/dist/actions/check-role-private-key.d.cts.map +1 -1
  23. package/dist/actions/check-role-private-key.d.mts +9 -3
  24. package/dist/actions/check-role-private-key.d.mts.map +1 -1
  25. package/dist/actions/check-role-private-key.mjs +1 -1
  26. package/dist/actions/check-role-private-key.mjs.map +1 -1
  27. package/dist/actions/clone-template.cjs +16 -16
  28. package/dist/actions/clone-template.cjs.map +1 -1
  29. package/dist/actions/clone-template.d.cts +48 -3
  30. package/dist/actions/clone-template.d.cts.map +1 -1
  31. package/dist/actions/clone-template.d.mts +48 -3
  32. package/dist/actions/clone-template.d.mts.map +1 -1
  33. package/dist/actions/clone-template.mjs +16 -16
  34. package/dist/actions/clone-template.mjs.map +1 -1
  35. package/dist/actions/create-account-onboarding-link.cjs +4 -4
  36. package/dist/actions/create-account-onboarding-link.cjs.map +1 -1
  37. package/dist/actions/create-account-onboarding-link.d.cts +11 -3
  38. package/dist/actions/create-account-onboarding-link.d.cts.map +1 -1
  39. package/dist/actions/create-account-onboarding-link.d.mts +11 -3
  40. package/dist/actions/create-account-onboarding-link.d.mts.map +1 -1
  41. package/dist/actions/create-account-onboarding-link.mjs +4 -4
  42. package/dist/actions/create-account-onboarding-link.mjs.map +1 -1
  43. package/dist/actions/create-custom-field.cjs +7 -7
  44. package/dist/actions/create-custom-field.cjs.map +1 -1
  45. package/dist/actions/create-custom-field.d.cts +20 -3
  46. package/dist/actions/create-custom-field.d.cts.map +1 -1
  47. package/dist/actions/create-custom-field.d.mts +20 -3
  48. package/dist/actions/create-custom-field.d.mts.map +1 -1
  49. package/dist/actions/create-custom-field.mjs +7 -7
  50. package/dist/actions/create-custom-field.mjs.map +1 -1
  51. package/dist/actions/create-list.cjs +5 -5
  52. package/dist/actions/create-list.cjs.map +1 -1
  53. package/dist/actions/create-list.d.cts +13 -3
  54. package/dist/actions/create-list.d.cts.map +1 -1
  55. package/dist/actions/create-list.d.mts +13 -3
  56. package/dist/actions/create-list.d.mts.map +1 -1
  57. package/dist/actions/create-list.mjs +5 -5
  58. package/dist/actions/create-list.mjs.map +1 -1
  59. package/dist/actions/create-media.cjs +1 -1
  60. package/dist/actions/create-media.cjs.map +1 -1
  61. package/dist/actions/create-media.d.cts +19 -3
  62. package/dist/actions/create-media.d.cts.map +1 -1
  63. package/dist/actions/create-media.d.mts +19 -3
  64. package/dist/actions/create-media.d.mts.map +1 -1
  65. package/dist/actions/create-media.mjs +1 -1
  66. package/dist/actions/create-media.mjs.map +1 -1
  67. package/dist/actions/create-or-update-contact.cjs +10 -10
  68. package/dist/actions/create-or-update-contact.cjs.map +1 -1
  69. package/dist/actions/create-or-update-contact.d.cts +30 -3
  70. package/dist/actions/create-or-update-contact.d.cts.map +1 -1
  71. package/dist/actions/create-or-update-contact.d.mts +30 -3
  72. package/dist/actions/create-or-update-contact.d.mts.map +1 -1
  73. package/dist/actions/create-or-update-contact.mjs +10 -10
  74. package/dist/actions/create-or-update-contact.mjs.map +1 -1
  75. package/dist/actions/create-template.cjs +16 -16
  76. package/dist/actions/create-template.cjs.map +1 -1
  77. package/dist/actions/create-template.d.cts +95 -3
  78. package/dist/actions/create-template.d.cts.map +1 -1
  79. package/dist/actions/create-template.d.mts +95 -3
  80. package/dist/actions/create-template.d.mts.map +1 -1
  81. package/dist/actions/create-template.mjs +16 -16
  82. package/dist/actions/create-template.mjs.map +1 -1
  83. package/dist/actions/create-ticket.cjs +25 -25
  84. package/dist/actions/create-ticket.cjs.map +1 -1
  85. package/dist/actions/create-ticket.d.cts +65 -3
  86. package/dist/actions/create-ticket.d.cts.map +1 -1
  87. package/dist/actions/create-ticket.d.mts +65 -3
  88. package/dist/actions/create-ticket.d.mts.map +1 -1
  89. package/dist/actions/create-ticket.mjs +25 -25
  90. package/dist/actions/create-ticket.mjs.map +1 -1
  91. package/dist/actions/delete-contact.cjs +1 -1
  92. package/dist/actions/delete-contact.cjs.map +1 -1
  93. package/dist/actions/delete-contact.d.cts +7 -3
  94. package/dist/actions/delete-contact.d.cts.map +1 -1
  95. package/dist/actions/delete-contact.d.mts +7 -3
  96. package/dist/actions/delete-contact.d.mts.map +1 -1
  97. package/dist/actions/delete-contact.mjs +1 -1
  98. package/dist/actions/delete-contact.mjs.map +1 -1
  99. package/dist/actions/delete-custom-field.cjs +1 -1
  100. package/dist/actions/delete-custom-field.cjs.map +1 -1
  101. package/dist/actions/delete-custom-field.d.cts +7 -3
  102. package/dist/actions/delete-custom-field.d.cts.map +1 -1
  103. package/dist/actions/delete-custom-field.d.mts +7 -3
  104. package/dist/actions/delete-custom-field.d.mts.map +1 -1
  105. package/dist/actions/delete-custom-field.mjs +1 -1
  106. package/dist/actions/delete-custom-field.mjs.map +1 -1
  107. package/dist/actions/delete-list.cjs +1 -1
  108. package/dist/actions/delete-list.cjs.map +1 -1
  109. package/dist/actions/delete-list.d.cts +7 -3
  110. package/dist/actions/delete-list.d.cts.map +1 -1
  111. package/dist/actions/delete-list.d.mts +7 -3
  112. package/dist/actions/delete-list.d.mts.map +1 -1
  113. package/dist/actions/delete-list.mjs +1 -1
  114. package/dist/actions/delete-list.mjs.map +1 -1
  115. package/dist/actions/delete-media.cjs +1 -1
  116. package/dist/actions/delete-media.cjs.map +1 -1
  117. package/dist/actions/delete-media.d.cts +7 -3
  118. package/dist/actions/delete-media.d.cts.map +1 -1
  119. package/dist/actions/delete-media.d.mts +7 -3
  120. package/dist/actions/delete-media.d.mts.map +1 -1
  121. package/dist/actions/delete-media.mjs +1 -1
  122. package/dist/actions/delete-media.mjs.map +1 -1
  123. package/dist/actions/delete-role.cjs +1 -1
  124. package/dist/actions/delete-role.cjs.map +1 -1
  125. package/dist/actions/delete-role.d.cts +7 -3
  126. package/dist/actions/delete-role.d.cts.map +1 -1
  127. package/dist/actions/delete-role.d.mts +7 -3
  128. package/dist/actions/delete-role.d.mts.map +1 -1
  129. package/dist/actions/delete-role.mjs +1 -1
  130. package/dist/actions/delete-role.mjs.map +1 -1
  131. package/dist/actions/delete-template.cjs +1 -1
  132. package/dist/actions/delete-template.cjs.map +1 -1
  133. package/dist/actions/delete-template.d.cts +11 -3
  134. package/dist/actions/delete-template.d.cts.map +1 -1
  135. package/dist/actions/delete-template.d.mts +11 -3
  136. package/dist/actions/delete-template.d.mts.map +1 -1
  137. package/dist/actions/delete-template.mjs +1 -1
  138. package/dist/actions/delete-template.mjs.map +1 -1
  139. package/dist/actions/delete-ticket.cjs +1 -1
  140. package/dist/actions/delete-ticket.cjs.map +1 -1
  141. package/dist/actions/delete-ticket.d.cts +7 -3
  142. package/dist/actions/delete-ticket.d.cts.map +1 -1
  143. package/dist/actions/delete-ticket.d.mts +7 -3
  144. package/dist/actions/delete-ticket.d.mts.map +1 -1
  145. package/dist/actions/delete-ticket.mjs +1 -1
  146. package/dist/actions/delete-ticket.mjs.map +1 -1
  147. package/dist/actions/generate-role-private-key.cjs +1 -1
  148. package/dist/actions/generate-role-private-key.cjs.map +1 -1
  149. package/dist/actions/generate-role-private-key.d.cts +9 -3
  150. package/dist/actions/generate-role-private-key.d.cts.map +1 -1
  151. package/dist/actions/generate-role-private-key.d.mts +9 -3
  152. package/dist/actions/generate-role-private-key.d.mts.map +1 -1
  153. package/dist/actions/generate-role-private-key.mjs +1 -1
  154. package/dist/actions/generate-role-private-key.mjs.map +1 -1
  155. package/dist/actions/get-account-current-report.cjs +1 -1
  156. package/dist/actions/get-account-current-report.cjs.map +1 -1
  157. package/dist/actions/get-account-current-report.d.cts +22 -3
  158. package/dist/actions/get-account-current-report.d.cts.map +1 -1
  159. package/dist/actions/get-account-current-report.d.mts +22 -3
  160. package/dist/actions/get-account-current-report.d.mts.map +1 -1
  161. package/dist/actions/get-account-current-report.mjs +1 -1
  162. package/dist/actions/get-account-current-report.mjs.map +1 -1
  163. package/dist/actions/list-accounts.cjs +25 -25
  164. package/dist/actions/list-accounts.cjs.map +1 -1
  165. package/dist/actions/list-accounts.d.cts +42 -3
  166. package/dist/actions/list-accounts.d.cts.map +1 -1
  167. package/dist/actions/list-accounts.d.mts +42 -3
  168. package/dist/actions/list-accounts.d.mts.map +1 -1
  169. package/dist/actions/list-accounts.mjs +25 -25
  170. package/dist/actions/list-accounts.mjs.map +1 -1
  171. package/dist/actions/list-agencies.cjs.map +1 -1
  172. package/dist/actions/list-agencies.d.cts +3 -3
  173. package/dist/actions/list-agencies.d.cts.map +1 -1
  174. package/dist/actions/list-agencies.d.mts +3 -3
  175. package/dist/actions/list-agencies.d.mts.map +1 -1
  176. package/dist/actions/list-agencies.mjs.map +1 -1
  177. package/dist/actions/list-automations.cjs +14 -14
  178. package/dist/actions/list-automations.cjs.map +1 -1
  179. package/dist/actions/list-automations.d.cts +52 -3
  180. package/dist/actions/list-automations.d.cts.map +1 -1
  181. package/dist/actions/list-automations.d.mts +52 -3
  182. package/dist/actions/list-automations.d.mts.map +1 -1
  183. package/dist/actions/list-automations.mjs +14 -14
  184. package/dist/actions/list-automations.mjs.map +1 -1
  185. package/dist/actions/list-campaigns.cjs +26 -26
  186. package/dist/actions/list-campaigns.cjs.map +1 -1
  187. package/dist/actions/list-campaigns.d.cts +46 -3
  188. package/dist/actions/list-campaigns.d.cts.map +1 -1
  189. package/dist/actions/list-campaigns.d.mts +46 -3
  190. package/dist/actions/list-campaigns.d.mts.map +1 -1
  191. package/dist/actions/list-campaigns.mjs +26 -26
  192. package/dist/actions/list-campaigns.mjs.map +1 -1
  193. package/dist/actions/list-contacts.cjs +23 -23
  194. package/dist/actions/list-contacts.cjs.map +1 -1
  195. package/dist/actions/list-contacts.d.cts +60 -3
  196. package/dist/actions/list-contacts.d.cts.map +1 -1
  197. package/dist/actions/list-contacts.d.mts +60 -3
  198. package/dist/actions/list-contacts.d.mts.map +1 -1
  199. package/dist/actions/list-contacts.mjs +23 -23
  200. package/dist/actions/list-contacts.mjs.map +1 -1
  201. package/dist/actions/list-custom-fields.cjs +7 -7
  202. package/dist/actions/list-custom-fields.cjs.map +1 -1
  203. package/dist/actions/list-custom-fields.d.cts +18 -3
  204. package/dist/actions/list-custom-fields.d.cts.map +1 -1
  205. package/dist/actions/list-custom-fields.d.mts +18 -3
  206. package/dist/actions/list-custom-fields.d.mts.map +1 -1
  207. package/dist/actions/list-custom-fields.mjs +7 -7
  208. package/dist/actions/list-custom-fields.mjs.map +1 -1
  209. package/dist/actions/list-lists.cjs +7 -7
  210. package/dist/actions/list-lists.cjs.map +1 -1
  211. package/dist/actions/list-lists.d.cts +22 -3
  212. package/dist/actions/list-lists.d.cts.map +1 -1
  213. package/dist/actions/list-lists.d.mts +22 -3
  214. package/dist/actions/list-lists.d.mts.map +1 -1
  215. package/dist/actions/list-lists.mjs +7 -7
  216. package/dist/actions/list-lists.mjs.map +1 -1
  217. package/dist/actions/list-media.cjs +9 -9
  218. package/dist/actions/list-media.cjs.map +1 -1
  219. package/dist/actions/list-media.d.cts +23 -3
  220. package/dist/actions/list-media.d.cts.map +1 -1
  221. package/dist/actions/list-media.d.mts +23 -3
  222. package/dist/actions/list-media.d.mts.map +1 -1
  223. package/dist/actions/list-media.mjs +9 -9
  224. package/dist/actions/list-media.mjs.map +1 -1
  225. package/dist/actions/list-partners.cjs.map +1 -1
  226. package/dist/actions/list-partners.d.cts +3 -3
  227. package/dist/actions/list-partners.d.cts.map +1 -1
  228. package/dist/actions/list-partners.d.mts +3 -3
  229. package/dist/actions/list-partners.d.mts.map +1 -1
  230. package/dist/actions/list-partners.mjs.map +1 -1
  231. package/dist/actions/list-reports.cjs +3 -3
  232. package/dist/actions/list-reports.cjs.map +1 -1
  233. package/dist/actions/list-reports.d.cts +35 -3
  234. package/dist/actions/list-reports.d.cts.map +1 -1
  235. package/dist/actions/list-reports.d.mts +35 -3
  236. package/dist/actions/list-reports.d.mts.map +1 -1
  237. package/dist/actions/list-reports.mjs +3 -3
  238. package/dist/actions/list-reports.mjs.map +1 -1
  239. package/dist/actions/list-roles.cjs +15 -15
  240. package/dist/actions/list-roles.cjs.map +1 -1
  241. package/dist/actions/list-roles.d.cts +23 -3
  242. package/dist/actions/list-roles.d.cts.map +1 -1
  243. package/dist/actions/list-roles.d.mts +23 -3
  244. package/dist/actions/list-roles.d.mts.map +1 -1
  245. package/dist/actions/list-roles.mjs +15 -15
  246. package/dist/actions/list-roles.mjs.map +1 -1
  247. package/dist/actions/list-tags.cjs +7 -7
  248. package/dist/actions/list-tags.cjs.map +1 -1
  249. package/dist/actions/list-tags.d.cts +13 -3
  250. package/dist/actions/list-tags.d.cts.map +1 -1
  251. package/dist/actions/list-tags.d.mts +13 -3
  252. package/dist/actions/list-tags.d.mts.map +1 -1
  253. package/dist/actions/list-tags.mjs +7 -7
  254. package/dist/actions/list-tags.mjs.map +1 -1
  255. package/dist/actions/list-templates.cjs +21 -21
  256. package/dist/actions/list-templates.cjs.map +1 -1
  257. package/dist/actions/list-templates.d.cts +51 -3
  258. package/dist/actions/list-templates.d.cts.map +1 -1
  259. package/dist/actions/list-templates.d.mts +51 -3
  260. package/dist/actions/list-templates.d.mts.map +1 -1
  261. package/dist/actions/list-templates.mjs +21 -21
  262. package/dist/actions/list-templates.mjs.map +1 -1
  263. package/dist/actions/list-tickets.cjs +27 -27
  264. package/dist/actions/list-tickets.cjs.map +1 -1
  265. package/dist/actions/list-tickets.d.cts +63 -3
  266. package/dist/actions/list-tickets.d.cts.map +1 -1
  267. package/dist/actions/list-tickets.d.mts +63 -3
  268. package/dist/actions/list-tickets.d.mts.map +1 -1
  269. package/dist/actions/list-tickets.mjs +27 -27
  270. package/dist/actions/list-tickets.mjs.map +1 -1
  271. package/dist/actions/remove-all-list-contacts.cjs +1 -1
  272. package/dist/actions/remove-all-list-contacts.cjs.map +1 -1
  273. package/dist/actions/remove-all-list-contacts.d.cts +9 -3
  274. package/dist/actions/remove-all-list-contacts.d.cts.map +1 -1
  275. package/dist/actions/remove-all-list-contacts.d.mts +9 -3
  276. package/dist/actions/remove-all-list-contacts.d.mts.map +1 -1
  277. package/dist/actions/remove-all-list-contacts.mjs +1 -1
  278. package/dist/actions/remove-all-list-contacts.mjs.map +1 -1
  279. package/dist/actions/remove-contact-operator.cjs +1 -1
  280. package/dist/actions/remove-contact-operator.cjs.map +1 -1
  281. package/dist/actions/remove-contact-operator.d.cts +11 -3
  282. package/dist/actions/remove-contact-operator.d.cts.map +1 -1
  283. package/dist/actions/remove-contact-operator.d.mts +11 -3
  284. package/dist/actions/remove-contact-operator.d.mts.map +1 -1
  285. package/dist/actions/remove-contact-operator.mjs +1 -1
  286. package/dist/actions/remove-contact-operator.mjs.map +1 -1
  287. package/dist/actions/remove-list-contacts.cjs +1 -1
  288. package/dist/actions/remove-list-contacts.cjs.map +1 -1
  289. package/dist/actions/remove-list-contacts.d.cts +11 -3
  290. package/dist/actions/remove-list-contacts.d.cts.map +1 -1
  291. package/dist/actions/remove-list-contacts.d.mts +11 -3
  292. package/dist/actions/remove-list-contacts.d.mts.map +1 -1
  293. package/dist/actions/remove-list-contacts.mjs +1 -1
  294. package/dist/actions/remove-list-contacts.mjs.map +1 -1
  295. package/dist/actions/resend-invitation.cjs +1 -1
  296. package/dist/actions/resend-invitation.cjs.map +1 -1
  297. package/dist/actions/resend-invitation.d.cts +10 -3
  298. package/dist/actions/resend-invitation.d.cts.map +1 -1
  299. package/dist/actions/resend-invitation.d.mts +10 -3
  300. package/dist/actions/resend-invitation.d.mts.map +1 -1
  301. package/dist/actions/resend-invitation.mjs +1 -1
  302. package/dist/actions/resend-invitation.mjs.map +1 -1
  303. package/dist/actions/retrieve-account.cjs +23 -23
  304. package/dist/actions/retrieve-account.cjs.map +1 -1
  305. package/dist/actions/retrieve-account.d.cts +35 -3
  306. package/dist/actions/retrieve-account.d.cts.map +1 -1
  307. package/dist/actions/retrieve-account.d.mts +35 -3
  308. package/dist/actions/retrieve-account.d.mts.map +1 -1
  309. package/dist/actions/retrieve-account.mjs +23 -23
  310. package/dist/actions/retrieve-account.mjs.map +1 -1
  311. package/dist/actions/retrieve-automation.cjs +12 -12
  312. package/dist/actions/retrieve-automation.cjs.map +1 -1
  313. package/dist/actions/retrieve-automation.d.cts +23 -3
  314. package/dist/actions/retrieve-automation.d.cts.map +1 -1
  315. package/dist/actions/retrieve-automation.d.mts +23 -3
  316. package/dist/actions/retrieve-automation.d.mts.map +1 -1
  317. package/dist/actions/retrieve-automation.mjs +12 -12
  318. package/dist/actions/retrieve-automation.mjs.map +1 -1
  319. package/dist/actions/retrieve-contact.cjs +29 -29
  320. package/dist/actions/retrieve-contact.cjs.map +1 -1
  321. package/dist/actions/retrieve-contact.d.cts +45 -3
  322. package/dist/actions/retrieve-contact.d.cts.map +1 -1
  323. package/dist/actions/retrieve-contact.d.mts +45 -3
  324. package/dist/actions/retrieve-contact.d.mts.map +1 -1
  325. package/dist/actions/retrieve-contact.mjs +29 -29
  326. package/dist/actions/retrieve-contact.mjs.map +1 -1
  327. package/dist/actions/retrieve-custom-field.cjs +6 -6
  328. package/dist/actions/retrieve-custom-field.cjs.map +1 -1
  329. package/dist/actions/retrieve-custom-field.d.cts +14 -3
  330. package/dist/actions/retrieve-custom-field.d.cts.map +1 -1
  331. package/dist/actions/retrieve-custom-field.d.mts +14 -3
  332. package/dist/actions/retrieve-custom-field.d.mts.map +1 -1
  333. package/dist/actions/retrieve-custom-field.mjs +6 -6
  334. package/dist/actions/retrieve-custom-field.mjs.map +1 -1
  335. package/dist/actions/retrieve-list.cjs +5 -5
  336. package/dist/actions/retrieve-list.cjs.map +1 -1
  337. package/dist/actions/retrieve-list.d.cts +13 -3
  338. package/dist/actions/retrieve-list.d.cts.map +1 -1
  339. package/dist/actions/retrieve-list.d.mts +13 -3
  340. package/dist/actions/retrieve-list.d.mts.map +1 -1
  341. package/dist/actions/retrieve-list.mjs +5 -5
  342. package/dist/actions/retrieve-list.mjs.map +1 -1
  343. package/dist/actions/retrieve-media.cjs +1 -1
  344. package/dist/actions/retrieve-media.cjs.map +1 -1
  345. package/dist/actions/retrieve-media.d.cts +16 -3
  346. package/dist/actions/retrieve-media.d.cts.map +1 -1
  347. package/dist/actions/retrieve-media.d.mts +16 -3
  348. package/dist/actions/retrieve-media.d.mts.map +1 -1
  349. package/dist/actions/retrieve-media.mjs +1 -1
  350. package/dist/actions/retrieve-media.mjs.map +1 -1
  351. package/dist/actions/retrieve-role.cjs +2 -2
  352. package/dist/actions/retrieve-role.cjs.map +1 -1
  353. package/dist/actions/retrieve-role.d.cts +22 -3
  354. package/dist/actions/retrieve-role.d.cts.map +1 -1
  355. package/dist/actions/retrieve-role.d.mts +22 -3
  356. package/dist/actions/retrieve-role.d.mts.map +1 -1
  357. package/dist/actions/retrieve-role.mjs +2 -2
  358. package/dist/actions/retrieve-role.mjs.map +1 -1
  359. package/dist/actions/retrieve-tag.cjs +1 -1
  360. package/dist/actions/retrieve-tag.cjs.map +1 -1
  361. package/dist/actions/retrieve-tag.d.cts +12 -3
  362. package/dist/actions/retrieve-tag.d.cts.map +1 -1
  363. package/dist/actions/retrieve-tag.d.mts +12 -3
  364. package/dist/actions/retrieve-tag.d.mts.map +1 -1
  365. package/dist/actions/retrieve-tag.mjs +1 -1
  366. package/dist/actions/retrieve-tag.mjs.map +1 -1
  367. package/dist/actions/retrieve-template.cjs +19 -19
  368. package/dist/actions/retrieve-template.cjs.map +1 -1
  369. package/dist/actions/retrieve-template.d.cts +45 -3
  370. package/dist/actions/retrieve-template.d.cts.map +1 -1
  371. package/dist/actions/retrieve-template.d.mts +45 -3
  372. package/dist/actions/retrieve-template.d.mts.map +1 -1
  373. package/dist/actions/retrieve-template.mjs +19 -19
  374. package/dist/actions/retrieve-template.mjs.map +1 -1
  375. package/dist/actions/revert-template-to-draft.cjs +1 -1
  376. package/dist/actions/revert-template-to-draft.cjs.map +1 -1
  377. package/dist/actions/revert-template-to-draft.d.cts +9 -3
  378. package/dist/actions/revert-template-to-draft.d.cts.map +1 -1
  379. package/dist/actions/revert-template-to-draft.d.mts +9 -3
  380. package/dist/actions/revert-template-to-draft.d.mts.map +1 -1
  381. package/dist/actions/revert-template-to-draft.mjs +1 -1
  382. package/dist/actions/revert-template-to-draft.mjs.map +1 -1
  383. package/dist/actions/sync-contacts-bulk.cjs +13 -13
  384. package/dist/actions/sync-contacts-bulk.cjs.map +1 -1
  385. package/dist/actions/sync-contacts-bulk.d.cts +41 -3
  386. package/dist/actions/sync-contacts-bulk.d.cts.map +1 -1
  387. package/dist/actions/sync-contacts-bulk.d.mts +41 -3
  388. package/dist/actions/sync-contacts-bulk.d.mts.map +1 -1
  389. package/dist/actions/sync-contacts-bulk.mjs +13 -13
  390. package/dist/actions/sync-contacts-bulk.mjs.map +1 -1
  391. package/dist/actions/sync-list-contacts.cjs +3 -3
  392. package/dist/actions/sync-list-contacts.cjs.map +1 -1
  393. package/dist/actions/sync-list-contacts.d.cts +26 -3
  394. package/dist/actions/sync-list-contacts.d.cts.map +1 -1
  395. package/dist/actions/sync-list-contacts.d.mts +26 -3
  396. package/dist/actions/sync-list-contacts.d.mts.map +1 -1
  397. package/dist/actions/sync-list-contacts.mjs +3 -3
  398. package/dist/actions/sync-list-contacts.mjs.map +1 -1
  399. package/dist/actions/update-campaign.cjs +6 -6
  400. package/dist/actions/update-campaign.cjs.map +1 -1
  401. package/dist/actions/update-campaign.d.cts +22 -3
  402. package/dist/actions/update-campaign.d.cts.map +1 -1
  403. package/dist/actions/update-campaign.d.mts +22 -3
  404. package/dist/actions/update-campaign.d.mts.map +1 -1
  405. package/dist/actions/update-campaign.mjs +6 -6
  406. package/dist/actions/update-campaign.mjs.map +1 -1
  407. package/dist/actions/update-contact.cjs +7 -7
  408. package/dist/actions/update-contact.cjs.map +1 -1
  409. package/dist/actions/update-contact.d.cts +32 -3
  410. package/dist/actions/update-contact.d.cts.map +1 -1
  411. package/dist/actions/update-contact.d.mts +32 -3
  412. package/dist/actions/update-contact.d.mts.map +1 -1
  413. package/dist/actions/update-contact.mjs +7 -7
  414. package/dist/actions/update-contact.mjs.map +1 -1
  415. package/dist/actions/update-custom-field.cjs +6 -6
  416. package/dist/actions/update-custom-field.cjs.map +1 -1
  417. package/dist/actions/update-custom-field.d.cts +16 -3
  418. package/dist/actions/update-custom-field.d.cts.map +1 -1
  419. package/dist/actions/update-custom-field.d.mts +16 -3
  420. package/dist/actions/update-custom-field.d.mts.map +1 -1
  421. package/dist/actions/update-custom-field.mjs +6 -6
  422. package/dist/actions/update-custom-field.mjs.map +1 -1
  423. package/dist/actions/update-invitation-role.cjs +1 -1
  424. package/dist/actions/update-invitation-role.cjs.map +1 -1
  425. package/dist/actions/update-invitation-role.d.cts +14 -3
  426. package/dist/actions/update-invitation-role.d.cts.map +1 -1
  427. package/dist/actions/update-invitation-role.d.mts +14 -3
  428. package/dist/actions/update-invitation-role.d.mts.map +1 -1
  429. package/dist/actions/update-invitation-role.mjs +1 -1
  430. package/dist/actions/update-invitation-role.mjs.map +1 -1
  431. package/dist/actions/update-media.cjs +3 -3
  432. package/dist/actions/update-media.cjs.map +1 -1
  433. package/dist/actions/update-media.d.cts +18 -3
  434. package/dist/actions/update-media.d.cts.map +1 -1
  435. package/dist/actions/update-media.d.mts +18 -3
  436. package/dist/actions/update-media.d.mts.map +1 -1
  437. package/dist/actions/update-media.mjs +3 -3
  438. package/dist/actions/update-media.mjs.map +1 -1
  439. package/dist/actions/update-role.cjs +3 -3
  440. package/dist/actions/update-role.cjs.map +1 -1
  441. package/dist/actions/update-role.d.cts +13 -3
  442. package/dist/actions/update-role.d.cts.map +1 -1
  443. package/dist/actions/update-role.d.mts +13 -3
  444. package/dist/actions/update-role.d.mts.map +1 -1
  445. package/dist/actions/update-role.mjs +3 -3
  446. package/dist/actions/update-role.mjs.map +1 -1
  447. package/dist/actions/update-template.cjs +13 -13
  448. package/dist/actions/update-template.cjs.map +1 -1
  449. package/dist/actions/update-template.d.cts +83 -3
  450. package/dist/actions/update-template.d.cts.map +1 -1
  451. package/dist/actions/update-template.d.mts +83 -3
  452. package/dist/actions/update-template.d.mts.map +1 -1
  453. package/dist/actions/update-template.mjs +13 -13
  454. package/dist/actions/update-template.mjs.map +1 -1
  455. package/dist/catalog.cjs +7 -1
  456. package/dist/catalog.cjs.map +1 -1
  457. package/dist/catalog.d.cts +8 -0
  458. package/dist/catalog.d.mts +8 -0
  459. package/dist/catalog.mjs +7 -1
  460. package/dist/catalog.mjs.map +1 -1
  461. package/package.json +2 -2
@@ -1,9 +1,25 @@
1
1
  import { z } from "zod";
2
2
 
3
3
  //#region src/actions/create-media.d.ts
4
- declare const SpokiCreateMediaInput: z.ZodTypeAny;
5
- declare const SpokiCreateMediaOutput: z.ZodTypeAny;
6
- declare const spokiCreateMedia: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
4
+ declare const SpokiCreateMediaInput: z.ZodObject<{
5
+ title: z.ZodString;
6
+ format_type: z.ZodString;
7
+ content_type: z.ZodString;
8
+ external_url: z.ZodString;
9
+ }, z.core.$strip>;
10
+ declare const SpokiCreateMediaOutput: z.ZodObject<{
11
+ id: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
12
+ title: z.ZodOptional<z.ZodNullable<z.ZodString>>;
13
+ format_type: z.ZodOptional<z.ZodNullable<z.ZodString>>;
14
+ content_type: z.ZodOptional<z.ZodNullable<z.ZodString>>;
15
+ external_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
16
+ }, z.core.$loose>;
17
+ declare const spokiCreateMedia: import("@keystrokehq/action").WorkflowActionDefinition<{
18
+ title: string;
19
+ format_type: string;
20
+ content_type: string;
21
+ external_url: string;
22
+ }, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
7
23
  //#endregion
8
24
  export { spokiCreateMedia };
9
25
  //# sourceMappingURL=create-media.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"create-media.d.mts","names":[],"sources":["../../src/actions/create-media.ts"],"mappings":";;;cAIa,qBAAA,EAAuB,CAAA,CAAE,UAKyC;AAAA,cAClE,sBAAA,EAAwB,CAAA,CAAE,UAMqC;AAAA,cAE/D,gBAAA,gCAAgB,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
1
+ {"version":3,"file":"create-media.d.mts","names":[],"sources":["../../src/actions/create-media.ts"],"mappings":";;;cAIa,qBAAA,EAAqB,CAAA,CAAA,SAAA;;;;;;cAMrB,sBAAA,EAAsB,CAAA,CAAA,SAAA;;;;;;;cAQtB,gBAAA,gCAAgB,wBAAA"}
@@ -16,7 +16,7 @@ const spokiCreateMedia = action("SPOKI_CREATE_MEDIA", {
16
16
  format_type: z.string().describe("Format type of the media file").nullable().optional(),
17
17
  content_type: z.string().describe("MIME type of the media file").nullable().optional(),
18
18
  external_url: z.string().describe("External URL of the media file").nullable().optional()
19
- }).describe("Response containing details of the newly created media entry.")
19
+ }).passthrough().describe("Response containing details of the newly created media entry.")
20
20
  });
21
21
  //#endregion
22
22
  export { spokiCreateMedia };
@@ -1 +1 @@
1
- {"version":3,"file":"create-media.mjs","names":[],"sources":["../../src/actions/create-media.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const SpokiCreateMediaInput: z.ZodTypeAny = z.object({\n title: z.string().describe(\"Title or name of the media file. This will be used to identify the media in the Spoki interface\"),\n format_type: z.string().describe(\"Format type of the media file. Common values include 'image', 'video', 'audio', or 'document'\"),\n content_type: z.string().describe(\"MIME type of the media file. Must match the actual file type (e.g., 'image/jpeg', 'image/png', 'video/mp4', 'application/pdf')\"),\n external_url: z.string().describe(\"External URL where the media file is hosted. Must be a valid, publicly accessible URL (e.g., 'https://example.com/image.jpg')\"),\n}).describe(\"Request parameters for creating a new media file entry in Spoki.\");\nexport const SpokiCreateMediaOutput: z.ZodTypeAny = z.object({\n id: z.number().int().describe(\"Unique identifier assigned to the media file by Spoki\").nullable().optional(),\n title: z.string().describe(\"Title of the media file\").nullable().optional(),\n format_type: z.string().describe(\"Format type of the media file\").nullable().optional(),\n content_type: z.string().describe(\"MIME type of the media file\").nullable().optional(),\n external_url: z.string().describe(\"External URL of the media file\").nullable().optional(),\n}).describe(\"Response containing details of the newly created media entry.\");\n\nexport const spokiCreateMedia = action(\"SPOKI_CREATE_MEDIA\", {\n slug: \"spoki-create-media\",\n name: \"Create Media File\",\n description: \"Tool to create a new media file entry in Spoki. Use when you need to register external media files (images, videos, documents) that can be used in campaigns, messages, or other Spoki features. Rate limit: 120 requests per minute.\",\n input: SpokiCreateMediaInput,\n output: SpokiCreateMediaOutput,\n});\n"],"mappings":";;AAkBA,MAAa,mBAAmB,OAAO,sBAAsB;CAC3D,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAlBiD,EAAE,OAAO;EAC1D,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,iGAAiG;EAC5H,aAAa,EAAE,OAAO,CAAC,CAAC,SAAS,+FAA+F;EAChI,cAAc,EAAE,OAAO,CAAC,CAAC,SAAS,gIAAgI;EAClK,cAAc,EAAE,OAAO,CAAC,CAAC,SAAS,+HAA+H;CACnK,CAAC,CAAC,CAAC,SAAS,kEAaH;CACP,QAbkD,EAAE,OAAO;EAC3D,IAAI,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,uDAAuD,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAC3G,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,yBAAyB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAC1E,aAAa,EAAE,OAAO,CAAC,CAAC,SAAS,+BAA+B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACtF,cAAc,EAAE,OAAO,CAAC,CAAC,SAAS,6BAA6B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACrF,cAAc,EAAE,OAAO,CAAC,CAAC,SAAS,gCAAgC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC1F,CAAC,CAAC,CAAC,SAAS,+DAOF;AACV,CAAC"}
1
+ {"version":3,"file":"create-media.mjs","names":[],"sources":["../../src/actions/create-media.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const SpokiCreateMediaInput = z.object({\n title: z.string().describe(\"Title or name of the media file. This will be used to identify the media in the Spoki interface\"),\n format_type: z.string().describe(\"Format type of the media file. Common values include 'image', 'video', 'audio', or 'document'\"),\n content_type: z.string().describe(\"MIME type of the media file. Must match the actual file type (e.g., 'image/jpeg', 'image/png', 'video/mp4', 'application/pdf')\"),\n external_url: z.string().describe(\"External URL where the media file is hosted. Must be a valid, publicly accessible URL (e.g., 'https://example.com/image.jpg')\"),\n}).describe(\"Request parameters for creating a new media file entry in Spoki.\");\nexport const SpokiCreateMediaOutput = z.object({\n id: z.number().int().describe(\"Unique identifier assigned to the media file by Spoki\").nullable().optional(),\n title: z.string().describe(\"Title of the media file\").nullable().optional(),\n format_type: z.string().describe(\"Format type of the media file\").nullable().optional(),\n content_type: z.string().describe(\"MIME type of the media file\").nullable().optional(),\n external_url: z.string().describe(\"External URL of the media file\").nullable().optional(),\n}).passthrough().describe(\"Response containing details of the newly created media entry.\");\n\nexport const spokiCreateMedia = action(\"SPOKI_CREATE_MEDIA\", {\n slug: \"spoki-create-media\",\n name: \"Create Media File\",\n description: \"Tool to create a new media file entry in Spoki. Use when you need to register external media files (images, videos, documents) that can be used in campaigns, messages, or other Spoki features. Rate limit: 120 requests per minute.\",\n input: SpokiCreateMediaInput,\n output: SpokiCreateMediaOutput,\n});\n"],"mappings":";;AAkBA,MAAa,mBAAmB,OAAO,sBAAsB;CAC3D,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAlBmC,EAAE,OAAO;EAC5C,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,iGAAiG;EAC5H,aAAa,EAAE,OAAO,CAAC,CAAC,SAAS,+FAA+F;EAChI,cAAc,EAAE,OAAO,CAAC,CAAC,SAAS,gIAAgI;EAClK,cAAc,EAAE,OAAO,CAAC,CAAC,SAAS,+HAA+H;CACnK,CAAC,CAAC,CAAC,SAAS,kEAaH;CACP,QAboC,EAAE,OAAO;EAC7C,IAAI,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,uDAAuD,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAC3G,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,yBAAyB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAC1E,aAAa,EAAE,OAAO,CAAC,CAAC,SAAS,+BAA+B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACtF,cAAc,EAAE,OAAO,CAAC,CAAC,SAAS,6BAA6B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACrF,cAAc,EAAE,OAAO,CAAC,CAAC,SAAS,gCAAgC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC1F,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,+DAOhB;AACV,CAAC"}
@@ -7,22 +7,22 @@ const SpokiCreateOrUpdateContactInput = zod.z.object({
7
7
  language: zod.z.string().describe("ISO 639-1 two-letter language code for the contact's preferred language. Common values: 'en' (English), 'it' (Italian), 'es' (Spanish), 'de' (German), 'pt' (Portuguese), 'fr' (French). Defaults to 'en' if not specified").optional(),
8
8
  last_name: zod.z.string().describe("Last name of the contact. Supports Unicode characters and special characters like hyphens and apostrophes (e.g., 'O'Brien-Müller')").optional(),
9
9
  first_name: zod.z.string().describe("First name of the contact. Supports Unicode characters for international names (e.g., 'François', 'María', 'João')").optional(),
10
- custom_fields: zod.z.object({}).describe("Dictionary of custom field names and their values. Use this to store additional contact information beyond standard fields (e.g., {'company': 'Acme Corp', 'employee_id': 'EMP-12345'})").optional()
10
+ custom_fields: zod.z.record(zod.z.string(), zod.z.unknown()).describe("Dictionary of custom field names and their values. Use this to store additional contact information beyond standard fields (e.g., {'company': 'Acme Corp', 'employee_id': 'EMP-12345'})").optional()
11
11
  });
12
12
  const SpokiCreateOrUpdateContactOutput = zod.z.object({
13
- id: zod.z.number().int().describe("Unique ID of the contact"),
13
+ id: zod.z.number().int().describe("Unique ID of the contact").nullable(),
14
14
  email: zod.z.string().describe("Email address of the contact").nullable().optional(),
15
- phone: zod.z.string().describe("Contact phone number in E.164 format"),
16
- language: zod.z.string().describe("Language code of the contact (e.g., 'en', 'it', 'es')"),
15
+ phone: zod.z.string().describe("Contact phone number in E.164 format").nullable(),
16
+ language: zod.z.string().describe("Language code of the contact (e.g., 'en', 'it', 'es')").nullable(),
17
17
  role_set: zod.z.array(zod.z.string()).describe("List of roles assigned to the contact").nullable().optional(),
18
- chat_link: zod.z.string().describe("Direct link to chat with this contact on Spoki platform"),
18
+ chat_link: zod.z.string().describe("Direct link to chat with this contact on Spoki platform").nullable(),
19
19
  last_name: zod.z.string().describe("Last name of the contact").nullable().optional(),
20
20
  first_name: zod.z.string().describe("First name of the contact").nullable().optional(),
21
- is_blocked: zod.z.boolean().describe("Whether the contact is blocked"),
22
- is_restricted: zod.z.boolean().describe("Whether the contact is restricted"),
23
- has_invalid_phone: zod.z.boolean().describe("Whether the phone number is invalid"),
24
- is_first_message_sent: zod.z.boolean().describe("Whether the first message has been sent to this contact")
25
- });
21
+ is_blocked: zod.z.boolean().describe("Whether the contact is blocked").nullable(),
22
+ is_restricted: zod.z.boolean().describe("Whether the contact is restricted").nullable(),
23
+ has_invalid_phone: zod.z.boolean().describe("Whether the phone number is invalid").nullable(),
24
+ is_first_message_sent: zod.z.boolean().describe("Whether the first message has been sent to this contact").nullable()
25
+ }).passthrough();
26
26
  const spokiCreateOrUpdateContact = require_action.action("SPOKI_CREATE_OR_UPDATE_CONTACT", {
27
27
  slug: "spoki-create-or-update-contact",
28
28
  name: "Create or Update Contact",
@@ -1 +1 @@
1
- {"version":3,"file":"create-or-update-contact.cjs","names":["z","action"],"sources":["../../src/actions/create-or-update-contact.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const SpokiCreateOrUpdateContactInput: z.ZodTypeAny = z.object({\n email: z.string().describe(\"Email address of the contact. Must be a valid email format\").optional(),\n phone: z.string().describe(\"Contact phone number in E.164 international format (must include country code with + prefix). Examples: '+393331234567' (Italy), '+14155552671' (USA), '+447700900123' (UK)\"),\n language: z.string().describe(\"ISO 639-1 two-letter language code for the contact's preferred language. Common values: 'en' (English), 'it' (Italian), 'es' (Spanish), 'de' (German), 'pt' (Portuguese), 'fr' (French). Defaults to 'en' if not specified\").optional(),\n last_name: z.string().describe(\"Last name of the contact. Supports Unicode characters and special characters like hyphens and apostrophes (e.g., 'O'Brien-Müller')\").optional(),\n first_name: z.string().describe(\"First name of the contact. Supports Unicode characters for international names (e.g., 'François', 'María', 'João')\").optional(),\n custom_fields: z.object({}).describe(\"Dictionary of custom field names and their values. Use this to store additional contact information beyond standard fields (e.g., {'company': 'Acme Corp', 'employee_id': 'EMP-12345'})\").optional(),\n});\nexport const SpokiCreateOrUpdateContactOutput: z.ZodTypeAny = z.object({\n id: z.number().int().describe(\"Unique ID of the contact\"),\n email: z.string().describe(\"Email address of the contact\").nullable().optional(),\n phone: z.string().describe(\"Contact phone number in E.164 format\"),\n language: z.string().describe(\"Language code of the contact (e.g., 'en', 'it', 'es')\"),\n role_set: z.array(z.string()).describe(\"List of roles assigned to the contact\").nullable().optional(),\n chat_link: z.string().describe(\"Direct link to chat with this contact on Spoki platform\"),\n last_name: z.string().describe(\"Last name of the contact\").nullable().optional(),\n first_name: z.string().describe(\"First name of the contact\").nullable().optional(),\n is_blocked: z.boolean().describe(\"Whether the contact is blocked\"),\n is_restricted: z.boolean().describe(\"Whether the contact is restricted\"),\n has_invalid_phone: z.boolean().describe(\"Whether the phone number is invalid\"),\n is_first_message_sent: z.boolean().describe(\"Whether the first message has been sent to this contact\"),\n});\n\nexport const spokiCreateOrUpdateContact = action(\"SPOKI_CREATE_OR_UPDATE_CONTACT\", {\n slug: \"spoki-create-or-update-contact\",\n name: \"Create or Update Contact\",\n description: \"Creates a new contact or updates an existing contact in Spoki using the phone number as the unique identifier. This action performs an \\\"upsert\\\" operation: - If a contact with the provided phone number exists, it will be updated with the new information - If no contact exists with that phone number, a new contact will be created Use this when you need to: - Add new contacts to your Spoki account - Update existing contact information (name, email, language, custom fields) - Ensure contact records are synchronized with external systems The phone number must be in E.164 format (international format with country code).\",\n input: SpokiCreateOrUpdateContactInput,\n output: SpokiCreateOrUpdateContactOutput,\n});\n"],"mappings":";;;AAIA,MAAa,kCAAgDA,IAAAA,EAAE,OAAO;CACpE,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,4DAA4D,CAAC,CAAC,SAAS;CAClG,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,6KAA6K;CACxM,UAAUA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,4NAA4N,CAAC,CAAC,SAAS;CACrQ,WAAWA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,oIAAoI,CAAC,CAAC,SAAS;CAC9K,YAAYA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,oHAAoH,CAAC,CAAC,SAAS;CAC/J,eAAeA,IAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,yLAAyL,CAAC,CAAC,SAAS;AAC3O,CAAC;AACD,MAAa,mCAAiDA,IAAAA,EAAE,OAAO;CACrE,IAAIA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,0BAA0B;CACxD,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,8BAA8B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC/E,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,sCAAsC;CACjE,UAAUA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,uDAAuD;CACrF,UAAUA,IAAAA,EAAE,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,uCAAuC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACpG,WAAWA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,yDAAyD;CACxF,WAAWA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,0BAA0B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC/E,YAAYA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,2BAA2B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACjF,YAAYA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,gCAAgC;CACjE,eAAeA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,mCAAmC;CACvE,mBAAmBA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,qCAAqC;CAC7E,uBAAuBA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,yDAAyD;AACvG,CAAC;AAED,MAAa,6BAA6BC,eAAAA,OAAO,kCAAkC;CACjF,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAAQ;AACV,CAAC"}
1
+ {"version":3,"file":"create-or-update-contact.cjs","names":["z","action"],"sources":["../../src/actions/create-or-update-contact.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const SpokiCreateOrUpdateContactInput = z.object({\n email: z.string().describe(\"Email address of the contact. Must be a valid email format\").optional(),\n phone: z.string().describe(\"Contact phone number in E.164 international format (must include country code with + prefix). Examples: '+393331234567' (Italy), '+14155552671' (USA), '+447700900123' (UK)\"),\n language: z.string().describe(\"ISO 639-1 two-letter language code for the contact's preferred language. Common values: 'en' (English), 'it' (Italian), 'es' (Spanish), 'de' (German), 'pt' (Portuguese), 'fr' (French). Defaults to 'en' if not specified\").optional(),\n last_name: z.string().describe(\"Last name of the contact. Supports Unicode characters and special characters like hyphens and apostrophes (e.g., 'O'Brien-Müller')\").optional(),\n first_name: z.string().describe(\"First name of the contact. Supports Unicode characters for international names (e.g., 'François', 'María', 'João')\").optional(),\n custom_fields: z.record(z.string(), z.unknown()).describe(\"Dictionary of custom field names and their values. Use this to store additional contact information beyond standard fields (e.g., {'company': 'Acme Corp', 'employee_id': 'EMP-12345'})\").optional(),\n});\nexport const SpokiCreateOrUpdateContactOutput = z.object({\n id: z.number().int().describe(\"Unique ID of the contact\").nullable(),\n email: z.string().describe(\"Email address of the contact\").nullable().optional(),\n phone: z.string().describe(\"Contact phone number in E.164 format\").nullable(),\n language: z.string().describe(\"Language code of the contact (e.g., 'en', 'it', 'es')\").nullable(),\n role_set: z.array(z.string()).describe(\"List of roles assigned to the contact\").nullable().optional(),\n chat_link: z.string().describe(\"Direct link to chat with this contact on Spoki platform\").nullable(),\n last_name: z.string().describe(\"Last name of the contact\").nullable().optional(),\n first_name: z.string().describe(\"First name of the contact\").nullable().optional(),\n is_blocked: z.boolean().describe(\"Whether the contact is blocked\").nullable(),\n is_restricted: z.boolean().describe(\"Whether the contact is restricted\").nullable(),\n has_invalid_phone: z.boolean().describe(\"Whether the phone number is invalid\").nullable(),\n is_first_message_sent: z.boolean().describe(\"Whether the first message has been sent to this contact\").nullable(),\n}).passthrough();\n\nexport const spokiCreateOrUpdateContact = action(\"SPOKI_CREATE_OR_UPDATE_CONTACT\", {\n slug: \"spoki-create-or-update-contact\",\n name: \"Create or Update Contact\",\n description: \"Creates a new contact or updates an existing contact in Spoki using the phone number as the unique identifier. This action performs an \\\"upsert\\\" operation: - If a contact with the provided phone number exists, it will be updated with the new information - If no contact exists with that phone number, a new contact will be created Use this when you need to: - Add new contacts to your Spoki account - Update existing contact information (name, email, language, custom fields) - Ensure contact records are synchronized with external systems The phone number must be in E.164 format (international format with country code).\",\n input: SpokiCreateOrUpdateContactInput,\n output: SpokiCreateOrUpdateContactOutput,\n});\n"],"mappings":";;;AAIA,MAAa,kCAAkCA,IAAAA,EAAE,OAAO;CACtD,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,4DAA4D,CAAC,CAAC,SAAS;CAClG,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,6KAA6K;CACxM,UAAUA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,4NAA4N,CAAC,CAAC,SAAS;CACrQ,WAAWA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,oIAAoI,CAAC,CAAC,SAAS;CAC9K,YAAYA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,oHAAoH,CAAC,CAAC,SAAS;CAC/J,eAAeA,IAAAA,EAAE,OAAOA,IAAAA,EAAE,OAAO,GAAGA,IAAAA,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,yLAAyL,CAAC,CAAC,SAAS;AAChQ,CAAC;AACD,MAAa,mCAAmCA,IAAAA,EAAE,OAAO;CACvD,IAAIA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,0BAA0B,CAAC,CAAC,SAAS;CACnE,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,8BAA8B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC/E,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,sCAAsC,CAAC,CAAC,SAAS;CAC5E,UAAUA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,uDAAuD,CAAC,CAAC,SAAS;CAChG,UAAUA,IAAAA,EAAE,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,uCAAuC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACpG,WAAWA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,yDAAyD,CAAC,CAAC,SAAS;CACnG,WAAWA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,0BAA0B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC/E,YAAYA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,2BAA2B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACjF,YAAYA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,gCAAgC,CAAC,CAAC,SAAS;CAC5E,eAAeA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,mCAAmC,CAAC,CAAC,SAAS;CAClF,mBAAmBA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,qCAAqC,CAAC,CAAC,SAAS;CACxF,uBAAuBA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,yDAAyD,CAAC,CAAC,SAAS;AAClH,CAAC,CAAC,CAAC,YAAY;AAEf,MAAa,6BAA6BC,eAAAA,OAAO,kCAAkC;CACjF,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAAQ;AACV,CAAC"}
@@ -1,9 +1,36 @@
1
1
  import { z } from "zod";
2
2
 
3
3
  //#region src/actions/create-or-update-contact.d.ts
4
- declare const SpokiCreateOrUpdateContactInput: z.ZodTypeAny;
5
- declare const SpokiCreateOrUpdateContactOutput: z.ZodTypeAny;
6
- declare const spokiCreateOrUpdateContact: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
4
+ declare const SpokiCreateOrUpdateContactInput: z.ZodObject<{
5
+ email: z.ZodOptional<z.ZodString>;
6
+ phone: z.ZodString;
7
+ language: z.ZodOptional<z.ZodString>;
8
+ last_name: z.ZodOptional<z.ZodString>;
9
+ first_name: z.ZodOptional<z.ZodString>;
10
+ custom_fields: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
11
+ }, z.core.$strip>;
12
+ declare const SpokiCreateOrUpdateContactOutput: z.ZodObject<{
13
+ id: z.ZodNullable<z.ZodNumber>;
14
+ email: z.ZodOptional<z.ZodNullable<z.ZodString>>;
15
+ phone: z.ZodNullable<z.ZodString>;
16
+ language: z.ZodNullable<z.ZodString>;
17
+ role_set: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
18
+ chat_link: z.ZodNullable<z.ZodString>;
19
+ last_name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
20
+ first_name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
21
+ is_blocked: z.ZodNullable<z.ZodBoolean>;
22
+ is_restricted: z.ZodNullable<z.ZodBoolean>;
23
+ has_invalid_phone: z.ZodNullable<z.ZodBoolean>;
24
+ is_first_message_sent: z.ZodNullable<z.ZodBoolean>;
25
+ }, z.core.$loose>;
26
+ declare const spokiCreateOrUpdateContact: import("@keystrokehq/action").WorkflowActionDefinition<{
27
+ phone: string;
28
+ email?: string | undefined;
29
+ language?: string | undefined;
30
+ last_name?: string | undefined;
31
+ first_name?: string | undefined;
32
+ custom_fields?: Record<string, unknown> | undefined;
33
+ }, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
7
34
  //#endregion
8
35
  export { spokiCreateOrUpdateContact };
9
36
  //# sourceMappingURL=create-or-update-contact.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"create-or-update-contact.d.cts","names":[],"sources":["../../src/actions/create-or-update-contact.ts"],"mappings":";;;cAIa,+BAAA,EAAiC,CAAA,CAAE,UAO9C;AAAA,cACW,gCAAA,EAAkC,CAAA,CAAE,UAa/C;AAAA,cAEW,0BAAA,gCAA0B,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
1
+ {"version":3,"file":"create-or-update-contact.d.cts","names":[],"sources":["../../src/actions/create-or-update-contact.ts"],"mappings":";;;cAIa,+BAAA,EAA+B,CAAA,CAAA,SAAA;;;;;;;;cAQ/B,gCAAA,EAAgC,CAAA,CAAA,SAAA;;;;;;;;;;;;;;cAehC,0BAAA,gCAA0B,wBAAA;;;;;;kBAMrC,MAAA;AAAA"}
@@ -1,9 +1,36 @@
1
1
  import { z } from "zod";
2
2
 
3
3
  //#region src/actions/create-or-update-contact.d.ts
4
- declare const SpokiCreateOrUpdateContactInput: z.ZodTypeAny;
5
- declare const SpokiCreateOrUpdateContactOutput: z.ZodTypeAny;
6
- declare const spokiCreateOrUpdateContact: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
4
+ declare const SpokiCreateOrUpdateContactInput: z.ZodObject<{
5
+ email: z.ZodOptional<z.ZodString>;
6
+ phone: z.ZodString;
7
+ language: z.ZodOptional<z.ZodString>;
8
+ last_name: z.ZodOptional<z.ZodString>;
9
+ first_name: z.ZodOptional<z.ZodString>;
10
+ custom_fields: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
11
+ }, z.core.$strip>;
12
+ declare const SpokiCreateOrUpdateContactOutput: z.ZodObject<{
13
+ id: z.ZodNullable<z.ZodNumber>;
14
+ email: z.ZodOptional<z.ZodNullable<z.ZodString>>;
15
+ phone: z.ZodNullable<z.ZodString>;
16
+ language: z.ZodNullable<z.ZodString>;
17
+ role_set: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
18
+ chat_link: z.ZodNullable<z.ZodString>;
19
+ last_name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
20
+ first_name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
21
+ is_blocked: z.ZodNullable<z.ZodBoolean>;
22
+ is_restricted: z.ZodNullable<z.ZodBoolean>;
23
+ has_invalid_phone: z.ZodNullable<z.ZodBoolean>;
24
+ is_first_message_sent: z.ZodNullable<z.ZodBoolean>;
25
+ }, z.core.$loose>;
26
+ declare const spokiCreateOrUpdateContact: import("@keystrokehq/action").WorkflowActionDefinition<{
27
+ phone: string;
28
+ email?: string | undefined;
29
+ language?: string | undefined;
30
+ last_name?: string | undefined;
31
+ first_name?: string | undefined;
32
+ custom_fields?: Record<string, unknown> | undefined;
33
+ }, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
7
34
  //#endregion
8
35
  export { spokiCreateOrUpdateContact };
9
36
  //# sourceMappingURL=create-or-update-contact.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"create-or-update-contact.d.mts","names":[],"sources":["../../src/actions/create-or-update-contact.ts"],"mappings":";;;cAIa,+BAAA,EAAiC,CAAA,CAAE,UAO9C;AAAA,cACW,gCAAA,EAAkC,CAAA,CAAE,UAa/C;AAAA,cAEW,0BAAA,gCAA0B,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
1
+ {"version":3,"file":"create-or-update-contact.d.mts","names":[],"sources":["../../src/actions/create-or-update-contact.ts"],"mappings":";;;cAIa,+BAAA,EAA+B,CAAA,CAAA,SAAA;;;;;;;;cAQ/B,gCAAA,EAAgC,CAAA,CAAA,SAAA;;;;;;;;;;;;;;cAehC,0BAAA,gCAA0B,wBAAA;;;;;;kBAMrC,MAAA;AAAA"}
@@ -10,22 +10,22 @@ const spokiCreateOrUpdateContact = action("SPOKI_CREATE_OR_UPDATE_CONTACT", {
10
10
  language: z.string().describe("ISO 639-1 two-letter language code for the contact's preferred language. Common values: 'en' (English), 'it' (Italian), 'es' (Spanish), 'de' (German), 'pt' (Portuguese), 'fr' (French). Defaults to 'en' if not specified").optional(),
11
11
  last_name: z.string().describe("Last name of the contact. Supports Unicode characters and special characters like hyphens and apostrophes (e.g., 'O'Brien-Müller')").optional(),
12
12
  first_name: z.string().describe("First name of the contact. Supports Unicode characters for international names (e.g., 'François', 'María', 'João')").optional(),
13
- custom_fields: z.object({}).describe("Dictionary of custom field names and their values. Use this to store additional contact information beyond standard fields (e.g., {'company': 'Acme Corp', 'employee_id': 'EMP-12345'})").optional()
13
+ custom_fields: z.record(z.string(), z.unknown()).describe("Dictionary of custom field names and their values. Use this to store additional contact information beyond standard fields (e.g., {'company': 'Acme Corp', 'employee_id': 'EMP-12345'})").optional()
14
14
  }),
15
15
  output: z.object({
16
- id: z.number().int().describe("Unique ID of the contact"),
16
+ id: z.number().int().describe("Unique ID of the contact").nullable(),
17
17
  email: z.string().describe("Email address of the contact").nullable().optional(),
18
- phone: z.string().describe("Contact phone number in E.164 format"),
19
- language: z.string().describe("Language code of the contact (e.g., 'en', 'it', 'es')"),
18
+ phone: z.string().describe("Contact phone number in E.164 format").nullable(),
19
+ language: z.string().describe("Language code of the contact (e.g., 'en', 'it', 'es')").nullable(),
20
20
  role_set: z.array(z.string()).describe("List of roles assigned to the contact").nullable().optional(),
21
- chat_link: z.string().describe("Direct link to chat with this contact on Spoki platform"),
21
+ chat_link: z.string().describe("Direct link to chat with this contact on Spoki platform").nullable(),
22
22
  last_name: z.string().describe("Last name of the contact").nullable().optional(),
23
23
  first_name: z.string().describe("First name of the contact").nullable().optional(),
24
- is_blocked: z.boolean().describe("Whether the contact is blocked"),
25
- is_restricted: z.boolean().describe("Whether the contact is restricted"),
26
- has_invalid_phone: z.boolean().describe("Whether the phone number is invalid"),
27
- is_first_message_sent: z.boolean().describe("Whether the first message has been sent to this contact")
28
- })
24
+ is_blocked: z.boolean().describe("Whether the contact is blocked").nullable(),
25
+ is_restricted: z.boolean().describe("Whether the contact is restricted").nullable(),
26
+ has_invalid_phone: z.boolean().describe("Whether the phone number is invalid").nullable(),
27
+ is_first_message_sent: z.boolean().describe("Whether the first message has been sent to this contact").nullable()
28
+ }).passthrough()
29
29
  });
30
30
  //#endregion
31
31
  export { spokiCreateOrUpdateContact };
@@ -1 +1 @@
1
- {"version":3,"file":"create-or-update-contact.mjs","names":[],"sources":["../../src/actions/create-or-update-contact.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const SpokiCreateOrUpdateContactInput: z.ZodTypeAny = z.object({\n email: z.string().describe(\"Email address of the contact. Must be a valid email format\").optional(),\n phone: z.string().describe(\"Contact phone number in E.164 international format (must include country code with + prefix). Examples: '+393331234567' (Italy), '+14155552671' (USA), '+447700900123' (UK)\"),\n language: z.string().describe(\"ISO 639-1 two-letter language code for the contact's preferred language. Common values: 'en' (English), 'it' (Italian), 'es' (Spanish), 'de' (German), 'pt' (Portuguese), 'fr' (French). Defaults to 'en' if not specified\").optional(),\n last_name: z.string().describe(\"Last name of the contact. Supports Unicode characters and special characters like hyphens and apostrophes (e.g., 'O'Brien-Müller')\").optional(),\n first_name: z.string().describe(\"First name of the contact. Supports Unicode characters for international names (e.g., 'François', 'María', 'João')\").optional(),\n custom_fields: z.object({}).describe(\"Dictionary of custom field names and their values. Use this to store additional contact information beyond standard fields (e.g., {'company': 'Acme Corp', 'employee_id': 'EMP-12345'})\").optional(),\n});\nexport const SpokiCreateOrUpdateContactOutput: z.ZodTypeAny = z.object({\n id: z.number().int().describe(\"Unique ID of the contact\"),\n email: z.string().describe(\"Email address of the contact\").nullable().optional(),\n phone: z.string().describe(\"Contact phone number in E.164 format\"),\n language: z.string().describe(\"Language code of the contact (e.g., 'en', 'it', 'es')\"),\n role_set: z.array(z.string()).describe(\"List of roles assigned to the contact\").nullable().optional(),\n chat_link: z.string().describe(\"Direct link to chat with this contact on Spoki platform\"),\n last_name: z.string().describe(\"Last name of the contact\").nullable().optional(),\n first_name: z.string().describe(\"First name of the contact\").nullable().optional(),\n is_blocked: z.boolean().describe(\"Whether the contact is blocked\"),\n is_restricted: z.boolean().describe(\"Whether the contact is restricted\"),\n has_invalid_phone: z.boolean().describe(\"Whether the phone number is invalid\"),\n is_first_message_sent: z.boolean().describe(\"Whether the first message has been sent to this contact\"),\n});\n\nexport const spokiCreateOrUpdateContact = action(\"SPOKI_CREATE_OR_UPDATE_CONTACT\", {\n slug: \"spoki-create-or-update-contact\",\n name: \"Create or Update Contact\",\n description: \"Creates a new contact or updates an existing contact in Spoki using the phone number as the unique identifier. This action performs an \\\"upsert\\\" operation: - If a contact with the provided phone number exists, it will be updated with the new information - If no contact exists with that phone number, a new contact will be created Use this when you need to: - Add new contacts to your Spoki account - Update existing contact information (name, email, language, custom fields) - Ensure contact records are synchronized with external systems The phone number must be in E.164 format (international format with country code).\",\n input: SpokiCreateOrUpdateContactInput,\n output: SpokiCreateOrUpdateContactOutput,\n});\n"],"mappings":";;AA2BA,MAAa,6BAA6B,OAAO,kCAAkC;CACjF,MAAM;CACN,MAAM;CACN,aAAa;CACb,OA3B2D,EAAE,OAAO;EACpE,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,4DAA4D,CAAC,CAAC,SAAS;EAClG,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,6KAA6K;EACxM,UAAU,EAAE,OAAO,CAAC,CAAC,SAAS,4NAA4N,CAAC,CAAC,SAAS;EACrQ,WAAW,EAAE,OAAO,CAAC,CAAC,SAAS,oIAAoI,CAAC,CAAC,SAAS;EAC9K,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS,oHAAoH,CAAC,CAAC,SAAS;EAC/J,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,yLAAyL,CAAC,CAAC,SAAS;CAC3O,CAoBS;CACP,QApB4D,EAAE,OAAO;EACrE,IAAI,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,0BAA0B;EACxD,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,8BAA8B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAC/E,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,sCAAsC;EACjE,UAAU,EAAE,OAAO,CAAC,CAAC,SAAS,uDAAuD;EACrF,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,uCAAuC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACpG,WAAW,EAAE,OAAO,CAAC,CAAC,SAAS,yDAAyD;EACxF,WAAW,EAAE,OAAO,CAAC,CAAC,SAAS,0BAA0B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAC/E,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS,2BAA2B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACjF,YAAY,EAAE,QAAQ,CAAC,CAAC,SAAS,gCAAgC;EACjE,eAAe,EAAE,QAAQ,CAAC,CAAC,SAAS,mCAAmC;EACvE,mBAAmB,EAAE,QAAQ,CAAC,CAAC,SAAS,qCAAqC;EAC7E,uBAAuB,EAAE,QAAQ,CAAC,CAAC,SAAS,yDAAyD;CACvG,CAOU;AACV,CAAC"}
1
+ {"version":3,"file":"create-or-update-contact.mjs","names":[],"sources":["../../src/actions/create-or-update-contact.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const SpokiCreateOrUpdateContactInput = z.object({\n email: z.string().describe(\"Email address of the contact. Must be a valid email format\").optional(),\n phone: z.string().describe(\"Contact phone number in E.164 international format (must include country code with + prefix). Examples: '+393331234567' (Italy), '+14155552671' (USA), '+447700900123' (UK)\"),\n language: z.string().describe(\"ISO 639-1 two-letter language code for the contact's preferred language. Common values: 'en' (English), 'it' (Italian), 'es' (Spanish), 'de' (German), 'pt' (Portuguese), 'fr' (French). Defaults to 'en' if not specified\").optional(),\n last_name: z.string().describe(\"Last name of the contact. Supports Unicode characters and special characters like hyphens and apostrophes (e.g., 'O'Brien-Müller')\").optional(),\n first_name: z.string().describe(\"First name of the contact. Supports Unicode characters for international names (e.g., 'François', 'María', 'João')\").optional(),\n custom_fields: z.record(z.string(), z.unknown()).describe(\"Dictionary of custom field names and their values. Use this to store additional contact information beyond standard fields (e.g., {'company': 'Acme Corp', 'employee_id': 'EMP-12345'})\").optional(),\n});\nexport const SpokiCreateOrUpdateContactOutput = z.object({\n id: z.number().int().describe(\"Unique ID of the contact\").nullable(),\n email: z.string().describe(\"Email address of the contact\").nullable().optional(),\n phone: z.string().describe(\"Contact phone number in E.164 format\").nullable(),\n language: z.string().describe(\"Language code of the contact (e.g., 'en', 'it', 'es')\").nullable(),\n role_set: z.array(z.string()).describe(\"List of roles assigned to the contact\").nullable().optional(),\n chat_link: z.string().describe(\"Direct link to chat with this contact on Spoki platform\").nullable(),\n last_name: z.string().describe(\"Last name of the contact\").nullable().optional(),\n first_name: z.string().describe(\"First name of the contact\").nullable().optional(),\n is_blocked: z.boolean().describe(\"Whether the contact is blocked\").nullable(),\n is_restricted: z.boolean().describe(\"Whether the contact is restricted\").nullable(),\n has_invalid_phone: z.boolean().describe(\"Whether the phone number is invalid\").nullable(),\n is_first_message_sent: z.boolean().describe(\"Whether the first message has been sent to this contact\").nullable(),\n}).passthrough();\n\nexport const spokiCreateOrUpdateContact = action(\"SPOKI_CREATE_OR_UPDATE_CONTACT\", {\n slug: \"spoki-create-or-update-contact\",\n name: \"Create or Update Contact\",\n description: \"Creates a new contact or updates an existing contact in Spoki using the phone number as the unique identifier. This action performs an \\\"upsert\\\" operation: - If a contact with the provided phone number exists, it will be updated with the new information - If no contact exists with that phone number, a new contact will be created Use this when you need to: - Add new contacts to your Spoki account - Update existing contact information (name, email, language, custom fields) - Ensure contact records are synchronized with external systems The phone number must be in E.164 format (international format with country code).\",\n input: SpokiCreateOrUpdateContactInput,\n output: SpokiCreateOrUpdateContactOutput,\n});\n"],"mappings":";;AA2BA,MAAa,6BAA6B,OAAO,kCAAkC;CACjF,MAAM;CACN,MAAM;CACN,aAAa;CACb,OA3B6C,EAAE,OAAO;EACtD,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,4DAA4D,CAAC,CAAC,SAAS;EAClG,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,6KAA6K;EACxM,UAAU,EAAE,OAAO,CAAC,CAAC,SAAS,4NAA4N,CAAC,CAAC,SAAS;EACrQ,WAAW,EAAE,OAAO,CAAC,CAAC,SAAS,oIAAoI,CAAC,CAAC,SAAS;EAC9K,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS,oHAAoH,CAAC,CAAC,SAAS;EAC/J,eAAe,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,yLAAyL,CAAC,CAAC,SAAS;CAChQ,CAoBS;CACP,QApB8C,EAAE,OAAO;EACvD,IAAI,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,0BAA0B,CAAC,CAAC,SAAS;EACnE,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,8BAA8B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAC/E,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,sCAAsC,CAAC,CAAC,SAAS;EAC5E,UAAU,EAAE,OAAO,CAAC,CAAC,SAAS,uDAAuD,CAAC,CAAC,SAAS;EAChG,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,uCAAuC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACpG,WAAW,EAAE,OAAO,CAAC,CAAC,SAAS,yDAAyD,CAAC,CAAC,SAAS;EACnG,WAAW,EAAE,OAAO,CAAC,CAAC,SAAS,0BAA0B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAC/E,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS,2BAA2B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACjF,YAAY,EAAE,QAAQ,CAAC,CAAC,SAAS,gCAAgC,CAAC,CAAC,SAAS;EAC5E,eAAe,EAAE,QAAQ,CAAC,CAAC,SAAS,mCAAmC,CAAC,CAAC,SAAS;EAClF,mBAAmB,EAAE,QAAQ,CAAC,CAAC,SAAS,qCAAqC,CAAC,CAAC,SAAS;EACxF,uBAAuB,EAAE,QAAQ,CAAC,CAAC,SAAS,yDAAyD,CAAC,CAAC,SAAS;CAClH,CAAC,CAAC,CAAC,YAOO;AACV,CAAC"}
@@ -29,14 +29,14 @@ const SpokiCreateTemplateInput = zod.z.object({
29
29
  order: zod.z.number().int().describe("Order index of the button in the template (0-based)").optional(),
30
30
  button_type: zod.z.string().describe("Type of button: 'quick_reply', 'url', or 'phone_number' (lowercase)").optional(),
31
31
  phone_number: zod.z.string().describe("Phone number for phone_number button type (E.164 format)").optional()
32
- }).describe("Button component for a template localization")).describe("Array of button components for this localization. Required field - use empty array [] for templates without buttons")
33
- }).describe("Localization for a specific language in the template")).describe("Array of localizations - at least one required. Each localization defines the template content for a specific language")
32
+ }).passthrough().describe("Button component for a template localization")).describe("Array of button components for this localization. Required field - use empty array [] for templates without buttons")
33
+ }).passthrough().describe("Localization for a specific language in the template")).describe("Array of localizations - at least one required. Each localization defines the template content for a specific language")
34
34
  });
35
35
  const SpokiCreateTemplate_TemplateComponentResponseSchema = zod.z.object({
36
36
  text: zod.z.string().describe("Text content of the component").nullable().optional(),
37
37
  format: zod.z.string().describe("Format of the component (TEXT, IMAGE, VIDEO, DOCUMENT)").nullable().optional(),
38
38
  component_type: zod.z.string().describe("Type of component (HEADER, BODY, FOOTER)").nullable().optional()
39
- }).describe("Component in the template response");
39
+ }).passthrough().describe("Component in the template response");
40
40
  const SpokiCreateTemplate_TemplateButtonComponentResponseSchema = zod.z.object({
41
41
  id: zod.z.number().int().describe("Button ID").nullable().optional(),
42
42
  url: zod.z.string().describe("URL for URL buttons").nullable().optional(),
@@ -44,11 +44,11 @@ const SpokiCreateTemplate_TemplateButtonComponentResponseSchema = zod.z.object({
44
44
  order: zod.z.number().int().describe("Button order index").nullable().optional(),
45
45
  button_type: zod.z.string().describe("Button type").nullable().optional(),
46
46
  phone_number: zod.z.string().describe("Phone number for call buttons").nullable().optional()
47
- }).describe("Button component in the response");
47
+ }).passthrough().describe("Button component in the response");
48
48
  const SpokiCreateTemplate_TemplateLocalizationResponseSchema = zod.z.object({
49
- id: zod.z.number().int().describe("Unique ID of this localization"),
50
- status: zod.z.string().describe("Template status: DRAFT, APPROVED, REJECTED, PENDING"),
51
- language: zod.z.string().describe("Language code"),
49
+ id: zod.z.number().int().describe("Unique ID of this localization").nullable(),
50
+ status: zod.z.string().describe("Template status: DRAFT, APPROVED, REJECTED, PENDING").nullable(),
51
+ language: zod.z.string().describe("Language code").nullable(),
52
52
  rejection_reason: zod.z.string().describe("Reason for rejection if status is REJECTED").nullable().optional(),
53
53
  default_header_media: zod.z.string().describe("Default header media URL or ID").nullable().optional(),
54
54
  example_header_media: zod.z.string().describe("Example header media URL or ID").nullable().optional(),
@@ -57,20 +57,20 @@ const SpokiCreateTemplate_TemplateLocalizationResponseSchema = zod.z.object({
57
57
  footer_template_component: SpokiCreateTemplate_TemplateComponentResponseSchema.nullable().optional(),
58
58
  header_template_component: SpokiCreateTemplate_TemplateComponentResponseSchema.nullable().optional(),
59
59
  templatebuttoncomponent_set: zod.z.array(SpokiCreateTemplate_TemplateButtonComponentResponseSchema).describe("Array of button components").nullable().optional(),
60
- templatecarouselcomponent_set: zod.z.array(zod.z.object({})).describe("Array of carousel components").nullable().optional()
61
- }).describe("Localization in the template response");
60
+ templatecarouselcomponent_set: zod.z.array(zod.z.record(zod.z.string(), zod.z.unknown())).describe("Array of carousel components").nullable().optional()
61
+ }).passthrough().describe("Localization in the template response");
62
62
  const SpokiCreateTemplateOutput = zod.z.object({
63
- id: zod.z.number().int().describe("Unique identifier for the created template"),
64
- name: zod.z.string().describe("Template name"),
65
- category: zod.z.string().describe("Template category (MARKETING, UTILITY, or AUTHENTICATION)"),
66
- integration: zod.z.number().int().describe("Integration ID"),
67
- is_approved: zod.z.boolean().describe("Whether the template is approved by WhatsApp (initially false for DRAFT templates)"),
68
- is_favorite: zod.z.boolean().describe("Whether the template is marked as favorite"),
63
+ id: zod.z.number().int().describe("Unique identifier for the created template").nullable(),
64
+ name: zod.z.string().describe("Template name").nullable(),
65
+ category: zod.z.string().describe("Template category (MARKETING, UTILITY, or AUTHENTICATION)").nullable(),
66
+ integration: zod.z.number().int().describe("Integration ID").nullable(),
67
+ is_approved: zod.z.boolean().describe("Whether the template is approved by WhatsApp (initially false for DRAFT templates)").nullable(),
68
+ is_favorite: zod.z.boolean().describe("Whether the template is marked as favorite").nullable(),
69
69
  subcategory: zod.z.string().describe("Template subcategory").nullable().optional(),
70
70
  customfield_set: zod.z.array(zod.z.string()).describe("Array of custom field placeholders used in the template").nullable().optional(),
71
71
  template_groups: zod.z.array(zod.z.number().int()).describe("Array of template group IDs this template belongs to").nullable().optional(),
72
72
  templatelocalization_set: zod.z.array(SpokiCreateTemplate_TemplateLocalizationResponseSchema).describe("Array of template localizations with language-specific content and status")
73
- });
73
+ }).passthrough();
74
74
  const spokiCreateTemplate = require_action.action("SPOKI_CREATE_TEMPLATE", {
75
75
  slug: "spoki-create-template",
76
76
  name: "Create Template",
@@ -1 +1 @@
1
- {"version":3,"file":"create-template.cjs","names":["z","action"],"sources":["../../src/actions/create-template.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const SpokiCreateTemplateInput: z.ZodTypeAny = z.object({\n name: z.string().describe(\"Internal template name/identifier. Must be unique, lowercase with underscores (e.g., 'promo_summer_2024'). This is not shown to end users\"),\n category: z.enum([\"MARKETING\", \"ACCOUNT_UPDATE\", \"PAYMENT_UPDATE\", \"PERSONAL_FINANCE_UPDATE\", \"SHIPPING_UPDATE\", \"RESERVATION_UPDATE\", \"ISSUE_RESOLUTION\", \"APPOINTMENT_UPDATE\", \"TRANSPORTATION_UPDATE\", \"TICKET_UPDATE\", \"ALERT_UPDATE\", \"AUTO_REPLY\"]).describe(\"Template category: MARKETING for promotional content, or specific utility categories like ACCOUNT_UPDATE, PAYMENT_UPDATE, SHIPPING_UPDATE, APPOINTMENT_UPDATE, etc. for transactional messages\"),\n subcategory: z.string().describe(\"Optional template subcategory for additional classification\").optional(),\n templatelocalization_set: z.array(z.object({\n body: z.string().describe(\"Message body text. Can include variables using {{1}}, {{2}}, etc. for dynamic content\"),\n footer: z.string().describe(\"Optional footer text (plain text, no variables allowed)\").optional(),\n header: z.string().describe(\"Optional header text. Can include one variable {{1}} for dynamic content\").optional(),\n language: z.string().describe(\"ISO 639-1 two-letter language code (e.g., 'en', 'it', 'es', 'de', 'pt', 'fr')\"),\n templatebuttoncomponent_set: z.array(z.object({\n url: z.string().describe(\"URL for url button type (can include variables like {{1}})\").optional(),\n text: z.string().describe(\"Display text shown on the button\").optional(),\n order: z.number().int().describe(\"Order index of the button in the template (0-based)\").optional(),\n button_type: z.string().describe(\"Type of button: 'quick_reply', 'url', or 'phone_number' (lowercase)\").optional(),\n phone_number: z.string().describe(\"Phone number for phone_number button type (E.164 format)\").optional(),\n}).describe(\"Button component for a template localization\")).describe(\"Array of button components for this localization. Required field - use empty array [] for templates without buttons\"),\n}).describe(\"Localization for a specific language in the template\")).describe(\"Array of localizations - at least one required. Each localization defines the template content for a specific language\"),\n});\nconst SpokiCreateTemplate_TemplateComponentResponseSchema: z.ZodTypeAny = z.object({\n text: z.string().describe(\"Text content of the component\").nullable().optional(),\n format: z.string().describe(\"Format of the component (TEXT, IMAGE, VIDEO, DOCUMENT)\").nullable().optional(),\n component_type: z.string().describe(\"Type of component (HEADER, BODY, FOOTER)\").nullable().optional(),\n}).describe(\"Component in the template response\");\nconst SpokiCreateTemplate_TemplateButtonComponentResponseSchema: z.ZodTypeAny = z.object({\n id: z.number().int().describe(\"Button ID\").nullable().optional(),\n url: z.string().describe(\"URL for URL buttons\").nullable().optional(),\n text: z.string().describe(\"Button display text\").nullable().optional(),\n order: z.number().int().describe(\"Button order index\").nullable().optional(),\n button_type: z.string().describe(\"Button type\").nullable().optional(),\n phone_number: z.string().describe(\"Phone number for call buttons\").nullable().optional(),\n}).describe(\"Button component in the response\");\nconst SpokiCreateTemplate_TemplateLocalizationResponseSchema: z.ZodTypeAny = z.object({\n id: z.number().int().describe(\"Unique ID of this localization\"),\n status: z.string().describe(\"Template status: DRAFT, APPROVED, REJECTED, PENDING\"),\n language: z.string().describe(\"Language code\"),\n rejection_reason: z.string().describe(\"Reason for rejection if status is REJECTED\").nullable().optional(),\n default_header_media: z.string().describe(\"Default header media URL or ID\").nullable().optional(),\n example_header_media: z.string().describe(\"Example header media URL or ID\").nullable().optional(),\n example_custom_fields: z.string().describe(\"Example values for custom fields/variables\").nullable().optional(),\n body_template_component: SpokiCreateTemplate_TemplateComponentResponseSchema.nullable().optional(),\n footer_template_component: SpokiCreateTemplate_TemplateComponentResponseSchema.nullable().optional(),\n header_template_component: SpokiCreateTemplate_TemplateComponentResponseSchema.nullable().optional(),\n templatebuttoncomponent_set: z.array(SpokiCreateTemplate_TemplateButtonComponentResponseSchema).describe(\"Array of button components\").nullable().optional(),\n templatecarouselcomponent_set: z.array(z.object({})).describe(\"Array of carousel components\").nullable().optional(),\n}).describe(\"Localization in the template response\");\nexport const SpokiCreateTemplateOutput: z.ZodTypeAny = z.object({\n id: z.number().int().describe(\"Unique identifier for the created template\"),\n name: z.string().describe(\"Template name\"),\n category: z.string().describe(\"Template category (MARKETING, UTILITY, or AUTHENTICATION)\"),\n integration: z.number().int().describe(\"Integration ID\"),\n is_approved: z.boolean().describe(\"Whether the template is approved by WhatsApp (initially false for DRAFT templates)\"),\n is_favorite: z.boolean().describe(\"Whether the template is marked as favorite\"),\n subcategory: z.string().describe(\"Template subcategory\").nullable().optional(),\n customfield_set: z.array(z.string()).describe(\"Array of custom field placeholders used in the template\").nullable().optional(),\n template_groups: z.array(z.number().int()).describe(\"Array of template group IDs this template belongs to\").nullable().optional(),\n templatelocalization_set: z.array(SpokiCreateTemplate_TemplateLocalizationResponseSchema).describe(\"Array of template localizations with language-specific content and status\"),\n});\n\nexport const spokiCreateTemplate = action(\"SPOKI_CREATE_TEMPLATE\", {\n slug: \"spoki-create-template\",\n name: \"Create Template\",\n description: \"Creates a new WhatsApp message template with localizations, buttons, and media headers. Use when you need to define a reusable template for marketing campaigns, transactional notifications, or authentication messages. Templates must be approved by WhatsApp before use (created in DRAFT status). Rate limit: 10 requests per minute.\",\n input: SpokiCreateTemplateInput,\n output: SpokiCreateTemplateOutput,\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"create-template.cjs","names":["z","action"],"sources":["../../src/actions/create-template.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const SpokiCreateTemplateInput = z.object({\n name: z.string().describe(\"Internal template name/identifier. Must be unique, lowercase with underscores (e.g., 'promo_summer_2024'). This is not shown to end users\"),\n category: z.enum([\"MARKETING\", \"ACCOUNT_UPDATE\", \"PAYMENT_UPDATE\", \"PERSONAL_FINANCE_UPDATE\", \"SHIPPING_UPDATE\", \"RESERVATION_UPDATE\", \"ISSUE_RESOLUTION\", \"APPOINTMENT_UPDATE\", \"TRANSPORTATION_UPDATE\", \"TICKET_UPDATE\", \"ALERT_UPDATE\", \"AUTO_REPLY\"]).describe(\"Template category: MARKETING for promotional content, or specific utility categories like ACCOUNT_UPDATE, PAYMENT_UPDATE, SHIPPING_UPDATE, APPOINTMENT_UPDATE, etc. for transactional messages\"),\n subcategory: z.string().describe(\"Optional template subcategory for additional classification\").optional(),\n templatelocalization_set: z.array(z.object({\n body: z.string().describe(\"Message body text. Can include variables using {{1}}, {{2}}, etc. for dynamic content\"),\n footer: z.string().describe(\"Optional footer text (plain text, no variables allowed)\").optional(),\n header: z.string().describe(\"Optional header text. Can include one variable {{1}} for dynamic content\").optional(),\n language: z.string().describe(\"ISO 639-1 two-letter language code (e.g., 'en', 'it', 'es', 'de', 'pt', 'fr')\"),\n templatebuttoncomponent_set: z.array(z.object({\n url: z.string().describe(\"URL for url button type (can include variables like {{1}})\").optional(),\n text: z.string().describe(\"Display text shown on the button\").optional(),\n order: z.number().int().describe(\"Order index of the button in the template (0-based)\").optional(),\n button_type: z.string().describe(\"Type of button: 'quick_reply', 'url', or 'phone_number' (lowercase)\").optional(),\n phone_number: z.string().describe(\"Phone number for phone_number button type (E.164 format)\").optional(),\n}).passthrough().describe(\"Button component for a template localization\")).describe(\"Array of button components for this localization. Required field - use empty array [] for templates without buttons\"),\n}).passthrough().describe(\"Localization for a specific language in the template\")).describe(\"Array of localizations - at least one required. Each localization defines the template content for a specific language\"),\n});\nconst SpokiCreateTemplate_TemplateComponentResponseSchema = z.object({\n text: z.string().describe(\"Text content of the component\").nullable().optional(),\n format: z.string().describe(\"Format of the component (TEXT, IMAGE, VIDEO, DOCUMENT)\").nullable().optional(),\n component_type: z.string().describe(\"Type of component (HEADER, BODY, FOOTER)\").nullable().optional(),\n}).passthrough().describe(\"Component in the template response\");\nconst SpokiCreateTemplate_TemplateButtonComponentResponseSchema = z.object({\n id: z.number().int().describe(\"Button ID\").nullable().optional(),\n url: z.string().describe(\"URL for URL buttons\").nullable().optional(),\n text: z.string().describe(\"Button display text\").nullable().optional(),\n order: z.number().int().describe(\"Button order index\").nullable().optional(),\n button_type: z.string().describe(\"Button type\").nullable().optional(),\n phone_number: z.string().describe(\"Phone number for call buttons\").nullable().optional(),\n}).passthrough().describe(\"Button component in the response\");\nconst SpokiCreateTemplate_TemplateLocalizationResponseSchema = z.object({\n id: z.number().int().describe(\"Unique ID of this localization\").nullable(),\n status: z.string().describe(\"Template status: DRAFT, APPROVED, REJECTED, PENDING\").nullable(),\n language: z.string().describe(\"Language code\").nullable(),\n rejection_reason: z.string().describe(\"Reason for rejection if status is REJECTED\").nullable().optional(),\n default_header_media: z.string().describe(\"Default header media URL or ID\").nullable().optional(),\n example_header_media: z.string().describe(\"Example header media URL or ID\").nullable().optional(),\n example_custom_fields: z.string().describe(\"Example values for custom fields/variables\").nullable().optional(),\n body_template_component: SpokiCreateTemplate_TemplateComponentResponseSchema.nullable().optional(),\n footer_template_component: SpokiCreateTemplate_TemplateComponentResponseSchema.nullable().optional(),\n header_template_component: SpokiCreateTemplate_TemplateComponentResponseSchema.nullable().optional(),\n templatebuttoncomponent_set: z.array(SpokiCreateTemplate_TemplateButtonComponentResponseSchema).describe(\"Array of button components\").nullable().optional(),\n templatecarouselcomponent_set: z.array(z.record(z.string(), z.unknown())).describe(\"Array of carousel components\").nullable().optional(),\n}).passthrough().describe(\"Localization in the template response\");\nexport const SpokiCreateTemplateOutput = z.object({\n id: z.number().int().describe(\"Unique identifier for the created template\").nullable(),\n name: z.string().describe(\"Template name\").nullable(),\n category: z.string().describe(\"Template category (MARKETING, UTILITY, or AUTHENTICATION)\").nullable(),\n integration: z.number().int().describe(\"Integration ID\").nullable(),\n is_approved: z.boolean().describe(\"Whether the template is approved by WhatsApp (initially false for DRAFT templates)\").nullable(),\n is_favorite: z.boolean().describe(\"Whether the template is marked as favorite\").nullable(),\n subcategory: z.string().describe(\"Template subcategory\").nullable().optional(),\n customfield_set: z.array(z.string()).describe(\"Array of custom field placeholders used in the template\").nullable().optional(),\n template_groups: z.array(z.number().int()).describe(\"Array of template group IDs this template belongs to\").nullable().optional(),\n templatelocalization_set: z.array(SpokiCreateTemplate_TemplateLocalizationResponseSchema).describe(\"Array of template localizations with language-specific content and status\"),\n}).passthrough();\n\nexport const spokiCreateTemplate = action(\"SPOKI_CREATE_TEMPLATE\", {\n slug: \"spoki-create-template\",\n name: \"Create Template\",\n description: \"Creates a new WhatsApp message template with localizations, buttons, and media headers. Use when you need to define a reusable template for marketing campaigns, transactional notifications, or authentication messages. Templates must be approved by WhatsApp before use (created in DRAFT status). Rate limit: 10 requests per minute.\",\n input: SpokiCreateTemplateInput,\n output: SpokiCreateTemplateOutput,\n});\n"],"mappings":";;;AAIA,MAAa,2BAA2BA,IAAAA,EAAE,OAAO;CAC/C,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,2IAA2I;CACrK,UAAUA,IAAAA,EAAE,KAAK;EAAC;EAAa;EAAkB;EAAkB;EAA2B;EAAmB;EAAsB;EAAoB;EAAsB;EAAyB;EAAiB;EAAgB;CAAY,CAAC,CAAC,CAAC,SAAS,gMAAgM;CACnc,aAAaA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,6DAA6D,CAAC,CAAC,SAAS;CACzG,0BAA0BA,IAAAA,EAAE,MAAMA,IAAAA,EAAE,OAAO;EAC3C,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,uFAAuF;EACjH,QAAQA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,yDAAyD,CAAC,CAAC,SAAS;EAChG,QAAQA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,0EAA0E,CAAC,CAAC,SAAS;EACjH,UAAUA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,+EAA+E;EAC7G,6BAA6BA,IAAAA,EAAE,MAAMA,IAAAA,EAAE,OAAO;GAC9C,KAAKA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,4DAA4D,CAAC,CAAC,SAAS;GAChG,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,kCAAkC,CAAC,CAAC,SAAS;GACvE,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,qDAAqD,CAAC,CAAC,SAAS;GACjG,aAAaA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,qEAAqE,CAAC,CAAC,SAAS;GACjH,cAAcA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,0DAA0D,CAAC,CAAC,SAAS;EACzG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,8CAA8C,CAAC,CAAC,CAAC,SAAS,qHAAqH;CACzM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,sDAAsD,CAAC,CAAC,CAAC,SAAS,wHAAwH;AACpN,CAAC;AACD,MAAM,sDAAsDA,IAAAA,EAAE,OAAO;CACnE,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,+BAA+B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC/E,QAAQA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,wDAAwD,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC1G,gBAAgBA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,0CAA0C,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AACtG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,oCAAoC;AAC9D,MAAM,4DAA4DA,IAAAA,EAAE,OAAO;CACzE,IAAIA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,WAAW,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC/D,KAAKA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,qBAAqB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACpE,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,qBAAqB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACrE,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,oBAAoB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC3E,aAAaA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,aAAa,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACpE,cAAcA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,+BAA+B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AACzF,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,kCAAkC;AAC5D,MAAM,yDAAyDA,IAAAA,EAAE,OAAO;CACtE,IAAIA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,gCAAgC,CAAC,CAAC,SAAS;CACzE,QAAQA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,qDAAqD,CAAC,CAAC,SAAS;CAC5F,UAAUA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,eAAe,CAAC,CAAC,SAAS;CACxD,kBAAkBA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,4CAA4C,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACxG,sBAAsBA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,gCAAgC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAChG,sBAAsBA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,gCAAgC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAChG,uBAAuBA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,4CAA4C,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC7G,yBAAyB,oDAAoD,SAAS,CAAC,CAAC,SAAS;CACjG,2BAA2B,oDAAoD,SAAS,CAAC,CAAC,SAAS;CACnG,2BAA2B,oDAAoD,SAAS,CAAC,CAAC,SAAS;CACnG,6BAA6BA,IAAAA,EAAE,MAAM,yDAAyD,CAAC,CAAC,SAAS,4BAA4B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC3J,+BAA+BA,IAAAA,EAAE,MAAMA,IAAAA,EAAE,OAAOA,IAAAA,EAAE,OAAO,GAAGA,IAAAA,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,8BAA8B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AACzI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,uCAAuC;AACjE,MAAa,4BAA4BA,IAAAA,EAAE,OAAO;CAChD,IAAIA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,4CAA4C,CAAC,CAAC,SAAS;CACrF,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,eAAe,CAAC,CAAC,SAAS;CACpD,UAAUA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,2DAA2D,CAAC,CAAC,SAAS;CACpG,aAAaA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,gBAAgB,CAAC,CAAC,SAAS;CAClE,aAAaA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,oFAAoF,CAAC,CAAC,SAAS;CACjI,aAAaA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,4CAA4C,CAAC,CAAC,SAAS;CACzF,aAAaA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,sBAAsB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC7E,iBAAiBA,IAAAA,EAAE,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,yDAAyD,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC7H,iBAAiBA,IAAAA,EAAE,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,sDAAsD,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAChI,0BAA0BA,IAAAA,EAAE,MAAM,sDAAsD,CAAC,CAAC,SAAS,2EAA2E;AAChL,CAAC,CAAC,CAAC,YAAY;AAEf,MAAa,sBAAsBC,eAAAA,OAAO,yBAAyB;CACjE,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAAQ;AACV,CAAC"}
@@ -1,9 +1,101 @@
1
1
  import { z } from "zod";
2
2
 
3
3
  //#region src/actions/create-template.d.ts
4
- declare const SpokiCreateTemplateInput: z.ZodTypeAny;
5
- declare const SpokiCreateTemplateOutput: z.ZodTypeAny;
6
- declare const spokiCreateTemplate: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
4
+ declare const SpokiCreateTemplateInput: z.ZodObject<{
5
+ name: z.ZodString;
6
+ category: z.ZodEnum<{
7
+ MARKETING: "MARKETING";
8
+ ACCOUNT_UPDATE: "ACCOUNT_UPDATE";
9
+ PAYMENT_UPDATE: "PAYMENT_UPDATE";
10
+ PERSONAL_FINANCE_UPDATE: "PERSONAL_FINANCE_UPDATE";
11
+ SHIPPING_UPDATE: "SHIPPING_UPDATE";
12
+ RESERVATION_UPDATE: "RESERVATION_UPDATE";
13
+ ISSUE_RESOLUTION: "ISSUE_RESOLUTION";
14
+ APPOINTMENT_UPDATE: "APPOINTMENT_UPDATE";
15
+ TRANSPORTATION_UPDATE: "TRANSPORTATION_UPDATE";
16
+ TICKET_UPDATE: "TICKET_UPDATE";
17
+ ALERT_UPDATE: "ALERT_UPDATE";
18
+ AUTO_REPLY: "AUTO_REPLY";
19
+ }>;
20
+ subcategory: z.ZodOptional<z.ZodString>;
21
+ templatelocalization_set: z.ZodArray<z.ZodObject<{
22
+ body: z.ZodString;
23
+ footer: z.ZodOptional<z.ZodString>;
24
+ header: z.ZodOptional<z.ZodString>;
25
+ language: z.ZodString;
26
+ templatebuttoncomponent_set: z.ZodArray<z.ZodObject<{
27
+ url: z.ZodOptional<z.ZodString>;
28
+ text: z.ZodOptional<z.ZodString>;
29
+ order: z.ZodOptional<z.ZodNumber>;
30
+ button_type: z.ZodOptional<z.ZodString>;
31
+ phone_number: z.ZodOptional<z.ZodString>;
32
+ }, z.core.$loose>>;
33
+ }, z.core.$loose>>;
34
+ }, z.core.$strip>;
35
+ declare const SpokiCreateTemplateOutput: z.ZodObject<{
36
+ id: z.ZodNullable<z.ZodNumber>;
37
+ name: z.ZodNullable<z.ZodString>;
38
+ category: z.ZodNullable<z.ZodString>;
39
+ integration: z.ZodNullable<z.ZodNumber>;
40
+ is_approved: z.ZodNullable<z.ZodBoolean>;
41
+ is_favorite: z.ZodNullable<z.ZodBoolean>;
42
+ subcategory: z.ZodOptional<z.ZodNullable<z.ZodString>>;
43
+ customfield_set: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
44
+ template_groups: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodNumber>>>;
45
+ templatelocalization_set: z.ZodArray<z.ZodObject<{
46
+ id: z.ZodNullable<z.ZodNumber>;
47
+ status: z.ZodNullable<z.ZodString>;
48
+ language: z.ZodNullable<z.ZodString>;
49
+ rejection_reason: z.ZodOptional<z.ZodNullable<z.ZodString>>;
50
+ default_header_media: z.ZodOptional<z.ZodNullable<z.ZodString>>;
51
+ example_header_media: z.ZodOptional<z.ZodNullable<z.ZodString>>;
52
+ example_custom_fields: z.ZodOptional<z.ZodNullable<z.ZodString>>;
53
+ body_template_component: z.ZodOptional<z.ZodNullable<z.ZodObject<{
54
+ text: z.ZodOptional<z.ZodNullable<z.ZodString>>;
55
+ format: z.ZodOptional<z.ZodNullable<z.ZodString>>;
56
+ component_type: z.ZodOptional<z.ZodNullable<z.ZodString>>;
57
+ }, z.core.$loose>>>;
58
+ footer_template_component: z.ZodOptional<z.ZodNullable<z.ZodObject<{
59
+ text: z.ZodOptional<z.ZodNullable<z.ZodString>>;
60
+ format: z.ZodOptional<z.ZodNullable<z.ZodString>>;
61
+ component_type: z.ZodOptional<z.ZodNullable<z.ZodString>>;
62
+ }, z.core.$loose>>>;
63
+ header_template_component: z.ZodOptional<z.ZodNullable<z.ZodObject<{
64
+ text: z.ZodOptional<z.ZodNullable<z.ZodString>>;
65
+ format: z.ZodOptional<z.ZodNullable<z.ZodString>>;
66
+ component_type: z.ZodOptional<z.ZodNullable<z.ZodString>>;
67
+ }, z.core.$loose>>>;
68
+ templatebuttoncomponent_set: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
69
+ id: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
70
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
71
+ text: z.ZodOptional<z.ZodNullable<z.ZodString>>;
72
+ order: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
73
+ button_type: z.ZodOptional<z.ZodNullable<z.ZodString>>;
74
+ phone_number: z.ZodOptional<z.ZodNullable<z.ZodString>>;
75
+ }, z.core.$loose>>>>;
76
+ templatecarouselcomponent_set: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>>;
77
+ }, z.core.$loose>>;
78
+ }, z.core.$loose>;
79
+ declare const spokiCreateTemplate: import("@keystrokehq/action").WorkflowActionDefinition<{
80
+ name: string;
81
+ category: "MARKETING" | "ACCOUNT_UPDATE" | "PAYMENT_UPDATE" | "PERSONAL_FINANCE_UPDATE" | "SHIPPING_UPDATE" | "RESERVATION_UPDATE" | "ISSUE_RESOLUTION" | "APPOINTMENT_UPDATE" | "TRANSPORTATION_UPDATE" | "TICKET_UPDATE" | "ALERT_UPDATE" | "AUTO_REPLY";
82
+ templatelocalization_set: {
83
+ [x: string]: unknown;
84
+ body: string;
85
+ language: string;
86
+ templatebuttoncomponent_set: {
87
+ [x: string]: unknown;
88
+ url?: string | undefined;
89
+ text?: string | undefined;
90
+ order?: number | undefined;
91
+ button_type?: string | undefined;
92
+ phone_number?: string | undefined;
93
+ }[];
94
+ footer?: string | undefined;
95
+ header?: string | undefined;
96
+ }[];
97
+ subcategory?: string | undefined;
98
+ }, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
7
99
  //#endregion
8
100
  export { spokiCreateTemplate };
9
101
  //# sourceMappingURL=create-template.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"create-template.d.cts","names":[],"sources":["../../src/actions/create-template.ts"],"mappings":";;;cAIa,wBAAA,EAA0B,CAAA,CAAE,UAiBvC;AAAA,cA4BW,yBAAA,EAA2B,CAAA,CAAE,UAWxC;AAAA,cAEW,mBAAA,gCAAmB,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
1
+ {"version":3,"file":"create-template.d.cts","names":[],"sources":["../../src/actions/create-template.ts"],"mappings":";;;cAIa,wBAAA,EAAwB,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6CxB,yBAAA,EAAyB,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAazB,mBAAA,gCAAmB,wBAAA"}