@botonic/plugin-flow-builder 0.55.2 → 0.57.0-rslib-esm.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/esm/action/ai-agent-from-user-input.d.ts +2 -2
- package/lib/esm/action/ai-agent-from-user-input.js +9 -6
- package/lib/esm/action/ai-agent-from-user-input.js.map +1 -1
- package/lib/esm/action/context.d.ts +2 -2
- package/lib/esm/action/context.js +9 -6
- package/lib/esm/action/context.js.map +1 -1
- package/lib/esm/action/fallback.d.ts +2 -2
- package/lib/esm/action/fallback.js +16 -11
- package/lib/esm/action/fallback.js.map +1 -1
- package/lib/esm/action/first-interaction.d.ts +2 -2
- package/lib/esm/action/first-interaction.js +39 -27
- package/lib/esm/action/first-interaction.js.map +1 -1
- package/lib/esm/action/get-contents.d.ts +1 -1
- package/lib/esm/action/get-contents.js +37 -20
- package/lib/esm/action/get-contents.js.map +1 -1
- package/lib/esm/action/index.d.ts +1 -1
- package/lib/esm/action/index.js +68 -32
- package/lib/esm/action/index.js.map +1 -1
- package/lib/esm/action/payload.d.ts +2 -2
- package/lib/esm/action/payload.js +27 -23
- package/lib/esm/action/payload.js.map +1 -1
- package/lib/esm/api.d.ts +2 -2
- package/lib/esm/api.js +55 -44
- package/lib/esm/api.js.map +1 -1
- package/lib/esm/constants.js +16 -18
- package/lib/esm/constants.js.map +1 -1
- package/lib/esm/content-fields/content-fields-base.d.ts +2 -2
- package/lib/esm/content-fields/content-fields-base.js +33 -29
- package/lib/esm/content-fields/content-fields-base.js.map +1 -1
- package/lib/esm/content-fields/custom-conditional/custom-conditional-v2-evaluators.d.ts +1 -1
- package/lib/esm/content-fields/custom-conditional/custom-conditional-v2-evaluators.js +35 -33
- package/lib/esm/content-fields/custom-conditional/custom-conditional-v2-evaluators.js.map +1 -1
- package/lib/esm/content-fields/custom-conditional/custom-conditional-v2-resolver.d.ts +1 -1
- package/lib/esm/content-fields/custom-conditional/custom-conditional-v2-resolver.js +15 -15
- package/lib/esm/content-fields/custom-conditional/custom-conditional-v2-resolver.js.map +1 -1
- package/lib/esm/content-fields/custom-conditional/flow-custom-condition-v2.d.ts +2 -2
- package/lib/esm/content-fields/custom-conditional/flow-custom-condition-v2.js +50 -35
- package/lib/esm/content-fields/custom-conditional/flow-custom-condition-v2.js.map +1 -1
- package/lib/esm/content-fields/flow-ai-agent-base.d.ts +4 -4
- package/lib/esm/content-fields/flow-ai-agent-base.js +50 -43
- package/lib/esm/content-fields/flow-ai-agent-base.js.map +1 -1
- package/lib/esm/content-fields/flow-ai-agent-router.d.ts +5 -5
- package/lib/esm/content-fields/flow-ai-agent-router.js +57 -46
- package/lib/esm/content-fields/flow-ai-agent-router.js.map +1 -1
- package/lib/esm/content-fields/flow-ai-agent.d.ts +4 -4
- package/lib/esm/content-fields/flow-ai-agent.js +33 -22
- package/lib/esm/content-fields/flow-ai-agent.js.map +1 -1
- package/lib/esm/content-fields/flow-bot-action.d.ts +3 -3
- package/lib/esm/content-fields/flow-bot-action.js +23 -15
- package/lib/esm/content-fields/flow-bot-action.js.map +1 -1
- package/lib/esm/content-fields/flow-button.d.ts +5 -5
- package/lib/esm/content-fields/flow-button.js +48 -29
- package/lib/esm/content-fields/flow-button.js.map +1 -1
- package/lib/esm/content-fields/flow-capture-user-input.d.ts +2 -2
- package/lib/esm/content-fields/flow-capture-user-input.js +24 -23
- package/lib/esm/content-fields/flow-capture-user-input.js.map +1 -1
- package/lib/esm/content-fields/flow-carousel.d.ts +4 -4
- package/lib/esm/content-fields/flow-carousel.js +99 -58
- package/lib/esm/content-fields/flow-carousel.js.map +1 -1
- package/lib/esm/content-fields/flow-channel-conditional.d.ts +3 -3
- package/lib/esm/content-fields/flow-channel-conditional.js +26 -22
- package/lib/esm/content-fields/flow-channel-conditional.js.map +1 -1
- package/lib/esm/content-fields/flow-country-conditional.d.ts +3 -3
- package/lib/esm/content-fields/flow-country-conditional.js +26 -21
- package/lib/esm/content-fields/flow-country-conditional.js.map +1 -1
- package/lib/esm/content-fields/flow-custom-conditional.d.ts +3 -3
- package/lib/esm/content-fields/flow-custom-conditional.js +31 -33
- package/lib/esm/content-fields/flow-custom-conditional.js.map +1 -1
- package/lib/esm/content-fields/flow-element.d.ts +4 -4
- package/lib/esm/content-fields/flow-element.js +37 -20
- package/lib/esm/content-fields/flow-element.js.map +1 -1
- package/lib/esm/content-fields/flow-go-to-flow.d.ts +3 -3
- package/lib/esm/content-fields/flow-go-to-flow.js +25 -20
- package/lib/esm/content-fields/flow-go-to-flow.js.map +1 -1
- package/lib/esm/content-fields/flow-handoff.d.ts +3 -3
- package/lib/esm/content-fields/flow-handoff.js +30 -19
- package/lib/esm/content-fields/flow-handoff.js.map +1 -1
- package/lib/esm/content-fields/flow-image.d.ts +2 -2
- package/lib/esm/content-fields/flow-image.js +24 -15
- package/lib/esm/content-fields/flow-image.js.map +1 -1
- package/lib/esm/content-fields/flow-queue-status-conditional.d.ts +3 -3
- package/lib/esm/content-fields/flow-queue-status-conditional.js +45 -40
- package/lib/esm/content-fields/flow-queue-status-conditional.js.map +1 -1
- package/lib/esm/content-fields/flow-rating.d.ts +3 -3
- package/lib/esm/content-fields/flow-rating.js +62 -40
- package/lib/esm/content-fields/flow-rating.js.map +1 -1
- package/lib/esm/content-fields/flow-text.d.ts +4 -4
- package/lib/esm/content-fields/flow-text.js +51 -29
- package/lib/esm/content-fields/flow-text.js.map +1 -1
- package/lib/esm/content-fields/flow-video.d.ts +2 -2
- package/lib/esm/content-fields/flow-video.js +24 -15
- package/lib/esm/content-fields/flow-video.js.map +1 -1
- package/lib/esm/content-fields/flow-webview.d.ts +2 -2
- package/lib/esm/content-fields/flow-webview.js +31 -28
- package/lib/esm/content-fields/flow-webview.js.map +1 -1
- package/lib/esm/content-fields/flow-whatsapp-cta-url-button.d.ts +3 -3
- package/lib/esm/content-fields/flow-whatsapp-cta-url-button.js +91 -52
- package/lib/esm/content-fields/flow-whatsapp-cta-url-button.js.map +1 -1
- package/lib/esm/content-fields/flow-whatsapp-request-contact-info.d.ts +10 -0
- package/lib/esm/content-fields/flow-whatsapp-request-contact-info.js +51 -0
- package/lib/esm/content-fields/flow-whatsapp-request-contact-info.js.map +1 -0
- package/lib/esm/content-fields/flow-whatsapp-template.d.ts +3 -2
- package/lib/esm/content-fields/flow-whatsapp-template.js +126 -98
- package/lib/esm/content-fields/flow-whatsapp-template.js.map +1 -1
- package/lib/esm/content-fields/hubtype-fields/ai-agent-router.d.ts +3 -3
- package/lib/esm/content-fields/hubtype-fields/ai-agent-router.js +3 -2
- package/lib/esm/content-fields/hubtype-fields/ai-agent-router.js.map +1 -1
- package/lib/esm/content-fields/hubtype-fields/ai-agent.d.ts +2 -2
- package/lib/esm/content-fields/hubtype-fields/ai-agent.js +3 -2
- package/lib/esm/content-fields/hubtype-fields/ai-agent.js.map +1 -1
- package/lib/esm/content-fields/hubtype-fields/bot-action.d.ts +2 -2
- package/lib/esm/content-fields/hubtype-fields/bot-action.js +3 -2
- package/lib/esm/content-fields/hubtype-fields/bot-action.js.map +1 -1
- package/lib/esm/content-fields/hubtype-fields/button.d.ts +1 -1
- package/lib/esm/content-fields/hubtype-fields/button.js +3 -2
- package/lib/esm/content-fields/hubtype-fields/button.js.map +1 -1
- package/lib/esm/content-fields/hubtype-fields/capture-user-input.d.ts +2 -2
- package/lib/esm/content-fields/hubtype-fields/capture-user-input.js +6 -6
- package/lib/esm/content-fields/hubtype-fields/capture-user-input.js.map +1 -1
- package/lib/esm/content-fields/hubtype-fields/carousel.d.ts +3 -3
- package/lib/esm/content-fields/hubtype-fields/carousel.js +3 -2
- package/lib/esm/content-fields/hubtype-fields/carousel.js.map +1 -1
- package/lib/esm/content-fields/hubtype-fields/channel-conditional.d.ts +3 -3
- package/lib/esm/content-fields/hubtype-fields/channel-conditional.js +3 -2
- package/lib/esm/content-fields/hubtype-fields/channel-conditional.js.map +1 -1
- package/lib/esm/content-fields/hubtype-fields/common.d.ts +2 -2
- package/lib/esm/content-fields/hubtype-fields/common.js +3 -2
- package/lib/esm/content-fields/hubtype-fields/common.js.map +1 -1
- package/lib/esm/content-fields/hubtype-fields/country-conditional.d.ts +3 -3
- package/lib/esm/content-fields/hubtype-fields/country-conditional.js +3 -2
- package/lib/esm/content-fields/hubtype-fields/country-conditional.js.map +1 -1
- package/lib/esm/content-fields/hubtype-fields/custom-conditional-v2.d.ts +2 -2
- package/lib/esm/content-fields/hubtype-fields/custom-conditional-v2.js +15 -15
- package/lib/esm/content-fields/hubtype-fields/custom-conditional-v2.js.map +1 -1
- package/lib/esm/content-fields/hubtype-fields/custom-conditional.d.ts +3 -3
- package/lib/esm/content-fields/hubtype-fields/custom-conditional.js +3 -2
- package/lib/esm/content-fields/hubtype-fields/custom-conditional.js.map +1 -1
- package/lib/esm/content-fields/hubtype-fields/fallback.d.ts +2 -2
- package/lib/esm/content-fields/hubtype-fields/fallback.js +3 -2
- package/lib/esm/content-fields/hubtype-fields/fallback.js.map +1 -1
- package/lib/esm/content-fields/hubtype-fields/function.d.ts +2 -2
- package/lib/esm/content-fields/hubtype-fields/function.js +6 -6
- package/lib/esm/content-fields/hubtype-fields/function.js.map +1 -1
- package/lib/esm/content-fields/hubtype-fields/go-to-flow.d.ts +2 -2
- package/lib/esm/content-fields/hubtype-fields/go-to-flow.js +3 -2
- package/lib/esm/content-fields/hubtype-fields/go-to-flow.js.map +1 -1
- package/lib/esm/content-fields/hubtype-fields/handoff.d.ts +2 -2
- package/lib/esm/content-fields/hubtype-fields/handoff.js +3 -2
- package/lib/esm/content-fields/hubtype-fields/handoff.js.map +1 -1
- package/lib/esm/content-fields/hubtype-fields/image.d.ts +2 -2
- package/lib/esm/content-fields/hubtype-fields/image.js +3 -2
- package/lib/esm/content-fields/hubtype-fields/image.js.map +1 -1
- package/lib/esm/content-fields/hubtype-fields/index.d.ts +27 -26
- package/lib/esm/content-fields/hubtype-fields/index.js +56 -29
- package/lib/esm/content-fields/hubtype-fields/index.js.map +1 -1
- package/lib/esm/content-fields/hubtype-fields/keyword.d.ts +2 -2
- package/lib/esm/content-fields/hubtype-fields/keyword.js +3 -2
- package/lib/esm/content-fields/hubtype-fields/keyword.js.map +1 -1
- package/lib/esm/content-fields/hubtype-fields/node-types.d.ts +1 -0
- package/lib/esm/content-fields/hubtype-fields/node-types.js +13 -12
- package/lib/esm/content-fields/hubtype-fields/node-types.js.map +1 -1
- package/lib/esm/content-fields/hubtype-fields/nodes.d.ts +24 -23
- package/lib/esm/content-fields/hubtype-fields/nodes.js +3 -2
- package/lib/esm/content-fields/hubtype-fields/nodes.js.map +1 -1
- package/lib/esm/content-fields/hubtype-fields/payload.d.ts +1 -1
- package/lib/esm/content-fields/hubtype-fields/payload.js +3 -2
- package/lib/esm/content-fields/hubtype-fields/payload.js.map +1 -1
- package/lib/esm/content-fields/hubtype-fields/queue-status-conditional.d.ts +3 -3
- package/lib/esm/content-fields/hubtype-fields/queue-status-conditional.js +3 -2
- package/lib/esm/content-fields/hubtype-fields/queue-status-conditional.js.map +1 -1
- package/lib/esm/content-fields/hubtype-fields/rating.d.ts +2 -2
- package/lib/esm/content-fields/hubtype-fields/rating.js +6 -6
- package/lib/esm/content-fields/hubtype-fields/rating.js.map +1 -1
- package/lib/esm/content-fields/hubtype-fields/smart-intent.d.ts +2 -2
- package/lib/esm/content-fields/hubtype-fields/smart-intent.js +3 -2
- package/lib/esm/content-fields/hubtype-fields/smart-intent.js.map +1 -1
- package/lib/esm/content-fields/hubtype-fields/text.d.ts +3 -3
- package/lib/esm/content-fields/hubtype-fields/text.js +3 -2
- package/lib/esm/content-fields/hubtype-fields/text.js.map +1 -1
- package/lib/esm/content-fields/hubtype-fields/url.d.ts +1 -1
- package/lib/esm/content-fields/hubtype-fields/url.js +3 -2
- package/lib/esm/content-fields/hubtype-fields/url.js.map +1 -1
- package/lib/esm/content-fields/hubtype-fields/video.d.ts +2 -2
- package/lib/esm/content-fields/hubtype-fields/video.js +3 -2
- package/lib/esm/content-fields/hubtype-fields/video.js.map +1 -1
- package/lib/esm/content-fields/hubtype-fields/webview.d.ts +2 -2
- package/lib/esm/content-fields/hubtype-fields/webview.js +3 -2
- package/lib/esm/content-fields/hubtype-fields/webview.js.map +1 -1
- package/lib/esm/content-fields/hubtype-fields/whatsapp-button-list.d.ts +2 -2
- package/lib/esm/content-fields/hubtype-fields/whatsapp-button-list.js +3 -2
- package/lib/esm/content-fields/hubtype-fields/whatsapp-button-list.js.map +1 -1
- package/lib/esm/content-fields/hubtype-fields/whatsapp-cta-url-button.d.ts +3 -3
- package/lib/esm/content-fields/hubtype-fields/whatsapp-cta-url-button.js +3 -2
- package/lib/esm/content-fields/hubtype-fields/whatsapp-cta-url-button.js.map +1 -1
- package/lib/esm/content-fields/hubtype-fields/whatsapp-request-contact-info.d.ts +8 -0
- package/lib/esm/content-fields/hubtype-fields/whatsapp-request-contact-info.js +4 -0
- package/lib/esm/content-fields/hubtype-fields/whatsapp-request-contact-info.js.map +1 -0
- package/lib/esm/content-fields/hubtype-fields/whatsapp-template.d.ts +7 -3
- package/lib/esm/content-fields/hubtype-fields/whatsapp-template.js +6 -6
- package/lib/esm/content-fields/hubtype-fields/whatsapp-template.js.map +1 -1
- package/lib/esm/content-fields/index.d.ts +25 -24
- package/lib/esm/content-fields/index.js +72 -49
- package/lib/esm/content-fields/index.js.map +1 -1
- package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.d.ts +3 -3
- package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.js +16 -14
- package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.js.map +1 -1
- package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.d.ts +4 -4
- package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.js +20 -15
- package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.js.map +1 -1
- package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list.d.ts +4 -4
- package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list.js +46 -26
- package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list.js.map +1 -1
- package/lib/esm/content-fields/whatsapp-button-list/index.d.ts +3 -3
- package/lib/esm/content-fields/whatsapp-button-list/index.js +11 -9
- package/lib/esm/content-fields/whatsapp-button-list/index.js.map +1 -1
- package/lib/esm/filters/index.d.ts +2 -2
- package/lib/esm/filters/index.js +8 -9
- package/lib/esm/filters/index.js.map +1 -1
- package/lib/esm/flow-factory.d.ts +3 -3
- package/lib/esm/flow-factory.js +57 -49
- package/lib/esm/flow-factory.js.map +1 -1
- package/lib/esm/functions/index.d.ts +1 -1
- package/lib/esm/functions/index.js +25 -19
- package/lib/esm/functions/index.js.map +1 -1
- package/lib/esm/index.d.ts +12 -12
- package/lib/esm/index.js +94 -77
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/package.json +3 -0
- package/lib/esm/services/hubtype-queues-api.js +14 -14
- package/lib/esm/services/hubtype-queues-api.js.map +1 -1
- package/lib/esm/structured-output/flow-builder-content.js +14 -13
- package/lib/esm/structured-output/flow-builder-content.js.map +1 -1
- package/lib/esm/tracking.d.ts +2 -2
- package/lib/esm/tracking.js +27 -21
- package/lib/esm/tracking.js.map +1 -1
- package/lib/esm/types.d.ts +5 -5
- package/lib/esm/types.js +9 -9
- package/lib/esm/types.js.map +1 -1
- package/lib/esm/user-input/capture-user-input-api.d.ts +2 -2
- package/lib/esm/user-input/capture-user-input-api.js +44 -33
- package/lib/esm/user-input/capture-user-input-api.js.map +1 -1
- package/lib/esm/user-input/index.d.ts +2 -2
- package/lib/esm/user-input/index.js +23 -14
- package/lib/esm/user-input/index.js.map +1 -1
- package/lib/esm/user-input/keyword.d.ts +2 -2
- package/lib/esm/user-input/keyword.js +31 -26
- package/lib/esm/user-input/keyword.js.map +1 -1
- package/lib/esm/user-input/smart-intent.d.ts +2 -2
- package/lib/esm/user-input/smart-intent.js +36 -32
- package/lib/esm/user-input/smart-intent.js.map +1 -1
- package/lib/esm/utils/ai-agent.d.ts +3 -3
- package/lib/esm/utils/ai-agent.js +17 -12
- package/lib/esm/utils/ai-agent.js.map +1 -1
- package/lib/esm/utils/authentication.js +10 -7
- package/lib/esm/utils/authentication.js.map +1 -1
- package/lib/esm/utils/flow-locale.js +14 -18
- package/lib/esm/utils/flow-locale.js.map +1 -1
- package/lib/esm/utils/get-flow-builder-plugin.d.ts +1 -1
- package/lib/esm/utils/get-flow-builder-plugin.js +4 -4
- package/lib/esm/utils/get-flow-builder-plugin.js.map +1 -1
- package/lib/esm/utils/hubtype-assistant-content.d.ts +1 -1
- package/lib/esm/utils/hubtype-assistant-content.js +57 -43
- package/lib/esm/utils/hubtype-assistant-content.js.map +1 -1
- package/lib/esm/utils/input.js +16 -14
- package/lib/esm/utils/input.js.map +1 -1
- package/lib/esm/webview/contents-context.d.ts +1 -1
- package/lib/esm/webview/contents-context.js +13 -11
- package/lib/esm/webview/contents-context.js.map +1 -1
- package/lib/esm/webview/index.d.ts +3 -3
- package/lib/esm/webview/index.js +10 -9
- package/lib/esm/webview/index.js.map +1 -1
- package/lib/esm/webview/types.d.ts +1 -1
- package/lib/esm/webview/types.js +6 -6
- package/lib/esm/webview/types.js.map +1 -1
- package/lib/esm/webview/use-webview-contents.d.ts +1 -1
- package/lib/esm/webview/use-webview-contents.js +46 -39
- package/lib/esm/webview/use-webview-contents.js.map +1 -1
- package/package.json +8 -7
- package/src/content-fields/flow-whatsapp-request-contact-info.tsx +48 -0
- package/src/content-fields/flow-whatsapp-template.tsx +16 -0
- package/src/content-fields/hubtype-fields/index.ts +1 -0
- package/src/content-fields/hubtype-fields/node-types.ts +1 -0
- package/src/content-fields/hubtype-fields/nodes.ts +2 -0
- package/src/content-fields/hubtype-fields/whatsapp-request-contact-info.ts +9 -0
- package/src/content-fields/hubtype-fields/whatsapp-template.ts +5 -0
- package/src/content-fields/index.ts +3 -0
- package/src/flow-factory.ts +6 -0
- package/src/index.ts +5 -5
- package/src/types.ts +6 -6
- package/lib/cjs/action/ai-agent-from-user-input.d.ts +0 -3
- package/lib/cjs/action/ai-agent-from-user-input.js +0 -32
- package/lib/cjs/action/ai-agent-from-user-input.js.map +0 -1
- package/lib/cjs/action/context.d.ts +0 -11
- package/lib/cjs/action/context.js +0 -17
- package/lib/cjs/action/context.js.map +0 -1
- package/lib/cjs/action/fallback.d.ts +0 -3
- package/lib/cjs/action/fallback.js +0 -36
- package/lib/cjs/action/fallback.js.map +0 -1
- package/lib/cjs/action/first-interaction.d.ts +0 -3
- package/lib/cjs/action/first-interaction.js +0 -88
- package/lib/cjs/action/first-interaction.js.map +0 -1
- package/lib/cjs/action/get-contents.d.ts +0 -3
- package/lib/cjs/action/get-contents.js +0 -39
- package/lib/cjs/action/get-contents.js.map +0 -1
- package/lib/cjs/action/index.d.ts +0 -25
- package/lib/cjs/action/index.js +0 -90
- package/lib/cjs/action/index.js.map +0 -1
- package/lib/cjs/action/payload.d.ts +0 -3
- package/lib/cjs/action/payload.js +0 -74
- package/lib/cjs/action/payload.js.map +0 -1
- package/lib/cjs/api.d.ts +0 -40
- package/lib/cjs/api.js +0 -205
- package/lib/cjs/api.js.map +0 -1
- package/lib/cjs/constants.d.ts +0 -13
- package/lib/cjs/constants.js +0 -19
- package/lib/cjs/constants.js.map +0 -1
- package/lib/cjs/content-fields/content-fields-base.d.ts +0 -20
- package/lib/cjs/content-fields/content-fields-base.js +0 -74
- package/lib/cjs/content-fields/content-fields-base.js.map +0 -1
- package/lib/cjs/content-fields/custom-conditional/custom-conditional-v2-evaluators.d.ts +0 -15
- package/lib/cjs/content-fields/custom-conditional/custom-conditional-v2-evaluators.js +0 -71
- package/lib/cjs/content-fields/custom-conditional/custom-conditional-v2-evaluators.js.map +0 -1
- package/lib/cjs/content-fields/custom-conditional/custom-conditional-v2-resolver.d.ts +0 -9
- package/lib/cjs/content-fields/custom-conditional/custom-conditional-v2-resolver.js +0 -58
- package/lib/cjs/content-fields/custom-conditional/custom-conditional-v2-resolver.js.map +0 -1
- package/lib/cjs/content-fields/custom-conditional/flow-custom-condition-v2.d.ts +0 -17
- package/lib/cjs/content-fields/custom-conditional/flow-custom-condition-v2.js +0 -79
- package/lib/cjs/content-fields/custom-conditional/flow-custom-condition-v2.js.map +0 -1
- package/lib/cjs/content-fields/flow-ai-agent-base.d.ts +0 -25
- package/lib/cjs/content-fields/flow-ai-agent-base.js +0 -93
- package/lib/cjs/content-fields/flow-ai-agent-base.js.map +0 -1
- package/lib/cjs/content-fields/flow-ai-agent-router.d.ts +0 -21
- package/lib/cjs/content-fields/flow-ai-agent-router.js +0 -125
- package/lib/cjs/content-fields/flow-ai-agent-router.js.map +0 -1
- package/lib/cjs/content-fields/flow-ai-agent.d.ts +0 -17
- package/lib/cjs/content-fields/flow-ai-agent.js +0 -64
- package/lib/cjs/content-fields/flow-ai-agent.js.map +0 -1
- package/lib/cjs/content-fields/flow-bot-action.d.ts +0 -14
- package/lib/cjs/content-fields/flow-bot-action.js +0 -45
- package/lib/cjs/content-fields/flow-bot-action.js.map +0 -1
- package/lib/cjs/content-fields/flow-button.d.ts +0 -31
- package/lib/cjs/content-fields/flow-button.js +0 -86
- package/lib/cjs/content-fields/flow-button.js.map +0 -1
- package/lib/cjs/content-fields/flow-capture-user-input.d.ts +0 -14
- package/lib/cjs/content-fields/flow-capture-user-input.js +0 -45
- package/lib/cjs/content-fields/flow-capture-user-input.js.map +0 -1
- package/lib/cjs/content-fields/flow-carousel.d.ts +0 -22
- package/lib/cjs/content-fields/flow-carousel.js +0 -152
- package/lib/cjs/content-fields/flow-carousel.js.map +0 -1
- package/lib/cjs/content-fields/flow-channel-conditional.d.ts +0 -14
- package/lib/cjs/content-fields/flow-channel-conditional.js +0 -57
- package/lib/cjs/content-fields/flow-channel-conditional.js.map +0 -1
- package/lib/cjs/content-fields/flow-country-conditional.d.ts +0 -13
- package/lib/cjs/content-fields/flow-country-conditional.js +0 -59
- package/lib/cjs/content-fields/flow-country-conditional.js.map +0 -1
- package/lib/cjs/content-fields/flow-custom-conditional.d.ts +0 -17
- package/lib/cjs/content-fields/flow-custom-conditional.js +0 -89
- package/lib/cjs/content-fields/flow-custom-conditional.js.map +0 -1
- package/lib/cjs/content-fields/flow-element.d.ts +0 -22
- package/lib/cjs/content-fields/flow-element.js +0 -50
- package/lib/cjs/content-fields/flow-element.js.map +0 -1
- package/lib/cjs/content-fields/flow-go-to-flow.d.ts +0 -13
- package/lib/cjs/content-fields/flow-go-to-flow.js +0 -51
- package/lib/cjs/content-fields/flow-go-to-flow.js.map +0 -1
- package/lib/cjs/content-fields/flow-handoff.d.ts +0 -17
- package/lib/cjs/content-fields/flow-handoff.js +0 -68
- package/lib/cjs/content-fields/flow-handoff.js.map +0 -1
- package/lib/cjs/content-fields/flow-image.d.ts +0 -10
- package/lib/cjs/content-fields/flow-image.js +0 -33
- package/lib/cjs/content-fields/flow-image.js.map +0 -1
- package/lib/cjs/content-fields/flow-queue-status-conditional.d.ts +0 -30
- package/lib/cjs/content-fields/flow-queue-status-conditional.js +0 -95
- package/lib/cjs/content-fields/flow-queue-status-conditional.js.map +0 -1
- package/lib/cjs/content-fields/flow-rating.d.ts +0 -15
- package/lib/cjs/content-fields/flow-rating.js +0 -66
- package/lib/cjs/content-fields/flow-rating.js.map +0 -1
- package/lib/cjs/content-fields/flow-text.d.ts +0 -15
- package/lib/cjs/content-fields/flow-text.js +0 -60
- package/lib/cjs/content-fields/flow-text.js.map +0 -1
- package/lib/cjs/content-fields/flow-video.d.ts +0 -10
- package/lib/cjs/content-fields/flow-video.js +0 -33
- package/lib/cjs/content-fields/flow-video.js.map +0 -1
- package/lib/cjs/content-fields/flow-webview.d.ts +0 -16
- package/lib/cjs/content-fields/flow-webview.js +0 -78
- package/lib/cjs/content-fields/flow-webview.js.map +0 -1
- package/lib/cjs/content-fields/flow-whatsapp-cta-url-button.d.ts +0 -21
- package/lib/cjs/content-fields/flow-whatsapp-cta-url-button.js +0 -92
- package/lib/cjs/content-fields/flow-whatsapp-cta-url-button.js.map +0 -1
- package/lib/cjs/content-fields/flow-whatsapp-template.d.ts +0 -36
- package/lib/cjs/content-fields/flow-whatsapp-template.js +0 -253
- package/lib/cjs/content-fields/flow-whatsapp-template.js.map +0 -1
- package/lib/cjs/content-fields/hubtype-fields/ai-agent-router.d.ts +0 -21
- package/lib/cjs/content-fields/hubtype-fields/ai-agent-router.js +0 -3
- package/lib/cjs/content-fields/hubtype-fields/ai-agent-router.js.map +0 -1
- package/lib/cjs/content-fields/hubtype-fields/ai-agent.d.ts +0 -25
- package/lib/cjs/content-fields/hubtype-fields/ai-agent.js +0 -3
- package/lib/cjs/content-fields/hubtype-fields/ai-agent.js.map +0 -1
- package/lib/cjs/content-fields/hubtype-fields/bot-action.d.ts +0 -10
- package/lib/cjs/content-fields/hubtype-fields/bot-action.js +0 -3
- package/lib/cjs/content-fields/hubtype-fields/bot-action.js.map +0 -1
- package/lib/cjs/content-fields/hubtype-fields/button.d.ts +0 -8
- package/lib/cjs/content-fields/hubtype-fields/button.js +0 -3
- package/lib/cjs/content-fields/hubtype-fields/button.js.map +0 -1
- package/lib/cjs/content-fields/hubtype-fields/capture-user-input.d.ts +0 -19
- package/lib/cjs/content-fields/hubtype-fields/capture-user-input.js +0 -12
- package/lib/cjs/content-fields/hubtype-fields/capture-user-input.js.map +0 -1
- package/lib/cjs/content-fields/hubtype-fields/carousel.d.ts +0 -17
- package/lib/cjs/content-fields/hubtype-fields/carousel.js +0 -3
- package/lib/cjs/content-fields/hubtype-fields/carousel.js.map +0 -1
- package/lib/cjs/content-fields/hubtype-fields/channel-conditional.d.ts +0 -10
- package/lib/cjs/content-fields/hubtype-fields/channel-conditional.js +0 -3
- package/lib/cjs/content-fields/hubtype-fields/channel-conditional.js.map +0 -1
- package/lib/cjs/content-fields/hubtype-fields/common.d.ts +0 -83
- package/lib/cjs/content-fields/hubtype-fields/common.js +0 -3
- package/lib/cjs/content-fields/hubtype-fields/common.js.map +0 -1
- package/lib/cjs/content-fields/hubtype-fields/country-conditional.d.ts +0 -10
- package/lib/cjs/content-fields/hubtype-fields/country-conditional.js +0 -3
- package/lib/cjs/content-fields/hubtype-fields/country-conditional.js.map +0 -1
- package/lib/cjs/content-fields/hubtype-fields/custom-conditional-v2.d.ts +0 -56
- package/lib/cjs/content-fields/hubtype-fields/custom-conditional-v2.js +0 -36
- package/lib/cjs/content-fields/hubtype-fields/custom-conditional-v2.js.map +0 -1
- package/lib/cjs/content-fields/hubtype-fields/custom-conditional.d.ts +0 -11
- package/lib/cjs/content-fields/hubtype-fields/custom-conditional.js +0 -3
- package/lib/cjs/content-fields/hubtype-fields/custom-conditional.js.map +0 -1
- package/lib/cjs/content-fields/hubtype-fields/fallback.d.ts +0 -9
- package/lib/cjs/content-fields/hubtype-fields/fallback.js +0 -3
- package/lib/cjs/content-fields/hubtype-fields/fallback.js.map +0 -1
- package/lib/cjs/content-fields/hubtype-fields/function.d.ts +0 -30
- package/lib/cjs/content-fields/hubtype-fields/function.js +0 -11
- package/lib/cjs/content-fields/hubtype-fields/function.js.map +0 -1
- package/lib/cjs/content-fields/hubtype-fields/go-to-flow.d.ts +0 -9
- package/lib/cjs/content-fields/hubtype-fields/go-to-flow.js +0 -3
- package/lib/cjs/content-fields/hubtype-fields/go-to-flow.js.map +0 -1
- package/lib/cjs/content-fields/hubtype-fields/handoff.d.ts +0 -11
- package/lib/cjs/content-fields/hubtype-fields/handoff.js +0 -3
- package/lib/cjs/content-fields/hubtype-fields/handoff.js.map +0 -1
- package/lib/cjs/content-fields/hubtype-fields/image.d.ts +0 -8
- package/lib/cjs/content-fields/hubtype-fields/image.js +0 -3
- package/lib/cjs/content-fields/hubtype-fields/image.js.map +0 -1
- package/lib/cjs/content-fields/hubtype-fields/index.d.ts +0 -26
- package/lib/cjs/content-fields/hubtype-fields/index.js +0 -30
- package/lib/cjs/content-fields/hubtype-fields/index.js.map +0 -1
- package/lib/cjs/content-fields/hubtype-fields/keyword.d.ts +0 -9
- package/lib/cjs/content-fields/hubtype-fields/keyword.js +0 -3
- package/lib/cjs/content-fields/hubtype-fields/keyword.js.map +0 -1
- package/lib/cjs/content-fields/hubtype-fields/node-types.d.ts +0 -30
- package/lib/cjs/content-fields/hubtype-fields/node-types.js +0 -37
- package/lib/cjs/content-fields/hubtype-fields/node-types.js.map +0 -1
- package/lib/cjs/content-fields/hubtype-fields/nodes.d.ts +0 -25
- package/lib/cjs/content-fields/hubtype-fields/nodes.js +0 -3
- package/lib/cjs/content-fields/hubtype-fields/nodes.js.map +0 -1
- package/lib/cjs/content-fields/hubtype-fields/payload.d.ts +0 -8
- package/lib/cjs/content-fields/hubtype-fields/payload.js +0 -3
- package/lib/cjs/content-fields/hubtype-fields/payload.js.map +0 -1
- package/lib/cjs/content-fields/hubtype-fields/queue-status-conditional.d.ts +0 -25
- package/lib/cjs/content-fields/hubtype-fields/queue-status-conditional.js +0 -3
- package/lib/cjs/content-fields/hubtype-fields/queue-status-conditional.js.map +0 -1
- package/lib/cjs/content-fields/hubtype-fields/rating.d.ts +0 -23
- package/lib/cjs/content-fields/hubtype-fields/rating.js +0 -9
- package/lib/cjs/content-fields/hubtype-fields/rating.js.map +0 -1
- package/lib/cjs/content-fields/hubtype-fields/smart-intent.d.ts +0 -12
- package/lib/cjs/content-fields/hubtype-fields/smart-intent.js +0 -3
- package/lib/cjs/content-fields/hubtype-fields/smart-intent.js.map +0 -1
- package/lib/cjs/content-fields/hubtype-fields/text.d.ts +0 -11
- package/lib/cjs/content-fields/hubtype-fields/text.js +0 -3
- package/lib/cjs/content-fields/hubtype-fields/text.js.map +0 -1
- package/lib/cjs/content-fields/hubtype-fields/url.d.ts +0 -8
- package/lib/cjs/content-fields/hubtype-fields/url.js +0 -3
- package/lib/cjs/content-fields/hubtype-fields/url.js.map +0 -1
- package/lib/cjs/content-fields/hubtype-fields/video.d.ts +0 -8
- package/lib/cjs/content-fields/hubtype-fields/video.js +0 -3
- package/lib/cjs/content-fields/hubtype-fields/video.js.map +0 -1
- package/lib/cjs/content-fields/hubtype-fields/webview.d.ts +0 -17
- package/lib/cjs/content-fields/hubtype-fields/webview.js +0 -3
- package/lib/cjs/content-fields/hubtype-fields/webview.js.map +0 -1
- package/lib/cjs/content-fields/hubtype-fields/whatsapp-button-list.d.ts +0 -21
- package/lib/cjs/content-fields/hubtype-fields/whatsapp-button-list.js +0 -3
- package/lib/cjs/content-fields/hubtype-fields/whatsapp-button-list.js.map +0 -1
- package/lib/cjs/content-fields/hubtype-fields/whatsapp-cta-url-button.d.ts +0 -17
- package/lib/cjs/content-fields/hubtype-fields/whatsapp-cta-url-button.js +0 -3
- package/lib/cjs/content-fields/hubtype-fields/whatsapp-cta-url-button.js.map +0 -1
- package/lib/cjs/content-fields/hubtype-fields/whatsapp-template.d.ts +0 -92
- package/lib/cjs/content-fields/hubtype-fields/whatsapp-template.js +0 -9
- package/lib/cjs/content-fields/hubtype-fields/whatsapp-template.js.map +0 -1
- package/lib/cjs/content-fields/index.d.ts +0 -24
- package/lib/cjs/content-fields/index.js +0 -50
- package/lib/cjs/content-fields/index.js.map +0 -1
- package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.d.ts +0 -14
- package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.js +0 -41
- package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.js.map +0 -1
- package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.d.ts +0 -13
- package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.js +0 -36
- package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.js.map +0 -1
- package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list.d.ts +0 -14
- package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list.js +0 -46
- package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list.js.map +0 -1
- package/lib/cjs/content-fields/whatsapp-button-list/index.d.ts +0 -3
- package/lib/cjs/content-fields/whatsapp-button-list/index.js +0 -10
- package/lib/cjs/content-fields/whatsapp-button-list/index.js.map +0 -1
- package/lib/cjs/filters/index.d.ts +0 -12
- package/lib/cjs/filters/index.js +0 -17
- package/lib/cjs/filters/index.js.map +0 -1
- package/lib/cjs/flow-factory.d.ts +0 -12
- package/lib/cjs/flow-factory.js +0 -67
- package/lib/cjs/flow-factory.js.map +0 -1
- package/lib/cjs/functions/index.d.ts +0 -11
- package/lib/cjs/functions/index.js +0 -49
- package/lib/cjs/functions/index.js.map +0 -1
- package/lib/cjs/index.d.ts +0 -45
- package/lib/cjs/index.js +0 -178
- package/lib/cjs/index.js.map +0 -1
- package/lib/cjs/services/hubtype-queues-api.d.ts +0 -14
- package/lib/cjs/services/hubtype-queues-api.js +0 -26
- package/lib/cjs/services/hubtype-queues-api.js.map +0 -1
- package/lib/cjs/structured-output/flow-builder-content.d.ts +0 -13
- package/lib/cjs/structured-output/flow-builder-content.js +0 -15
- package/lib/cjs/structured-output/flow-builder-content.js.map +0 -1
- package/lib/cjs/tracking.d.ts +0 -16
- package/lib/cjs/tracking.js +0 -71
- package/lib/cjs/tracking.js.map +0 -1
- package/lib/cjs/types.d.ts +0 -62
- package/lib/cjs/types.js +0 -14
- package/lib/cjs/types.js.map +0 -1
- package/lib/cjs/user-input/capture-user-input-api.d.ts +0 -21
- package/lib/cjs/user-input/capture-user-input-api.js +0 -88
- package/lib/cjs/user-input/capture-user-input-api.js.map +0 -1
- package/lib/cjs/user-input/index.d.ts +0 -4
- package/lib/cjs/user-input/index.js +0 -37
- package/lib/cjs/user-input/index.js.map +0 -1
- package/lib/cjs/user-input/keyword.d.ts +0 -27
- package/lib/cjs/user-input/keyword.js +0 -84
- package/lib/cjs/user-input/keyword.js.map +0 -1
- package/lib/cjs/user-input/smart-intent.d.ts +0 -24
- package/lib/cjs/user-input/smart-intent.js +0 -89
- package/lib/cjs/user-input/smart-intent.js.map +0 -1
- package/lib/cjs/utils/ai-agent.d.ts +0 -11
- package/lib/cjs/utils/ai-agent.js +0 -28
- package/lib/cjs/utils/ai-agent.js.map +0 -1
- package/lib/cjs/utils/authentication.d.ts +0 -2
- package/lib/cjs/utils/authentication.js +0 -21
- package/lib/cjs/utils/authentication.js.map +0 -1
- package/lib/cjs/utils/flow-locale.d.ts +0 -22
- package/lib/cjs/utils/flow-locale.js +0 -79
- package/lib/cjs/utils/flow-locale.js.map +0 -1
- package/lib/cjs/utils/get-flow-builder-plugin.d.ts +0 -3
- package/lib/cjs/utils/get-flow-builder-plugin.js +0 -16
- package/lib/cjs/utils/get-flow-builder-plugin.js.map +0 -1
- package/lib/cjs/utils/hubtype-assistant-content.d.ts +0 -12
- package/lib/cjs/utils/hubtype-assistant-content.js +0 -173
- package/lib/cjs/utils/hubtype-assistant-content.js.map +0 -1
- package/lib/cjs/utils/input.d.ts +0 -6
- package/lib/cjs/utils/input.js +0 -35
- package/lib/cjs/utils/input.js.map +0 -1
- package/lib/cjs/webview/contents-context.d.ts +0 -2
- package/lib/cjs/webview/contents-context.js +0 -12
- package/lib/cjs/webview/contents-context.js.map +0 -1
- package/lib/cjs/webview/index.d.ts +0 -3
- package/lib/cjs/webview/index.js +0 -10
- package/lib/cjs/webview/index.js.map +0 -1
- package/lib/cjs/webview/types.d.ts +0 -47
- package/lib/cjs/webview/types.js +0 -9
- package/lib/cjs/webview/types.js.map +0 -1
- package/lib/cjs/webview/use-webview-contents.d.ts +0 -2
- package/lib/cjs/webview/use-webview-contents.js +0 -83
- package/lib/cjs/webview/use-webview-contents.js.map +0 -1
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import { isWhatsapp } from "@botonic/core";
|
|
3
|
+
import { Text, WhatsappRequestContactInfo } from "@botonic/react";
|
|
4
|
+
import { trackOneContent } from "../tracking.js";
|
|
5
|
+
import { ContentFieldsBase } from "./content-fields-base.js";
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
class FlowWhatsappRequestContactInfoNode extends ContentFieldsBase {
|
|
18
|
+
static fromHubtypeCMS(component, locale) {
|
|
19
|
+
const requestContactInfo = new FlowWhatsappRequestContactInfoNode(component.id);
|
|
20
|
+
requestContactInfo.code = component.code;
|
|
21
|
+
requestContactInfo.text = FlowWhatsappRequestContactInfoNode.getTextByLocale(locale, component.content.text);
|
|
22
|
+
requestContactInfo.followUp = component.follow_up;
|
|
23
|
+
return requestContactInfo;
|
|
24
|
+
}
|
|
25
|
+
async trackFlow(botContext) {
|
|
26
|
+
await trackOneContent(botContext, this);
|
|
27
|
+
}
|
|
28
|
+
async processContent(botContext) {
|
|
29
|
+
await this.filterContent(botContext, this);
|
|
30
|
+
await this.trackFlow(botContext);
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
toBotonic(botContext) {
|
|
34
|
+
const replacedText = this.replaceVariables(this.text, botContext);
|
|
35
|
+
if (!isWhatsapp(botContext.session)) {
|
|
36
|
+
return /*#__PURE__*/ jsx(Text, {
|
|
37
|
+
children: replacedText
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
return /*#__PURE__*/ jsx(WhatsappRequestContactInfo, {
|
|
41
|
+
body: replacedText
|
|
42
|
+
}, this.id);
|
|
43
|
+
}
|
|
44
|
+
constructor(...args){
|
|
45
|
+
super(...args), this.text = '';
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
export { FlowWhatsappRequestContactInfoNode };
|
|
50
|
+
|
|
51
|
+
//# sourceMappingURL=flow-whatsapp-request-contact-info.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"content-fields/flow-whatsapp-request-contact-info.js","sources":["../../../src/content-fields/flow-whatsapp-request-contact-info.tsx"],"sourcesContent":["import { type BotContext, isWhatsapp } from '@botonic/core'\nimport { Text, WhatsappRequestContactInfo } from '@botonic/react'\n\nimport { trackOneContent } from '../tracking'\nimport { ContentFieldsBase } from './content-fields-base'\nimport type { HtWhatsappRequestContactInfoNode } from './hubtype-fields'\n\nexport class FlowWhatsappRequestContactInfoNode extends ContentFieldsBase {\n public text = ''\n\n static fromHubtypeCMS(\n component: HtWhatsappRequestContactInfoNode,\n locale: string\n ): FlowWhatsappRequestContactInfoNode {\n const requestContactInfo = new FlowWhatsappRequestContactInfoNode(\n component.id\n )\n requestContactInfo.code = component.code\n requestContactInfo.text =\n FlowWhatsappRequestContactInfoNode.getTextByLocale(\n locale,\n component.content.text\n )\n requestContactInfo.followUp = component.follow_up\n\n return requestContactInfo\n }\n\n async trackFlow(botContext: BotContext): Promise<void> {\n await trackOneContent(botContext, this)\n }\n\n async processContent(botContext: BotContext): Promise<void> {\n await this.filterContent(botContext, this)\n await this.trackFlow(botContext)\n return\n }\n\n toBotonic(botContext: BotContext): JSX.Element {\n const replacedText = this.replaceVariables(this.text, botContext)\n\n if (!isWhatsapp(botContext.session)) {\n return <Text>{replacedText}</Text>\n }\n\n return <WhatsappRequestContactInfo key={this.id} body={replacedText} />\n }\n}\n"],"names":["isWhatsapp","Text","WhatsappRequestContactInfo","trackOneContent","ContentFieldsBase","FlowWhatsappRequestContactInfoNode","component","locale","requestContactInfo","botContext","replacedText"],"mappings":";;;;;;;;;;;;AAA2D;AACM;AAEpB;AACY;AAGlD,MAAMK,kCAAkCA,SAASD,iBAAiBA;IAGvE,OAAO,eACLE,SAA2C,EAC3CC,MAAc,EACsB;QACpC,MAAMC,qBAAqB,IAAIH,kCAAkCA,CAC/DC,UAAU,EAAE;QAEdE,mBAAmB,IAAI,GAAGF,UAAU,IAAI;QACxCE,mBAAmB,IAAI,GACrBH,kCAAkCA,CAAC,eAAe,CAChDE,QACAD,UAAU,OAAO,CAAC,IAAI;QAE1BE,mBAAmB,QAAQ,GAAGF,UAAU,SAAS;QAEjD,OAAOE;IACT;IAEA,MAAM,UAAUC,UAAsB,EAAiB;QACrD,MAAMN,eAAeA,CAACM,YAAY,IAAI;IACxC;IAEA,MAAM,eAAeA,UAAsB,EAAiB;QAC1D,MAAM,IAAI,CAAC,aAAa,CAACA,YAAY,IAAI;QACzC,MAAM,IAAI,CAAC,SAAS,CAACA;QACrB;IACF;IAEA,UAAUA,UAAsB,EAAe;QAC7C,MAAMC,eAAe,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAED;QAEtD,IAAI,CAACT,UAAUA,CAACS,WAAW,OAAO,GAAG;YACnC,qBAAO,IAACR,IAAIA;0BAAES;;QAChB;QAEA,qBAAO,IAACR,0BAA0BA;YAAe,MAAMQ;WAAf,IAAI,CAAC,EAAE;IACjD;;QAvCK,qBACE,OAAO;;AAuChB"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type BotContext } from '@botonic/core';
|
|
2
2
|
import { WhatsAppTemplateParameterType } from '@botonic/react';
|
|
3
|
-
import { ContentFieldsBase } from './content-fields-base';
|
|
4
|
-
import { type HtButton, type HtFlowButtonActionValue, type HtMediaFileLocale, type HtWhatsAppTemplate, type HtWhatsappTemplateNode } from './hubtype-fields';
|
|
3
|
+
import { ContentFieldsBase } from './content-fields-base.js';
|
|
4
|
+
import { type HtButton, type HtFlowButtonActionValue, type HtMediaFileLocale, type HtWhatsAppTemplate, type HtWhatsappTemplateNode } from './hubtype-fields/index.js';
|
|
5
5
|
interface HeaderVariables {
|
|
6
6
|
type: WhatsAppTemplateParameterType;
|
|
7
7
|
text?: Record<string, string>;
|
|
@@ -27,6 +27,7 @@ export declare class FlowWhatsappTemplate extends ContentFieldsBase {
|
|
|
27
27
|
private createQuickReplyButtonComponent;
|
|
28
28
|
private createVoiceCallButtonComponent;
|
|
29
29
|
private createPhoneNumberButtonComponent;
|
|
30
|
+
private createRequestContactInfoButtonComponent;
|
|
30
31
|
private resolveFlowActionData;
|
|
31
32
|
private createFlowButtonComponent;
|
|
32
33
|
trackFlow(botContext: BotContext): Promise<void>;
|
|
@@ -1,18 +1,26 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
1
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { isWhatsapp } from "@botonic/core";
|
|
3
|
+
import { Text, WhatsAppTemplateButtonSubType, WhatsAppTemplateComponentType, WhatsAppTemplateParameterType, WhatsappTemplate } from "@botonic/react";
|
|
4
|
+
import { trackOneContent } from "../tracking.js";
|
|
5
|
+
import { getFlowBuilderPlugin } from "../utils/get-flow-builder-plugin.js";
|
|
6
|
+
import { ContentFieldsBase } from "./content-fields-base.js";
|
|
7
|
+
import { HtWhatsAppTemplateFlowActionType } from "./hubtype-fields/index.js";
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
class FlowWhatsappTemplate extends ContentFieldsBase {
|
|
16
24
|
static fromHubtypeCMS(component, currentLocale) {
|
|
17
25
|
const whatsappTemplate = new FlowWhatsappTemplate(component.id);
|
|
18
26
|
whatsappTemplate.code = component.code;
|
|
@@ -25,8 +33,7 @@ class FlowWhatsappTemplate extends content_fields_base_1.ContentFieldsBase {
|
|
|
25
33
|
whatsappTemplate.headerVariables = contentByLocale.header_variables;
|
|
26
34
|
whatsappTemplate.variableValues = contentByLocale.variable_values || {};
|
|
27
35
|
whatsappTemplate.urlVariableValues = contentByLocale.url_variable_values;
|
|
28
|
-
whatsappTemplate.flowButtonActionValues =
|
|
29
|
-
contentByLocale.flow_button_action_values;
|
|
36
|
+
whatsappTemplate.flowButtonActionValues = contentByLocale.flow_button_action_values;
|
|
30
37
|
whatsappTemplate.followUp = component.follow_up;
|
|
31
38
|
return whatsappTemplate;
|
|
32
39
|
}
|
|
@@ -38,105 +45,103 @@ class FlowWhatsappTemplate extends content_fields_base_1.ContentFieldsBase {
|
|
|
38
45
|
return content;
|
|
39
46
|
}
|
|
40
47
|
getHeaderComponent(whatsappTemplate, headerVariables, locale, botContext) {
|
|
41
|
-
const headerComponent = whatsappTemplate.components.find(component
|
|
42
|
-
if (headerComponent &&
|
|
43
|
-
headerComponent.format === react_1.WhatsAppTemplateParameterType.TEXT) {
|
|
48
|
+
const headerComponent = whatsappTemplate.components.find((component)=>component.type === WhatsAppTemplateComponentType.HEADER);
|
|
49
|
+
if (headerComponent && headerComponent.format === WhatsAppTemplateParameterType.TEXT) {
|
|
44
50
|
return this.createHeaderTextComponent(headerVariables, botContext);
|
|
45
51
|
}
|
|
46
|
-
if (headerComponent &&
|
|
47
|
-
headerComponent.format === react_1.WhatsAppTemplateParameterType.IMAGE) {
|
|
52
|
+
if (headerComponent && headerComponent.format === WhatsAppTemplateParameterType.IMAGE) {
|
|
48
53
|
return this.createHeaderImageComponent(headerVariables, locale);
|
|
49
54
|
}
|
|
50
|
-
if (headerComponent &&
|
|
51
|
-
headerComponent.format === react_1.WhatsAppTemplateParameterType.VIDEO) {
|
|
55
|
+
if (headerComponent && headerComponent.format === WhatsAppTemplateParameterType.VIDEO) {
|
|
52
56
|
return this.createHeaderVideoComponent(headerVariables, locale);
|
|
53
57
|
}
|
|
54
58
|
return undefined;
|
|
55
59
|
}
|
|
56
60
|
createHeaderTextComponent(headerVariables, botContext) {
|
|
57
61
|
return {
|
|
58
|
-
type:
|
|
59
|
-
parameters: Object.values(headerVariables.text || {}).map(value
|
|
62
|
+
type: WhatsAppTemplateComponentType.HEADER,
|
|
63
|
+
parameters: Object.values(headerVariables.text || {}).map((value)=>{
|
|
60
64
|
const valueVariable = this.replaceVariables(value, botContext);
|
|
61
65
|
return {
|
|
62
|
-
type:
|
|
63
|
-
text: valueVariable
|
|
66
|
+
type: WhatsAppTemplateParameterType.TEXT,
|
|
67
|
+
text: valueVariable
|
|
64
68
|
};
|
|
65
|
-
})
|
|
69
|
+
})
|
|
66
70
|
};
|
|
67
71
|
}
|
|
68
72
|
createHeaderImageComponent(headerVariables, locale) {
|
|
69
73
|
return {
|
|
70
|
-
type:
|
|
74
|
+
type: WhatsAppTemplateComponentType.HEADER,
|
|
71
75
|
parameters: [
|
|
72
76
|
{
|
|
73
|
-
type:
|
|
77
|
+
type: WhatsAppTemplateParameterType.IMAGE,
|
|
74
78
|
image: {
|
|
75
|
-
link: headerVariables.media?.find(m
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
]
|
|
79
|
+
link: headerVariables.media?.find((m)=>m.locale === locale)?.file || ''
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
]
|
|
79
83
|
};
|
|
80
84
|
}
|
|
81
85
|
createHeaderVideoComponent(headerVariables, locale) {
|
|
82
86
|
return {
|
|
83
|
-
type:
|
|
87
|
+
type: WhatsAppTemplateComponentType.HEADER,
|
|
84
88
|
parameters: [
|
|
85
89
|
{
|
|
86
|
-
type:
|
|
90
|
+
type: WhatsAppTemplateParameterType.VIDEO,
|
|
87
91
|
video: {
|
|
88
|
-
link: headerVariables.media?.find(m
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
]
|
|
92
|
+
link: headerVariables.media?.find((m)=>m.locale === locale)?.file || ''
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
]
|
|
92
96
|
};
|
|
93
97
|
}
|
|
94
98
|
// TODO: To use named variables (contact_info_fields) we need to take it from botContext.session.user.contact_info, this only be able in toBotonic method
|
|
95
99
|
getBodyComponent(variableValues, botContext) {
|
|
96
100
|
return {
|
|
97
|
-
type:
|
|
98
|
-
parameters: Object.entries(variableValues).map(([key, value])
|
|
101
|
+
type: WhatsAppTemplateComponentType.BODY,
|
|
102
|
+
parameters: Object.entries(variableValues).map(([key, value])=>{
|
|
99
103
|
const valueVariable = this.replaceVariables(value, botContext);
|
|
100
104
|
return {
|
|
101
|
-
type:
|
|
105
|
+
type: WhatsAppTemplateParameterType.TEXT,
|
|
102
106
|
parameter_name: key,
|
|
103
|
-
text: valueVariable
|
|
107
|
+
text: valueVariable
|
|
104
108
|
};
|
|
105
|
-
})
|
|
109
|
+
})
|
|
106
110
|
};
|
|
107
111
|
}
|
|
108
112
|
getButtons(whatsappTemplate, buttonNodes, urlVariableValues, flowButtonActionValues, botContext) {
|
|
109
|
-
const htWhatsappTemplateButtons = whatsappTemplate.components.find(component
|
|
113
|
+
const htWhatsappTemplateButtons = whatsappTemplate.components.find((component)=>component.type === WhatsAppTemplateComponentType.BUTTONS);
|
|
110
114
|
if (!htWhatsappTemplateButtons) {
|
|
111
115
|
return undefined;
|
|
112
116
|
}
|
|
113
|
-
const buttons = htWhatsappTemplateButtons.buttons
|
|
114
|
-
.map((button, index) => this.mapTemplateButton(button, index, whatsappTemplate.name, buttonNodes, urlVariableValues, flowButtonActionValues, botContext))
|
|
115
|
-
.filter(button => button !== null);
|
|
117
|
+
const buttons = htWhatsappTemplateButtons.buttons.map((button, index)=>this.mapTemplateButton(button, index, whatsappTemplate.name, buttonNodes, urlVariableValues, flowButtonActionValues, botContext)).filter((button)=>button !== null);
|
|
116
118
|
return {
|
|
117
|
-
type:
|
|
118
|
-
buttons: buttons
|
|
119
|
+
type: WhatsAppTemplateComponentType.BUTTONS,
|
|
120
|
+
buttons: buttons
|
|
119
121
|
};
|
|
120
122
|
}
|
|
121
123
|
mapTemplateButton(button, index, templateName, buttonNodes, urlVariableValues, flowButtonActionValues, botContext) {
|
|
122
|
-
if (button.type ===
|
|
124
|
+
if (button.type === WhatsAppTemplateButtonSubType.URL) {
|
|
123
125
|
const urlParam = urlVariableValues?.[String(index)];
|
|
124
126
|
if (!urlParam) {
|
|
125
127
|
return null;
|
|
126
128
|
}
|
|
127
129
|
return this.createUrlButtonComponent(index, urlParam, botContext);
|
|
128
130
|
}
|
|
129
|
-
if (button.type ===
|
|
131
|
+
if (button.type === WhatsAppTemplateButtonSubType.QUICK_REPLY) {
|
|
130
132
|
const payload = buttonNodes[index].target?.id || '';
|
|
131
133
|
return this.createQuickReplyButtonComponent(index, payload);
|
|
132
134
|
}
|
|
133
|
-
if (button.type ===
|
|
135
|
+
if (button.type === WhatsAppTemplateButtonSubType.PHONE_NUMBER) {
|
|
134
136
|
return this.createPhoneNumberButtonComponent(index);
|
|
135
137
|
}
|
|
136
|
-
if (button.type ===
|
|
138
|
+
if (button.type === WhatsAppTemplateButtonSubType.VOICE_CALL) {
|
|
137
139
|
return this.createVoiceCallButtonComponent(index);
|
|
138
140
|
}
|
|
139
|
-
if (button.type ===
|
|
141
|
+
if (button.type === WhatsAppTemplateButtonSubType.REQUEST_CONTACT_INFO) {
|
|
142
|
+
return this.createRequestContactInfoButtonComponent(index);
|
|
143
|
+
}
|
|
144
|
+
if (button.type === WhatsAppTemplateButtonSubType.FLOW) {
|
|
140
145
|
const actionValue = flowButtonActionValues?.[String(index)];
|
|
141
146
|
if (!actionValue) {
|
|
142
147
|
throw new Error(`WhatsApp template '${templateName}' FLOW button at index ${index} requires flow_button_action_values`);
|
|
@@ -148,56 +153,62 @@ class FlowWhatsappTemplate extends content_fields_base_1.ContentFieldsBase {
|
|
|
148
153
|
createUrlButtonComponent(index, urlParam, botContext) {
|
|
149
154
|
const variableUrlParam = this.replaceVariables(urlParam, botContext);
|
|
150
155
|
return {
|
|
151
|
-
type:
|
|
152
|
-
sub_type:
|
|
156
|
+
type: WhatsAppTemplateComponentType.BUTTON,
|
|
157
|
+
sub_type: WhatsAppTemplateButtonSubType.URL,
|
|
153
158
|
index: index,
|
|
154
|
-
parameters: urlParam
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
]
|
|
161
|
-
: [],
|
|
159
|
+
parameters: urlParam ? [
|
|
160
|
+
{
|
|
161
|
+
type: WhatsAppTemplateParameterType.TEXT,
|
|
162
|
+
text: variableUrlParam
|
|
163
|
+
}
|
|
164
|
+
] : []
|
|
162
165
|
};
|
|
163
166
|
}
|
|
164
167
|
createQuickReplyButtonComponent(index, payload) {
|
|
165
168
|
return {
|
|
166
|
-
type:
|
|
167
|
-
sub_type:
|
|
169
|
+
type: WhatsAppTemplateComponentType.BUTTON,
|
|
170
|
+
sub_type: WhatsAppTemplateButtonSubType.QUICK_REPLY,
|
|
168
171
|
index: index,
|
|
169
172
|
parameters: [
|
|
170
173
|
{
|
|
171
|
-
type:
|
|
172
|
-
payload: payload
|
|
173
|
-
}
|
|
174
|
-
]
|
|
174
|
+
type: WhatsAppTemplateParameterType.PAYLOAD,
|
|
175
|
+
payload: payload
|
|
176
|
+
}
|
|
177
|
+
]
|
|
175
178
|
};
|
|
176
179
|
}
|
|
177
180
|
createVoiceCallButtonComponent(index) {
|
|
178
181
|
return {
|
|
179
|
-
type:
|
|
180
|
-
sub_type:
|
|
182
|
+
type: WhatsAppTemplateComponentType.BUTTON,
|
|
183
|
+
sub_type: WhatsAppTemplateButtonSubType.VOICE_CALL,
|
|
181
184
|
index: index,
|
|
182
|
-
parameters: []
|
|
185
|
+
parameters: []
|
|
183
186
|
};
|
|
184
187
|
}
|
|
185
188
|
createPhoneNumberButtonComponent(index) {
|
|
186
189
|
return {
|
|
187
|
-
type:
|
|
188
|
-
sub_type:
|
|
190
|
+
type: WhatsAppTemplateComponentType.BUTTON,
|
|
191
|
+
sub_type: WhatsAppTemplateButtonSubType.PHONE_NUMBER,
|
|
192
|
+
index: index,
|
|
193
|
+
parameters: []
|
|
194
|
+
};
|
|
195
|
+
}
|
|
196
|
+
createRequestContactInfoButtonComponent(index) {
|
|
197
|
+
return {
|
|
198
|
+
type: WhatsAppTemplateComponentType.BUTTON,
|
|
199
|
+
sub_type: WhatsAppTemplateButtonSubType.REQUEST_CONTACT_INFO,
|
|
189
200
|
index: index,
|
|
190
|
-
parameters: []
|
|
201
|
+
parameters: []
|
|
191
202
|
};
|
|
192
203
|
}
|
|
193
204
|
resolveFlowActionData(flowActionData, botContext) {
|
|
194
205
|
if (!flowActionData) {
|
|
195
206
|
return undefined;
|
|
196
207
|
}
|
|
197
|
-
const resolvedData = Object.fromEntries(Object.entries(flowActionData).map(([key, value])
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
208
|
+
const resolvedData = Object.fromEntries(Object.entries(flowActionData).map(([key, value])=>[
|
|
209
|
+
key,
|
|
210
|
+
this.replaceVariables(value, botContext)
|
|
211
|
+
]));
|
|
201
212
|
return Object.keys(resolvedData).length > 0 ? resolvedData : undefined;
|
|
202
213
|
}
|
|
203
214
|
createFlowButtonComponent(index, templateButton, actionValue, botContext, templateName) {
|
|
@@ -206,29 +217,28 @@ class FlowWhatsappTemplate extends content_fields_base_1.ContentFieldsBase {
|
|
|
206
217
|
throw new Error(`WhatsApp template '${templateName}' FLOW button at index ${index} requires a non-empty flow_token`);
|
|
207
218
|
}
|
|
208
219
|
const action = {
|
|
209
|
-
flow_token: flowToken
|
|
220
|
+
flow_token: flowToken
|
|
210
221
|
};
|
|
211
|
-
if (templateButton.flow_action !==
|
|
212
|
-
hubtype_fields_1.HtWhatsAppTemplateFlowActionType.DATA_EXCHANGE) {
|
|
222
|
+
if (templateButton.flow_action !== HtWhatsAppTemplateFlowActionType.DATA_EXCHANGE) {
|
|
213
223
|
const flowActionData = this.resolveFlowActionData(actionValue.flow_action_data, botContext);
|
|
214
224
|
if (flowActionData) {
|
|
215
225
|
action.flow_action_data = flowActionData;
|
|
216
226
|
}
|
|
217
227
|
}
|
|
218
228
|
return {
|
|
219
|
-
type:
|
|
220
|
-
sub_type:
|
|
229
|
+
type: WhatsAppTemplateComponentType.BUTTON,
|
|
230
|
+
sub_type: WhatsAppTemplateButtonSubType.FLOW,
|
|
221
231
|
index: String(index),
|
|
222
232
|
parameters: [
|
|
223
233
|
{
|
|
224
|
-
type:
|
|
225
|
-
action
|
|
226
|
-
}
|
|
227
|
-
]
|
|
234
|
+
type: WhatsAppTemplateParameterType.ACTION,
|
|
235
|
+
action
|
|
236
|
+
}
|
|
237
|
+
]
|
|
228
238
|
};
|
|
229
239
|
}
|
|
230
240
|
async trackFlow(botContext) {
|
|
231
|
-
await
|
|
241
|
+
await trackOneContent(botContext, this);
|
|
232
242
|
}
|
|
233
243
|
async processContent(botContext) {
|
|
234
244
|
await this.filterContent(botContext, this);
|
|
@@ -239,15 +249,33 @@ class FlowWhatsappTemplate extends content_fields_base_1.ContentFieldsBase {
|
|
|
239
249
|
const templateName = this.htWhatsappTemplate.name;
|
|
240
250
|
const templateLanguage = this.htWhatsappTemplate.language;
|
|
241
251
|
const body = this.getBodyComponent(this.variableValues, botContext);
|
|
242
|
-
const pluginFlowBuilder =
|
|
252
|
+
const pluginFlowBuilder = getFlowBuilderPlugin(botContext.plugins);
|
|
243
253
|
const resolvedLocale = pluginFlowBuilder.cmsApi.getResolvedLocale();
|
|
244
254
|
const header = this.getHeaderComponent(this.htWhatsappTemplate, this.headerVariables || {}, resolvedLocale, botContext);
|
|
245
255
|
const buttons = this.getButtons(this.htWhatsappTemplate, this.buttons || [], this.urlVariableValues || {}, this.flowButtonActionValues || {}, botContext);
|
|
246
|
-
if (
|
|
247
|
-
return
|
|
256
|
+
if (isWhatsapp(botContext.session)) {
|
|
257
|
+
return /*#__PURE__*/ jsx(WhatsappTemplate, {
|
|
258
|
+
name: templateName,
|
|
259
|
+
language: templateLanguage,
|
|
260
|
+
header: header,
|
|
261
|
+
body: body,
|
|
262
|
+
buttons: buttons
|
|
263
|
+
}, this.id);
|
|
248
264
|
}
|
|
249
|
-
return
|
|
265
|
+
return /*#__PURE__*/ jsxs(Text, {
|
|
266
|
+
children: [
|
|
267
|
+
`WhatsApp Template: ${templateName} (${templateLanguage})`,
|
|
268
|
+
header && `${JSON.stringify(header, null, 2)}`,
|
|
269
|
+
body && `${JSON.stringify(body, null, 2)}`,
|
|
270
|
+
buttons && `${JSON.stringify(buttons, null, 2)}`
|
|
271
|
+
]
|
|
272
|
+
}, this.id);
|
|
273
|
+
}
|
|
274
|
+
constructor(...args){
|
|
275
|
+
super(...args), this.variableValues = {};
|
|
250
276
|
}
|
|
251
277
|
}
|
|
252
|
-
|
|
278
|
+
|
|
279
|
+
export { FlowWhatsappTemplate };
|
|
280
|
+
|
|
253
281
|
//# sourceMappingURL=flow-whatsapp-template.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flow-whatsapp-template.js","sourceRoot":"","sources":["../../../src/content-fields/flow-whatsapp-template.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"content-fields/flow-whatsapp-template.js","sources":["../../../src/content-fields/flow-whatsapp-template.tsx"],"sourcesContent":["import { type BotContext, isWhatsapp } from '@botonic/core'\nimport {\n Text,\n WhatsAppTemplateButtonSubType,\n WhatsAppTemplateComponentType,\n WhatsAppTemplateParameterType,\n WhatsappTemplate,\n type WhatsappTemplateButton,\n type WhatsappTemplateComponentBody,\n type WhatsappTemplateComponentButtons,\n type WhatsappTemplateComponentHeader,\n type WhatsappTemplateFlowAction,\n type WhatsappTemplateFlowButton,\n type WhatsappTemplatePhoneNumberButton,\n type WhatsappTemplateQuickReplyButton,\n type WhatsappTemplateRequestContactInfoButton,\n type WhatsappTemplateUrlButton,\n type WhatsappTemplateVoiceCallButton,\n} from '@botonic/react'\n\nimport { trackOneContent } from '../tracking'\nimport { getFlowBuilderPlugin } from '../utils/get-flow-builder-plugin'\nimport { ContentFieldsBase } from './content-fields-base'\nimport {\n type HtButton,\n type HtFlowButtonActionValue,\n type HtMediaFileLocale,\n type HtWhatsAppTemplate,\n type HtWhatsAppTemplateButtonsComponent,\n HtWhatsAppTemplateFlowActionType,\n type HtWhatsAppTemplateHeaderComponent,\n type HtWhatsappTemplateContentByLocale,\n type HtWhatsappTemplateNode,\n} from './hubtype-fields'\n\ninterface HeaderVariables {\n type: WhatsAppTemplateParameterType\n text?: Record<string, string>\n media?: HtMediaFileLocale[]\n}\n\nexport class FlowWhatsappTemplate extends ContentFieldsBase {\n public htWhatsappTemplate: HtWhatsAppTemplate\n public variableValues: Record<string, string> = {}\n public headerVariables?: HeaderVariables\n public buttons?: HtButton[]\n public urlVariableValues?: Record<string, string>\n public flowButtonActionValues?: Record<string, HtFlowButtonActionValue>\n\n static fromHubtypeCMS(\n component: HtWhatsappTemplateNode,\n currentLocale: string\n ): FlowWhatsappTemplate {\n const whatsappTemplate = new FlowWhatsappTemplate(component.id)\n whatsappTemplate.code = component.code\n whatsappTemplate.buttons = component.content.buttons\n const contentByLocale = FlowWhatsappTemplate.getContentByLocale(\n component,\n currentLocale\n )\n\n if (!contentByLocale.template) {\n throw new Error(\n `Whatsapp template not configured for locale: ${currentLocale}`\n )\n }\n\n whatsappTemplate.htWhatsappTemplate = contentByLocale.template\n whatsappTemplate.headerVariables = contentByLocale.header_variables\n whatsappTemplate.variableValues = contentByLocale.variable_values || {}\n whatsappTemplate.urlVariableValues = contentByLocale.url_variable_values\n whatsappTemplate.flowButtonActionValues =\n contentByLocale.flow_button_action_values\n\n whatsappTemplate.followUp = component.follow_up\n\n return whatsappTemplate\n }\n\n private static getContentByLocale(\n component: HtWhatsappTemplateNode,\n currentLocale: string\n ) {\n const content: HtWhatsappTemplateContentByLocale | undefined =\n component.content.by_locale[currentLocale]\n if (!content) {\n throw new Error(\n `Whatsapp template content not found for locale: ${currentLocale}`\n )\n }\n return content\n }\n\n private getHeaderComponent(\n whatsappTemplate: HtWhatsAppTemplate,\n headerVariables: HeaderVariables,\n locale: string,\n botContext: BotContext\n ): WhatsappTemplateComponentHeader | undefined {\n const headerComponent = whatsappTemplate.components.find(\n component => component.type === WhatsAppTemplateComponentType.HEADER\n ) as HtWhatsAppTemplateHeaderComponent | undefined\n\n if (\n headerComponent &&\n headerComponent.format === WhatsAppTemplateParameterType.TEXT\n ) {\n return this.createHeaderTextComponent(headerVariables, botContext)\n }\n\n if (\n headerComponent &&\n headerComponent.format === WhatsAppTemplateParameterType.IMAGE\n ) {\n return this.createHeaderImageComponent(headerVariables, locale)\n }\n\n if (\n headerComponent &&\n headerComponent.format === WhatsAppTemplateParameterType.VIDEO\n ) {\n return this.createHeaderVideoComponent(headerVariables, locale)\n }\n\n return undefined\n }\n\n private createHeaderTextComponent(\n headerVariables: HeaderVariables,\n botContext: BotContext\n ): WhatsappTemplateComponentHeader {\n return {\n type: WhatsAppTemplateComponentType.HEADER,\n parameters: Object.values(headerVariables.text || {}).map(value => {\n const valueVariable = this.replaceVariables(value, botContext)\n return {\n type: WhatsAppTemplateParameterType.TEXT,\n text: valueVariable,\n }\n }),\n }\n }\n\n private createHeaderImageComponent(\n headerVariables: HeaderVariables,\n locale: string\n ): WhatsappTemplateComponentHeader {\n return {\n type: WhatsAppTemplateComponentType.HEADER,\n parameters: [\n {\n type: WhatsAppTemplateParameterType.IMAGE,\n image: {\n link:\n headerVariables.media?.find(m => m.locale === locale)?.file || '',\n },\n },\n ],\n }\n }\n\n private createHeaderVideoComponent(\n headerVariables: HeaderVariables,\n locale: string\n ): WhatsappTemplateComponentHeader {\n return {\n type: WhatsAppTemplateComponentType.HEADER,\n parameters: [\n {\n type: WhatsAppTemplateParameterType.VIDEO,\n video: {\n link:\n headerVariables.media?.find(m => m.locale === locale)?.file || '',\n },\n },\n ],\n }\n }\n\n // TODO: To use named variables (contact_info_fields) we need to take it from botContext.session.user.contact_info, this only be able in toBotonic method\n private getBodyComponent(\n variableValues: Record<string, string>,\n botContext: BotContext\n ): WhatsappTemplateComponentBody {\n return {\n type: WhatsAppTemplateComponentType.BODY,\n parameters: Object.entries(variableValues).map(([key, value]) => {\n const valueVariable = this.replaceVariables(value, botContext)\n return {\n type: WhatsAppTemplateParameterType.TEXT,\n parameter_name: key,\n text: valueVariable,\n }\n }),\n }\n }\n\n private getButtons(\n whatsappTemplate: HtWhatsAppTemplate,\n buttonNodes: HtButton[],\n urlVariableValues: Record<string, string>,\n flowButtonActionValues: Record<string, HtFlowButtonActionValue>,\n botContext: BotContext\n ): WhatsappTemplateComponentButtons | undefined {\n const htWhatsappTemplateButtons = whatsappTemplate.components.find(\n component => component.type === WhatsAppTemplateComponentType.BUTTONS\n ) as HtWhatsAppTemplateButtonsComponent | undefined\n\n if (!htWhatsappTemplateButtons) {\n return undefined\n }\n\n const buttons = htWhatsappTemplateButtons.buttons\n .map((button, index) =>\n this.mapTemplateButton(\n button,\n index,\n whatsappTemplate.name,\n buttonNodes,\n urlVariableValues,\n flowButtonActionValues,\n botContext\n )\n )\n .filter(button => button !== null)\n\n return {\n type: WhatsAppTemplateComponentType.BUTTONS,\n buttons: buttons as WhatsappTemplateButton[],\n }\n }\n\n private mapTemplateButton(\n button: HtWhatsAppTemplateButtonsComponent['buttons'][number],\n index: number,\n templateName: string,\n buttonNodes: HtButton[],\n urlVariableValues: Record<string, string>,\n flowButtonActionValues: Record<string, HtFlowButtonActionValue>,\n botContext: BotContext\n ): WhatsappTemplateButton | null {\n if (button.type === WhatsAppTemplateButtonSubType.URL) {\n const urlParam: string | undefined = urlVariableValues?.[String(index)]\n if (!urlParam) {\n return null\n }\n return this.createUrlButtonComponent(index, urlParam, botContext)\n }\n\n if (button.type === WhatsAppTemplateButtonSubType.QUICK_REPLY) {\n const payload = buttonNodes[index].target?.id || ''\n return this.createQuickReplyButtonComponent(index, payload)\n }\n\n if (button.type === WhatsAppTemplateButtonSubType.PHONE_NUMBER) {\n return this.createPhoneNumberButtonComponent(index)\n }\n\n if (button.type === WhatsAppTemplateButtonSubType.VOICE_CALL) {\n return this.createVoiceCallButtonComponent(index)\n }\n\n if (button.type === WhatsAppTemplateButtonSubType.REQUEST_CONTACT_INFO) {\n return this.createRequestContactInfoButtonComponent(index)\n }\n\n if (button.type === WhatsAppTemplateButtonSubType.FLOW) {\n const actionValue = flowButtonActionValues?.[String(index)]\n if (!actionValue) {\n throw new Error(\n `WhatsApp template '${templateName}' FLOW button at index ${index} requires flow_button_action_values`\n )\n }\n return this.createFlowButtonComponent(\n index,\n button,\n actionValue,\n botContext,\n templateName\n )\n }\n\n throw new Error(\n `WhatsApp template '${templateName}' has unsupported button at index ${index}`\n )\n }\n\n private createUrlButtonComponent(\n index: number,\n urlParam: string,\n botContext: BotContext\n ): WhatsappTemplateUrlButton {\n const variableUrlParam = this.replaceVariables(urlParam, botContext)\n return {\n type: WhatsAppTemplateComponentType.BUTTON,\n sub_type: WhatsAppTemplateButtonSubType.URL,\n index: index,\n parameters: urlParam\n ? [\n {\n type: WhatsAppTemplateParameterType.TEXT,\n text: variableUrlParam,\n },\n ]\n : [],\n }\n }\n\n private createQuickReplyButtonComponent(\n index: number,\n payload: string\n ): WhatsappTemplateQuickReplyButton {\n return {\n type: WhatsAppTemplateComponentType.BUTTON,\n sub_type: WhatsAppTemplateButtonSubType.QUICK_REPLY,\n index: index,\n parameters: [\n {\n type: WhatsAppTemplateParameterType.PAYLOAD,\n payload: payload,\n },\n ],\n }\n }\n\n private createVoiceCallButtonComponent(\n index: number\n ): WhatsappTemplateVoiceCallButton {\n return {\n type: WhatsAppTemplateComponentType.BUTTON,\n sub_type: WhatsAppTemplateButtonSubType.VOICE_CALL,\n index: index,\n parameters: [],\n }\n }\n\n private createPhoneNumberButtonComponent(\n index: number\n ): WhatsappTemplatePhoneNumberButton {\n return {\n type: WhatsAppTemplateComponentType.BUTTON,\n sub_type: WhatsAppTemplateButtonSubType.PHONE_NUMBER,\n index: index,\n parameters: [],\n }\n }\n\n private createRequestContactInfoButtonComponent(\n index: number\n ): WhatsappTemplateRequestContactInfoButton {\n return {\n type: WhatsAppTemplateComponentType.BUTTON,\n sub_type: WhatsAppTemplateButtonSubType.REQUEST_CONTACT_INFO,\n index: index,\n parameters: [],\n }\n }\n\n private resolveFlowActionData(\n flowActionData: Record<string, string> | undefined,\n botContext: BotContext\n ): Record<string, string> | undefined {\n if (!flowActionData) {\n return undefined\n }\n\n const resolvedData = Object.fromEntries(\n Object.entries(flowActionData).map(([key, value]) => [\n key,\n this.replaceVariables(value, botContext),\n ])\n )\n\n return Object.keys(resolvedData).length > 0 ? resolvedData : undefined\n }\n\n private createFlowButtonComponent(\n index: number,\n templateButton: Extract<\n HtWhatsAppTemplateButtonsComponent['buttons'][number],\n { type: WhatsAppTemplateButtonSubType.FLOW }\n >,\n actionValue: HtFlowButtonActionValue,\n botContext: BotContext,\n templateName: string\n ): WhatsappTemplateFlowButton {\n const flowToken = this.replaceVariables(actionValue.flow_token, botContext)\n if (!flowToken.trim()) {\n throw new Error(\n `WhatsApp template '${templateName}' FLOW button at index ${index} requires a non-empty flow_token`\n )\n }\n\n const action: WhatsappTemplateFlowAction = {\n flow_token: flowToken,\n }\n\n if (\n templateButton.flow_action !==\n HtWhatsAppTemplateFlowActionType.DATA_EXCHANGE\n ) {\n const flowActionData = this.resolveFlowActionData(\n actionValue.flow_action_data,\n botContext\n )\n if (flowActionData) {\n action.flow_action_data = flowActionData\n }\n }\n\n return {\n type: WhatsAppTemplateComponentType.BUTTON,\n sub_type: WhatsAppTemplateButtonSubType.FLOW,\n index: String(index),\n parameters: [\n {\n type: WhatsAppTemplateParameterType.ACTION,\n action,\n },\n ],\n }\n }\n\n async trackFlow(botContext: BotContext): Promise<void> {\n await trackOneContent(botContext, this)\n }\n\n async processContent(botContext: BotContext): Promise<void> {\n await this.filterContent(botContext, this)\n await this.trackFlow(botContext)\n return\n }\n\n toBotonic(botContext: BotContext): JSX.Element {\n const templateName = this.htWhatsappTemplate.name\n const templateLanguage = this.htWhatsappTemplate.language\n const body = this.getBodyComponent(this.variableValues, botContext)\n const pluginFlowBuilder = getFlowBuilderPlugin(botContext.plugins)\n const resolvedLocale = pluginFlowBuilder.cmsApi.getResolvedLocale()\n\n const header = this.getHeaderComponent(\n this.htWhatsappTemplate,\n this.headerVariables || ({} as HeaderVariables),\n resolvedLocale,\n botContext\n )\n const buttons = this.getButtons(\n this.htWhatsappTemplate,\n this.buttons || [],\n this.urlVariableValues || {},\n this.flowButtonActionValues || {},\n botContext\n )\n\n if (isWhatsapp(botContext.session)) {\n return (\n <WhatsappTemplate\n key={this.id}\n name={templateName}\n language={templateLanguage}\n header={header}\n body={body}\n buttons={buttons}\n />\n )\n }\n\n return (\n <Text key={this.id}>\n {`WhatsApp Template: ${templateName} (${templateLanguage})`}\n {header && `${JSON.stringify(header, null, 2)}`}\n {body && `${JSON.stringify(body, null, 2)}`}\n {buttons && `${JSON.stringify(buttons, null, 2)}`}\n </Text>\n )\n }\n}\n"],"names":["isWhatsapp","Text","WhatsAppTemplateButtonSubType","WhatsAppTemplateComponentType","WhatsAppTemplateParameterType","WhatsappTemplate","trackOneContent","getFlowBuilderPlugin","ContentFieldsBase","HtWhatsAppTemplateFlowActionType","FlowWhatsappTemplate","component","currentLocale","whatsappTemplate","contentByLocale","Error","content","headerVariables","locale","botContext","headerComponent","undefined","Object","value","valueVariable","m","variableValues","key","buttonNodes","urlVariableValues","flowButtonActionValues","htWhatsappTemplateButtons","buttons","button","index","templateName","urlParam","String","payload","actionValue","variableUrlParam","flowActionData","resolvedData","templateButton","flowToken","action","templateLanguage","body","pluginFlowBuilder","resolvedLocale","header","JSON"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { VerbosityLevel } from '@botonic/core';
|
|
2
|
-
import type { HtInputGuardrailRule } from './ai-agent';
|
|
3
|
-
import type { HtBaseNode, HtNodeLink } from './common';
|
|
4
|
-
import type { HtNodeWithContentType } from './node-types';
|
|
2
|
+
import type { HtInputGuardrailRule } from './ai-agent.js';
|
|
3
|
+
import type { HtBaseNode, HtNodeLink } from './common.js';
|
|
4
|
+
import type { HtNodeWithContentType } from './node-types.js';
|
|
5
5
|
export interface HtAiAgentSpecialistNode {
|
|
6
6
|
id: string;
|
|
7
7
|
target: HtNodeLink;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-agent-router.js","
|
|
1
|
+
{"version":3,"file":"content-fields/hubtype-fields/ai-agent-router.js","sources":["../../../../src/content-fields/hubtype-fields/ai-agent-router.ts"],"sourcesContent":["import type { VerbosityLevel } from '@botonic/core'\nimport type { HtInputGuardrailRule } from './ai-agent'\nimport type { HtBaseNode, HtNodeLink } from './common'\nimport type { HtNodeWithContentType } from './node-types'\n\nexport interface HtAiAgentSpecialistNode {\n id: string\n target: HtNodeLink\n name?: string\n description?: string\n}\n\nexport interface HtAiAgentRouterNode extends HtBaseNode {\n type: HtNodeWithContentType.AI_AGENT_ROUTER\n content: {\n name: string\n instructions: string\n model: string\n verbosity: VerbosityLevel\n available_specialists: HtAiAgentSpecialistNode[]\n input_guardrail_rules?: HtInputGuardrailRule[]\n }\n}\n"],"names":[],"mappings":"AAsBC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { VerbosityLevel } from '@botonic/core';
|
|
2
|
-
import type { HtBaseNode } from './common';
|
|
3
|
-
import type { HtNodeWithContentType } from './node-types';
|
|
2
|
+
import type { HtBaseNode } from './common.js';
|
|
3
|
+
import type { HtNodeWithContentType } from './node-types.js';
|
|
4
4
|
export interface HtInputGuardrailRule {
|
|
5
5
|
name: string;
|
|
6
6
|
description: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-agent.js","
|
|
1
|
+
{"version":3,"file":"content-fields/hubtype-fields/ai-agent.js","sources":["../../../../src/content-fields/hubtype-fields/ai-agent.ts"],"sourcesContent":["import type { VerbosityLevel } from '@botonic/core'\nimport type { HtBaseNode } from './common'\nimport type { HtNodeWithContentType } from './node-types'\n\nexport interface HtInputGuardrailRule {\n name: string\n description: string\n is_active: boolean\n}\n\nexport interface HtAiAgentNode extends HtBaseNode {\n type: HtNodeWithContentType.AI_AGENT\n content: {\n name: string\n instructions: string\n model: string\n verbosity: VerbosityLevel\n active_tools?: { name: string }[]\n input_guardrail_rules?: HtInputGuardrailRule[]\n sources?: { id: string; name: string }[]\n }\n}\n"],"names":[],"mappings":"AAqBC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { HtBaseNode } from './common';
|
|
2
|
-
import type { HtNodeWithContentType } from './node-types';
|
|
1
|
+
import type { HtBaseNode } from './common.js';
|
|
2
|
+
import type { HtNodeWithContentType } from './node-types.js';
|
|
3
3
|
export interface HtBotActionNode extends HtBaseNode {
|
|
4
4
|
id: string;
|
|
5
5
|
type: HtNodeWithContentType.BOT_ACTION;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bot-action.js","
|
|
1
|
+
{"version":3,"file":"content-fields/hubtype-fields/bot-action.js","sources":["../../../../src/content-fields/hubtype-fields/bot-action.ts"],"sourcesContent":["import type { HtBaseNode } from './common'\nimport type { HtNodeWithContentType } from './node-types'\n\nexport interface HtBotActionNode extends HtBaseNode {\n id: string\n type: HtNodeWithContentType.BOT_ACTION\n content: {\n payload_id: string\n payload_params?: string\n }\n}\n"],"names":[],"mappings":"AAUC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button.js","
|
|
1
|
+
{"version":3,"file":"content-fields/hubtype-fields/button.js","sources":["../../../../src/content-fields/hubtype-fields/button.ts"],"sourcesContent":["import type { HtNodeLink, HtTextLocale, HtUrlLocale } from './common'\n\nexport interface HtButton {\n id: string\n text: HtTextLocale[]\n url: HtUrlLocale[]\n target?: HtNodeLink\n hidden: string[]\n}\n"],"names":[],"mappings":"AAQC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { HtBaseNode, HtNodeLink } from './common';
|
|
2
|
-
import type { HtNodeWithContentType } from './node-types';
|
|
1
|
+
import type { HtBaseNode, HtNodeLink } from './common.js';
|
|
2
|
+
import type { HtNodeWithContentType } from './node-types.js';
|
|
3
3
|
export declare enum HtAiValidationType {
|
|
4
4
|
NONE = "none",
|
|
5
5
|
NAME = "name",
|