@thoughtspot/visual-embed-sdk 1.33.0-alpha.1 → 1.33.0-dc.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/cjs/package.json +12 -28
- package/cjs/src/auth.d.ts +0 -1
- package/cjs/src/auth.d.ts.map +1 -1
- package/cjs/src/auth.js +7 -7
- package/cjs/src/auth.js.map +1 -1
- package/cjs/src/auth.spec.d.ts +1 -11
- package/cjs/src/auth.spec.d.ts.map +1 -1
- package/cjs/src/auth.spec.js +5 -14
- package/cjs/src/auth.spec.js.map +1 -1
- package/cjs/src/authToken.d.ts +4 -0
- package/cjs/src/authToken.d.ts.map +1 -1
- package/cjs/src/authToken.js +9 -7
- package/cjs/src/authToken.js.map +1 -1
- package/cjs/src/css-variables.d.ts +46 -3
- package/cjs/src/css-variables.d.ts.map +1 -1
- package/cjs/src/embed/app.d.ts +58 -14
- package/cjs/src/embed/app.d.ts.map +1 -1
- package/cjs/src/embed/app.js +22 -4
- package/cjs/src/embed/app.js.map +1 -1
- package/cjs/src/embed/app.spec.js +62 -0
- package/cjs/src/embed/app.spec.js.map +1 -1
- package/cjs/src/embed/base.d.ts +35 -33
- package/cjs/src/embed/base.d.ts.map +1 -1
- package/cjs/src/embed/base.js +37 -33
- package/cjs/src/embed/base.js.map +1 -1
- package/cjs/src/embed/bodyless-conversation.d.ts +26 -0
- package/cjs/src/embed/bodyless-conversation.d.ts.map +1 -0
- package/cjs/src/embed/bodyless-conversation.js +70 -0
- package/cjs/src/embed/bodyless-conversation.js.map +1 -0
- package/cjs/src/embed/bodyless-conversation.spec.d.ts +2 -0
- package/cjs/src/embed/bodyless-conversation.spec.d.ts.map +1 -0
- package/cjs/src/embed/bodyless-conversation.spec.js +125 -0
- package/cjs/src/embed/bodyless-conversation.spec.js.map +1 -0
- package/cjs/src/embed/conversation.d.ts +28 -0
- package/cjs/src/embed/conversation.d.ts.map +1 -0
- package/cjs/src/embed/conversation.js +34 -0
- package/cjs/src/embed/conversation.js.map +1 -0
- package/cjs/src/embed/conversation.spec.d.ts +2 -0
- package/cjs/src/embed/conversation.spec.d.ts.map +1 -0
- package/cjs/src/embed/conversation.spec.js +32 -0
- package/cjs/src/embed/conversation.spec.js.map +1 -0
- package/cjs/src/embed/embed.spec.js +0 -19
- package/cjs/src/embed/embed.spec.js.map +1 -1
- package/cjs/src/embed/liveboard.d.ts +49 -0
- package/cjs/src/embed/liveboard.d.ts.map +1 -1
- package/cjs/src/embed/liveboard.js +21 -1
- package/cjs/src/embed/liveboard.js.map +1 -1
- package/cjs/src/embed/liveboard.spec.js +43 -0
- package/cjs/src/embed/liveboard.spec.js.map +1 -1
- package/cjs/src/embed/search.d.ts +14 -13
- package/cjs/src/embed/search.d.ts.map +1 -1
- package/cjs/src/embed/search.js +6 -4
- package/cjs/src/embed/search.js.map +1 -1
- package/cjs/src/embed/search.spec.js +9 -9
- package/cjs/src/embed/search.spec.js.map +1 -1
- package/cjs/src/embed/ts-embed.d.ts +4 -3
- package/cjs/src/embed/ts-embed.d.ts.map +1 -1
- package/cjs/src/embed/ts-embed.js +20 -19
- package/cjs/src/embed/ts-embed.js.map +1 -1
- package/cjs/src/embed/ts-embed.spec.js +0 -9
- package/cjs/src/embed/ts-embed.spec.js.map +1 -1
- package/cjs/src/errors.d.ts +11 -0
- package/cjs/src/errors.d.ts.map +1 -1
- package/cjs/src/errors.js +11 -0
- package/cjs/src/errors.js.map +1 -1
- package/cjs/src/index.d.ts +4 -1
- package/cjs/src/index.d.ts.map +1 -1
- package/cjs/src/index.js +7 -1
- package/cjs/src/index.js.map +1 -1
- package/cjs/src/mixpanel-service.d.ts +4 -0
- package/cjs/src/mixpanel-service.d.ts.map +1 -1
- package/cjs/src/mixpanel-service.js +6 -1
- package/cjs/src/mixpanel-service.js.map +1 -1
- package/cjs/src/react/index.d.ts +39 -1
- package/cjs/src/react/index.d.ts.map +1 -1
- package/cjs/src/react/index.js +37 -1
- package/cjs/src/react/index.js.map +1 -1
- package/cjs/src/react/index.spec.js +1 -1
- package/cjs/src/react/index.spec.js.map +1 -1
- package/cjs/src/test/test-utils.d.ts +13 -0
- package/cjs/src/test/test-utils.d.ts.map +1 -1
- package/cjs/src/test/test-utils.js +41 -4
- package/cjs/src/test/test-utils.js.map +1 -1
- package/cjs/src/tokenizedFetch.d.ts.map +1 -1
- package/cjs/src/tokenizedFetch.js +5 -1
- package/cjs/src/tokenizedFetch.js.map +1 -1
- package/cjs/src/types.d.ts +320 -27
- package/cjs/src/types.d.ts.map +1 -1
- package/cjs/src/types.js +271 -15
- package/cjs/src/types.js.map +1 -1
- package/cjs/src/utils/answerService/answerService.d.ts +34 -0
- package/cjs/src/utils/answerService/answerService.d.ts.map +1 -0
- package/cjs/src/utils/answerService/answerService.js +142 -0
- package/cjs/src/utils/answerService/answerService.js.map +1 -0
- package/cjs/src/utils/answerService/answerService.spec.d.ts +1 -0
- package/cjs/src/utils/answerService/answerService.spec.d.ts.map +1 -0
- package/cjs/src/utils/answerService/answerService.spec.js +1 -0
- package/cjs/src/utils/answerService/answerService.spec.js.map +1 -0
- package/cjs/src/utils/answerService/graphql-queries.d.ts +6 -0
- package/cjs/src/utils/answerService/graphql-queries.d.ts.map +1 -0
- package/cjs/src/utils/answerService/graphql-queries.js +123 -0
- package/cjs/src/utils/answerService/graphql-queries.js.map +1 -0
- package/cjs/src/utils/answerService.d.ts +10 -0
- package/cjs/src/utils/answerService.d.ts.map +1 -0
- package/cjs/src/utils/answerService.js +61 -0
- package/cjs/src/utils/answerService.js.map +1 -0
- package/cjs/src/utils/answerService.spec.d.ts +2 -0
- package/cjs/src/utils/answerService.spec.d.ts.map +1 -0
- package/cjs/src/utils/answerService.spec.js +31 -0
- package/cjs/src/utils/answerService.spec.js.map +1 -0
- package/cjs/src/utils/authService/authService.spec.js +11 -2
- package/cjs/src/utils/authService/authService.spec.js.map +1 -1
- package/cjs/src/utils/authService/tokenizedAuthService.d.ts +0 -2
- package/cjs/src/utils/authService/tokenizedAuthService.d.ts.map +1 -1
- package/cjs/src/utils/authService/tokenizedAuthService.js +0 -2
- package/cjs/src/utils/authService/tokenizedAuthService.js.map +1 -1
- package/cjs/src/utils/authService.d.ts +37 -0
- package/cjs/src/utils/authService.d.ts.map +1 -0
- package/cjs/src/utils/authService.js +106 -0
- package/cjs/src/utils/authService.js.map +1 -0
- package/cjs/src/utils/authService.spec.d.ts +2 -0
- package/cjs/src/utils/authService.spec.d.ts.map +1 -0
- package/cjs/src/utils/authService.spec.js +72 -0
- package/cjs/src/utils/authService.spec.js.map +1 -0
- package/cjs/src/utils/global-styles.spec.d.ts +2 -0
- package/cjs/src/utils/global-styles.spec.d.ts.map +1 -0
- package/cjs/src/utils/global-styles.spec.js +21 -0
- package/cjs/src/utils/global-styles.spec.js.map +1 -0
- package/cjs/src/utils/graphql/answerService/answer-queries.d.ts +2 -0
- package/cjs/src/utils/graphql/answerService/answer-queries.d.ts.map +1 -1
- package/cjs/src/utils/graphql/answerService/answer-queries.js +32 -2
- package/cjs/src/utils/graphql/answerService/answer-queries.js.map +1 -1
- package/cjs/src/utils/graphql/answerService/answerService.d.ts +23 -0
- package/cjs/src/utils/graphql/answerService/answerService.d.ts.map +1 -1
- package/cjs/src/utils/graphql/answerService/answerService.js +76 -8
- package/cjs/src/utils/graphql/answerService/answerService.js.map +1 -1
- package/cjs/src/utils/graphql/answerService/answerService.spec.js +109 -0
- package/cjs/src/utils/graphql/answerService/answerService.spec.js.map +1 -1
- package/cjs/src/utils/graphql/answerService/graphql-queries.d.ts +5 -0
- package/cjs/src/utils/graphql/answerService/graphql-queries.d.ts.map +1 -0
- package/cjs/src/utils/graphql/answerService/graphql-queries.js +80 -0
- package/cjs/src/utils/graphql/answerService/graphql-queries.js.map +1 -0
- package/cjs/src/utils/graphql/conversationService/conversation-queries.d.ts +3 -0
- package/cjs/src/utils/graphql/conversationService/conversation-queries.d.ts.map +1 -0
- package/cjs/src/utils/graphql/conversationService/conversation-queries.js +318 -0
- package/cjs/src/utils/graphql/conversationService/conversation-queries.js.map +1 -0
- package/cjs/src/utils/graphql/conversationService/conversation-service.d.ts +12 -0
- package/cjs/src/utils/graphql/conversationService/conversation-service.d.ts.map +1 -0
- package/cjs/src/utils/graphql/conversationService/conversation-service.js +89 -0
- package/cjs/src/utils/graphql/conversationService/conversation-service.js.map +1 -0
- package/cjs/src/utils/graphql/graphql-request.d.ts.map +1 -1
- package/cjs/src/utils/graphql/graphql-request.spec.d.ts +2 -0
- package/cjs/src/utils/graphql/graphql-request.spec.d.ts.map +1 -0
- package/cjs/src/utils/graphql/graphql-request.spec.js +48 -0
- package/cjs/src/utils/graphql/graphql-request.spec.js.map +1 -0
- package/cjs/src/utils/graphql/nlsService/conversation-queries.d.ts +3 -0
- package/cjs/src/utils/graphql/nlsService/conversation-queries.d.ts.map +1 -0
- package/cjs/src/utils/graphql/nlsService/conversation-queries.js +313 -0
- package/cjs/src/utils/graphql/nlsService/conversation-queries.js.map +1 -0
- package/cjs/src/utils/graphql/nlsService/conversation-service.d.ts +12 -0
- package/cjs/src/utils/graphql/nlsService/conversation-service.d.ts.map +1 -0
- package/cjs/src/utils/graphql/nlsService/conversation-service.js +75 -0
- package/cjs/src/utils/graphql/nlsService/conversation-service.js.map +1 -0
- package/cjs/src/utils/graphql/nlsService/nls-answer-queries.d.ts +2 -0
- package/cjs/src/utils/graphql/nlsService/nls-answer-queries.d.ts.map +1 -0
- package/cjs/src/utils/graphql/nlsService/nls-answer-queries.js +403 -0
- package/cjs/src/utils/graphql/nlsService/nls-answer-queries.js.map +1 -0
- package/cjs/src/utils/graphql/nlsService/nls-answer-service.d.ts +12 -0
- package/cjs/src/utils/graphql/nlsService/nls-answer-service.d.ts.map +1 -0
- package/cjs/src/utils/graphql/nlsService/nls-answer-service.js +55 -0
- package/cjs/src/utils/graphql/nlsService/nls-answer-service.js.map +1 -0
- package/cjs/src/utils/graphql/nlsService/nls-answer-service.spec.d.ts +2 -0
- package/cjs/src/utils/graphql/nlsService/nls-answer-service.spec.d.ts.map +1 -0
- package/cjs/src/utils/graphql/nlsService/nls-answer-service.spec.js +33 -0
- package/cjs/src/utils/graphql/nlsService/nls-answer-service.spec.js.map +1 -0
- package/cjs/src/utils/graphql/preview-service.d.ts +6 -0
- package/cjs/src/utils/graphql/preview-service.d.ts.map +1 -1
- package/cjs/src/utils/graphql/preview-service.js +6 -0
- package/cjs/src/utils/graphql/preview-service.js.map +1 -1
- package/cjs/src/utils/graphql/preview-service.spec.d.ts +2 -0
- package/cjs/src/utils/graphql/preview-service.spec.d.ts.map +1 -0
- package/cjs/src/utils/graphql/preview-service.spec.js +20 -0
- package/cjs/src/utils/graphql/preview-service.spec.js.map +1 -0
- package/cjs/src/utils/graphql/spotterService/conversation-queries.d.ts +3 -0
- package/cjs/src/utils/graphql/spotterService/conversation-queries.d.ts.map +1 -0
- package/cjs/src/utils/graphql/spotterService/conversation-queries.js +318 -0
- package/cjs/src/utils/graphql/spotterService/conversation-queries.js.map +1 -0
- package/cjs/src/utils/graphql/spotterService/conversation-service.d.ts +12 -0
- package/cjs/src/utils/graphql/spotterService/conversation-service.d.ts.map +1 -0
- package/cjs/src/utils/graphql/spotterService/conversation-service.js +89 -0
- package/cjs/src/utils/graphql/spotterService/conversation-service.js.map +1 -0
- package/cjs/src/utils/graphql/spotterService/nls-answer-queries.d.ts +2 -0
- package/cjs/src/utils/graphql/spotterService/nls-answer-queries.d.ts.map +1 -0
- package/cjs/src/utils/graphql/spotterService/nls-answer-queries.js +403 -0
- package/cjs/src/utils/graphql/spotterService/nls-answer-queries.js.map +1 -0
- package/cjs/src/utils/graphql/spotterService/nls-answer-service.d.ts +12 -0
- package/cjs/src/utils/graphql/spotterService/nls-answer-service.d.ts.map +1 -0
- package/cjs/src/utils/graphql/spotterService/nls-answer-service.js +55 -0
- package/cjs/src/utils/graphql/spotterService/nls-answer-service.js.map +1 -0
- package/cjs/src/utils/liveboardService/liveboardService.d.ts +3 -0
- package/cjs/src/utils/liveboardService/liveboardService.d.ts.map +1 -0
- package/cjs/src/utils/liveboardService/liveboardService.js +50 -0
- package/cjs/src/utils/liveboardService/liveboardService.js.map +1 -0
- package/cjs/src/utils/liveboardService/liveboardService.spec.d.ts +2 -0
- package/cjs/src/utils/liveboardService/liveboardService.spec.d.ts.map +1 -0
- package/cjs/src/utils/liveboardService/liveboardService.spec.js +64 -0
- package/cjs/src/utils/liveboardService/liveboardService.spec.js.map +1 -0
- package/cjs/src/utils/processData.d.ts.map +1 -1
- package/cjs/src/utils/processData.js +4 -3
- package/cjs/src/utils/processData.js.map +1 -1
- package/cjs/src/utils/processData.spec.js +15 -0
- package/cjs/src/utils/processData.spec.js.map +1 -1
- package/cjs/src/utils/processTrigger.d.ts +1 -0
- package/cjs/src/utils/processTrigger.d.ts.map +1 -1
- package/cjs/src/utils/processTrigger.js +3 -3
- package/cjs/src/utils/processTrigger.js.map +1 -1
- package/cjs/src/utils/processTrigger.spec.js +10 -0
- package/cjs/src/utils/processTrigger.spec.js.map +1 -1
- package/cjs/src/utils/reporting.d.ts +16 -0
- package/cjs/src/utils/reporting.d.ts.map +1 -0
- package/cjs/src/utils/reporting.js +68 -0
- package/cjs/src/utils/reporting.js.map +1 -0
- package/cjs/src/utils/reporting.spec.d.ts +2 -0
- package/cjs/src/utils/reporting.spec.d.ts.map +1 -0
- package/cjs/src/utils/reporting.spec.js +76 -0
- package/cjs/src/utils/reporting.spec.js.map +1 -0
- package/cjs/src/utils.d.ts.map +1 -1
- package/cjs/src/utils.js +1 -3
- package/cjs/src/utils.js.map +1 -1
- package/dist/src/auth.d.ts +0 -1
- package/dist/src/auth.d.ts.map +1 -1
- package/dist/src/auth.spec.d.ts +1 -11
- package/dist/src/auth.spec.d.ts.map +1 -1
- package/dist/src/authToken.d.ts +4 -0
- package/dist/src/authToken.d.ts.map +1 -1
- package/dist/src/css-variables.d.ts +46 -3
- package/dist/src/css-variables.d.ts.map +1 -1
- package/dist/src/embed/app.d.ts +58 -14
- package/dist/src/embed/app.d.ts.map +1 -1
- package/dist/src/embed/base.d.ts +35 -33
- package/dist/src/embed/base.d.ts.map +1 -1
- package/dist/src/embed/bodyless-conversation.d.ts +26 -0
- package/dist/src/embed/bodyless-conversation.d.ts.map +1 -0
- package/dist/src/embed/bodyless-conversation.spec.d.ts +2 -0
- package/dist/src/embed/bodyless-conversation.spec.d.ts.map +1 -0
- package/dist/src/embed/conversation.d.ts +28 -0
- package/dist/src/embed/conversation.d.ts.map +1 -0
- package/dist/src/embed/conversation.spec.d.ts +2 -0
- package/dist/src/embed/conversation.spec.d.ts.map +1 -0
- package/dist/src/embed/liveboard.d.ts +49 -0
- package/dist/src/embed/liveboard.d.ts.map +1 -1
- package/dist/src/embed/search.d.ts +14 -13
- package/dist/src/embed/search.d.ts.map +1 -1
- package/dist/src/embed/ts-embed.d.ts +4 -3
- package/dist/src/embed/ts-embed.d.ts.map +1 -1
- package/dist/src/errors.d.ts +11 -0
- package/dist/src/errors.d.ts.map +1 -1
- package/dist/src/index.d.ts +4 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/mixpanel-service.d.ts +4 -0
- package/dist/src/mixpanel-service.d.ts.map +1 -1
- package/dist/src/react/index.d.ts +39 -1
- package/dist/src/react/index.d.ts.map +1 -1
- package/dist/src/test/test-utils.d.ts +13 -0
- package/dist/src/test/test-utils.d.ts.map +1 -1
- package/dist/src/tokenizedFetch.d.ts.map +1 -1
- package/dist/src/types.d.ts +320 -27
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/utils/authService/tokenizedAuthService.d.ts +0 -2
- package/dist/src/utils/authService/tokenizedAuthService.d.ts.map +1 -1
- package/dist/src/utils/global-styles.spec.d.ts +2 -0
- package/dist/src/utils/global-styles.spec.d.ts.map +1 -0
- package/dist/src/utils/graphql/answerService/answer-queries.d.ts +2 -0
- package/dist/src/utils/graphql/answerService/answer-queries.d.ts.map +1 -1
- package/dist/src/utils/graphql/answerService/answerService.d.ts +23 -0
- package/dist/src/utils/graphql/answerService/answerService.d.ts.map +1 -1
- package/dist/src/utils/graphql/graphql-request.d.ts.map +1 -1
- package/dist/src/utils/graphql/graphql-request.spec.d.ts +2 -0
- package/dist/src/utils/graphql/graphql-request.spec.d.ts.map +1 -0
- package/dist/src/utils/graphql/nlsService/conversation-queries.d.ts +3 -0
- package/dist/src/utils/graphql/nlsService/conversation-queries.d.ts.map +1 -0
- package/dist/src/utils/graphql/nlsService/conversation-service.d.ts +12 -0
- package/dist/src/utils/graphql/nlsService/conversation-service.d.ts.map +1 -0
- package/dist/src/utils/graphql/nlsService/nls-answer-queries.d.ts +2 -0
- package/dist/src/utils/graphql/nlsService/nls-answer-queries.d.ts.map +1 -0
- package/dist/src/utils/graphql/nlsService/nls-answer-service.d.ts +12 -0
- package/dist/src/utils/graphql/nlsService/nls-answer-service.d.ts.map +1 -0
- package/dist/src/utils/graphql/nlsService/nls-answer-service.spec.d.ts +2 -0
- package/dist/src/utils/graphql/nlsService/nls-answer-service.spec.d.ts.map +1 -0
- package/dist/src/utils/graphql/preview-service.d.ts +6 -0
- package/dist/src/utils/graphql/preview-service.d.ts.map +1 -1
- package/dist/src/utils/graphql/preview-service.spec.d.ts +2 -0
- package/dist/src/utils/graphql/preview-service.spec.d.ts.map +1 -0
- package/dist/src/utils/liveboardService/liveboardService.d.ts +3 -0
- package/dist/src/utils/liveboardService/liveboardService.d.ts.map +1 -0
- package/dist/src/utils/liveboardService/liveboardService.spec.d.ts +2 -0
- package/dist/src/utils/liveboardService/liveboardService.spec.d.ts.map +1 -0
- package/dist/src/utils/processData.d.ts.map +1 -1
- package/dist/src/utils/processTrigger.d.ts +1 -0
- package/dist/src/utils/processTrigger.d.ts.map +1 -1
- package/dist/src/utils/reporting.d.ts +16 -0
- package/dist/src/utils/reporting.d.ts.map +1 -0
- package/dist/src/utils/reporting.spec.d.ts +2 -0
- package/dist/src/utils/reporting.spec.d.ts.map +1 -0
- package/dist/src/utils.d.ts.map +1 -1
- package/dist/tsembed-react.es.js +8268 -202
- package/dist/tsembed-react.js +8216 -204
- package/dist/tsembed.es.js +9217 -238
- package/dist/tsembed.js +9162 -236
- package/dist/visual-embed-sdk-react-full.d.ts +665 -104
- package/dist/visual-embed-sdk-react.d.ts +665 -104
- package/dist/visual-embed-sdk.d.ts +601 -103
- package/lib/package.json +12 -28
- package/lib/src/auth.d.ts +0 -1
- package/lib/src/auth.d.ts.map +1 -1
- package/lib/src/auth.js +7 -7
- package/lib/src/auth.js.map +1 -1
- package/lib/src/auth.spec.d.ts +1 -11
- package/lib/src/auth.spec.d.ts.map +1 -1
- package/lib/src/auth.spec.js +3 -12
- package/lib/src/auth.spec.js.map +1 -1
- package/lib/src/authToken.d.ts +4 -0
- package/lib/src/authToken.d.ts.map +1 -1
- package/lib/src/authToken.js +9 -7
- package/lib/src/authToken.js.map +1 -1
- package/lib/src/css-variables.d.ts +46 -3
- package/lib/src/css-variables.d.ts.map +1 -1
- package/lib/src/embed/app.d.ts +58 -14
- package/lib/src/embed/app.d.ts.map +1 -1
- package/lib/src/embed/app.js +21 -3
- package/lib/src/embed/app.js.map +1 -1
- package/lib/src/embed/app.spec.js +63 -1
- package/lib/src/embed/app.spec.js.map +1 -1
- package/lib/src/embed/base.d.ts +35 -33
- package/lib/src/embed/base.d.ts.map +1 -1
- package/lib/src/embed/base.js +37 -33
- package/lib/src/embed/base.js.map +1 -1
- package/lib/src/embed/bodyless-conversation.d.ts +26 -0
- package/lib/src/embed/bodyless-conversation.d.ts.map +1 -0
- package/lib/src/embed/bodyless-conversation.js +66 -0
- package/lib/src/embed/bodyless-conversation.js.map +1 -0
- package/lib/src/embed/bodyless-conversation.spec.d.ts +2 -0
- package/lib/src/embed/bodyless-conversation.spec.d.ts.map +1 -0
- package/lib/src/embed/bodyless-conversation.spec.js +122 -0
- package/lib/src/embed/bodyless-conversation.spec.js.map +1 -0
- package/lib/src/embed/conversation.d.ts +28 -0
- package/lib/src/embed/conversation.d.ts.map +1 -0
- package/lib/src/embed/conversation.js +30 -0
- package/lib/src/embed/conversation.js.map +1 -0
- package/lib/src/embed/conversation.spec.d.ts +2 -0
- package/lib/src/embed/conversation.spec.d.ts.map +1 -0
- package/lib/src/embed/conversation.spec.js +29 -0
- package/lib/src/embed/conversation.spec.js.map +1 -0
- package/lib/src/embed/embed.spec.js +0 -19
- package/lib/src/embed/embed.spec.js.map +1 -1
- package/lib/src/embed/liveboard.d.ts +49 -0
- package/lib/src/embed/liveboard.d.ts.map +1 -1
- package/lib/src/embed/liveboard.js +21 -1
- package/lib/src/embed/liveboard.js.map +1 -1
- package/lib/src/embed/liveboard.spec.js +43 -0
- package/lib/src/embed/liveboard.spec.js.map +1 -1
- package/lib/src/embed/search.d.ts +14 -13
- package/lib/src/embed/search.d.ts.map +1 -1
- package/lib/src/embed/search.js +6 -4
- package/lib/src/embed/search.js.map +1 -1
- package/lib/src/embed/search.spec.js +9 -9
- package/lib/src/embed/search.spec.js.map +1 -1
- package/lib/src/embed/ts-embed.d.ts +4 -3
- package/lib/src/embed/ts-embed.d.ts.map +1 -1
- package/lib/src/embed/ts-embed.js +20 -19
- package/lib/src/embed/ts-embed.js.map +1 -1
- package/lib/src/embed/ts-embed.spec.js +0 -9
- package/lib/src/embed/ts-embed.spec.js.map +1 -1
- package/lib/src/errors.d.ts +11 -0
- package/lib/src/errors.d.ts.map +1 -1
- package/lib/src/errors.js +11 -0
- package/lib/src/errors.js.map +1 -1
- package/lib/src/index.d.ts +4 -1
- package/lib/src/index.d.ts.map +1 -1
- package/lib/src/index.js +4 -1
- package/lib/src/index.js.map +1 -1
- package/lib/src/mixpanel-service.d.ts +4 -0
- package/lib/src/mixpanel-service.d.ts.map +1 -1
- package/lib/src/mixpanel-service.js +6 -1
- package/lib/src/mixpanel-service.js.map +1 -1
- package/lib/src/react/index.d.ts +39 -1
- package/lib/src/react/index.d.ts.map +1 -1
- package/lib/src/react/index.js +36 -0
- package/lib/src/react/index.js.map +1 -1
- package/lib/src/react/index.spec.js +1 -1
- package/lib/src/react/index.spec.js.map +1 -1
- package/lib/src/test/test-utils.d.ts +13 -0
- package/lib/src/test/test-utils.d.ts.map +1 -1
- package/lib/src/test/test-utils.js +38 -3
- package/lib/src/test/test-utils.js.map +1 -1
- package/lib/src/tokenizedFetch.d.ts.map +1 -1
- package/lib/src/tokenizedFetch.js +5 -1
- package/lib/src/tokenizedFetch.js.map +1 -1
- package/lib/src/types.d.ts +320 -27
- package/lib/src/types.d.ts.map +1 -1
- package/lib/src/types.js +271 -15
- package/lib/src/types.js.map +1 -1
- package/lib/src/utils/authService/authService.spec.js +11 -2
- package/lib/src/utils/authService/authService.spec.js.map +1 -1
- package/lib/src/utils/authService/tokenizedAuthService.d.ts +0 -2
- package/lib/src/utils/authService/tokenizedAuthService.d.ts.map +1 -1
- package/lib/src/utils/authService/tokenizedAuthService.js +0 -2
- package/lib/src/utils/authService/tokenizedAuthService.js.map +1 -1
- package/lib/src/utils/global-styles.spec.d.ts +2 -0
- package/lib/src/utils/global-styles.spec.d.ts.map +1 -0
- package/lib/src/utils/global-styles.spec.js +19 -0
- package/lib/src/utils/global-styles.spec.js.map +1 -0
- package/lib/src/utils/graphql/answerService/answer-queries.d.ts +2 -0
- package/lib/src/utils/graphql/answerService/answer-queries.d.ts.map +1 -1
- package/lib/src/utils/graphql/answerService/answer-queries.js +31 -1
- package/lib/src/utils/graphql/answerService/answer-queries.js.map +1 -1
- package/lib/src/utils/graphql/answerService/answerService.d.ts +23 -0
- package/lib/src/utils/graphql/answerService/answerService.d.ts.map +1 -1
- package/lib/src/utils/graphql/answerService/answerService.js +76 -8
- package/lib/src/utils/graphql/answerService/answerService.js.map +1 -1
- package/lib/src/utils/graphql/answerService/answerService.spec.js +110 -1
- package/lib/src/utils/graphql/answerService/answerService.spec.js.map +1 -1
- package/lib/src/utils/graphql/conversationService/conversation-queries.d.ts +3 -0
- package/lib/src/utils/graphql/conversationService/conversation-queries.d.ts.map +1 -0
- package/lib/src/utils/graphql/conversationService/conversation-queries.js +315 -0
- package/lib/src/utils/graphql/conversationService/conversation-queries.js.map +1 -0
- package/lib/src/utils/graphql/conversationService/conversation-service.d.ts +12 -0
- package/lib/src/utils/graphql/conversationService/conversation-service.d.ts.map +1 -0
- package/lib/src/utils/graphql/conversationService/conversation-service.js +84 -0
- package/lib/src/utils/graphql/conversationService/conversation-service.js.map +1 -0
- package/lib/src/utils/graphql/graphql-request.d.ts.map +1 -1
- package/lib/src/utils/graphql/graphql-request.spec.d.ts +2 -0
- package/lib/src/utils/graphql/graphql-request.spec.d.ts.map +1 -0
- package/lib/src/utils/graphql/graphql-request.spec.js +45 -0
- package/lib/src/utils/graphql/graphql-request.spec.js.map +1 -0
- package/lib/src/utils/graphql/nlsService/conversation-queries.d.ts +3 -0
- package/lib/src/utils/graphql/nlsService/conversation-queries.d.ts.map +1 -0
- package/lib/src/utils/graphql/nlsService/conversation-queries.js +310 -0
- package/lib/src/utils/graphql/nlsService/conversation-queries.js.map +1 -0
- package/lib/src/utils/graphql/nlsService/conversation-service.d.ts +12 -0
- package/lib/src/utils/graphql/nlsService/conversation-service.d.ts.map +1 -0
- package/lib/src/utils/graphql/nlsService/conversation-service.js +70 -0
- package/lib/src/utils/graphql/nlsService/conversation-service.js.map +1 -0
- package/lib/src/utils/graphql/nlsService/nls-answer-queries.d.ts +2 -0
- package/lib/src/utils/graphql/nlsService/nls-answer-queries.d.ts.map +1 -0
- package/lib/src/utils/graphql/nlsService/nls-answer-queries.js +400 -0
- package/lib/src/utils/graphql/nlsService/nls-answer-queries.js.map +1 -0
- package/lib/src/utils/graphql/nlsService/nls-answer-service.d.ts +12 -0
- package/lib/src/utils/graphql/nlsService/nls-answer-service.d.ts.map +1 -0
- package/lib/src/utils/graphql/nlsService/nls-answer-service.js +50 -0
- package/lib/src/utils/graphql/nlsService/nls-answer-service.js.map +1 -0
- package/lib/src/utils/graphql/nlsService/nls-answer-service.spec.d.ts +2 -0
- package/lib/src/utils/graphql/nlsService/nls-answer-service.spec.d.ts.map +1 -0
- package/lib/src/utils/graphql/nlsService/nls-answer-service.spec.js +31 -0
- package/lib/src/utils/graphql/nlsService/nls-answer-service.spec.js.map +1 -0
- package/lib/src/utils/graphql/preview-service.d.ts +6 -0
- package/lib/src/utils/graphql/preview-service.d.ts.map +1 -1
- package/lib/src/utils/graphql/preview-service.js +6 -0
- package/lib/src/utils/graphql/preview-service.js.map +1 -1
- package/lib/src/utils/graphql/preview-service.spec.d.ts +2 -0
- package/lib/src/utils/graphql/preview-service.spec.d.ts.map +1 -0
- package/lib/src/utils/graphql/preview-service.spec.js +18 -0
- package/lib/src/utils/graphql/preview-service.spec.js.map +1 -0
- package/lib/src/utils/graphql/spotterService/conversation-queries.d.ts +3 -0
- package/lib/src/utils/graphql/spotterService/conversation-queries.d.ts.map +1 -0
- package/lib/src/utils/graphql/spotterService/conversation-queries.js +315 -0
- package/lib/src/utils/graphql/spotterService/conversation-queries.js.map +1 -0
- package/lib/src/utils/graphql/spotterService/conversation-service.d.ts +12 -0
- package/lib/src/utils/graphql/spotterService/conversation-service.d.ts.map +1 -0
- package/lib/src/utils/graphql/spotterService/conversation-service.js +84 -0
- package/lib/src/utils/graphql/spotterService/conversation-service.js.map +1 -0
- package/lib/src/utils/graphql/spotterService/nls-answer-queries.d.ts +2 -0
- package/lib/src/utils/graphql/spotterService/nls-answer-queries.d.ts.map +1 -0
- package/lib/src/utils/graphql/spotterService/nls-answer-queries.js +400 -0
- package/lib/src/utils/graphql/spotterService/nls-answer-queries.js.map +1 -0
- package/lib/src/utils/graphql/spotterService/nls-answer-service.d.ts +12 -0
- package/lib/src/utils/graphql/spotterService/nls-answer-service.d.ts.map +1 -0
- package/lib/src/utils/graphql/spotterService/nls-answer-service.js +50 -0
- package/lib/src/utils/graphql/spotterService/nls-answer-service.js.map +1 -0
- package/lib/src/utils/liveboardService/liveboardService.d.ts +3 -0
- package/lib/src/utils/liveboardService/liveboardService.d.ts.map +1 -0
- package/lib/src/utils/liveboardService/liveboardService.js +46 -0
- package/lib/src/utils/liveboardService/liveboardService.js.map +1 -0
- package/lib/src/utils/liveboardService/liveboardService.spec.d.ts +2 -0
- package/lib/src/utils/liveboardService/liveboardService.spec.d.ts.map +1 -0
- package/lib/src/utils/liveboardService/liveboardService.spec.js +61 -0
- package/lib/src/utils/liveboardService/liveboardService.spec.js.map +1 -0
- package/lib/src/utils/processData.d.ts.map +1 -1
- package/lib/src/utils/processData.js +4 -3
- package/lib/src/utils/processData.js.map +1 -1
- package/lib/src/utils/processData.spec.js +15 -0
- package/lib/src/utils/processData.spec.js.map +1 -1
- package/lib/src/utils/processTrigger.d.ts +1 -0
- package/lib/src/utils/processTrigger.d.ts.map +1 -1
- package/lib/src/utils/processTrigger.js +1 -1
- package/lib/src/utils/processTrigger.js.map +1 -1
- package/lib/src/utils/processTrigger.spec.js +10 -0
- package/lib/src/utils/processTrigger.spec.js.map +1 -1
- package/lib/src/utils/reporting.d.ts +16 -0
- package/lib/src/utils/reporting.d.ts.map +1 -0
- package/lib/src/utils/reporting.js +62 -0
- package/lib/src/utils/reporting.js.map +1 -0
- package/lib/src/utils/reporting.spec.d.ts +2 -0
- package/lib/src/utils/reporting.spec.d.ts.map +1 -0
- package/lib/src/utils/reporting.spec.js +74 -0
- package/lib/src/utils/reporting.spec.js.map +1 -0
- package/lib/src/utils.d.ts.map +1 -1
- package/lib/src/utils.js +1 -3
- package/lib/src/utils.js.map +1 -1
- package/lib/src/visual-embed-sdk.d.ts +613 -103
- package/package.json +12 -28
- package/src/auth.spec.ts +3 -12
- package/src/auth.ts +7 -7
- package/src/authToken.ts +9 -9
- package/src/css-variables.ts +49 -3
- package/src/embed/app.spec.ts +93 -0
- package/src/embed/app.ts +73 -15
- package/src/embed/base.ts +38 -34
- package/src/embed/bodyless-conversation.spec.ts +141 -0
- package/src/embed/bodyless-conversation.ts +95 -0
- package/src/embed/conversation.spec.ts +46 -0
- package/src/embed/conversation.ts +58 -0
- package/src/embed/embed.spec.ts +0 -22
- package/src/embed/liveboard.spec.ts +62 -0
- package/src/embed/liveboard.ts +69 -0
- package/src/embed/search.spec.ts +9 -9
- package/src/embed/search.ts +20 -16
- package/src/embed/ts-embed.spec.ts +0 -11
- package/src/embed/ts-embed.ts +26 -19
- package/src/errors.ts +11 -0
- package/src/index.ts +7 -0
- package/src/mixpanel-service.ts +6 -1
- package/src/react/index.spec.tsx +1 -1
- package/src/react/index.tsx +89 -41
- package/src/test/test-utils.ts +46 -3
- package/src/tokenizedFetch.ts +5 -1
- package/src/types.ts +325 -24
- package/src/utils/authService/authService.spec.ts +11 -2
- package/src/utils/authService/tokenizedAuthService.ts +0 -2
- package/src/utils/global-styles.spec.ts +20 -0
- package/src/utils/graphql/answerService/answer-queries.ts +33 -1
- package/src/utils/graphql/answerService/answerService.spec.ts +131 -0
- package/src/utils/graphql/answerService/answerService.ts +102 -10
- package/src/utils/graphql/graphql-request.spec.ts +51 -0
- package/src/utils/graphql/graphql-request.ts +1 -1
- package/src/utils/graphql/nlsService/conversation-queries.ts +310 -0
- package/src/utils/graphql/nlsService/conversation-service.ts +81 -0
- package/src/utils/graphql/nlsService/nls-answer-queries.ts +399 -0
- package/src/utils/graphql/nlsService/nls-answer-service.spec.ts +35 -0
- package/src/utils/graphql/nlsService/nls-answer-service.ts +58 -0
- package/src/utils/graphql/preview-service.spec.ts +20 -0
- package/src/utils/graphql/preview-service.ts +6 -0
- package/src/utils/liveboardService/liveboardService.spec.ts +63 -0
- package/src/utils/liveboardService/liveboardService.ts +55 -0
- package/src/utils/processData.spec.ts +17 -0
- package/src/utils/processData.ts +4 -5
- package/src/utils/processTrigger.spec.ts +19 -0
- package/src/utils/processTrigger.ts +1 -1
- package/src/utils/reporting.spec.ts +91 -0
- package/src/utils/reporting.ts +71 -0
- package/src/utils.ts +1 -3
- package/dist/src/embed/searchEmbed-basic-auth.spec.d.ts +0 -2
- package/dist/src/embed/searchEmbed-basic-auth.spec.d.ts.map +0 -1
- package/src/embed/searchEmbed-basic-auth.spec.ts +0 -110
package/src/embed/base.ts
CHANGED
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
* @author Ayon Ghosh <ayon.ghosh@thoughtspot.com>
|
|
9
9
|
*/
|
|
10
10
|
import EventEmitter from 'eventemitter3';
|
|
11
|
+
import { registerReportingObserver } from '../utils/reporting';
|
|
11
12
|
import { resetCachedAuthToken } from '../authToken';
|
|
12
13
|
import { logger, setGlobalLogLevelOverride } from '../utils/logger';
|
|
13
14
|
import { tokenizedFetch } from '../tokenizedFetch';
|
|
@@ -188,6 +189,7 @@ export const init = (embedConfig: EmbedConfig): AuthEventEmitter => {
|
|
|
188
189
|
);
|
|
189
190
|
|
|
190
191
|
setGlobalLogLevelOverride(embedConfig.logLevel);
|
|
192
|
+
registerReportingObserver();
|
|
191
193
|
|
|
192
194
|
const authEE = new EventEmitter<AuthStatus | AuthEvent>();
|
|
193
195
|
setAuthEE(authEE);
|
|
@@ -252,28 +254,29 @@ export const renderInQueue = (fn: (next?: (val?: any) => void) => Promise<any>):
|
|
|
252
254
|
return renderQueue;
|
|
253
255
|
}
|
|
254
256
|
// Sending an empty function to keep it consistent with the above usage.
|
|
255
|
-
return fn(() => {
|
|
257
|
+
return fn(() => {}); // eslint-disable-line @typescript-eslint/no-empty-function
|
|
256
258
|
};
|
|
257
259
|
|
|
258
260
|
/**
|
|
259
261
|
* Imports TML representation of the metadata objects into ThoughtSpot.
|
|
260
262
|
* @param data
|
|
263
|
+
* @returns imports TML data into ThoughtSpot
|
|
261
264
|
* @example
|
|
262
265
|
* ```js
|
|
263
|
-
*
|
|
264
|
-
* //Array of metadata Tmls
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
}).then(result => {
|
|
272
|
-
|
|
273
|
-
}).catch(error => {
|
|
274
|
-
|
|
275
|
-
});
|
|
276
|
-
|
|
266
|
+
* executeTML({
|
|
267
|
+
* //Array of metadata Tmls in string format
|
|
268
|
+
* metadata_tmls: [
|
|
269
|
+
* "'\''{\"guid\":\"9bd202f5-d431-44bf-9a07-b4f7be372125\",
|
|
270
|
+
* \"liveboard\":{\"name\":\"Parameters Liveboard\"}}'\''"
|
|
271
|
+
* ],
|
|
272
|
+
* import_policy: 'PARTIAL', // Specifies the import policy for the TML import.
|
|
273
|
+
* create_new: false, // If selected, creates TML objects with new GUIDs.
|
|
274
|
+
* }).then(result => {
|
|
275
|
+
* console.log(result);
|
|
276
|
+
* }).catch(error => {
|
|
277
|
+
* console.error(error);
|
|
278
|
+
* });
|
|
279
|
+
*```
|
|
277
280
|
* @version SDK: 1.23.0 | ThoughtSpot: 9.4.0.cl
|
|
278
281
|
* @group Global methods
|
|
279
282
|
*/
|
|
@@ -318,27 +321,28 @@ export const executeTML = async (data: executeTMLInput): Promise<any> => {
|
|
|
318
321
|
* Exports TML representation of the metadata objects from ThoughtSpot in JSON or YAML
|
|
319
322
|
* format.
|
|
320
323
|
* @param data
|
|
324
|
+
* @returns exports TML data
|
|
321
325
|
* @example
|
|
322
326
|
* ```js
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
327
|
+
* exportTML({
|
|
328
|
+
* metadata: [
|
|
329
|
+
* {
|
|
330
|
+
* type: "LIVEBOARD", //Metadata Type
|
|
331
|
+
* identifier: "9bd202f5-d431-44bf-9a07-b4f7be372125" //Metadata Id
|
|
332
|
+
* }
|
|
333
|
+
* ],
|
|
334
|
+
* export_associated: false,//indicates whether to export associated metadata objects
|
|
335
|
+
* export_fqn: false, //Adds FQNs of the referenced objects.For example, if you are
|
|
336
|
+
* //exporting a Liveboard and its associated objects, the API
|
|
337
|
+
* //returns the Liveboard TML data with the FQNs of the referenced
|
|
338
|
+
* //worksheet. If the exported TML data includes FQNs, you don't need
|
|
339
|
+
* //to manually add FQNs of the referenced objects during TML import.
|
|
340
|
+
* edoc_format: "JSON" //It takes JSON or YAML value
|
|
341
|
+
* }).then(result => {
|
|
342
|
+
* console.log(result);
|
|
343
|
+
* }).catch(error => {
|
|
344
|
+
* console.error(error);
|
|
345
|
+
* });
|
|
342
346
|
* ```
|
|
343
347
|
* @version SDK: 1.23.0 | ThoughtSpot: 9.4.0.cl
|
|
344
348
|
* @group Global methods
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
import 'jest-fetch-mock';
|
|
2
|
+
import { BodylessConversation, BodylessConversationViewConfig } from './bodyless-conversation';
|
|
3
|
+
import * as authInstance from '../auth';
|
|
4
|
+
import { init } from '../index';
|
|
5
|
+
import { Action, AuthType, RuntimeFilterOp } from '../types';
|
|
6
|
+
import {
|
|
7
|
+
executeAfterWait,
|
|
8
|
+
getDocumentBody,
|
|
9
|
+
getIFrameSrc,
|
|
10
|
+
getRootEl,
|
|
11
|
+
fixedEncodeURI,
|
|
12
|
+
defaultParamsWithoutHiddenActions as defaultParams,
|
|
13
|
+
expectUrlMatchesWithParams,
|
|
14
|
+
expectUrlToHaveParamsWithValues,
|
|
15
|
+
} from '../test/test-utils';
|
|
16
|
+
|
|
17
|
+
describe('BodylessConversation', () => {
|
|
18
|
+
const thoughtSpotHost = 'tshost';
|
|
19
|
+
|
|
20
|
+
beforeAll(() => {
|
|
21
|
+
init({
|
|
22
|
+
thoughtSpotHost,
|
|
23
|
+
authType: AuthType.None,
|
|
24
|
+
});
|
|
25
|
+
jest.spyOn(authInstance, 'postLoginService').mockImplementation(() => Promise.resolve({}));
|
|
26
|
+
spyOn(window, 'alert');
|
|
27
|
+
document.body.innerHTML = getDocumentBody();
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
beforeEach(() => {
|
|
31
|
+
fetchMock.resetMocks();
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
test('should render the bodyless conversation embed', async () => {
|
|
35
|
+
fetchMock.mockResponses(
|
|
36
|
+
JSON.stringify({
|
|
37
|
+
data: {
|
|
38
|
+
ConvAssist__createConversation: {
|
|
39
|
+
convId: 'conversationId',
|
|
40
|
+
initialCtx: {
|
|
41
|
+
type: 'TS_ANSWER',
|
|
42
|
+
tsAnsCtx: {
|
|
43
|
+
sessionId: 'sessionId',
|
|
44
|
+
genNo: 1,
|
|
45
|
+
stateKey: {
|
|
46
|
+
transactionId: 'transactionId',
|
|
47
|
+
generationNumber: 1,
|
|
48
|
+
},
|
|
49
|
+
worksheet: {
|
|
50
|
+
worksheetId: 'worksheetId',
|
|
51
|
+
worksheetName: 'GTM',
|
|
52
|
+
},
|
|
53
|
+
},
|
|
54
|
+
},
|
|
55
|
+
},
|
|
56
|
+
},
|
|
57
|
+
}),
|
|
58
|
+
JSON.stringify({
|
|
59
|
+
data: {
|
|
60
|
+
ConvAssist__sendMessage: {
|
|
61
|
+
responses: [
|
|
62
|
+
{
|
|
63
|
+
msgId: 'msgId',
|
|
64
|
+
data: {
|
|
65
|
+
asstRespData: {
|
|
66
|
+
tool: 'TS_NLS',
|
|
67
|
+
asstRespText: '',
|
|
68
|
+
nlsAnsData: {
|
|
69
|
+
sageQuerySuggestions: [
|
|
70
|
+
{
|
|
71
|
+
llmReasoning: {
|
|
72
|
+
assumptions: 'You want the total [COL|sales] for [COL|item_type] [VAL|jackets] for [VAL|this year].',
|
|
73
|
+
clarifications: '',
|
|
74
|
+
interpretation: '',
|
|
75
|
+
__typename: 'eureka_SageQuerySuggestion_LLMReasoning',
|
|
76
|
+
},
|
|
77
|
+
tokens: [
|
|
78
|
+
'sum sales',
|
|
79
|
+
"item type = 'jackets'",
|
|
80
|
+
"date = 'this year'",
|
|
81
|
+
],
|
|
82
|
+
tmlTokens: [
|
|
83
|
+
'sum [sales]',
|
|
84
|
+
"[date] = [date].'this year'",
|
|
85
|
+
"[item type] = [item type].'jackets'",
|
|
86
|
+
],
|
|
87
|
+
worksheetId: 'worksheetId',
|
|
88
|
+
description: '',
|
|
89
|
+
title: '',
|
|
90
|
+
cached: false,
|
|
91
|
+
sqlQuery: "SELECT SUM(sales) FROM __Sample_Retail_Apparel WHERE item_type = 'jackets' AND date = _this_year();",
|
|
92
|
+
sessionId: 'sessionId',
|
|
93
|
+
genNo: 2,
|
|
94
|
+
formulaInfo: [],
|
|
95
|
+
tmlPhrases: [],
|
|
96
|
+
stateKey: {
|
|
97
|
+
transactionId: 'transactionId',
|
|
98
|
+
generationNumber: 1,
|
|
99
|
+
__typename: 'sage_auto_complete_v2_ACStateKey',
|
|
100
|
+
},
|
|
101
|
+
__typename: 'eureka_SageQuerySuggestion',
|
|
102
|
+
},
|
|
103
|
+
],
|
|
104
|
+
responseType: 'ANSWER',
|
|
105
|
+
__typename: 'convassist_nls_tool_NLSToolAsstRespData',
|
|
106
|
+
},
|
|
107
|
+
__typename: 'convassist_AsstResponseData',
|
|
108
|
+
},
|
|
109
|
+
__typename: 'convassist_MessageData',
|
|
110
|
+
},
|
|
111
|
+
type: 'ASST_RESPONSE',
|
|
112
|
+
__typename: 'convassist_MessagePayload',
|
|
113
|
+
},
|
|
114
|
+
],
|
|
115
|
+
__typename: 'convassist_SendMessageResponse',
|
|
116
|
+
},
|
|
117
|
+
},
|
|
118
|
+
}),
|
|
119
|
+
);
|
|
120
|
+
const viewConfig: BodylessConversationViewConfig = {
|
|
121
|
+
worksheetId: 'worksheetId',
|
|
122
|
+
};
|
|
123
|
+
|
|
124
|
+
const conversationEmbed = new BodylessConversation(viewConfig);
|
|
125
|
+
const result = await conversationEmbed.sendMessage('userMessage');
|
|
126
|
+
console.log(result.container);
|
|
127
|
+
const iframeSrc = getIFrameSrc(result.container);
|
|
128
|
+
expectUrlToHaveParamsWithValues(iframeSrc, {
|
|
129
|
+
sessionId: 'sessionId',
|
|
130
|
+
genNo: 2,
|
|
131
|
+
acSessionId: 'transactionId',
|
|
132
|
+
acGenNo: 1,
|
|
133
|
+
});
|
|
134
|
+
|
|
135
|
+
fetchMock.mockRejectOnce(
|
|
136
|
+
new Error('error'),
|
|
137
|
+
);
|
|
138
|
+
const errorResult = await conversationEmbed.sendMessage('userMessage');
|
|
139
|
+
expect(errorResult.error instanceof Error).toBeTruthy();
|
|
140
|
+
});
|
|
141
|
+
});
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { ViewConfig, Param } from '../types';
|
|
2
|
+
import { TsEmbed } from './ts-embed';
|
|
3
|
+
import { Conversation as ConversationService } from '../utils/graphql/nlsService/conversation-service';
|
|
4
|
+
import { getEmbedConfig } from './embedConfig';
|
|
5
|
+
import { getQueryParamString } from '../utils';
|
|
6
|
+
|
|
7
|
+
export interface BodylessConversationViewConfig extends ViewConfig {
|
|
8
|
+
/**
|
|
9
|
+
* The ID of the worksheet to use for the conversation.
|
|
10
|
+
*/
|
|
11
|
+
worksheetId: string;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
interface ConversationMessageViewConfig extends BodylessConversationViewConfig {
|
|
15
|
+
sessionId: string;
|
|
16
|
+
genNo: number;
|
|
17
|
+
acSessionId: string;
|
|
18
|
+
acGenNo: number;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
class ConversationMessage extends TsEmbed {
|
|
22
|
+
constructor(container: HTMLElement, protected viewConfig: ConversationMessageViewConfig) {
|
|
23
|
+
super(container, viewConfig);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
public getIframeSrc() {
|
|
27
|
+
const {
|
|
28
|
+
sessionId,
|
|
29
|
+
genNo,
|
|
30
|
+
acSessionId,
|
|
31
|
+
acGenNo,
|
|
32
|
+
} = this.viewConfig;
|
|
33
|
+
const path = 'conv-assist-answer';
|
|
34
|
+
const queryParams = this.getBaseQueryParams();
|
|
35
|
+
|
|
36
|
+
queryParams[Param.HideActions] = [...(queryParams[Param.HideActions] ?? [])];
|
|
37
|
+
let query = '';
|
|
38
|
+
const queryParamsString = getQueryParamString(queryParams, true);
|
|
39
|
+
if (queryParamsString) {
|
|
40
|
+
query = `?${queryParamsString}`;
|
|
41
|
+
}
|
|
42
|
+
const tsPostHashParams = this.getThoughtSpotPostUrlParams({
|
|
43
|
+
sessionId,
|
|
44
|
+
genNo,
|
|
45
|
+
acSessionId,
|
|
46
|
+
acGenNo,
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
return `${this.getEmbedBasePath(query)}/embed/${path}${tsPostHashParams}`;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
public async render(): Promise<ConversationMessage> {
|
|
53
|
+
super.render();
|
|
54
|
+
const src = this.getIframeSrc();
|
|
55
|
+
await this.renderIFrame(src);
|
|
56
|
+
return this;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* Create a conversation embed, which can be integrated inside
|
|
62
|
+
* chatbots or other conversational interfaces.
|
|
63
|
+
* @group Embed components
|
|
64
|
+
* @version SDK: 1.34.0 | ThoughtSpot: 10.3.0.cl
|
|
65
|
+
*/
|
|
66
|
+
export class BodylessConversation {
|
|
67
|
+
private conversationService: ConversationService;
|
|
68
|
+
|
|
69
|
+
constructor(private viewConfig: BodylessConversationViewConfig) {
|
|
70
|
+
const embedConfig = getEmbedConfig();
|
|
71
|
+
|
|
72
|
+
this.conversationService = new ConversationService(
|
|
73
|
+
embedConfig.thoughtSpotHost,
|
|
74
|
+
viewConfig.worksheetId,
|
|
75
|
+
);
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
public async sendMessage(userMessage: string) {
|
|
79
|
+
const { data, error } = await this.conversationService.sendMessage(userMessage);
|
|
80
|
+
if (error) {
|
|
81
|
+
return { error };
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
const container = document.createElement('div');
|
|
85
|
+
const embed = new ConversationMessage(container, {
|
|
86
|
+
...this.viewConfig,
|
|
87
|
+
sessionId: data.sessionId,
|
|
88
|
+
genNo: data.genNo,
|
|
89
|
+
acSessionId: data.stateKey.transactionId,
|
|
90
|
+
acGenNo: data.stateKey.generationNumber,
|
|
91
|
+
});
|
|
92
|
+
await embed.render();
|
|
93
|
+
return { container };
|
|
94
|
+
}
|
|
95
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import {
|
|
2
|
+
ConversationEmbed,
|
|
3
|
+
ConversationViewConfig,
|
|
4
|
+
} from './conversation';
|
|
5
|
+
import * as authInstance from '../auth';
|
|
6
|
+
import { init } from '../index';
|
|
7
|
+
import { Action, AuthType, RuntimeFilterOp } from '../types';
|
|
8
|
+
import {
|
|
9
|
+
executeAfterWait,
|
|
10
|
+
getDocumentBody,
|
|
11
|
+
getIFrameSrc,
|
|
12
|
+
getRootEl,
|
|
13
|
+
fixedEncodeURI,
|
|
14
|
+
defaultParamsWithoutHiddenActions as defaultParams,
|
|
15
|
+
expectUrlMatchesWithParams,
|
|
16
|
+
} from '../test/test-utils';
|
|
17
|
+
|
|
18
|
+
const thoughtSpotHost = 'tshost';
|
|
19
|
+
|
|
20
|
+
beforeAll(() => {
|
|
21
|
+
init({
|
|
22
|
+
thoughtSpotHost,
|
|
23
|
+
authType: AuthType.None,
|
|
24
|
+
});
|
|
25
|
+
jest.spyOn(authInstance, 'postLoginService').mockImplementation(() => Promise.resolve({}));
|
|
26
|
+
spyOn(window, 'alert');
|
|
27
|
+
document.body.innerHTML = getDocumentBody();
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
describe('ConversationEmbed', () => {
|
|
31
|
+
it('should render the conversation embed', async () => {
|
|
32
|
+
const viewConfig: ConversationViewConfig = {
|
|
33
|
+
worksheetId: 'worksheetId',
|
|
34
|
+
searchOptions: {
|
|
35
|
+
searchQuery: 'searchQuery',
|
|
36
|
+
},
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
const conversationEmbed = new ConversationEmbed(getRootEl(), viewConfig);
|
|
40
|
+
await conversationEmbed.render();
|
|
41
|
+
expectUrlMatchesWithParams(
|
|
42
|
+
getIFrameSrc(),
|
|
43
|
+
`http://${thoughtSpotHost}/v2/?${defaultParams}#/embed/insights/conv-assist?worksheet=worksheetId&query=searchQuery`,
|
|
44
|
+
);
|
|
45
|
+
});
|
|
46
|
+
});
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { ViewConfig, Param } from '../types';
|
|
2
|
+
import { TsEmbed } from './ts-embed';
|
|
3
|
+
import { getQueryParamString } from '../utils';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Configuration for search options
|
|
7
|
+
*/
|
|
8
|
+
export interface SearchOptions {
|
|
9
|
+
/**
|
|
10
|
+
* The query string to pass to start the Conversation.
|
|
11
|
+
*/
|
|
12
|
+
searchQuery: string;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export interface ConversationViewConfig extends ViewConfig {
|
|
16
|
+
/**
|
|
17
|
+
* The ID of the worksheet to use for the conversation.
|
|
18
|
+
*/
|
|
19
|
+
worksheetId: string;
|
|
20
|
+
/**
|
|
21
|
+
* Ability to pass a starting search query to the conversation.
|
|
22
|
+
*/
|
|
23
|
+
searchOptions?: SearchOptions;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export class ConversationEmbed extends TsEmbed {
|
|
27
|
+
constructor(container: HTMLElement, protected viewConfig: ConversationViewConfig) {
|
|
28
|
+
super(container, viewConfig);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
public getIframeSrc() {
|
|
32
|
+
const {
|
|
33
|
+
worksheetId,
|
|
34
|
+
searchOptions,
|
|
35
|
+
} = this.viewConfig;
|
|
36
|
+
const path = 'insights/conv-assist';
|
|
37
|
+
const queryParams = this.getBaseQueryParams();
|
|
38
|
+
|
|
39
|
+
let query = '';
|
|
40
|
+
const queryParamsString = getQueryParamString(queryParams, true);
|
|
41
|
+
if (queryParamsString) {
|
|
42
|
+
query = `?${queryParamsString}`;
|
|
43
|
+
}
|
|
44
|
+
const tsPostHashParams = this.getThoughtSpotPostUrlParams({
|
|
45
|
+
worksheet: worksheetId,
|
|
46
|
+
query: searchOptions.searchQuery,
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
return `${this.getEmbedBasePath(query)}/embed/${path}${tsPostHashParams}`;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
public async render(): Promise<ConversationEmbed> {
|
|
53
|
+
super.render();
|
|
54
|
+
const src = this.getIframeSrc();
|
|
55
|
+
await this.renderIFrame(src);
|
|
56
|
+
return this;
|
|
57
|
+
}
|
|
58
|
+
}
|
package/src/embed/embed.spec.ts
CHANGED
|
@@ -53,25 +53,3 @@ describe('test view config', () => {
|
|
|
53
53
|
});
|
|
54
54
|
});
|
|
55
55
|
});
|
|
56
|
-
|
|
57
|
-
describe('Custom CSS Url', () => {
|
|
58
|
-
beforeEach(() => {
|
|
59
|
-
document.body.innerHTML = getDocumentBody();
|
|
60
|
-
});
|
|
61
|
-
|
|
62
|
-
test('passing customCssUrl should set the correct query params on the iframe', async (done) => {
|
|
63
|
-
init({
|
|
64
|
-
thoughtSpotHost,
|
|
65
|
-
authType: AuthType.None,
|
|
66
|
-
customCssUrl: 'bla.com/foo.css',
|
|
67
|
-
});
|
|
68
|
-
|
|
69
|
-
const embed = new SearchEmbed(getRootEl(), defaultViewConfig);
|
|
70
|
-
embed.render();
|
|
71
|
-
executeAfterWait(() => {
|
|
72
|
-
const iframe = getIFrameEl();
|
|
73
|
-
expect(iframe.src.includes('customCssUrl=bla.com/foo.css')).toBe(true);
|
|
74
|
-
done();
|
|
75
|
-
});
|
|
76
|
-
});
|
|
77
|
-
});
|
|
@@ -67,6 +67,20 @@ describe('Liveboard/viz embed tests', () => {
|
|
|
67
67
|
});
|
|
68
68
|
});
|
|
69
69
|
|
|
70
|
+
test('should render liveboard with data panel v2 flag set to true by default', async () => {
|
|
71
|
+
const liveboardEmbed = new LiveboardEmbed(getRootEl(), {
|
|
72
|
+
...defaultViewConfig,
|
|
73
|
+
liveboardId,
|
|
74
|
+
} as LiveboardViewConfig);
|
|
75
|
+
liveboardEmbed.render();
|
|
76
|
+
await executeAfterWait(() => {
|
|
77
|
+
expectUrlMatchesWithParams(
|
|
78
|
+
getIFrameSrc(),
|
|
79
|
+
`http://${thoughtSpotHost}/?embedApp=true${defaultParams}${prefixParams}&enableDataPanelV2=true#/embed/viz/${liveboardId}`,
|
|
80
|
+
);
|
|
81
|
+
});
|
|
82
|
+
});
|
|
83
|
+
|
|
70
84
|
test('should set disabled actions', async () => {
|
|
71
85
|
const liveboardEmbed = new LiveboardEmbed(getRootEl(), {
|
|
72
86
|
disabledActions: [Action.DownloadAsCsv, Action.DownloadAsPdf, Action.DownloadAsXlsx],
|
|
@@ -227,6 +241,54 @@ describe('Liveboard/viz embed tests', () => {
|
|
|
227
241
|
});
|
|
228
242
|
});
|
|
229
243
|
|
|
244
|
+
test('Should add isLiveboardCompactHeaderEnabled flag to the iframe src', async () => {
|
|
245
|
+
const liveboardEmbed = new LiveboardEmbed(getRootEl(), {
|
|
246
|
+
...defaultViewConfig,
|
|
247
|
+
liveboardId,
|
|
248
|
+
isLiveboardCompactHeaderEnabled: false,
|
|
249
|
+
} as LiveboardViewConfig);
|
|
250
|
+
|
|
251
|
+
liveboardEmbed.render();
|
|
252
|
+
await executeAfterWait(() => {
|
|
253
|
+
expectUrlMatchesWithParams(
|
|
254
|
+
getIFrameSrc(),
|
|
255
|
+
`http://${thoughtSpotHost}/?embedApp=true${defaultParams}&isLiveboardHeaderV2Enabled=false${prefixParams}#/embed/viz/${liveboardId}`,
|
|
256
|
+
);
|
|
257
|
+
});
|
|
258
|
+
});
|
|
259
|
+
|
|
260
|
+
test('Should add showLiveboardReverifyBanner flag to the iframe src', async () => {
|
|
261
|
+
const liveboardEmbed = new LiveboardEmbed(getRootEl(), {
|
|
262
|
+
...defaultViewConfig,
|
|
263
|
+
liveboardId,
|
|
264
|
+
showLiveboardReverifyBanner: false,
|
|
265
|
+
} as LiveboardViewConfig);
|
|
266
|
+
|
|
267
|
+
liveboardEmbed.render();
|
|
268
|
+
await executeAfterWait(() => {
|
|
269
|
+
expectUrlMatchesWithParams(
|
|
270
|
+
getIFrameSrc(),
|
|
271
|
+
`http://${thoughtSpotHost}/?embedApp=true${defaultParams}&showLiveboardReverifyBanner=false${prefixParams}#/embed/viz/${liveboardId}`,
|
|
272
|
+
);
|
|
273
|
+
});
|
|
274
|
+
});
|
|
275
|
+
|
|
276
|
+
test('Should add showLiveboardVerifiedBadge flag to the iframe src', async () => {
|
|
277
|
+
const liveboardEmbed = new LiveboardEmbed(getRootEl(), {
|
|
278
|
+
...defaultViewConfig,
|
|
279
|
+
liveboardId,
|
|
280
|
+
showLiveboardVerifiedBadge: false,
|
|
281
|
+
} as LiveboardViewConfig);
|
|
282
|
+
|
|
283
|
+
liveboardEmbed.render();
|
|
284
|
+
await executeAfterWait(() => {
|
|
285
|
+
expectUrlMatchesWithParams(
|
|
286
|
+
getIFrameSrc(),
|
|
287
|
+
`http://${thoughtSpotHost}/?embedApp=true${defaultParams}&showLiveboardVerifiedBadge=false${prefixParams}#/embed/viz/${liveboardId}`,
|
|
288
|
+
);
|
|
289
|
+
});
|
|
290
|
+
});
|
|
291
|
+
|
|
230
292
|
test('should not append runtime filters in URL if excludeRuntimeFiltersfromURL is true', async () => {
|
|
231
293
|
const liveboardEmbed = new LiveboardEmbed(getRootEl(), {
|
|
232
294
|
...defaultViewConfig,
|
package/src/embed/liveboard.ts
CHANGED
|
@@ -284,6 +284,48 @@ export interface LiveboardViewConfig
|
|
|
284
284
|
* @version SDK: 1.32.0 | ThoughtSpot: 10.0.0.cl
|
|
285
285
|
*/
|
|
286
286
|
showPreviewLoader?: boolean;
|
|
287
|
+
/**
|
|
288
|
+
* This flag is used to enable the compact header in liveboard
|
|
289
|
+
* @type {boolean}
|
|
290
|
+
* @default false
|
|
291
|
+
* @version SDK: 1.35.0 | ThoughtSpot:10.3.0.cl
|
|
292
|
+
* @example
|
|
293
|
+
* ```js
|
|
294
|
+
* const embed = new LiveboardEmbed('#embed-container', {
|
|
295
|
+
* ... // other options
|
|
296
|
+
* isLiveboardCompactHeaderEnabled: true,
|
|
297
|
+
* })
|
|
298
|
+
* ```
|
|
299
|
+
*/
|
|
300
|
+
isLiveboardCompactHeaderEnabled?: boolean;
|
|
301
|
+
/**
|
|
302
|
+
* This flag is used to show/hide verified Icon in liveboard compact header
|
|
303
|
+
* @type {boolean}
|
|
304
|
+
* @default true
|
|
305
|
+
* @version SDK: 1.35.0 | ThoughtSpot:10.4.0.cl
|
|
306
|
+
* @example
|
|
307
|
+
* ```js
|
|
308
|
+
* const embed = new LiveboardEmbed('#embed-container', {
|
|
309
|
+
* ... // other options
|
|
310
|
+
* showLiveboardVerifiedBadge: true,
|
|
311
|
+
* })
|
|
312
|
+
* ```
|
|
313
|
+
*/
|
|
314
|
+
showLiveboardVerifiedBadge?: boolean;
|
|
315
|
+
/**
|
|
316
|
+
* This flag is used to show/hide re-verify banner in liveboard compact header
|
|
317
|
+
* @type {boolean}
|
|
318
|
+
* @default true
|
|
319
|
+
* @version SDK: 1.35.0 | ThoughtSpot:10.4.0.cl
|
|
320
|
+
* @example
|
|
321
|
+
* ```js
|
|
322
|
+
* const embed = new LiveboardEmbed('#embed-container', {
|
|
323
|
+
* ... // other options
|
|
324
|
+
* showLiveboardReverifyBanner: true,
|
|
325
|
+
* })
|
|
326
|
+
* ```
|
|
327
|
+
*/
|
|
328
|
+
showLiveboardReverifyBanner?: boolean;
|
|
287
329
|
}
|
|
288
330
|
|
|
289
331
|
/**
|
|
@@ -338,8 +380,12 @@ export class LiveboardEmbed extends V1Embed {
|
|
|
338
380
|
showLiveboardDescription,
|
|
339
381
|
showLiveboardTitle,
|
|
340
382
|
isLiveboardHeaderSticky = true,
|
|
383
|
+
isLiveboardCompactHeaderEnabled = false,
|
|
384
|
+
showLiveboardVerifiedBadge = true,
|
|
385
|
+
showLiveboardReverifyBanner = true,
|
|
341
386
|
enableAskSage,
|
|
342
387
|
enable2ColumnLayout,
|
|
388
|
+
dataPanelV2 = true,
|
|
343
389
|
} = this.viewConfig;
|
|
344
390
|
|
|
345
391
|
const preventLiveboardFilterRemoval = this.viewConfig.preventLiveboardFilterRemoval
|
|
@@ -387,7 +433,11 @@ export class LiveboardEmbed extends V1Embed {
|
|
|
387
433
|
}
|
|
388
434
|
|
|
389
435
|
params[Param.LiveboardHeaderSticky] = isLiveboardHeaderSticky;
|
|
436
|
+
params[Param.LiveboardHeaderV2] = isLiveboardCompactHeaderEnabled;
|
|
437
|
+
params[Param.ShowLiveboardVerifiedBadge] = showLiveboardVerifiedBadge;
|
|
438
|
+
params[Param.ShowLiveboardReverifyBanner] = showLiveboardReverifyBanner;
|
|
390
439
|
|
|
440
|
+
params[Param.DataPanelV2Enabled] = dataPanelV2;
|
|
391
441
|
const queryParams = getQueryParamString(params, true);
|
|
392
442
|
|
|
393
443
|
return queryParams;
|
|
@@ -557,6 +607,25 @@ export class LiveboardEmbed extends V1Embed {
|
|
|
557
607
|
this.render();
|
|
558
608
|
}
|
|
559
609
|
}
|
|
610
|
+
|
|
611
|
+
/**
|
|
612
|
+
* Returns the full url of the liveboard/viz which can be used to open
|
|
613
|
+
* this liveboard inside the full Thoughtspot application in a new tab.
|
|
614
|
+
*
|
|
615
|
+
* @returns url string
|
|
616
|
+
*/
|
|
617
|
+
public getLiveboardUrl(): string {
|
|
618
|
+
let url = `${this.thoughtSpotHost}/#/pinboard/${this.viewConfig.liveboardId}`;
|
|
619
|
+
if (this.viewConfig.activeTabId) {
|
|
620
|
+
url = `${url}/tab/${this.viewConfig.activeTabId}`;
|
|
621
|
+
}
|
|
622
|
+
|
|
623
|
+
if (this.viewConfig.vizId) {
|
|
624
|
+
url = `${url}/${this.viewConfig.vizId}`;
|
|
625
|
+
}
|
|
626
|
+
|
|
627
|
+
return url;
|
|
628
|
+
}
|
|
560
629
|
}
|
|
561
630
|
|
|
562
631
|
/**
|