@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
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import type { ActionRequest } from '@botonic/react';
|
|
2
|
-
import type { FlowBuilderApi } from '../api';
|
|
3
|
-
import { type HtCaptureUserInputNode } from '../content-fields/hubtype-fields';
|
|
4
|
-
interface AiCaptureResponseSuccess {
|
|
5
|
-
success: true;
|
|
6
|
-
value: string;
|
|
7
|
-
}
|
|
8
|
-
interface AiCaptureResponseFailure {
|
|
9
|
-
success: false;
|
|
10
|
-
}
|
|
11
|
-
type AiCaptureResponse = AiCaptureResponseSuccess | AiCaptureResponseFailure;
|
|
12
|
-
export declare class CaptureUserInputApi {
|
|
13
|
-
private cmsApi;
|
|
14
|
-
private request;
|
|
15
|
-
private textOrTranscript;
|
|
16
|
-
constructor(cmsApi: FlowBuilderApi, request: ActionRequest, textOrTranscript: string);
|
|
17
|
-
getNextNodeId(): Promise<string | undefined>;
|
|
18
|
-
getAiCaptureResponse(captureUserInputNode: HtCaptureUserInputNode): Promise<AiCaptureResponse>;
|
|
19
|
-
trackUserInputCapture(captureUserInputNode: HtCaptureUserInputNode, captureSuccess: boolean): Promise<void>;
|
|
20
|
-
}
|
|
21
|
-
export {};
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CaptureUserInputApi = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const core_1 = require("@botonic/core");
|
|
6
|
-
const axios_1 = tslib_1.__importDefault(require("axios"));
|
|
7
|
-
const content_fields_1 = require("../content-fields");
|
|
8
|
-
const hubtype_fields_1 = require("../content-fields/hubtype-fields");
|
|
9
|
-
const tracking_1 = require("../tracking");
|
|
10
|
-
const get_flow_builder_plugin_1 = require("../utils/get-flow-builder-plugin");
|
|
11
|
-
const input_1 = require("../utils/input");
|
|
12
|
-
class CaptureUserInputApi {
|
|
13
|
-
constructor(cmsApi, request, textOrTranscript) {
|
|
14
|
-
this.cmsApi = cmsApi;
|
|
15
|
-
this.request = request;
|
|
16
|
-
this.textOrTranscript = textOrTranscript;
|
|
17
|
-
}
|
|
18
|
-
async getNextNodeId() {
|
|
19
|
-
if ((0, input_1.inputHasTextOrTranscript)(this.request.input) &&
|
|
20
|
-
this.cmsApi.shouldCaptureUserInput()) {
|
|
21
|
-
const captureUserInputNode = this.cmsApi.getCaptureUserInputNode();
|
|
22
|
-
if (!captureUserInputNode || !this.textOrTranscript) {
|
|
23
|
-
return undefined;
|
|
24
|
-
}
|
|
25
|
-
const captureUserInput = content_fields_1.FlowCaptureUserInput.fromHubtypeCMS(captureUserInputNode);
|
|
26
|
-
if (captureUserInput.aiValidationType === hubtype_fields_1.HtAiValidationType.NONE) {
|
|
27
|
-
this.cmsApi.setUserExtraDataVariable(captureUserInputNode.content.field_name, this.textOrTranscript);
|
|
28
|
-
await this.trackUserInputCapture(captureUserInputNode, true);
|
|
29
|
-
return captureUserInput.captureSuccessId;
|
|
30
|
-
}
|
|
31
|
-
const aiCaptureResponse = await this.getAiCaptureResponse(captureUserInputNode);
|
|
32
|
-
if (!aiCaptureResponse.success) {
|
|
33
|
-
await this.trackUserInputCapture(captureUserInputNode, false);
|
|
34
|
-
return captureUserInput.captureFailId;
|
|
35
|
-
}
|
|
36
|
-
this.cmsApi.setUserExtraDataVariable(captureUserInputNode.content.field_name, aiCaptureResponse.value);
|
|
37
|
-
await this.trackUserInputCapture(captureUserInputNode, true);
|
|
38
|
-
return captureUserInput.captureSuccessId;
|
|
39
|
-
}
|
|
40
|
-
return undefined;
|
|
41
|
-
}
|
|
42
|
-
async getAiCaptureResponse(captureUserInputNode) {
|
|
43
|
-
try {
|
|
44
|
-
const url = `${process.env.HUBTYPE_API_URL}/external/v1/capture_user_input/`;
|
|
45
|
-
const data = {
|
|
46
|
-
field_name: captureUserInputNode.content.field_name,
|
|
47
|
-
validation_instructions: captureUserInputNode.content.ai_validation_instructions,
|
|
48
|
-
user_input: this.textOrTranscript,
|
|
49
|
-
};
|
|
50
|
-
const pluginFlowBuilder = (0, get_flow_builder_plugin_1.getFlowBuilderPlugin)(this.request.plugins);
|
|
51
|
-
const token = pluginFlowBuilder.getAccessToken(this.request.session);
|
|
52
|
-
const config = {
|
|
53
|
-
headers: {
|
|
54
|
-
'Content-Type': 'application/json',
|
|
55
|
-
Authorization: `Bearer ${token}`,
|
|
56
|
-
},
|
|
57
|
-
};
|
|
58
|
-
const aiCaptureResponse = await axios_1.default.post(url, data, config);
|
|
59
|
-
return aiCaptureResponse.data;
|
|
60
|
-
}
|
|
61
|
-
catch (error) {
|
|
62
|
-
console.warn('Error getting ai/capture_user_input', error);
|
|
63
|
-
}
|
|
64
|
-
return {
|
|
65
|
-
success: false,
|
|
66
|
-
};
|
|
67
|
-
}
|
|
68
|
-
async trackUserInputCapture(captureUserInputNode, captureSuccess) {
|
|
69
|
-
const { flowThreadId, flowId, flowName, flowNodeId, flowNodeContentId } = (0, tracking_1.getCommonFlowContentEventArgsForContentId)(this.request, captureUserInputNode.id);
|
|
70
|
-
const event = {
|
|
71
|
-
action: core_1.EventAction.CaptureUserInput,
|
|
72
|
-
flowThreadId,
|
|
73
|
-
flowId,
|
|
74
|
-
flowName,
|
|
75
|
-
flowNodeId,
|
|
76
|
-
flowNodeContentId,
|
|
77
|
-
flowNodeIsMeaningful: false,
|
|
78
|
-
fieldName: captureUserInputNode.content.field_name,
|
|
79
|
-
userInput: this.textOrTranscript,
|
|
80
|
-
captureSuccess,
|
|
81
|
-
messageId: this.request.input.message_id,
|
|
82
|
-
};
|
|
83
|
-
const { action, ...eventArgs } = event;
|
|
84
|
-
await (0, tracking_1.trackEvent)(this.request, action, eventArgs);
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
exports.CaptureUserInputApi = CaptureUserInputApi;
|
|
88
|
-
//# sourceMappingURL=capture-user-input-api.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"capture-user-input-api.js","sourceRoot":"","sources":["../../../src/user-input/capture-user-input-api.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import type { ActionRequest } from '@botonic/react';
|
|
2
|
-
import type { FlowBuilderApi } from '../api';
|
|
3
|
-
import { type SmartIntentsInferenceConfig } from './smart-intent';
|
|
4
|
-
export declare function getNextPayloadByUserInput(cmsApi: FlowBuilderApi, locale: string, request: ActionRequest, smartIntentsConfig: SmartIntentsInferenceConfig): Promise<string | undefined>;
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getNextPayloadByUserInput = getNextPayloadByUserInput;
|
|
4
|
-
const input_1 = require("../utils/input");
|
|
5
|
-
const capture_user_input_api_1 = require("./capture-user-input-api");
|
|
6
|
-
const keyword_1 = require("./keyword");
|
|
7
|
-
const smart_intent_1 = require("./smart-intent");
|
|
8
|
-
async function getNextPayloadByUserInput(cmsApi, locale, request, smartIntentsConfig) {
|
|
9
|
-
const userTextOrTranscript = (0, input_1.getTextOrTranscript)(request.input);
|
|
10
|
-
if (userTextOrTranscript) {
|
|
11
|
-
if (cmsApi.shouldCaptureUserInput()) {
|
|
12
|
-
const captureUserInputApi = new capture_user_input_api_1.CaptureUserInputApi(cmsApi, request, userTextOrTranscript);
|
|
13
|
-
return await captureUserInputApi.getNextNodeId();
|
|
14
|
-
}
|
|
15
|
-
if ((0, input_1.isKeywordsAllowed)(request)) {
|
|
16
|
-
const keywordMatcher = new keyword_1.KeywordMatcher({
|
|
17
|
-
cmsApi,
|
|
18
|
-
locale,
|
|
19
|
-
request,
|
|
20
|
-
userTextOrTranscript,
|
|
21
|
-
});
|
|
22
|
-
const keywordNode = await keywordMatcher.getNodeByInput();
|
|
23
|
-
if (keywordNode) {
|
|
24
|
-
return cmsApi.getPayload(keywordNode.target);
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
if ((0, input_1.isSmartIntentsAllowed)(request)) {
|
|
28
|
-
const smartIntentsApi = new smart_intent_1.SmartIntentsApi(cmsApi, request, smartIntentsConfig, userTextOrTranscript);
|
|
29
|
-
const smartIntentNode = await smartIntentsApi.getNodeByInput();
|
|
30
|
-
if (smartIntentNode) {
|
|
31
|
-
return cmsApi.getPayload(smartIntentNode.target);
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
return undefined;
|
|
36
|
-
}
|
|
37
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/user-input/index.ts"],"names":[],"mappings":";;AAeA,8DA6CC;AAzDD,0CAIuB;AACvB,qEAA8D;AAC9D,uCAA0C;AAC1C,iDAGuB;AAEhB,KAAK,UAAU,yBAAyB,CAC7C,MAAsB,EACtB,MAAc,EACd,OAAsB,EACtB,kBAA+C;IAE/C,MAAM,oBAAoB,GAAG,IAAA,2BAAmB,EAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAC/D,IAAI,oBAAoB,EAAE,CAAC;QACzB,IAAI,MAAM,CAAC,sBAAsB,EAAE,EAAE,CAAC;YACpC,MAAM,mBAAmB,GAAG,IAAI,4CAAmB,CACjD,MAAM,EACN,OAAO,EACP,oBAAoB,CACrB,CAAA;YACD,OAAO,MAAM,mBAAmB,CAAC,aAAa,EAAE,CAAA;QAClD,CAAC;QAED,IAAI,IAAA,yBAAiB,EAAC,OAAO,CAAC,EAAE,CAAC;YAC/B,MAAM,cAAc,GAAG,IAAI,wBAAc,CAAC;gBACxC,MAAM;gBACN,MAAM;gBACN,OAAO;gBACP,oBAAoB;aACrB,CAAC,CAAA;YACF,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,cAAc,EAAE,CAAA;YACzD,IAAI,WAAW,EAAE,CAAC;gBAChB,OAAO,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;YAC9C,CAAC;QACH,CAAC;QAED,IAAI,IAAA,6BAAqB,EAAC,OAAO,CAAC,EAAE,CAAC;YACnC,MAAM,eAAe,GAAG,IAAI,8BAAe,CACzC,MAAM,EACN,OAAO,EACP,kBAAkB,EAClB,oBAAoB,CACrB,CAAA;YACD,MAAM,eAAe,GAAG,MAAM,eAAe,CAAC,cAAc,EAAE,CAAA;YAC9D,IAAI,eAAe,EAAE,CAAC;gBACpB,OAAO,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,MAAM,CAAC,CAAA;YAClD,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAA;AAClB,CAAC"}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import type { ActionRequest } from '@botonic/react';
|
|
2
|
-
import type { FlowBuilderApi } from '../api';
|
|
3
|
-
import type { HtKeywordNode } from '../content-fields/hubtype-fields';
|
|
4
|
-
interface KeywordProps {
|
|
5
|
-
cmsApi: FlowBuilderApi;
|
|
6
|
-
locale: string;
|
|
7
|
-
request: ActionRequest;
|
|
8
|
-
userTextOrTranscript: string;
|
|
9
|
-
}
|
|
10
|
-
export declare class KeywordMatcher {
|
|
11
|
-
cmsApi: FlowBuilderApi;
|
|
12
|
-
locale: string;
|
|
13
|
-
request: ActionRequest;
|
|
14
|
-
isRegExp: boolean;
|
|
15
|
-
matchedKeyword?: string;
|
|
16
|
-
keywordNodeId?: string;
|
|
17
|
-
flowId?: string;
|
|
18
|
-
userTextOrTranscript: string;
|
|
19
|
-
constructor({ cmsApi, locale, request, userTextOrTranscript }: KeywordProps);
|
|
20
|
-
getNodeByInput(): Promise<HtKeywordNode | undefined>;
|
|
21
|
-
private getNodeByKeyword;
|
|
22
|
-
private matchKeywords;
|
|
23
|
-
private inputMatchesAnyKeyword;
|
|
24
|
-
private resolveKeywordAsRegExp;
|
|
25
|
-
private trackKeywordEvent;
|
|
26
|
-
}
|
|
27
|
-
export {};
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.KeywordMatcher = void 0;
|
|
4
|
-
const core_1 = require("@botonic/core");
|
|
5
|
-
const constants_1 = require("../constants");
|
|
6
|
-
const tracking_1 = require("../tracking");
|
|
7
|
-
class KeywordMatcher {
|
|
8
|
-
constructor({ cmsApi, locale, request, userTextOrTranscript }) {
|
|
9
|
-
this.cmsApi = cmsApi;
|
|
10
|
-
this.locale = locale;
|
|
11
|
-
this.request = request;
|
|
12
|
-
this.isRegExp = false;
|
|
13
|
-
this.userTextOrTranscript = userTextOrTranscript;
|
|
14
|
-
}
|
|
15
|
-
async getNodeByInput() {
|
|
16
|
-
const keywordNodes = this.cmsApi.getKeywordNodes();
|
|
17
|
-
const keywordNode = this.getNodeByKeyword(this.userTextOrTranscript, keywordNodes);
|
|
18
|
-
if (!keywordNode || !this.matchedKeyword) {
|
|
19
|
-
return undefined;
|
|
20
|
-
}
|
|
21
|
-
const targetPayload = this.cmsApi.getPayload(keywordNode.target);
|
|
22
|
-
this.request.input.nluResolution = {
|
|
23
|
-
type: core_1.NluType.Keyword,
|
|
24
|
-
matchedValue: this.matchedKeyword,
|
|
25
|
-
payload: targetPayload,
|
|
26
|
-
};
|
|
27
|
-
await this.trackKeywordEvent();
|
|
28
|
-
return keywordNode;
|
|
29
|
-
}
|
|
30
|
-
getNodeByKeyword(userInput, keywordNodes) {
|
|
31
|
-
const matchedKeywordNode = keywordNodes.find(node => this.matchKeywords(userInput, node));
|
|
32
|
-
return matchedKeywordNode?.target ? matchedKeywordNode : undefined;
|
|
33
|
-
}
|
|
34
|
-
matchKeywords(userInput, node) {
|
|
35
|
-
const result = node.content.keywords.find(keywords => {
|
|
36
|
-
if (keywords.locale === this.locale) {
|
|
37
|
-
this.keywordNodeId = node.id;
|
|
38
|
-
this.flowId = this.cmsApi.getNodeById(node.id).flow_id;
|
|
39
|
-
return this.inputMatchesAnyKeyword(userInput, keywords.values);
|
|
40
|
-
}
|
|
41
|
-
return false;
|
|
42
|
-
});
|
|
43
|
-
return Boolean(result);
|
|
44
|
-
}
|
|
45
|
-
inputMatchesAnyKeyword(userInput, keywords) {
|
|
46
|
-
return keywords.some(keyword => {
|
|
47
|
-
const regExpMatchArray = keyword.match(constants_1.REG_EXP_PATTERN);
|
|
48
|
-
if (regExpMatchArray) {
|
|
49
|
-
const keywordAsRegExp = this.resolveKeywordAsRegExp(regExpMatchArray);
|
|
50
|
-
const match = userInput.match(keywordAsRegExp);
|
|
51
|
-
this.isRegExp = true;
|
|
52
|
-
this.matchedKeyword = match ? match[0] : undefined;
|
|
53
|
-
}
|
|
54
|
-
else {
|
|
55
|
-
this.isRegExp = false;
|
|
56
|
-
this.matchedKeyword = userInput.includes(keyword) ? keyword : undefined;
|
|
57
|
-
}
|
|
58
|
-
return this.matchedKeyword !== undefined;
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
|
-
resolveKeywordAsRegExp(regExpMatchArray) {
|
|
62
|
-
const [, pattern, flags] = regExpMatchArray;
|
|
63
|
-
return new RegExp(pattern, flags);
|
|
64
|
-
}
|
|
65
|
-
async trackKeywordEvent() {
|
|
66
|
-
const { flowId, flowName, flowNodeId, flowNodeContentId } = (0, tracking_1.getCommonFlowContentEventArgsForContentId)(this.request, this.keywordNodeId);
|
|
67
|
-
const event = {
|
|
68
|
-
action: core_1.EventAction.Keyword,
|
|
69
|
-
flowNodeId,
|
|
70
|
-
flowId,
|
|
71
|
-
flowName,
|
|
72
|
-
flowNodeContentId,
|
|
73
|
-
flowThreadId: this.request.session.flow_thread_id,
|
|
74
|
-
nluKeywordName: this.matchedKeyword,
|
|
75
|
-
nluKeywordIsRegex: this.isRegExp,
|
|
76
|
-
nluKeywordMessageId: this.request.input.message_id,
|
|
77
|
-
userInput: this.userTextOrTranscript,
|
|
78
|
-
};
|
|
79
|
-
const { action, ...eventArgs } = event;
|
|
80
|
-
await (0, tracking_1.trackEvent)(this.request, action, eventArgs);
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
exports.KeywordMatcher = KeywordMatcher;
|
|
84
|
-
//# sourceMappingURL=keyword.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"keyword.js","sourceRoot":"","sources":["../../../src/user-input/keyword.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import type { ActionRequest } from '@botonic/react';
|
|
2
|
-
import type { FlowBuilderApi } from '../api';
|
|
3
|
-
import type { HtSmartIntentNode } from '../content-fields/hubtype-fields/smart-intent';
|
|
4
|
-
export interface SmartIntentsInferenceParams {
|
|
5
|
-
bot_id: string;
|
|
6
|
-
text: string;
|
|
7
|
-
num_smart_intents_to_use?: number;
|
|
8
|
-
use_latest: boolean;
|
|
9
|
-
disabled_smart_intent_titles: string[];
|
|
10
|
-
}
|
|
11
|
-
export interface SmartIntentsInferenceConfig {
|
|
12
|
-
useLatest: boolean;
|
|
13
|
-
numSmartIntentsToUse?: number;
|
|
14
|
-
}
|
|
15
|
-
export declare class SmartIntentsApi {
|
|
16
|
-
cmsApi: FlowBuilderApi;
|
|
17
|
-
currentRequest: ActionRequest;
|
|
18
|
-
smartIntentsConfig: SmartIntentsInferenceConfig;
|
|
19
|
-
userTextOrTranscript: string;
|
|
20
|
-
constructor(cmsApi: FlowBuilderApi, currentRequest: ActionRequest, smartIntentsConfig: SmartIntentsInferenceConfig, userTextOrTranscript: string);
|
|
21
|
-
getNodeByInput(): Promise<HtSmartIntentNode | undefined>;
|
|
22
|
-
private resolveUseLatest;
|
|
23
|
-
private getInference;
|
|
24
|
-
}
|
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SmartIntentsApi = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const core_1 = require("@botonic/core");
|
|
6
|
-
const axios_1 = tslib_1.__importDefault(require("axios"));
|
|
7
|
-
const tracking_1 = require("../tracking");
|
|
8
|
-
const get_flow_builder_plugin_1 = require("../utils/get-flow-builder-plugin");
|
|
9
|
-
class SmartIntentsApi {
|
|
10
|
-
constructor(cmsApi, currentRequest, smartIntentsConfig, userTextOrTranscript) {
|
|
11
|
-
this.cmsApi = cmsApi;
|
|
12
|
-
this.currentRequest = currentRequest;
|
|
13
|
-
this.smartIntentsConfig = smartIntentsConfig;
|
|
14
|
-
this.userTextOrTranscript = userTextOrTranscript;
|
|
15
|
-
}
|
|
16
|
-
async getNodeByInput() {
|
|
17
|
-
if (!this.userTextOrTranscript) {
|
|
18
|
-
return undefined;
|
|
19
|
-
}
|
|
20
|
-
const smartIntentNodes = this.cmsApi.getSmartIntentNodes();
|
|
21
|
-
if (!smartIntentNodes.length) {
|
|
22
|
-
return undefined;
|
|
23
|
-
}
|
|
24
|
-
const disabledSmartIntentTitles = smartIntentNodes
|
|
25
|
-
.filter(smartIntentNode => smartIntentNode.content.is_active === false)
|
|
26
|
-
.map(smartIntentNode => smartIntentNode.content.title);
|
|
27
|
-
const params = {
|
|
28
|
-
bot_id: this.currentRequest.session.bot.id,
|
|
29
|
-
text: this.userTextOrTranscript,
|
|
30
|
-
num_smart_intents_to_use: this.smartIntentsConfig.numSmartIntentsToUse,
|
|
31
|
-
use_latest: this.resolveUseLatest(),
|
|
32
|
-
disabled_smart_intent_titles: disabledSmartIntentTitles,
|
|
33
|
-
};
|
|
34
|
-
try {
|
|
35
|
-
const response = await this.getInference(params);
|
|
36
|
-
const smartIntentNode = smartIntentNodes.find(smartIntentNode => smartIntentNode.content.title === response.data.smart_intent_title);
|
|
37
|
-
if (smartIntentNode) {
|
|
38
|
-
const targetPayload = this.cmsApi.getPayload(smartIntentNode.target);
|
|
39
|
-
this.currentRequest.input.nluResolution = {
|
|
40
|
-
type: core_1.NluType.SmartIntent,
|
|
41
|
-
matchedValue: smartIntentNode.content.title,
|
|
42
|
-
payload: targetPayload,
|
|
43
|
-
};
|
|
44
|
-
const { flowId, flowName, flowNodeId, flowNodeContentId } = (0, tracking_1.getCommonFlowContentEventArgsForContentId)(this.currentRequest, smartIntentNode.id);
|
|
45
|
-
const event = {
|
|
46
|
-
action: core_1.EventAction.IntentSmart,
|
|
47
|
-
nluIntentSmartTitle: response.data.smart_intent_title,
|
|
48
|
-
nluIntentSmartNumUsed: response.data.smart_intents_used.length,
|
|
49
|
-
nluIntentSmartMessageId: this.currentRequest.input.message_id,
|
|
50
|
-
userInput: this.userTextOrTranscript,
|
|
51
|
-
flowThreadId: this.currentRequest.session.flow_thread_id,
|
|
52
|
-
flowId,
|
|
53
|
-
flowName,
|
|
54
|
-
flowNodeContentId,
|
|
55
|
-
flowNodeId,
|
|
56
|
-
};
|
|
57
|
-
const { action, ...eventArgs } = event;
|
|
58
|
-
await (0, tracking_1.trackEvent)(this.currentRequest, action, eventArgs);
|
|
59
|
-
return smartIntentNode;
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
catch (e) {
|
|
63
|
-
console.error(e);
|
|
64
|
-
}
|
|
65
|
-
return undefined;
|
|
66
|
-
}
|
|
67
|
-
resolveUseLatest() {
|
|
68
|
-
if (this.currentRequest.session.is_test_integration) {
|
|
69
|
-
return false;
|
|
70
|
-
}
|
|
71
|
-
return this.smartIntentsConfig.useLatest;
|
|
72
|
-
}
|
|
73
|
-
async getInference(inferenceParams) {
|
|
74
|
-
const pluginFlowBuilder = (0, get_flow_builder_plugin_1.getFlowBuilderPlugin)(this.currentRequest.plugins);
|
|
75
|
-
const token = pluginFlowBuilder.getAccessToken(this.currentRequest.session);
|
|
76
|
-
return await (0, axios_1.default)({
|
|
77
|
-
method: 'POST',
|
|
78
|
-
url: `${process.env.HUBTYPE_API_URL}/external/v2/ai/smart_intents/inference/`,
|
|
79
|
-
headers: {
|
|
80
|
-
Authorization: `Bearer ${token}`,
|
|
81
|
-
'Content-Type': 'application/json',
|
|
82
|
-
},
|
|
83
|
-
data: inferenceParams,
|
|
84
|
-
timeout: 10000,
|
|
85
|
-
});
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
exports.SmartIntentsApi = SmartIntentsApi;
|
|
89
|
-
//# sourceMappingURL=smart-intent.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"smart-intent.js","sourceRoot":"","sources":["../../../src/user-input/smart-intent.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { FlowAiAgentRouter } from '../content-fields/flow-ai-agent-router';
|
|
2
|
-
import { FlowAiAgent, type FlowContent } from '../content-fields/index';
|
|
3
|
-
export { HubtypeAssistantContent } from './hubtype-assistant-content';
|
|
4
|
-
type AiAgentContentAndContentsBeforeAiAgent = {
|
|
5
|
-
aiAgentWorkerContent: FlowAiAgent;
|
|
6
|
-
contentsBeforeAiAgentWorker: FlowContent[];
|
|
7
|
-
} | {
|
|
8
|
-
aiAgentRouterContent: FlowAiAgentRouter;
|
|
9
|
-
contentsBeforeAiAgentRouter: FlowContent[];
|
|
10
|
-
};
|
|
11
|
-
export declare function splitAiAgentContents(contents: FlowContent[]): AiAgentContentAndContentsBeforeAiAgent | undefined;
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.HubtypeAssistantContent = void 0;
|
|
4
|
-
exports.splitAiAgentContents = splitAiAgentContents;
|
|
5
|
-
const flow_ai_agent_router_1 = require("../content-fields/flow-ai-agent-router");
|
|
6
|
-
const index_1 = require("../content-fields/index");
|
|
7
|
-
var hubtype_assistant_content_1 = require("./hubtype-assistant-content");
|
|
8
|
-
Object.defineProperty(exports, "HubtypeAssistantContent", { enumerable: true, get: function () { return hubtype_assistant_content_1.HubtypeAssistantContent; } });
|
|
9
|
-
function splitAiAgentContents(contents) {
|
|
10
|
-
const aiAgentRouterIndex = contents.findIndex(content => content instanceof flow_ai_agent_router_1.FlowAiAgentRouter);
|
|
11
|
-
if (aiAgentRouterIndex >= 0) {
|
|
12
|
-
return {
|
|
13
|
-
aiAgentRouterContent: contents[aiAgentRouterIndex],
|
|
14
|
-
contentsBeforeAiAgentRouter: contents.slice(0, aiAgentRouterIndex),
|
|
15
|
-
};
|
|
16
|
-
}
|
|
17
|
-
const aiAgentIndex = contents.findIndex(content => content instanceof index_1.FlowAiAgent);
|
|
18
|
-
if (aiAgentIndex < 0) {
|
|
19
|
-
return undefined;
|
|
20
|
-
}
|
|
21
|
-
const aiAgentWorkerContent = contents[aiAgentIndex];
|
|
22
|
-
const contentsBeforeAiAgentWorker = contents.slice(0, aiAgentIndex);
|
|
23
|
-
return {
|
|
24
|
-
aiAgentWorkerContent,
|
|
25
|
-
contentsBeforeAiAgentWorker,
|
|
26
|
-
};
|
|
27
|
-
}
|
|
28
|
-
//# sourceMappingURL=ai-agent.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ai-agent.js","sourceRoot":"","sources":["../../../src/utils/ai-agent.ts"],"names":[],"mappings":";;;AAeA,oDA2BC;AA1CD,iFAA0E;AAC1E,mDAAuE;AAEvE,yEAAqE;AAA5D,oIAAA,uBAAuB,OAAA;AAYhC,SAAgB,oBAAoB,CAClC,QAAuB;IAEvB,MAAM,kBAAkB,GAAG,QAAQ,CAAC,SAAS,CAC3C,OAAO,CAAC,EAAE,CAAC,OAAO,YAAY,wCAAiB,CAChD,CAAA;IACD,IAAI,kBAAkB,IAAI,CAAC,EAAE,CAAC;QAC5B,OAAO;YACL,oBAAoB,EAAE,QAAQ,CAAC,kBAAkB,CAAsB;YACvE,2BAA2B,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,kBAAkB,CAAC;SACnE,CAAA;IACH,CAAC;IAED,MAAM,YAAY,GAAG,QAAQ,CAAC,SAAS,CACrC,OAAO,CAAC,EAAE,CAAC,OAAO,YAAY,mBAAW,CAC1C,CAAA;IACD,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;QACrB,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,MAAM,oBAAoB,GAAG,QAAQ,CAAC,YAAY,CAAgB,CAAA;IAClE,MAAM,2BAA2B,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,CAAA;IAEnE,OAAO;QACL,oBAAoB;QACpB,2BAA2B;KAC5B,CAAA;AACH,CAAC"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.resolveGetAccessToken = resolveGetAccessToken;
|
|
4
|
-
const types_1 = require("../types");
|
|
5
|
-
function getAccessTokenFromSession(session) {
|
|
6
|
-
if (!session._access_token) {
|
|
7
|
-
throw new Error('No access token found in session');
|
|
8
|
-
}
|
|
9
|
-
return session._access_token;
|
|
10
|
-
}
|
|
11
|
-
function resolveGetAccessToken(getAccessToken) {
|
|
12
|
-
switch (process.env.NODE_ENV) {
|
|
13
|
-
case types_1.ProcessEnvNodeEnvs.PRODUCTION:
|
|
14
|
-
return getAccessTokenFromSession;
|
|
15
|
-
case types_1.ProcessEnvNodeEnvs.DEVELOPMENT:
|
|
16
|
-
return getAccessToken;
|
|
17
|
-
default:
|
|
18
|
-
throw new Error('No method defined for getting access token');
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
//# sourceMappingURL=authentication.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"authentication.js","sourceRoot":"","sources":["../../../src/utils/authentication.ts"],"names":[],"mappings":";;AAWA,sDAWC;AApBD,oCAA6C;AAE7C,SAAS,yBAAyB,CAAC,OAAgB;IACjD,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAA;IACrD,CAAC;IACD,OAAO,OAAO,CAAC,aAAa,CAAA;AAC9B,CAAC;AAED,SAAgB,qBAAqB,CACnC,cAA4C;IAE5C,QAAQ,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC7B,KAAK,0BAAkB,CAAC,UAAU;YAChC,OAAO,yBAAyB,CAAA;QAClC,KAAK,0BAAkB,CAAC,WAAW;YACjC,OAAO,cAAc,CAAA;QACvB;YACE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAA;IACjE,CAAC;AACH,CAAC"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import type { BotContext } from '@botonic/core';
|
|
2
|
-
export declare class FlowLocale {
|
|
3
|
-
private readonly botContext;
|
|
4
|
-
private readonly flowLocales;
|
|
5
|
-
private readonly defaultLocaleCode;
|
|
6
|
-
constructor(botContext: BotContext, flowLocales: string[], defaultLocaleCode: string);
|
|
7
|
-
resolve(): string;
|
|
8
|
-
private isLanguageDetectionEnabled;
|
|
9
|
-
/**
|
|
10
|
-
* Rules:
|
|
11
|
-
* - If user and system languages differ, user locale takes priority.
|
|
12
|
-
* - If both share the same language, the more specific locale wins.
|
|
13
|
-
* - If both have the same specificity, user locale wins.
|
|
14
|
-
*/
|
|
15
|
-
private getPriorityLocale;
|
|
16
|
-
private matchExactLocale;
|
|
17
|
-
private matchLanguage;
|
|
18
|
-
private getDefaultLocale;
|
|
19
|
-
private applyLocale;
|
|
20
|
-
private getLanguage;
|
|
21
|
-
private isSpecificLocale;
|
|
22
|
-
}
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.FlowLocale = void 0;
|
|
4
|
-
class FlowLocale {
|
|
5
|
-
constructor(botContext, flowLocales, defaultLocaleCode) {
|
|
6
|
-
this.botContext = botContext;
|
|
7
|
-
this.flowLocales = flowLocales;
|
|
8
|
-
this.defaultLocaleCode = defaultLocaleCode;
|
|
9
|
-
}
|
|
10
|
-
resolve() {
|
|
11
|
-
const priorityLocale = this.isLanguageDetectionEnabled()
|
|
12
|
-
? this.getPriorityLocale()
|
|
13
|
-
: this.botContext.getSystemLocale();
|
|
14
|
-
if (priorityLocale) {
|
|
15
|
-
const exactMatch = this.matchExactLocale(priorityLocale);
|
|
16
|
-
if (exactMatch) {
|
|
17
|
-
return this.applyLocale(exactMatch);
|
|
18
|
-
}
|
|
19
|
-
const languageMatch = this.matchLanguage(priorityLocale);
|
|
20
|
-
if (languageMatch) {
|
|
21
|
-
return this.applyLocale(languageMatch);
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
return this.applyLocale(this.getDefaultLocale());
|
|
25
|
-
}
|
|
26
|
-
isLanguageDetectionEnabled() {
|
|
27
|
-
return !!this.botContext.settings?.LANGUAGE_DETECTION_ENABLED;
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* Rules:
|
|
31
|
-
* - If user and system languages differ, user locale takes priority.
|
|
32
|
-
* - If both share the same language, the more specific locale wins.
|
|
33
|
-
* - If both have the same specificity, user locale wins.
|
|
34
|
-
*/
|
|
35
|
-
getPriorityLocale() {
|
|
36
|
-
const userLocale = this.botContext.getUserLocale();
|
|
37
|
-
const systemLocale = this.botContext.getSystemLocale();
|
|
38
|
-
if (!userLocale || !systemLocale) {
|
|
39
|
-
return undefined;
|
|
40
|
-
}
|
|
41
|
-
const userLanguage = this.getLanguage(userLocale);
|
|
42
|
-
const systemLanguage = this.getLanguage(systemLocale);
|
|
43
|
-
if (userLanguage !== systemLanguage) {
|
|
44
|
-
return userLocale;
|
|
45
|
-
}
|
|
46
|
-
const userIsSpecific = this.isSpecificLocale(userLocale);
|
|
47
|
-
const systemIsSpecific = this.isSpecificLocale(systemLocale);
|
|
48
|
-
if (userIsSpecific && !systemIsSpecific) {
|
|
49
|
-
return userLocale;
|
|
50
|
-
}
|
|
51
|
-
if (!userIsSpecific && systemIsSpecific) {
|
|
52
|
-
return systemLocale;
|
|
53
|
-
}
|
|
54
|
-
return userLocale;
|
|
55
|
-
}
|
|
56
|
-
matchExactLocale(locale) {
|
|
57
|
-
return this.flowLocales.includes(locale) ? locale : undefined;
|
|
58
|
-
}
|
|
59
|
-
matchLanguage(locale) {
|
|
60
|
-
const language = this.getLanguage(locale);
|
|
61
|
-
return this.flowLocales.includes(language) ? language : undefined;
|
|
62
|
-
}
|
|
63
|
-
getDefaultLocale() {
|
|
64
|
-
return this.defaultLocaleCode || 'en';
|
|
65
|
-
}
|
|
66
|
-
applyLocale(locale) {
|
|
67
|
-
this.botContext.setSystemLocale(locale);
|
|
68
|
-
this.botContext.session.user.system_locale_updated = true;
|
|
69
|
-
return locale;
|
|
70
|
-
}
|
|
71
|
-
getLanguage(locale) {
|
|
72
|
-
return locale.split('-')[0];
|
|
73
|
-
}
|
|
74
|
-
isSpecificLocale(locale) {
|
|
75
|
-
return locale.includes('-');
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
exports.FlowLocale = FlowLocale;
|
|
79
|
-
//# sourceMappingURL=flow-locale.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"flow-locale.js","sourceRoot":"","sources":["../../../src/utils/flow-locale.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getFlowBuilderPlugin = getFlowBuilderPlugin;
|
|
4
|
-
const FLOW_BUILDER_PLUGIN_NAME = 'BotonicPluginFlowBuilder';
|
|
5
|
-
function getFlowBuilderPlugin(plugins) {
|
|
6
|
-
const ERROR_MESSAGE = `You must include '@botonic/plugin-flow-builder' in your plugins file.`;
|
|
7
|
-
if (Object.values(plugins).length === 0) {
|
|
8
|
-
throw new Error(ERROR_MESSAGE);
|
|
9
|
-
}
|
|
10
|
-
const flowBuilderPlugin = Object.values(plugins).find(plugin => plugin.constructor.name === FLOW_BUILDER_PLUGIN_NAME);
|
|
11
|
-
if (!flowBuilderPlugin) {
|
|
12
|
-
throw new Error(ERROR_MESSAGE);
|
|
13
|
-
}
|
|
14
|
-
return flowBuilderPlugin;
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=get-flow-builder-plugin.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"get-flow-builder-plugin.js","sourceRoot":"","sources":["../../../src/utils/get-flow-builder-plugin.ts"],"names":[],"mappings":";;AAMA,oDAkBC;AApBD,MAAM,wBAAwB,GAAG,0BAA0B,CAAA;AAE3D,SAAgB,oBAAoB,CAClC,OAAwB;IAExB,MAAM,aAAa,GAAG,uEAAuE,CAAA;IAE7F,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAA;IAChC,CAAC;IAED,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CACnD,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,KAAK,wBAAwB,CACxB,CAAA;IAExC,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAA;IAChC,CAAC;IAED,OAAO,iBAAiB,CAAA;AAC1B,CAAC"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import type { FlowContent } from '../content-fields';
|
|
2
|
-
export declare class HubtypeAssistantContent {
|
|
3
|
-
static adapt(content: FlowContent): string;
|
|
4
|
-
private static quickReplyLabel;
|
|
5
|
-
private static persistentButtonLabel;
|
|
6
|
-
private static carouselButtonLabel;
|
|
7
|
-
private static formatFlowTextContent;
|
|
8
|
-
private static formatCarouselContent;
|
|
9
|
-
private static formatWhatsappButtonListContent;
|
|
10
|
-
private static formatWhatsappCtaContent;
|
|
11
|
-
private static formatWhatsappTemplateContent;
|
|
12
|
-
}
|