@thoughtspot/visual-embed-sdk 1.39.1 → 1.39.2-alpha.2
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 +1 -1
- package/cjs/src/config.spec.js +9 -0
- package/cjs/src/config.spec.js.map +1 -1
- package/cjs/src/embed/app.d.ts +75 -15
- package/cjs/src/embed/app.d.ts.map +1 -1
- package/cjs/src/embed/app.js +69 -9
- package/cjs/src/embed/app.js.map +1 -1
- package/cjs/src/embed/app.spec.js +374 -12
- package/cjs/src/embed/app.spec.js.map +1 -1
- package/cjs/src/embed/bodyless-conversation.d.ts +19 -7
- package/cjs/src/embed/bodyless-conversation.d.ts.map +1 -1
- package/cjs/src/embed/bodyless-conversation.js +24 -4
- package/cjs/src/embed/bodyless-conversation.js.map +1 -1
- package/cjs/src/embed/bodyless-conversation.spec.js +8 -190
- package/cjs/src/embed/bodyless-conversation.spec.js.map +1 -1
- package/cjs/src/embed/conversation.spec.js +28 -0
- package/cjs/src/embed/conversation.spec.js.map +1 -1
- package/cjs/src/embed/embedConfig.d.ts +9 -7
- package/cjs/src/embed/embedConfig.d.ts.map +1 -1
- package/cjs/src/embed/embedConfig.js +9 -7
- package/cjs/src/embed/embedConfig.js.map +1 -1
- package/cjs/src/embed/liveboard.d.ts +56 -17
- package/cjs/src/embed/liveboard.d.ts.map +1 -1
- package/cjs/src/embed/liveboard.js +48 -4
- package/cjs/src/embed/liveboard.js.map +1 -1
- package/cjs/src/embed/liveboard.spec.js +215 -11
- package/cjs/src/embed/liveboard.spec.js.map +1 -1
- package/cjs/src/embed/ts-embed.d.ts +5 -0
- package/cjs/src/embed/ts-embed.d.ts.map +1 -1
- package/cjs/src/embed/ts-embed.js +16 -1
- package/cjs/src/embed/ts-embed.js.map +1 -1
- package/cjs/src/embed/ts-embed.spec.js +164 -0
- package/cjs/src/embed/ts-embed.spec.js.map +1 -1
- package/cjs/src/errors.d.ts +1 -0
- package/cjs/src/errors.d.ts.map +1 -1
- package/cjs/src/errors.js +1 -0
- package/cjs/src/errors.js.map +1 -1
- package/cjs/src/index.d.ts +2 -2
- package/cjs/src/index.d.ts.map +1 -1
- package/cjs/src/index.js +2 -1
- package/cjs/src/index.js.map +1 -1
- package/cjs/src/react/all-types-export.d.ts +1 -1
- package/cjs/src/react/all-types-export.d.ts.map +1 -1
- package/cjs/src/react/all-types-export.js +3 -2
- package/cjs/src/react/all-types-export.js.map +1 -1
- package/cjs/src/react/index.d.ts +71 -20
- package/cjs/src/react/index.d.ts.map +1 -1
- package/cjs/src/react/index.js +79 -42
- package/cjs/src/react/index.js.map +1 -1
- package/cjs/src/react/index.spec.js +436 -100
- package/cjs/src/react/index.spec.js.map +1 -1
- package/cjs/src/types.d.ts +80 -6
- package/cjs/src/types.d.ts.map +1 -1
- package/cjs/src/types.js +45 -1
- package/cjs/src/types.js.map +1 -1
- package/cjs/src/utils/graphql/nlsService/conversation-service.d.ts.map +1 -1
- package/cjs/src/utils/graphql/nlsService/conversation-service.js +2 -0
- package/cjs/src/utils/graphql/nlsService/conversation-service.js.map +1 -1
- package/cjs/src/utils/processTrigger.js +2 -1
- package/cjs/src/utils/processTrigger.js.map +1 -1
- package/cjs/src/utils.d.ts +6 -0
- package/cjs/src/utils.d.ts.map +1 -1
- package/cjs/src/utils.js +23 -3
- package/cjs/src/utils.js.map +1 -1
- package/cjs/src/utils.spec.js +237 -1
- package/cjs/src/utils.spec.js.map +1 -1
- package/dist/{index-JaFaxrvQ.js → index-CmEQfuE3.js} +1 -1
- package/dist/index-DeFzsyFF.js +7371 -0
- package/dist/index-Dpf0rd6w.js +7371 -0
- package/dist/index-UuEbsISo.js +7447 -0
- package/dist/index-e3Uw3YFO.js +7371 -0
- package/dist/src/embed/app.d.ts +75 -15
- package/dist/src/embed/app.d.ts.map +1 -1
- package/dist/src/embed/bodyless-conversation.d.ts +19 -7
- package/dist/src/embed/bodyless-conversation.d.ts.map +1 -1
- package/dist/src/embed/embedConfig.d.ts +9 -7
- package/dist/src/embed/embedConfig.d.ts.map +1 -1
- package/dist/src/embed/liveboard.d.ts +56 -17
- package/dist/src/embed/liveboard.d.ts.map +1 -1
- package/dist/src/embed/ts-embed.d.ts +5 -0
- package/dist/src/embed/ts-embed.d.ts.map +1 -1
- package/dist/src/errors.d.ts +1 -0
- package/dist/src/errors.d.ts.map +1 -1
- package/dist/src/index.d.ts +2 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/react/all-types-export.d.ts +1 -1
- package/dist/src/react/all-types-export.d.ts.map +1 -1
- package/dist/src/react/index.d.ts +71 -20
- package/dist/src/react/index.d.ts.map +1 -1
- package/dist/src/types.d.ts +80 -6
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/utils/graphql/nlsService/conversation-service.d.ts.map +1 -1
- package/dist/src/utils.d.ts +6 -0
- package/dist/src/utils.d.ts.map +1 -1
- package/dist/tsembed-react.es.js +320 -78
- package/dist/tsembed-react.js +320 -76
- package/dist/tsembed.es.js +238 -31
- package/dist/tsembed.js +236 -29
- package/dist/visual-embed-sdk-react-full.d.ts +288 -72
- package/dist/visual-embed-sdk-react.d.ts +288 -72
- package/dist/visual-embed-sdk.d.ts +218 -53
- package/lib/package.json +1 -1
- package/lib/src/config.spec.js +9 -0
- package/lib/src/config.spec.js.map +1 -1
- package/lib/src/embed/app.d.ts +75 -15
- package/lib/src/embed/app.d.ts.map +1 -1
- package/lib/src/embed/app.js +69 -9
- package/lib/src/embed/app.js.map +1 -1
- package/lib/src/embed/app.spec.js +376 -14
- package/lib/src/embed/app.spec.js.map +1 -1
- package/lib/src/embed/bodyless-conversation.d.ts +19 -7
- package/lib/src/embed/bodyless-conversation.d.ts.map +1 -1
- package/lib/src/embed/bodyless-conversation.js +23 -4
- package/lib/src/embed/bodyless-conversation.js.map +1 -1
- package/lib/src/embed/bodyless-conversation.spec.js +9 -191
- package/lib/src/embed/bodyless-conversation.spec.js.map +1 -1
- package/lib/src/embed/conversation.spec.js +30 -2
- package/lib/src/embed/conversation.spec.js.map +1 -1
- package/lib/src/embed/embedConfig.d.ts +9 -7
- package/lib/src/embed/embedConfig.d.ts.map +1 -1
- package/lib/src/embed/embedConfig.js +9 -7
- package/lib/src/embed/embedConfig.js.map +1 -1
- package/lib/src/embed/liveboard.d.ts +56 -17
- package/lib/src/embed/liveboard.d.ts.map +1 -1
- package/lib/src/embed/liveboard.js +49 -5
- package/lib/src/embed/liveboard.js.map +1 -1
- package/lib/src/embed/liveboard.spec.js +215 -11
- package/lib/src/embed/liveboard.spec.js.map +1 -1
- package/lib/src/embed/ts-embed.d.ts +5 -0
- package/lib/src/embed/ts-embed.d.ts.map +1 -1
- package/lib/src/embed/ts-embed.js +16 -1
- package/lib/src/embed/ts-embed.js.map +1 -1
- package/lib/src/embed/ts-embed.spec.js +164 -0
- package/lib/src/embed/ts-embed.spec.js.map +1 -1
- package/lib/src/errors.d.ts +1 -0
- package/lib/src/errors.d.ts.map +1 -1
- package/lib/src/errors.js +1 -0
- package/lib/src/errors.js.map +1 -1
- package/lib/src/index.d.ts +2 -2
- package/lib/src/index.d.ts.map +1 -1
- package/lib/src/index.js +2 -2
- package/lib/src/index.js.map +1 -1
- package/lib/src/react/all-types-export.d.ts +1 -1
- package/lib/src/react/all-types-export.d.ts.map +1 -1
- package/lib/src/react/all-types-export.js +1 -1
- package/lib/src/react/all-types-export.js.map +1 -1
- package/lib/src/react/index.d.ts +71 -20
- package/lib/src/react/index.d.ts.map +1 -1
- package/lib/src/react/index.js +79 -43
- package/lib/src/react/index.js.map +1 -1
- package/lib/src/react/index.spec.js +439 -103
- package/lib/src/react/index.spec.js.map +1 -1
- package/lib/src/types.d.ts +80 -6
- package/lib/src/types.d.ts.map +1 -1
- package/lib/src/types.js +45 -1
- package/lib/src/types.js.map +1 -1
- package/lib/src/utils/graphql/nlsService/conversation-service.d.ts.map +1 -1
- package/lib/src/utils/graphql/nlsService/conversation-service.js +2 -0
- package/lib/src/utils/graphql/nlsService/conversation-service.js.map +1 -1
- package/lib/src/utils/processTrigger.js +2 -1
- package/lib/src/utils/processTrigger.js.map +1 -1
- package/lib/src/utils.d.ts +6 -0
- package/lib/src/utils.d.ts.map +1 -1
- package/lib/src/utils.js +21 -2
- package/lib/src/utils.js.map +1 -1
- package/lib/src/utils.spec.js +238 -2
- package/lib/src/utils.spec.js.map +1 -1
- package/lib/src/visual-embed-sdk.d.ts +219 -54
- package/package.json +1 -1
- package/src/config.spec.ts +11 -0
- package/src/embed/app.spec.ts +479 -26
- package/src/embed/app.ts +133 -27
- package/src/embed/bodyless-conversation.spec.ts +9 -203
- package/src/embed/bodyless-conversation.ts +24 -10
- package/src/embed/conversation.spec.ts +40 -2
- package/src/embed/embedConfig.ts +10 -8
- package/src/embed/liveboard.spec.ts +256 -5
- package/src/embed/liveboard.ts +99 -27
- package/src/embed/ts-embed.spec.ts +225 -0
- package/src/embed/ts-embed.ts +19 -0
- package/src/errors.ts +1 -0
- package/src/index.ts +2 -0
- package/src/react/all-types-export.ts +2 -1
- package/src/react/index.spec.tsx +556 -157
- package/src/react/index.tsx +117 -51
- package/src/types.ts +117 -43
- package/src/utils/graphql/nlsService/conversation-service.ts +2 -0
- package/src/utils/processTrigger.ts +1 -1
- package/src/utils.spec.ts +279 -2
- package/src/utils.ts +28 -2
package/lib/src/react/index.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ import { SageEmbed as _SageEmbed, SageViewConfig } from '../embed/sage';
|
|
|
5
5
|
import { SearchEmbed as _SearchEmbed, SearchViewConfig } from '../embed/search';
|
|
6
6
|
import { AppEmbed as _AppEmbed, AppViewConfig } from '../embed/app';
|
|
7
7
|
import { LiveboardEmbed as _LiveboardEmbed, LiveboardViewConfig } from '../embed/liveboard';
|
|
8
|
-
import {
|
|
8
|
+
import { SpotterAgentEmbedViewConfig, ConversationMessage as _ConversationMessage, SpotterAgentMessageViewConfig } from '../embed/bodyless-conversation';
|
|
9
9
|
import { EmbedConfig } from '../types';
|
|
10
10
|
import { EmbedProps } from './util';
|
|
11
11
|
import { SpotterEmbed as _SpotterEmbed, SpotterEmbedViewConfig, ConversationEmbed as _ConversationEmbed, ConversationViewConfig } from '../embed/conversation';
|
|
@@ -236,33 +236,42 @@ export declare const SpotterEmbed: React.ForwardRefExoticComponent<SpotterEmbedP
|
|
|
236
236
|
* ```
|
|
237
237
|
*/
|
|
238
238
|
export declare const ConversationEmbed: React.ForwardRefExoticComponent<ConversationEmbedProps & React.RefAttributes<_ConversationEmbed>>;
|
|
239
|
-
|
|
239
|
+
/**
|
|
240
|
+
* React component for individual conversation messages from SpotterAgent.
|
|
241
|
+
* This component is used internally by the useSpotterAgent hook.
|
|
242
|
+
* @version SDK: 1.37.0 | ThoughtSpot: 10.9.0.cl
|
|
243
|
+
*/
|
|
244
|
+
interface ConversationMessageProps extends EmbedProps, SpotterAgentMessageViewConfig {
|
|
240
245
|
}
|
|
246
|
+
export declare const ConversationMessage: React.ForwardRefExoticComponent<ConversationMessageProps & React.RefAttributes<_ConversationMessage>>;
|
|
241
247
|
/**
|
|
242
|
-
* React component for
|
|
243
|
-
*
|
|
248
|
+
* React component for displaying individual conversation messages from SpotterAgent.
|
|
249
|
+
*
|
|
250
|
+
* This component renders a single message response from your ThoughtSpot conversation,
|
|
251
|
+
* showing charts, visualizations, or text responses based on the user's query.
|
|
252
|
+
*
|
|
244
253
|
* @example
|
|
245
254
|
* ```tsx
|
|
246
|
-
*
|
|
247
|
-
*
|
|
255
|
+
* const { sendMessage } = useSpotterAgent({ worksheetId: 'worksheetId' });
|
|
256
|
+
* const result = await sendMessage('show me sales by region');
|
|
248
257
|
*
|
|
249
|
-
*
|
|
250
|
-
*
|
|
251
|
-
*
|
|
252
|
-
* document.body.appendChild(container);
|
|
253
|
-
* }
|
|
254
|
-
* };
|
|
258
|
+
* if (!result.error) {
|
|
259
|
+
* // Simple usage - just pass the message data
|
|
260
|
+
* <SpotterMessage message={result.message} />
|
|
255
261
|
*
|
|
256
|
-
*
|
|
257
|
-
*
|
|
258
|
-
*
|
|
259
|
-
*
|
|
260
|
-
*
|
|
261
|
-
* );
|
|
262
|
+
* // With optional query for context
|
|
263
|
+
* <SpotterMessage
|
|
264
|
+
* message={result.message}
|
|
265
|
+
* query={result.query}
|
|
266
|
+
* />
|
|
262
267
|
* }
|
|
263
268
|
* ```
|
|
269
|
+
* @version SDK: 1.39.0 | ThoughtSpot: 10.11.0.cl
|
|
264
270
|
*/
|
|
265
|
-
export declare const
|
|
271
|
+
export declare const SpotterMessage: React.ForwardRefExoticComponent<{
|
|
272
|
+
message: SpotterAgentMessageViewConfig;
|
|
273
|
+
query?: string;
|
|
274
|
+
} & Omit<EmbedProps, keyof SpotterAgentMessageViewConfig> & React.RefAttributes<_ConversationMessage>>;
|
|
266
275
|
/**
|
|
267
276
|
* React component for PreRendered Conversation embed.
|
|
268
277
|
*
|
|
@@ -282,7 +291,7 @@ export declare const SpotterAgentEmbed: React.ForwardRefExoticComponent<SpotterA
|
|
|
282
291
|
* ```
|
|
283
292
|
*/
|
|
284
293
|
export declare const PreRenderedConversationEmbed: React.ForwardRefExoticComponent<SpotterEmbedProps & PreRenderProps & React.RefAttributes<_SpotterEmbed>>;
|
|
285
|
-
type EmbedComponent = typeof SearchEmbed | typeof AppEmbed | typeof LiveboardEmbed | typeof SearchBarEmbed | typeof SageEmbed | typeof
|
|
294
|
+
type EmbedComponent = typeof SearchEmbed | typeof AppEmbed | typeof LiveboardEmbed | typeof SearchBarEmbed | typeof SageEmbed | typeof ConversationMessage | typeof SpotterMessage | typeof SpotterEmbed | typeof ConversationEmbed;
|
|
286
295
|
/**
|
|
287
296
|
* Get a reference to the embed component to trigger events on the component.
|
|
288
297
|
* @example
|
|
@@ -314,5 +323,47 @@ export declare function useEmbedRef<T extends EmbedComponent>(): React.MutableRe
|
|
|
314
323
|
* @version SDK: 1.36.2 | ThoughtSpot: *
|
|
315
324
|
*/
|
|
316
325
|
export declare function useInit(config: EmbedConfig): React.MutableRefObject<AuthEventEmitter>;
|
|
326
|
+
/**
|
|
327
|
+
* React hook for interacting with SpotterAgent AI conversations.
|
|
328
|
+
*
|
|
329
|
+
* This hook provides a sendMessage function that allows you to send natural language
|
|
330
|
+
* queries to your data and get back AI-generated responses with visualizations.
|
|
331
|
+
*
|
|
332
|
+
* @param config - Configuration object containing worksheetId and other options
|
|
333
|
+
* @returns Object with sendMessage function that returns conversation results
|
|
334
|
+
* @example
|
|
335
|
+
* ```tsx
|
|
336
|
+
* const { sendMessage } = useSpotterAgent({ worksheetId: 'worksheetId' });
|
|
337
|
+
*
|
|
338
|
+
* const handleQuery = async () => {
|
|
339
|
+
* const result = await sendMessage('show me sales by region');
|
|
340
|
+
*
|
|
341
|
+
* if (!result.error) {
|
|
342
|
+
* // Display the message response
|
|
343
|
+
* <SpotterMessage message={result.message} />
|
|
344
|
+
* } else {
|
|
345
|
+
* console.error('Error:', result.error);
|
|
346
|
+
* }
|
|
347
|
+
* };
|
|
348
|
+
* ```
|
|
349
|
+
* @version SDK: 1.39.0 | ThoughtSpot: 10.11.0.cl
|
|
350
|
+
*/
|
|
351
|
+
export declare function useSpotterAgent(config: SpotterAgentEmbedViewConfig): {
|
|
352
|
+
sendMessage: (query: string) => Promise<{
|
|
353
|
+
error: any;
|
|
354
|
+
query?: undefined;
|
|
355
|
+
message?: undefined;
|
|
356
|
+
} | {
|
|
357
|
+
query: string;
|
|
358
|
+
message: {
|
|
359
|
+
worksheetId: string;
|
|
360
|
+
sessionId: any;
|
|
361
|
+
genNo: any;
|
|
362
|
+
acSessionId: any;
|
|
363
|
+
acGenNo: any;
|
|
364
|
+
};
|
|
365
|
+
error?: undefined;
|
|
366
|
+
}>;
|
|
367
|
+
};
|
|
317
368
|
export { LiveboardViewConfig, SearchViewConfig, AppViewConfig, Page, RuntimeFilter, RuntimeFilterOp, EmbedEvent, HostEvent, Action, FrameParams, HomeLeftNavItem, HomepageModule, LogLevel, getSessionInfo, ListPageColumns, } from '../index';
|
|
318
369
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/react/index.tsx"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/react/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAEnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3C,OAAO,EAAE,cAAc,IAAI,eAAe,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC7F,OAAO,EAAE,SAAS,IAAI,UAAU,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,EAAE,WAAW,IAAI,YAAY,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAChF,OAAO,EAAE,QAAQ,IAAI,SAAS,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,EAAE,cAAc,IAAI,eAAe,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAE5F,OAAO,EAA2C,2BAA2B,EAAE,mBAAmB,IAAI,oBAAoB,EAAE,6BAA6B,EAAE,MAAM,gCAAgC,CAAC;AAElM,OAAO,EAAE,WAAW,EAAkC,MAAM,UAAU,CAAC;AACvE,OAAO,EAAE,UAAU,EAA4B,MAAM,QAAQ,CAAC;AAC9D,OAAO,EAAE,YAAY,IAAI,aAAa,EAAE,sBAAsB,EAAE,iBAAiB,IAAI,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAwF/J,UAAU,WAAY,SAAQ,UAAU,EAAE,gBAAgB;CAAI;AAE9D,UAAU,cAAc;IACpB;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,WAAW,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,WAAW,kFAEvB,CAAC;AAEF,eAAO,MAAM,sBAAsB,mGAId,CAAC;AAEtB,UAAU,QAAS,SAAQ,UAAU,EAAE,aAAa;CAAI;AAExD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,QAAQ,4EAAyE,CAAC;AAE/F;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,mBAAmB,6FAId,CAAC;AAEnB,UAAU,cAAe,SAAQ,UAAU,EAAE,mBAAmB;CAAI;AAEpE;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,cAAc,wFAIT,CAAC;AAEnB,eAAO,MAAM,aAAa,wFAAiB,CAAC;AAE5C;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,yBAAyB,yGAId,CAAC;AAEzB,eAAO,MAAM,wBAAwB,yGAA4B,CAAC;AAElE,UAAU,mBAAoB,SAAQ,UAAU,EAAE,mBAAmB;CAAI;AAEzE;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,cAAc,6FAIT,CAAC;AAEnB;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,yBAAyB,8GAId,CAAC;AAEzB,UAAU,cAAe,SAAQ,UAAU,EAAE,cAAc;CAAI;AAE/D;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,SAAS,mFAErB,CAAC;AAEF;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,oBAAoB,oGAId,CAAC;AAEpB,UAAU,iBAAkB,SAAQ,UAAU,EAAE,sBAAsB;CAAI;AAC1E,UAAU,sBAAuB,SAAQ,UAAU,EAAE,sBAAsB;CAAI;AAE/E;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,YAAY,yFAIT,CAAC;AAGjB;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,iBAAiB,mGAIT,CAAC;AAEtB;;;;GAIG;AACH,UAAU,wBAAyB,SAAQ,UAAU,EAAE,6BAA6B;CAAG;AAEvF,eAAO,MAAM,mBAAmB,uGAIT,CAAC;AAOxB;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,cAAc;aA5Bd,6BAA6B;YAC9B,MAAM;sGAwChB,CAAC;AAEH;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,4BAA4B,0GAInB,CAAC;AAEvB,KAAK,cAAc,GAAG,OAAO,WAAW,GAClC,OAAO,QAAQ,GACf,OAAO,cAAc,GACrB,OAAO,cAAc,GACrB,OAAO,SAAS,GAChB,OAAO,mBAAmB,GAC1B,OAAO,cAAc,GACrB,OAAO,YAAY,GACnB,OAAO,iBAAiB,CAAC;AAE/B;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,cAAc,KAChD,KAAK,CAAC,gBAAgB,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAEhD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,OAAO,CAAC,MAAM,EAAE,WAAW,4CAQ1C;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,2BAA2B;yBAejB,MAAM;;;;;;;;;;;;;;;EAuBvD;AAED,OAAO,EACH,mBAAmB,EACnB,gBAAgB,EAChB,aAAa,EACb,IAAI,EACJ,aAAa,EACb,eAAe,EACf,UAAU,EACV,SAAS,EACT,MAAM,EACN,WAAW,EACX,eAAe,EACf,cAAc,EACd,QAAQ,EACR,cAAc,EACd,eAAe,GAClB,MAAM,UAAU,CAAC"}
|
package/lib/src/react/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import React, { useRef } from 'react';
|
|
2
|
+
import React, { useRef, useCallback } from 'react';
|
|
3
3
|
import useDeepCompareEffect from 'use-deep-compare-effect';
|
|
4
4
|
import { deepMerge } from '../utils';
|
|
5
5
|
import { SearchBarEmbed as _SearchBarEmbed } from '../embed/search-bar';
|
|
@@ -7,10 +7,11 @@ import { SageEmbed as _SageEmbed } from '../embed/sage';
|
|
|
7
7
|
import { SearchEmbed as _SearchEmbed } from '../embed/search';
|
|
8
8
|
import { AppEmbed as _AppEmbed } from '../embed/app';
|
|
9
9
|
import { LiveboardEmbed as _LiveboardEmbed } from '../embed/liveboard';
|
|
10
|
-
import { SpotterAgentEmbed as _SpotterAgentEmbed } from '../embed/bodyless-conversation';
|
|
10
|
+
import { SpotterAgentEmbed as _SpotterAgentEmbed, ConversationMessage as _ConversationMessage } from '../embed/bodyless-conversation';
|
|
11
11
|
import { getViewPropsAndListeners } from './util';
|
|
12
12
|
import { SpotterEmbed as _SpotterEmbed, ConversationEmbed as _ConversationEmbed } from '../embed/conversation';
|
|
13
13
|
import { init } from '../embed/base';
|
|
14
|
+
import { ERROR_MESSAGE } from '../errors';
|
|
14
15
|
const componentFactory = (EmbedConstructor,
|
|
15
16
|
// isPreRenderedComponent: Specifies whether the component being returned is
|
|
16
17
|
// intended for preRendering. If set to true, the component will call the
|
|
@@ -254,55 +255,34 @@ export const SpotterEmbed = componentFactory(_SpotterEmbed);
|
|
|
254
255
|
* ```
|
|
255
256
|
*/
|
|
256
257
|
export const ConversationEmbed = componentFactory(_ConversationEmbed);
|
|
258
|
+
export const ConversationMessage = componentFactory(_ConversationMessage);
|
|
257
259
|
/**
|
|
258
|
-
* React component for
|
|
259
|
-
*
|
|
260
|
+
* React component for displaying individual conversation messages from SpotterAgent.
|
|
261
|
+
*
|
|
262
|
+
* This component renders a single message response from your ThoughtSpot conversation,
|
|
263
|
+
* showing charts, visualizations, or text responses based on the user's query.
|
|
264
|
+
*
|
|
260
265
|
* @example
|
|
261
266
|
* ```tsx
|
|
262
|
-
*
|
|
263
|
-
*
|
|
267
|
+
* const { sendMessage } = useSpotterAgent({ worksheetId: 'worksheetId' });
|
|
268
|
+
* const result = await sendMessage('show me sales by region');
|
|
264
269
|
*
|
|
265
|
-
*
|
|
266
|
-
*
|
|
267
|
-
*
|
|
268
|
-
* document.body.appendChild(container);
|
|
269
|
-
* }
|
|
270
|
-
* };
|
|
270
|
+
* if (!result.error) {
|
|
271
|
+
* // Simple usage - just pass the message data
|
|
272
|
+
* <SpotterMessage message={result.message} />
|
|
271
273
|
*
|
|
272
|
-
*
|
|
273
|
-
*
|
|
274
|
-
*
|
|
275
|
-
*
|
|
276
|
-
*
|
|
277
|
-
* );
|
|
274
|
+
* // With optional query for context
|
|
275
|
+
* <SpotterMessage
|
|
276
|
+
* message={result.message}
|
|
277
|
+
* query={result.query}
|
|
278
|
+
* />
|
|
278
279
|
* }
|
|
279
280
|
* ```
|
|
281
|
+
* @version SDK: 1.39.0 | ThoughtSpot: 10.11.0.cl
|
|
280
282
|
*/
|
|
281
|
-
export const
|
|
282
|
-
const {
|
|
283
|
-
|
|
284
|
-
useDeepCompareEffect(() => {
|
|
285
|
-
if (serviceRef.current) {
|
|
286
|
-
serviceRef.current = null;
|
|
287
|
-
}
|
|
288
|
-
const configProps = {
|
|
289
|
-
...restProps,
|
|
290
|
-
...(className ? { containerClassName: className } : {})
|
|
291
|
-
};
|
|
292
|
-
serviceRef.current = new _SpotterAgentEmbed(configProps);
|
|
293
|
-
if (ref) {
|
|
294
|
-
if (typeof ref === 'function') {
|
|
295
|
-
ref(serviceRef.current);
|
|
296
|
-
}
|
|
297
|
-
else {
|
|
298
|
-
ref.current = serviceRef.current;
|
|
299
|
-
}
|
|
300
|
-
}
|
|
301
|
-
return () => {
|
|
302
|
-
serviceRef.current = null;
|
|
303
|
-
};
|
|
304
|
-
}, [props]);
|
|
305
|
-
return null;
|
|
283
|
+
export const SpotterMessage = React.forwardRef((props, ref) => {
|
|
284
|
+
const { message, query: _, ...otherProps } = props;
|
|
285
|
+
return (React.createElement(ConversationMessage, { ref: ref, ...message, ...otherProps }));
|
|
306
286
|
});
|
|
307
287
|
/**
|
|
308
288
|
* React component for PreRendered Conversation embed.
|
|
@@ -363,5 +343,61 @@ export function useInit(config) {
|
|
|
363
343
|
}, [config]);
|
|
364
344
|
return ref;
|
|
365
345
|
}
|
|
346
|
+
/**
|
|
347
|
+
* React hook for interacting with SpotterAgent AI conversations.
|
|
348
|
+
*
|
|
349
|
+
* This hook provides a sendMessage function that allows you to send natural language
|
|
350
|
+
* queries to your data and get back AI-generated responses with visualizations.
|
|
351
|
+
*
|
|
352
|
+
* @param config - Configuration object containing worksheetId and other options
|
|
353
|
+
* @returns Object with sendMessage function that returns conversation results
|
|
354
|
+
* @example
|
|
355
|
+
* ```tsx
|
|
356
|
+
* const { sendMessage } = useSpotterAgent({ worksheetId: 'worksheetId' });
|
|
357
|
+
*
|
|
358
|
+
* const handleQuery = async () => {
|
|
359
|
+
* const result = await sendMessage('show me sales by region');
|
|
360
|
+
*
|
|
361
|
+
* if (!result.error) {
|
|
362
|
+
* // Display the message response
|
|
363
|
+
* <SpotterMessage message={result.message} />
|
|
364
|
+
* } else {
|
|
365
|
+
* console.error('Error:', result.error);
|
|
366
|
+
* }
|
|
367
|
+
* };
|
|
368
|
+
* ```
|
|
369
|
+
* @version SDK: 1.39.0 | ThoughtSpot: 10.11.0.cl
|
|
370
|
+
*/
|
|
371
|
+
export function useSpotterAgent(config) {
|
|
372
|
+
const serviceRef = useRef(null);
|
|
373
|
+
useDeepCompareEffect(() => {
|
|
374
|
+
if (serviceRef.current) {
|
|
375
|
+
serviceRef.current = null;
|
|
376
|
+
}
|
|
377
|
+
serviceRef.current = new _SpotterAgentEmbed(config);
|
|
378
|
+
return () => {
|
|
379
|
+
serviceRef.current = null;
|
|
380
|
+
};
|
|
381
|
+
}, [config]);
|
|
382
|
+
const sendMessage = useCallback(async (query) => {
|
|
383
|
+
if (!serviceRef.current) {
|
|
384
|
+
return { error: new Error(ERROR_MESSAGE.SPOTTER_AGENT_NOT_INITIALIZED) };
|
|
385
|
+
}
|
|
386
|
+
const result = await serviceRef.current.sendMessageData(query);
|
|
387
|
+
if (result.error) {
|
|
388
|
+
return { error: result.error };
|
|
389
|
+
}
|
|
390
|
+
return {
|
|
391
|
+
query: query,
|
|
392
|
+
message: {
|
|
393
|
+
...result.data,
|
|
394
|
+
worksheetId: config.worksheetId,
|
|
395
|
+
},
|
|
396
|
+
};
|
|
397
|
+
}, [config.worksheetId]);
|
|
398
|
+
return {
|
|
399
|
+
sendMessage,
|
|
400
|
+
};
|
|
401
|
+
}
|
|
366
402
|
export { Page, RuntimeFilterOp, EmbedEvent, HostEvent, Action, HomeLeftNavItem, HomepageModule, LogLevel, getSessionInfo, ListPageColumns, } from '../index';
|
|
367
403
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/react/index.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/react/index.tsx"],"names":[],"mappings":"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"}
|