@keystrokehq/spoki 0.1.5 → 0.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (469) 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 -0
  4. package/dist/actions/add-contact-operator.cjs.map +1 -1
  5. package/dist/actions/add-contact-operator.d.cts +3 -16
  6. package/dist/actions/add-contact-operator.d.cts.map +1 -1
  7. package/dist/actions/add-contact-operator.d.mts +3 -16
  8. package/dist/actions/add-contact-operator.d.mts.map +1 -1
  9. package/dist/actions/add-contact-operator.mjs +1 -0
  10. package/dist/actions/add-contact-operator.mjs.map +1 -1
  11. package/dist/actions/add-service-user.cjs +1 -0
  12. package/dist/actions/add-service-user.cjs.map +1 -1
  13. package/dist/actions/add-service-user.d.cts +3 -16
  14. package/dist/actions/add-service-user.d.cts.map +1 -1
  15. package/dist/actions/add-service-user.d.mts +3 -16
  16. package/dist/actions/add-service-user.d.mts.map +1 -1
  17. package/dist/actions/add-service-user.mjs +1 -0
  18. package/dist/actions/add-service-user.mjs.map +1 -1
  19. package/dist/actions/check-role-private-key.cjs +1 -0
  20. package/dist/actions/check-role-private-key.cjs.map +1 -1
  21. package/dist/actions/check-role-private-key.d.cts +3 -15
  22. package/dist/actions/check-role-private-key.d.cts.map +1 -1
  23. package/dist/actions/check-role-private-key.d.mts +3 -15
  24. package/dist/actions/check-role-private-key.d.mts.map +1 -1
  25. package/dist/actions/check-role-private-key.mjs +1 -0
  26. package/dist/actions/check-role-private-key.mjs.map +1 -1
  27. package/dist/actions/clone-template.cjs +1 -0
  28. package/dist/actions/clone-template.cjs.map +1 -1
  29. package/dist/actions/clone-template.d.cts +3 -15
  30. package/dist/actions/clone-template.d.cts.map +1 -1
  31. package/dist/actions/clone-template.d.mts +3 -15
  32. package/dist/actions/clone-template.d.mts.map +1 -1
  33. package/dist/actions/clone-template.mjs +1 -0
  34. package/dist/actions/clone-template.mjs.map +1 -1
  35. package/dist/actions/create-account-onboarding-link.cjs +1 -0
  36. package/dist/actions/create-account-onboarding-link.cjs.map +1 -1
  37. package/dist/actions/create-account-onboarding-link.d.cts +3 -15
  38. package/dist/actions/create-account-onboarding-link.d.cts.map +1 -1
  39. package/dist/actions/create-account-onboarding-link.d.mts +3 -15
  40. package/dist/actions/create-account-onboarding-link.d.mts.map +1 -1
  41. package/dist/actions/create-account-onboarding-link.mjs +1 -0
  42. package/dist/actions/create-account-onboarding-link.mjs.map +1 -1
  43. package/dist/actions/create-custom-field.cjs +1 -0
  44. package/dist/actions/create-custom-field.cjs.map +1 -1
  45. package/dist/actions/create-custom-field.d.cts +3 -18
  46. package/dist/actions/create-custom-field.d.cts.map +1 -1
  47. package/dist/actions/create-custom-field.d.mts +3 -18
  48. package/dist/actions/create-custom-field.d.mts.map +1 -1
  49. package/dist/actions/create-custom-field.mjs +1 -0
  50. package/dist/actions/create-custom-field.mjs.map +1 -1
  51. package/dist/actions/create-list.cjs +1 -0
  52. package/dist/actions/create-list.cjs.map +1 -1
  53. package/dist/actions/create-list.d.cts +3 -15
  54. package/dist/actions/create-list.d.cts.map +1 -1
  55. package/dist/actions/create-list.d.mts +3 -15
  56. package/dist/actions/create-list.d.mts.map +1 -1
  57. package/dist/actions/create-list.mjs +1 -0
  58. package/dist/actions/create-list.mjs.map +1 -1
  59. package/dist/actions/create-media.cjs +1 -0
  60. package/dist/actions/create-media.cjs.map +1 -1
  61. package/dist/actions/create-media.d.cts +3 -18
  62. package/dist/actions/create-media.d.cts.map +1 -1
  63. package/dist/actions/create-media.d.mts +3 -18
  64. package/dist/actions/create-media.d.mts.map +1 -1
  65. package/dist/actions/create-media.mjs +1 -0
  66. package/dist/actions/create-media.mjs.map +1 -1
  67. package/dist/actions/create-or-update-contact.cjs +1 -0
  68. package/dist/actions/create-or-update-contact.cjs.map +1 -1
  69. package/dist/actions/create-or-update-contact.d.cts +3 -20
  70. package/dist/actions/create-or-update-contact.d.cts.map +1 -1
  71. package/dist/actions/create-or-update-contact.d.mts +3 -20
  72. package/dist/actions/create-or-update-contact.d.mts.map +1 -1
  73. package/dist/actions/create-or-update-contact.mjs +1 -0
  74. package/dist/actions/create-or-update-contact.mjs.map +1 -1
  75. package/dist/actions/create-template.cjs +1 -0
  76. package/dist/actions/create-template.cjs.map +1 -1
  77. package/dist/actions/create-template.d.cts +3 -32
  78. package/dist/actions/create-template.d.cts.map +1 -1
  79. package/dist/actions/create-template.d.mts +3 -32
  80. package/dist/actions/create-template.d.mts.map +1 -1
  81. package/dist/actions/create-template.mjs +1 -0
  82. package/dist/actions/create-template.mjs.map +1 -1
  83. package/dist/actions/create-ticket.cjs +1 -0
  84. package/dist/actions/create-ticket.cjs.map +1 -1
  85. package/dist/actions/create-ticket.d.cts +3 -20
  86. package/dist/actions/create-ticket.d.cts.map +1 -1
  87. package/dist/actions/create-ticket.d.mts +3 -20
  88. package/dist/actions/create-ticket.d.mts.map +1 -1
  89. package/dist/actions/create-ticket.mjs +1 -0
  90. package/dist/actions/create-ticket.mjs.map +1 -1
  91. package/dist/actions/delete-contact.cjs +1 -0
  92. package/dist/actions/delete-contact.cjs.map +1 -1
  93. package/dist/actions/delete-contact.d.cts +3 -15
  94. package/dist/actions/delete-contact.d.cts.map +1 -1
  95. package/dist/actions/delete-contact.d.mts +3 -15
  96. package/dist/actions/delete-contact.d.mts.map +1 -1
  97. package/dist/actions/delete-contact.mjs +1 -0
  98. package/dist/actions/delete-contact.mjs.map +1 -1
  99. package/dist/actions/delete-custom-field.cjs +1 -0
  100. package/dist/actions/delete-custom-field.cjs.map +1 -1
  101. package/dist/actions/delete-custom-field.d.cts +3 -15
  102. package/dist/actions/delete-custom-field.d.cts.map +1 -1
  103. package/dist/actions/delete-custom-field.d.mts +3 -15
  104. package/dist/actions/delete-custom-field.d.mts.map +1 -1
  105. package/dist/actions/delete-custom-field.mjs +1 -0
  106. package/dist/actions/delete-custom-field.mjs.map +1 -1
  107. package/dist/actions/delete-list.cjs +1 -0
  108. package/dist/actions/delete-list.cjs.map +1 -1
  109. package/dist/actions/delete-list.d.cts +3 -15
  110. package/dist/actions/delete-list.d.cts.map +1 -1
  111. package/dist/actions/delete-list.d.mts +3 -15
  112. package/dist/actions/delete-list.d.mts.map +1 -1
  113. package/dist/actions/delete-list.mjs +1 -0
  114. package/dist/actions/delete-list.mjs.map +1 -1
  115. package/dist/actions/delete-media.cjs +1 -0
  116. package/dist/actions/delete-media.cjs.map +1 -1
  117. package/dist/actions/delete-media.d.cts +3 -15
  118. package/dist/actions/delete-media.d.cts.map +1 -1
  119. package/dist/actions/delete-media.d.mts +3 -15
  120. package/dist/actions/delete-media.d.mts.map +1 -1
  121. package/dist/actions/delete-media.mjs +1 -0
  122. package/dist/actions/delete-media.mjs.map +1 -1
  123. package/dist/actions/delete-role.cjs +1 -0
  124. package/dist/actions/delete-role.cjs.map +1 -1
  125. package/dist/actions/delete-role.d.cts +3 -15
  126. package/dist/actions/delete-role.d.cts.map +1 -1
  127. package/dist/actions/delete-role.d.mts +3 -15
  128. package/dist/actions/delete-role.d.mts.map +1 -1
  129. package/dist/actions/delete-role.mjs +1 -0
  130. package/dist/actions/delete-role.mjs.map +1 -1
  131. package/dist/actions/delete-template.cjs +1 -0
  132. package/dist/actions/delete-template.cjs.map +1 -1
  133. package/dist/actions/delete-template.d.cts +3 -16
  134. package/dist/actions/delete-template.d.cts.map +1 -1
  135. package/dist/actions/delete-template.d.mts +3 -16
  136. package/dist/actions/delete-template.d.mts.map +1 -1
  137. package/dist/actions/delete-template.mjs +1 -0
  138. package/dist/actions/delete-template.mjs.map +1 -1
  139. package/dist/actions/delete-ticket.cjs +1 -0
  140. package/dist/actions/delete-ticket.cjs.map +1 -1
  141. package/dist/actions/delete-ticket.d.cts +3 -15
  142. package/dist/actions/delete-ticket.d.cts.map +1 -1
  143. package/dist/actions/delete-ticket.d.mts +3 -15
  144. package/dist/actions/delete-ticket.d.mts.map +1 -1
  145. package/dist/actions/delete-ticket.mjs +1 -0
  146. package/dist/actions/delete-ticket.mjs.map +1 -1
  147. package/dist/actions/generate-role-private-key.cjs +1 -0
  148. package/dist/actions/generate-role-private-key.cjs.map +1 -1
  149. package/dist/actions/generate-role-private-key.d.cts +3 -15
  150. package/dist/actions/generate-role-private-key.d.cts.map +1 -1
  151. package/dist/actions/generate-role-private-key.d.mts +3 -15
  152. package/dist/actions/generate-role-private-key.d.mts.map +1 -1
  153. package/dist/actions/generate-role-private-key.mjs +1 -0
  154. package/dist/actions/generate-role-private-key.mjs.map +1 -1
  155. package/dist/actions/get-account-current-report.cjs +1 -0
  156. package/dist/actions/get-account-current-report.cjs.map +1 -1
  157. package/dist/actions/get-account-current-report.d.cts +3 -15
  158. package/dist/actions/get-account-current-report.d.cts.map +1 -1
  159. package/dist/actions/get-account-current-report.d.mts +3 -15
  160. package/dist/actions/get-account-current-report.d.mts.map +1 -1
  161. package/dist/actions/get-account-current-report.mjs +1 -0
  162. package/dist/actions/get-account-current-report.mjs.map +1 -1
  163. package/dist/actions/list-accounts.cjs +1 -0
  164. package/dist/actions/list-accounts.cjs.map +1 -1
  165. package/dist/actions/list-accounts.d.cts +3 -16
  166. package/dist/actions/list-accounts.d.cts.map +1 -1
  167. package/dist/actions/list-accounts.d.mts +3 -16
  168. package/dist/actions/list-accounts.d.mts.map +1 -1
  169. package/dist/actions/list-accounts.mjs +1 -0
  170. package/dist/actions/list-accounts.mjs.map +1 -1
  171. package/dist/actions/list-agencies.cjs +1 -0
  172. package/dist/actions/list-agencies.cjs.map +1 -1
  173. package/dist/actions/list-agencies.d.cts +3 -13
  174. package/dist/actions/list-agencies.d.cts.map +1 -1
  175. package/dist/actions/list-agencies.d.mts +3 -13
  176. package/dist/actions/list-agencies.d.mts.map +1 -1
  177. package/dist/actions/list-agencies.mjs +1 -0
  178. package/dist/actions/list-agencies.mjs.map +1 -1
  179. package/dist/actions/list-automations.cjs +1 -0
  180. package/dist/actions/list-automations.cjs.map +1 -1
  181. package/dist/actions/list-automations.d.cts +3 -17
  182. package/dist/actions/list-automations.d.cts.map +1 -1
  183. package/dist/actions/list-automations.d.mts +3 -17
  184. package/dist/actions/list-automations.d.mts.map +1 -1
  185. package/dist/actions/list-automations.mjs +1 -0
  186. package/dist/actions/list-automations.mjs.map +1 -1
  187. package/dist/actions/list-campaigns.cjs +1 -0
  188. package/dist/actions/list-campaigns.cjs.map +1 -1
  189. package/dist/actions/list-campaigns.d.cts +3 -18
  190. package/dist/actions/list-campaigns.d.cts.map +1 -1
  191. package/dist/actions/list-campaigns.d.mts +3 -18
  192. package/dist/actions/list-campaigns.d.mts.map +1 -1
  193. package/dist/actions/list-campaigns.mjs +1 -0
  194. package/dist/actions/list-campaigns.mjs.map +1 -1
  195. package/dist/actions/list-contacts.cjs +1 -0
  196. package/dist/actions/list-contacts.cjs.map +1 -1
  197. package/dist/actions/list-contacts.d.cts +3 -24
  198. package/dist/actions/list-contacts.d.cts.map +1 -1
  199. package/dist/actions/list-contacts.d.mts +3 -24
  200. package/dist/actions/list-contacts.d.mts.map +1 -1
  201. package/dist/actions/list-contacts.mjs +1 -0
  202. package/dist/actions/list-contacts.mjs.map +1 -1
  203. package/dist/actions/list-custom-fields.cjs +1 -0
  204. package/dist/actions/list-custom-fields.cjs.map +1 -1
  205. package/dist/actions/list-custom-fields.d.cts +3 -16
  206. package/dist/actions/list-custom-fields.d.cts.map +1 -1
  207. package/dist/actions/list-custom-fields.d.mts +3 -16
  208. package/dist/actions/list-custom-fields.d.mts.map +1 -1
  209. package/dist/actions/list-custom-fields.mjs +1 -0
  210. package/dist/actions/list-custom-fields.mjs.map +1 -1
  211. package/dist/actions/list-lists.cjs +1 -0
  212. package/dist/actions/list-lists.cjs.map +1 -1
  213. package/dist/actions/list-lists.d.cts +3 -17
  214. package/dist/actions/list-lists.d.cts.map +1 -1
  215. package/dist/actions/list-lists.d.mts +3 -17
  216. package/dist/actions/list-lists.d.mts.map +1 -1
  217. package/dist/actions/list-lists.mjs +1 -0
  218. package/dist/actions/list-lists.mjs.map +1 -1
  219. package/dist/actions/list-media.cjs +1 -0
  220. package/dist/actions/list-media.cjs.map +1 -1
  221. package/dist/actions/list-media.d.cts +3 -16
  222. package/dist/actions/list-media.d.cts.map +1 -1
  223. package/dist/actions/list-media.d.mts +3 -16
  224. package/dist/actions/list-media.d.mts.map +1 -1
  225. package/dist/actions/list-media.mjs +1 -0
  226. package/dist/actions/list-media.mjs.map +1 -1
  227. package/dist/actions/list-partners.cjs +1 -0
  228. package/dist/actions/list-partners.cjs.map +1 -1
  229. package/dist/actions/list-partners.d.cts +3 -13
  230. package/dist/actions/list-partners.d.cts.map +1 -1
  231. package/dist/actions/list-partners.d.mts +3 -13
  232. package/dist/actions/list-partners.d.mts.map +1 -1
  233. package/dist/actions/list-partners.mjs +1 -0
  234. package/dist/actions/list-partners.mjs.map +1 -1
  235. package/dist/actions/list-reports.cjs +1 -0
  236. package/dist/actions/list-reports.cjs.map +1 -1
  237. package/dist/actions/list-reports.d.cts +3 -19
  238. package/dist/actions/list-reports.d.cts.map +1 -1
  239. package/dist/actions/list-reports.d.mts +3 -19
  240. package/dist/actions/list-reports.d.mts.map +1 -1
  241. package/dist/actions/list-reports.mjs +1 -0
  242. package/dist/actions/list-reports.mjs.map +1 -1
  243. package/dist/actions/list-roles.cjs +1 -0
  244. package/dist/actions/list-roles.cjs.map +1 -1
  245. package/dist/actions/list-roles.d.cts +3 -13
  246. package/dist/actions/list-roles.d.cts.map +1 -1
  247. package/dist/actions/list-roles.d.mts +3 -13
  248. package/dist/actions/list-roles.d.mts.map +1 -1
  249. package/dist/actions/list-roles.mjs +1 -0
  250. package/dist/actions/list-roles.mjs.map +1 -1
  251. package/dist/actions/list-tags.cjs +1 -0
  252. package/dist/actions/list-tags.cjs.map +1 -1
  253. package/dist/actions/list-tags.d.cts +3 -13
  254. package/dist/actions/list-tags.d.cts.map +1 -1
  255. package/dist/actions/list-tags.d.mts +3 -13
  256. package/dist/actions/list-tags.d.mts.map +1 -1
  257. package/dist/actions/list-tags.mjs +1 -0
  258. package/dist/actions/list-tags.mjs.map +1 -1
  259. package/dist/actions/list-templates.cjs +1 -0
  260. package/dist/actions/list-templates.cjs.map +1 -1
  261. package/dist/actions/list-templates.d.cts +3 -15
  262. package/dist/actions/list-templates.d.cts.map +1 -1
  263. package/dist/actions/list-templates.d.mts +3 -15
  264. package/dist/actions/list-templates.d.mts.map +1 -1
  265. package/dist/actions/list-templates.mjs +1 -0
  266. package/dist/actions/list-templates.mjs.map +1 -1
  267. package/dist/actions/list-tickets.cjs +1 -0
  268. package/dist/actions/list-tickets.cjs.map +1 -1
  269. package/dist/actions/list-tickets.d.cts +3 -18
  270. package/dist/actions/list-tickets.d.cts.map +1 -1
  271. package/dist/actions/list-tickets.d.mts +3 -18
  272. package/dist/actions/list-tickets.d.mts.map +1 -1
  273. package/dist/actions/list-tickets.mjs +1 -0
  274. package/dist/actions/list-tickets.mjs.map +1 -1
  275. package/dist/actions/remove-all-list-contacts.cjs +1 -0
  276. package/dist/actions/remove-all-list-contacts.cjs.map +1 -1
  277. package/dist/actions/remove-all-list-contacts.d.cts +3 -15
  278. package/dist/actions/remove-all-list-contacts.d.cts.map +1 -1
  279. package/dist/actions/remove-all-list-contacts.d.mts +3 -15
  280. package/dist/actions/remove-all-list-contacts.d.mts.map +1 -1
  281. package/dist/actions/remove-all-list-contacts.mjs +1 -0
  282. package/dist/actions/remove-all-list-contacts.mjs.map +1 -1
  283. package/dist/actions/remove-contact-operator.cjs +1 -0
  284. package/dist/actions/remove-contact-operator.cjs.map +1 -1
  285. package/dist/actions/remove-contact-operator.d.cts +3 -16
  286. package/dist/actions/remove-contact-operator.d.cts.map +1 -1
  287. package/dist/actions/remove-contact-operator.d.mts +3 -16
  288. package/dist/actions/remove-contact-operator.d.mts.map +1 -1
  289. package/dist/actions/remove-contact-operator.mjs +1 -0
  290. package/dist/actions/remove-contact-operator.mjs.map +1 -1
  291. package/dist/actions/remove-list-contacts.cjs +1 -0
  292. package/dist/actions/remove-list-contacts.cjs.map +1 -1
  293. package/dist/actions/remove-list-contacts.d.cts +3 -16
  294. package/dist/actions/remove-list-contacts.d.cts.map +1 -1
  295. package/dist/actions/remove-list-contacts.d.mts +3 -16
  296. package/dist/actions/remove-list-contacts.d.mts.map +1 -1
  297. package/dist/actions/remove-list-contacts.mjs +1 -0
  298. package/dist/actions/remove-list-contacts.mjs.map +1 -1
  299. package/dist/actions/resend-invitation.cjs +1 -0
  300. package/dist/actions/resend-invitation.cjs.map +1 -1
  301. package/dist/actions/resend-invitation.d.cts +3 -15
  302. package/dist/actions/resend-invitation.d.cts.map +1 -1
  303. package/dist/actions/resend-invitation.d.mts +3 -15
  304. package/dist/actions/resend-invitation.d.mts.map +1 -1
  305. package/dist/actions/resend-invitation.mjs +1 -0
  306. package/dist/actions/resend-invitation.mjs.map +1 -1
  307. package/dist/actions/retrieve-account.cjs +1 -0
  308. package/dist/actions/retrieve-account.cjs.map +1 -1
  309. package/dist/actions/retrieve-account.d.cts +3 -15
  310. package/dist/actions/retrieve-account.d.cts.map +1 -1
  311. package/dist/actions/retrieve-account.d.mts +3 -15
  312. package/dist/actions/retrieve-account.d.mts.map +1 -1
  313. package/dist/actions/retrieve-account.mjs +1 -0
  314. package/dist/actions/retrieve-account.mjs.map +1 -1
  315. package/dist/actions/retrieve-automation.cjs +1 -0
  316. package/dist/actions/retrieve-automation.cjs.map +1 -1
  317. package/dist/actions/retrieve-automation.d.cts +3 -15
  318. package/dist/actions/retrieve-automation.d.cts.map +1 -1
  319. package/dist/actions/retrieve-automation.d.mts +3 -15
  320. package/dist/actions/retrieve-automation.d.mts.map +1 -1
  321. package/dist/actions/retrieve-automation.mjs +1 -0
  322. package/dist/actions/retrieve-automation.mjs.map +1 -1
  323. package/dist/actions/retrieve-contact.cjs +1 -0
  324. package/dist/actions/retrieve-contact.cjs.map +1 -1
  325. package/dist/actions/retrieve-contact.d.cts +3 -15
  326. package/dist/actions/retrieve-contact.d.cts.map +1 -1
  327. package/dist/actions/retrieve-contact.d.mts +3 -15
  328. package/dist/actions/retrieve-contact.d.mts.map +1 -1
  329. package/dist/actions/retrieve-contact.mjs +1 -0
  330. package/dist/actions/retrieve-contact.mjs.map +1 -1
  331. package/dist/actions/retrieve-custom-field.cjs +1 -0
  332. package/dist/actions/retrieve-custom-field.cjs.map +1 -1
  333. package/dist/actions/retrieve-custom-field.d.cts +3 -15
  334. package/dist/actions/retrieve-custom-field.d.cts.map +1 -1
  335. package/dist/actions/retrieve-custom-field.d.mts +3 -15
  336. package/dist/actions/retrieve-custom-field.d.mts.map +1 -1
  337. package/dist/actions/retrieve-custom-field.mjs +1 -0
  338. package/dist/actions/retrieve-custom-field.mjs.map +1 -1
  339. package/dist/actions/retrieve-list.cjs +1 -0
  340. package/dist/actions/retrieve-list.cjs.map +1 -1
  341. package/dist/actions/retrieve-list.d.cts +3 -15
  342. package/dist/actions/retrieve-list.d.cts.map +1 -1
  343. package/dist/actions/retrieve-list.d.mts +3 -15
  344. package/dist/actions/retrieve-list.d.mts.map +1 -1
  345. package/dist/actions/retrieve-list.mjs +1 -0
  346. package/dist/actions/retrieve-list.mjs.map +1 -1
  347. package/dist/actions/retrieve-media.cjs +1 -0
  348. package/dist/actions/retrieve-media.cjs.map +1 -1
  349. package/dist/actions/retrieve-media.d.cts +3 -15
  350. package/dist/actions/retrieve-media.d.cts.map +1 -1
  351. package/dist/actions/retrieve-media.d.mts +3 -15
  352. package/dist/actions/retrieve-media.d.mts.map +1 -1
  353. package/dist/actions/retrieve-media.mjs +1 -0
  354. package/dist/actions/retrieve-media.mjs.map +1 -1
  355. package/dist/actions/retrieve-role.cjs +1 -0
  356. package/dist/actions/retrieve-role.cjs.map +1 -1
  357. package/dist/actions/retrieve-role.d.cts +3 -15
  358. package/dist/actions/retrieve-role.d.cts.map +1 -1
  359. package/dist/actions/retrieve-role.d.mts +3 -15
  360. package/dist/actions/retrieve-role.d.mts.map +1 -1
  361. package/dist/actions/retrieve-role.mjs +1 -0
  362. package/dist/actions/retrieve-role.mjs.map +1 -1
  363. package/dist/actions/retrieve-tag.cjs +1 -0
  364. package/dist/actions/retrieve-tag.cjs.map +1 -1
  365. package/dist/actions/retrieve-tag.d.cts +3 -15
  366. package/dist/actions/retrieve-tag.d.cts.map +1 -1
  367. package/dist/actions/retrieve-tag.d.mts +3 -15
  368. package/dist/actions/retrieve-tag.d.mts.map +1 -1
  369. package/dist/actions/retrieve-tag.mjs +1 -0
  370. package/dist/actions/retrieve-tag.mjs.map +1 -1
  371. package/dist/actions/retrieve-template.cjs +1 -0
  372. package/dist/actions/retrieve-template.cjs.map +1 -1
  373. package/dist/actions/retrieve-template.d.cts +3 -15
  374. package/dist/actions/retrieve-template.d.cts.map +1 -1
  375. package/dist/actions/retrieve-template.d.mts +3 -15
  376. package/dist/actions/retrieve-template.d.mts.map +1 -1
  377. package/dist/actions/retrieve-template.mjs +1 -0
  378. package/dist/actions/retrieve-template.mjs.map +1 -1
  379. package/dist/actions/revert-template-to-draft.cjs +1 -0
  380. package/dist/actions/revert-template-to-draft.cjs.map +1 -1
  381. package/dist/actions/revert-template-to-draft.d.cts +3 -15
  382. package/dist/actions/revert-template-to-draft.d.cts.map +1 -1
  383. package/dist/actions/revert-template-to-draft.d.mts +3 -15
  384. package/dist/actions/revert-template-to-draft.d.mts.map +1 -1
  385. package/dist/actions/revert-template-to-draft.mjs +1 -0
  386. package/dist/actions/revert-template-to-draft.mjs.map +1 -1
  387. package/dist/actions/sync-contacts-bulk.cjs +1 -0
  388. package/dist/actions/sync-contacts-bulk.cjs.map +1 -1
  389. package/dist/actions/sync-contacts-bulk.d.cts +3 -23
  390. package/dist/actions/sync-contacts-bulk.d.cts.map +1 -1
  391. package/dist/actions/sync-contacts-bulk.d.mts +3 -23
  392. package/dist/actions/sync-contacts-bulk.d.mts.map +1 -1
  393. package/dist/actions/sync-contacts-bulk.mjs +1 -0
  394. package/dist/actions/sync-contacts-bulk.mjs.map +1 -1
  395. package/dist/actions/sync-list-contacts.cjs +1 -0
  396. package/dist/actions/sync-list-contacts.cjs.map +1 -1
  397. package/dist/actions/sync-list-contacts.d.cts +3 -24
  398. package/dist/actions/sync-list-contacts.d.cts.map +1 -1
  399. package/dist/actions/sync-list-contacts.d.mts +3 -24
  400. package/dist/actions/sync-list-contacts.d.mts.map +1 -1
  401. package/dist/actions/sync-list-contacts.mjs +1 -0
  402. package/dist/actions/sync-list-contacts.mjs.map +1 -1
  403. package/dist/actions/update-campaign.cjs +1 -0
  404. package/dist/actions/update-campaign.cjs.map +1 -1
  405. package/dist/actions/update-campaign.d.cts +3 -18
  406. package/dist/actions/update-campaign.d.cts.map +1 -1
  407. package/dist/actions/update-campaign.d.mts +3 -18
  408. package/dist/actions/update-campaign.d.mts.map +1 -1
  409. package/dist/actions/update-campaign.mjs +1 -0
  410. package/dist/actions/update-campaign.mjs.map +1 -1
  411. package/dist/actions/update-contact.cjs +1 -0
  412. package/dist/actions/update-contact.cjs.map +1 -1
  413. package/dist/actions/update-contact.d.cts +3 -21
  414. package/dist/actions/update-contact.d.cts.map +1 -1
  415. package/dist/actions/update-contact.d.mts +3 -21
  416. package/dist/actions/update-contact.d.mts.map +1 -1
  417. package/dist/actions/update-contact.mjs +1 -0
  418. package/dist/actions/update-contact.mjs.map +1 -1
  419. package/dist/actions/update-custom-field.cjs +1 -0
  420. package/dist/actions/update-custom-field.cjs.map +1 -1
  421. package/dist/actions/update-custom-field.d.cts +3 -16
  422. package/dist/actions/update-custom-field.d.cts.map +1 -1
  423. package/dist/actions/update-custom-field.d.mts +3 -16
  424. package/dist/actions/update-custom-field.d.mts.map +1 -1
  425. package/dist/actions/update-custom-field.mjs +1 -0
  426. package/dist/actions/update-custom-field.mjs.map +1 -1
  427. package/dist/actions/update-invitation-role.cjs +1 -0
  428. package/dist/actions/update-invitation-role.cjs.map +1 -1
  429. package/dist/actions/update-invitation-role.d.cts +3 -16
  430. package/dist/actions/update-invitation-role.d.cts.map +1 -1
  431. package/dist/actions/update-invitation-role.d.mts +3 -16
  432. package/dist/actions/update-invitation-role.d.mts.map +1 -1
  433. package/dist/actions/update-invitation-role.mjs +1 -0
  434. package/dist/actions/update-invitation-role.mjs.map +1 -1
  435. package/dist/actions/update-media.cjs +1 -0
  436. package/dist/actions/update-media.cjs.map +1 -1
  437. package/dist/actions/update-media.d.cts +3 -16
  438. package/dist/actions/update-media.d.cts.map +1 -1
  439. package/dist/actions/update-media.d.mts +3 -16
  440. package/dist/actions/update-media.d.mts.map +1 -1
  441. package/dist/actions/update-media.mjs +1 -0
  442. package/dist/actions/update-media.mjs.map +1 -1
  443. package/dist/actions/update-role.cjs +1 -0
  444. package/dist/actions/update-role.cjs.map +1 -1
  445. package/dist/actions/update-role.d.cts +3 -16
  446. package/dist/actions/update-role.d.cts.map +1 -1
  447. package/dist/actions/update-role.d.mts +3 -16
  448. package/dist/actions/update-role.d.mts.map +1 -1
  449. package/dist/actions/update-role.mjs +1 -0
  450. package/dist/actions/update-role.mjs.map +1 -1
  451. package/dist/actions/update-template.cjs +1 -0
  452. package/dist/actions/update-template.cjs.map +1 -1
  453. package/dist/actions/update-template.d.cts +3 -46
  454. package/dist/actions/update-template.d.cts.map +1 -1
  455. package/dist/actions/update-template.d.mts +3 -46
  456. package/dist/actions/update-template.d.mts.map +1 -1
  457. package/dist/actions/update-template.mjs +1 -0
  458. package/dist/actions/update-template.mjs.map +1 -1
  459. package/dist/app.cjs +2 -2
  460. package/dist/app.cjs.map +1 -1
  461. package/dist/app.d.cts +4 -6
  462. package/dist/app.d.cts.map +1 -1
  463. package/dist/app.d.mts +4 -6
  464. package/dist/app.d.mts.map +1 -1
  465. package/dist/app.mjs +0 -1
  466. package/dist/app.mjs.map +1 -1
  467. package/dist/index.d.cts +1 -1
  468. package/dist/index.d.mts +1 -1
  469. package/package.json +2 -2
