@botonic/plugin-flow-builder 0.46.2 → 2.23.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/CHANGELOG.md +227 -0
- package/README.md +11 -270
- package/package.json +20 -44
- package/src/index.d.ts +2 -0
- package/src/index.js +3 -0
- package/src/index.js.map +1 -0
- package/src/lib/action/ai-agent.d.ts +3 -0
- package/src/lib/action/ai-agent.js +67 -0
- package/src/lib/action/ai-agent.js.map +1 -0
- package/src/lib/action/fallback.d.ts +3 -0
- package/src/lib/action/fallback.js +40 -0
- package/src/lib/action/fallback.js.map +1 -0
- package/src/lib/action/first-interaction.d.ts +3 -0
- package/src/lib/action/first-interaction.js +83 -0
- package/src/lib/action/first-interaction.js.map +1 -0
- package/src/lib/action/index.d.ts +20 -0
- package/src/lib/action/index.js +148 -0
- package/src/lib/action/index.js.map +1 -0
- package/src/lib/action/knowledge-bases.d.ts +3 -0
- package/src/lib/action/knowledge-bases.js +90 -0
- package/src/lib/action/knowledge-bases.js.map +1 -0
- package/src/lib/action/payload.d.ts +3 -0
- package/src/lib/action/payload.js +80 -0
- package/src/lib/action/payload.js.map +1 -0
- package/{lib/esm → src/lib}/api.d.ts +8 -19
- package/{lib/cjs → src/lib}/api.js +60 -101
- package/src/lib/api.js.map +1 -0
- package/{lib/cjs → src/lib}/constants.d.ts +3 -2
- package/src/lib/constants.js +19 -0
- package/src/lib/constants.js.map +1 -0
- package/{lib/esm → src/lib}/content-fields/content-fields-base.d.ts +9 -5
- package/src/lib/content-fields/content-fields-base.js +94 -0
- package/src/lib/content-fields/content-fields-base.js.map +1 -0
- package/src/lib/content-fields/flow-ai-agent.d.ts +20 -0
- package/src/lib/content-fields/flow-ai-agent.js +50 -0
- package/src/lib/content-fields/flow-ai-agent.js.map +1 -0
- package/src/lib/content-fields/flow-bot-action.d.ts +11 -0
- package/src/lib/content-fields/flow-bot-action.js +43 -0
- package/src/lib/content-fields/flow-bot-action.js.map +1 -0
- package/{lib/cjs → src/lib}/content-fields/flow-button.d.ts +13 -7
- package/src/lib/content-fields/flow-button.js +123 -0
- package/src/lib/content-fields/flow-button.js.map +1 -0
- package/{lib/cjs → src/lib}/content-fields/flow-capture-user-input.d.ts +4 -4
- package/src/lib/content-fields/flow-capture-user-input.js +42 -0
- package/src/lib/content-fields/flow-capture-user-input.js.map +1 -0
- package/src/lib/content-fields/flow-carousel.d.ts +49 -0
- package/src/lib/content-fields/flow-carousel.js +181 -0
- package/src/lib/content-fields/flow-carousel.js.map +1 -0
- package/src/lib/content-fields/flow-channel-conditional.d.ts +13 -0
- package/src/lib/content-fields/flow-channel-conditional.js +53 -0
- package/src/lib/content-fields/flow-channel-conditional.js.map +1 -0
- package/src/lib/content-fields/flow-country-conditional.d.ts +12 -0
- package/src/lib/content-fields/flow-country-conditional.js +55 -0
- package/src/lib/content-fields/flow-country-conditional.js.map +1 -0
- package/src/lib/content-fields/flow-custom-conditional.d.ts +16 -0
- package/{lib/cjs → src/lib}/content-fields/flow-custom-conditional.js +36 -34
- package/src/lib/content-fields/flow-custom-conditional.js.map +1 -0
- package/{lib/cjs → src/lib}/content-fields/flow-element.d.ts +3 -10
- package/src/lib/content-fields/flow-element.js +38 -0
- package/src/lib/content-fields/flow-element.js.map +1 -0
- package/src/lib/content-fields/flow-go-to-flow.d.ts +12 -0
- package/src/lib/content-fields/flow-go-to-flow.js +46 -0
- package/src/lib/content-fields/flow-go-to-flow.js.map +1 -0
- package/{lib/cjs → src/lib}/content-fields/flow-handoff.d.ts +6 -6
- package/src/lib/content-fields/flow-handoff.js +77 -0
- package/src/lib/content-fields/flow-handoff.js.map +1 -0
- package/src/lib/content-fields/flow-image.d.ts +10 -0
- package/src/lib/content-fields/flow-image.js +28 -0
- package/src/lib/content-fields/flow-image.js.map +1 -0
- package/{lib/cjs → src/lib}/content-fields/flow-knowledge-base.d.ts +5 -4
- package/src/lib/content-fields/flow-knowledge-base.js +52 -0
- package/src/lib/content-fields/flow-knowledge-base.js.map +1 -0
- package/{lib/esm → src/lib}/content-fields/flow-queue-status-conditional.d.ts +6 -6
- package/src/lib/content-fields/flow-queue-status-conditional.js +97 -0
- package/src/lib/content-fields/flow-queue-status-conditional.js.map +1 -0
- package/{lib/esm → src/lib}/content-fields/flow-rating.d.ts +5 -4
- package/src/lib/content-fields/flow-rating.js +80 -0
- package/src/lib/content-fields/flow-rating.js.map +1 -0
- package/src/lib/content-fields/flow-text.d.ts +15 -0
- package/src/lib/content-fields/flow-text.js +76 -0
- package/src/lib/content-fields/flow-text.js.map +1 -0
- package/src/lib/content-fields/flow-video.d.ts +10 -0
- package/src/lib/content-fields/flow-video.js +28 -0
- package/src/lib/content-fields/flow-video.js.map +1 -0
- package/{lib/esm → src/lib}/content-fields/flow-webview.d.ts +3 -3
- package/src/lib/content-fields/flow-webview.js +41 -0
- package/src/lib/content-fields/flow-webview.js.map +1 -0
- package/{lib/esm → src/lib}/content-fields/flow-whatsapp-cta-url-button.d.ts +8 -7
- package/src/lib/content-fields/flow-whatsapp-cta-url-button.js +76 -0
- package/src/lib/content-fields/flow-whatsapp-cta-url-button.js.map +1 -0
- package/{lib/esm → src/lib}/content-fields/flow-whatsapp-template.d.ts +7 -7
- package/src/lib/content-fields/flow-whatsapp-template.js +159 -0
- package/src/lib/content-fields/flow-whatsapp-template.js.map +1 -0
- package/{lib/esm → src/lib}/content-fields/hubtype-fields/ai-agent.d.ts +2 -5
- package/src/lib/content-fields/hubtype-fields/ai-agent.js +2 -0
- package/src/lib/content-fields/hubtype-fields/ai-agent.js.map +1 -0
- package/{lib/esm → src/lib}/content-fields/hubtype-fields/bot-action.d.ts +2 -2
- package/src/lib/content-fields/hubtype-fields/bot-action.js +2 -0
- package/src/lib/content-fields/hubtype-fields/bot-action.js.map +1 -0
- package/{lib/esm → src/lib}/content-fields/hubtype-fields/button.d.ts +1 -1
- package/src/lib/content-fields/hubtype-fields/button.js +2 -0
- package/src/lib/content-fields/hubtype-fields/button.js.map +1 -0
- package/{lib/esm → src/lib}/content-fields/hubtype-fields/capture-user-input.d.ts +2 -2
- package/src/lib/content-fields/hubtype-fields/capture-user-input.js +9 -0
- package/src/lib/content-fields/hubtype-fields/capture-user-input.js.map +1 -0
- package/{lib/esm → src/lib}/content-fields/hubtype-fields/carousel.d.ts +3 -3
- package/src/lib/content-fields/hubtype-fields/carousel.js +2 -0
- package/src/lib/content-fields/hubtype-fields/carousel.js.map +1 -0
- package/{lib/cjs → src/lib}/content-fields/hubtype-fields/channel-conditional.d.ts +3 -3
- package/src/lib/content-fields/hubtype-fields/channel-conditional.js +2 -0
- package/src/lib/content-fields/hubtype-fields/channel-conditional.js.map +1 -0
- package/{lib/cjs → src/lib}/content-fields/hubtype-fields/common.d.ts +2 -2
- package/src/lib/content-fields/hubtype-fields/common.js +2 -0
- package/src/lib/content-fields/hubtype-fields/common.js.map +1 -0
- package/{lib/cjs → src/lib}/content-fields/hubtype-fields/country-conditional.d.ts +3 -3
- package/src/lib/content-fields/hubtype-fields/country-conditional.js +2 -0
- package/src/lib/content-fields/hubtype-fields/country-conditional.js.map +1 -0
- package/{lib/esm → src/lib}/content-fields/hubtype-fields/custom-conditional.d.ts +3 -3
- package/src/lib/content-fields/hubtype-fields/custom-conditional.js +2 -0
- package/src/lib/content-fields/hubtype-fields/custom-conditional.js.map +1 -0
- package/{lib/cjs → src/lib}/content-fields/hubtype-fields/fallback.d.ts +2 -2
- package/src/lib/content-fields/hubtype-fields/fallback.js +2 -0
- package/src/lib/content-fields/hubtype-fields/fallback.js.map +1 -0
- package/{lib/cjs → src/lib}/content-fields/hubtype-fields/function.d.ts +3 -3
- package/src/lib/content-fields/hubtype-fields/function.js +8 -0
- package/src/lib/content-fields/hubtype-fields/function.js.map +1 -0
- package/{lib/cjs → src/lib}/content-fields/hubtype-fields/go-to-flow.d.ts +2 -2
- package/src/lib/content-fields/hubtype-fields/go-to-flow.js +2 -0
- package/src/lib/content-fields/hubtype-fields/go-to-flow.js.map +1 -0
- package/{lib/cjs → src/lib}/content-fields/hubtype-fields/handoff.d.ts +2 -2
- package/src/lib/content-fields/hubtype-fields/handoff.js +2 -0
- package/src/lib/content-fields/hubtype-fields/handoff.js.map +1 -0
- package/{lib/cjs → src/lib}/content-fields/hubtype-fields/image.d.ts +2 -2
- package/src/lib/content-fields/hubtype-fields/image.js +2 -0
- package/src/lib/content-fields/hubtype-fields/image.js.map +1 -0
- package/{lib/esm → src/lib}/content-fields/hubtype-fields/index.d.ts +1 -0
- package/{lib/cjs/content-fields/hubtype-fields/index.d.ts → src/lib/content-fields/hubtype-fields/index.js} +2 -0
- package/src/lib/content-fields/hubtype-fields/index.js.map +1 -0
- package/{lib/esm → src/lib}/content-fields/hubtype-fields/keyword.d.ts +2 -2
- package/src/lib/content-fields/hubtype-fields/keyword.js +2 -0
- package/src/lib/content-fields/hubtype-fields/keyword.js.map +1 -0
- package/{lib/esm → src/lib}/content-fields/hubtype-fields/knowledge-base.d.ts +2 -2
- package/src/lib/content-fields/hubtype-fields/knowledge-base.js +2 -0
- package/src/lib/content-fields/hubtype-fields/knowledge-base.js.map +1 -0
- package/{lib/cjs → src/lib}/content-fields/hubtype-fields/node-types.d.ts +4 -4
- package/{lib/esm → src/lib}/content-fields/hubtype-fields/node-types.js +10 -13
- package/src/lib/content-fields/hubtype-fields/node-types.js.map +1 -0
- package/src/lib/content-fields/hubtype-fields/nodes.d.ts +24 -0
- package/src/lib/content-fields/hubtype-fields/nodes.js +2 -0
- package/src/lib/content-fields/hubtype-fields/nodes.js.map +1 -0
- package/{lib/esm → src/lib}/content-fields/hubtype-fields/payload.d.ts +1 -1
- package/src/lib/content-fields/hubtype-fields/payload.js +2 -0
- package/src/lib/content-fields/hubtype-fields/payload.js.map +1 -0
- package/{lib/esm → src/lib}/content-fields/hubtype-fields/queue-status-conditional.d.ts +3 -3
- package/src/lib/content-fields/hubtype-fields/queue-status-conditional.js +2 -0
- package/src/lib/content-fields/hubtype-fields/queue-status-conditional.js.map +1 -0
- package/{lib/cjs → src/lib}/content-fields/hubtype-fields/rating.d.ts +2 -2
- package/src/lib/content-fields/hubtype-fields/rating.js +6 -0
- package/src/lib/content-fields/hubtype-fields/rating.js.map +1 -0
- package/{lib/esm → src/lib}/content-fields/hubtype-fields/smart-intent.d.ts +2 -2
- package/src/lib/content-fields/hubtype-fields/smart-intent.js +2 -0
- package/src/lib/content-fields/hubtype-fields/smart-intent.js.map +1 -0
- package/{lib/esm → src/lib}/content-fields/hubtype-fields/text.d.ts +3 -3
- package/src/lib/content-fields/hubtype-fields/text.js +2 -0
- package/src/lib/content-fields/hubtype-fields/text.js.map +1 -0
- package/{lib/esm → src/lib}/content-fields/hubtype-fields/url.d.ts +1 -1
- package/src/lib/content-fields/hubtype-fields/url.js +2 -0
- package/src/lib/content-fields/hubtype-fields/url.js.map +1 -0
- package/{lib/cjs → src/lib}/content-fields/hubtype-fields/video.d.ts +2 -2
- package/src/lib/content-fields/hubtype-fields/video.js +2 -0
- package/src/lib/content-fields/hubtype-fields/video.js.map +1 -0
- package/{lib/esm → src/lib}/content-fields/hubtype-fields/webview.d.ts +2 -2
- package/src/lib/content-fields/hubtype-fields/webview.js +2 -0
- package/src/lib/content-fields/hubtype-fields/webview.js.map +1 -0
- package/{lib/cjs → src/lib}/content-fields/hubtype-fields/whatsapp-button-list.d.ts +2 -2
- package/src/lib/content-fields/hubtype-fields/whatsapp-button-list.js +2 -0
- package/src/lib/content-fields/hubtype-fields/whatsapp-button-list.js.map +1 -0
- package/{lib/esm → src/lib}/content-fields/hubtype-fields/whatsapp-cta-url-button.d.ts +5 -5
- package/src/lib/content-fields/hubtype-fields/whatsapp-cta-url-button.js +2 -0
- package/src/lib/content-fields/hubtype-fields/whatsapp-cta-url-button.js.map +1 -0
- package/src/lib/content-fields/hubtype-fields/whatsapp-template.d.ts +72 -0
- package/src/lib/content-fields/hubtype-fields/whatsapp-template.js +2 -0
- package/src/lib/content-fields/hubtype-fields/whatsapp-template.js.map +1 -0
- package/{lib/cjs → src/lib}/content-fields/index.d.ts +1 -5
- package/{lib/esm/content-fields/index.d.ts → src/lib/content-fields/index.js} +3 -7
- package/src/lib/content-fields/index.js.map +1 -0
- package/src/lib/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.d.ts +14 -0
- package/src/lib/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.js +38 -0
- package/src/lib/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.js.map +1 -0
- package/{lib/cjs → src/lib}/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.d.ts +6 -5
- package/src/lib/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.js +33 -0
- package/src/lib/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.js.map +1 -0
- package/{lib/cjs → src/lib}/content-fields/whatsapp-button-list/flow-whatsapp-button-list.d.ts +5 -5
- package/src/lib/content-fields/whatsapp-button-list/flow-whatsapp-button-list.js +48 -0
- package/src/lib/content-fields/whatsapp-button-list/flow-whatsapp-button-list.js.map +1 -0
- package/src/lib/filters/index.d.ts +12 -0
- package/src/lib/filters/index.js +16 -0
- package/src/lib/filters/index.js.map +1 -0
- package/{lib/cjs → src/lib}/flow-factory.d.ts +3 -3
- package/src/lib/flow-factory.js +65 -0
- package/src/lib/flow-factory.js.map +1 -0
- package/{lib/esm → src/lib}/functions/index.d.ts +4 -4
- package/src/lib/functions/index.js +47 -0
- package/src/lib/functions/index.js.map +1 -0
- package/src/lib/helpers.d.ts +3 -0
- package/{lib/esm → src/lib}/helpers.js +1 -4
- package/src/lib/helpers.js.map +1 -0
- package/src/lib/index.d.ts +39 -0
- package/src/lib/index.js +158 -0
- package/src/lib/index.js.map +1 -0
- package/src/lib/services/capture-user-input-client.d.ts +16 -0
- package/src/lib/services/capture-user-input-client.js +38 -0
- package/src/lib/services/capture-user-input-client.js.map +1 -0
- package/src/lib/services/flow-client.d.ts +9 -0
- package/src/lib/services/flow-client.js +33 -0
- package/src/lib/services/flow-client.js.map +1 -0
- package/{lib/cjs/services/hubtype-queues-api.d.ts → src/lib/services/hubtype-queues-client.d.ts} +1 -1
- package/src/lib/services/hubtype-queues-client.js +28 -0
- package/src/lib/services/hubtype-queues-client.js.map +1 -0
- package/src/lib/services/smart-intent-client.d.ts +7 -0
- package/src/lib/services/smart-intent-client.js +22 -0
- package/src/lib/services/smart-intent-client.js.map +1 -0
- package/src/lib/tests/helpers/flows/basic.d.ts +2 -0
- package/src/lib/tests/helpers/flows/basic.js +2437 -0
- package/src/lib/tests/helpers/flows/basic.js.map +1 -0
- package/src/lib/tests/helpers/flows/capture-user-input.d.ts +2 -0
- package/src/lib/tests/helpers/flows/capture-user-input.js +354 -0
- package/src/lib/tests/helpers/flows/capture-user-input.js.map +1 -0
- package/src/lib/tests/helpers/flows/whatsapp-template.d.ts +2 -0
- package/src/lib/tests/helpers/flows/whatsapp-template.js +513 -0
- package/src/lib/tests/helpers/flows/whatsapp-template.js.map +1 -0
- package/src/lib/tests/helpers/utils.d.ts +32 -0
- package/src/lib/tests/helpers/utils.js +71 -0
- package/src/lib/tests/helpers/utils.js.map +1 -0
- package/src/lib/tests/mocks/ai-agent-response.d.ts +3 -0
- package/src/lib/tests/mocks/ai-agent-response.js +18 -0
- package/src/lib/tests/mocks/ai-agent-response.js.map +1 -0
- package/src/lib/tests/mocks/capture-user-input-client.d.ts +1 -0
- package/src/lib/tests/mocks/capture-user-input-client.js +12 -0
- package/src/lib/tests/mocks/capture-user-input-client.js.map +1 -0
- package/src/lib/tests/mocks/hubtype-queue-client.d.ts +3 -0
- package/src/lib/tests/mocks/hubtype-queue-client.js +22 -0
- package/src/lib/tests/mocks/hubtype-queue-client.js.map +1 -0
- package/src/lib/tests/mocks/index.d.ts +1 -0
- package/src/lib/tests/mocks/index.js +2 -0
- package/src/lib/tests/mocks/index.js.map +1 -0
- package/src/lib/tests/mocks/smart-intent-client.d.ts +3 -0
- package/src/lib/tests/mocks/smart-intent-client.js +31 -0
- package/src/lib/tests/mocks/smart-intent-client.js.map +1 -0
- package/src/lib/tracking.d.ts +15 -0
- package/src/lib/tracking.js +85 -0
- package/src/lib/tracking.js.map +1 -0
- package/src/lib/types.d.ts +69 -0
- package/src/lib/types.js +11 -0
- package/src/lib/types.js.map +1 -0
- package/src/lib/user-input/capture-user-input.d.ts +10 -0
- package/src/lib/user-input/capture-user-input.js +62 -0
- package/src/lib/user-input/capture-user-input.js.map +1 -0
- package/src/lib/user-input/index.d.ts +4 -0
- package/src/lib/user-input/index.js +38 -0
- package/src/lib/user-input/index.js.map +1 -0
- package/{lib/cjs → src/lib}/user-input/keyword.d.ts +7 -9
- package/src/lib/user-input/keyword.js +86 -0
- package/src/lib/user-input/keyword.js.map +1 -0
- package/{lib/cjs → src/lib}/user-input/smart-intent.d.ts +6 -7
- package/src/lib/user-input/smart-intent.js +69 -0
- package/src/lib/user-input/smart-intent.js.map +1 -0
- package/src/lib/utils.d.ts +4 -0
- package/src/lib/utils.js +16 -0
- package/src/lib/utils.js.map +1 -0
- package/lib/cjs/action/ai-agent/index.d.ts +0 -3
- package/lib/cjs/action/ai-agent/index.js +0 -94
- package/lib/cjs/action/ai-agent/index.js.map +0 -1
- package/lib/cjs/action/ai-agent/structured-output/flow-builder-content.d.ts +0 -16
- package/lib/cjs/action/ai-agent/structured-output/flow-builder-content.js +0 -12
- package/lib/cjs/action/ai-agent/structured-output/flow-builder-content.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 -91
- package/lib/cjs/action/first-interaction.js.map +0 -1
- package/lib/cjs/action/index.d.ts +0 -28
- package/lib/cjs/action/index.js +0 -127
- package/lib/cjs/action/index.js.map +0 -1
- package/lib/cjs/action/knowledge-bases.d.ts +0 -3
- package/lib/cjs/action/knowledge-bases.js +0 -85
- package/lib/cjs/action/knowledge-bases.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 -50
- package/lib/cjs/api.js.map +0 -1
- package/lib/cjs/constants.js +0 -20
- package/lib/cjs/constants.js.map +0 -1
- package/lib/cjs/content-fields/content-fields-base.d.ts +0 -17
- package/lib/cjs/content-fields/content-fields-base.js +0 -66
- package/lib/cjs/content-fields/content-fields-base.js.map +0 -1
- package/lib/cjs/content-fields/flow-ai-agent.d.ts +0 -23
- package/lib/cjs/content-fields/flow-ai-agent.js +0 -53
- package/lib/cjs/content-fields/flow-ai-agent.js.map +0 -1
- package/lib/cjs/content-fields/flow-bot-action.d.ts +0 -12
- package/lib/cjs/content-fields/flow-bot-action.js +0 -39
- package/lib/cjs/content-fields/flow-bot-action.js.map +0 -1
- package/lib/cjs/content-fields/flow-button.js +0 -104
- package/lib/cjs/content-fields/flow-button.js.map +0 -1
- package/lib/cjs/content-fields/flow-capture-user-input.js +0 -43
- package/lib/cjs/content-fields/flow-capture-user-input.js.map +0 -1
- package/lib/cjs/content-fields/flow-carousel.d.ts +0 -21
- package/lib/cjs/content-fields/flow-carousel.js +0 -147
- package/lib/cjs/content-fields/flow-carousel.js.map +0 -1
- package/lib/cjs/content-fields/flow-channel-conditional.d.ts +0 -13
- package/lib/cjs/content-fields/flow-channel-conditional.js +0 -53
- package/lib/cjs/content-fields/flow-channel-conditional.js.map +0 -1
- package/lib/cjs/content-fields/flow-country-conditional.d.ts +0 -12
- package/lib/cjs/content-fields/flow-country-conditional.js +0 -54
- package/lib/cjs/content-fields/flow-country-conditional.js.map +0 -1
- package/lib/cjs/content-fields/flow-custom-conditional.d.ts +0 -16
- package/lib/cjs/content-fields/flow-custom-conditional.js.map +0 -1
- package/lib/cjs/content-fields/flow-element.js +0 -46
- 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 -58
- package/lib/cjs/content-fields/flow-go-to-flow.js.map +0 -1
- package/lib/cjs/content-fields/flow-handoff.js +0 -63
- package/lib/cjs/content-fields/flow-handoff.js.map +0 -1
- package/lib/cjs/content-fields/flow-image.d.ts +0 -9
- package/lib/cjs/content-fields/flow-image.js +0 -28
- package/lib/cjs/content-fields/flow-image.js.map +0 -1
- package/lib/cjs/content-fields/flow-knowledge-base.js +0 -39
- package/lib/cjs/content-fields/flow-knowledge-base.js.map +0 -1
- package/lib/cjs/content-fields/flow-queue-status-conditional.d.ts +0 -29
- package/lib/cjs/content-fields/flow-queue-status-conditional.js +0 -90
- package/lib/cjs/content-fields/flow-queue-status-conditional.js.map +0 -1
- package/lib/cjs/content-fields/flow-rating.d.ts +0 -14
- package/lib/cjs/content-fields/flow-rating.js +0 -61
- 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 -55
- package/lib/cjs/content-fields/flow-text.js.map +0 -1
- package/lib/cjs/content-fields/flow-video.d.ts +0 -9
- package/lib/cjs/content-fields/flow-video.js +0 -28
- package/lib/cjs/content-fields/flow-video.js.map +0 -1
- package/lib/cjs/content-fields/flow-webview.d.ts +0 -11
- package/lib/cjs/content-fields/flow-webview.js +0 -42
- package/lib/cjs/content-fields/flow-webview.js.map +0 -1
- package/lib/cjs/content-fields/flow-whatsapp-cta-url-button.d.ts +0 -19
- package/lib/cjs/content-fields/flow-whatsapp-cta-url-button.js +0 -87
- 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 -29
- package/lib/cjs/content-fields/flow-whatsapp-template.js +0 -183
- package/lib/cjs/content-fields/flow-whatsapp-template.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.js +0 -3
- package/lib/cjs/content-fields/hubtype-fields/channel-conditional.js.map +0 -1
- 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.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.js +0 -3
- package/lib/cjs/content-fields/hubtype-fields/fallback.js.map +0 -1
- 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.js +0 -3
- package/lib/cjs/content-fields/hubtype-fields/image.js.map +0 -1
- package/lib/cjs/content-fields/hubtype-fields/index.js +0 -28
- 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/knowledge-base.d.ts +0 -17
- package/lib/cjs/content-fields/hubtype-fields/knowledge-base.js +0 -3
- package/lib/cjs/content-fields/hubtype-fields/knowledge-base.js.map +0 -1
- package/lib/cjs/content-fields/hubtype-fields/node-types.js +0 -36
- package/lib/cjs/content-fields/hubtype-fields/node-types.js.map +0 -1
- package/lib/cjs/content-fields/hubtype-fields/nodes.d.ts +0 -24
- 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.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 -11
- 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.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 -16
- 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.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 -72
- package/lib/cjs/content-fields/hubtype-fields/whatsapp-template.js +0 -3
- package/lib/cjs/content-fields/hubtype-fields/whatsapp-template.js.map +0 -1
- package/lib/cjs/content-fields/index.js +0 -47
- 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 -13
- package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.js +0 -39
- 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 -34
- 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.js +0 -41
- package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list.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.js +0 -65
- 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/helpers.d.ts +0 -3
- package/lib/cjs/helpers.js +0 -16
- package/lib/cjs/helpers.js.map +0 -1
- package/lib/cjs/index.d.ts +0 -46
- package/lib/cjs/index.js +0 -182
- 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/tracking.d.ts +0 -16
- package/lib/cjs/tracking.js +0 -72
- package/lib/cjs/tracking.js.map +0 -1
- package/lib/cjs/types.d.ts +0 -64
- 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.js +0 -84
- package/lib/cjs/user-input/keyword.js.map +0 -1
- package/lib/cjs/user-input/smart-intent.js +0 -85
- package/lib/cjs/user-input/smart-intent.js.map +0 -1
- package/lib/cjs/utils.d.ts +0 -8
- package/lib/cjs/utils.js +0 -57
- package/lib/cjs/utils.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
- package/lib/esm/action/ai-agent/index.d.ts +0 -3
- package/lib/esm/action/ai-agent/index.js +0 -94
- package/lib/esm/action/ai-agent/index.js.map +0 -1
- package/lib/esm/action/ai-agent/structured-output/flow-builder-content.d.ts +0 -16
- package/lib/esm/action/ai-agent/structured-output/flow-builder-content.js +0 -12
- package/lib/esm/action/ai-agent/structured-output/flow-builder-content.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 -91
- package/lib/esm/action/first-interaction.js.map +0 -1
- package/lib/esm/action/index.d.ts +0 -28
- package/lib/esm/action/index.js +0 -127
- package/lib/esm/action/index.js.map +0 -1
- package/lib/esm/action/knowledge-bases.d.ts +0 -3
- package/lib/esm/action/knowledge-bases.js +0 -85
- package/lib/esm/action/knowledge-bases.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.js +0 -254
- package/lib/esm/api.js.map +0 -1
- package/lib/esm/constants.d.ts +0 -14
- package/lib/esm/constants.js +0 -20
- package/lib/esm/constants.js.map +0 -1
- package/lib/esm/content-fields/content-fields-base.js +0 -66
- package/lib/esm/content-fields/content-fields-base.js.map +0 -1
- package/lib/esm/content-fields/flow-ai-agent.d.ts +0 -23
- package/lib/esm/content-fields/flow-ai-agent.js +0 -53
- package/lib/esm/content-fields/flow-ai-agent.js.map +0 -1
- package/lib/esm/content-fields/flow-bot-action.d.ts +0 -12
- package/lib/esm/content-fields/flow-bot-action.js +0 -39
- package/lib/esm/content-fields/flow-bot-action.js.map +0 -1
- package/lib/esm/content-fields/flow-button.d.ts +0 -31
- package/lib/esm/content-fields/flow-button.js +0 -104
- package/lib/esm/content-fields/flow-button.js.map +0 -1
- package/lib/esm/content-fields/flow-capture-user-input.d.ts +0 -13
- package/lib/esm/content-fields/flow-capture-user-input.js +0 -43
- package/lib/esm/content-fields/flow-capture-user-input.js.map +0 -1
- package/lib/esm/content-fields/flow-carousel.d.ts +0 -21
- package/lib/esm/content-fields/flow-carousel.js +0 -147
- package/lib/esm/content-fields/flow-carousel.js.map +0 -1
- package/lib/esm/content-fields/flow-channel-conditional.d.ts +0 -13
- package/lib/esm/content-fields/flow-channel-conditional.js +0 -53
- package/lib/esm/content-fields/flow-channel-conditional.js.map +0 -1
- package/lib/esm/content-fields/flow-country-conditional.d.ts +0 -12
- package/lib/esm/content-fields/flow-country-conditional.js +0 -54
- package/lib/esm/content-fields/flow-country-conditional.js.map +0 -1
- package/lib/esm/content-fields/flow-custom-conditional.d.ts +0 -16
- package/lib/esm/content-fields/flow-custom-conditional.js +0 -83
- 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 -46
- package/lib/esm/content-fields/flow-element.js.map +0 -1
- package/lib/esm/content-fields/flow-go-to-flow.d.ts +0 -13
- package/lib/esm/content-fields/flow-go-to-flow.js +0 -58
- package/lib/esm/content-fields/flow-go-to-flow.js.map +0 -1
- package/lib/esm/content-fields/flow-handoff.d.ts +0 -16
- package/lib/esm/content-fields/flow-handoff.js +0 -63
- package/lib/esm/content-fields/flow-handoff.js.map +0 -1
- package/lib/esm/content-fields/flow-image.d.ts +0 -9
- package/lib/esm/content-fields/flow-image.js +0 -28
- package/lib/esm/content-fields/flow-image.js.map +0 -1
- package/lib/esm/content-fields/flow-knowledge-base.d.ts +0 -20
- package/lib/esm/content-fields/flow-knowledge-base.js +0 -39
- package/lib/esm/content-fields/flow-knowledge-base.js.map +0 -1
- package/lib/esm/content-fields/flow-queue-status-conditional.js +0 -90
- package/lib/esm/content-fields/flow-queue-status-conditional.js.map +0 -1
- package/lib/esm/content-fields/flow-rating.js +0 -61
- 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 -55
- package/lib/esm/content-fields/flow-text.js.map +0 -1
- package/lib/esm/content-fields/flow-video.d.ts +0 -9
- package/lib/esm/content-fields/flow-video.js +0 -28
- package/lib/esm/content-fields/flow-video.js.map +0 -1
- package/lib/esm/content-fields/flow-webview.js +0 -42
- package/lib/esm/content-fields/flow-webview.js.map +0 -1
- package/lib/esm/content-fields/flow-whatsapp-cta-url-button.js +0 -87
- package/lib/esm/content-fields/flow-whatsapp-cta-url-button.js.map +0 -1
- package/lib/esm/content-fields/flow-whatsapp-template.js +0 -183
- package/lib/esm/content-fields/flow-whatsapp-template.js.map +0 -1
- 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.js +0 -3
- package/lib/esm/content-fields/hubtype-fields/bot-action.js.map +0 -1
- 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.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.d.ts +0 -78
- 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.js +0 -3
- package/lib/esm/content-fields/hubtype-fields/custom-conditional.js.map +0 -1
- package/lib/esm/content-fields/hubtype-fields/fallback.d.ts +0 -11
- 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.d.ts +0 -30
- 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.d.ts +0 -8
- 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.js +0 -28
- package/lib/esm/content-fields/hubtype-fields/index.js.map +0 -1
- 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/knowledge-base.js +0 -3
- package/lib/esm/content-fields/hubtype-fields/knowledge-base.js.map +0 -1
- package/lib/esm/content-fields/hubtype-fields/node-types.d.ts +0 -29
- package/lib/esm/content-fields/hubtype-fields/node-types.js.map +0 -1
- package/lib/esm/content-fields/hubtype-fields/nodes.d.ts +0 -24
- 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.d.ts +0 -23
- 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.js +0 -3
- package/lib/esm/content-fields/hubtype-fields/url.js.map +0 -1
- package/lib/esm/content-fields/hubtype-fields/video.d.ts +0 -8
- 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.d.ts +0 -21
- 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.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-template.d.ts +0 -72
- package/lib/esm/content-fields/hubtype-fields/whatsapp-template.js +0 -3
- package/lib/esm/content-fields/hubtype-fields/whatsapp-template.js.map +0 -1
- package/lib/esm/content-fields/index.js +0 -47
- 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 -13
- package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.js +0 -39
- 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 -12
- package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.js +0 -34
- 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.d.ts +0 -13
- package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list.js +0 -41
- package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list.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 -65
- 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/helpers.d.ts +0 -3
- package/lib/esm/helpers.js.map +0 -1
- package/lib/esm/index.d.ts +0 -46
- package/lib/esm/index.js +0 -182
- 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/tracking.d.ts +0 -16
- package/lib/esm/tracking.js +0 -72
- package/lib/esm/tracking.js.map +0 -1
- package/lib/esm/types.d.ts +0 -64
- package/lib/esm/types.js +0 -14
- package/lib/esm/types.js.map +0 -1
- package/lib/esm/user-input/capture-user-input-api.d.ts +0 -21
- 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.d.ts +0 -4
- 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.d.ts +0 -27
- package/lib/esm/user-input/keyword.js +0 -84
- package/lib/esm/user-input/keyword.js.map +0 -1
- package/lib/esm/user-input/smart-intent.d.ts +0 -23
- package/lib/esm/user-input/smart-intent.js +0 -85
- package/lib/esm/user-input/smart-intent.js.map +0 -1
- package/lib/esm/utils.d.ts +0 -8
- package/lib/esm/utils.js +0 -57
- package/lib/esm/utils.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.d.ts +0 -47
- 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/src/action/ai-agent/index.ts +0 -138
- package/src/action/ai-agent/structured-output/flow-builder-content.ts +0 -17
- package/src/action/fallback.ts +0 -55
- package/src/action/first-interaction.ts +0 -131
- package/src/action/index.tsx +0 -205
- package/src/action/knowledge-bases.ts +0 -161
- package/src/action/payload.ts +0 -104
- package/src/api.ts +0 -364
- package/src/constants.ts +0 -20
- package/src/content-fields/content-fields-base.ts +0 -100
- package/src/content-fields/flow-ai-agent.tsx +0 -70
- package/src/content-fields/flow-bot-action.tsx +0 -52
- package/src/content-fields/flow-button.tsx +0 -165
- package/src/content-fields/flow-capture-user-input.tsx +0 -45
- package/src/content-fields/flow-carousel.tsx +0 -254
- package/src/content-fields/flow-channel-conditional.tsx +0 -65
- package/src/content-fields/flow-country-conditional.tsx +0 -67
- package/src/content-fields/flow-custom-conditional.tsx +0 -117
- package/src/content-fields/flow-element.tsx +0 -79
- package/src/content-fields/flow-go-to-flow.tsx +0 -75
- package/src/content-fields/flow-handoff.tsx +0 -99
- package/src/content-fields/flow-image.tsx +0 -26
- package/src/content-fields/flow-knowledge-base.tsx +0 -51
- package/src/content-fields/flow-queue-status-conditional.tsx +0 -130
- package/src/content-fields/flow-rating.tsx +0 -99
- package/src/content-fields/flow-text.tsx +0 -82
- package/src/content-fields/flow-video.tsx +0 -26
- package/src/content-fields/flow-webview.tsx +0 -46
- package/src/content-fields/flow-whatsapp-cta-url-button.tsx +0 -209
- package/src/content-fields/flow-whatsapp-template.tsx +0 -319
- package/src/content-fields/hubtype-fields/ai-agent.ts +0 -22
- package/src/content-fields/hubtype-fields/bot-action.ts +0 -11
- package/src/content-fields/hubtype-fields/button.ts +0 -9
- package/src/content-fields/hubtype-fields/capture-user-input.ts +0 -21
- package/src/content-fields/hubtype-fields/carousel.ts +0 -19
- package/src/content-fields/hubtype-fields/channel-conditional.ts +0 -11
- package/src/content-fields/hubtype-fields/common.ts +0 -94
- package/src/content-fields/hubtype-fields/country-conditional.ts +0 -11
- package/src/content-fields/hubtype-fields/custom-conditional.ts +0 -12
- package/src/content-fields/hubtype-fields/fallback.ts +0 -12
- package/src/content-fields/hubtype-fields/function.ts +0 -36
- package/src/content-fields/hubtype-fields/go-to-flow.ts +0 -10
- package/src/content-fields/hubtype-fields/handoff.ts +0 -12
- package/src/content-fields/hubtype-fields/image.ts +0 -9
- package/src/content-fields/hubtype-fields/index.ts +0 -24
- package/src/content-fields/hubtype-fields/keyword.ts +0 -10
- package/src/content-fields/hubtype-fields/knowledge-base.ts +0 -18
- package/src/content-fields/hubtype-fields/node-types.ts +0 -31
- package/src/content-fields/hubtype-fields/nodes.ts +0 -54
- package/src/content-fields/hubtype-fields/payload.ts +0 -9
- package/src/content-fields/hubtype-fields/queue-status-conditional.ts +0 -55
- package/src/content-fields/hubtype-fields/rating.ts +0 -26
- package/src/content-fields/hubtype-fields/smart-intent.ts +0 -12
- package/src/content-fields/hubtype-fields/text.ts +0 -12
- package/src/content-fields/hubtype-fields/url.ts +0 -9
- package/src/content-fields/hubtype-fields/video.ts +0 -9
- package/src/content-fields/hubtype-fields/webview.ts +0 -18
- package/src/content-fields/hubtype-fields/whatsapp-button-list.ts +0 -25
- package/src/content-fields/hubtype-fields/whatsapp-cta-url-button.ts +0 -19
- package/src/content-fields/hubtype-fields/whatsapp-template.ts +0 -90
- package/src/content-fields/index.ts +0 -67
- package/src/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.tsx +0 -55
- package/src/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.tsx +0 -51
- package/src/content-fields/whatsapp-button-list/flow-whatsapp-button-list.tsx +0 -78
- package/src/filters/index.ts +0 -27
- package/src/flow-factory.ts +0 -134
- package/src/functions/index.ts +0 -78
- package/src/helpers.ts +0 -25
- package/src/index.ts +0 -301
- package/src/services/hubtype-queues-api.ts +0 -36
- package/src/tracking.ts +0 -118
- package/src/types.ts +0 -117
- package/src/user-input/capture-user-input-api.ts +0 -144
- package/src/user-input/index.ts +0 -61
- package/src/user-input/keyword.ts +0 -134
- package/src/user-input/smart-intent.ts +0 -119
- package/src/utils.ts +0 -66
- package/src/webview/contents-context.ts +0 -11
- package/src/webview/index.ts +0 -3
- package/src/webview/types.ts +0 -52
- package/src/webview/use-webview-contents.ts +0 -120
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function mockCaptureUserInputResponse(success: boolean, value?: string): void;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { vi } from 'vitest';
|
|
2
|
+
import { CaptureUserInputClient, } from '../../services/capture-user-input-client';
|
|
3
|
+
export function mockCaptureUserInputResponse(success, value) {
|
|
4
|
+
vi.mocked(CaptureUserInputClient).mockImplementation(function () {
|
|
5
|
+
return {
|
|
6
|
+
getCaptureUserInputResponse: vi.fn(() => Promise.resolve(success
|
|
7
|
+
? { success: true, value: value }
|
|
8
|
+
: { success: false })),
|
|
9
|
+
};
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=capture-user-input-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capture-user-input-client.js","sourceRoot":"","sources":["../../../../../../../../libs/botonic/plugin-flow-builder/src/lib/tests/mocks/capture-user-input-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAE3B,OAAO,EAEL,sBAAsB,GACvB,MAAM,0CAA0C,CAAA;AAEjD,MAAM,UAAU,4BAA4B,CAC1C,OAAgB,EAChB,KAAc;IAEd,EAAE,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,kBAAkB,CAAC;QACnD,OAAO;YACL,2BAA2B,EAAE,EAAE,CAAC,EAAE,CAChC,GAA+B,EAAE,CAC/B,OAAO,CAAC,OAAO,CACb,OAAO;gBACL,CAAC,CAAC,EAAE,OAAO,EAAE,IAAa,EAAE,KAAK,EAAE,KAAM,EAAE;gBAC3C,CAAC,CAAC,EAAE,OAAO,EAAE,KAAc,EAAE,CAChC,CACJ;SACmC,CAAA;IACxC,CAAC,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { AvailabilityData, HubtypeQueuesClient } from '../../services/hubtype-queues-client';
|
|
2
|
+
export declare function createMockHubtypeQueuesClient(availabilityData?: Partial<AvailabilityData>): HubtypeQueuesClient;
|
|
3
|
+
export declare function mockHubtypeQueues(availabilityData?: Partial<AvailabilityData>): void;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { vi } from 'vitest';
|
|
2
|
+
import { HubtypeQueuesClient, } from '../../services/hubtype-queues-client';
|
|
3
|
+
export function createMockHubtypeQueuesClient(availabilityData) {
|
|
4
|
+
const mockResponse = Object.assign({ available: true, waiting_cases: 0, availability_threshold_waiting_cases: 10, open: true, name: 'queue_mocked', available_agents: 5 }, availabilityData);
|
|
5
|
+
const mockGetAvailability = vi.fn(() => Promise.resolve(mockResponse));
|
|
6
|
+
const mockClient = {
|
|
7
|
+
queueId: 'queue-id-mocked',
|
|
8
|
+
checkAvailableAgents: false,
|
|
9
|
+
getAvailability: mockGetAvailability,
|
|
10
|
+
};
|
|
11
|
+
return mockClient;
|
|
12
|
+
}
|
|
13
|
+
export function mockHubtypeQueues(availabilityData) {
|
|
14
|
+
vi.mocked(HubtypeQueuesClient).mockImplementation(function (
|
|
15
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
16
|
+
queueId,
|
|
17
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
18
|
+
checkAvailableAgents) {
|
|
19
|
+
return createMockHubtypeQueuesClient(availabilityData);
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=hubtype-queue-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hubtype-queue-client.js","sourceRoot":"","sources":["../../../../../../../../libs/botonic/plugin-flow-builder/src/lib/tests/mocks/hubtype-queue-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAE3B,OAAO,EAEL,mBAAmB,GACpB,MAAM,sCAAsC,CAAA;AAE7C,MAAM,UAAU,6BAA6B,CAC3C,gBAA4C;IAE5C,MAAM,YAAY,mBAChB,SAAS,EAAE,IAAI,EACf,aAAa,EAAE,CAAC,EAChB,oCAAoC,EAAE,EAAE,EACxC,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,cAAc,EACpB,gBAAgB,EAAE,CAAC,IAChB,gBAAgB,CACpB,CAAA;IAED,MAAM,mBAAmB,GAAG,EAAE,CAAC,EAAE,CAC/B,GAA8B,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAC/D,CAAA;IAED,MAAM,UAAU,GAAG;QACjB,OAAO,EAAE,iBAAiB;QAC1B,oBAAoB,EAAE,KAAK;QAC3B,eAAe,EAAE,mBAAmB;KACd,CAAA;IAExB,OAAO,UAAU,CAAA;AACnB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,gBAA4C;IAE5C,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,kBAAkB,CAAC;IAChD,6DAA6D;IAC7D,OAAe;IACf,6DAA6D;IAC7D,oBAA8B;QAE9B,OAAO,6BAA6B,CAAC,gBAAgB,CAAC,CAAA;IACxD,CAAC,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './smart-intent-client';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../libs/botonic/plugin-flow-builder/src/lib/tests/mocks/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAA"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { vi } from 'vitest';
|
|
2
|
+
import { SmartIntentClient } from '../../services/smart-intent-client';
|
|
3
|
+
export function createMockSmartIntentClient(intentName) {
|
|
4
|
+
const mockResponse = {
|
|
5
|
+
smart_intent_title: intentName,
|
|
6
|
+
text: 'text_mocked',
|
|
7
|
+
smart_intents_used: [
|
|
8
|
+
{
|
|
9
|
+
title: intentName,
|
|
10
|
+
description: 'DescriptionTest',
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
title: 'Other',
|
|
14
|
+
description: 'OtherDescriptionTest',
|
|
15
|
+
},
|
|
16
|
+
],
|
|
17
|
+
};
|
|
18
|
+
const mockGetInference = vi.fn(() => Promise.resolve(mockResponse));
|
|
19
|
+
const mockClient = {
|
|
20
|
+
botContext: {},
|
|
21
|
+
getInference: mockGetInference,
|
|
22
|
+
};
|
|
23
|
+
return mockClient;
|
|
24
|
+
}
|
|
25
|
+
export function mockSmartIntent(intentName = 'Other') {
|
|
26
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
27
|
+
vi.mocked(SmartIntentClient).mockImplementation(function (_botContext) {
|
|
28
|
+
return createMockSmartIntentClient(intentName);
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=smart-intent-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"smart-intent-client.js","sourceRoot":"","sources":["../../../../../../../../libs/botonic/plugin-flow-builder/src/lib/tests/mocks/smart-intent-client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAE3B,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAA;AAGtE,MAAM,UAAU,2BAA2B,CACzC,UAAkB;IAElB,MAAM,YAAY,GAAwB;QACxC,kBAAkB,EAAE,UAAU;QAC9B,IAAI,EAAE,aAAa;QACnB,kBAAkB,EAAE;YAClB;gBACE,KAAK,EAAE,UAAU;gBACjB,WAAW,EAAE,iBAAiB;aAC/B;YACD;gBACE,KAAK,EAAE,OAAO;gBACd,WAAW,EAAE,sBAAsB;aACpC;SACF;KACF,CAAA;IAED,MAAM,gBAAgB,GAAG,EAAE,CAAC,EAAE,CAC5B,GAAiC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAClE,CAAA;IAED,MAAM,UAAU,GAAG;QACjB,UAAU,EAAE,EAAgB;QAC5B,YAAY,EAAE,gBAAgB;KACV,CAAA;IAEtB,OAAO,UAAU,CAAA;AACnB,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,UAAU,GAAG,OAAO;IAClD,6DAA6D;IAC7D,EAAE,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,kBAAkB,CAAC,UAC9C,WAAuB;QAEvB,OAAO,2BAA2B,CAAC,UAAU,CAAC,CAAA;IAChD,CAAC,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { BotContext, EventAction, HtEventProps } from '@botonic/shared';
|
|
2
|
+
import { FlowBuilderApi } from './api';
|
|
3
|
+
import { FlowContent } from './content-fields';
|
|
4
|
+
export declare function trackEvent(botContext: BotContext, eventAction: EventAction, args?: Omit<HtEventProps, 'action'>): Promise<void>;
|
|
5
|
+
export declare function trackFlowContent(botContext: BotContext, contents: FlowContent[]): Promise<void>;
|
|
6
|
+
export declare function trackOneContent(botContext: BotContext, content: FlowContent, cmsApi?: FlowBuilderApi): Promise<void>;
|
|
7
|
+
type CommonFlowContentEventArgs = {
|
|
8
|
+
flowThreadId: string;
|
|
9
|
+
flowId: string;
|
|
10
|
+
flowName: string;
|
|
11
|
+
flowNodeId: string;
|
|
12
|
+
flowNodeContentId: string;
|
|
13
|
+
};
|
|
14
|
+
export declare function getCommonFlowContentEventArgsForContentId(botContext: BotContext, id: string): Promise<CommonFlowContentEventArgs>;
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { __awaiter, __rest } from "tslib";
|
|
2
|
+
import { EventAction, } from '@botonic/shared';
|
|
3
|
+
import { v7 as uuidv7 } from 'uuid';
|
|
4
|
+
import { HtNodeWithContentType, } from './content-fields/hubtype-fields';
|
|
5
|
+
import { getFlowBuilderPlugin } from './helpers';
|
|
6
|
+
export function trackEvent(botContext, eventAction, args) {
|
|
7
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
8
|
+
const flowBuilderPlugin = getFlowBuilderPlugin(botContext.plugins);
|
|
9
|
+
if (flowBuilderPlugin.trackEvent) {
|
|
10
|
+
yield flowBuilderPlugin.trackEvent(botContext, eventAction, args !== null && args !== void 0 ? args : {});
|
|
11
|
+
}
|
|
12
|
+
return;
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
export function trackFlowContent(botContext, contents) {
|
|
16
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
17
|
+
const flowBuilderPlugin = getFlowBuilderPlugin(botContext.plugins);
|
|
18
|
+
const cmsApi = flowBuilderPlugin.cmsApi;
|
|
19
|
+
for (const content of contents) {
|
|
20
|
+
yield trackOneContent(botContext, content, cmsApi);
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
export function trackOneContent(botContext, content, cmsApi) {
|
|
25
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
26
|
+
if (!cmsApi) {
|
|
27
|
+
const flowBuilderPlugin = getFlowBuilderPlugin(botContext.plugins);
|
|
28
|
+
cmsApi = flowBuilderPlugin.cmsApi;
|
|
29
|
+
}
|
|
30
|
+
const nodeContent = cmsApi.getNodeById(content.id);
|
|
31
|
+
if (nodeContent.type !== HtNodeWithContentType.KNOWLEDGE_BASE &&
|
|
32
|
+
nodeContent.type !== HtNodeWithContentType.AI_AGENT) {
|
|
33
|
+
const event = yield getContentEventArgs(botContext, nodeContent);
|
|
34
|
+
const { action } = event, eventArgs = __rest(event, ["action"]);
|
|
35
|
+
yield trackEvent(botContext, action, eventArgs);
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
function setSessionFlowThreadId(botContext, flowThreadId) {
|
|
40
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
41
|
+
if (botContext.session.flowThreadId !== flowThreadId) {
|
|
42
|
+
yield botContext.updateBotSession({ flowThreadId });
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
function getContentEventArgs(botContext, nodeContent) {
|
|
47
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
48
|
+
var _a;
|
|
49
|
+
const { flowThreadId, flowId, flowName, flowNodeId, flowNodeContentId } = yield getCommonFlowContentEventArgs(botContext, nodeContent);
|
|
50
|
+
return {
|
|
51
|
+
action: EventAction.FlowNode,
|
|
52
|
+
flowId,
|
|
53
|
+
flowName,
|
|
54
|
+
flowNodeId,
|
|
55
|
+
flowNodeContentId,
|
|
56
|
+
flowThreadId,
|
|
57
|
+
flowNodeIsMeaningful: (_a = nodeContent.is_meaningful) !== null && _a !== void 0 ? _a : false,
|
|
58
|
+
};
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
function getCommonFlowContentEventArgs(botContext, nodeContent) {
|
|
62
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
63
|
+
var _a;
|
|
64
|
+
const flowBuilderPlugin = getFlowBuilderPlugin(botContext.plugins);
|
|
65
|
+
const flowName = flowBuilderPlugin.getFlowName(nodeContent.flow_id);
|
|
66
|
+
const flowThreadId = (_a = botContext.session.flowThreadId) !== null && _a !== void 0 ? _a : uuidv7();
|
|
67
|
+
yield setSessionFlowThreadId(botContext, flowThreadId);
|
|
68
|
+
return {
|
|
69
|
+
flowThreadId,
|
|
70
|
+
flowId: nodeContent.flow_id,
|
|
71
|
+
flowName,
|
|
72
|
+
flowNodeId: nodeContent.id,
|
|
73
|
+
flowNodeContentId: nodeContent.code,
|
|
74
|
+
};
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
export function getCommonFlowContentEventArgsForContentId(botContext, id) {
|
|
78
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
79
|
+
const flowBuilderPlugin = getFlowBuilderPlugin(botContext.plugins);
|
|
80
|
+
const cmsApi = flowBuilderPlugin.cmsApi;
|
|
81
|
+
const nodeContent = cmsApi.getNodeById(id);
|
|
82
|
+
return yield getCommonFlowContentEventArgs(botContext, nodeContent);
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=tracking.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tracking.js","sourceRoot":"","sources":["../../../../../../libs/botonic/plugin-flow-builder/src/lib/tracking.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import type { AiAgentArgs, BotContext, EventAction, HtEventProps, InferenceResponse, ResolvedPlugins, UserExtraData } from '@botonic/shared';
|
|
2
|
+
import { FlowContent } from './content-fields';
|
|
3
|
+
import { HtFlowBuilderData, HtRatingButton } from './content-fields/hubtype-fields/index';
|
|
4
|
+
export declare enum ProcessEnvNodeEnvs {
|
|
5
|
+
PRODUCTION = "production",
|
|
6
|
+
DEVELOPMENT = "development"
|
|
7
|
+
}
|
|
8
|
+
export declare enum FlowBuilderJSONVersion {
|
|
9
|
+
DRAFT = "draft",
|
|
10
|
+
LATEST = "latest"
|
|
11
|
+
}
|
|
12
|
+
export interface KnowledgeBaseResponse {
|
|
13
|
+
inferenceId: string;
|
|
14
|
+
hasKnowledge: boolean;
|
|
15
|
+
isFaithful: boolean;
|
|
16
|
+
chunkIds: string[];
|
|
17
|
+
answer: string;
|
|
18
|
+
}
|
|
19
|
+
export type AiAgentFunction<TPlugins extends ResolvedPlugins = ResolvedPlugins, TExtraData extends UserExtraData = UserExtraData> = (context: BotContext<TPlugins, TExtraData>, aiAgentArgs: AiAgentArgs) => Promise<InferenceResponse>;
|
|
20
|
+
export type TrackEventFunction<TPlugins extends ResolvedPlugins = ResolvedPlugins, TExtraData extends UserExtraData = UserExtraData> = (context: BotContext<TPlugins, TExtraData>, eventAction: EventAction, args: Omit<HtEventProps, 'action'>) => Promise<void>;
|
|
21
|
+
export type KnowledgeBaseFunction<TPlugins extends ResolvedPlugins = ResolvedPlugins, TExtraData extends UserExtraData = UserExtraData> = (context: BotContext<TPlugins, TExtraData>, sources: string[], instructions: string, messageId: string, memoryLength: number) => Promise<KnowledgeBaseResponse>;
|
|
22
|
+
export interface BotonicPluginFlowBuilderOptions<TPlugins extends ResolvedPlugins = ResolvedPlugins, TExtraData extends UserExtraData = UserExtraData> {
|
|
23
|
+
apiUrl?: string;
|
|
24
|
+
flowVersion?: FlowBuilderJSONVersion;
|
|
25
|
+
flow?: HtFlowBuilderData;
|
|
26
|
+
customFunctions?: Record<any, any>;
|
|
27
|
+
trackEvent?: TrackEventFunction<TPlugins, TExtraData>;
|
|
28
|
+
getKnowledgeBaseResponse?: KnowledgeBaseFunction<TPlugins, TExtraData>;
|
|
29
|
+
getAiAgentResponse?: AiAgentFunction<TPlugins, TExtraData>;
|
|
30
|
+
smartIntentsConfig?: {
|
|
31
|
+
numSmartIntentsToUse: number;
|
|
32
|
+
};
|
|
33
|
+
contentFilters?: ContentFilter<TPlugins, TExtraData>[];
|
|
34
|
+
inShadowing?: Partial<InShadowingConfig>;
|
|
35
|
+
customRatingMessageEnabled?: boolean;
|
|
36
|
+
disableAIAgentInFirstInteraction?: boolean;
|
|
37
|
+
}
|
|
38
|
+
export interface InShadowingConfig {
|
|
39
|
+
allowKeywords: boolean;
|
|
40
|
+
allowSmartIntents: boolean;
|
|
41
|
+
allowKnowledgeBases: boolean;
|
|
42
|
+
}
|
|
43
|
+
export interface SmartIntentsInferenceConfig {
|
|
44
|
+
useLatest: boolean;
|
|
45
|
+
numSmartIntentsToUse?: number;
|
|
46
|
+
}
|
|
47
|
+
export interface SmartIntentsInferenceRequestData {
|
|
48
|
+
bot_id: string;
|
|
49
|
+
text: string;
|
|
50
|
+
num_smart_intents_to_use?: number;
|
|
51
|
+
use_latest: boolean;
|
|
52
|
+
}
|
|
53
|
+
export interface SmartIntentResponse {
|
|
54
|
+
smart_intent_title: string;
|
|
55
|
+
text: string;
|
|
56
|
+
smart_intents_used: {
|
|
57
|
+
title: string;
|
|
58
|
+
description: string;
|
|
59
|
+
}[];
|
|
60
|
+
}
|
|
61
|
+
export interface PayloadParamsBase {
|
|
62
|
+
followUpContentID?: string;
|
|
63
|
+
}
|
|
64
|
+
export type ContentFilter<TPlugins extends ResolvedPlugins = ResolvedPlugins, TExtraData extends UserExtraData = UserExtraData> = (context: BotContext<TPlugins, TExtraData>, content: FlowContent) => Promise<FlowContent> | FlowContent;
|
|
65
|
+
export type { HtFlowBuilderData };
|
|
66
|
+
export interface RatingSubmittedInfo extends HtRatingButton {
|
|
67
|
+
possibleOptions: string[];
|
|
68
|
+
possibleValues: number[];
|
|
69
|
+
}
|
package/src/lib/types.js
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export var ProcessEnvNodeEnvs;
|
|
2
|
+
(function (ProcessEnvNodeEnvs) {
|
|
3
|
+
ProcessEnvNodeEnvs["PRODUCTION"] = "production";
|
|
4
|
+
ProcessEnvNodeEnvs["DEVELOPMENT"] = "development";
|
|
5
|
+
})(ProcessEnvNodeEnvs || (ProcessEnvNodeEnvs = {}));
|
|
6
|
+
export var FlowBuilderJSONVersion;
|
|
7
|
+
(function (FlowBuilderJSONVersion) {
|
|
8
|
+
FlowBuilderJSONVersion["DRAFT"] = "draft";
|
|
9
|
+
FlowBuilderJSONVersion["LATEST"] = "latest";
|
|
10
|
+
})(FlowBuilderJSONVersion || (FlowBuilderJSONVersion = {}));
|
|
11
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../libs/botonic/plugin-flow-builder/src/lib/types.ts"],"names":[],"mappings":"AAiBA,MAAM,CAAN,IAAY,kBAGX;AAHD,WAAY,kBAAkB;IAC5B,+CAAyB,CAAA;IACzB,iDAA2B,CAAA;AAC7B,CAAC,EAHW,kBAAkB,KAAlB,kBAAkB,QAG7B;AAED,MAAM,CAAN,IAAY,sBAGX;AAHD,WAAY,sBAAsB;IAChC,yCAAe,CAAA;IACf,2CAAiB,CAAA;AACnB,CAAC,EAHW,sBAAsB,KAAtB,sBAAsB,QAGjC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { BotContext } from '@botonic/shared';
|
|
2
|
+
import { FlowBuilderApi } from '../api';
|
|
3
|
+
import { HtCaptureUserInputNode } from '../content-fields/hubtype-fields';
|
|
4
|
+
export declare class CaptureUserInputApi {
|
|
5
|
+
private cmsApi;
|
|
6
|
+
private botContext;
|
|
7
|
+
constructor(cmsApi: FlowBuilderApi, botContext: BotContext);
|
|
8
|
+
getNextNodeId(): Promise<string | undefined>;
|
|
9
|
+
trackUserInputCapture(captureUserInputNode: HtCaptureUserInputNode, captureSuccess: boolean): Promise<void>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { __awaiter, __rest } from "tslib";
|
|
2
|
+
import { EventAction } from '@botonic/shared';
|
|
3
|
+
import { FlowCaptureUserInput } from '../content-fields';
|
|
4
|
+
import { HtAiValidationType, } from '../content-fields/hubtype-fields';
|
|
5
|
+
import { CaptureUserInputClient } from '../services/capture-user-input-client';
|
|
6
|
+
import { getCommonFlowContentEventArgsForContentId, trackEvent, } from '../tracking';
|
|
7
|
+
export class CaptureUserInputApi {
|
|
8
|
+
constructor(cmsApi, botContext) {
|
|
9
|
+
this.cmsApi = cmsApi;
|
|
10
|
+
this.botContext = botContext;
|
|
11
|
+
}
|
|
12
|
+
getNextNodeId() {
|
|
13
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
14
|
+
var _a;
|
|
15
|
+
if (this.botContext.input.hasInputText() &&
|
|
16
|
+
this.cmsApi.shouldCaptureUserInput()) {
|
|
17
|
+
const captureUserInputNode = this.cmsApi.getCaptureUserInputNode();
|
|
18
|
+
if (!captureUserInputNode) {
|
|
19
|
+
return undefined;
|
|
20
|
+
}
|
|
21
|
+
const captureUserInput = FlowCaptureUserInput.fromHubtypeCMS(captureUserInputNode);
|
|
22
|
+
if (captureUserInput.aiValidationType === HtAiValidationType.NONE) {
|
|
23
|
+
yield this.cmsApi.setUserExtraDataVariable(captureUserInputNode.content.field_name, (_a = this.botContext.input.text) !== null && _a !== void 0 ? _a : '');
|
|
24
|
+
yield this.trackUserInputCapture(captureUserInputNode, true);
|
|
25
|
+
return captureUserInput.captureSuccessId;
|
|
26
|
+
}
|
|
27
|
+
const client = new CaptureUserInputClient(this.botContext);
|
|
28
|
+
const aiCaptureResponse = yield client.getCaptureUserInputResponse(captureUserInputNode);
|
|
29
|
+
if (!aiCaptureResponse.success) {
|
|
30
|
+
yield this.trackUserInputCapture(captureUserInputNode, false);
|
|
31
|
+
return captureUserInput.captureFailId;
|
|
32
|
+
}
|
|
33
|
+
yield this.cmsApi.setUserExtraDataVariable(captureUserInputNode.content.field_name, aiCaptureResponse.value);
|
|
34
|
+
yield this.trackUserInputCapture(captureUserInputNode, true);
|
|
35
|
+
return captureUserInput.captureSuccessId;
|
|
36
|
+
}
|
|
37
|
+
return undefined;
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
trackUserInputCapture(captureUserInputNode, captureSuccess) {
|
|
41
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
42
|
+
var _a, _b;
|
|
43
|
+
const { flowThreadId, flowId, flowName, flowNodeId, flowNodeContentId } = yield getCommonFlowContentEventArgsForContentId(this.botContext, captureUserInputNode.id);
|
|
44
|
+
const event = {
|
|
45
|
+
action: EventAction.CaptureUserInput,
|
|
46
|
+
flowThreadId,
|
|
47
|
+
flowId,
|
|
48
|
+
flowName,
|
|
49
|
+
flowNodeId,
|
|
50
|
+
flowNodeContentId,
|
|
51
|
+
flowNodeIsMeaningful: false,
|
|
52
|
+
fieldName: captureUserInputNode.content.field_name,
|
|
53
|
+
userInput: (_a = this.botContext.input.text) !== null && _a !== void 0 ? _a : '',
|
|
54
|
+
captureSuccess,
|
|
55
|
+
messageId: (_b = this.botContext.input.messageId) !== null && _b !== void 0 ? _b : '',
|
|
56
|
+
};
|
|
57
|
+
const { action } = event, eventArgs = __rest(event, ["action"]);
|
|
58
|
+
yield trackEvent(this.botContext, action, eventArgs);
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=capture-user-input.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capture-user-input.js","sourceRoot":"","sources":["../../../../../../../libs/botonic/plugin-flow-builder/src/lib/user-input/capture-user-input.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { BotContext } from '@botonic/shared';
|
|
2
|
+
import { FlowBuilderApi } from '../api';
|
|
3
|
+
import { SmartIntentsInferenceConfig } from '../types';
|
|
4
|
+
export declare function getNextPayloadByUserInput(cmsApi: FlowBuilderApi, locale: string, botContext: BotContext, smartIntentsConfig: SmartIntentsInferenceConfig): Promise<string | undefined>;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { __awaiter } from "tslib";
|
|
2
|
+
import { isKeywordsAllowed, isSmartIntentsAllowed } from '../utils';
|
|
3
|
+
import { CaptureUserInputApi } from './capture-user-input';
|
|
4
|
+
import { KeywordMatcher } from './keyword';
|
|
5
|
+
import { SmartIntentsApi } from './smart-intent';
|
|
6
|
+
export function getNextPayloadByUserInput(cmsApi, locale, botContext, smartIntentsConfig) {
|
|
7
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
8
|
+
if (botContext.input.hasInputText()) {
|
|
9
|
+
if (cmsApi.shouldCaptureUserInput()) {
|
|
10
|
+
const captureUserInputApi = new CaptureUserInputApi(cmsApi, botContext);
|
|
11
|
+
return yield captureUserInputApi.getNextNodeId();
|
|
12
|
+
}
|
|
13
|
+
if (isKeywordsAllowed(botContext)) {
|
|
14
|
+
const keywordMatcher = new KeywordMatcher({
|
|
15
|
+
cmsApi,
|
|
16
|
+
locale,
|
|
17
|
+
botContext,
|
|
18
|
+
});
|
|
19
|
+
const text = botContext.input.text;
|
|
20
|
+
const keywordNode = text
|
|
21
|
+
? yield keywordMatcher.getNodeByInput(text)
|
|
22
|
+
: undefined;
|
|
23
|
+
if (keywordNode) {
|
|
24
|
+
return cmsApi.getPayload(keywordNode.target);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
if (isSmartIntentsAllowed(botContext)) {
|
|
28
|
+
const smartIntentsApi = new SmartIntentsApi(cmsApi, botContext, smartIntentsConfig);
|
|
29
|
+
const smartIntentNode = yield smartIntentsApi.getNodeByInput();
|
|
30
|
+
if (smartIntentNode) {
|
|
31
|
+
return cmsApi.getPayload(smartIntentNode.target);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
return undefined;
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../libs/botonic/plugin-flow-builder/src/lib/user-input/index.ts"],"names":[],"mappings":";AAIA,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAA;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAEhD,MAAM,UAAgB,yBAAyB,CAC7C,MAAsB,EACtB,MAAc,EACd,UAAsB,EACtB,kBAA+C;;QAE/C,IAAI,UAAU,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,CAAC;YACpC,IAAI,MAAM,CAAC,sBAAsB,EAAE,EAAE,CAAC;gBACpC,MAAM,mBAAmB,GAAG,IAAI,mBAAmB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;gBACvE,OAAO,MAAM,mBAAmB,CAAC,aAAa,EAAE,CAAA;YAClD,CAAC;YAED,IAAI,iBAAiB,CAAC,UAAU,CAAC,EAAE,CAAC;gBAClC,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC;oBACxC,MAAM;oBACN,MAAM;oBACN,UAAU;iBACX,CAAC,CAAA;gBACF,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAA;gBAClC,MAAM,WAAW,GAAG,IAAI;oBACtB,CAAC,CAAC,MAAM,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC;oBAC3C,CAAC,CAAC,SAAS,CAAA;gBACb,IAAI,WAAW,EAAE,CAAC;oBAChB,OAAO,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;gBAC9C,CAAC;YACH,CAAC;YAED,IAAI,qBAAqB,CAAC,UAAU,CAAC,EAAE,CAAC;gBACtC,MAAM,eAAe,GAAG,IAAI,eAAe,CACzC,MAAM,EACN,UAAU,EACV,kBAAkB,CACnB,CAAA;gBACD,MAAM,eAAe,GAAG,MAAM,eAAe,CAAC,cAAc,EAAE,CAAA;gBAC9D,IAAI,eAAe,EAAE,CAAC;oBACpB,OAAO,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,MAAM,CAAC,CAAA;gBAClD,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,SAAS,CAAA;IAClB,CAAC;CAAA"}
|
|
@@ -1,23 +1,21 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
1
|
+
import { BotContext } from '@botonic/shared';
|
|
2
|
+
import { FlowBuilderApi } from '../api';
|
|
3
|
+
import { HtKeywordNode } from '../content-fields/hubtype-fields/index';
|
|
4
4
|
interface KeywordProps {
|
|
5
5
|
cmsApi: FlowBuilderApi;
|
|
6
6
|
locale: string;
|
|
7
|
-
|
|
8
|
-
userTextOrTranscript: string;
|
|
7
|
+
botContext: BotContext;
|
|
9
8
|
}
|
|
10
9
|
export declare class KeywordMatcher {
|
|
11
10
|
cmsApi: FlowBuilderApi;
|
|
12
11
|
locale: string;
|
|
13
|
-
|
|
12
|
+
botContext: BotContext;
|
|
14
13
|
isRegExp: boolean;
|
|
15
14
|
matchedKeyword?: string;
|
|
16
15
|
keywordNodeId?: string;
|
|
17
16
|
flowId?: string;
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
getNodeByInput(): Promise<HtKeywordNode | undefined>;
|
|
17
|
+
constructor({ cmsApi, locale, botContext }: KeywordProps);
|
|
18
|
+
getNodeByInput(userInput: string): Promise<HtKeywordNode | undefined>;
|
|
21
19
|
private getNodeByKeyword;
|
|
22
20
|
private matchKeywords;
|
|
23
21
|
private inputMatchesAnyKeyword;
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { __awaiter, __rest } from "tslib";
|
|
2
|
+
import { NluType } from '@botonic/shared';
|
|
3
|
+
import { EventAction } from '@botonic/shared';
|
|
4
|
+
import { REG_EXP_PATTERN } from '../constants';
|
|
5
|
+
import { getCommonFlowContentEventArgsForContentId, trackEvent, } from '../tracking';
|
|
6
|
+
export class KeywordMatcher {
|
|
7
|
+
constructor({ cmsApi, locale, botContext }) {
|
|
8
|
+
this.cmsApi = cmsApi;
|
|
9
|
+
this.locale = locale;
|
|
10
|
+
this.botContext = botContext;
|
|
11
|
+
this.isRegExp = false;
|
|
12
|
+
}
|
|
13
|
+
getNodeByInput(userInput) {
|
|
14
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
15
|
+
const keywordNodes = this.cmsApi.getKeywordNodes();
|
|
16
|
+
const keywordNode = this.getNodeByKeyword(userInput, keywordNodes);
|
|
17
|
+
if (!keywordNode || !this.matchedKeyword) {
|
|
18
|
+
return undefined;
|
|
19
|
+
}
|
|
20
|
+
const targetPayload = this.cmsApi.getPayload(keywordNode.target);
|
|
21
|
+
this.botContext.input.nluResolution = {
|
|
22
|
+
type: NluType.Keyword,
|
|
23
|
+
matchedValue: this.matchedKeyword,
|
|
24
|
+
payload: targetPayload,
|
|
25
|
+
};
|
|
26
|
+
yield this.trackKeywordEvent();
|
|
27
|
+
return keywordNode;
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
getNodeByKeyword(userInput, keywordNodes) {
|
|
31
|
+
const matchedKeywordNode = keywordNodes.find(node => this.matchKeywords(userInput, node));
|
|
32
|
+
return (matchedKeywordNode === null || matchedKeywordNode === void 0 ? void 0 : 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(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
|
+
trackKeywordEvent() {
|
|
66
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
67
|
+
var _a, _b;
|
|
68
|
+
const { flowId, flowName, flowNodeId, flowNodeContentId } = yield getCommonFlowContentEventArgsForContentId(this.botContext, this.keywordNodeId);
|
|
69
|
+
const event = {
|
|
70
|
+
action: EventAction.Keyword,
|
|
71
|
+
flowNodeId,
|
|
72
|
+
flowId,
|
|
73
|
+
flowName,
|
|
74
|
+
flowNodeContentId,
|
|
75
|
+
flowThreadId: this.botContext.session.flowThreadId,
|
|
76
|
+
nluKeywordName: this.matchedKeyword,
|
|
77
|
+
nluKeywordIsRegex: this.isRegExp,
|
|
78
|
+
nluKeywordMessageId: (_a = this.botContext.input.messageId) !== null && _a !== void 0 ? _a : '',
|
|
79
|
+
userInput: (_b = this.botContext.input.text) !== null && _b !== void 0 ? _b : '',
|
|
80
|
+
};
|
|
81
|
+
const { action } = event, eventArgs = __rest(event, ["action"]);
|
|
82
|
+
yield trackEvent(this.botContext, action, eventArgs);
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=keyword.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keyword.js","sourceRoot":"","sources":["../../../../../../../libs/botonic/plugin-flow-builder/src/lib/user-input/keyword.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
1
|
+
import { BotContext } from '@botonic/shared';
|
|
2
|
+
import { FlowBuilderApi } from '../api';
|
|
3
|
+
import { HtSmartIntentNode } from '../content-fields/hubtype-fields/smart-intent';
|
|
4
4
|
export interface SmartIntentsInferenceParams {
|
|
5
5
|
bot_id: string;
|
|
6
6
|
text: string;
|
|
@@ -13,11 +13,10 @@ export interface SmartIntentsInferenceConfig {
|
|
|
13
13
|
}
|
|
14
14
|
export declare class SmartIntentsApi {
|
|
15
15
|
cmsApi: FlowBuilderApi;
|
|
16
|
-
|
|
16
|
+
botContext: BotContext;
|
|
17
17
|
smartIntentsConfig: SmartIntentsInferenceConfig;
|
|
18
|
-
|
|
19
|
-
constructor(cmsApi: FlowBuilderApi,
|
|
18
|
+
flowId?: string | undefined;
|
|
19
|
+
constructor(cmsApi: FlowBuilderApi, botContext: BotContext, smartIntentsConfig: SmartIntentsInferenceConfig, flowId?: string | undefined);
|
|
20
20
|
getNodeByInput(): Promise<HtSmartIntentNode | undefined>;
|
|
21
21
|
private resolveUseLatest;
|
|
22
|
-
private getInference;
|
|
23
22
|
}
|