@botonic/plugin-flow-builder 0.56.0-alpha.0 → 0.57.0-rslib-esm.1
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/README.md +1 -1
- package/lib/{cjs/action → action}/ai-agent-from-user-input.d.ts +2 -2
- package/lib/{cjs/action → action}/ai-agent-from-user-input.js +9 -6
- package/lib/action/ai-agent-from-user-input.js.map +1 -0
- package/lib/{esm/action → action}/context.d.ts +2 -2
- package/lib/action/context.js +20 -0
- package/lib/action/context.js.map +1 -0
- package/lib/{cjs/action → action}/fallback.d.ts +2 -2
- package/lib/{cjs/action → action}/fallback.js +16 -11
- package/lib/action/fallback.js.map +1 -0
- package/lib/action/first-interaction.d.ts +3 -0
- package/lib/{cjs/action → action}/first-interaction.js +39 -27
- package/lib/action/first-interaction.js.map +1 -0
- package/lib/{cjs/action → action}/get-contents.d.ts +1 -1
- package/lib/action/get-contents.js +56 -0
- package/lib/action/get-contents.js.map +1 -0
- package/lib/{esm/action → action}/index.d.ts +1 -1
- package/lib/{esm/action → action}/index.js +68 -32
- package/lib/action/index.js.map +1 -0
- package/lib/action/payload.d.ts +3 -0
- package/lib/{cjs/action → action}/payload.js +27 -23
- package/lib/action/payload.js.map +1 -0
- package/lib/{cjs/api.d.ts → api.d.ts} +2 -2
- package/lib/{esm/api.js → api.js} +55 -44
- package/lib/api.js.map +1 -0
- package/lib/constants.js +17 -0
- package/lib/constants.js.map +1 -0
- package/lib/{esm/content-fields → content-fields}/content-fields-base.d.ts +2 -2
- package/lib/content-fields/content-fields-base.js +78 -0
- package/lib/content-fields/content-fields-base.js.map +1 -0
- package/lib/{esm/content-fields → content-fields}/custom-conditional/custom-conditional-v2-evaluators.d.ts +1 -1
- package/lib/content-fields/custom-conditional/custom-conditional-v2-evaluators.js +73 -0
- package/lib/content-fields/custom-conditional/custom-conditional-v2-evaluators.js.map +1 -0
- package/lib/{esm/content-fields → content-fields}/custom-conditional/custom-conditional-v2-resolver.d.ts +1 -1
- package/lib/{cjs/content-fields → content-fields}/custom-conditional/custom-conditional-v2-resolver.js +15 -15
- package/lib/content-fields/custom-conditional/custom-conditional-v2-resolver.js.map +1 -0
- package/lib/{cjs/content-fields → content-fields}/custom-conditional/flow-custom-condition-v2.d.ts +3 -3
- package/lib/content-fields/custom-conditional/flow-custom-condition-v2.js +94 -0
- package/lib/content-fields/custom-conditional/flow-custom-condition-v2.js.map +1 -0
- package/lib/{esm/content-fields → content-fields}/flow-ai-agent-base.d.ts +4 -4
- package/lib/content-fields/flow-ai-agent-base.js +100 -0
- package/lib/content-fields/flow-ai-agent-base.js.map +1 -0
- package/lib/{esm/content-fields → content-fields}/flow-ai-agent-router.d.ts +5 -5
- package/lib/{esm/content-fields → content-fields}/flow-ai-agent-router.js +57 -46
- package/lib/content-fields/flow-ai-agent-router.js.map +1 -0
- package/lib/{cjs/content-fields → content-fields}/flow-ai-agent.d.ts +4 -4
- package/lib/{cjs/content-fields → content-fields}/flow-ai-agent.js +33 -22
- package/lib/content-fields/flow-ai-agent.js.map +1 -0
- package/lib/{esm/content-fields → content-fields}/flow-bot-action.d.ts +3 -3
- package/lib/{esm/content-fields → content-fields}/flow-bot-action.js +23 -15
- package/lib/content-fields/flow-bot-action.js.map +1 -0
- package/lib/{esm/content-fields → content-fields}/flow-button.d.ts +5 -5
- package/lib/{esm/content-fields → content-fields}/flow-button.js +48 -29
- package/lib/content-fields/flow-button.js.map +1 -0
- package/lib/{cjs/content-fields → content-fields}/flow-capture-user-input.d.ts +2 -2
- package/lib/content-fields/flow-capture-user-input.js +46 -0
- package/lib/content-fields/flow-capture-user-input.js.map +1 -0
- package/lib/{esm/content-fields → content-fields}/flow-carousel.d.ts +4 -4
- package/lib/content-fields/flow-carousel.js +193 -0
- package/lib/content-fields/flow-carousel.js.map +1 -0
- package/lib/{esm/content-fields → content-fields}/flow-channel-conditional.d.ts +3 -3
- package/lib/{esm/content-fields → content-fields}/flow-channel-conditional.js +26 -22
- package/lib/content-fields/flow-channel-conditional.js.map +1 -0
- package/lib/{cjs/content-fields → content-fields}/flow-country-conditional.d.ts +3 -3
- package/lib/{esm/content-fields → content-fields}/flow-country-conditional.js +26 -21
- package/lib/content-fields/flow-country-conditional.js.map +1 -0
- package/lib/{cjs/content-fields → content-fields}/flow-custom-conditional.d.ts +4 -4
- package/lib/{esm/content-fields → content-fields}/flow-custom-conditional.js +31 -33
- package/lib/content-fields/flow-custom-conditional.js.map +1 -0
- package/lib/{cjs/content-fields → content-fields}/flow-element.d.ts +4 -4
- package/lib/content-fields/flow-element.js +67 -0
- package/lib/content-fields/flow-element.js.map +1 -0
- package/lib/{esm/content-fields → content-fields}/flow-go-to-flow.d.ts +3 -3
- package/lib/{esm/content-fields → content-fields}/flow-go-to-flow.js +25 -20
- package/lib/content-fields/flow-go-to-flow.js.map +1 -0
- package/lib/{cjs/content-fields → content-fields}/flow-handoff.d.ts +3 -3
- package/lib/{cjs/content-fields → content-fields}/flow-handoff.js +30 -19
- package/lib/content-fields/flow-handoff.js.map +1 -0
- package/lib/{cjs/content-fields → content-fields}/flow-image.d.ts +2 -2
- package/lib/content-fields/flow-image.js +42 -0
- package/lib/content-fields/flow-image.js.map +1 -0
- package/lib/{cjs/content-fields → content-fields}/flow-queue-status-conditional.d.ts +3 -3
- package/lib/{cjs/content-fields → content-fields}/flow-queue-status-conditional.js +45 -40
- package/lib/content-fields/flow-queue-status-conditional.js.map +1 -0
- package/lib/{esm/content-fields → content-fields}/flow-rating.d.ts +3 -3
- package/lib/content-fields/flow-rating.js +88 -0
- package/lib/content-fields/flow-rating.js.map +1 -0
- package/lib/{cjs/content-fields → content-fields}/flow-text.d.ts +4 -4
- package/lib/content-fields/flow-text.js +82 -0
- package/lib/content-fields/flow-text.js.map +1 -0
- package/lib/{esm/content-fields → content-fields}/flow-video.d.ts +2 -2
- package/lib/content-fields/flow-video.js +42 -0
- package/lib/content-fields/flow-video.js.map +1 -0
- package/lib/{esm/content-fields → content-fields}/flow-webview.d.ts +2 -2
- package/lib/{cjs/content-fields → content-fields}/flow-webview.js +31 -28
- package/lib/content-fields/flow-webview.js.map +1 -0
- package/lib/{esm/content-fields → content-fields}/flow-whatsapp-cta-url-button.d.ts +3 -3
- package/lib/content-fields/flow-whatsapp-cta-url-button.js +131 -0
- package/lib/content-fields/flow-whatsapp-cta-url-button.js.map +1 -0
- package/lib/{esm/content-fields → content-fields}/flow-whatsapp-request-contact-info.d.ts +3 -4
- package/lib/content-fields/flow-whatsapp-request-contact-info.js +51 -0
- package/lib/content-fields/flow-whatsapp-request-contact-info.js.map +1 -0
- package/lib/{cjs/content-fields → content-fields}/flow-whatsapp-template.d.ts +2 -2
- package/lib/{esm/content-fields → content-fields}/flow-whatsapp-template.js +119 -102
- package/lib/content-fields/flow-whatsapp-template.js.map +1 -0
- package/lib/{cjs/content-fields → content-fields}/hubtype-fields/ai-agent-router.d.ts +3 -3
- package/lib/content-fields/hubtype-fields/ai-agent-router.js +4 -0
- package/lib/content-fields/hubtype-fields/ai-agent-router.js.map +1 -0
- package/lib/{cjs/content-fields → content-fields}/hubtype-fields/ai-agent.d.ts +2 -2
- package/lib/content-fields/hubtype-fields/ai-agent.js +4 -0
- package/lib/content-fields/hubtype-fields/ai-agent.js.map +1 -0
- package/lib/{cjs/content-fields → content-fields}/hubtype-fields/bot-action.d.ts +2 -2
- package/lib/content-fields/hubtype-fields/bot-action.js +4 -0
- package/lib/content-fields/hubtype-fields/bot-action.js.map +1 -0
- package/lib/{cjs/content-fields → content-fields}/hubtype-fields/button.d.ts +1 -1
- package/lib/content-fields/hubtype-fields/button.js +4 -0
- package/lib/content-fields/hubtype-fields/button.js.map +1 -0
- package/lib/{cjs/content-fields → content-fields}/hubtype-fields/capture-user-input.d.ts +2 -2
- package/lib/content-fields/hubtype-fields/capture-user-input.js +12 -0
- package/lib/content-fields/hubtype-fields/capture-user-input.js.map +1 -0
- package/lib/{esm/content-fields → content-fields}/hubtype-fields/carousel.d.ts +3 -3
- package/lib/content-fields/hubtype-fields/carousel.js +4 -0
- package/lib/content-fields/hubtype-fields/carousel.js.map +1 -0
- package/lib/{cjs/content-fields → content-fields}/hubtype-fields/channel-conditional.d.ts +3 -3
- package/lib/content-fields/hubtype-fields/channel-conditional.js +4 -0
- package/lib/content-fields/hubtype-fields/channel-conditional.js.map +1 -0
- package/lib/{esm/content-fields → content-fields}/hubtype-fields/common.d.ts +2 -2
- package/lib/content-fields/hubtype-fields/common.js +4 -0
- package/lib/content-fields/hubtype-fields/common.js.map +1 -0
- package/lib/{cjs/content-fields → content-fields}/hubtype-fields/country-conditional.d.ts +3 -3
- package/lib/content-fields/hubtype-fields/country-conditional.js +4 -0
- package/lib/content-fields/hubtype-fields/country-conditional.js.map +1 -0
- package/lib/{esm/content-fields → content-fields}/hubtype-fields/custom-conditional-v2.d.ts +2 -2
- package/lib/{esm/content-fields → content-fields}/hubtype-fields/custom-conditional-v2.js +15 -15
- package/lib/content-fields/hubtype-fields/custom-conditional-v2.js.map +1 -0
- package/lib/{esm/content-fields → content-fields}/hubtype-fields/custom-conditional.d.ts +3 -3
- package/lib/content-fields/hubtype-fields/custom-conditional.js +4 -0
- package/lib/content-fields/hubtype-fields/custom-conditional.js.map +1 -0
- package/lib/{esm/content-fields → content-fields}/hubtype-fields/fallback.d.ts +2 -2
- package/lib/content-fields/hubtype-fields/fallback.js +4 -0
- package/lib/content-fields/hubtype-fields/fallback.js.map +1 -0
- package/lib/{esm/content-fields → content-fields}/hubtype-fields/function.d.ts +2 -2
- package/lib/content-fields/hubtype-fields/function.js +11 -0
- package/lib/content-fields/hubtype-fields/function.js.map +1 -0
- package/lib/{cjs/content-fields → content-fields}/hubtype-fields/go-to-flow.d.ts +2 -2
- package/lib/content-fields/hubtype-fields/go-to-flow.js +4 -0
- package/lib/content-fields/hubtype-fields/go-to-flow.js.map +1 -0
- package/lib/{cjs/content-fields → content-fields}/hubtype-fields/handoff.d.ts +2 -2
- package/lib/content-fields/hubtype-fields/handoff.js +4 -0
- package/lib/content-fields/hubtype-fields/handoff.js.map +1 -0
- package/lib/{esm/content-fields → content-fields}/hubtype-fields/image.d.ts +2 -2
- package/lib/content-fields/hubtype-fields/image.js +4 -0
- package/lib/content-fields/hubtype-fields/image.js.map +1 -0
- package/lib/content-fields/hubtype-fields/index.d.ts +27 -0
- package/lib/content-fields/hubtype-fields/index.js +57 -0
- package/lib/content-fields/hubtype-fields/index.js.map +1 -0
- package/lib/{cjs/content-fields → content-fields}/hubtype-fields/keyword.d.ts +2 -2
- package/lib/content-fields/hubtype-fields/keyword.js +4 -0
- package/lib/content-fields/hubtype-fields/keyword.js.map +1 -0
- package/lib/{cjs/content-fields → content-fields}/hubtype-fields/node-types.js +12 -12
- package/lib/content-fields/hubtype-fields/node-types.js.map +1 -0
- package/lib/{cjs/content-fields → content-fields}/hubtype-fields/nodes.d.ts +23 -23
- package/lib/content-fields/hubtype-fields/nodes.js +4 -0
- package/lib/content-fields/hubtype-fields/nodes.js.map +1 -0
- package/lib/{esm/content-fields → content-fields}/hubtype-fields/payload.d.ts +1 -1
- package/lib/content-fields/hubtype-fields/payload.js +4 -0
- package/lib/content-fields/hubtype-fields/payload.js.map +1 -0
- package/lib/{esm/content-fields → content-fields}/hubtype-fields/queue-status-conditional.d.ts +3 -3
- package/lib/content-fields/hubtype-fields/queue-status-conditional.js +4 -0
- package/lib/content-fields/hubtype-fields/queue-status-conditional.js.map +1 -0
- package/lib/{esm/content-fields → content-fields}/hubtype-fields/rating.d.ts +2 -2
- package/lib/content-fields/hubtype-fields/rating.js +9 -0
- package/lib/content-fields/hubtype-fields/rating.js.map +1 -0
- package/lib/{esm/content-fields → content-fields}/hubtype-fields/smart-intent.d.ts +2 -2
- package/lib/content-fields/hubtype-fields/smart-intent.js +4 -0
- package/lib/content-fields/hubtype-fields/smart-intent.js.map +1 -0
- package/lib/{esm/content-fields → content-fields}/hubtype-fields/text.d.ts +3 -3
- package/lib/content-fields/hubtype-fields/text.js +4 -0
- package/lib/content-fields/hubtype-fields/text.js.map +1 -0
- package/lib/{cjs/content-fields → content-fields}/hubtype-fields/url.d.ts +1 -1
- package/lib/content-fields/hubtype-fields/url.js +4 -0
- package/lib/content-fields/hubtype-fields/url.js.map +1 -0
- package/lib/{esm/content-fields → content-fields}/hubtype-fields/video.d.ts +2 -2
- package/lib/content-fields/hubtype-fields/video.js +4 -0
- package/lib/content-fields/hubtype-fields/video.js.map +1 -0
- package/lib/{esm/content-fields → content-fields}/hubtype-fields/webview.d.ts +2 -2
- package/lib/content-fields/hubtype-fields/webview.js +4 -0
- package/lib/content-fields/hubtype-fields/webview.js.map +1 -0
- package/lib/{esm/content-fields → content-fields}/hubtype-fields/whatsapp-button-list.d.ts +2 -2
- package/lib/content-fields/hubtype-fields/whatsapp-button-list.js +4 -0
- package/lib/content-fields/hubtype-fields/whatsapp-button-list.js.map +1 -0
- package/lib/{cjs/content-fields → content-fields}/hubtype-fields/whatsapp-cta-url-button.d.ts +3 -3
- package/lib/content-fields/hubtype-fields/whatsapp-cta-url-button.js +4 -0
- package/lib/content-fields/hubtype-fields/whatsapp-cta-url-button.js.map +1 -0
- package/lib/{cjs/content-fields → content-fields}/hubtype-fields/whatsapp-request-contact-info.d.ts +2 -2
- package/lib/content-fields/hubtype-fields/whatsapp-request-contact-info.js +4 -0
- package/lib/content-fields/hubtype-fields/whatsapp-request-contact-info.js.map +1 -0
- package/lib/{cjs/content-fields → content-fields}/hubtype-fields/whatsapp-template.d.ts +3 -3
- package/lib/content-fields/hubtype-fields/whatsapp-template.js +9 -0
- package/lib/content-fields/hubtype-fields/whatsapp-template.js.map +1 -0
- package/lib/content-fields/index.d.ts +25 -0
- package/lib/content-fields/index.js +73 -0
- package/lib/content-fields/index.js.map +1 -0
- package/lib/{cjs/content-fields → content-fields}/whatsapp-button-list/flow-whatsapp-button-list-row.d.ts +3 -3
- package/lib/{esm/content-fields → content-fields}/whatsapp-button-list/flow-whatsapp-button-list-row.js +16 -14
- package/lib/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.js.map +1 -0
- package/lib/{cjs/content-fields → content-fields}/whatsapp-button-list/flow-whatsapp-button-list-section.d.ts +4 -4
- package/lib/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.js +41 -0
- package/lib/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.js.map +1 -0
- package/lib/{esm/content-fields → content-fields}/whatsapp-button-list/flow-whatsapp-button-list.d.ts +4 -4
- package/lib/content-fields/whatsapp-button-list/flow-whatsapp-button-list.js +66 -0
- package/lib/content-fields/whatsapp-button-list/flow-whatsapp-button-list.js.map +1 -0
- package/lib/{esm/content-fields → content-fields}/whatsapp-button-list/index.d.ts +3 -3
- package/lib/content-fields/whatsapp-button-list/index.js +12 -0
- package/lib/content-fields/whatsapp-button-list/index.js.map +1 -0
- package/lib/{cjs/filters → filters}/index.d.ts +2 -2
- package/lib/filters/index.js +16 -0
- package/lib/filters/index.js.map +1 -0
- package/lib/{cjs/flow-factory.d.ts → flow-factory.d.ts} +3 -3
- package/lib/flow-factory.js +75 -0
- package/lib/flow-factory.js.map +1 -0
- package/lib/{esm/functions → functions}/index.d.ts +1 -1
- package/lib/{cjs/functions → functions}/index.js +25 -19
- package/lib/functions/index.js.map +1 -0
- package/lib/{cjs/index.d.ts → index.d.ts} +12 -12
- package/lib/{esm/index.js → index.js} +94 -77
- package/lib/index.js.map +1 -0
- package/lib/services/hubtype-queues-api.js +26 -0
- package/lib/services/hubtype-queues-api.js.map +1 -0
- package/lib/structured-output/flow-builder-content.js +16 -0
- package/lib/structured-output/flow-builder-content.js.map +1 -0
- package/lib/{cjs/tracking.d.ts → tracking.d.ts} +2 -2
- package/lib/{cjs/tracking.js → tracking.js} +27 -21
- package/lib/tracking.js.map +1 -0
- package/lib/{esm/types.d.ts → types.d.ts} +5 -5
- package/lib/types.js +14 -0
- package/lib/types.js.map +1 -0
- package/lib/{esm/user-input → user-input}/capture-user-input-api.d.ts +2 -2
- package/lib/{cjs/user-input → user-input}/capture-user-input-api.js +44 -33
- package/lib/user-input/capture-user-input-api.js.map +1 -0
- package/lib/{esm/user-input → user-input}/index.d.ts +2 -2
- package/lib/user-input/index.js +46 -0
- package/lib/user-input/index.js.map +1 -0
- package/lib/{esm/user-input → user-input}/keyword.d.ts +2 -2
- package/lib/{esm/user-input → user-input}/keyword.js +31 -26
- package/lib/user-input/keyword.js.map +1 -0
- package/lib/{cjs/user-input → user-input}/smart-intent.d.ts +2 -2
- package/lib/{cjs/user-input → user-input}/smart-intent.js +36 -32
- package/lib/user-input/smart-intent.js.map +1 -0
- package/lib/{cjs/utils → utils}/ai-agent.d.ts +3 -3
- package/lib/utils/ai-agent.js +33 -0
- package/lib/utils/ai-agent.js.map +1 -0
- package/lib/{cjs/utils → utils}/authentication.js +10 -7
- package/lib/utils/authentication.js.map +1 -0
- package/lib/{cjs/utils → utils}/flow-locale.js +14 -18
- package/lib/utils/flow-locale.js.map +1 -0
- package/lib/{cjs/utils → utils}/get-flow-builder-plugin.d.ts +1 -1
- package/lib/{cjs/utils → utils}/get-flow-builder-plugin.js +4 -4
- package/lib/utils/get-flow-builder-plugin.js.map +1 -0
- package/lib/{cjs/utils → utils}/hubtype-assistant-content.d.ts +1 -2
- package/lib/{cjs/utils → utils}/hubtype-assistant-content.js +57 -54
- package/lib/utils/hubtype-assistant-content.js.map +1 -0
- package/lib/utils/input.js +37 -0
- package/lib/utils/input.js.map +1 -0
- package/lib/{cjs/webview → webview}/contents-context.d.ts +1 -1
- package/lib/webview/contents-context.js +14 -0
- package/lib/webview/contents-context.js.map +1 -0
- package/lib/webview/index.d.ts +3 -0
- package/lib/webview/index.js +11 -0
- package/lib/webview/index.js.map +1 -0
- package/lib/{esm/webview → webview}/types.d.ts +1 -1
- package/lib/webview/types.js +9 -0
- package/lib/webview/types.js.map +1 -0
- package/lib/{cjs/webview → webview}/use-webview-contents.d.ts +1 -1
- package/lib/webview/use-webview-contents.js +90 -0
- package/lib/webview/use-webview-contents.js.map +1 -0
- package/package.json +10 -8
- package/src/content-fields/flow-ai-agent-base.tsx +0 -11
- package/src/content-fields/flow-whatsapp-request-contact-info.tsx +1 -17
- package/src/content-fields/index.ts +2 -2
- package/src/index.ts +5 -5
- package/src/types.ts +6 -6
- package/src/utils/hubtype-assistant-content.ts +0 -14
- 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.js.map +0 -1
- package/lib/cjs/action/first-interaction.d.ts +0 -3
- package/lib/cjs/action/first-interaction.js.map +0 -1
- 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.map +0 -1
- package/lib/cjs/api.js +0 -205
- package/lib/cjs/api.js.map +0 -1
- 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.map +0 -1
- 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 -97
- 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.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.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.js +0 -59
- package/lib/cjs/content-fields/flow-country-conditional.js.map +0 -1
- 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.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.js.map +0 -1
- 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.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.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.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-request-contact-info.d.ts +0 -11
- package/lib/cjs/content-fields/flow-whatsapp-request-contact-info.js +0 -45
- package/lib/cjs/content-fields/flow-whatsapp-request-contact-info.js.map +0 -1
- package/lib/cjs/content-fields/flow-whatsapp-template.js +0 -264
- package/lib/cjs/content-fields/flow-whatsapp-template.js.map +0 -1
- 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.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.js +0 -3
- package/lib/cjs/content-fields/hubtype-fields/bot-action.js.map +0 -1
- 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.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.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.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.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.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 -27
- package/lib/cjs/content-fields/hubtype-fields/index.js +0 -31
- package/lib/cjs/content-fields/hubtype-fields/index.js.map +0 -1
- 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.js.map +0 -1
- 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.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.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-request-contact-info.js +0 -3
- package/lib/cjs/content-fields/hubtype-fields/whatsapp-request-contact-info.js.map +0 -1
- 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 -25
- package/lib/cjs/content-fields/index.js +0 -52
- package/lib/cjs/content-fields/index.js.map +0 -1
- 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.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.js +0 -17
- package/lib/cjs/filters/index.js.map +0 -1
- package/lib/cjs/flow-factory.js +0 -69
- package/lib/cjs/flow-factory.js.map +0 -1
- package/lib/cjs/functions/index.d.ts +0 -11
- package/lib/cjs/functions/index.js.map +0 -1
- package/lib/cjs/index.js +0 -178
- package/lib/cjs/index.js.map +0 -1
- 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.js +0 -15
- package/lib/cjs/structured-output/flow-builder-content.js.map +0 -1
- 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.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.js.map +0 -1
- package/lib/cjs/utils/ai-agent.js +0 -28
- package/lib/cjs/utils/ai-agent.js.map +0 -1
- package/lib/cjs/utils/authentication.js.map +0 -1
- package/lib/cjs/utils/flow-locale.js.map +0 -1
- package/lib/cjs/utils/get-flow-builder-plugin.js.map +0 -1
- package/lib/cjs/utils/hubtype-assistant-content.js.map +0 -1
- package/lib/cjs/utils/input.js +0 -35
- package/lib/cjs/utils/input.js.map +0 -1
- 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.js +0 -83
- package/lib/cjs/webview/use-webview-contents.js.map +0 -1
- package/lib/esm/action/ai-agent-from-user-input.d.ts +0 -3
- package/lib/esm/action/ai-agent-from-user-input.js +0 -32
- package/lib/esm/action/ai-agent-from-user-input.js.map +0 -1
- package/lib/esm/action/context.js +0 -17
- package/lib/esm/action/context.js.map +0 -1
- package/lib/esm/action/fallback.d.ts +0 -3
- package/lib/esm/action/fallback.js +0 -36
- package/lib/esm/action/fallback.js.map +0 -1
- package/lib/esm/action/first-interaction.d.ts +0 -3
- package/lib/esm/action/first-interaction.js +0 -88
- package/lib/esm/action/first-interaction.js.map +0 -1
- package/lib/esm/action/get-contents.d.ts +0 -3
- package/lib/esm/action/get-contents.js +0 -39
- package/lib/esm/action/get-contents.js.map +0 -1
- package/lib/esm/action/index.js.map +0 -1
- package/lib/esm/action/payload.d.ts +0 -3
- package/lib/esm/action/payload.js +0 -74
- package/lib/esm/action/payload.js.map +0 -1
- package/lib/esm/api.d.ts +0 -40
- package/lib/esm/api.js.map +0 -1
- package/lib/esm/constants.d.ts +0 -13
- package/lib/esm/constants.js +0 -19
- package/lib/esm/constants.js.map +0 -1
- package/lib/esm/content-fields/content-fields-base.js +0 -74
- package/lib/esm/content-fields/content-fields-base.js.map +0 -1
- package/lib/esm/content-fields/custom-conditional/custom-conditional-v2-evaluators.js +0 -71
- package/lib/esm/content-fields/custom-conditional/custom-conditional-v2-evaluators.js.map +0 -1
- package/lib/esm/content-fields/custom-conditional/custom-conditional-v2-resolver.js +0 -58
- package/lib/esm/content-fields/custom-conditional/custom-conditional-v2-resolver.js.map +0 -1
- package/lib/esm/content-fields/custom-conditional/flow-custom-condition-v2.d.ts +0 -17
- package/lib/esm/content-fields/custom-conditional/flow-custom-condition-v2.js +0 -79
- package/lib/esm/content-fields/custom-conditional/flow-custom-condition-v2.js.map +0 -1
- package/lib/esm/content-fields/flow-ai-agent-base.js +0 -97
- package/lib/esm/content-fields/flow-ai-agent-base.js.map +0 -1
- package/lib/esm/content-fields/flow-ai-agent-router.js.map +0 -1
- package/lib/esm/content-fields/flow-ai-agent.d.ts +0 -17
- package/lib/esm/content-fields/flow-ai-agent.js +0 -64
- package/lib/esm/content-fields/flow-ai-agent.js.map +0 -1
- package/lib/esm/content-fields/flow-bot-action.js.map +0 -1
- package/lib/esm/content-fields/flow-button.js.map +0 -1
- package/lib/esm/content-fields/flow-capture-user-input.d.ts +0 -14
- package/lib/esm/content-fields/flow-capture-user-input.js +0 -45
- package/lib/esm/content-fields/flow-capture-user-input.js.map +0 -1
- package/lib/esm/content-fields/flow-carousel.js +0 -152
- package/lib/esm/content-fields/flow-carousel.js.map +0 -1
- package/lib/esm/content-fields/flow-channel-conditional.js.map +0 -1
- package/lib/esm/content-fields/flow-country-conditional.d.ts +0 -13
- package/lib/esm/content-fields/flow-country-conditional.js.map +0 -1
- package/lib/esm/content-fields/flow-custom-conditional.d.ts +0 -17
- package/lib/esm/content-fields/flow-custom-conditional.js.map +0 -1
- package/lib/esm/content-fields/flow-element.d.ts +0 -22
- package/lib/esm/content-fields/flow-element.js +0 -50
- package/lib/esm/content-fields/flow-element.js.map +0 -1
- package/lib/esm/content-fields/flow-go-to-flow.js.map +0 -1
- package/lib/esm/content-fields/flow-handoff.d.ts +0 -17
- package/lib/esm/content-fields/flow-handoff.js +0 -68
- package/lib/esm/content-fields/flow-handoff.js.map +0 -1
- package/lib/esm/content-fields/flow-image.d.ts +0 -10
- package/lib/esm/content-fields/flow-image.js +0 -33
- package/lib/esm/content-fields/flow-image.js.map +0 -1
- package/lib/esm/content-fields/flow-queue-status-conditional.d.ts +0 -30
- package/lib/esm/content-fields/flow-queue-status-conditional.js +0 -95
- package/lib/esm/content-fields/flow-queue-status-conditional.js.map +0 -1
- package/lib/esm/content-fields/flow-rating.js +0 -66
- package/lib/esm/content-fields/flow-rating.js.map +0 -1
- package/lib/esm/content-fields/flow-text.d.ts +0 -15
- package/lib/esm/content-fields/flow-text.js +0 -60
- package/lib/esm/content-fields/flow-text.js.map +0 -1
- package/lib/esm/content-fields/flow-video.js +0 -33
- package/lib/esm/content-fields/flow-video.js.map +0 -1
- package/lib/esm/content-fields/flow-webview.js +0 -78
- package/lib/esm/content-fields/flow-webview.js.map +0 -1
- package/lib/esm/content-fields/flow-whatsapp-cta-url-button.js +0 -92
- package/lib/esm/content-fields/flow-whatsapp-cta-url-button.js.map +0 -1
- package/lib/esm/content-fields/flow-whatsapp-request-contact-info.js +0 -45
- package/lib/esm/content-fields/flow-whatsapp-request-contact-info.js.map +0 -1
- package/lib/esm/content-fields/flow-whatsapp-template.d.ts +0 -37
- package/lib/esm/content-fields/flow-whatsapp-template.js.map +0 -1
- package/lib/esm/content-fields/hubtype-fields/ai-agent-router.d.ts +0 -21
- package/lib/esm/content-fields/hubtype-fields/ai-agent-router.js +0 -3
- package/lib/esm/content-fields/hubtype-fields/ai-agent-router.js.map +0 -1
- package/lib/esm/content-fields/hubtype-fields/ai-agent.d.ts +0 -25
- package/lib/esm/content-fields/hubtype-fields/ai-agent.js +0 -3
- package/lib/esm/content-fields/hubtype-fields/ai-agent.js.map +0 -1
- package/lib/esm/content-fields/hubtype-fields/bot-action.d.ts +0 -10
- package/lib/esm/content-fields/hubtype-fields/bot-action.js +0 -3
- package/lib/esm/content-fields/hubtype-fields/bot-action.js.map +0 -1
- package/lib/esm/content-fields/hubtype-fields/button.d.ts +0 -8
- package/lib/esm/content-fields/hubtype-fields/button.js +0 -3
- package/lib/esm/content-fields/hubtype-fields/button.js.map +0 -1
- package/lib/esm/content-fields/hubtype-fields/capture-user-input.d.ts +0 -19
- package/lib/esm/content-fields/hubtype-fields/capture-user-input.js +0 -12
- package/lib/esm/content-fields/hubtype-fields/capture-user-input.js.map +0 -1
- package/lib/esm/content-fields/hubtype-fields/carousel.js +0 -3
- package/lib/esm/content-fields/hubtype-fields/carousel.js.map +0 -1
- package/lib/esm/content-fields/hubtype-fields/channel-conditional.d.ts +0 -10
- package/lib/esm/content-fields/hubtype-fields/channel-conditional.js +0 -3
- package/lib/esm/content-fields/hubtype-fields/channel-conditional.js.map +0 -1
- package/lib/esm/content-fields/hubtype-fields/common.js +0 -3
- package/lib/esm/content-fields/hubtype-fields/common.js.map +0 -1
- package/lib/esm/content-fields/hubtype-fields/country-conditional.d.ts +0 -10
- package/lib/esm/content-fields/hubtype-fields/country-conditional.js +0 -3
- package/lib/esm/content-fields/hubtype-fields/country-conditional.js.map +0 -1
- package/lib/esm/content-fields/hubtype-fields/custom-conditional-v2.js.map +0 -1
- package/lib/esm/content-fields/hubtype-fields/custom-conditional.js +0 -3
- package/lib/esm/content-fields/hubtype-fields/custom-conditional.js.map +0 -1
- package/lib/esm/content-fields/hubtype-fields/fallback.js +0 -3
- package/lib/esm/content-fields/hubtype-fields/fallback.js.map +0 -1
- package/lib/esm/content-fields/hubtype-fields/function.js +0 -11
- package/lib/esm/content-fields/hubtype-fields/function.js.map +0 -1
- package/lib/esm/content-fields/hubtype-fields/go-to-flow.d.ts +0 -9
- package/lib/esm/content-fields/hubtype-fields/go-to-flow.js +0 -3
- package/lib/esm/content-fields/hubtype-fields/go-to-flow.js.map +0 -1
- package/lib/esm/content-fields/hubtype-fields/handoff.d.ts +0 -11
- package/lib/esm/content-fields/hubtype-fields/handoff.js +0 -3
- package/lib/esm/content-fields/hubtype-fields/handoff.js.map +0 -1
- package/lib/esm/content-fields/hubtype-fields/image.js +0 -3
- package/lib/esm/content-fields/hubtype-fields/image.js.map +0 -1
- package/lib/esm/content-fields/hubtype-fields/index.d.ts +0 -27
- package/lib/esm/content-fields/hubtype-fields/index.js +0 -31
- package/lib/esm/content-fields/hubtype-fields/index.js.map +0 -1
- package/lib/esm/content-fields/hubtype-fields/keyword.d.ts +0 -9
- package/lib/esm/content-fields/hubtype-fields/keyword.js +0 -3
- package/lib/esm/content-fields/hubtype-fields/keyword.js.map +0 -1
- package/lib/esm/content-fields/hubtype-fields/node-types.d.ts +0 -31
- package/lib/esm/content-fields/hubtype-fields/node-types.js +0 -38
- package/lib/esm/content-fields/hubtype-fields/node-types.js.map +0 -1
- package/lib/esm/content-fields/hubtype-fields/nodes.d.ts +0 -26
- package/lib/esm/content-fields/hubtype-fields/nodes.js +0 -3
- package/lib/esm/content-fields/hubtype-fields/nodes.js.map +0 -1
- package/lib/esm/content-fields/hubtype-fields/payload.js +0 -3
- package/lib/esm/content-fields/hubtype-fields/payload.js.map +0 -1
- package/lib/esm/content-fields/hubtype-fields/queue-status-conditional.js +0 -3
- package/lib/esm/content-fields/hubtype-fields/queue-status-conditional.js.map +0 -1
- package/lib/esm/content-fields/hubtype-fields/rating.js +0 -9
- package/lib/esm/content-fields/hubtype-fields/rating.js.map +0 -1
- package/lib/esm/content-fields/hubtype-fields/smart-intent.js +0 -3
- package/lib/esm/content-fields/hubtype-fields/smart-intent.js.map +0 -1
- package/lib/esm/content-fields/hubtype-fields/text.js +0 -3
- package/lib/esm/content-fields/hubtype-fields/text.js.map +0 -1
- package/lib/esm/content-fields/hubtype-fields/url.d.ts +0 -8
- package/lib/esm/content-fields/hubtype-fields/url.js +0 -3
- package/lib/esm/content-fields/hubtype-fields/url.js.map +0 -1
- package/lib/esm/content-fields/hubtype-fields/video.js +0 -3
- package/lib/esm/content-fields/hubtype-fields/video.js.map +0 -1
- package/lib/esm/content-fields/hubtype-fields/webview.js +0 -3
- package/lib/esm/content-fields/hubtype-fields/webview.js.map +0 -1
- package/lib/esm/content-fields/hubtype-fields/whatsapp-button-list.js +0 -3
- package/lib/esm/content-fields/hubtype-fields/whatsapp-button-list.js.map +0 -1
- package/lib/esm/content-fields/hubtype-fields/whatsapp-cta-url-button.d.ts +0 -17
- package/lib/esm/content-fields/hubtype-fields/whatsapp-cta-url-button.js +0 -3
- package/lib/esm/content-fields/hubtype-fields/whatsapp-cta-url-button.js.map +0 -1
- package/lib/esm/content-fields/hubtype-fields/whatsapp-request-contact-info.d.ts +0 -8
- package/lib/esm/content-fields/hubtype-fields/whatsapp-request-contact-info.js +0 -3
- package/lib/esm/content-fields/hubtype-fields/whatsapp-request-contact-info.js.map +0 -1
- package/lib/esm/content-fields/hubtype-fields/whatsapp-template.d.ts +0 -96
- package/lib/esm/content-fields/hubtype-fields/whatsapp-template.js +0 -9
- package/lib/esm/content-fields/hubtype-fields/whatsapp-template.js.map +0 -1
- package/lib/esm/content-fields/index.d.ts +0 -25
- package/lib/esm/content-fields/index.js +0 -52
- package/lib/esm/content-fields/index.js.map +0 -1
- package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.d.ts +0 -14
- package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.js.map +0 -1
- package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.d.ts +0 -13
- package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.js +0 -36
- package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.js.map +0 -1
- package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list.js +0 -46
- package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list.js.map +0 -1
- package/lib/esm/content-fields/whatsapp-button-list/index.js +0 -10
- package/lib/esm/content-fields/whatsapp-button-list/index.js.map +0 -1
- package/lib/esm/filters/index.d.ts +0 -12
- package/lib/esm/filters/index.js +0 -17
- package/lib/esm/filters/index.js.map +0 -1
- package/lib/esm/flow-factory.d.ts +0 -12
- package/lib/esm/flow-factory.js +0 -69
- package/lib/esm/flow-factory.js.map +0 -1
- package/lib/esm/functions/index.js +0 -49
- package/lib/esm/functions/index.js.map +0 -1
- package/lib/esm/index.d.ts +0 -45
- package/lib/esm/index.js.map +0 -1
- package/lib/esm/services/hubtype-queues-api.d.ts +0 -14
- package/lib/esm/services/hubtype-queues-api.js +0 -26
- package/lib/esm/services/hubtype-queues-api.js.map +0 -1
- package/lib/esm/structured-output/flow-builder-content.d.ts +0 -13
- package/lib/esm/structured-output/flow-builder-content.js +0 -15
- package/lib/esm/structured-output/flow-builder-content.js.map +0 -1
- package/lib/esm/tracking.d.ts +0 -16
- package/lib/esm/tracking.js +0 -71
- package/lib/esm/tracking.js.map +0 -1
- package/lib/esm/types.js +0 -14
- package/lib/esm/types.js.map +0 -1
- package/lib/esm/user-input/capture-user-input-api.js +0 -88
- package/lib/esm/user-input/capture-user-input-api.js.map +0 -1
- package/lib/esm/user-input/index.js +0 -37
- package/lib/esm/user-input/index.js.map +0 -1
- package/lib/esm/user-input/keyword.js.map +0 -1
- package/lib/esm/user-input/smart-intent.d.ts +0 -24
- package/lib/esm/user-input/smart-intent.js +0 -89
- package/lib/esm/user-input/smart-intent.js.map +0 -1
- package/lib/esm/utils/ai-agent.d.ts +0 -11
- package/lib/esm/utils/ai-agent.js +0 -28
- package/lib/esm/utils/ai-agent.js.map +0 -1
- package/lib/esm/utils/authentication.d.ts +0 -2
- package/lib/esm/utils/authentication.js +0 -21
- package/lib/esm/utils/authentication.js.map +0 -1
- package/lib/esm/utils/flow-locale.d.ts +0 -22
- package/lib/esm/utils/flow-locale.js +0 -79
- package/lib/esm/utils/flow-locale.js.map +0 -1
- package/lib/esm/utils/get-flow-builder-plugin.d.ts +0 -3
- package/lib/esm/utils/get-flow-builder-plugin.js +0 -16
- package/lib/esm/utils/get-flow-builder-plugin.js.map +0 -1
- package/lib/esm/utils/hubtype-assistant-content.d.ts +0 -13
- package/lib/esm/utils/hubtype-assistant-content.js +0 -184
- package/lib/esm/utils/hubtype-assistant-content.js.map +0 -1
- package/lib/esm/utils/input.d.ts +0 -6
- package/lib/esm/utils/input.js +0 -35
- package/lib/esm/utils/input.js.map +0 -1
- package/lib/esm/webview/contents-context.d.ts +0 -2
- package/lib/esm/webview/contents-context.js +0 -12
- package/lib/esm/webview/contents-context.js.map +0 -1
- package/lib/esm/webview/index.d.ts +0 -3
- package/lib/esm/webview/index.js +0 -10
- package/lib/esm/webview/index.js.map +0 -1
- package/lib/esm/webview/types.js +0 -9
- package/lib/esm/webview/types.js.map +0 -1
- package/lib/esm/webview/use-webview-contents.d.ts +0 -2
- package/lib/esm/webview/use-webview-contents.js +0 -83
- package/lib/esm/webview/use-webview-contents.js.map +0 -1
- /package/lib/{cjs/constants.d.ts → constants.d.ts} +0 -0
- /package/lib/{cjs/content-fields → content-fields}/hubtype-fields/node-types.d.ts +0 -0
- /package/lib/{cjs/services → services}/hubtype-queues-api.d.ts +0 -0
- /package/lib/{cjs/structured-output → structured-output}/flow-builder-content.d.ts +0 -0
- /package/lib/{cjs/utils → utils}/authentication.d.ts +0 -0
- /package/lib/{cjs/utils → utils}/flow-locale.d.ts +0 -0
- /package/lib/{cjs/utils → utils}/input.d.ts +0 -0
|
@@ -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,108 +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) {
|
|
140
142
|
return this.createRequestContactInfoButtonComponent(index);
|
|
141
143
|
}
|
|
142
|
-
if (button.type ===
|
|
144
|
+
if (button.type === WhatsAppTemplateButtonSubType.FLOW) {
|
|
143
145
|
const actionValue = flowButtonActionValues?.[String(index)];
|
|
144
146
|
if (!actionValue) {
|
|
145
147
|
throw new Error(`WhatsApp template '${templateName}' FLOW button at index ${index} requires flow_button_action_values`);
|
|
@@ -151,64 +153,62 @@ class FlowWhatsappTemplate extends content_fields_base_1.ContentFieldsBase {
|
|
|
151
153
|
createUrlButtonComponent(index, urlParam, botContext) {
|
|
152
154
|
const variableUrlParam = this.replaceVariables(urlParam, botContext);
|
|
153
155
|
return {
|
|
154
|
-
type:
|
|
155
|
-
sub_type:
|
|
156
|
+
type: WhatsAppTemplateComponentType.BUTTON,
|
|
157
|
+
sub_type: WhatsAppTemplateButtonSubType.URL,
|
|
156
158
|
index: index,
|
|
157
|
-
parameters: urlParam
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
]
|
|
164
|
-
: [],
|
|
159
|
+
parameters: urlParam ? [
|
|
160
|
+
{
|
|
161
|
+
type: WhatsAppTemplateParameterType.TEXT,
|
|
162
|
+
text: variableUrlParam
|
|
163
|
+
}
|
|
164
|
+
] : []
|
|
165
165
|
};
|
|
166
166
|
}
|
|
167
167
|
createQuickReplyButtonComponent(index, payload) {
|
|
168
168
|
return {
|
|
169
|
-
type:
|
|
170
|
-
sub_type:
|
|
169
|
+
type: WhatsAppTemplateComponentType.BUTTON,
|
|
170
|
+
sub_type: WhatsAppTemplateButtonSubType.QUICK_REPLY,
|
|
171
171
|
index: index,
|
|
172
172
|
parameters: [
|
|
173
173
|
{
|
|
174
|
-
type:
|
|
175
|
-
payload: payload
|
|
176
|
-
}
|
|
177
|
-
]
|
|
174
|
+
type: WhatsAppTemplateParameterType.PAYLOAD,
|
|
175
|
+
payload: payload
|
|
176
|
+
}
|
|
177
|
+
]
|
|
178
178
|
};
|
|
179
179
|
}
|
|
180
180
|
createVoiceCallButtonComponent(index) {
|
|
181
181
|
return {
|
|
182
|
-
type:
|
|
183
|
-
sub_type:
|
|
182
|
+
type: WhatsAppTemplateComponentType.BUTTON,
|
|
183
|
+
sub_type: WhatsAppTemplateButtonSubType.VOICE_CALL,
|
|
184
184
|
index: index,
|
|
185
|
-
parameters: []
|
|
185
|
+
parameters: []
|
|
186
186
|
};
|
|
187
187
|
}
|
|
188
188
|
createPhoneNumberButtonComponent(index) {
|
|
189
189
|
return {
|
|
190
|
-
type:
|
|
191
|
-
sub_type:
|
|
190
|
+
type: WhatsAppTemplateComponentType.BUTTON,
|
|
191
|
+
sub_type: WhatsAppTemplateButtonSubType.PHONE_NUMBER,
|
|
192
192
|
index: index,
|
|
193
|
-
parameters: []
|
|
193
|
+
parameters: []
|
|
194
194
|
};
|
|
195
195
|
}
|
|
196
196
|
createRequestContactInfoButtonComponent(index) {
|
|
197
197
|
return {
|
|
198
|
-
type:
|
|
199
|
-
sub_type:
|
|
198
|
+
type: WhatsAppTemplateComponentType.BUTTON,
|
|
199
|
+
sub_type: WhatsAppTemplateButtonSubType.REQUEST_CONTACT_INFO,
|
|
200
200
|
index: index,
|
|
201
|
-
parameters: []
|
|
201
|
+
parameters: []
|
|
202
202
|
};
|
|
203
203
|
}
|
|
204
204
|
resolveFlowActionData(flowActionData, botContext) {
|
|
205
205
|
if (!flowActionData) {
|
|
206
206
|
return undefined;
|
|
207
207
|
}
|
|
208
|
-
const resolvedData = Object.fromEntries(Object.entries(flowActionData).map(([key, value])
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
208
|
+
const resolvedData = Object.fromEntries(Object.entries(flowActionData).map(([key, value])=>[
|
|
209
|
+
key,
|
|
210
|
+
this.replaceVariables(value, botContext)
|
|
211
|
+
]));
|
|
212
212
|
return Object.keys(resolvedData).length > 0 ? resolvedData : undefined;
|
|
213
213
|
}
|
|
214
214
|
createFlowButtonComponent(index, templateButton, actionValue, botContext, templateName) {
|
|
@@ -217,29 +217,28 @@ class FlowWhatsappTemplate extends content_fields_base_1.ContentFieldsBase {
|
|
|
217
217
|
throw new Error(`WhatsApp template '${templateName}' FLOW button at index ${index} requires a non-empty flow_token`);
|
|
218
218
|
}
|
|
219
219
|
const action = {
|
|
220
|
-
flow_token: flowToken
|
|
220
|
+
flow_token: flowToken
|
|
221
221
|
};
|
|
222
|
-
if (templateButton.flow_action !==
|
|
223
|
-
hubtype_fields_1.HtWhatsAppTemplateFlowActionType.DATA_EXCHANGE) {
|
|
222
|
+
if (templateButton.flow_action !== HtWhatsAppTemplateFlowActionType.DATA_EXCHANGE) {
|
|
224
223
|
const flowActionData = this.resolveFlowActionData(actionValue.flow_action_data, botContext);
|
|
225
224
|
if (flowActionData) {
|
|
226
225
|
action.flow_action_data = flowActionData;
|
|
227
226
|
}
|
|
228
227
|
}
|
|
229
228
|
return {
|
|
230
|
-
type:
|
|
231
|
-
sub_type:
|
|
229
|
+
type: WhatsAppTemplateComponentType.BUTTON,
|
|
230
|
+
sub_type: WhatsAppTemplateButtonSubType.FLOW,
|
|
232
231
|
index: String(index),
|
|
233
232
|
parameters: [
|
|
234
233
|
{
|
|
235
|
-
type:
|
|
236
|
-
action
|
|
237
|
-
}
|
|
238
|
-
]
|
|
234
|
+
type: WhatsAppTemplateParameterType.ACTION,
|
|
235
|
+
action
|
|
236
|
+
}
|
|
237
|
+
]
|
|
239
238
|
};
|
|
240
239
|
}
|
|
241
240
|
async trackFlow(botContext) {
|
|
242
|
-
await
|
|
241
|
+
await trackOneContent(botContext, this);
|
|
243
242
|
}
|
|
244
243
|
async processContent(botContext) {
|
|
245
244
|
await this.filterContent(botContext, this);
|
|
@@ -250,15 +249,33 @@ class FlowWhatsappTemplate extends content_fields_base_1.ContentFieldsBase {
|
|
|
250
249
|
const templateName = this.htWhatsappTemplate.name;
|
|
251
250
|
const templateLanguage = this.htWhatsappTemplate.language;
|
|
252
251
|
const body = this.getBodyComponent(this.variableValues, botContext);
|
|
253
|
-
const pluginFlowBuilder =
|
|
252
|
+
const pluginFlowBuilder = getFlowBuilderPlugin(botContext.plugins);
|
|
254
253
|
const resolvedLocale = pluginFlowBuilder.cmsApi.getResolvedLocale();
|
|
255
254
|
const header = this.getHeaderComponent(this.htWhatsappTemplate, this.headerVariables || {}, resolvedLocale, botContext);
|
|
256
255
|
const buttons = this.getButtons(this.htWhatsappTemplate, this.buttons || [], this.urlVariableValues || {}, this.flowButtonActionValues || {}, botContext);
|
|
257
|
-
if (
|
|
258
|
-
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);
|
|
259
264
|
}
|
|
260
|
-
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 = {};
|
|
261
276
|
}
|
|
262
277
|
}
|
|
263
|
-
|
|
278
|
+
|
|
279
|
+
export { FlowWhatsappTemplate };
|
|
280
|
+
|
|
264
281
|
//# sourceMappingURL=flow-whatsapp-template.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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;
|
|
@@ -0,0 +1 @@
|
|
|
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;
|
|
@@ -0,0 +1 @@
|
|
|
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;
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1 @@
|
|
|
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",
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
var capture_user_input_HtAiValidationType = /*#__PURE__*/ function(HtAiValidationType) {
|
|
2
|
+
HtAiValidationType["NONE"] = "none";
|
|
3
|
+
HtAiValidationType["NAME"] = "name";
|
|
4
|
+
HtAiValidationType["EMAIL"] = "email";
|
|
5
|
+
HtAiValidationType["PHONE"] = "phone";
|
|
6
|
+
HtAiValidationType["CUSTOM"] = "custom";
|
|
7
|
+
return HtAiValidationType;
|
|
8
|
+
}({});
|
|
9
|
+
|
|
10
|
+
export { capture_user_input_HtAiValidationType as HtAiValidationType };
|
|
11
|
+
|
|
12
|
+
//# sourceMappingURL=capture-user-input.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"content-fields/hubtype-fields/capture-user-input.js","sources":["../../../src/content-fields/hubtype-fields/capture-user-input.ts"],"sourcesContent":["import type { HtBaseNode, HtNodeLink } from './common'\nimport type { HtNodeWithContentType } from './node-types'\n\nexport enum HtAiValidationType {\n NONE = 'none',\n NAME = 'name',\n EMAIL = 'email',\n PHONE = 'phone',\n CUSTOM = 'custom',\n}\n\nexport interface HtCaptureUserInputNode extends HtBaseNode {\n type: HtNodeWithContentType.CAPTURE_USER_INPUT\n content: {\n field_name: string\n ai_validation_type?: HtAiValidationType\n ai_validation_instructions?: string\n capture_success: HtNodeLink\n capture_fail: HtNodeLink\n }\n}\n"],"names":["HtAiValidationType"],"mappings":"AAGO,IAAKA,qCAAkBA,0BAAlBA;;;;;;WAAAA;MAMX"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { HtButton } from './button';
|
|
2
|
-
import type { HtBaseNode, HtMediaFileLocale, HtTextLocale } from './common';
|
|
3
|
-
import type { HtNodeWithContentType } from './node-types';
|
|
1
|
+
import type { HtButton } from './button.js';
|
|
2
|
+
import type { HtBaseNode, HtMediaFileLocale, HtTextLocale } from './common.js';
|
|
3
|
+
import type { HtNodeWithContentType } from './node-types.js';
|
|
4
4
|
export interface HtCarouselElement {
|
|
5
5
|
id: string;
|
|
6
6
|
title: HtTextLocale[];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"content-fields/hubtype-fields/carousel.js","sources":["../../../src/content-fields/hubtype-fields/carousel.ts"],"sourcesContent":["import type { HtButton } from './button'\nimport type { HtBaseNode, HtMediaFileLocale, HtTextLocale } from './common'\nimport type { HtNodeWithContentType } from './node-types'\n\nexport interface HtCarouselElement {\n id: string\n title: HtTextLocale[]\n subtitle: HtTextLocale[]\n image: HtMediaFileLocale[]\n button: HtButton\n}\n\nexport interface HtCarouselNode extends HtBaseNode {\n type: HtNodeWithContentType.CAROUSEL\n content: {\n whatsapp_text: HtTextLocale[]\n elements: HtCarouselElement[]\n }\n}\n"],"names":[],"mappings":"AAkBC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { HtBaseNode } from './common';
|
|
2
|
-
import type { HtFunctionResult } from './function';
|
|
3
|
-
import type { HtNodeWithContentType } from './node-types';
|
|
1
|
+
import type { HtBaseNode } from './common.js';
|
|
2
|
+
import type { HtFunctionResult } from './function.js';
|
|
3
|
+
import type { HtNodeWithContentType } from './node-types.js';
|
|
4
4
|
export interface HtChannelConditionalNode extends HtBaseNode {
|
|
5
5
|
type: HtNodeWithContentType.FUNCTION;
|
|
6
6
|
content: {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"content-fields/hubtype-fields/channel-conditional.js","sources":["../../../src/content-fields/hubtype-fields/channel-conditional.ts"],"sourcesContent":["import type { HtBaseNode } from './common'\nimport type { HtFunctionResult } from './function'\nimport type { HtNodeWithContentType } from './node-types'\n\nexport interface HtChannelConditionalNode extends HtBaseNode {\n type: HtNodeWithContentType.FUNCTION\n content: {\n action: string //'get-channel-type'\n result_mapping: HtFunctionResult[]\n }\n}\n"],"names":[],"mappings":"AAUC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { HtNodeWithContentType, HtNodeWithoutContentType } from './node-types';
|
|
2
|
-
import type { HtNodeComponent } from './nodes';
|
|
1
|
+
import type { HtNodeWithContentType, HtNodeWithoutContentType } from './node-types.js';
|
|
2
|
+
import type { HtNodeComponent } from './nodes.js';
|
|
3
3
|
export interface HtFlowBuilderData {
|
|
4
4
|
version: string;
|
|
5
5
|
name: string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"content-fields/hubtype-fields/common.js","sources":["../../../src/content-fields/hubtype-fields/common.ts"],"sourcesContent":["import type {\n HtNodeWithContentType,\n HtNodeWithoutContentType,\n} from './node-types'\nimport type { HtNodeComponent } from './nodes'\n\nexport interface HtFlowBuilderData {\n version: string\n name: string\n locales: string[]\n default_locale_code: string\n start_node_id?: string\n ai_model_id?: string\n is_ai_agent_active?: boolean\n nodes: HtNodeComponent[]\n flows: HtFlows[]\n webviews: HtFlowWebview[]\n campaigns: HtCampaign[]\n bot_variable_definitions: HtBotVariableDefinition[]\n}\n\nexport interface HtFlows {\n id: string\n name: string\n start_node_id: string\n}\n\nexport interface HtFlowWebview {\n id: string\n name: string\n component_name: string\n}\n\nexport interface HtCampaign {\n id: string\n name: string\n start_node_id: string\n}\n\nexport interface HtBotVariableDefinition {\n key_path: string\n is_from_bot_config: boolean\n type?: string\n}\n\nexport interface HtNodeLink {\n id: string\n type: HtNodeWithContentType | HtNodeWithoutContentType\n}\n\nexport interface HtBaseNode {\n id: string\n code: string\n meta: {\n x: number\n y: number\n }\n follow_up?: HtNodeLink\n target?: HtNodeLink\n flow_id: string // TODO: Review if this field is necessary in all HtBaseNode\n is_meaningful?: boolean\n}\n\nexport interface HtTextLocale {\n message: string\n locale: string\n}\n\nexport interface HtMediaFileLocale {\n id: string\n file: string\n locale: string\n}\n\nexport interface HtVideoLocale {\n url: string\n is_embedded: boolean\n locale: string\n}\n\nexport interface HtQueueLocale {\n id: string\n name: string\n locale: string\n}\n\nexport interface HtInputLocale {\n values: string[]\n locale: string\n}\n\nexport interface HtUrlLocale {\n id: string\n locale: string\n}\n\nexport interface HtPayloadLocale {\n id: string\n locale: string\n}\n"],"names":[],"mappings":"AAmGC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { HtBaseNode } from './common';
|
|
2
|
-
import type { HtFunctionResult } from './function';
|
|
3
|
-
import type { HtNodeWithContentType } from './node-types';
|
|
1
|
+
import type { HtBaseNode } from './common.js';
|
|
2
|
+
import type { HtFunctionResult } from './function.js';
|
|
3
|
+
import type { HtNodeWithContentType } from './node-types.js';
|
|
4
4
|
export interface HtCountryConditionalNode extends HtBaseNode {
|
|
5
5
|
type: HtNodeWithContentType.FUNCTION;
|
|
6
6
|
content: {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"content-fields/hubtype-fields/country-conditional.js","sources":["../../../src/content-fields/hubtype-fields/country-conditional.ts"],"sourcesContent":["import type { HtBaseNode } from './common'\nimport type { HtFunctionResult } from './function'\nimport type { HtNodeWithContentType } from './node-types'\n\nexport interface HtCountryConditionalNode extends HtBaseNode {\n type: HtNodeWithContentType.FUNCTION\n content: {\n action: string //'check-country'\n result_mapping: HtFunctionResult[]\n }\n}\n"],"names":[],"mappings":"AAUC"}
|
|
@@ -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 VariableFormat {
|
|
4
4
|
Boolean = "boolean",
|
|
5
5
|
Number = "number",
|