@@ -1,3 +1,5 @@
1
+ import { spoki } from "../app.mjs";
2
+ import { AppAction } from "@keystrokehq/keystroke/app";
1
3
  import { z } from "zod";
2
4
 
3
5
  //#region src/actions/retrieve-template.d.ts
@@ -43,21 +45,7 @@ declare const SpokiRetrieveTemplateOutput: z.ZodObject<{
43
45
  }, z.core.$loose>>>;
44
46
  }, z.core.$loose>>;
45
47
  }, z.core.$loose>;
46
- declare const spokiRetrieveTemplate: import("@keystrokehq/action").WorkflowActionDefinition<{
47
- template_id: number;
48
- }, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential<"spoki", z.ZodObject<{
49
- connectionId: z.ZodString;
50
- entityId: z.ZodString;
51
- instanceId: z.ZodString;
52
- }, z.core.$strip>, z.ZodObject<{
53
- generic_api_key: z.ZodString;
54
- }, z.core.$strip>>]>, readonly [import("@keystrokehq/shared").Credential<"spoki", z.ZodObject<{
55
- connectionId: z.ZodString;
56
- entityId: z.ZodString;
57
- instanceId: z.ZodString;
58
- }, z.core.$strip>, z.ZodObject<{
59
- generic_api_key: z.ZodString;
60
- }, z.core.$strip>>]>;
48
+ declare const spokiRetrieveTemplate: AppAction<typeof SpokiRetrieveTemplateInput, typeof SpokiRetrieveTemplateOutput, typeof spoki.credential>;
61
49
  //#endregion
