@thoughtspot/visual-embed-sdk
Version:
ThoughtSpot Embed SDK
60 lines • 2.11 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getAnswerFromQuery = void 0;
const tslib_1 = require("tslib");
const embedConfig_1 = require("../../../embed/embedConfig");
const answerService_1 = require("../answerService/answerService");
const graphql_request_1 = require("../graphql-request");
const queries = tslib_1.__importStar(require("./nls-answer-queries"));
/**
* Get answer from natural language query
* @param query string
* @param worksheetId string
* @returns AnswerService and the suggestion response.
* @version SDK: 1.33.1 | ThoughtSpot: 10.3.0.cl
* @example
* ```js
* const { answer } = await getAnswerFromQuery('revenue', 'worksheetId');
* ```
*/
const getAnswerFromQuery = async (query, worksheetId) => {
const embedConfig = (0, embedConfig_1.getEmbedConfig)();
const resp = await (0, graphql_request_1.graphqlQuery)({
query: queries.getAnswerSessionFromQuery,
variables: {
params: {
facetSelections: [],
filterSelections: [
{
facetType: 'WORKSHEETS',
facetValue: [
worksheetId,
],
},
],
query,
worksheetFacetPayload: {
worksheetId,
},
searchOption: 'AI_ANSWER',
},
},
thoughtSpotHost: embedConfig.thoughtSpotHost,
isCompositeQuery: false,
});
const suggestion = resp.sageQuerySuggestions[0];
const answerSession = {
sessionId: suggestion.sessionId,
genNo: suggestion.genNo,
acSession: {
sessionId: suggestion.stateKey.transactionId,
genNo: suggestion.stateKey.generationNumber,
},
};
return {
answer: new answerService_1.AnswerService(answerSession, null, embedConfig.thoughtSpotHost),
suggestion,
};
};
exports.getAnswerFromQuery = getAnswerFromQuery;
//# sourceMappingURL=nls-answer-service.js.map