@keystrokehq/spoki 0.1.0 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/action.cjs.map +1 -1
- package/dist/action.mjs.map +1 -1
- package/dist/actions/add-contact-operator.cjs.map +1 -1
- package/dist/actions/add-contact-operator.d.cts +9 -3
- package/dist/actions/add-contact-operator.d.cts.map +1 -1
- package/dist/actions/add-contact-operator.d.mts +9 -3
- package/dist/actions/add-contact-operator.d.mts.map +1 -1
- package/dist/actions/add-contact-operator.mjs.map +1 -1
- package/dist/actions/add-service-user.cjs +3 -3
- package/dist/actions/add-service-user.cjs.map +1 -1
- package/dist/actions/add-service-user.d.cts +13 -3
- package/dist/actions/add-service-user.d.cts.map +1 -1
- package/dist/actions/add-service-user.d.mts +13 -3
- package/dist/actions/add-service-user.d.mts.map +1 -1
- package/dist/actions/add-service-user.mjs +3 -3
- package/dist/actions/add-service-user.mjs.map +1 -1
- package/dist/actions/check-role-private-key.cjs +1 -1
- package/dist/actions/check-role-private-key.cjs.map +1 -1
- package/dist/actions/check-role-private-key.d.cts +9 -3
- package/dist/actions/check-role-private-key.d.cts.map +1 -1
- package/dist/actions/check-role-private-key.d.mts +9 -3
- package/dist/actions/check-role-private-key.d.mts.map +1 -1
- package/dist/actions/check-role-private-key.mjs +1 -1
- package/dist/actions/check-role-private-key.mjs.map +1 -1
- package/dist/actions/clone-template.cjs +12 -12
- package/dist/actions/clone-template.cjs.map +1 -1
- package/dist/actions/clone-template.d.cts +48 -3
- package/dist/actions/clone-template.d.cts.map +1 -1
- package/dist/actions/clone-template.d.mts +48 -3
- package/dist/actions/clone-template.d.mts.map +1 -1
- package/dist/actions/clone-template.mjs +12 -12
- package/dist/actions/clone-template.mjs.map +1 -1
- package/dist/actions/create-account-onboarding-link.cjs +3 -3
- package/dist/actions/create-account-onboarding-link.cjs.map +1 -1
- package/dist/actions/create-account-onboarding-link.d.cts +11 -3
- package/dist/actions/create-account-onboarding-link.d.cts.map +1 -1
- package/dist/actions/create-account-onboarding-link.d.mts +11 -3
- package/dist/actions/create-account-onboarding-link.d.mts.map +1 -1
- package/dist/actions/create-account-onboarding-link.mjs +3 -3
- package/dist/actions/create-account-onboarding-link.mjs.map +1 -1
- package/dist/actions/create-custom-field.cjs +6 -6
- package/dist/actions/create-custom-field.cjs.map +1 -1
- package/dist/actions/create-custom-field.d.cts +20 -3
- package/dist/actions/create-custom-field.d.cts.map +1 -1
- package/dist/actions/create-custom-field.d.mts +20 -3
- package/dist/actions/create-custom-field.d.mts.map +1 -1
- package/dist/actions/create-custom-field.mjs +6 -6
- package/dist/actions/create-custom-field.mjs.map +1 -1
- package/dist/actions/create-list.cjs +4 -4
- package/dist/actions/create-list.cjs.map +1 -1
- package/dist/actions/create-list.d.cts +13 -3
- package/dist/actions/create-list.d.cts.map +1 -1
- package/dist/actions/create-list.d.mts +13 -3
- package/dist/actions/create-list.d.mts.map +1 -1
- package/dist/actions/create-list.mjs +4 -4
- package/dist/actions/create-list.mjs.map +1 -1
- package/dist/actions/create-media.cjs.map +1 -1
- package/dist/actions/create-media.d.cts +19 -3
- package/dist/actions/create-media.d.cts.map +1 -1
- package/dist/actions/create-media.d.mts +19 -3
- package/dist/actions/create-media.d.mts.map +1 -1
- package/dist/actions/create-media.mjs.map +1 -1
- package/dist/actions/create-or-update-contact.cjs +8 -8
- package/dist/actions/create-or-update-contact.cjs.map +1 -1
- package/dist/actions/create-or-update-contact.d.cts +30 -3
- package/dist/actions/create-or-update-contact.d.cts.map +1 -1
- package/dist/actions/create-or-update-contact.d.mts +30 -3
- package/dist/actions/create-or-update-contact.d.mts.map +1 -1
- package/dist/actions/create-or-update-contact.mjs +8 -8
- package/dist/actions/create-or-update-contact.mjs.map +1 -1
- package/dist/actions/create-template.cjs +9 -9
- package/dist/actions/create-template.cjs.map +1 -1
- package/dist/actions/create-template.d.cts +93 -3
- package/dist/actions/create-template.d.cts.map +1 -1
- package/dist/actions/create-template.d.mts +93 -3
- package/dist/actions/create-template.d.mts.map +1 -1
- package/dist/actions/create-template.mjs +9 -9
- package/dist/actions/create-template.mjs.map +1 -1
- package/dist/actions/create-ticket.cjs +21 -21
- package/dist/actions/create-ticket.cjs.map +1 -1
- package/dist/actions/create-ticket.d.cts +65 -3
- package/dist/actions/create-ticket.d.cts.map +1 -1
- package/dist/actions/create-ticket.d.mts +65 -3
- package/dist/actions/create-ticket.d.mts.map +1 -1
- package/dist/actions/create-ticket.mjs +21 -21
- package/dist/actions/create-ticket.mjs.map +1 -1
- package/dist/actions/delete-contact.cjs.map +1 -1
- package/dist/actions/delete-contact.d.cts +7 -3
- package/dist/actions/delete-contact.d.cts.map +1 -1
- package/dist/actions/delete-contact.d.mts +7 -3
- package/dist/actions/delete-contact.d.mts.map +1 -1
- package/dist/actions/delete-contact.mjs.map +1 -1
- package/dist/actions/delete-custom-field.cjs.map +1 -1
- package/dist/actions/delete-custom-field.d.cts +7 -3
- package/dist/actions/delete-custom-field.d.cts.map +1 -1
- package/dist/actions/delete-custom-field.d.mts +7 -3
- package/dist/actions/delete-custom-field.d.mts.map +1 -1
- package/dist/actions/delete-custom-field.mjs.map +1 -1
- package/dist/actions/delete-list.cjs.map +1 -1
- package/dist/actions/delete-list.d.cts +7 -3
- package/dist/actions/delete-list.d.cts.map +1 -1
- package/dist/actions/delete-list.d.mts +7 -3
- package/dist/actions/delete-list.d.mts.map +1 -1
- package/dist/actions/delete-list.mjs.map +1 -1
- package/dist/actions/delete-media.cjs.map +1 -1
- package/dist/actions/delete-media.d.cts +7 -3
- package/dist/actions/delete-media.d.cts.map +1 -1
- package/dist/actions/delete-media.d.mts +7 -3
- package/dist/actions/delete-media.d.mts.map +1 -1
- package/dist/actions/delete-media.mjs.map +1 -1
- package/dist/actions/delete-role.cjs.map +1 -1
- package/dist/actions/delete-role.d.cts +7 -3
- package/dist/actions/delete-role.d.cts.map +1 -1
- package/dist/actions/delete-role.d.mts +7 -3
- package/dist/actions/delete-role.d.mts.map +1 -1
- package/dist/actions/delete-role.mjs.map +1 -1
- package/dist/actions/delete-template.cjs.map +1 -1
- package/dist/actions/delete-template.d.cts +11 -3
- package/dist/actions/delete-template.d.cts.map +1 -1
- package/dist/actions/delete-template.d.mts +11 -3
- package/dist/actions/delete-template.d.mts.map +1 -1
- package/dist/actions/delete-template.mjs.map +1 -1
- package/dist/actions/delete-ticket.cjs.map +1 -1
- package/dist/actions/delete-ticket.d.cts +7 -3
- package/dist/actions/delete-ticket.d.cts.map +1 -1
- package/dist/actions/delete-ticket.d.mts +7 -3
- package/dist/actions/delete-ticket.d.mts.map +1 -1
- package/dist/actions/delete-ticket.mjs.map +1 -1
- package/dist/actions/generate-role-private-key.cjs +1 -1
- package/dist/actions/generate-role-private-key.cjs.map +1 -1
- package/dist/actions/generate-role-private-key.d.cts +9 -3
- package/dist/actions/generate-role-private-key.d.cts.map +1 -1
- package/dist/actions/generate-role-private-key.d.mts +9 -3
- package/dist/actions/generate-role-private-key.d.mts.map +1 -1
- package/dist/actions/generate-role-private-key.mjs +1 -1
- package/dist/actions/generate-role-private-key.mjs.map +1 -1
- package/dist/actions/get-account-current-report.cjs.map +1 -1
- package/dist/actions/get-account-current-report.d.cts +22 -3
- package/dist/actions/get-account-current-report.d.cts.map +1 -1
- package/dist/actions/get-account-current-report.d.mts +22 -3
- package/dist/actions/get-account-current-report.d.mts.map +1 -1
- package/dist/actions/get-account-current-report.mjs.map +1 -1
- package/dist/actions/list-accounts.cjs +23 -23
- package/dist/actions/list-accounts.cjs.map +1 -1
- package/dist/actions/list-accounts.d.cts +42 -3
- package/dist/actions/list-accounts.d.cts.map +1 -1
- package/dist/actions/list-accounts.d.mts +42 -3
- package/dist/actions/list-accounts.d.mts.map +1 -1
- package/dist/actions/list-accounts.mjs +23 -23
- package/dist/actions/list-accounts.mjs.map +1 -1
- package/dist/actions/list-agencies.cjs.map +1 -1
- package/dist/actions/list-agencies.d.cts +3 -3
- package/dist/actions/list-agencies.d.cts.map +1 -1
- package/dist/actions/list-agencies.d.mts +3 -3
- package/dist/actions/list-agencies.d.mts.map +1 -1
- package/dist/actions/list-agencies.mjs.map +1 -1
- package/dist/actions/list-automations.cjs +11 -11
- package/dist/actions/list-automations.cjs.map +1 -1
- package/dist/actions/list-automations.d.cts +52 -3
- package/dist/actions/list-automations.d.cts.map +1 -1
- package/dist/actions/list-automations.d.mts +52 -3
- package/dist/actions/list-automations.d.mts.map +1 -1
- package/dist/actions/list-automations.mjs +11 -11
- package/dist/actions/list-automations.mjs.map +1 -1
- package/dist/actions/list-campaigns.cjs +22 -22
- package/dist/actions/list-campaigns.cjs.map +1 -1
- package/dist/actions/list-campaigns.d.cts +46 -3
- package/dist/actions/list-campaigns.d.cts.map +1 -1
- package/dist/actions/list-campaigns.d.mts +46 -3
- package/dist/actions/list-campaigns.d.mts.map +1 -1
- package/dist/actions/list-campaigns.mjs +22 -22
- package/dist/actions/list-campaigns.mjs.map +1 -1
- package/dist/actions/list-contacts.cjs +18 -18
- package/dist/actions/list-contacts.cjs.map +1 -1
- package/dist/actions/list-contacts.d.cts +60 -3
- package/dist/actions/list-contacts.d.cts.map +1 -1
- package/dist/actions/list-contacts.d.mts +60 -3
- package/dist/actions/list-contacts.d.mts.map +1 -1
- package/dist/actions/list-contacts.mjs +18 -18
- package/dist/actions/list-contacts.mjs.map +1 -1
- package/dist/actions/list-custom-fields.cjs +5 -5
- package/dist/actions/list-custom-fields.cjs.map +1 -1
- package/dist/actions/list-custom-fields.d.cts +18 -3
- package/dist/actions/list-custom-fields.d.cts.map +1 -1
- package/dist/actions/list-custom-fields.d.mts +18 -3
- package/dist/actions/list-custom-fields.d.mts.map +1 -1
- package/dist/actions/list-custom-fields.mjs +5 -5
- package/dist/actions/list-custom-fields.mjs.map +1 -1
- package/dist/actions/list-lists.cjs +5 -5
- package/dist/actions/list-lists.cjs.map +1 -1
- package/dist/actions/list-lists.d.cts +22 -3
- package/dist/actions/list-lists.d.cts.map +1 -1
- package/dist/actions/list-lists.d.mts +22 -3
- package/dist/actions/list-lists.d.mts.map +1 -1
- package/dist/actions/list-lists.mjs +5 -5
- package/dist/actions/list-lists.mjs.map +1 -1
- package/dist/actions/list-media.cjs +7 -7
- package/dist/actions/list-media.cjs.map +1 -1
- package/dist/actions/list-media.d.cts +23 -3
- package/dist/actions/list-media.d.cts.map +1 -1
- package/dist/actions/list-media.d.mts +23 -3
- package/dist/actions/list-media.d.mts.map +1 -1
- package/dist/actions/list-media.mjs +7 -7
- package/dist/actions/list-media.mjs.map +1 -1
- package/dist/actions/list-partners.cjs.map +1 -1
- package/dist/actions/list-partners.d.cts +3 -3
- package/dist/actions/list-partners.d.cts.map +1 -1
- package/dist/actions/list-partners.d.mts +3 -3
- package/dist/actions/list-partners.d.mts.map +1 -1
- package/dist/actions/list-partners.mjs.map +1 -1
- package/dist/actions/list-reports.cjs +1 -1
- package/dist/actions/list-reports.cjs.map +1 -1
- package/dist/actions/list-reports.d.cts +35 -3
- package/dist/actions/list-reports.d.cts.map +1 -1
- package/dist/actions/list-reports.d.mts +35 -3
- package/dist/actions/list-reports.d.mts.map +1 -1
- package/dist/actions/list-reports.mjs +1 -1
- package/dist/actions/list-reports.mjs.map +1 -1
- package/dist/actions/list-roles.cjs +12 -12
- package/dist/actions/list-roles.cjs.map +1 -1
- package/dist/actions/list-roles.d.cts +23 -3
- package/dist/actions/list-roles.d.cts.map +1 -1
- package/dist/actions/list-roles.d.mts +23 -3
- package/dist/actions/list-roles.d.mts.map +1 -1
- package/dist/actions/list-roles.mjs +12 -12
- package/dist/actions/list-roles.mjs.map +1 -1
- package/dist/actions/list-tags.cjs +5 -5
- package/dist/actions/list-tags.cjs.map +1 -1
- package/dist/actions/list-tags.d.cts +13 -3
- package/dist/actions/list-tags.d.cts.map +1 -1
- package/dist/actions/list-tags.d.mts +13 -3
- package/dist/actions/list-tags.d.mts.map +1 -1
- package/dist/actions/list-tags.mjs +5 -5
- package/dist/actions/list-tags.mjs.map +1 -1
- package/dist/actions/list-templates.cjs +15 -15
- package/dist/actions/list-templates.cjs.map +1 -1
- package/dist/actions/list-templates.d.cts +51 -3
- package/dist/actions/list-templates.d.cts.map +1 -1
- package/dist/actions/list-templates.d.mts +51 -3
- package/dist/actions/list-templates.d.mts.map +1 -1
- package/dist/actions/list-templates.mjs +15 -15
- package/dist/actions/list-templates.mjs.map +1 -1
- package/dist/actions/list-tickets.cjs +22 -22
- package/dist/actions/list-tickets.cjs.map +1 -1
- package/dist/actions/list-tickets.d.cts +63 -3
- package/dist/actions/list-tickets.d.cts.map +1 -1
- package/dist/actions/list-tickets.d.mts +63 -3
- package/dist/actions/list-tickets.d.mts.map +1 -1
- package/dist/actions/list-tickets.mjs +22 -22
- package/dist/actions/list-tickets.mjs.map +1 -1
- package/dist/actions/remove-all-list-contacts.cjs.map +1 -1
- package/dist/actions/remove-all-list-contacts.d.cts +9 -3
- package/dist/actions/remove-all-list-contacts.d.cts.map +1 -1
- package/dist/actions/remove-all-list-contacts.d.mts +9 -3
- package/dist/actions/remove-all-list-contacts.d.mts.map +1 -1
- package/dist/actions/remove-all-list-contacts.mjs.map +1 -1
- package/dist/actions/remove-contact-operator.cjs.map +1 -1
- package/dist/actions/remove-contact-operator.d.cts +11 -3
- package/dist/actions/remove-contact-operator.d.cts.map +1 -1
- package/dist/actions/remove-contact-operator.d.mts +11 -3
- package/dist/actions/remove-contact-operator.d.mts.map +1 -1
- package/dist/actions/remove-contact-operator.mjs.map +1 -1
- package/dist/actions/remove-list-contacts.cjs.map +1 -1
- package/dist/actions/remove-list-contacts.d.cts +11 -3
- package/dist/actions/remove-list-contacts.d.cts.map +1 -1
- package/dist/actions/remove-list-contacts.d.mts +11 -3
- package/dist/actions/remove-list-contacts.d.mts.map +1 -1
- package/dist/actions/remove-list-contacts.mjs.map +1 -1
- package/dist/actions/resend-invitation.cjs.map +1 -1
- package/dist/actions/resend-invitation.d.cts +10 -3
- package/dist/actions/resend-invitation.d.cts.map +1 -1
- package/dist/actions/resend-invitation.d.mts +10 -3
- package/dist/actions/resend-invitation.d.mts.map +1 -1
- package/dist/actions/resend-invitation.mjs.map +1 -1
- package/dist/actions/retrieve-account.cjs +22 -22
- package/dist/actions/retrieve-account.cjs.map +1 -1
- package/dist/actions/retrieve-account.d.cts +35 -3
- package/dist/actions/retrieve-account.d.cts.map +1 -1
- package/dist/actions/retrieve-account.d.mts +35 -3
- package/dist/actions/retrieve-account.d.mts.map +1 -1
- package/dist/actions/retrieve-account.mjs +22 -22
- package/dist/actions/retrieve-account.mjs.map +1 -1
- package/dist/actions/retrieve-automation.cjs +10 -10
- package/dist/actions/retrieve-automation.cjs.map +1 -1
- package/dist/actions/retrieve-automation.d.cts +23 -3
- package/dist/actions/retrieve-automation.d.cts.map +1 -1
- package/dist/actions/retrieve-automation.d.mts +23 -3
- package/dist/actions/retrieve-automation.d.mts.map +1 -1
- package/dist/actions/retrieve-automation.mjs +10 -10
- package/dist/actions/retrieve-automation.mjs.map +1 -1
- package/dist/actions/retrieve-contact.cjs +23 -23
- package/dist/actions/retrieve-contact.cjs.map +1 -1
- package/dist/actions/retrieve-contact.d.cts +45 -3
- package/dist/actions/retrieve-contact.d.cts.map +1 -1
- package/dist/actions/retrieve-contact.d.mts +45 -3
- package/dist/actions/retrieve-contact.d.mts.map +1 -1
- package/dist/actions/retrieve-contact.mjs +23 -23
- package/dist/actions/retrieve-contact.mjs.map +1 -1
- package/dist/actions/retrieve-custom-field.cjs +5 -5
- package/dist/actions/retrieve-custom-field.cjs.map +1 -1
- package/dist/actions/retrieve-custom-field.d.cts +14 -3
- package/dist/actions/retrieve-custom-field.d.cts.map +1 -1
- package/dist/actions/retrieve-custom-field.d.mts +14 -3
- package/dist/actions/retrieve-custom-field.d.mts.map +1 -1
- package/dist/actions/retrieve-custom-field.mjs +5 -5
- package/dist/actions/retrieve-custom-field.mjs.map +1 -1
- package/dist/actions/retrieve-list.cjs +4 -4
- package/dist/actions/retrieve-list.cjs.map +1 -1
- package/dist/actions/retrieve-list.d.cts +13 -3
- package/dist/actions/retrieve-list.d.cts.map +1 -1
- package/dist/actions/retrieve-list.d.mts +13 -3
- package/dist/actions/retrieve-list.d.mts.map +1 -1
- package/dist/actions/retrieve-list.mjs +4 -4
- package/dist/actions/retrieve-list.mjs.map +1 -1
- package/dist/actions/retrieve-media.cjs.map +1 -1
- package/dist/actions/retrieve-media.d.cts +16 -3
- package/dist/actions/retrieve-media.d.cts.map +1 -1
- package/dist/actions/retrieve-media.d.mts +16 -3
- package/dist/actions/retrieve-media.d.mts.map +1 -1
- package/dist/actions/retrieve-media.mjs.map +1 -1
- package/dist/actions/retrieve-role.cjs.map +1 -1
- package/dist/actions/retrieve-role.d.cts +22 -3
- package/dist/actions/retrieve-role.d.cts.map +1 -1
- package/dist/actions/retrieve-role.d.mts +22 -3
- package/dist/actions/retrieve-role.d.mts.map +1 -1
- package/dist/actions/retrieve-role.mjs.map +1 -1
- package/dist/actions/retrieve-tag.cjs.map +1 -1
- package/dist/actions/retrieve-tag.d.cts +12 -3
- package/dist/actions/retrieve-tag.d.cts.map +1 -1
- package/dist/actions/retrieve-tag.d.mts +12 -3
- package/dist/actions/retrieve-tag.d.mts.map +1 -1
- package/dist/actions/retrieve-tag.mjs.map +1 -1
- package/dist/actions/retrieve-template.cjs +14 -14
- package/dist/actions/retrieve-template.cjs.map +1 -1
- package/dist/actions/retrieve-template.d.cts +45 -3
- package/dist/actions/retrieve-template.d.cts.map +1 -1
- package/dist/actions/retrieve-template.d.mts +45 -3
- package/dist/actions/retrieve-template.d.mts.map +1 -1
- package/dist/actions/retrieve-template.mjs +14 -14
- package/dist/actions/retrieve-template.mjs.map +1 -1
- package/dist/actions/revert-template-to-draft.cjs +1 -1
- package/dist/actions/revert-template-to-draft.cjs.map +1 -1
- package/dist/actions/revert-template-to-draft.d.cts +9 -3
- package/dist/actions/revert-template-to-draft.d.cts.map +1 -1
- package/dist/actions/revert-template-to-draft.d.mts +9 -3
- package/dist/actions/revert-template-to-draft.d.mts.map +1 -1
- package/dist/actions/revert-template-to-draft.mjs +1 -1
- package/dist/actions/revert-template-to-draft.mjs.map +1 -1
- package/dist/actions/sync-contacts-bulk.cjs +8 -8
- package/dist/actions/sync-contacts-bulk.cjs.map +1 -1
- package/dist/actions/sync-contacts-bulk.d.cts +40 -3
- package/dist/actions/sync-contacts-bulk.d.cts.map +1 -1
- package/dist/actions/sync-contacts-bulk.d.mts +40 -3
- package/dist/actions/sync-contacts-bulk.d.mts.map +1 -1
- package/dist/actions/sync-contacts-bulk.mjs +8 -8
- package/dist/actions/sync-contacts-bulk.mjs.map +1 -1
- package/dist/actions/sync-list-contacts.cjs.map +1 -1
- package/dist/actions/sync-list-contacts.d.cts +25 -3
- package/dist/actions/sync-list-contacts.d.cts.map +1 -1
- package/dist/actions/sync-list-contacts.d.mts +25 -3
- package/dist/actions/sync-list-contacts.d.mts.map +1 -1
- package/dist/actions/sync-list-contacts.mjs.map +1 -1
- package/dist/actions/update-campaign.cjs +5 -5
- package/dist/actions/update-campaign.cjs.map +1 -1
- package/dist/actions/update-campaign.d.cts +22 -3
- package/dist/actions/update-campaign.d.cts.map +1 -1
- package/dist/actions/update-campaign.d.mts +22 -3
- package/dist/actions/update-campaign.d.mts.map +1 -1
- package/dist/actions/update-campaign.mjs +5 -5
- package/dist/actions/update-campaign.mjs.map +1 -1
- package/dist/actions/update-contact.cjs +5 -5
- package/dist/actions/update-contact.cjs.map +1 -1
- package/dist/actions/update-contact.d.cts +32 -3
- package/dist/actions/update-contact.d.cts.map +1 -1
- package/dist/actions/update-contact.d.mts +32 -3
- package/dist/actions/update-contact.d.mts.map +1 -1
- package/dist/actions/update-contact.mjs +5 -5
- package/dist/actions/update-contact.mjs.map +1 -1
- package/dist/actions/update-custom-field.cjs +5 -5
- package/dist/actions/update-custom-field.cjs.map +1 -1
- package/dist/actions/update-custom-field.d.cts +16 -3
- package/dist/actions/update-custom-field.d.cts.map +1 -1
- package/dist/actions/update-custom-field.d.mts +16 -3
- package/dist/actions/update-custom-field.d.mts.map +1 -1
- package/dist/actions/update-custom-field.mjs +5 -5
- package/dist/actions/update-custom-field.mjs.map +1 -1
- package/dist/actions/update-invitation-role.cjs.map +1 -1
- package/dist/actions/update-invitation-role.d.cts +14 -3
- package/dist/actions/update-invitation-role.d.cts.map +1 -1
- package/dist/actions/update-invitation-role.d.mts +14 -3
- package/dist/actions/update-invitation-role.d.mts.map +1 -1
- package/dist/actions/update-invitation-role.mjs.map +1 -1
- package/dist/actions/update-media.cjs +2 -2
- package/dist/actions/update-media.cjs.map +1 -1
- package/dist/actions/update-media.d.cts +18 -3
- package/dist/actions/update-media.d.cts.map +1 -1
- package/dist/actions/update-media.d.mts +18 -3
- package/dist/actions/update-media.d.mts.map +1 -1
- package/dist/actions/update-media.mjs +2 -2
- package/dist/actions/update-media.mjs.map +1 -1
- package/dist/actions/update-role.cjs +2 -2
- package/dist/actions/update-role.cjs.map +1 -1
- package/dist/actions/update-role.d.cts +13 -3
- package/dist/actions/update-role.d.cts.map +1 -1
- package/dist/actions/update-role.d.mts +13 -3
- package/dist/actions/update-role.d.mts.map +1 -1
- package/dist/actions/update-role.mjs +2 -2
- package/dist/actions/update-role.mjs.map +1 -1
- package/dist/actions/update-template.cjs +5 -5
- package/dist/actions/update-template.cjs.map +1 -1
- package/dist/actions/update-template.d.cts +81 -3
- package/dist/actions/update-template.d.cts.map +1 -1
- package/dist/actions/update-template.d.mts +81 -3
- package/dist/actions/update-template.d.mts.map +1 -1
- package/dist/actions/update-template.mjs +5 -5
- package/dist/actions/update-template.mjs.map +1 -1
- package/dist/catalog.cjs +7 -1
- package/dist/catalog.cjs.map +1 -1
- package/dist/catalog.d.cts +8 -0
- package/dist/catalog.d.mts +8 -0
- package/dist/catalog.mjs +7 -1
- package/dist/catalog.mjs.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-or-update-contact.cjs","names":["z","action"],"sources":["../../src/actions/create-or-update-contact.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const SpokiCreateOrUpdateContactInput
|
|
1
|
+
{"version":3,"file":"create-or-update-contact.cjs","names":["z","action"],"sources":["../../src/actions/create-or-update-contact.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const SpokiCreateOrUpdateContactInput = z.object({\n email: z.string().describe(\"Email address of the contact. Must be a valid email format\").optional(),\n phone: z.string().describe(\"Contact phone number in E.164 international format (must include country code with + prefix). Examples: '+393331234567' (Italy), '+14155552671' (USA), '+447700900123' (UK)\"),\n language: z.string().describe(\"ISO 639-1 two-letter language code for the contact's preferred language. Common values: 'en' (English), 'it' (Italian), 'es' (Spanish), 'de' (German), 'pt' (Portuguese), 'fr' (French). Defaults to 'en' if not specified\").optional(),\n last_name: z.string().describe(\"Last name of the contact. Supports Unicode characters and special characters like hyphens and apostrophes (e.g., 'O'Brien-Müller')\").optional(),\n first_name: z.string().describe(\"First name of the contact. Supports Unicode characters for international names (e.g., 'François', 'María', 'João')\").optional(),\n custom_fields: z.object({}).describe(\"Dictionary of custom field names and their values. Use this to store additional contact information beyond standard fields (e.g., {'company': 'Acme Corp', 'employee_id': 'EMP-12345'})\").optional(),\n});\nexport const SpokiCreateOrUpdateContactOutput = z.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});\n\nexport const spokiCreateOrUpdateContact = action(\"SPOKI_CREATE_OR_UPDATE_CONTACT\", {\n slug: \"spoki-create-or-update-contact\",\n name: \"Create or Update Contact\",\n description: \"Creates a new contact or updates an existing contact in Spoki using the phone number as the unique identifier. This action performs an \\\"upsert\\\" operation: - If a contact with the provided phone number exists, it will be updated with the new information - If no contact exists with that phone number, a new contact will be created Use this when you need to: - Add new contacts to your Spoki account - Update existing contact information (name, email, language, custom fields) - Ensure contact records are synchronized with external systems The phone number must be in E.164 format (international format with country code).\",\n input: SpokiCreateOrUpdateContactInput,\n output: SpokiCreateOrUpdateContactOutput,\n});\n"],"mappings":";;;AAIA,MAAa,kCAAkCA,IAAAA,EAAE,OAAO;CACtD,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,4DAA4D,CAAC,CAAC,SAAS;CAClG,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,6KAA6K;CACxM,UAAUA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,4NAA4N,CAAC,CAAC,SAAS;CACrQ,WAAWA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,oIAAoI,CAAC,CAAC,SAAS;CAC9K,YAAYA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,oHAAoH,CAAC,CAAC,SAAS;CAC/J,eAAeA,IAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,yLAAyL,CAAC,CAAC,SAAS;AAC3O,CAAC;AACD,MAAa,mCAAmCA,IAAAA,EAAE,OAAO;CACvD,IAAIA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,0BAA0B,CAAC,CAAC,SAAS;CACnE,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,8BAA8B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC/E,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,sCAAsC,CAAC,CAAC,SAAS;CAC5E,UAAUA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,uDAAuD,CAAC,CAAC,SAAS;CAChG,UAAUA,IAAAA,EAAE,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,uCAAuC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACpG,WAAWA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,yDAAyD,CAAC,CAAC,SAAS;CACnG,WAAWA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,0BAA0B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC/E,YAAYA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,2BAA2B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACjF,YAAYA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,gCAAgC,CAAC,CAAC,SAAS;CAC5E,eAAeA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,mCAAmC,CAAC,CAAC,SAAS;CAClF,mBAAmBA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,qCAAqC,CAAC,CAAC,SAAS;CACxF,uBAAuBA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,yDAAyD,CAAC,CAAC,SAAS;AAClH,CAAC;AAED,MAAa,6BAA6BC,eAAAA,OAAO,kCAAkC;CACjF,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAAQ;AACV,CAAC"}
|
|
@@ -1,9 +1,36 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
|
|
3
3
|
//#region src/actions/create-or-update-contact.d.ts
|
|
4
|
-
declare const SpokiCreateOrUpdateContactInput: z.
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
declare const SpokiCreateOrUpdateContactInput: z.ZodObject<{
|
|
5
|
+
email: z.ZodOptional<z.ZodString>;
|
|
6
|
+
phone: z.ZodString;
|
|
7
|
+
language: z.ZodOptional<z.ZodString>;
|
|
8
|
+
last_name: z.ZodOptional<z.ZodString>;
|
|
9
|
+
first_name: z.ZodOptional<z.ZodString>;
|
|
10
|
+
custom_fields: z.ZodOptional<z.ZodObject<{}, z.core.$strip>>;
|
|
11
|
+
}, z.core.$strip>;
|
|
12
|
+
declare const SpokiCreateOrUpdateContactOutput: z.ZodObject<{
|
|
13
|
+
id: z.ZodNullable<z.ZodNumber>;
|
|
14
|
+
email: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
15
|
+
phone: z.ZodNullable<z.ZodString>;
|
|
16
|
+
language: z.ZodNullable<z.ZodString>;
|
|
17
|
+
role_set: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
|
|
18
|
+
chat_link: z.ZodNullable<z.ZodString>;
|
|
19
|
+
last_name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
20
|
+
first_name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
21
|
+
is_blocked: z.ZodNullable<z.ZodBoolean>;
|
|
22
|
+
is_restricted: z.ZodNullable<z.ZodBoolean>;
|
|
23
|
+
has_invalid_phone: z.ZodNullable<z.ZodBoolean>;
|
|
24
|
+
is_first_message_sent: z.ZodNullable<z.ZodBoolean>;
|
|
25
|
+
}, z.core.$strip>;
|
|
26
|
+
declare const spokiCreateOrUpdateContact: import("@keystrokehq/action").WorkflowActionDefinition<{
|
|
27
|
+
phone: string;
|
|
28
|
+
email?: string | undefined;
|
|
29
|
+
language?: string | undefined;
|
|
30
|
+
last_name?: string | undefined;
|
|
31
|
+
first_name?: string | undefined;
|
|
32
|
+
custom_fields?: Record<string, never> | undefined;
|
|
33
|
+
}, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
|
|
7
34
|
//#endregion
|
|
8
35
|
export { spokiCreateOrUpdateContact };
|
|
9
36
|
//# sourceMappingURL=create-or-update-contact.d.cts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-or-update-contact.d.cts","names":[],"sources":["../../src/actions/create-or-update-contact.ts"],"mappings":";;;cAIa,+BAAA,
|
|
1
|
+
{"version":3,"file":"create-or-update-contact.d.cts","names":[],"sources":["../../src/actions/create-or-update-contact.ts"],"mappings":";;;cAIa,+BAAA,EAA+B,CAAA,CAAA,SAAA;;;;;;;;cAQ/B,gCAAA,EAAgC,CAAA,CAAA,SAAA;;;;;;;;;;;;;;cAehC,0BAAA,gCAA0B,wBAAA;;;;;;kBAMrC,MAAA;AAAA"}
|
|
@@ -1,9 +1,36 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
|
|
3
3
|
//#region src/actions/create-or-update-contact.d.ts
|
|
4
|
-
declare const SpokiCreateOrUpdateContactInput: z.
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
declare const SpokiCreateOrUpdateContactInput: z.ZodObject<{
|
|
5
|
+
email: z.ZodOptional<z.ZodString>;
|
|
6
|
+
phone: z.ZodString;
|
|
7
|
+
language: z.ZodOptional<z.ZodString>;
|
|
8
|
+
last_name: z.ZodOptional<z.ZodString>;
|
|
9
|
+
first_name: z.ZodOptional<z.ZodString>;
|
|
10
|
+
custom_fields: z.ZodOptional<z.ZodObject<{}, z.core.$strip>>;
|
|
11
|
+
}, z.core.$strip>;
|
|
12
|
+
declare const SpokiCreateOrUpdateContactOutput: z.ZodObject<{
|
|
13
|
+
id: z.ZodNullable<z.ZodNumber>;
|
|
14
|
+
email: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
15
|
+
phone: z.ZodNullable<z.ZodString>;
|
|
16
|
+
language: z.ZodNullable<z.ZodString>;
|
|
17
|
+
role_set: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
|
|
18
|
+
chat_link: z.ZodNullable<z.ZodString>;
|
|
19
|
+
last_name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
20
|
+
first_name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
21
|
+
is_blocked: z.ZodNullable<z.ZodBoolean>;
|
|
22
|
+
is_restricted: z.ZodNullable<z.ZodBoolean>;
|
|
23
|
+
has_invalid_phone: z.ZodNullable<z.ZodBoolean>;
|
|
24
|
+
is_first_message_sent: z.ZodNullable<z.ZodBoolean>;
|
|
25
|
+
}, z.core.$strip>;
|
|
26
|
+
declare const spokiCreateOrUpdateContact: import("@keystrokehq/action").WorkflowActionDefinition<{
|
|
27
|
+
phone: string;
|
|
28
|
+
email?: string | undefined;
|
|
29
|
+
language?: string | undefined;
|
|
30
|
+
last_name?: string | undefined;
|
|
31
|
+
first_name?: string | undefined;
|
|
32
|
+
custom_fields?: Record<string, never> | undefined;
|
|
33
|
+
}, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
|
|
7
34
|
//#endregion
|
|
8
35
|
export { spokiCreateOrUpdateContact };
|
|
9
36
|
//# sourceMappingURL=create-or-update-contact.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-or-update-contact.d.mts","names":[],"sources":["../../src/actions/create-or-update-contact.ts"],"mappings":";;;cAIa,+BAAA,
|
|
1
|
+
{"version":3,"file":"create-or-update-contact.d.mts","names":[],"sources":["../../src/actions/create-or-update-contact.ts"],"mappings":";;;cAIa,+BAAA,EAA+B,CAAA,CAAA,SAAA;;;;;;;;cAQ/B,gCAAA,EAAgC,CAAA,CAAA,SAAA;;;;;;;;;;;;;;cAehC,0BAAA,gCAA0B,wBAAA;;;;;;kBAMrC,MAAA;AAAA"}
|
|
@@ -13,18 +13,18 @@ const spokiCreateOrUpdateContact = action("SPOKI_CREATE_OR_UPDATE_CONTACT", {
|
|
|
13
13
|
custom_fields: z.object({}).describe("Dictionary of custom field names and their values. Use this to store additional contact information beyond standard fields (e.g., {'company': 'Acme Corp', 'employee_id': 'EMP-12345'})").optional()
|
|
14
14
|
}),
|
|
15
15
|
output: z.object({
|
|
16
|
-
id: z.number().int().describe("Unique ID of the contact"),
|
|
16
|
+
id: z.number().int().describe("Unique ID of the contact").nullable(),
|
|
17
17
|
email: z.string().describe("Email address of the contact").nullable().optional(),
|
|
18
|
-
phone: z.string().describe("Contact phone number in E.164 format"),
|
|
19
|
-
language: z.string().describe("Language code of the contact (e.g., 'en', 'it', 'es')"),
|
|
18
|
+
phone: z.string().describe("Contact phone number in E.164 format").nullable(),
|
|
19
|
+
language: z.string().describe("Language code of the contact (e.g., 'en', 'it', 'es')").nullable(),
|
|
20
20
|
role_set: z.array(z.string()).describe("List of roles assigned to the contact").nullable().optional(),
|
|
21
|
-
chat_link: z.string().describe("Direct link to chat with this contact on Spoki platform"),
|
|
21
|
+
chat_link: z.string().describe("Direct link to chat with this contact on Spoki platform").nullable(),
|
|
22
22
|
last_name: z.string().describe("Last name of the contact").nullable().optional(),
|
|
23
23
|
first_name: z.string().describe("First name of the contact").nullable().optional(),
|
|
24
|
-
is_blocked: z.boolean().describe("Whether the contact is blocked"),
|
|
25
|
-
is_restricted: z.boolean().describe("Whether the contact is restricted"),
|
|
26
|
-
has_invalid_phone: z.boolean().describe("Whether the phone number is invalid"),
|
|
27
|
-
is_first_message_sent: z.boolean().describe("Whether the first message has been sent to this contact")
|
|
24
|
+
is_blocked: z.boolean().describe("Whether the contact is blocked").nullable(),
|
|
25
|
+
is_restricted: z.boolean().describe("Whether the contact is restricted").nullable(),
|
|
26
|
+
has_invalid_phone: z.boolean().describe("Whether the phone number is invalid").nullable(),
|
|
27
|
+
is_first_message_sent: z.boolean().describe("Whether the first message has been sent to this contact").nullable()
|
|
28
28
|
})
|
|
29
29
|
});
|
|
30
30
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-or-update-contact.mjs","names":[],"sources":["../../src/actions/create-or-update-contact.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const SpokiCreateOrUpdateContactInput
|
|
1
|
+
{"version":3,"file":"create-or-update-contact.mjs","names":[],"sources":["../../src/actions/create-or-update-contact.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const SpokiCreateOrUpdateContactInput = z.object({\n email: z.string().describe(\"Email address of the contact. Must be a valid email format\").optional(),\n phone: z.string().describe(\"Contact phone number in E.164 international format (must include country code with + prefix). Examples: '+393331234567' (Italy), '+14155552671' (USA), '+447700900123' (UK)\"),\n language: z.string().describe(\"ISO 639-1 two-letter language code for the contact's preferred language. Common values: 'en' (English), 'it' (Italian), 'es' (Spanish), 'de' (German), 'pt' (Portuguese), 'fr' (French). Defaults to 'en' if not specified\").optional(),\n last_name: z.string().describe(\"Last name of the contact. Supports Unicode characters and special characters like hyphens and apostrophes (e.g., 'O'Brien-Müller')\").optional(),\n first_name: z.string().describe(\"First name of the contact. Supports Unicode characters for international names (e.g., 'François', 'María', 'João')\").optional(),\n custom_fields: z.object({}).describe(\"Dictionary of custom field names and their values. Use this to store additional contact information beyond standard fields (e.g., {'company': 'Acme Corp', 'employee_id': 'EMP-12345'})\").optional(),\n});\nexport const SpokiCreateOrUpdateContactOutput = z.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});\n\nexport const spokiCreateOrUpdateContact = action(\"SPOKI_CREATE_OR_UPDATE_CONTACT\", {\n slug: \"spoki-create-or-update-contact\",\n name: \"Create or Update Contact\",\n description: \"Creates a new contact or updates an existing contact in Spoki using the phone number as the unique identifier. This action performs an \\\"upsert\\\" operation: - If a contact with the provided phone number exists, it will be updated with the new information - If no contact exists with that phone number, a new contact will be created Use this when you need to: - Add new contacts to your Spoki account - Update existing contact information (name, email, language, custom fields) - Ensure contact records are synchronized with external systems The phone number must be in E.164 format (international format with country code).\",\n input: SpokiCreateOrUpdateContactInput,\n output: SpokiCreateOrUpdateContactOutput,\n});\n"],"mappings":";;AA2BA,MAAa,6BAA6B,OAAO,kCAAkC;CACjF,MAAM;CACN,MAAM;CACN,aAAa;CACb,OA3B6C,EAAE,OAAO;EACtD,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,4DAA4D,CAAC,CAAC,SAAS;EAClG,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,6KAA6K;EACxM,UAAU,EAAE,OAAO,CAAC,CAAC,SAAS,4NAA4N,CAAC,CAAC,SAAS;EACrQ,WAAW,EAAE,OAAO,CAAC,CAAC,SAAS,oIAAoI,CAAC,CAAC,SAAS;EAC9K,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS,oHAAoH,CAAC,CAAC,SAAS;EAC/J,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,yLAAyL,CAAC,CAAC,SAAS;CAC3O,CAoBS;CACP,QApB8C,EAAE,OAAO;EACvD,IAAI,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,0BAA0B,CAAC,CAAC,SAAS;EACnE,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,8BAA8B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAC/E,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,sCAAsC,CAAC,CAAC,SAAS;EAC5E,UAAU,EAAE,OAAO,CAAC,CAAC,SAAS,uDAAuD,CAAC,CAAC,SAAS;EAChG,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,uCAAuC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACpG,WAAW,EAAE,OAAO,CAAC,CAAC,SAAS,yDAAyD,CAAC,CAAC,SAAS;EACnG,WAAW,EAAE,OAAO,CAAC,CAAC,SAAS,0BAA0B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAC/E,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS,2BAA2B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACjF,YAAY,EAAE,QAAQ,CAAC,CAAC,SAAS,gCAAgC,CAAC,CAAC,SAAS;EAC5E,eAAe,EAAE,QAAQ,CAAC,CAAC,SAAS,mCAAmC,CAAC,CAAC,SAAS;EAClF,mBAAmB,EAAE,QAAQ,CAAC,CAAC,SAAS,qCAAqC,CAAC,CAAC,SAAS;EACxF,uBAAuB,EAAE,QAAQ,CAAC,CAAC,SAAS,yDAAyD,CAAC,CAAC,SAAS;CAClH,CAOU;AACV,CAAC"}
|
|
@@ -46,9 +46,9 @@ const SpokiCreateTemplate_TemplateButtonComponentResponseSchema = zod.z.object({
|
|
|
46
46
|
phone_number: zod.z.string().describe("Phone number for call buttons").nullable().optional()
|
|
47
47
|
}).describe("Button component in the response");
|
|
48
48
|
const SpokiCreateTemplate_TemplateLocalizationResponseSchema = zod.z.object({
|
|
49
|
-
id: zod.z.number().int().describe("Unique ID of this localization"),
|
|
50
|
-
status: zod.z.string().describe("Template status: DRAFT, APPROVED, REJECTED, PENDING"),
|
|
51
|
-
language: zod.z.string().describe("Language code"),
|
|
49
|
+
id: zod.z.number().int().describe("Unique ID of this localization").nullable(),
|
|
50
|
+
status: zod.z.string().describe("Template status: DRAFT, APPROVED, REJECTED, PENDING").nullable(),
|
|
51
|
+
language: zod.z.string().describe("Language code").nullable(),
|
|
52
52
|
rejection_reason: zod.z.string().describe("Reason for rejection if status is REJECTED").nullable().optional(),
|
|
53
53
|
default_header_media: zod.z.string().describe("Default header media URL or ID").nullable().optional(),
|
|
54
54
|
example_header_media: zod.z.string().describe("Example header media URL or ID").nullable().optional(),
|
|
@@ -60,12 +60,12 @@ const SpokiCreateTemplate_TemplateLocalizationResponseSchema = zod.z.object({
|
|
|
60
60
|
templatecarouselcomponent_set: zod.z.array(zod.z.object({})).describe("Array of carousel components").nullable().optional()
|
|
61
61
|
}).describe("Localization in the template response");
|
|
62
62
|
const SpokiCreateTemplateOutput = zod.z.object({
|
|
63
|
-
id: zod.z.number().int().describe("Unique identifier for the created template"),
|
|
64
|
-
name: zod.z.string().describe("Template name"),
|
|
65
|
-
category: zod.z.string().describe("Template category (MARKETING, UTILITY, or AUTHENTICATION)"),
|
|
66
|
-
integration: zod.z.number().int().describe("Integration ID"),
|
|
67
|
-
is_approved: zod.z.boolean().describe("Whether the template is approved by WhatsApp (initially false for DRAFT templates)"),
|
|
68
|
-
is_favorite: zod.z.boolean().describe("Whether the template is marked as favorite"),
|
|
63
|
+
id: zod.z.number().int().describe("Unique identifier for the created template").nullable(),
|
|
64
|
+
name: zod.z.string().describe("Template name").nullable(),
|
|
65
|
+
category: zod.z.string().describe("Template category (MARKETING, UTILITY, or AUTHENTICATION)").nullable(),
|
|
66
|
+
integration: zod.z.number().int().describe("Integration ID").nullable(),
|
|
67
|
+
is_approved: zod.z.boolean().describe("Whether the template is approved by WhatsApp (initially false for DRAFT templates)").nullable(),
|
|
68
|
+
is_favorite: zod.z.boolean().describe("Whether the template is marked as favorite").nullable(),
|
|
69
69
|
subcategory: zod.z.string().describe("Template subcategory").nullable().optional(),
|
|
70
70
|
customfield_set: zod.z.array(zod.z.string()).describe("Array of custom field placeholders used in the template").nullable().optional(),
|
|
71
71
|
template_groups: zod.z.array(zod.z.number().int()).describe("Array of template group IDs this template belongs to").nullable().optional(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-template.cjs","names":["z","action"],"sources":["../../src/actions/create-template.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const SpokiCreateTemplateInput: z.ZodTypeAny = z.object({\n name: z.string().describe(\"Internal template name/identifier. Must be unique, lowercase with underscores (e.g., 'promo_summer_2024'). This is not shown to end users\"),\n category: z.enum([\"MARKETING\", \"ACCOUNT_UPDATE\", \"PAYMENT_UPDATE\", \"PERSONAL_FINANCE_UPDATE\", \"SHIPPING_UPDATE\", \"RESERVATION_UPDATE\", \"ISSUE_RESOLUTION\", \"APPOINTMENT_UPDATE\", \"TRANSPORTATION_UPDATE\", \"TICKET_UPDATE\", \"ALERT_UPDATE\", \"AUTO_REPLY\"]).describe(\"Template category: MARKETING for promotional content, or specific utility categories like ACCOUNT_UPDATE, PAYMENT_UPDATE, SHIPPING_UPDATE, APPOINTMENT_UPDATE, etc. for transactional messages\"),\n subcategory: z.string().describe(\"Optional template subcategory for additional classification\").optional(),\n templatelocalization_set: z.array(z.object({\n body: z.string().describe(\"Message body text. Can include variables using {{1}}, {{2}}, etc. for dynamic content\"),\n footer: z.string().describe(\"Optional footer text (plain text, no variables allowed)\").optional(),\n header: z.string().describe(\"Optional header text. Can include one variable {{1}} for dynamic content\").optional(),\n language: z.string().describe(\"ISO 639-1 two-letter language code (e.g., 'en', 'it', 'es', 'de', 'pt', 'fr')\"),\n templatebuttoncomponent_set: z.array(z.object({\n url: z.string().describe(\"URL for url button type (can include variables like {{1}})\").optional(),\n text: z.string().describe(\"Display text shown on the button\").optional(),\n order: z.number().int().describe(\"Order index of the button in the template (0-based)\").optional(),\n button_type: z.string().describe(\"Type of button: 'quick_reply', 'url', or 'phone_number' (lowercase)\").optional(),\n phone_number: z.string().describe(\"Phone number for phone_number button type (E.164 format)\").optional(),\n}).describe(\"Button component for a template localization\")).describe(\"Array of button components for this localization. Required field - use empty array [] for templates without buttons\"),\n}).describe(\"Localization for a specific language in the template\")).describe(\"Array of localizations - at least one required. Each localization defines the template content for a specific language\"),\n});\nconst SpokiCreateTemplate_TemplateComponentResponseSchema: z.ZodTypeAny = z.object({\n text: z.string().describe(\"Text content of the component\").nullable().optional(),\n format: z.string().describe(\"Format of the component (TEXT, IMAGE, VIDEO, DOCUMENT)\").nullable().optional(),\n component_type: z.string().describe(\"Type of component (HEADER, BODY, FOOTER)\").nullable().optional(),\n}).describe(\"Component in the template response\");\nconst SpokiCreateTemplate_TemplateButtonComponentResponseSchema: z.ZodTypeAny = z.object({\n id: z.number().int().describe(\"Button ID\").nullable().optional(),\n url: z.string().describe(\"URL for URL buttons\").nullable().optional(),\n text: z.string().describe(\"Button display text\").nullable().optional(),\n order: z.number().int().describe(\"Button order index\").nullable().optional(),\n button_type: z.string().describe(\"Button type\").nullable().optional(),\n phone_number: z.string().describe(\"Phone number for call buttons\").nullable().optional(),\n}).describe(\"Button component in the response\");\nconst SpokiCreateTemplate_TemplateLocalizationResponseSchema: z.ZodTypeAny = z.object({\n id: z.number().int().describe(\"Unique ID of this localization\"),\n status: z.string().describe(\"Template status: DRAFT, APPROVED, REJECTED, PENDING\"),\n language: z.string().describe(\"Language code\"),\n rejection_reason: z.string().describe(\"Reason for rejection if status is REJECTED\").nullable().optional(),\n default_header_media: z.string().describe(\"Default header media URL or ID\").nullable().optional(),\n example_header_media: z.string().describe(\"Example header media URL or ID\").nullable().optional(),\n example_custom_fields: z.string().describe(\"Example values for custom fields/variables\").nullable().optional(),\n body_template_component: SpokiCreateTemplate_TemplateComponentResponseSchema.nullable().optional(),\n footer_template_component: SpokiCreateTemplate_TemplateComponentResponseSchema.nullable().optional(),\n header_template_component: SpokiCreateTemplate_TemplateComponentResponseSchema.nullable().optional(),\n templatebuttoncomponent_set: z.array(SpokiCreateTemplate_TemplateButtonComponentResponseSchema).describe(\"Array of button components\").nullable().optional(),\n templatecarouselcomponent_set: z.array(z.object({})).describe(\"Array of carousel components\").nullable().optional(),\n}).describe(\"Localization in the template response\");\nexport const SpokiCreateTemplateOutput: z.ZodTypeAny = z.object({\n id: z.number().int().describe(\"Unique identifier for the created template\"),\n name: z.string().describe(\"Template name\"),\n category: z.string().describe(\"Template category (MARKETING, UTILITY, or AUTHENTICATION)\"),\n integration: z.number().int().describe(\"Integration ID\"),\n is_approved: z.boolean().describe(\"Whether the template is approved by WhatsApp (initially false for DRAFT templates)\"),\n is_favorite: z.boolean().describe(\"Whether the template is marked as favorite\"),\n subcategory: z.string().describe(\"Template subcategory\").nullable().optional(),\n customfield_set: z.array(z.string()).describe(\"Array of custom field placeholders used in the template\").nullable().optional(),\n template_groups: z.array(z.number().int()).describe(\"Array of template group IDs this template belongs to\").nullable().optional(),\n templatelocalization_set: z.array(SpokiCreateTemplate_TemplateLocalizationResponseSchema).describe(\"Array of template localizations with language-specific content and status\"),\n});\n\nexport const spokiCreateTemplate = action(\"SPOKI_CREATE_TEMPLATE\", {\n slug: \"spoki-create-template\",\n name: \"Create Template\",\n description: \"Creates a new WhatsApp message template with localizations, buttons, and media headers. Use when you need to define a reusable template for marketing campaigns, transactional notifications, or authentication messages. Templates must be approved by WhatsApp before use (created in DRAFT status). Rate limit: 10 requests per minute.\",\n input: SpokiCreateTemplateInput,\n output: SpokiCreateTemplateOutput,\n});\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"create-template.cjs","names":["z","action"],"sources":["../../src/actions/create-template.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const SpokiCreateTemplateInput = z.object({\n name: z.string().describe(\"Internal template name/identifier. Must be unique, lowercase with underscores (e.g., 'promo_summer_2024'). This is not shown to end users\"),\n category: z.enum([\"MARKETING\", \"ACCOUNT_UPDATE\", \"PAYMENT_UPDATE\", \"PERSONAL_FINANCE_UPDATE\", \"SHIPPING_UPDATE\", \"RESERVATION_UPDATE\", \"ISSUE_RESOLUTION\", \"APPOINTMENT_UPDATE\", \"TRANSPORTATION_UPDATE\", \"TICKET_UPDATE\", \"ALERT_UPDATE\", \"AUTO_REPLY\"]).describe(\"Template category: MARKETING for promotional content, or specific utility categories like ACCOUNT_UPDATE, PAYMENT_UPDATE, SHIPPING_UPDATE, APPOINTMENT_UPDATE, etc. for transactional messages\"),\n subcategory: z.string().describe(\"Optional template subcategory for additional classification\").optional(),\n templatelocalization_set: z.array(z.object({\n body: z.string().describe(\"Message body text. Can include variables using {{1}}, {{2}}, etc. for dynamic content\"),\n footer: z.string().describe(\"Optional footer text (plain text, no variables allowed)\").optional(),\n header: z.string().describe(\"Optional header text. Can include one variable {{1}} for dynamic content\").optional(),\n language: z.string().describe(\"ISO 639-1 two-letter language code (e.g., 'en', 'it', 'es', 'de', 'pt', 'fr')\"),\n templatebuttoncomponent_set: z.array(z.object({\n url: z.string().describe(\"URL for url button type (can include variables like {{1}})\").optional(),\n text: z.string().describe(\"Display text shown on the button\").optional(),\n order: z.number().int().describe(\"Order index of the button in the template (0-based)\").optional(),\n button_type: z.string().describe(\"Type of button: 'quick_reply', 'url', or 'phone_number' (lowercase)\").optional(),\n phone_number: z.string().describe(\"Phone number for phone_number button type (E.164 format)\").optional(),\n}).describe(\"Button component for a template localization\")).describe(\"Array of button components for this localization. Required field - use empty array [] for templates without buttons\"),\n}).describe(\"Localization for a specific language in the template\")).describe(\"Array of localizations - at least one required. Each localization defines the template content for a specific language\"),\n});\nconst SpokiCreateTemplate_TemplateComponentResponseSchema = z.object({\n text: z.string().describe(\"Text content of the component\").nullable().optional(),\n format: z.string().describe(\"Format of the component (TEXT, IMAGE, VIDEO, DOCUMENT)\").nullable().optional(),\n component_type: z.string().describe(\"Type of component (HEADER, BODY, FOOTER)\").nullable().optional(),\n}).describe(\"Component in the template response\");\nconst SpokiCreateTemplate_TemplateButtonComponentResponseSchema = z.object({\n id: z.number().int().describe(\"Button ID\").nullable().optional(),\n url: z.string().describe(\"URL for URL buttons\").nullable().optional(),\n text: z.string().describe(\"Button display text\").nullable().optional(),\n order: z.number().int().describe(\"Button order index\").nullable().optional(),\n button_type: z.string().describe(\"Button type\").nullable().optional(),\n phone_number: z.string().describe(\"Phone number for call buttons\").nullable().optional(),\n}).describe(\"Button component in the response\");\nconst SpokiCreateTemplate_TemplateLocalizationResponseSchema = z.object({\n id: z.number().int().describe(\"Unique ID of this localization\").nullable(),\n status: z.string().describe(\"Template status: DRAFT, APPROVED, REJECTED, PENDING\").nullable(),\n language: z.string().describe(\"Language code\").nullable(),\n rejection_reason: z.string().describe(\"Reason for rejection if status is REJECTED\").nullable().optional(),\n default_header_media: z.string().describe(\"Default header media URL or ID\").nullable().optional(),\n example_header_media: z.string().describe(\"Example header media URL or ID\").nullable().optional(),\n example_custom_fields: z.string().describe(\"Example values for custom fields/variables\").nullable().optional(),\n body_template_component: SpokiCreateTemplate_TemplateComponentResponseSchema.nullable().optional(),\n footer_template_component: SpokiCreateTemplate_TemplateComponentResponseSchema.nullable().optional(),\n header_template_component: SpokiCreateTemplate_TemplateComponentResponseSchema.nullable().optional(),\n templatebuttoncomponent_set: z.array(SpokiCreateTemplate_TemplateButtonComponentResponseSchema).describe(\"Array of button components\").nullable().optional(),\n templatecarouselcomponent_set: z.array(z.object({})).describe(\"Array of carousel components\").nullable().optional(),\n}).describe(\"Localization in the template response\");\nexport const SpokiCreateTemplateOutput = z.object({\n id: z.number().int().describe(\"Unique identifier for the created template\").nullable(),\n name: z.string().describe(\"Template name\").nullable(),\n category: z.string().describe(\"Template category (MARKETING, UTILITY, or AUTHENTICATION)\").nullable(),\n integration: z.number().int().describe(\"Integration ID\").nullable(),\n is_approved: z.boolean().describe(\"Whether the template is approved by WhatsApp (initially false for DRAFT templates)\").nullable(),\n is_favorite: z.boolean().describe(\"Whether the template is marked as favorite\").nullable(),\n subcategory: z.string().describe(\"Template subcategory\").nullable().optional(),\n customfield_set: z.array(z.string()).describe(\"Array of custom field placeholders used in the template\").nullable().optional(),\n template_groups: z.array(z.number().int()).describe(\"Array of template group IDs this template belongs to\").nullable().optional(),\n templatelocalization_set: z.array(SpokiCreateTemplate_TemplateLocalizationResponseSchema).describe(\"Array of template localizations with language-specific content and status\"),\n});\n\nexport const spokiCreateTemplate = action(\"SPOKI_CREATE_TEMPLATE\", {\n slug: \"spoki-create-template\",\n name: \"Create Template\",\n description: \"Creates a new WhatsApp message template with localizations, buttons, and media headers. Use when you need to define a reusable template for marketing campaigns, transactional notifications, or authentication messages. Templates must be approved by WhatsApp before use (created in DRAFT status). Rate limit: 10 requests per minute.\",\n input: SpokiCreateTemplateInput,\n output: SpokiCreateTemplateOutput,\n});\n"],"mappings":"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"}
|
|
@@ -1,9 +1,99 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
|
|
3
3
|
//#region src/actions/create-template.d.ts
|
|
4
|
-
declare const SpokiCreateTemplateInput: z.
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
declare const SpokiCreateTemplateInput: z.ZodObject<{
|
|
5
|
+
name: z.ZodString;
|
|
6
|
+
category: z.ZodEnum<{
|
|
7
|
+
MARKETING: "MARKETING";
|
|
8
|
+
ACCOUNT_UPDATE: "ACCOUNT_UPDATE";
|
|
9
|
+
PAYMENT_UPDATE: "PAYMENT_UPDATE";
|
|
10
|
+
PERSONAL_FINANCE_UPDATE: "PERSONAL_FINANCE_UPDATE";
|
|
11
|
+
SHIPPING_UPDATE: "SHIPPING_UPDATE";
|
|
12
|
+
RESERVATION_UPDATE: "RESERVATION_UPDATE";
|
|
13
|
+
ISSUE_RESOLUTION: "ISSUE_RESOLUTION";
|
|
14
|
+
APPOINTMENT_UPDATE: "APPOINTMENT_UPDATE";
|
|
15
|
+
TRANSPORTATION_UPDATE: "TRANSPORTATION_UPDATE";
|
|
16
|
+
TICKET_UPDATE: "TICKET_UPDATE";
|
|
17
|
+
ALERT_UPDATE: "ALERT_UPDATE";
|
|
18
|
+
AUTO_REPLY: "AUTO_REPLY";
|
|
19
|
+
}>;
|
|
20
|
+
subcategory: z.ZodOptional<z.ZodString>;
|
|
21
|
+
templatelocalization_set: z.ZodArray<z.ZodObject<{
|
|
22
|
+
body: z.ZodString;
|
|
23
|
+
footer: z.ZodOptional<z.ZodString>;
|
|
24
|
+
header: z.ZodOptional<z.ZodString>;
|
|
25
|
+
language: z.ZodString;
|
|
26
|
+
templatebuttoncomponent_set: z.ZodArray<z.ZodObject<{
|
|
27
|
+
url: z.ZodOptional<z.ZodString>;
|
|
28
|
+
text: z.ZodOptional<z.ZodString>;
|
|
29
|
+
order: z.ZodOptional<z.ZodNumber>;
|
|
30
|
+
button_type: z.ZodOptional<z.ZodString>;
|
|
31
|
+
phone_number: z.ZodOptional<z.ZodString>;
|
|
32
|
+
}, z.core.$strip>>;
|
|
33
|
+
}, z.core.$strip>>;
|
|
34
|
+
}, z.core.$strip>;
|
|
35
|
+
declare const SpokiCreateTemplateOutput: z.ZodObject<{
|
|
36
|
+
id: z.ZodNullable<z.ZodNumber>;
|
|
37
|
+
name: z.ZodNullable<z.ZodString>;
|
|
38
|
+
category: z.ZodNullable<z.ZodString>;
|
|
39
|
+
integration: z.ZodNullable<z.ZodNumber>;
|
|
40
|
+
is_approved: z.ZodNullable<z.ZodBoolean>;
|
|
41
|
+
is_favorite: z.ZodNullable<z.ZodBoolean>;
|
|
42
|
+
subcategory: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
43
|
+
customfield_set: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
|
|
44
|
+
template_groups: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodNumber>>>;
|
|
45
|
+
templatelocalization_set: z.ZodArray<z.ZodObject<{
|
|
46
|
+
id: z.ZodNullable<z.ZodNumber>;
|
|
47
|
+
status: z.ZodNullable<z.ZodString>;
|
|
48
|
+
language: z.ZodNullable<z.ZodString>;
|
|
49
|
+
rejection_reason: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
50
|
+
default_header_media: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
51
|
+
example_header_media: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
52
|
+
example_custom_fields: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
53
|
+
body_template_component: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
54
|
+
text: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
55
|
+
format: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
56
|
+
component_type: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
57
|
+
}, z.core.$strip>>>;
|
|
58
|
+
footer_template_component: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
59
|
+
text: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
60
|
+
format: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
61
|
+
component_type: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
62
|
+
}, z.core.$strip>>>;
|
|
63
|
+
header_template_component: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
64
|
+
text: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
65
|
+
format: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
66
|
+
component_type: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
67
|
+
}, z.core.$strip>>>;
|
|
68
|
+
templatebuttoncomponent_set: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
|
|
69
|
+
id: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
70
|
+
url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
71
|
+
text: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
72
|
+
order: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
73
|
+
button_type: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
74
|
+
phone_number: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
75
|
+
}, z.core.$strip>>>>;
|
|
76
|
+
templatecarouselcomponent_set: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{}, z.core.$strip>>>>;
|
|
77
|
+
}, z.core.$strip>>;
|
|
78
|
+
}, z.core.$strip>;
|
|
79
|
+
declare const spokiCreateTemplate: import("@keystrokehq/action").WorkflowActionDefinition<{
|
|
80
|
+
name: string;
|
|
81
|
+
category: "MARKETING" | "ACCOUNT_UPDATE" | "PAYMENT_UPDATE" | "PERSONAL_FINANCE_UPDATE" | "SHIPPING_UPDATE" | "RESERVATION_UPDATE" | "ISSUE_RESOLUTION" | "APPOINTMENT_UPDATE" | "TRANSPORTATION_UPDATE" | "TICKET_UPDATE" | "ALERT_UPDATE" | "AUTO_REPLY";
|
|
82
|
+
templatelocalization_set: {
|
|
83
|
+
body: string;
|
|
84
|
+
language: string;
|
|
85
|
+
templatebuttoncomponent_set: {
|
|
86
|
+
url?: string | undefined;
|
|
87
|
+
text?: string | undefined;
|
|
88
|
+
order?: number | undefined;
|
|
89
|
+
button_type?: string | undefined;
|
|
90
|
+
phone_number?: string | undefined;
|
|
91
|
+
}[];
|
|
92
|
+
footer?: string | undefined;
|
|
93
|
+
header?: string | undefined;
|
|
94
|
+
}[];
|
|
95
|
+
subcategory?: string | undefined;
|
|
96
|
+
}, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
|
|
7
97
|
//#endregion
|
|
8
98
|
export { spokiCreateTemplate };
|
|
9
99
|
//# sourceMappingURL=create-template.d.cts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-template.d.cts","names":[],"sources":["../../src/actions/create-template.ts"],"mappings":";;;cAIa,wBAAA,
|
|
1
|
+
{"version":3,"file":"create-template.d.cts","names":[],"sources":["../../src/actions/create-template.ts"],"mappings":";;;cAIa,wBAAA,EAAwB,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6CxB,yBAAA,EAAyB,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAazB,mBAAA,gCAAmB,wBAAA"}
|
|
@@ -1,9 +1,99 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
|
|
3
3
|
//#region src/actions/create-template.d.ts
|
|
4
|
-
declare const SpokiCreateTemplateInput: z.
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
declare const SpokiCreateTemplateInput: z.ZodObject<{
|
|
5
|
+
name: z.ZodString;
|
|
6
|
+
category: z.ZodEnum<{
|
|
7
|
+
MARKETING: "MARKETING";
|
|
8
|
+
ACCOUNT_UPDATE: "ACCOUNT_UPDATE";
|
|
9
|
+
PAYMENT_UPDATE: "PAYMENT_UPDATE";
|
|
10
|
+
PERSONAL_FINANCE_UPDATE: "PERSONAL_FINANCE_UPDATE";
|
|
11
|
+
SHIPPING_UPDATE: "SHIPPING_UPDATE";
|
|
12
|
+
RESERVATION_UPDATE: "RESERVATION_UPDATE";
|
|
13
|
+
ISSUE_RESOLUTION: "ISSUE_RESOLUTION";
|
|
14
|
+
APPOINTMENT_UPDATE: "APPOINTMENT_UPDATE";
|
|
15
|
+
TRANSPORTATION_UPDATE: "TRANSPORTATION_UPDATE";
|
|
16
|
+
TICKET_UPDATE: "TICKET_UPDATE";
|
|
17
|
+
ALERT_UPDATE: "ALERT_UPDATE";
|
|
18
|
+
AUTO_REPLY: "AUTO_REPLY";
|
|
19
|
+
}>;
|
|
20
|
+
subcategory: z.ZodOptional<z.ZodString>;
|
|
21
|
+
templatelocalization_set: z.ZodArray<z.ZodObject<{
|
|
22
|
+
body: z.ZodString;
|
|
23
|
+
footer: z.ZodOptional<z.ZodString>;
|
|
24
|
+
header: z.ZodOptional<z.ZodString>;
|
|
25
|
+
language: z.ZodString;
|
|
26
|
+
templatebuttoncomponent_set: z.ZodArray<z.ZodObject<{
|
|
27
|
+
url: z.ZodOptional<z.ZodString>;
|
|
28
|
+
text: z.ZodOptional<z.ZodString>;
|
|
29
|
+
order: z.ZodOptional<z.ZodNumber>;
|
|
30
|
+
button_type: z.ZodOptional<z.ZodString>;
|
|
31
|
+
phone_number: z.ZodOptional<z.ZodString>;
|
|
32
|
+
}, z.core.$strip>>;
|
|
33
|
+
}, z.core.$strip>>;
|
|
34
|
+
}, z.core.$strip>;
|
|
35
|
+
declare const SpokiCreateTemplateOutput: z.ZodObject<{
|
|
36
|
+
id: z.ZodNullable<z.ZodNumber>;
|
|
37
|
+
name: z.ZodNullable<z.ZodString>;
|
|
38
|
+
category: z.ZodNullable<z.ZodString>;
|
|
39
|
+
integration: z.ZodNullable<z.ZodNumber>;
|
|
40
|
+
is_approved: z.ZodNullable<z.ZodBoolean>;
|
|
41
|
+
is_favorite: z.ZodNullable<z.ZodBoolean>;
|
|
42
|
+
subcategory: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
43
|
+
customfield_set: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
|
|
44
|
+
template_groups: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodNumber>>>;
|
|
45
|
+
templatelocalization_set: z.ZodArray<z.ZodObject<{
|
|
46
|
+
id: z.ZodNullable<z.ZodNumber>;
|
|
47
|
+
status: z.ZodNullable<z.ZodString>;
|
|
48
|
+
language: z.ZodNullable<z.ZodString>;
|
|
49
|
+
rejection_reason: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
50
|
+
default_header_media: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
51
|
+
example_header_media: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
52
|
+
example_custom_fields: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
53
|
+
body_template_component: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
54
|
+
text: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
55
|
+
format: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
56
|
+
component_type: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
57
|
+
}, z.core.$strip>>>;
|
|
58
|
+
footer_template_component: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
59
|
+
text: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
60
|
+
format: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
61
|
+
component_type: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
62
|
+
}, z.core.$strip>>>;
|
|
63
|
+
header_template_component: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
64
|
+
text: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
65
|
+
format: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
66
|
+
component_type: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
67
|
+
}, z.core.$strip>>>;
|
|
68
|
+
templatebuttoncomponent_set: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
|
|
69
|
+
id: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
70
|
+
url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
71
|
+
text: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
72
|
+
order: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
73
|
+
button_type: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
74
|
+
phone_number: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
75
|
+
}, z.core.$strip>>>>;
|
|
76
|
+
templatecarouselcomponent_set: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{}, z.core.$strip>>>>;
|
|
77
|
+
}, z.core.$strip>>;
|
|
78
|
+
}, z.core.$strip>;
|
|
79
|
+
declare const spokiCreateTemplate: import("@keystrokehq/action").WorkflowActionDefinition<{
|
|
80
|
+
name: string;
|
|
81
|
+
category: "MARKETING" | "ACCOUNT_UPDATE" | "PAYMENT_UPDATE" | "PERSONAL_FINANCE_UPDATE" | "SHIPPING_UPDATE" | "RESERVATION_UPDATE" | "ISSUE_RESOLUTION" | "APPOINTMENT_UPDATE" | "TRANSPORTATION_UPDATE" | "TICKET_UPDATE" | "ALERT_UPDATE" | "AUTO_REPLY";
|
|
82
|
+
templatelocalization_set: {
|
|
83
|
+
body: string;
|
|
84
|
+
language: string;
|
|
85
|
+
templatebuttoncomponent_set: {
|
|
86
|
+
url?: string | undefined;
|
|
87
|
+
text?: string | undefined;
|
|
88
|
+
order?: number | undefined;
|
|
89
|
+
button_type?: string | undefined;
|
|
90
|
+
phone_number?: string | undefined;
|
|
91
|
+
}[];
|
|
92
|
+
footer?: string | undefined;
|
|
93
|
+
header?: string | undefined;
|
|
94
|
+
}[];
|
|
95
|
+
subcategory?: string | undefined;
|
|
96
|
+
}, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
|
|
7
97
|
//#endregion
|
|
8
98
|
export { spokiCreateTemplate };
|
|
9
99
|
//# sourceMappingURL=create-template.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-template.d.mts","names":[],"sources":["../../src/actions/create-template.ts"],"mappings":";;;cAIa,wBAAA,
|
|
1
|
+
{"version":3,"file":"create-template.d.mts","names":[],"sources":["../../src/actions/create-template.ts"],"mappings":";;;cAIa,wBAAA,EAAwB,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6CxB,yBAAA,EAAyB,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAazB,mBAAA,gCAAmB,wBAAA"}
|
|
@@ -46,9 +46,9 @@ const SpokiCreateTemplate_TemplateButtonComponentResponseSchema = z.object({
|
|
|
46
46
|
phone_number: z.string().describe("Phone number for call buttons").nullable().optional()
|
|
47
47
|
}).describe("Button component in the response");
|
|
48
48
|
const SpokiCreateTemplate_TemplateLocalizationResponseSchema = z.object({
|
|
49
|
-
id: z.number().int().describe("Unique ID of this localization"),
|
|
50
|
-
status: z.string().describe("Template status: DRAFT, APPROVED, REJECTED, PENDING"),
|
|
51
|
-
language: z.string().describe("Language code"),
|
|
49
|
+
id: z.number().int().describe("Unique ID of this localization").nullable(),
|
|
50
|
+
status: z.string().describe("Template status: DRAFT, APPROVED, REJECTED, PENDING").nullable(),
|
|
51
|
+
language: z.string().describe("Language code").nullable(),
|
|
52
52
|
rejection_reason: z.string().describe("Reason for rejection if status is REJECTED").nullable().optional(),
|
|
53
53
|
default_header_media: z.string().describe("Default header media URL or ID").nullable().optional(),
|
|
54
54
|
example_header_media: z.string().describe("Example header media URL or ID").nullable().optional(),
|
|
@@ -65,12 +65,12 @@ const spokiCreateTemplate = action("SPOKI_CREATE_TEMPLATE", {
|
|
|
65
65
|
description: "Creates a new WhatsApp message template with localizations, buttons, and media headers. Use when you need to define a reusable template for marketing campaigns, transactional notifications, or authentication messages. Templates must be approved by WhatsApp before use (created in DRAFT status). Rate limit: 10 requests per minute.",
|
|
66
66
|
input: SpokiCreateTemplateInput,
|
|
67
67
|
output: z.object({
|
|
68
|
-
id: z.number().int().describe("Unique identifier for the created template"),
|
|
69
|
-
name: z.string().describe("Template name"),
|
|
70
|
-
category: z.string().describe("Template category (MARKETING, UTILITY, or AUTHENTICATION)"),
|
|
71
|
-
integration: z.number().int().describe("Integration ID"),
|
|
72
|
-
is_approved: z.boolean().describe("Whether the template is approved by WhatsApp (initially false for DRAFT templates)"),
|
|
73
|
-
is_favorite: z.boolean().describe("Whether the template is marked as favorite"),
|
|
68
|
+
id: z.number().int().describe("Unique identifier for the created template").nullable(),
|
|
69
|
+
name: z.string().describe("Template name").nullable(),
|
|
70
|
+
category: z.string().describe("Template category (MARKETING, UTILITY, or AUTHENTICATION)").nullable(),
|
|
71
|
+
integration: z.number().int().describe("Integration ID").nullable(),
|
|
72
|
+
is_approved: z.boolean().describe("Whether the template is approved by WhatsApp (initially false for DRAFT templates)").nullable(),
|
|
73
|
+
is_favorite: z.boolean().describe("Whether the template is marked as favorite").nullable(),
|
|
74
74
|
subcategory: z.string().describe("Template subcategory").nullable().optional(),
|
|
75
75
|
customfield_set: z.array(z.string()).describe("Array of custom field placeholders used in the template").nullable().optional(),
|
|
76
76
|
template_groups: z.array(z.number().int()).describe("Array of template group IDs this template belongs to").nullable().optional(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-template.mjs","names":[],"sources":["../../src/actions/create-template.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const SpokiCreateTemplateInput: z.ZodTypeAny = z.object({\n name: z.string().describe(\"Internal template name/identifier. Must be unique, lowercase with underscores (e.g., 'promo_summer_2024'). This is not shown to end users\"),\n category: z.enum([\"MARKETING\", \"ACCOUNT_UPDATE\", \"PAYMENT_UPDATE\", \"PERSONAL_FINANCE_UPDATE\", \"SHIPPING_UPDATE\", \"RESERVATION_UPDATE\", \"ISSUE_RESOLUTION\", \"APPOINTMENT_UPDATE\", \"TRANSPORTATION_UPDATE\", \"TICKET_UPDATE\", \"ALERT_UPDATE\", \"AUTO_REPLY\"]).describe(\"Template category: MARKETING for promotional content, or specific utility categories like ACCOUNT_UPDATE, PAYMENT_UPDATE, SHIPPING_UPDATE, APPOINTMENT_UPDATE, etc. for transactional messages\"),\n subcategory: z.string().describe(\"Optional template subcategory for additional classification\").optional(),\n templatelocalization_set: z.array(z.object({\n body: z.string().describe(\"Message body text. Can include variables using {{1}}, {{2}}, etc. for dynamic content\"),\n footer: z.string().describe(\"Optional footer text (plain text, no variables allowed)\").optional(),\n header: z.string().describe(\"Optional header text. Can include one variable {{1}} for dynamic content\").optional(),\n language: z.string().describe(\"ISO 639-1 two-letter language code (e.g., 'en', 'it', 'es', 'de', 'pt', 'fr')\"),\n templatebuttoncomponent_set: z.array(z.object({\n url: z.string().describe(\"URL for url button type (can include variables like {{1}})\").optional(),\n text: z.string().describe(\"Display text shown on the button\").optional(),\n order: z.number().int().describe(\"Order index of the button in the template (0-based)\").optional(),\n button_type: z.string().describe(\"Type of button: 'quick_reply', 'url', or 'phone_number' (lowercase)\").optional(),\n phone_number: z.string().describe(\"Phone number for phone_number button type (E.164 format)\").optional(),\n}).describe(\"Button component for a template localization\")).describe(\"Array of button components for this localization. Required field - use empty array [] for templates without buttons\"),\n}).describe(\"Localization for a specific language in the template\")).describe(\"Array of localizations - at least one required. Each localization defines the template content for a specific language\"),\n});\nconst SpokiCreateTemplate_TemplateComponentResponseSchema: z.ZodTypeAny = z.object({\n text: z.string().describe(\"Text content of the component\").nullable().optional(),\n format: z.string().describe(\"Format of the component (TEXT, IMAGE, VIDEO, DOCUMENT)\").nullable().optional(),\n component_type: z.string().describe(\"Type of component (HEADER, BODY, FOOTER)\").nullable().optional(),\n}).describe(\"Component in the template response\");\nconst SpokiCreateTemplate_TemplateButtonComponentResponseSchema: z.ZodTypeAny = z.object({\n id: z.number().int().describe(\"Button ID\").nullable().optional(),\n url: z.string().describe(\"URL for URL buttons\").nullable().optional(),\n text: z.string().describe(\"Button display text\").nullable().optional(),\n order: z.number().int().describe(\"Button order index\").nullable().optional(),\n button_type: z.string().describe(\"Button type\").nullable().optional(),\n phone_number: z.string().describe(\"Phone number for call buttons\").nullable().optional(),\n}).describe(\"Button component in the response\");\nconst SpokiCreateTemplate_TemplateLocalizationResponseSchema: z.ZodTypeAny = z.object({\n id: z.number().int().describe(\"Unique ID of this localization\"),\n status: z.string().describe(\"Template status: DRAFT, APPROVED, REJECTED, PENDING\"),\n language: z.string().describe(\"Language code\"),\n rejection_reason: z.string().describe(\"Reason for rejection if status is REJECTED\").nullable().optional(),\n default_header_media: z.string().describe(\"Default header media URL or ID\").nullable().optional(),\n example_header_media: z.string().describe(\"Example header media URL or ID\").nullable().optional(),\n example_custom_fields: z.string().describe(\"Example values for custom fields/variables\").nullable().optional(),\n body_template_component: SpokiCreateTemplate_TemplateComponentResponseSchema.nullable().optional(),\n footer_template_component: SpokiCreateTemplate_TemplateComponentResponseSchema.nullable().optional(),\n header_template_component: SpokiCreateTemplate_TemplateComponentResponseSchema.nullable().optional(),\n templatebuttoncomponent_set: z.array(SpokiCreateTemplate_TemplateButtonComponentResponseSchema).describe(\"Array of button components\").nullable().optional(),\n templatecarouselcomponent_set: z.array(z.object({})).describe(\"Array of carousel components\").nullable().optional(),\n}).describe(\"Localization in the template response\");\nexport const SpokiCreateTemplateOutput: z.ZodTypeAny = z.object({\n id: z.number().int().describe(\"Unique identifier for the created template\"),\n name: z.string().describe(\"Template name\"),\n category: z.string().describe(\"Template category (MARKETING, UTILITY, or AUTHENTICATION)\"),\n integration: z.number().int().describe(\"Integration ID\"),\n is_approved: z.boolean().describe(\"Whether the template is approved by WhatsApp (initially false for DRAFT templates)\"),\n is_favorite: z.boolean().describe(\"Whether the template is marked as favorite\"),\n subcategory: z.string().describe(\"Template subcategory\").nullable().optional(),\n customfield_set: z.array(z.string()).describe(\"Array of custom field placeholders used in the template\").nullable().optional(),\n template_groups: z.array(z.number().int()).describe(\"Array of template group IDs this template belongs to\").nullable().optional(),\n templatelocalization_set: z.array(SpokiCreateTemplate_TemplateLocalizationResponseSchema).describe(\"Array of template localizations with language-specific content and status\"),\n});\n\nexport const spokiCreateTemplate = action(\"SPOKI_CREATE_TEMPLATE\", {\n slug: \"spoki-create-template\",\n name: \"Create Template\",\n description: \"Creates a new WhatsApp message template with localizations, buttons, and media headers. Use when you need to define a reusable template for marketing campaigns, transactional notifications, or authentication messages. Templates must be approved by WhatsApp before use (created in DRAFT status). Rate limit: 10 requests per minute.\",\n input: SpokiCreateTemplateInput,\n output: SpokiCreateTemplateOutput,\n});\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"create-template.mjs","names":[],"sources":["../../src/actions/create-template.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const SpokiCreateTemplateInput = z.object({\n name: z.string().describe(\"Internal template name/identifier. Must be unique, lowercase with underscores (e.g., 'promo_summer_2024'). This is not shown to end users\"),\n category: z.enum([\"MARKETING\", \"ACCOUNT_UPDATE\", \"PAYMENT_UPDATE\", \"PERSONAL_FINANCE_UPDATE\", \"SHIPPING_UPDATE\", \"RESERVATION_UPDATE\", \"ISSUE_RESOLUTION\", \"APPOINTMENT_UPDATE\", \"TRANSPORTATION_UPDATE\", \"TICKET_UPDATE\", \"ALERT_UPDATE\", \"AUTO_REPLY\"]).describe(\"Template category: MARKETING for promotional content, or specific utility categories like ACCOUNT_UPDATE, PAYMENT_UPDATE, SHIPPING_UPDATE, APPOINTMENT_UPDATE, etc. for transactional messages\"),\n subcategory: z.string().describe(\"Optional template subcategory for additional classification\").optional(),\n templatelocalization_set: z.array(z.object({\n body: z.string().describe(\"Message body text. Can include variables using {{1}}, {{2}}, etc. for dynamic content\"),\n footer: z.string().describe(\"Optional footer text (plain text, no variables allowed)\").optional(),\n header: z.string().describe(\"Optional header text. Can include one variable {{1}} for dynamic content\").optional(),\n language: z.string().describe(\"ISO 639-1 two-letter language code (e.g., 'en', 'it', 'es', 'de', 'pt', 'fr')\"),\n templatebuttoncomponent_set: z.array(z.object({\n url: z.string().describe(\"URL for url button type (can include variables like {{1}})\").optional(),\n text: z.string().describe(\"Display text shown on the button\").optional(),\n order: z.number().int().describe(\"Order index of the button in the template (0-based)\").optional(),\n button_type: z.string().describe(\"Type of button: 'quick_reply', 'url', or 'phone_number' (lowercase)\").optional(),\n phone_number: z.string().describe(\"Phone number for phone_number button type (E.164 format)\").optional(),\n}).describe(\"Button component for a template localization\")).describe(\"Array of button components for this localization. Required field - use empty array [] for templates without buttons\"),\n}).describe(\"Localization for a specific language in the template\")).describe(\"Array of localizations - at least one required. Each localization defines the template content for a specific language\"),\n});\nconst SpokiCreateTemplate_TemplateComponentResponseSchema = z.object({\n text: z.string().describe(\"Text content of the component\").nullable().optional(),\n format: z.string().describe(\"Format of the component (TEXT, IMAGE, VIDEO, DOCUMENT)\").nullable().optional(),\n component_type: z.string().describe(\"Type of component (HEADER, BODY, FOOTER)\").nullable().optional(),\n}).describe(\"Component in the template response\");\nconst SpokiCreateTemplate_TemplateButtonComponentResponseSchema = z.object({\n id: z.number().int().describe(\"Button ID\").nullable().optional(),\n url: z.string().describe(\"URL for URL buttons\").nullable().optional(),\n text: z.string().describe(\"Button display text\").nullable().optional(),\n order: z.number().int().describe(\"Button order index\").nullable().optional(),\n button_type: z.string().describe(\"Button type\").nullable().optional(),\n phone_number: z.string().describe(\"Phone number for call buttons\").nullable().optional(),\n}).describe(\"Button component in the response\");\nconst SpokiCreateTemplate_TemplateLocalizationResponseSchema = z.object({\n id: z.number().int().describe(\"Unique ID of this localization\").nullable(),\n status: z.string().describe(\"Template status: DRAFT, APPROVED, REJECTED, PENDING\").nullable(),\n language: z.string().describe(\"Language code\").nullable(),\n rejection_reason: z.string().describe(\"Reason for rejection if status is REJECTED\").nullable().optional(),\n default_header_media: z.string().describe(\"Default header media URL or ID\").nullable().optional(),\n example_header_media: z.string().describe(\"Example header media URL or ID\").nullable().optional(),\n example_custom_fields: z.string().describe(\"Example values for custom fields/variables\").nullable().optional(),\n body_template_component: SpokiCreateTemplate_TemplateComponentResponseSchema.nullable().optional(),\n footer_template_component: SpokiCreateTemplate_TemplateComponentResponseSchema.nullable().optional(),\n header_template_component: SpokiCreateTemplate_TemplateComponentResponseSchema.nullable().optional(),\n templatebuttoncomponent_set: z.array(SpokiCreateTemplate_TemplateButtonComponentResponseSchema).describe(\"Array of button components\").nullable().optional(),\n templatecarouselcomponent_set: z.array(z.object({})).describe(\"Array of carousel components\").nullable().optional(),\n}).describe(\"Localization in the template response\");\nexport const SpokiCreateTemplateOutput = z.object({\n id: z.number().int().describe(\"Unique identifier for the created template\").nullable(),\n name: z.string().describe(\"Template name\").nullable(),\n category: z.string().describe(\"Template category (MARKETING, UTILITY, or AUTHENTICATION)\").nullable(),\n integration: z.number().int().describe(\"Integration ID\").nullable(),\n is_approved: z.boolean().describe(\"Whether the template is approved by WhatsApp (initially false for DRAFT templates)\").nullable(),\n is_favorite: z.boolean().describe(\"Whether the template is marked as favorite\").nullable(),\n subcategory: z.string().describe(\"Template subcategory\").nullable().optional(),\n customfield_set: z.array(z.string()).describe(\"Array of custom field placeholders used in the template\").nullable().optional(),\n template_groups: z.array(z.number().int()).describe(\"Array of template group IDs this template belongs to\").nullable().optional(),\n templatelocalization_set: z.array(SpokiCreateTemplate_TemplateLocalizationResponseSchema).describe(\"Array of template localizations with language-specific content and status\"),\n});\n\nexport const spokiCreateTemplate = action(\"SPOKI_CREATE_TEMPLATE\", {\n slug: \"spoki-create-template\",\n name: \"Create Template\",\n description: \"Creates a new WhatsApp message template with localizations, buttons, and media headers. Use when you need to define a reusable template for marketing campaigns, transactional notifications, or authentication messages. Templates must be approved by WhatsApp before use (created in DRAFT status). Rate limit: 10 requests per minute.\",\n input: SpokiCreateTemplateInput,\n output: SpokiCreateTemplateOutput,\n});\n"],"mappings":"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"}
|