62
50
  export { spokiRetrieveTemplate };
63
51
  //# sourceMappingURL=retrieve-template.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"retrieve-template.d.mts","names":[],"sources":["../../src/actions/retrieve-template.ts"],"mappings":";;;cAIa,0BAAA,EAA0B,CAAA,CAAA,SAAA;;;cA6B1B,2BAAA,EAA2B,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAU3B,qBAAA,gCAAqB,wBAAA"}
1
+ {"version":3,"file":"retrieve-template.d.mts","names":[],"sources":["../../src/actions/retrieve-template.ts"],"mappings":";;;;;cAMa,0BAAA,EAA0B,CAAA,CAAA,SAAA;;;cA6B1B,2BAAA,EAA2B,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAU3B,qBAAA,EAAuB,SAAA,QAC3B,0BAAA,SACA,2BAAA,SACA,KAAA,CAAM,UAAA"}
@@ -1,3 +1,4 @@
1
+ import "../app.mjs";
1
2
  import { action } from "../action.mjs";
2
3
  import { z } from "zod";
3
4
  //#region src/actions/retrieve-template.ts
@@ -1 +1 @@
1
- {"version":3,"file":"retrieve-template.mjs","names":[],"sources":["../../src/actions/retrieve-template.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const SpokiRetrieveTemplateInput = z.object({\n template_id: z.number().int().describe(\"Unique identifier of the template to retrieve\"),\n}).describe(\"Request model for retrieving a specific template.\");\nconst SpokiRetrieveTemplate_TemplateComponentSchema = z.object({\n text: z.string().describe(\"Text content of the component\").nullable(),\n format: z.string().describe(\"Format of the component, e.g., 'text'\").nullable().optional(),\n component_type: z.string().describe(\"Type of the component, e.g., 'body'\").nullable(),\n}).passthrough().describe(\"Component for template parts such as header, body, footer.\");\nconst SpokiRetrieveTemplate_TemplateButtonSchema = z.object({\n url: z.string().describe(\"URL for link button, if applicable\").nullable().optional(),\n text: z.string().describe(\"Text displayed on the button\").nullable(),\n order: z.number().int().describe(\"Order index of the button\").nullable(),\n button_type: z.string().describe(\"Type of button, e.g., 'quick_reply'\").nullable(),\n phone_number: z.string().describe(\"Phone number for call button, if applicable\").nullable().optional(),\n}).passthrough().describe(\"Button definition within a template localization.\");\nconst SpokiRetrieveTemplate_MediaSchema = z.object({\n url: z.string().describe(\"Media URL resource\").nullable(),\n filename: z.string().describe(\"Filename of the media resource\").nullable(),\n}).passthrough().describe(\"Media information for dynamic headers.\");\nconst SpokiRetrieveTemplate_TemplateLocalizationSchema = z.object({\n body: SpokiRetrieveTemplate_TemplateComponentSchema.nullable(),\n footer: SpokiRetrieveTemplate_TemplateComponentSchema.nullable().optional(),\n header: SpokiRetrieveTemplate_TemplateComponentSchema.nullable().optional(),\n status: z.string().describe(\"Approval status of this localization\").nullable(),\n language: z.string().describe(\"Language code of this localization, e.g., 'it'\").nullable(),\n button_set: z.array(SpokiRetrieveTemplate_TemplateButtonSchema).describe(\"List of buttons defined for this localization\"),\n rejection_reason: z.string().describe(\"Reason for rejection, if any\").nullable().optional(),\n default_header_media: SpokiRetrieveTemplate_MediaSchema.nullable().optional(),\n}).passthrough().describe(\"Localization details for a template.\");\nexport const SpokiRetrieveTemplateOutput = z.object({\n id: z.number().int().describe(\"Template unique identifier\").nullable(),\n name: z.string().describe(\"Template name\").nullable(),\n category: z.string().describe(\"Template category, e.g., 'ACCOUNT_UPDATE'\").nullable(),\n is_approved: z.boolean().describe(\"Whether the template is approved\").nullable(),\n is_favorite: z.boolean().describe(\"Whether the template is marked as favorite\").nullable(),\n customfield_set: z.array(z.string()).describe(\"List of dynamic field codes used in the template\"),\n templatelocalization_set: z.array(SpokiRetrieveTemplate_TemplateLocalizationSchema).describe(\"Localizations available for this template\"),\n}).passthrough().describe(\"Full representation of a template returned by Spoki.\");\n\nexport const spokiRetrieveTemplate = action(\"SPOKI_RETRIEVE_TEMPLATE\", {\n slug: \"spoki-retrieve-template\",\n name: \"Retrieve Template\",\n description: \"Tool to retrieve details of a specific template. Use after obtaining a template ID.\",\n input: SpokiRetrieveTemplateInput,\n output: SpokiRetrieveTemplateOutput,\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"retrieve-template.mjs","names":[],"sources":["../../src/actions/retrieve-template.ts"],"sourcesContent":["import type { AppAction } from \"@keystrokehq/keystroke/app\";\nimport { z } from \"zod\";\n\nimport { action } from \"../action\";\nimport { spoki } from \"../app\";\n\nexport const SpokiRetrieveTemplateInput = z.object({\n template_id: z.number().int().describe(\"Unique identifier of the template to retrieve\"),\n}).describe(\"Request model for retrieving a specific template.\");\nconst SpokiRetrieveTemplate_TemplateComponentSchema = z.object({\n text: z.string().describe(\"Text content of the component\").nullable(),\n format: z.string().describe(\"Format of the component, e.g., 'text'\").nullable().optional(),\n component_type: z.string().describe(\"Type of the component, e.g., 'body'\").nullable(),\n}).passthrough().describe(\"Component for template parts such as header, body, footer.\");\nconst SpokiRetrieveTemplate_TemplateButtonSchema = z.object({\n url: z.string().describe(\"URL for link button, if applicable\").nullable().optional(),\n text: z.string().describe(\"Text displayed on the button\").nullable(),\n order: z.number().int().describe(\"Order index of the button\").nullable(),\n button_type: z.string().describe(\"Type of button, e.g., 'quick_reply'\").nullable(),\n phone_number: z.string().describe(\"Phone number for call button, if applicable\").nullable().optional(),\n}).passthrough().describe(\"Button definition within a template localization.\");\nconst SpokiRetrieveTemplate_MediaSchema = z.object({\n url: z.string().describe(\"Media URL resource\").nullable(),\n filename: z.string().describe(\"Filename of the media resource\").nullable(),\n}).passthrough().describe(\"Media information for dynamic headers.\");\nconst SpokiRetrieveTemplate_TemplateLocalizationSchema = z.object({\n body: SpokiRetrieveTemplate_TemplateComponentSchema.nullable(),\n footer: SpokiRetrieveTemplate_TemplateComponentSchema.nullable().optional(),\n header: SpokiRetrieveTemplate_TemplateComponentSchema.nullable().optional(),\n status: z.string().describe(\"Approval status of this localization\").nullable(),\n language: z.string().describe(\"Language code of this localization, e.g., 'it'\").nullable(),\n button_set: z.array(SpokiRetrieveTemplate_TemplateButtonSchema).describe(\"List of buttons defined for this localization\"),\n rejection_reason: z.string().describe(\"Reason for rejection, if any\").nullable().optional(),\n default_header_media: SpokiRetrieveTemplate_MediaSchema.nullable().optional(),\n}).passthrough().describe(\"Localization details for a template.\");\nexport const SpokiRetrieveTemplateOutput = z.object({\n id: z.number().int().describe(\"Template unique identifier\").nullable(),\n name: z.string().describe(\"Template name\").nullable(),\n category: z.string().describe(\"Template category, e.g., 'ACCOUNT_UPDATE'\").nullable(),\n is_approved: z.boolean().describe(\"Whether the template is approved\").nullable(),\n is_favorite: z.boolean().describe(\"Whether the template is marked as favorite\").nullable(),\n customfield_set: z.array(z.string()).describe(\"List of dynamic field codes used in the template\"),\n templatelocalization_set: z.array(SpokiRetrieveTemplate_TemplateLocalizationSchema).describe(\"Localizations available for this template\"),\n}).passthrough().describe(\"Full representation of a template returned by Spoki.\");\n\nexport const spokiRetrieveTemplate: AppAction<\n typeof SpokiRetrieveTemplateInput,\n typeof SpokiRetrieveTemplateOutput,\n typeof spoki.credential\n> = action(\"SPOKI_RETRIEVE_TEMPLATE\", {\n slug: \"spoki-retrieve-template\",\n name: \"Retrieve Template\",\n description: \"Tool to retrieve details of a specific template. Use after obtaining a template ID.\",\n input: SpokiRetrieveTemplateInput,\n output: SpokiRetrieveTemplateOutput,\n});\n"],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ require("../app.cjs");
1
2
  const require_action = require("../action.cjs");
2
3
  let zod = require("zod");
3
4
  //#region src/actions/revert-template-to-draft.ts
@@ -1 +1 @@
1
- {"version":3,"file":"revert-template-to-draft.cjs","names":["z","action"],"sources":["../../src/actions/revert-template-to-draft.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const SpokiRevertTemplateToDraftInput = z.object({\n template_id: z.number().int().describe(\"Unique identifier of the template to revert to DRAFT status\"),\n}).describe(\"Request model for reverting a template back to DRAFT status.\");\nexport const SpokiRevertTemplateToDraftOutput = z.object({\n status: z.string().describe(\"Status of the operation, typically 'ok'\").nullable(),\n}).passthrough().describe(\"Response model for revert template to draft operation.\");\n\nexport const spokiRevertTemplateToDraft = action(\"SPOKI_REVERT_TEMPLATE_TO_DRAFT\", {\n slug: \"spoki-revert-template-to-draft\",\n name: \"Revert Template to Draft\",\n description: \"Tool to revert a WhatsApp template back to DRAFT status, removing it from WhatsApp. Use when you need to unpublish a template and return it to draft mode for editing.\",\n input: SpokiRevertTemplateToDraftInput,\n output: SpokiRevertTemplateToDraftOutput,\n});\n"],"mappings":";;;AAIA,MAAa,kCAAkCA,IAAAA,EAAE,OAAO,EACtD,aAAaA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,6DAA6D,EACtG,CAAC,CAAC,CAAC,SAAS,8DAA8D;AAC1E,MAAa,mCAAmCA,IAAAA,EAAE,OAAO,EACvD,QAAQA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,yCAAyC,CAAC,CAAC,SAAS,EAClF,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,wDAAwD;AAElF,MAAa,6BAA6BC,eAAAA,OAAO,kCAAkC;CACjF,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAAQ;AACV,CAAC"}
1
+ {"version":3,"file":"revert-template-to-draft.cjs","names":["z","action"],"sources":["../../src/actions/revert-template-to-draft.ts"],"sourcesContent":["import type { AppAction } from \"@keystrokehq/keystroke/app\";\nimport { z } from \"zod\";\n\nimport { action } from \"../action\";\nimport { spoki } from \"../app\";\n\nexport const SpokiRevertTemplateToDraftInput = z.object({\n template_id: z.number().int().describe(\"Unique identifier of the template to revert to DRAFT status\"),\n}).describe(\"Request model for reverting a template back to DRAFT status.\");\nexport const SpokiRevertTemplateToDraftOutput = z.object({\n status: z.string().describe(\"Status of the operation, typically 'ok'\").nullable(),\n}).passthrough().describe(\"Response model for revert template to draft operation.\");\n\nexport const spokiRevertTemplateToDraft: AppAction<\n typeof SpokiRevertTemplateToDraftInput,\n typeof SpokiRevertTemplateToDraftOutput,\n typeof spoki.credential\n> = action(\"SPOKI_REVERT_TEMPLATE_TO_DRAFT\", {\n slug: \"spoki-revert-template-to-draft\",\n name: \"Revert Template to Draft\",\n description: \"Tool to revert a WhatsApp template back to DRAFT status, removing it from WhatsApp. Use when you need to unpublish a template and return it to draft mode for editing.\",\n input: SpokiRevertTemplateToDraftInput,\n output: SpokiRevertTemplateToDraftOutput,\n});\n"],"mappings":";;;;AAMA,MAAa,kCAAkCA,IAAAA,EAAE,OAAO,EACtD,aAAaA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,6DAA6D,EACtG,CAAC,CAAC,CAAC,SAAS,8DAA8D;AAC1E,MAAa,mCAAmCA,IAAAA,EAAE,OAAO,EACvD,QAAQA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,yCAAyC,CAAC,CAAC,SAAS,EAClF,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,wDAAwD;AAElF,MAAa,6BAITC,eAAAA,OAAO,kCAAkC;CAC3C,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAAQ;AACV,CAAC"}
@@ -1,3 +1,5 @@
1
+ import { spoki } from "../app.cjs";
2
+ import { AppAction } from "@keystrokehq/keystroke/app";
1
3
  import { z } from "zod";
2
4
 
3
5
  //#region src/actions/revert-template-to-draft.d.ts
@@ -7,21 +9,7 @@ declare const SpokiRevertTemplateToDraftInput: z.ZodObject<{
7
9
  declare const SpokiRevertTemplateToDraftOutput: z.ZodObject<{
8
10
  status: z.ZodNullable<z.ZodString>;
9
11
  }, z.core.$loose>;
10
- declare const spokiRevertTemplateToDraft: import("@keystrokehq/action").WorkflowActionDefinition<{
11
- template_id: number;
12
- }, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential<"spoki", z.ZodObject<{
13
- connectionId: z.ZodString;
14
- entityId: z.ZodString;
15
- instanceId: z.ZodString;
16
- }, z.core.$strip>, z.ZodObject<{
17
- generic_api_key: z.ZodString;
18
- }, z.core.$strip>>]>, readonly [import("@keystrokehq/shared").Credential<"spoki", z.ZodObject<{
19
- connectionId: z.ZodString;
20
- entityId: z.ZodString;
21
- instanceId: z.ZodString;
22
- }, z.core.$strip>, z.ZodObject<{
23
- generic_api_key: z.ZodString;
24
- }, z.core.$strip>>]>;
12
+ declare const spokiRevertTemplateToDraft: AppAction<typeof SpokiRevertTemplateToDraftInput, typeof SpokiRevertTemplateToDraftOutput, typeof spoki.credential>;
25
13
  //#endregion
26
14
  export { spokiRevertTemplateToDraft };
27
15
  //# sourceMappingURL=revert-template-to-draft.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"revert-template-to-draft.d.cts","names":[],"sources":["../../src/actions/revert-template-to-draft.ts"],"mappings":";;;cAIa,+BAAA,EAA+B,CAAA,CAAA,SAAA;;;cAG/B,gCAAA,EAAgC,CAAA,CAAA,SAAA;;;cAIhC,0BAAA,gCAA0B,wBAAA"}
1
+ {"version":3,"file":"revert-template-to-draft.d.cts","names":[],"sources":["../../src/actions/revert-template-to-draft.ts"],"mappings":";;;;;cAMa,+BAAA,EAA+B,CAAA,CAAA,SAAA;;;cAG/B,gCAAA,EAAgC,CAAA,CAAA,SAAA;;;cAIhC,0BAAA,EAA4B,SAAA,QAChC,+BAAA,SACA,gCAAA,SACA,KAAA,CAAM,UAAA"}
@@ -1,3 +1,5 @@
1
+ import { spoki } from "../app.mjs";
2
+ import { AppAction } from "@keystrokehq/keystroke/app";
1
3
  import { z } from "zod";
2
4
 
3
5
  //#region src/actions/revert-template-to-draft.d.ts
@@ -7,21 +9,7 @@ declare const SpokiRevertTemplateToDraftInput: z.ZodObject<{
7
9
  declare const SpokiRevertTemplateToDraftOutput: z.ZodObject<{
8
10
  status: z.ZodNullable<z.ZodString>;
9
11
  }, z.core.$loose>;
10
- declare const spokiRevertTemplateToDraft: import("@keystrokehq/action").WorkflowActionDefinition<{
11
- template_id: number;
12
- }, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential<"spoki", z.ZodObject<{
13
- connectionId: z.ZodString;
14
- entityId: z.ZodString;
15
- instanceId: z.ZodString;
16
- }, z.core.$strip>, z.ZodObject<{
17
- generic_api_key: z.ZodString;
18
- }, z.core.$strip>>]>, readonly [import("@keystrokehq/shared").Credential<"spoki", z.ZodObject<{
19
- connectionId: z.ZodString;
20
- entityId: z.ZodString;
21
- instanceId: z.ZodString;
22
- }, z.core.$strip>, z.ZodObject<{
23
- generic_api_key: z.ZodString;
24
- }, z.core.$strip>>]>;
12
+ declare const spokiRevertTemplateToDraft: AppAction<typeof SpokiRevertTemplateToDraftInput, typeof SpokiRevertTemplateToDraftOutput, typeof spoki.credential>;
25
13
  //#endregion
26
14
  export { spokiRevertTemplateToDraft };
27
15
  //# sourceMappingURL=revert-template-to-draft.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"revert-template-to-draft.d.mts","names":[],"sources":["../../src/actions/revert-template-to-draft.ts"],"mappings":";;;cAIa,+BAAA,EAA+B,CAAA,CAAA,SAAA;;;cAG/B,gCAAA,EAAgC,CAAA,CAAA,SAAA;;;cAIhC,0BAAA,gCAA0B,wBAAA"}
1
+ {"version":3,"file":"revert-template-to-draft.d.mts","names":[],"sources":["../../src/actions/revert-template-to-draft.ts"],"mappings":";;;;;cAMa,+BAAA,EAA+B,CAAA,CAAA,SAAA;;;cAG/B,gCAAA,EAAgC,CAAA,CAAA,SAAA;;;cAIhC,0BAAA,EAA4B,SAAA,QAChC,+BAAA,SACA,gCAAA,SACA,KAAA,CAAM,UAAA"}
@@ -1,3 +1,4 @@
1
+ import "../app.mjs";
1
2
  import { action } from "../action.mjs";
2
3
  import { z } from "zod";
3
4
  const spokiRevertTemplateToDraft = action("SPOKI_REVERT_TEMPLATE_TO_DRAFT", {
@@ -1 +1 @@
1
- {"version":3,"file":"revert-template-to-draft.mjs","names":[],"sources":["../../src/actions/revert-template-to-draft.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const SpokiRevertTemplateToDraftInput = z.object({\n template_id: z.number().int().describe(\"Unique identifier of the template to revert to DRAFT status\"),\n}).describe(\"Request model for reverting a template back to DRAFT status.\");\nexport const SpokiRevertTemplateToDraftOutput = z.object({\n status: z.string().describe(\"Status of the operation, typically 'ok'\").nullable(),\n}).passthrough().describe(\"Response model for revert template to draft operation.\");\n\nexport const spokiRevertTemplateToDraft = action(\"SPOKI_REVERT_TEMPLATE_TO_DRAFT\", {\n slug: \"spoki-revert-template-to-draft\",\n name: \"Revert Template to Draft\",\n description: \"Tool to revert a WhatsApp template back to DRAFT status, removing it from WhatsApp. Use when you need to unpublish a template and return it to draft mode for editing.\",\n input: SpokiRevertTemplateToDraftInput,\n output: SpokiRevertTemplateToDraftOutput,\n});\n"],"mappings":";;AAWA,MAAa,6BAA6B,OAAO,kCAAkC;CACjF,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAX6C,EAAE,OAAO,EACtD,aAAa,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,6DAA6D,EACtG,CAAC,CAAC,CAAC,SAAS,8DASH;CACP,QAT8C,EAAE,OAAO,EACvD,QAAQ,EAAE,OAAO,CAAC,CAAC,SAAS,yCAAyC,CAAC,CAAC,SAAS,EAClF,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,wDAOhB;AACV,CAAC"}
1
+ {"version":3,"file":"revert-template-to-draft.mjs","names":[],"sources":["../../src/actions/revert-template-to-draft.ts"],"sourcesContent":["import type { AppAction } from \"@keystrokehq/keystroke/app\";\nimport { z } from \"zod\";\n\nimport { action } from \"../action\";\nimport { spoki } from \"../app\";\n\nexport const SpokiRevertTemplateToDraftInput = z.object({\n template_id: z.number().int().describe(\"Unique identifier of the template to revert to DRAFT status\"),\n}).describe(\"Request model for reverting a template back to DRAFT status.\");\nexport const SpokiRevertTemplateToDraftOutput = z.object({\n status: z.string().describe(\"Status of the operation, typically 'ok'\").nullable(),\n}).passthrough().describe(\"Response model for revert template to draft operation.\");\n\nexport const spokiRevertTemplateToDraft: AppAction<\n typeof SpokiRevertTemplateToDraftInput,\n typeof SpokiRevertTemplateToDraftOutput,\n typeof spoki.credential\n> = action(\"SPOKI_REVERT_TEMPLATE_TO_DRAFT\", {\n slug: \"spoki-revert-template-to-draft\",\n name: \"Revert Template to Draft\",\n description: \"Tool to revert a WhatsApp template back to DRAFT status, removing it from WhatsApp. Use when you need to unpublish a template and return it to draft mode for editing.\",\n input: SpokiRevertTemplateToDraftInput,\n output: SpokiRevertTemplateToDraftOutput,\n});\n"],"mappings":";;;AAaA,MAAa,6BAIT,OAAO,kCAAkC;CAC3C,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAf6C,EAAE,OAAO,EACtD,aAAa,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,6DAA6D,EACtG,CAAC,CAAC,CAAC,SAAS,8DAaH;CACP,QAb8C,EAAE,OAAO,EACvD,QAAQ,EAAE,OAAO,CAAC,CAAC,SAAS,yCAAyC,CAAC,CAAC,SAAS,EAClF,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,wDAWhB;AACV,CAAC"}
@@ -1,3 +1,4 @@
1
+ require("../app.cjs");
1
2
  const require_action = require("../action.cjs");
2
3
  let zod = require("zod");
3
4
  //#region src/actions/sync-contacts-bulk.ts
@@ -1 +1 @@
1
- {"version":3,"file":"sync-contacts-bulk.cjs","names":["z","action"],"sources":["../../src/actions/sync-contacts-bulk.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const SpokiSyncContactsBulkInput = z.object({\n contacts: z.array(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}).passthrough().describe(\"Single contact object for bulk sync operation.\")).describe(\"List of contact objects to sync. Each contact will be created if new or updated if the phone number already exists. Maximum recommended: 100 contacts per request due to rate limits\"),\n}).describe(\"Request to bulk sync (create or update) multiple contacts.\");\nconst SpokiSyncContactsBulk_ErrorDetailSchema = z.object({\n error: z.string().describe(\"Error message\").nullable().optional(),\n phone: z.string().describe(\"Phone number that caused the error\").nullable().optional(),\n}).passthrough().describe(\"Error details for failed contact sync.\");\nconst SpokiSyncContactsBulk_SyncedContactSchema = 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().describe(\"Contact object returned after successful sync.\");\nexport const SpokiSyncContactsBulkOutput = z.object({\n errors: z.array(SpokiSyncContactsBulk_ErrorDetailSchema).describe(\"List of errors that occurred during sync. Each error contains details about which contact failed and why\").nullable().optional(),\n contacts: z.array(SpokiSyncContactsBulk_SyncedContactSchema).describe(\"List of successfully synced contacts with their details\").nullable().optional(),\n}).passthrough().describe(\"Response from bulk sync operation.\");\n\nexport const spokiSyncContactsBulk = action(\"SPOKI_SYNC_CONTACTS_BULK\", {\n slug: \"spoki-sync-contacts-bulk\",\n name: \"Bulk Sync Contacts\",\n description: \"Tool to bulk sync (create or update) multiple contacts in a single request. Rate limit: 1 request per minute. This action performs bulk \\\"upsert\\\" operations: - 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 when you need to: - Import multiple contacts from external systems - Synchronize contact lists in bulk - Efficiently create or update many contacts at once IMPORTANT: Do not use this action to update contacts before initiating an automation. The strict rate limit (1/min) makes it unsuitable for automation workflows.\",\n input: SpokiSyncContactsBulkInput,\n output: SpokiSyncContactsBulkOutput,\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"sync-contacts-bulk.cjs","names":["z","action"],"sources":["../../src/actions/sync-contacts-bulk.ts"],"sourcesContent":["import type { AppAction } from \"@keystrokehq/keystroke/app\";\nimport { z } from \"zod\";\n\nimport { action } from \"../action\";\nimport { spoki } from \"../app\";\n\nexport const SpokiSyncContactsBulkInput = z.object({\n contacts: z.array(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}).passthrough().describe(\"Single contact object for bulk sync operation.\")).describe(\"List of contact objects to sync. Each contact will be created if new or updated if the phone number already exists. Maximum recommended: 100 contacts per request due to rate limits\"),\n}).describe(\"Request to bulk sync (create or update) multiple contacts.\");\nconst SpokiSyncContactsBulk_ErrorDetailSchema = z.object({\n error: z.string().describe(\"Error message\").nullable().optional(),\n phone: z.string().describe(\"Phone number that caused the error\").nullable().optional(),\n}).passthrough().describe(\"Error details for failed contact sync.\");\nconst SpokiSyncContactsBulk_SyncedContactSchema = 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().describe(\"Contact object returned after successful sync.\");\nexport const SpokiSyncContactsBulkOutput = z.object({\n errors: z.array(SpokiSyncContactsBulk_ErrorDetailSchema).describe(\"List of errors that occurred during sync. Each error contains details about which contact failed and why\").nullable().optional(),\n contacts: z.array(SpokiSyncContactsBulk_SyncedContactSchema).describe(\"List of successfully synced contacts with their details\").nullable().optional(),\n}).passthrough().describe(\"Response from bulk sync operation.\");\n\nexport const spokiSyncContactsBulk: AppAction<\n typeof SpokiSyncContactsBulkInput,\n typeof SpokiSyncContactsBulkOutput,\n typeof spoki.credential\n> = action(\"SPOKI_SYNC_CONTACTS_BULK\", {\n slug: \"spoki-sync-contacts-bulk\",\n name: \"Bulk Sync Contacts\",\n description: \"Tool to bulk sync (create or update) multiple contacts in a single request. Rate limit: 1 request per minute. This action performs bulk \\\"upsert\\\" operations: - 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 when you need to: - Import multiple contacts from external systems - Synchronize contact lists in bulk - Efficiently create or update many contacts at once IMPORTANT: Do not use this action to update contacts before initiating an automation. The strict rate limit (1/min) makes it unsuitable for automation workflows.\",\n input: SpokiSyncContactsBulkInput,\n output: SpokiSyncContactsBulkOutput,\n});\n"],"mappings":";;;;AAMA,MAAa,6BAA6BA,IAAAA,EAAE,OAAO,EACjD,UAAUA,IAAAA,EAAE,MAAMA,IAAAA,EAAE,OAAO;CAC3B,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,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,gDAAgD,CAAC,CAAC,CAAC,SAAS,sLAAsL,EAC5Q,CAAC,CAAC,CAAC,SAAS,4DAA4D;AACxE,MAAM,0CAA0CA,IAAAA,EAAE,OAAO;CACvD,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,eAAe,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAChE,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,oCAAoC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AACvF,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,wCAAwC;AAClE,MAAM,4CAA4CA,IAAAA,EAAE,OAAO;CACzD,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,CAAC,CAAC,SAAS,gDAAgD;AAC1E,MAAa,8BAA8BA,IAAAA,EAAE,OAAO;CAClD,QAAQA,IAAAA,EAAE,MAAM,uCAAuC,CAAC,CAAC,SAAS,0GAA0G,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAClM,UAAUA,IAAAA,EAAE,MAAM,yCAAyC,CAAC,CAAC,SAAS,yDAAyD,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AACvJ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,oCAAoC;AAE9D,MAAa,wBAITC,eAAAA,OAAO,4BAA4B;CACrC,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAAQ;AACV,CAAC"}
@@ -1,3 +1,5 @@
1
+ import { spoki } from "../app.cjs";
2
+ import { AppAction } from "@keystrokehq/keystroke/app";
1
3
  import { z } from "zod";
2
4
 
3
5
  //#region src/actions/sync-contacts-bulk.d.ts
@@ -31,29 +33,7 @@ declare const SpokiSyncContactsBulkOutput: z.ZodObject<{
31
33
  is_first_message_sent: z.ZodNullable<z.ZodBoolean>;
32
34
  }, z.core.$loose>>>>;
33
35
  }, z.core.$loose>;
34
- declare const spokiSyncContactsBulk: import("@keystrokehq/action").WorkflowActionDefinition<{
35
- contacts: {
36
- [x: string]: unknown;
37
- phone: string;
38
- email?: string | undefined;
39
- language?: string | undefined;
40
- last_name?: string | undefined;
41
- first_name?: string | undefined;
42
- custom_fields?: Record<string, unknown> | undefined;
43
- }[];
44
- }, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential<"spoki", z.ZodObject<{
45
- connectionId: z.ZodString;
46
- entityId: z.ZodString;
47
- instanceId: z.ZodString;
48
- }, z.core.$strip>, z.ZodObject<{
49
- generic_api_key: z.ZodString;
50
- }, z.core.$strip>>]>, readonly [import("@keystrokehq/shared").Credential<"spoki", z.ZodObject<{
51
- connectionId: z.ZodString;
52
- entityId: z.ZodString;
53
- instanceId: z.ZodString;
54
- }, z.core.$strip>, z.ZodObject<{
55
- generic_api_key: z.ZodString;
56
- }, z.core.$strip>>]>;
36
+ declare const spokiSyncContactsBulk: AppAction<typeof SpokiSyncContactsBulkInput, typeof SpokiSyncContactsBulkOutput, typeof spoki.credential>;
57
37
  //#endregion
58
38
  export { spokiSyncContactsBulk };
59
39
  //# sourceMappingURL=sync-contacts-bulk.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sync-contacts-bulk.d.cts","names":[],"sources":["../../src/actions/sync-contacts-bulk.ts"],"mappings":";;;cAIa,0BAAA,EAA0B,CAAA,CAAA,SAAA;;;;;;;;;;cA4B1B,2BAAA,EAA2B,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;cAK3B,qBAAA,gCAAqB,wBAAA"}
1
+ {"version":3,"file":"sync-contacts-bulk.d.cts","names":[],"sources":["../../src/actions/sync-contacts-bulk.ts"],"mappings":";;;;;cAMa,0BAAA,EAA0B,CAAA,CAAA,SAAA;;;;;;;;;;cA4B1B,2BAAA,EAA2B,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;cAK3B,qBAAA,EAAuB,SAAA,QAC3B,0BAAA,SACA,2BAAA,SACA,KAAA,CAAM,UAAA"}
@@ -1,3 +1,5 @@
1
+ import { spoki } from "../app.mjs";
2
+ import { AppAction } from "@keystrokehq/keystroke/app";
1
3
  import { z } from "zod";
2
4
 
3
5
  //#region src/actions/sync-contacts-bulk.d.ts
@@ -31,29 +33,7 @@ declare const SpokiSyncContactsBulkOutput: z.ZodObject<{
31
33
  is_first_message_sent: z.ZodNullable<z.ZodBoolean>;
32
34
  }, z.core.$loose>>>>;
33
35
  }, z.core.$loose>;
34
- declare const spokiSyncContactsBulk: import("@keystrokehq/action").WorkflowActionDefinition<{
35
- contacts: {
36
- [x: string]: unknown;
37
- phone: string;
38
- email?: string | undefined;
39
- language?: string | undefined;
40
- last_name?: string | undefined;
41
- first_name?: string | undefined;
42
- custom_fields?: Record<string, unknown> | undefined;
43
- }[];
44
- }, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential<"spoki", z.ZodObject<{
45
- connectionId: z.ZodString;
46
- entityId: z.ZodString;
47
- instanceId: z.ZodString;
48
- }, z.core.$strip>, z.ZodObject<{
49
- generic_api_key: z.ZodString;
50
- }, z.core.$strip>>]>, readonly [import("@keystrokehq/shared").Credential<"spoki", z.ZodObject<{
51
- connectionId: z.ZodString;
52
- entityId: z.ZodString;
53
- instanceId: z.ZodString;
54
- }, z.core.$strip>, z.ZodObject<{
55
- generic_api_key: z.ZodString;
56
- }, z.core.$strip>>]>;
36
+ declare const spokiSyncContactsBulk: AppAction<typeof SpokiSyncContactsBulkInput, typeof SpokiSyncContactsBulkOutput, typeof spoki.credential>;
57
37
  //#endregion
58
38
  export { spokiSyncContactsBulk };
59
39
  //# sourceMappingURL=sync-contacts-bulk.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sync-contacts-bulk.d.mts","names":[],"sources":["../../src/actions/sync-contacts-bulk.ts"],"mappings":";;;cAIa,0BAAA,EAA0B,CAAA,CAAA,SAAA;;;;;;;;;;cA4B1B,2BAAA,EAA2B,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;cAK3B,qBAAA,gCAAqB,wBAAA"}
1
+ {"version":3,"file":"sync-contacts-bulk.d.mts","names":[],"sources":["../../src/actions/sync-contacts-bulk.ts"],"mappings":";;;;;cAMa,0BAAA,EAA0B,CAAA,CAAA,SAAA;;;;;;;;;;cA4B1B,2BAAA,EAA2B,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;cAK3B,qBAAA,EAAuB,SAAA,QAC3B,0BAAA,SACA,2BAAA,SACA,KAAA,CAAM,UAAA"}
@@ -1,3 +1,4 @@
1
+ import "../app.mjs";
1
2
  import { action } from "../action.mjs";
2
3
  import { z } from "zod";
3
4
  //#region src/actions/sync-contacts-bulk.ts
@@ -1 +1 @@
1
- {"version":3,"file":"sync-contacts-bulk.mjs","names":[],"sources":["../../src/actions/sync-contacts-bulk.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const SpokiSyncContactsBulkInput = z.object({\n contacts: z.array(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}).passthrough().describe(\"Single contact object for bulk sync operation.\")).describe(\"List of contact objects to sync. Each contact will be created if new or updated if the phone number already exists. Maximum recommended: 100 contacts per request due to rate limits\"),\n}).describe(\"Request to bulk sync (create or update) multiple contacts.\");\nconst SpokiSyncContactsBulk_ErrorDetailSchema = z.object({\n error: z.string().describe(\"Error message\").nullable().optional(),\n phone: z.string().describe(\"Phone number that caused the error\").nullable().optional(),\n}).passthrough().describe(\"Error details for failed contact sync.\");\nconst SpokiSyncContactsBulk_SyncedContactSchema = 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().describe(\"Contact object returned after successful sync.\");\nexport const SpokiSyncContactsBulkOutput = z.object({\n errors: z.array(SpokiSyncContactsBulk_ErrorDetailSchema).describe(\"List of errors that occurred during sync. Each error contains details about which contact failed and why\").nullable().optional(),\n contacts: z.array(SpokiSyncContactsBulk_SyncedContactSchema).describe(\"List of successfully synced contacts with their details\").nullable().optional(),\n}).passthrough().describe(\"Response from bulk sync operation.\");\n\nexport const spokiSyncContactsBulk = action(\"SPOKI_SYNC_CONTACTS_BULK\", {\n slug: \"spoki-sync-contacts-bulk\",\n name: \"Bulk Sync Contacts\",\n description: \"Tool to bulk sync (create or update) multiple contacts in a single request. Rate limit: 1 request per minute. This action performs bulk \\\"upsert\\\" operations: - 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 when you need to: - Import multiple contacts from external systems - Synchronize contact lists in bulk - Efficiently create or update many contacts at once IMPORTANT: Do not use this action to update contacts before initiating an automation. The strict rate limit (1/min) makes it unsuitable for automation workflows.\",\n input: SpokiSyncContactsBulkInput,\n output: SpokiSyncContactsBulkOutput,\n});\n"],"mappings":";;;AAIA,MAAa,6BAA6B,EAAE,OAAO,EACjD,UAAU,EAAE,MAAM,EAAE,OAAO;CAC3B,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,4DAA4D,CAAC,CAAC,SAAS;CAClG,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,6KAA6K;CACxM,UAAU,EAAE,OAAO,CAAC,CAAC,SAAS,4NAA4N,CAAC,CAAC,SAAS;CACrQ,WAAW,EAAE,OAAO,CAAC,CAAC,SAAS,oIAAoI,CAAC,CAAC,SAAS;CAC9K,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS,oHAAoH,CAAC,CAAC,SAAS;CAC/J,eAAe,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,yLAAyL,CAAC,CAAC,SAAS;AAChQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,gDAAgD,CAAC,CAAC,CAAC,SAAS,sLAAsL,EAC5Q,CAAC,CAAC,CAAC,SAAS,4DAA4D;AACxE,MAAM,0CAA0C,EAAE,OAAO;CACvD,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,eAAe,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAChE,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,oCAAoC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AACvF,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,wCAAwC;AAClE,MAAM,4CAA4C,EAAE,OAAO;CACzD,IAAI,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,0BAA0B,CAAC,CAAC,SAAS;CACnE,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,8BAA8B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC/E,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,sCAAsC,CAAC,CAAC,SAAS;CAC5E,UAAU,EAAE,OAAO,CAAC,CAAC,SAAS,uDAAuD,CAAC,CAAC,SAAS;CAChG,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,uCAAuC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACpG,WAAW,EAAE,OAAO,CAAC,CAAC,SAAS,yDAAyD,CAAC,CAAC,SAAS;CACnG,WAAW,EAAE,OAAO,CAAC,CAAC,SAAS,0BAA0B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC/E,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS,2BAA2B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACjF,YAAY,EAAE,QAAQ,CAAC,CAAC,SAAS,gCAAgC,CAAC,CAAC,SAAS;CAC5E,eAAe,EAAE,QAAQ,CAAC,CAAC,SAAS,mCAAmC,CAAC,CAAC,SAAS;CAClF,mBAAmB,EAAE,QAAQ,CAAC,CAAC,SAAS,qCAAqC,CAAC,CAAC,SAAS;CACxF,uBAAuB,EAAE,QAAQ,CAAC,CAAC,SAAS,yDAAyD,CAAC,CAAC,SAAS;AAClH,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,gDAAgD;AAM1E,MAAa,wBAAwB,OAAO,4BAA4B;CACtE,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAVyC,EAAE,OAAO;EAClD,QAAQ,EAAE,MAAM,uCAAuC,CAAC,CAAC,SAAS,0GAA0G,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAClM,UAAU,EAAE,MAAM,yCAAyC,CAAC,CAAC,SAAS,yDAAyD,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACvJ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,oCAOhB;AACV,CAAC"}
1
+ {"version":3,"file":"sync-contacts-bulk.mjs","names":[],"sources":["../../src/actions/sync-contacts-bulk.ts"],"sourcesContent":["import type { AppAction } from \"@keystrokehq/keystroke/app\";\nimport { z } from \"zod\";\n\nimport { action } from \"../action\";\nimport { spoki } from \"../app\";\n\nexport const SpokiSyncContactsBulkInput = z.object({\n contacts: z.array(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}).passthrough().describe(\"Single contact object for bulk sync operation.\")).describe(\"List of contact objects to sync. Each contact will be created if new or updated if the phone number already exists. Maximum recommended: 100 contacts per request due to rate limits\"),\n}).describe(\"Request to bulk sync (create or update) multiple contacts.\");\nconst SpokiSyncContactsBulk_ErrorDetailSchema = z.object({\n error: z.string().describe(\"Error message\").nullable().optional(),\n phone: z.string().describe(\"Phone number that caused the error\").nullable().optional(),\n}).passthrough().describe(\"Error details for failed contact sync.\");\nconst SpokiSyncContactsBulk_SyncedContactSchema = 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().describe(\"Contact object returned after successful sync.\");\nexport const SpokiSyncContactsBulkOutput = z.object({\n errors: z.array(SpokiSyncContactsBulk_ErrorDetailSchema).describe(\"List of errors that occurred during sync. Each error contains details about which contact failed and why\").nullable().optional(),\n contacts: z.array(SpokiSyncContactsBulk_SyncedContactSchema).describe(\"List of successfully synced contacts with their details\").nullable().optional(),\n}).passthrough().describe(\"Response from bulk sync operation.\");\n\nexport const spokiSyncContactsBulk: AppAction<\n typeof SpokiSyncContactsBulkInput,\n typeof SpokiSyncContactsBulkOutput,\n typeof spoki.credential\n> = action(\"SPOKI_SYNC_CONTACTS_BULK\", {\n slug: \"spoki-sync-contacts-bulk\",\n name: \"Bulk Sync Contacts\",\n description: \"Tool to bulk sync (create or update) multiple contacts in a single request. Rate limit: 1 request per minute. This action performs bulk \\\"upsert\\\" operations: - 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 when you need to: - Import multiple contacts from external systems - Synchronize contact lists in bulk - Efficiently create or update many contacts at once IMPORTANT: Do not use this action to update contacts before initiating an automation. The strict rate limit (1/min) makes it unsuitable for automation workflows.\",\n input: SpokiSyncContactsBulkInput,\n output: SpokiSyncContactsBulkOutput,\n});\n"],"mappings":";;;;AAMA,MAAa,6BAA6B,EAAE,OAAO,EACjD,UAAU,EAAE,MAAM,EAAE,OAAO;CAC3B,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,4DAA4D,CAAC,CAAC,SAAS;CAClG,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,6KAA6K;CACxM,UAAU,EAAE,OAAO,CAAC,CAAC,SAAS,4NAA4N,CAAC,CAAC,SAAS;CACrQ,WAAW,EAAE,OAAO,CAAC,CAAC,SAAS,oIAAoI,CAAC,CAAC,SAAS;CAC9K,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS,oHAAoH,CAAC,CAAC,SAAS;CAC/J,eAAe,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,yLAAyL,CAAC,CAAC,SAAS;AAChQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,gDAAgD,CAAC,CAAC,CAAC,SAAS,sLAAsL,EAC5Q,CAAC,CAAC,CAAC,SAAS,4DAA4D;AACxE,MAAM,0CAA0C,EAAE,OAAO;CACvD,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,eAAe,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAChE,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,oCAAoC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AACvF,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,wCAAwC;AAClE,MAAM,4CAA4C,EAAE,OAAO;CACzD,IAAI,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,0BAA0B,CAAC,CAAC,SAAS;CACnE,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,8BAA8B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC/E,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,sCAAsC,CAAC,CAAC,SAAS;CAC5E,UAAU,EAAE,OAAO,CAAC,CAAC,SAAS,uDAAuD,CAAC,CAAC,SAAS;CAChG,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,uCAAuC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACpG,WAAW,EAAE,OAAO,CAAC,CAAC,SAAS,yDAAyD,CAAC,CAAC,SAAS;CACnG,WAAW,EAAE,OAAO,CAAC,CAAC,SAAS,0BAA0B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC/E,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS,2BAA2B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACjF,YAAY,EAAE,QAAQ,CAAC,CAAC,SAAS,gCAAgC,CAAC,CAAC,SAAS;CAC5E,eAAe,EAAE,QAAQ,CAAC,CAAC,SAAS,mCAAmC,CAAC,CAAC,SAAS;CAClF,mBAAmB,EAAE,QAAQ,CAAC,CAAC,SAAS,qCAAqC,CAAC,CAAC,SAAS;CACxF,uBAAuB,EAAE,QAAQ,CAAC,CAAC,SAAS,yDAAyD,CAAC,CAAC,SAAS;AAClH,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,gDAAgD;AAM1E,MAAa,wBAIT,OAAO,4BAA4B;CACrC,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAdyC,EAAE,OAAO;EAClD,QAAQ,EAAE,MAAM,uCAAuC,CAAC,CAAC,SAAS,0GAA0G,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAClM,UAAU,EAAE,MAAM,yCAAyC,CAAC,CAAC,SAAS,yDAAyD,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACvJ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,oCAWhB;AACV,CAAC"}
@@ -1,3 +1,4 @@
1
+ require("../app.cjs");
1
2
  const require_action = require("../action.cjs");
2
3
  let zod = require("zod");
3
4
  //#region src/actions/sync-list-contacts.ts
@@ -1 +1 @@
1
- {"version":3,"file":"sync-list-contacts.cjs","names":["z","action"],"sources":["../../src/actions/sync-list-contacts.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const SpokiSyncListContactsInput = z.object({\n list_id: z.string().describe(\"The unique identifier of the list to sync contacts to. Contacts will be created or updated and then added to this list\"),\n contacts: z.array(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}).passthrough().describe(\"Single contact object for list sync operation.\")).describe(\"List of contact objects to sync to the list. Each contact will be created if new or updated if the phone number already exists, then added to the specified list. Maximum: 500 contacts per request\"),\n}).describe(\"Request to sync contacts to a specific list.\");\nexport const SpokiSyncListContactsOutput = z.object({\n errors: z.array(z.record(z.string(), z.unknown())).describe(\"List of errors that occurred during sync. Each error contains details about which contact failed and why. Empty list indicates all contacts were synced successfully\").nullable().optional(),\n}).passthrough().describe(\"Response from list sync operation.\");\n\nexport const spokiSyncListContacts = action(\"SPOKI_SYNC_LIST_CONTACTS\", {\n slug: \"spoki-sync-list-contacts\",\n name: \"Sync Contacts to List\",\n description: \"Tool to create or update contacts and add them to a specific list in Spoki. Rate limit: 1 request per minute. This action performs bulk \\\"upsert\\\" operations and list assignment: - 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 - All synced contacts are automatically added to the specified list Use when you need to: - Add multiple contacts to a specific list - Import contacts from external systems directly into a list - Synchronize contact lists with list membership Maximum 500 contacts per request. Phone numbers must be in E.164 format (international format with country code).\",\n input: SpokiSyncListContactsInput,\n output: SpokiSyncListContactsOutput,\n});\n"],"mappings":";;;AAIA,MAAa,6BAA6BA,IAAAA,EAAE,OAAO;CACjD,SAASA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,wHAAwH;CACrJ,UAAUA,IAAAA,EAAE,MAAMA,IAAAA,EAAE,OAAO;EAC3B,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,4DAA4D,CAAC,CAAC,SAAS;EAClG,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,6KAA6K;EACxM,UAAUA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,4NAA4N,CAAC,CAAC,SAAS;EACrQ,WAAWA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,oIAAoI,CAAC,CAAC,SAAS;EAC9K,YAAYA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,oHAAoH,CAAC,CAAC,SAAS;EAC/J,eAAeA,IAAAA,EAAE,OAAOA,IAAAA,EAAE,OAAO,GAAGA,IAAAA,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,yLAAyL,CAAC,CAAC,SAAS;CAChQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,gDAAgD,CAAC,CAAC,CAAC,SAAS,qMAAqM;AAC3R,CAAC,CAAC,CAAC,SAAS,8CAA8C;AAC1D,MAAa,8BAA8BA,IAAAA,EAAE,OAAO,EAClD,QAAQA,IAAAA,EAAE,MAAMA,IAAAA,EAAE,OAAOA,IAAAA,EAAE,OAAO,GAAGA,IAAAA,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,sKAAsK,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,EAC1P,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,oCAAoC;AAE9D,MAAa,wBAAwBC,eAAAA,OAAO,4BAA4B;CACtE,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAAQ;AACV,CAAC"}
1
+ {"version":3,"file":"sync-list-contacts.cjs","names":["z","action"],"sources":["../../src/actions/sync-list-contacts.ts"],"sourcesContent":["import type { AppAction } from \"@keystrokehq/keystroke/app\";\nimport { z } from \"zod\";\n\nimport { action } from \"../action\";\nimport { spoki } from \"../app\";\n\nexport const SpokiSyncListContactsInput = z.object({\n list_id: z.string().describe(\"The unique identifier of the list to sync contacts to. Contacts will be created or updated and then added to this list\"),\n contacts: z.array(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}).passthrough().describe(\"Single contact object for list sync operation.\")).describe(\"List of contact objects to sync to the list. Each contact will be created if new or updated if the phone number already exists, then added to the specified list. Maximum: 500 contacts per request\"),\n}).describe(\"Request to sync contacts to a specific list.\");\nexport const SpokiSyncListContactsOutput = z.object({\n errors: z.array(z.record(z.string(), z.unknown())).describe(\"List of errors that occurred during sync. Each error contains details about which contact failed and why. Empty list indicates all contacts were synced successfully\").nullable().optional(),\n}).passthrough().describe(\"Response from list sync operation.\");\n\nexport const spokiSyncListContacts: AppAction<\n typeof SpokiSyncListContactsInput,\n typeof SpokiSyncListContactsOutput,\n typeof spoki.credential\n> = action(\"SPOKI_SYNC_LIST_CONTACTS\", {\n slug: \"spoki-sync-list-contacts\",\n name: \"Sync Contacts to List\",\n description: \"Tool to create or update contacts and add them to a specific list in Spoki. Rate limit: 1 request per minute. This action performs bulk \\\"upsert\\\" operations and list assignment: - 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 - All synced contacts are automatically added to the specified list Use when you need to: - Add multiple contacts to a specific list - Import contacts from external systems directly into a list - Synchronize contact lists with list membership Maximum 500 contacts per request. Phone numbers must be in E.164 format (international format with country code).\",\n input: SpokiSyncListContactsInput,\n output: SpokiSyncListContactsOutput,\n});\n"],"mappings":";;;;AAMA,MAAa,6BAA6BA,IAAAA,EAAE,OAAO;CACjD,SAASA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,wHAAwH;CACrJ,UAAUA,IAAAA,EAAE,MAAMA,IAAAA,EAAE,OAAO;EAC3B,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,4DAA4D,CAAC,CAAC,SAAS;EAClG,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,6KAA6K;EACxM,UAAUA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,4NAA4N,CAAC,CAAC,SAAS;EACrQ,WAAWA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,oIAAoI,CAAC,CAAC,SAAS;EAC9K,YAAYA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,oHAAoH,CAAC,CAAC,SAAS;EAC/J,eAAeA,IAAAA,EAAE,OAAOA,IAAAA,EAAE,OAAO,GAAGA,IAAAA,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,yLAAyL,CAAC,CAAC,SAAS;CAChQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,gDAAgD,CAAC,CAAC,CAAC,SAAS,qMAAqM;AAC3R,CAAC,CAAC,CAAC,SAAS,8CAA8C;AAC1D,MAAa,8BAA8BA,IAAAA,EAAE,OAAO,EAClD,QAAQA,IAAAA,EAAE,MAAMA,IAAAA,EAAE,OAAOA,IAAAA,EAAE,OAAO,GAAGA,IAAAA,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,sKAAsK,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,EAC1P,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,oCAAoC;AAE9D,MAAa,wBAITC,eAAAA,OAAO,4BAA4B;CACrC,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAAQ;AACV,CAAC"}
@@ -1,3 +1,5 @@
1
+ import { spoki } from "../app.cjs";
2
+ import { AppAction } from "@keystrokehq/keystroke/app";
1
3
  import { z } from "zod";
2
4
 
3
5
  //#region src/actions/sync-list-contacts.d.ts
@@ -15,30 +17,7 @@ declare const SpokiSyncListContactsInput: z.ZodObject<{
15
17
  declare const SpokiSyncListContactsOutput: z.ZodObject<{
16
18
  errors: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>>;
17
19
  }, z.core.$loose>;
18
- declare const spokiSyncListContacts: import("@keystrokehq/action").WorkflowActionDefinition<{
19
- list_id: string;
20
- contacts: {
21
- [x: string]: unknown;
22
- phone: string;
23
- email?: string | undefined;
24
- language?: string | undefined;
25
- last_name?: string | undefined;
26
- first_name?: string | undefined;
27
- custom_fields?: Record<string, unknown> | undefined;
28
- }[];
29
- }, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential<"spoki", z.ZodObject<{
30
- connectionId: z.ZodString;
31
- entityId: z.ZodString;
32
- instanceId: z.ZodString;
33
- }, z.core.$strip>, z.ZodObject<{
34
- generic_api_key: z.ZodString;
35
- }, z.core.$strip>>]>, readonly [import("@keystrokehq/shared").Credential<"spoki", z.ZodObject<{
36
- connectionId: z.ZodString;
37
- entityId: z.ZodString;
38
- instanceId: z.ZodString;
39
- }, z.core.$strip>, z.ZodObject<{
40
- generic_api_key: z.ZodString;
41
- }, z.core.$strip>>]>;
20
+ declare const spokiSyncListContacts: AppAction<typeof SpokiSyncListContactsInput, typeof SpokiSyncListContactsOutput, typeof spoki.credential>;
42
21
  //#endregion
43
22
  export { spokiSyncListContacts };
44
23
  //# sourceMappingURL=sync-list-contacts.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sync-list-contacts.d.cts","names":[],"sources":["../../src/actions/sync-list-contacts.ts"],"mappings":";;;cAIa,0BAAA,EAA0B,CAAA,CAAA,SAAA;;;;;;;;;;;cAW1B,2BAAA,EAA2B,CAAA,CAAA,SAAA;;;cAI3B,qBAAA,gCAAqB,wBAAA"}
1
+ {"version":3,"file":"sync-list-contacts.d.cts","names":[],"sources":["../../src/actions/sync-list-contacts.ts"],"mappings":";;;;;cAMa,0BAAA,EAA0B,CAAA,CAAA,SAAA;;;;;;;;;;;cAW1B,2BAAA,EAA2B,CAAA,CAAA,SAAA;;;cAI3B,qBAAA,EAAuB,SAAA,QAC3B,0BAAA,SACA,2BAAA,SACA,KAAA,CAAM,UAAA"}
@@ -1,3 +1,5 @@
1
+ import { spoki } from "../app.mjs";
2
+ import { AppAction } from "@keystrokehq/keystroke/app";
1
3
  import { z } from "zod";
2
4
 
3
5
  //#region src/actions/sync-list-contacts.d.ts
@@ -15,30 +17,7 @@ declare const SpokiSyncListContactsInput: z.ZodObject<{
15
17
  declare const SpokiSyncListContactsOutput: z.ZodObject<{
16
18
  errors: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>>;
17
19
  }, z.core.$loose>;
18
- declare const spokiSyncListContacts: import("@keystrokehq/action").WorkflowActionDefinition<{
19
- list_id: string;
20
- contacts: {
21
- [x: string]: unknown;
22
- phone: string;
23
- email?: string | undefined;
24
- language?: string | undefined;
25
- last_name?: string | undefined;
26
- first_name?: string | undefined;
27
- custom_fields?: Record<string, unknown> | undefined;
28
- }[];
29
- }, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential<"spoki", z.ZodObject<{
30
- connectionId: z.ZodString;
31
- entityId: z.ZodString;
32
- instanceId: z.ZodString;
33
- }, z.core.$strip>, z.ZodObject<{
34
- generic_api_key: z.ZodString;
35
- }, z.core.$strip>>]>, readonly [import("@keystrokehq/shared").Credential<"spoki", z.ZodObject<{
36
- connectionId: z.ZodString;
37
- entityId: z.ZodString;
38
- instanceId: z.ZodString;
39
- }, z.core.$strip>, z.ZodObject<{
40
- generic_api_key: z.ZodString;
41
- }, z.core.$strip>>]>;
20
+ declare const spokiSyncListContacts: AppAction<typeof SpokiSyncListContactsInput, typeof SpokiSyncListContactsOutput, typeof spoki.credential>;
42
21
  //#endregion
43
22
  export { spokiSyncListContacts };
44
23
  //# sourceMappingURL=sync-list-contacts.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sync-list-contacts.d.mts","names":[],"sources":["../../src/actions/sync-list-contacts.ts"],"mappings":";;;cAIa,0BAAA,EAA0B,CAAA,CAAA,SAAA;;;;;;;;;;;cAW1B,2BAAA,EAA2B,CAAA,CAAA,SAAA;;;cAI3B,qBAAA,gCAAqB,wBAAA"}
1
+ {"version":3,"file":"sync-list-contacts.d.mts","names":[],"sources":["../../src/actions/sync-list-contacts.ts"],"mappings":";;;;;cAMa,0BAAA,EAA0B,CAAA,CAAA,SAAA;;;;;;;;;;;cAW1B,2BAAA,EAA2B,CAAA,CAAA,SAAA;;;cAI3B,qBAAA,EAAuB,SAAA,QAC3B,0BAAA,SACA,2BAAA,SACA,KAAA,CAAM,UAAA"}
@@ -1,3 +1,4 @@
1
+ import "../app.mjs";
1
2
  import { action } from "../action.mjs";
2
3
  import { z } from "zod";
3
4
  const spokiSyncListContacts = action("SPOKI_SYNC_LIST_CONTACTS", {
@@ -1 +1 @@
1
- {"version":3,"file":"sync-list-contacts.mjs","names":[],"sources":["../../src/actions/sync-list-contacts.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const SpokiSyncListContactsInput = z.object({\n list_id: z.string().describe(\"The unique identifier of the list to sync contacts to. Contacts will be created or updated and then added to this list\"),\n contacts: z.array(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}).passthrough().describe(\"Single contact object for list sync operation.\")).describe(\"List of contact objects to sync to the list. Each contact will be created if new or updated if the phone number already exists, then added to the specified list. Maximum: 500 contacts per request\"),\n}).describe(\"Request to sync contacts to a specific list.\");\nexport const SpokiSyncListContactsOutput = z.object({\n errors: z.array(z.record(z.string(), z.unknown())).describe(\"List of errors that occurred during sync. Each error contains details about which contact failed and why. Empty list indicates all contacts were synced successfully\").nullable().optional(),\n}).passthrough().describe(\"Response from list sync operation.\");\n\nexport const spokiSyncListContacts = action(\"SPOKI_SYNC_LIST_CONTACTS\", {\n slug: \"spoki-sync-list-contacts\",\n name: \"Sync Contacts to List\",\n description: \"Tool to create or update contacts and add them to a specific list in Spoki. Rate limit: 1 request per minute. This action performs bulk \\\"upsert\\\" operations and list assignment: - 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 - All synced contacts are automatically added to the specified list Use when you need to: - Add multiple contacts to a specific list - Import contacts from external systems directly into a list - Synchronize contact lists with list membership Maximum 500 contacts per request. Phone numbers must be in E.164 format (international format with country code).\",\n input: SpokiSyncListContactsInput,\n output: SpokiSyncListContactsOutput,\n});\n"],"mappings":";;AAmBA,MAAa,wBAAwB,OAAO,4BAA4B;CACtE,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAnBwC,EAAE,OAAO;EACjD,SAAS,EAAE,OAAO,CAAC,CAAC,SAAS,wHAAwH;EACrJ,UAAU,EAAE,MAAM,EAAE,OAAO;GAC3B,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,4DAA4D,CAAC,CAAC,SAAS;GAClG,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,6KAA6K;GACxM,UAAU,EAAE,OAAO,CAAC,CAAC,SAAS,4NAA4N,CAAC,CAAC,SAAS;GACrQ,WAAW,EAAE,OAAO,CAAC,CAAC,SAAS,oIAAoI,CAAC,CAAC,SAAS;GAC9K,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS,oHAAoH,CAAC,CAAC,SAAS;GAC/J,eAAe,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,yLAAyL,CAAC,CAAC,SAAS;EAChQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,gDAAgD,CAAC,CAAC,CAAC,SAAS,qMAAqM;CAC3R,CAAC,CAAC,CAAC,SAAS,8CASH;CACP,QATyC,EAAE,OAAO,EAClD,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,sKAAsK,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,EAC1P,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,oCAOhB;AACV,CAAC"}
1
+ {"version":3,"file":"sync-list-contacts.mjs","names":[],"sources":["../../src/actions/sync-list-contacts.ts"],"sourcesContent":["import type { AppAction } from \"@keystrokehq/keystroke/app\";\nimport { z } from \"zod\";\n\nimport { action } from \"../action\";\nimport { spoki } from \"../app\";\n\nexport const SpokiSyncListContactsInput = z.object({\n list_id: z.string().describe(\"The unique identifier of the list to sync contacts to. Contacts will be created or updated and then added to this list\"),\n contacts: z.array(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}).passthrough().describe(\"Single contact object for list sync operation.\")).describe(\"List of contact objects to sync to the list. Each contact will be created if new or updated if the phone number already exists, then added to the specified list. Maximum: 500 contacts per request\"),\n}).describe(\"Request to sync contacts to a specific list.\");\nexport const SpokiSyncListContactsOutput = z.object({\n errors: z.array(z.record(z.string(), z.unknown())).describe(\"List of errors that occurred during sync. Each error contains details about which contact failed and why. Empty list indicates all contacts were synced successfully\").nullable().optional(),\n}).passthrough().describe(\"Response from list sync operation.\");\n\nexport const spokiSyncListContacts: AppAction<\n typeof SpokiSyncListContactsInput,\n typeof SpokiSyncListContactsOutput,\n typeof spoki.credential\n> = action(\"SPOKI_SYNC_LIST_CONTACTS\", {\n slug: \"spoki-sync-list-contacts\",\n name: \"Sync Contacts to List\",\n description: \"Tool to create or update contacts and add them to a specific list in Spoki. Rate limit: 1 request per minute. This action performs bulk \\\"upsert\\\" operations and list assignment: - 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 - All synced contacts are automatically added to the specified list Use when you need to: - Add multiple contacts to a specific list - Import contacts from external systems directly into a list - Synchronize contact lists with list membership Maximum 500 contacts per request. Phone numbers must be in E.164 format (international format with country code).\",\n input: SpokiSyncListContactsInput,\n output: SpokiSyncListContactsOutput,\n});\n"],"mappings":";;;AAqBA,MAAa,wBAIT,OAAO,4BAA4B;CACrC,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAvBwC,EAAE,OAAO;EACjD,SAAS,EAAE,OAAO,CAAC,CAAC,SAAS,wHAAwH;EACrJ,UAAU,EAAE,MAAM,EAAE,OAAO;GAC3B,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,4DAA4D,CAAC,CAAC,SAAS;GAClG,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,6KAA6K;GACxM,UAAU,EAAE,OAAO,CAAC,CAAC,SAAS,4NAA4N,CAAC,CAAC,SAAS;GACrQ,WAAW,EAAE,OAAO,CAAC,CAAC,SAAS,oIAAoI,CAAC,CAAC,SAAS;GAC9K,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS,oHAAoH,CAAC,CAAC,SAAS;GAC/J,eAAe,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,yLAAyL,CAAC,CAAC,SAAS;EAChQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,gDAAgD,CAAC,CAAC,CAAC,SAAS,qMAAqM;CAC3R,CAAC,CAAC,CAAC,SAAS,8CAaH;CACP,QAbyC,EAAE,OAAO,EAClD,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,sKAAsK,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,EAC1P,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,oCAWhB;AACV,CAAC"}
@@ -1,3 +1,4 @@
1
+ require("../app.cjs");
1
2
  const require_action = require("../action.cjs");
2
3
  let zod = require("zod");
3
4
  //#region src/actions/update-campaign.ts
@@ -1 +1 @@
1
- {"version":3,"file":"update-campaign.cjs","names":["z","action"],"sources":["../../src/actions/update-campaign.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const SpokiUpdateCampaignInput = z.object({\n id: z.string().describe(\"The unique identifier of the campaign to update\"),\n name: z.string().describe(\"New name for the campaign\").optional(),\n status: z.enum([\"Draft\", \"Scheduled\"]).describe(\"Allowed campaign status values.\").optional(),\n scheduled_datetime: z.string().describe(\"Scheduled start time in ISO 8601 format (YYYY-MM-DDTHH:MM:SS.sssZ). Required when status is 'Scheduled'\").optional(),\n}).describe(\"Request model for updating an existing campaign.\\nAll body fields are optional - only provided fields will be updated.\");\nexport const SpokiUpdateCampaignOutput = z.object({\n id: z.number().int().describe(\"Unique identifier of the campaign\").nullable(),\n name: z.string().describe(\"Campaign name\").nullable(),\n status: z.string().describe(\"Campaign status (Draft, Scheduled, Processing, or Completed)\").nullable(),\n created_datetime: z.string().describe(\"When this campaign was created (ISO 8601)\").nullable(),\n scheduled_datetime: z.string().describe(\"When the campaign is scheduled to run (ISO 8601)\").nullable(),\n}).passthrough().describe(\"Response model containing details of the updated campaign.\");\n\nexport const spokiUpdateCampaign = action(\"SPOKI_UPDATE_CAMPAIGN\", {\n slug: \"spoki-update-campaign\",\n name: \"Update Campaign\",\n description: \"Tool to update an existing campaign's name, status, or scheduled time. Use when you need to modify campaign details after creation. Rate limited to 5 requests per minute.\",\n input: SpokiUpdateCampaignInput,\n output: SpokiUpdateCampaignOutput,\n});\n"],"mappings":";;;AAIA,MAAa,2BAA2BA,IAAAA,EAAE,OAAO;CAC/C,IAAIA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,iDAAiD;CACzE,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,2BAA2B,CAAC,CAAC,SAAS;CAChE,QAAQA,IAAAA,EAAE,KAAK,CAAC,SAAS,WAAW,CAAC,CAAC,CAAC,SAAS,iCAAiC,CAAC,CAAC,SAAS;CAC5F,oBAAoBA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,yGAAyG,CAAC,CAAC,SAAS;AAC9J,CAAC,CAAC,CAAC,SAAS,wHAAwH;AACpI,MAAa,4BAA4BA,IAAAA,EAAE,OAAO;CAChD,IAAIA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,mCAAmC,CAAC,CAAC,SAAS;CAC5E,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,eAAe,CAAC,CAAC,SAAS;CACpD,QAAQA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,8DAA8D,CAAC,CAAC,SAAS;CACrG,kBAAkBA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,2CAA2C,CAAC,CAAC,SAAS;CAC5F,oBAAoBA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,kDAAkD,CAAC,CAAC,SAAS;AACvG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,4DAA4D;AAEtF,MAAa,sBAAsBC,eAAAA,OAAO,yBAAyB;CACjE,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAAQ;AACV,CAAC"}
1
+ {"version":3,"file":"update-campaign.cjs","names":["z","action"],"sources":["../../src/actions/update-campaign.ts"],"sourcesContent":["import type { AppAction } from \"@keystrokehq/keystroke/app\";\nimport { z } from \"zod\";\n\nimport { action } from \"../action\";\nimport { spoki } from \"../app\";\n\nexport const SpokiUpdateCampaignInput = z.object({\n id: z.string().describe(\"The unique identifier of the campaign to update\"),\n name: z.string().describe(\"New name for the campaign\").optional(),\n status: z.enum([\"Draft\", \"Scheduled\"]).describe(\"Allowed campaign status values.\").optional(),\n scheduled_datetime: z.string().describe(\"Scheduled start time in ISO 8601 format (YYYY-MM-DDTHH:MM:SS.sssZ). Required when status is 'Scheduled'\").optional(),\n}).describe(\"Request model for updating an existing campaign.\\nAll body fields are optional - only provided fields will be updated.\");\nexport const SpokiUpdateCampaignOutput = z.object({\n id: z.number().int().describe(\"Unique identifier of the campaign\").nullable(),\n name: z.string().describe(\"Campaign name\").nullable(),\n status: z.string().describe(\"Campaign status (Draft, Scheduled, Processing, or Completed)\").nullable(),\n created_datetime: z.string().describe(\"When this campaign was created (ISO 8601)\").nullable(),\n scheduled_datetime: z.string().describe(\"When the campaign is scheduled to run (ISO 8601)\").nullable(),\n}).passthrough().describe(\"Response model containing details of the updated campaign.\");\n\nexport const spokiUpdateCampaign: AppAction<\n typeof SpokiUpdateCampaignInput,\n typeof SpokiUpdateCampaignOutput,\n typeof spoki.credential\n> = action(\"SPOKI_UPDATE_CAMPAIGN\", {\n slug: \"spoki-update-campaign\",\n name: \"Update Campaign\",\n description: \"Tool to update an existing campaign's name, status, or scheduled time. Use when you need to modify campaign details after creation. Rate limited to 5 requests per minute.\",\n input: SpokiUpdateCampaignInput,\n output: SpokiUpdateCampaignOutput,\n});\n"],"mappings":";;;;AAMA,MAAa,2BAA2BA,IAAAA,EAAE,OAAO;CAC/C,IAAIA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,iDAAiD;CACzE,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,2BAA2B,CAAC,CAAC,SAAS;CAChE,QAAQA,IAAAA,EAAE,KAAK,CAAC,SAAS,WAAW,CAAC,CAAC,CAAC,SAAS,iCAAiC,CAAC,CAAC,SAAS;CAC5F,oBAAoBA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,yGAAyG,CAAC,CAAC,SAAS;AAC9J,CAAC,CAAC,CAAC,SAAS,wHAAwH;AACpI,MAAa,4BAA4BA,IAAAA,EAAE,OAAO;CAChD,IAAIA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,mCAAmC,CAAC,CAAC,SAAS;CAC5E,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,eAAe,CAAC,CAAC,SAAS;CACpD,QAAQA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,8DAA8D,CAAC,CAAC,SAAS;CACrG,kBAAkBA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,2CAA2C,CAAC,CAAC,SAAS;CAC5F,oBAAoBA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,kDAAkD,CAAC,CAAC,SAAS;AACvG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,4DAA4D;AAEtF,MAAa,sBAITC,eAAAA,OAAO,yBAAyB;CAClC,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAAQ;AACV,CAAC"}
@@ -1,3 +1,5 @@
1
+ import { spoki } from "../app.cjs";
2
+ import { AppAction } from "@keystrokehq/keystroke/app";
1
3
  import { z } from "zod";
2
4
 
3
5
  //#region src/actions/update-campaign.d.ts
@@ -17,24 +19,7 @@ declare const SpokiUpdateCampaignOutput: z.ZodObject<{
17
19
  created_datetime: z.ZodNullable<z.ZodString>;
18
20
  scheduled_datetime: z.ZodNullable<z.ZodString>;
19
21
  }, z.core.$loose>;
20
- declare const spokiUpdateCampaign: import("@keystrokehq/action").WorkflowActionDefinition<{
21
- id: string;
22
- name?: string | undefined;
23
- status?: "Draft" | "Scheduled" | undefined;
24
- scheduled_datetime?: string | undefined;
25
- }, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential<"spoki", z.ZodObject<{
26
- connectionId: z.ZodString;
27
- entityId: z.ZodString;
28
- instanceId: z.ZodString;
29
- }, z.core.$strip>, z.ZodObject<{
30
- generic_api_key: z.ZodString;
31
- }, z.core.$strip>>]>, readonly [import("@keystrokehq/shared").Credential<"spoki", z.ZodObject<{
32
- connectionId: z.ZodString;
33
- entityId: z.ZodString;
34
- instanceId: z.ZodString;
35
- }, z.core.$strip>, z.ZodObject<{
36
- generic_api_key: z.ZodString;
37
- }, z.core.$strip>>]>;
22
+ declare const spokiUpdateCampaign: AppAction<typeof SpokiUpdateCampaignInput, typeof SpokiUpdateCampaignOutput, typeof spoki.credential>;
38
23
  //#endregion
39
24
  export { spokiUpdateCampaign };
40
25
  //# sourceMappingURL=update-campaign.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"update-campaign.d.cts","names":[],"sources":["../../src/actions/update-campaign.ts"],"mappings":";;;cAIa,wBAAA,EAAwB,CAAA,CAAA,SAAA;;;;;;;;;cAMxB,yBAAA,EAAyB,CAAA,CAAA,SAAA;;;;;;;cAQzB,mBAAA,gCAAmB,wBAAA"}
1
+ {"version":3,"file":"update-campaign.d.cts","names":[],"sources":["../../src/actions/update-campaign.ts"],"mappings":";;;;;cAMa,wBAAA,EAAwB,CAAA,CAAA,SAAA;;;;;;;;;cAMxB,yBAAA,EAAyB,CAAA,CAAA,SAAA;;;;;;;cAQzB,mBAAA,EAAqB,SAAA,QACzB,wBAAA,SACA,yBAAA,SACA,KAAA,CAAM,UAAA"}
@@ -1,3 +1,5 @@
1
+ import { spoki } from "../app.mjs";
2
+ import { AppAction } from "@keystrokehq/keystroke/app";
1
3
  import { z } from "zod";
2
4
 
3
5
  //#region src/actions/update-campaign.d.ts
@@ -17,24 +19,7 @@ declare const SpokiUpdateCampaignOutput: z.ZodObject<{
17
19
  created_datetime: z.ZodNullable<z.ZodString>;
18
20
  scheduled_datetime: z.ZodNullable<z.ZodString>;
19
21
  }, z.core.$loose>;
20
- declare const spokiUpdateCampaign: import("@keystrokehq/action").WorkflowActionDefinition<{
21
- id: string;
22
- name?: string | undefined;
23
- status?: "Draft" | "Scheduled" | undefined;
24
- scheduled_datetime?: string | undefined;
25
- }, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential<"spoki", z.ZodObject<{
26
- connectionId: z.ZodString;
27
- entityId: z.ZodString;
28
- instanceId: z.ZodString;
29
- }, z.core.$strip>, z.ZodObject<{
30
- generic_api_key: z.ZodString;
31
- }, z.core.$strip>>]>, readonly [import("@keystrokehq/shared").Credential<"spoki", z.ZodObject<{
32
- connectionId: z.ZodString;
33
- entityId: z.ZodString;
34
- instanceId: z.ZodString;
35
- }, z.core.$strip>, z.ZodObject<{
36
- generic_api_key: z.ZodString;
37
- }, z.core.$strip>>]>;
22
+ declare const spokiUpdateCampaign: AppAction<typeof SpokiUpdateCampaignInput, typeof SpokiUpdateCampaignOutput, typeof spoki.credential>;
38
23
  //#endregion
39
24
  export { spokiUpdateCampaign };
40
25
  //# sourceMappingURL=update-campaign.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"update-campaign.d.mts","names":[],"sources":["../../src/actions/update-campaign.ts"],"mappings":";;;cAIa,wBAAA,EAAwB,CAAA,CAAA,SAAA;;;;;;;;;cAMxB,yBAAA,EAAyB,CAAA,CAAA,SAAA;;;;;;;cAQzB,mBAAA,gCAAmB,wBAAA"}
1
+ {"version":3,"file":"update-campaign.d.mts","names":[],"sources":["../../src/actions/update-campaign.ts"],"mappings":";;;;;cAMa,wBAAA,EAAwB,CAAA,CAAA,SAAA;;;;;;;;;cAMxB,yBAAA,EAAyB,CAAA,CAAA,SAAA;;;;;;;cAQzB,mBAAA,EAAqB,SAAA,QACzB,wBAAA,SACA,yBAAA,SACA,KAAA,CAAM,UAAA"}
@@ -1,3 +1,4 @@
1
+ import "../app.mjs";
1
2
  import { action } from "../action.mjs";
2
3
  import { z } from "zod";
3
4
  const spokiUpdateCampaign = action("SPOKI_UPDATE_CAMPAIGN", {