From d696b1fe6a5da3310f8392b46f3e6a925fade3f5 Mon Sep 17 00:00:00 2001 From: Bryant Howell - ThoughtSpot <83678239+bryanthowell-ts@users.noreply.github.com> Date: Mon, 12 Jan 2026 16:05:35 -0600 Subject: [PATCH 01/86] Update intro-thoughtspot-objects.adoc Added section on GUIDs and obj_id --- modules/ROOT/pages/intro-thoughtspot-objects.adoc | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/modules/ROOT/pages/intro-thoughtspot-objects.adoc b/modules/ROOT/pages/intro-thoughtspot-objects.adoc index 4aee463e6..da3db0790 100644 --- a/modules/ROOT/pages/intro-thoughtspot-objects.adoc +++ b/modules/ROOT/pages/intro-thoughtspot-objects.adoc @@ -12,10 +12,19 @@ Before you look at the rest of the developer documentation, please review this p == Object model hierarchy -The following figure illustrates the object model hierarchy in ThoughtSpot. +The following figure illustrates the object model hierarchy in ThoughtSpot within a single xref:orgs.adoc[Org]: image::./images/object_model_hierarchy.png[Object Model Hierarchy] +== Object identifiers +Every object on a ThoughtSpot has a globally unique ID (GUID), visible in URLs and in REST API responses as the `id` or `metadata_id` property. GUIDs are unique within a ThoughtSpot instance and thus cannot repeat in different Orgs. + +Objects have an additional `obj_id` property that is *user-settable* and *unique per Org*. It appears as `metadata_obj_id` in responses from the `/metadata/search` REST API. + +Each Org can have one object with a particular `obj_id`. The combination of `org_id` + `obj_id` is completely unique per instance, so it is equivalent to the object's GUID. + +`obj_id` allows exporting TML that can be imported into any Org on any instance, letting ThoughtSpot determine the GUIDs of the object automatically without requiring any additional effort on your part. + == Data modeling You must create a data model comprising at least one link:https://docs.thoughtspot.com/cloud/latest/connections[connection, window=_blank] with one link:https://docs.thoughtspot.com/cloud/latest/connect-data[Table, window=_blank] to begin using link:https://docs.thoughtspot.com/cloud/latest/search-data[Search data, window=_blank] to create content. Most often, there will be multiple *Tables*, with a variety of link:https://docs.thoughtspot.com/cloud/latest/tables-join[joins, window=_blank] defined in ThoughtSpot, with a link:https://docs.thoughtspot.com/cloud/latest/models[Model, window=_blank] bringing those tables together into a presentable analytic data model for the end-users. From f0d8f0036fed0269ee4e005b339ba6b10892df19 Mon Sep 17 00:00:00 2001 From: "bryant.howell" Date: Wed, 4 Feb 2026 15:33:59 -0600 Subject: [PATCH 02/86] Added obj_id to property list --- modules/ROOT/pages/intro-thoughtspot-objects.adoc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/modules/ROOT/pages/intro-thoughtspot-objects.adoc b/modules/ROOT/pages/intro-thoughtspot-objects.adoc index da3db0790..372452d42 100644 --- a/modules/ROOT/pages/intro-thoughtspot-objects.adoc +++ b/modules/ROOT/pages/intro-thoughtspot-objects.adoc @@ -98,6 +98,8 @@ The object representations in ThoughtSpot REST API include the following propert * `id` + GUID of the object. Unique within a given ThoughtSpot instance +* `obj_id` + +User-defined string identifer of the object. Unique within a given Org * `author` + GUID of the user who created / uploaded the object, or had the object transferred to them. * `owner` + From 4393af2a510074c755d0c8feb1b4fc1d46082496 Mon Sep 17 00:00:00 2001 From: ShashiSubramanya Date: Thu, 12 Feb 2026 07:32:23 +0530 Subject: [PATCH 03/86] minor edits to table format --- modules/ROOT/pages/spotter-apis.adoc | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/modules/ROOT/pages/spotter-apis.adoc b/modules/ROOT/pages/spotter-apis.adoc index 991583d84..cfcd7b5a2 100644 --- a/modules/ROOT/pages/spotter-apis.adoc +++ b/modules/ROOT/pages/spotter-apis.adoc @@ -990,7 +990,7 @@ The following example shows the response text contents for the `answer` message The session ID and generation number serve as the data context for the Answer. You can use this information to create a new conversation session using `/api/rest/2.0/ai/agent/conversation/create`, or download the answer via the `/api/rest/2.0/report/answer` API endpoint. [#process_results] -== Process results generated from Spotter APIs +== Processing results generated from Spotter APIs To export or download the Answer data generated by the Spotter APIs, use the xref:data-report-v2-api.adoc#exportSpotterData[Answer report] API. [NOTE] @@ -1009,7 +1009,7 @@ The `POST /api/rest/2.0/ai/data-source-suggestions` API provides relevant data s [width="100%" cols="2,4"] [options='header'] -|===== +|==== |Parameter| Description |`metadata_context` a| Required. Specify one of the following attributes to set the metadata context: @@ -1029,6 +1029,7 @@ __Optional__ | __Integer__. Sets a limit on the number of sub-questions to retur __Optional__| __Boolean__. When set to `true`, disables cache and forces fresh computation. |`ai_context` + __Optional__. a| Additional context to guide the response. Define the following attributes as needed: +|==== ==== Example request From 1c79595f20af0c854a5c32d1266e4adfd8185c59 Mon Sep 17 00:00:00 2001 From: ShashiSubramanya Date: Thu, 12 Feb 2026 07:32:23 +0530 Subject: [PATCH 04/86] minor edits to table format --- modules/ROOT/pages/spotter-apis.adoc | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/modules/ROOT/pages/spotter-apis.adoc b/modules/ROOT/pages/spotter-apis.adoc index 991583d84..cfcd7b5a2 100644 --- a/modules/ROOT/pages/spotter-apis.adoc +++ b/modules/ROOT/pages/spotter-apis.adoc @@ -990,7 +990,7 @@ The following example shows the response text contents for the `answer` message The session ID and generation number serve as the data context for the Answer. You can use this information to create a new conversation session using `/api/rest/2.0/ai/agent/conversation/create`, or download the answer via the `/api/rest/2.0/report/answer` API endpoint. [#process_results] -== Process results generated from Spotter APIs +== Processing results generated from Spotter APIs To export or download the Answer data generated by the Spotter APIs, use the xref:data-report-v2-api.adoc#exportSpotterData[Answer report] API. [NOTE] @@ -1009,7 +1009,7 @@ The `POST /api/rest/2.0/ai/data-source-suggestions` API provides relevant data s [width="100%" cols="2,4"] [options='header'] -|===== +|==== |Parameter| Description |`metadata_context` a| Required. Specify one of the following attributes to set the metadata context: @@ -1029,6 +1029,7 @@ __Optional__ | __Integer__. Sets a limit on the number of sub-questions to retur __Optional__| __Boolean__. When set to `true`, disables cache and forces fresh computation. |`ai_context` + __Optional__. a| Additional context to guide the response. Define the following attributes as needed: +|==== ==== Example request From 92ef623ed13c10c29334f50d3f1284868d831c35 Mon Sep 17 00:00:00 2001 From: ShashiSubramanya Date: Fri, 13 Feb 2026 08:05:31 +0530 Subject: [PATCH 05/86] auto mode flag update --- modules/ROOT/pages/api-changelog.adoc | 2 +- modules/ROOT/pages/embed-ai-analytics.adoc | 2 +- modules/ROOT/pages/embed-spotter.adoc | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/modules/ROOT/pages/api-changelog.adoc b/modules/ROOT/pages/api-changelog.adoc index 9792b332c..29fb0471f 100644 --- a/modules/ROOT/pages/api-changelog.adoc +++ b/modules/ROOT/pages/api-changelog.adoc @@ -17,7 +17,7 @@ This changelog lists only the changes introduced in the Visual Embed SDK. For in You can now embed the Spotter 3 experience in your application and use features such as Auto mode for automatic data model selection, Chat history, and a new chat prompt interface. * To enable the new chat prompt interface, set `updatedSpotterChatPrompt` to `true`. -* To use Auto mode, set the `worksheetId` to `_spotter_data_source_discovery_id`. +* To use Auto mode, set the `worksheetId` to `auto_mode`. * To enable Chat history, set `enablePastConversationsSidebar` to `true`. For more information, see xref:embed-spotter.adoc[Embedding Spotter] and xref:embed-ai-analytics.adoc#_feature_status_and_availability_in_embed_mode[Features available with Spotter 3 experience]. diff --git a/modules/ROOT/pages/embed-ai-analytics.adoc b/modules/ROOT/pages/embed-ai-analytics.adoc index 3454144ac..c2abb742c 100644 --- a/modules/ROOT/pages/embed-ai-analytics.adoc +++ b/modules/ROOT/pages/embed-ai-analytics.adoc @@ -245,7 +245,7 @@ Automatic data source discovery and model selection by Spotter. **Embed SDK component**: Use `SpotterEmbed`. + -**Default state in embed**: Disabled by default. To enable this feature, set the `worksheetId` attribute to `_spotter_data_source_discovery_id` in the SDK. When the Auto mode is enabled, the *Preview data* option in the conversation panel is hidden. +**Default state in embed**: Disabled by default. To enable this feature, set the `worksheetId` attribute to `auto_mode` in the SDK. When the Auto mode is enabled, the *Preview data* option in the conversation panel is hidden. |link:https://docs.thoughtspot.com/cloud/latest/spotter-conversation-history[Chat history, window=_blank] + diff --git a/modules/ROOT/pages/embed-spotter.adoc b/modules/ROOT/pages/embed-spotter.adoc index 746388e69..4a17680a9 100644 --- a/modules/ROOT/pages/embed-spotter.adoc +++ b/modules/ROOT/pages/embed-spotter.adoc @@ -83,7 +83,7 @@ const spotterEmbed = new SpotterEmbed(document.getElementById('ts-embed'), { width: '100%', height: '100%', }, - worksheetId: '<%=datasourceGUID%>', // ID of the data source object. To use the Auto mode, set the ID to '_spotter_data_source_discovery_id', + worksheetId: '<%=datasourceGUID%>', // ID of the data source object. To use the Auto mode, set the ID to 'auto_mode', //... other attributes }); ---- @@ -457,7 +457,7 @@ if (container) { height: '100%', // Set the height of the embedded frame width: '100%', // Set the width of the embedded frame }, - worksheetId: 'your-worksheet-id', // ID of the data source object to query data from. For automatic model discovery and selection (Auto mode), specify '_spotter_data_source_discovery_id' + worksheetId: 'your-worksheet-id', // ID of the data source object to query data from. For automatic model discovery and selection (Auto mode), specify 'auto_mode' updatedSpotterChatPrompt: true, // Enable new chat interface enablePastConversationsSidebar: true, // Enable chat history //... other configuration attributes From 9c04b46c048c99bdb36276cea032415fe44b066b Mon Sep 17 00:00:00 2001 From: ShashiSubramanya Date: Fri, 13 Feb 2026 08:05:31 +0530 Subject: [PATCH 06/86] auto mode flag update --- modules/ROOT/pages/api-changelog.adoc | 2 +- modules/ROOT/pages/embed-ai-analytics.adoc | 2 +- modules/ROOT/pages/embed-spotter.adoc | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/modules/ROOT/pages/api-changelog.adoc b/modules/ROOT/pages/api-changelog.adoc index 9792b332c..29fb0471f 100644 --- a/modules/ROOT/pages/api-changelog.adoc +++ b/modules/ROOT/pages/api-changelog.adoc @@ -17,7 +17,7 @@ This changelog lists only the changes introduced in the Visual Embed SDK. For in You can now embed the Spotter 3 experience in your application and use features such as Auto mode for automatic data model selection, Chat history, and a new chat prompt interface. * To enable the new chat prompt interface, set `updatedSpotterChatPrompt` to `true`. -* To use Auto mode, set the `worksheetId` to `_spotter_data_source_discovery_id`. +* To use Auto mode, set the `worksheetId` to `auto_mode`. * To enable Chat history, set `enablePastConversationsSidebar` to `true`. For more information, see xref:embed-spotter.adoc[Embedding Spotter] and xref:embed-ai-analytics.adoc#_feature_status_and_availability_in_embed_mode[Features available with Spotter 3 experience]. diff --git a/modules/ROOT/pages/embed-ai-analytics.adoc b/modules/ROOT/pages/embed-ai-analytics.adoc index 3454144ac..c2abb742c 100644 --- a/modules/ROOT/pages/embed-ai-analytics.adoc +++ b/modules/ROOT/pages/embed-ai-analytics.adoc @@ -245,7 +245,7 @@ Automatic data source discovery and model selection by Spotter. **Embed SDK component**: Use `SpotterEmbed`. + -**Default state in embed**: Disabled by default. To enable this feature, set the `worksheetId` attribute to `_spotter_data_source_discovery_id` in the SDK. When the Auto mode is enabled, the *Preview data* option in the conversation panel is hidden. +**Default state in embed**: Disabled by default. To enable this feature, set the `worksheetId` attribute to `auto_mode` in the SDK. When the Auto mode is enabled, the *Preview data* option in the conversation panel is hidden. |link:https://docs.thoughtspot.com/cloud/latest/spotter-conversation-history[Chat history, window=_blank] + diff --git a/modules/ROOT/pages/embed-spotter.adoc b/modules/ROOT/pages/embed-spotter.adoc index 746388e69..4a17680a9 100644 --- a/modules/ROOT/pages/embed-spotter.adoc +++ b/modules/ROOT/pages/embed-spotter.adoc @@ -83,7 +83,7 @@ const spotterEmbed = new SpotterEmbed(document.getElementById('ts-embed'), { width: '100%', height: '100%', }, - worksheetId: '<%=datasourceGUID%>', // ID of the data source object. To use the Auto mode, set the ID to '_spotter_data_source_discovery_id', + worksheetId: '<%=datasourceGUID%>', // ID of the data source object. To use the Auto mode, set the ID to 'auto_mode', //... other attributes }); ---- @@ -457,7 +457,7 @@ if (container) { height: '100%', // Set the height of the embedded frame width: '100%', // Set the width of the embedded frame }, - worksheetId: 'your-worksheet-id', // ID of the data source object to query data from. For automatic model discovery and selection (Auto mode), specify '_spotter_data_source_discovery_id' + worksheetId: 'your-worksheet-id', // ID of the data source object to query data from. For automatic model discovery and selection (Auto mode), specify 'auto_mode' updatedSpotterChatPrompt: true, // Enable new chat interface enablePastConversationsSidebar: true, // Enable chat history //... other configuration attributes From e8d95b28dd083c5fa49b001e458d35471d742502 Mon Sep 17 00:00:00 2001 From: ShashiSubramanya Date: Fri, 13 Feb 2026 18:07:50 +0530 Subject: [PATCH 07/86] changelog update --- modules/ROOT/pages/api-changelog.adoc | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modules/ROOT/pages/api-changelog.adoc b/modules/ROOT/pages/api-changelog.adoc index 29fb0471f..5840406b4 100644 --- a/modules/ROOT/pages/api-changelog.adoc +++ b/modules/ROOT/pages/api-changelog.adoc @@ -28,6 +28,11 @@ Events:: * `HostEvent.AddToCoaching` to trigger the *Add to coaching* action in a Spotter conversation session. * `HostEvent.StartNewSpotterConversation` to trigger the action to start a new chat session with Spotter. +[NOTE] +==== +On Spotter embed deployments running version 26.2.0.cl or later, the *Add to Coaching* feature is enabled by default. To disable or hide the **Add to Coaching** button, use the xref:Action.adoc#_inconversationtraining[InConversationTraining] action ID. +==== + |[tag greenBackground]#NEW FEATURE# a| **Liveboard experience enhancements** + Styling and grouping:: From 135ff280536a147433311a44d87f28177e7fa367 Mon Sep 17 00:00:00 2001 From: ShashiSubramanya Date: Fri, 13 Feb 2026 18:07:50 +0530 Subject: [PATCH 08/86] changelog update --- modules/ROOT/pages/api-changelog.adoc | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modules/ROOT/pages/api-changelog.adoc b/modules/ROOT/pages/api-changelog.adoc index 29fb0471f..5840406b4 100644 --- a/modules/ROOT/pages/api-changelog.adoc +++ b/modules/ROOT/pages/api-changelog.adoc @@ -28,6 +28,11 @@ Events:: * `HostEvent.AddToCoaching` to trigger the *Add to coaching* action in a Spotter conversation session. * `HostEvent.StartNewSpotterConversation` to trigger the action to start a new chat session with Spotter. +[NOTE] +==== +On Spotter embed deployments running version 26.2.0.cl or later, the *Add to Coaching* feature is enabled by default. To disable or hide the **Add to Coaching** button, use the xref:Action.adoc#_inconversationtraining[InConversationTraining] action ID. +==== + |[tag greenBackground]#NEW FEATURE# a| **Liveboard experience enhancements** + Styling and grouping:: From a3e2d9d7a72c78e9db43d9e335582899a2565fff Mon Sep 17 00:00:00 2001 From: Rani Gangwar Date: Tue, 17 Feb 2026 20:42:28 +0530 Subject: [PATCH 09/86] edits to flag --- modules/ROOT/pages/embed-pinboard.adoc | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/modules/ROOT/pages/embed-pinboard.adoc b/modules/ROOT/pages/embed-pinboard.adoc index 455283606..452730976 100644 --- a/modules/ROOT/pages/embed-pinboard.adoc +++ b/modules/ROOT/pages/embed-pinboard.adoc @@ -503,7 +503,8 @@ liveboardEmbed.trigger(HostEvent.UpdateFilters, { === Liveboard grouping and styling [earlyAccess eaBackground]#Early Access# You can now create a visual group of Answers and note tiles together in the Liveboard. You can select multiple Answers and notes in the Liveboard editor. You can also style parts of the Liveboard, groups and Answers with the new styling panel. -To enable this feature, set `isLiveboardStylingAndGroupingEnabled` to `true`. It is important to note the following changes which happen in the Liveboard UI and layout when this feature is active. +To enable this feature, set `isLiveboardMasterpiecesEnabled` to `true`. +It is important to note the following changes which happen in the Liveboard UI and layout when this feature is active. * All tiles on the Liveboard will now have a default border and an increased border-radius, resulting in more pronounced curved corners. This is part of the broader visualization tile customization options done to enhance the visual appearance of charts and tables. * For Note tiles, the default scrollbar is now hidden for long content. Users must scroll within the tile area itself, and if the tile is not sized appropriately for its content, it may appear clipped due to the new container styles. This change emphasizes the importance of properly sizing Note tiles to avoid content being visually cut off. @@ -515,7 +516,7 @@ To enable this feature, set `isLiveboardStylingAndGroupingEnabled` to `true`. It image::./images/lb-grp-styling-error.png[Liveboard with groups styling error] -- + -To embed a Liveboard that uses Groups, you must set `isLiveboardStylingAndGroupingEnabled` to `true` in your embedding configuration. This is required for compatibility with the new grouping and styling features; otherwise, the embedded Liveboard will not render correctly. +To embed a Liveboard that uses Groups, you must set `isLiveboardMasterpiecesEnabled` to `true` in your embedding configuration. This is required for compatibility with the new grouping and styling features; otherwise, the embedded Liveboard will not render correctly. For more information, see link:https://docs.thoughtspot.com/cloud/latest/liveboard-grouping-styling[Liveboard grouping and styling, window=_blank]. From 897851f7b377cca515699b5c5ab9b096ca9ef326 Mon Sep 17 00:00:00 2001 From: Bryant Howell - ThoughtSpot <83678239+bryanthowell-ts@users.noreply.github.com> Date: Tue, 17 Feb 2026 10:18:34 -0600 Subject: [PATCH 10/86] Update abac_rls-variables.adoc Initial reorganization begun - simplified the intro be shorter and more direct --- modules/ROOT/pages/abac_rls-variables.adoc | 54 +++++++++------------- 1 file changed, 23 insertions(+), 31 deletions(-) diff --git a/modules/ROOT/pages/abac_rls-variables.adoc b/modules/ROOT/pages/abac_rls-variables.adoc index 13155c0cf..86d15dc7a 100644 --- a/modules/ROOT/pages/abac_rls-variables.adoc +++ b/modules/ROOT/pages/abac_rls-variables.adoc @@ -6,17 +6,37 @@ :page-pageid: abac-via-rls-variables :page-description: Attribute-based access control pattern with variable attributes referenced in Row-Level Security (RLS) rules on a given table. -Attribute-Based Access Control (ABAC) is an access control model in which security entitlements are determined by evaluating a set of attributes included in a token generated for a user. The attributes are passed in a JSON Web Token (JWT) at session creation to dynamically filter data and enable user-specific security policies. +Attribute-Based Access Control (ABAC) is an access control model in which security entitlements are assigned to a ThoughtSpot user directly as a set of attributes with lists of values, rather than relying on a JOINed entitlements table within the data model. + +ThoughtSpot allows assigning attribute values to a user at session creation time by adding the values to the user's access token request. + +RLS Rules are defined on the table objects, which binds dynamically generated `WHERE` clauses to any generated query. Within the RLS Rules, the attributes are referenced by their variable names using the `ts_var()` function to dynamically filter data and enable user-specific security policies. == Overview -To implement data security for application users, administrators can define RLS rules that use system variables such as `ts_username` or `ts_groups`. If a ThoughtSpot deployment requires granular access control and dynamic assignments beyond what system variables can support, administrators can use formula variables within RLS rules. +RLS rules have a defined set of system variables such as `ts_username` or `ts_groups`. Once ABAC via RLS is enabled, the `ts_var()` formula is available within the RLS rule editor to refer to any defined Formula variable within ThoughtSpot. -Formula variables are custom variables that enable dynamic and context-aware logic in RLS rules. They can be assigned at the Org, user, and data model levels. +Formula variables are custom variables defined within ThoughtSpot that enable dynamic and context-aware logic in RLS rules. They are assigned at the user level during session creation for the ABAC pattern, although they can be set at Org and data model levels as well. +//// In embedded analytics scenarios, where each user may require different data access, administrators can assign security attributes and rules on a per-user basis. For these use cases, administrators can implement a JWT-based ABAC model combined with RLS to enforce data security using dynamic attributes derived from formula variables. In the ABAC via RLS with variables method, administrators add formula variables to RLS rules and pass their values (`variable_values`) as security attributes and entitlements to the user session through a JWT. All derived objects then inherit the data security rules from the underlying Table and are filtered according to the user’s entitlements provided in the token. +//// + +=== Implementation steps +The ABAC implementation with formula variables and RLS rules includes the following steps: + +* xref:abac_rls-variables.adoc#_create_formula_variables[Creating formula variables] + +To generate tokens with variable attributes, the variables must be available in ThoughtSpot. To create variables, use the xref:variables.adoc#_create_a_variable[Variable REST API]. +* xref:abac_rls-variables.adoc#_add_rls_rules_with_variable_references[Adding RLS rules with formula variables] + +When defining an RLS rule with variables, use the `ts_var` function. These RLS rules will apply to the Models, Liveboards, and other objects derived from that Table. +* xref:abac_rls-variables.adoc#_define_values_and_scope_for_variables[Creating a token request with variable attributes] + +To generate a JWT token, use the `/api/rest/2.0/auth/token/custom` REST API endpoint. The token generation request must include the variable attributes, which will be used for RLS evaluation to enable per‑user entitlements and data filters across all the objects derived from the Table. +* xref:abac_rls-variables.adoc#_verify_the_entitlements[Verifying entitlements] + +To ensure data security rules are applied, check user entitlements and verify if they are translated accurately during query generation. + +The ABAC via tokens method requires the xref:trusted-authentication.adoc[trusted authentication] setup. [NOTE] ==== @@ -37,36 +57,8 @@ Several features within ThoughtSpot, such as autocompletion in Search on values * Disable indexing for columns and fields that must be restricted by ABAC. You may also want to disable indexing on all sensitive columns. * Define an RLS rule on those fields, since RLS is enforced at the indexing layer and will secure suggestions and sample values. -=== Implementation steps -The ABAC implementation with formula variables and RLS rules includes the following steps: -* xref:abac_rls-variables.adoc#_create_formula_variables[Creating formula variables] + -To generate tokens with variable attributes, the variables must be available in ThoughtSpot. To create variables, use the xref:variables.adoc#_create_a_variable[Variable REST API]. -* xref:abac_rls-variables.adoc#_add_rls_rules_with_variable_references[Adding RLS rules with formula variables] + -When defining an RLS rule with variables, use the `ts_var` function. These RLS rules will apply to the Models, Liveboards, and other objects derived from that Table. -* xref:abac_rls-variables.adoc#_define_values_and_scope_for_variables[Creating a token request with variable attributes] + -To generate a JWT token, use the `/api/rest/2.0/auth/token/custom` REST API endpoint. The token generation request must include the variable attributes, which will be used for RLS evaluation to enable per‑user entitlements and data filters across all the objects derived from the Table. -* xref:abac_rls-variables.adoc#_verify_the_entitlements[Verifying entitlements] + -To ensure data security rules are applied, check user entitlements and verify if they are translated accurately during query generation. - -The ABAC via tokens method requires the xref:trusted-authentication.adoc[trusted authentication] setup. -//// -=== Mandatory token filters - -The `is_mandatory_token_filter: true` setting in object TML enforces that a filter rule must be provided for a specific column. When this attribute is set on a column in a Model, ThoughtSpot will deny all data access for users who do not have a corresponding filter rule for that column in their ABAC token. - -When setting filter rules within the token, you must place the `is_mandatory_token_filter: true` property on every column in a Model where a filter rule is expected. This setting will deny any access to data if a user has not been assigned values for the expected set of fields. - -[#column-name-warning] -The filter rules require passing the *exact* column name as defined in the Model. Otherwise, the values will not bind to any column. You must coordinate between the team that maintains the data objects and the team that builds the xref:trusted-auth-token-request-service.adoc[token request service] to know if any changes will be made to a Model and to ensure column names remain consistent. + -For this reason, end users of an embedded app must not be granted edit access to any Model using ABAC rules via tokens. Setting the `is_mandatory_token_filter: true` property on every column where a filter rule is expected ensures that no data is returned for users when column names change. - -[NOTE] -==== -If a column is set with both `is_hidden: true` and `is_mandatory_token_filter: true`, and filter conditions for that column are defined in the ABAC token, the filter will be applied as expected. The column will be hidden from the user interface, but the mandatory filter requirement will still be enforced, and data will be shown according to the filter values provided in the token. -==== -//// == Create formula variables From 15706620a5e46489354bd874188e010160300f53 Mon Sep 17 00:00:00 2001 From: Bryant Howell - ThoughtSpot <83678239+bryanthowell-ts@users.noreply.github.com> Date: Tue, 17 Feb 2026 10:31:17 -0600 Subject: [PATCH 11/86] Update abac_rls-variables.adoc More rearrangement to put things closer to where they are relevant --- modules/ROOT/pages/abac_rls-variables.adoc | 37 ++++++++++++---------- 1 file changed, 20 insertions(+), 17 deletions(-) diff --git a/modules/ROOT/pages/abac_rls-variables.adoc b/modules/ROOT/pages/abac_rls-variables.adoc index 86d15dc7a..cc0abc91f 100644 --- a/modules/ROOT/pages/abac_rls-variables.adoc +++ b/modules/ROOT/pages/abac_rls-variables.adoc @@ -25,6 +25,11 @@ In the ABAC via RLS with variables method, administrators add formula variables //// === Implementation steps +[NOTE] +==== +Formula variables are available on ThoughtSpot starting from 10.15.0.cl. If this feature is not enabled on your instance, contact ThoughtSpot Support. +==== + The ABAC implementation with formula variables and RLS rules includes the following steps: * xref:abac_rls-variables.adoc#_create_formula_variables[Creating formula variables] + @@ -34,22 +39,9 @@ When defining an RLS rule with variables, use the `ts_var` function. These RLS r * xref:abac_rls-variables.adoc#_define_values_and_scope_for_variables[Creating a token request with variable attributes] + To generate a JWT token, use the `/api/rest/2.0/auth/token/custom` REST API endpoint. The token generation request must include the variable attributes, which will be used for RLS evaluation to enable per‑user entitlements and data filters across all the objects derived from the Table. * xref:abac_rls-variables.adoc#_verify_the_entitlements[Verifying entitlements] + -To ensure data security rules are applied, check user entitlements and verify if they are translated accurately during query generation. - -The ABAC via tokens method requires the xref:trusted-authentication.adoc[trusted authentication] setup. - -[NOTE] -==== +To ensure data security rules are applied, check user entitlements and verify if they are translated accurately during query generation. Variables and their values are visible to administrators using the `/api/rest/2.0/template/variables/search` endpoint with the `response_content` parameter set to `METADATA_AND_VALUES` -* Formula variables are available on ThoughtSpot starting from 10.15.0.cl. If this feature is not enabled on your instance, contact ThoughtSpot Support. -* In the legacy JWT ABAC token requests, you could set the `persist_option` parameter to `NONE`, `APPEND`, `REPLACE`, and `RESET`. However, when you use the `variable_values` parameter in the JWT API token request to set up RLS values for a given user, only `APPEND` and `REPLACE` are supported. - -* To reset the formula variable attributes of a user, use the `/api/rest/2.0/template/variables/update-values` API endpoint. - -* The ability to set variable values only for the current session, previously achieved by setting `persist_option: NONE`, is not supported with RLS via ABAC. + -For session-based rules, create dedicated user accounts for your application users and apply persisted rules. This approach ensures that Liveboard schedule attachments enforce security rules and deliver only secured output to your end users. When combined with cookieless authentication, this configuration addresses all use cases that previously relied on session-based JWT. You can simplify user provisioning and programmatically manage user creation and deletion workflows using ThoughtSpot's REST APIs. -==== === Indexing Several features within ThoughtSpot, such as autocompletion in Search on values within columns, use ThoughtSpot indexing. Due to the runtime nature of ABAC tokens, ThoughtSpot indexing will not be restricted by the values supplied in a token. This means the indexed columns may expose values in search suggestions or autocompletion that a user should not see, even if ABAC filters would block access to the underlying data. To prevent this, you can do one of the following: @@ -58,8 +50,6 @@ Several features within ThoughtSpot, such as autocompletion in Search on values * Define an RLS rule on those fields, since RLS is enforced at the indexing layer and will secure suggestions and sample values. - - == Create formula variables To view the variables available on your instance, use the `POST /api/rest/2.0/template/variables/search` API call. To create a new variable, use the `/api/rest/2.0/template/variables/create` API endpoint. @@ -388,9 +378,22 @@ To retrieve user information and object properties, you can use the `POST /api/r You can also use the `POST /api/rest/2.0/template/variables/search` API call to xref:variables.adoc#_get_variables[get the list of variables] assigned to a specific user, Org, and Model. -==== Updating variable values for a user +=== Resetting a User or a Variable +[NOTE] +==== + +* In the legacy JWT ABAC token requests, you could set the `persist_option` parameter to `NONE`, `APPEND`, `REPLACE`, and `RESET`. However, when you use the `variable_values` parameter in the JWT API token request to set up RLS values for a given user, only `APPEND` and `REPLACE` are supported. + +* To reset the formula variable attributes of a user, use the `/api/rest/2.0/template/variables/update-values` API endpoint. + +* The ability to set variable values only for the current session, previously achieved by setting `persist_option: NONE`, is not supported with RLS via ABAC. + +For session-based rules, create dedicated user accounts for your application users and apply persisted rules. This approach ensures that Liveboard schedule attachments enforce security rules and deliver only secured output to your end users. When combined with cookieless authentication, this configuration addresses all use cases that previously relied on session-based JWT. You can simplify user provisioning and programmatically manage user creation and deletion workflows using ThoughtSpot's REST APIs. +==== + +=== Updating variable values for a user To update variable values for a user, you can use the `/api/rest/2.0/template/variables/update-values` endpoint, or `/api/rest/2.0/auth/token/custom` endpoint when logging in the user. Do not use the `/api/rest/2.0/users/{user_identifier}/update` endpoint, as it does not support updating variable values. + == Verify the entitlements To verify the entitlements: From 785cd05cbfa95e0532be0b5d0719952a5edd8ebf Mon Sep 17 00:00:00 2001 From: Bryant Howell - ThoughtSpot <83678239+bryanthowell-ts@users.noreply.github.com> Date: Tue, 17 Feb 2026 11:17:51 -0600 Subject: [PATCH 12/86] Update abac_rls-variables.adoc moved RLS Rule examples into one section and added an intro, placed TS_WILDCARD_ALL in this intro --- modules/ROOT/pages/abac_rls-variables.adoc | 63 ++++++++++++---------- 1 file changed, 35 insertions(+), 28 deletions(-) diff --git a/modules/ROOT/pages/abac_rls-variables.adoc b/modules/ROOT/pages/abac_rls-variables.adoc index cc0abc91f..6bd42228d 100644 --- a/modules/ROOT/pages/abac_rls-variables.adoc +++ b/modules/ROOT/pages/abac_rls-variables.adoc @@ -35,13 +35,11 @@ The ABAC implementation with formula variables and RLS rules includes the follow * xref:abac_rls-variables.adoc#_create_formula_variables[Creating formula variables] + To generate tokens with variable attributes, the variables must be available in ThoughtSpot. To create variables, use the xref:variables.adoc#_create_a_variable[Variable REST API]. * xref:abac_rls-variables.adoc#_add_rls_rules_with_variable_references[Adding RLS rules with formula variables] + -When defining an RLS rule with variables, use the `ts_var` function. These RLS rules will apply to the Models, Liveboards, and other objects derived from that Table. +When defining an RLS rule with variables, use the `ts_var` function. These RLS rules will apply to the Models, Liveboards, and other objects derived from that Table. *A formula variable must be defined before it can be used in an RLS rule.* * xref:abac_rls-variables.adoc#_define_values_and_scope_for_variables[Creating a token request with variable attributes] + -To generate a JWT token, use the `/api/rest/2.0/auth/token/custom` REST API endpoint. The token generation request must include the variable attributes, which will be used for RLS evaluation to enable per‑user entitlements and data filters across all the objects derived from the Table. +Attribute values are assigned to users by requesting a token using the `/api/rest/2.0/auth/token/custom` REST API endpoint. * xref:abac_rls-variables.adoc#_verify_the_entitlements[Verifying entitlements] + -To ensure data security rules are applied, check user entitlements and verify if they are translated accurately during query generation. Variables and their values are visible to administrators using the `/api/rest/2.0/template/variables/search` endpoint with the `response_content` parameter set to `METADATA_AND_VALUES` - - +To ensure data security rules are applied, check user entitlements and verify if they are translated accurately during query generation. Variables and their assigned values are visible to administrators using the `/api/rest/2.0/template/variables/search` endpoint with the `response_content` parameter set to `METADATA_AND_VALUES` === Indexing Several features within ThoughtSpot, such as autocompletion in Search on values within columns, use ThoughtSpot indexing. Due to the runtime nature of ABAC tokens, ThoughtSpot indexing will not be restricted by the values supplied in a token. This means the indexed columns may expose values in search suggestions or autocompletion that a user should not see, even if ABAC filters would block access to the underlying data. To prevent this, you can do one of the following: @@ -51,8 +49,11 @@ Several features within ThoughtSpot, such as autocompletion in Search on values == Create formula variables +Formula variables must be defined in ThoughtSpot before they can be used in any RLS rule via the `ts_var()` formula. -To view the variables available on your instance, use the `POST /api/rest/2.0/template/variables/search` API call. To create a new variable, use the `/api/rest/2.0/template/variables/create` API endpoint. +To view the variables available on your instance, use the `POST /api/rest/2.0/template/variables/search` API call. + +To create a new variable, use the `/api/rest/2.0/template/variables/create` API endpoint. To configure formula variables for all Orgs on your instance or the Primary Org, cluster administration privileges are required. Org administrators can configure formula variables for their respective Orgs. Users with the `CAN_MANAGE_VARIABLES` (*Can manage variables*) role privilege can also create and manage variables for their Org context. @@ -69,33 +70,46 @@ During variable creation, specify the xref:variables.adoc#data_type[`data_type`] Formula variables for `BOOLEAN` and `TIME` data types are not supported. -[source,cURL] +[source,JSON] ---- -curl -X POST \ - --url 'https://{ThoughtSpot-Host}/]api/rest/2.0/template/variables/create' \ - -H 'Accept: application/json' \ - -H 'Content-Type: application/json' \ - -H 'Authorization: Bearer {AUTH_TOKEN}' \ - --data-raw '{ +{ "type": "FORMULA_VARIABLE", "name": "country_var", "is_sensitive": false, "data_type": "VARCHAR" -}' +} ---- -The variable update API allows assigning variable values and setting the scope. In the ABAC implementation, administrators can set the variable values and scope when xref:abac_rls-variables.adoc#_create_an_abac_token_request_with_variable_attributes[generating a JWT] using the `/api/rest/2.0/auth/token/custom` API endpoint. +The variable update API (`/api/rest/2.0/template/variables/{identifier}/update`) allows for updating the variable name and other attrbutes of the variable definition, but not the values assigned to users or other principals. -== Add RLS rules with variable references -To define RLS rules with variables for a Table: +Variable values are either set through for a user xref:abac_rls-variables.adoc#_create_an_abac_token_request_with_variable_attributes[generating a token] using the `/api/rest/2.0/auth/token/custom` API endpoint or via the Update Variable Values REST API. + +== Add or update RLS rules with variable references +RLS rules are defined on Table objects: . Navigate to the Data workspace and click the Table for which to define RLS rules. . Click *Row security* and then click *+ Add row security*. -. In the *Row Security Editor*, define the rules. To reference the formula variable in the rule, use the `ts_var` function. For example, If you want to limit user access to data of a specific region, you can create a region-specific variable, `region = ts_var(region_var)`, and assign values in the token request. +. In the *Row Security Editor*, define the rules. To reference the formula variable in the rule, use the `ts_var(varName)` function, with no quotes around the formula variable name. For example, to limit a column called `region` to the values set in a formula varible called `region_var`, set the RLS rule to: `region = ts_var(region_var)`. +[NOTE] +==== +Variable values are set through the token request. The RLS rule specifies how the values will be used in the generated RLS WHERE clauses in the SQL. +==== + +=== RLS Rule Examples +RLS rules must always evaluate logically to SQL boolean `TRUE` or `FALSE`. + +If a user has no variable values for a given formula variable, this will result in `FALSE`. + +There is a special wildcard value `['TS_WILDCARD_ALL']` that a formula variable can be set to represent 'Allow All'. -=== RLS rule with a single variable reference +In this example, `customer` represents the column `customer` in the table and `customer_var` represents variable. If the value of the `customer_var` variable is set to `TS_WILDCARD_ALL`, the user can access all customers in the column. +---- +customer = ts_var(customer_var) +---- + +==== RLS rule with a single variable reference In this formula example, `country` refers to the "country" column in the data table, and `country_var` is the variable. ---- @@ -106,7 +120,7 @@ If `country_var` is assigned a single value, the user is permitted to view only If `country_var` is assigned multiple values, the formula translates to `country IN ('value1', 'value2', ...)`. The query engine interprets `=` as the `IN` clause in this case and returns rows that match these values; for example, `WHERE country IN ('Australia', 'Germany')`. -=== RLS rules with multiple variables +==== RLS rules with multiple variables The RLS rules support the `AND` operator, which means that you can combine multiple conditions in a single RLS rule, so that a row is accessible only if all the specified conditions are met. The following rule restricts data access to rows if the `country` column in the data table matches the value assigned to `country_var` and the `Department` column matches the value assigned to `department_var` for that user. @@ -121,14 +135,7 @@ The rule in this example restricts data access to rows where the `region` column region = ts_var(region_var) AND product = ts_var(product_var) ---- -=== Allow all rule with a TS_WILDCARD_ALL variable -In this example, `customer` represents the column `customer` in the table and `customer_var` represents variable. If the value of the customer_var variable is set to `TS_WILDCARD_ALL`, the user can access all customers in the column. - ----- -customer = ts_var(customer_var) ----- - -=== Group override rule with variable-based check +==== Group override rule with variable-based check In any security formula you build, you may want a clause that gives access to all data to certain groups. In the rule definition, you can include system variables, such as `ts_groups`, to build your preferred logic: In this example, users can access data if they are in the "data developers" group, or if the `Department` column matches the value assigned to their `department_var` variable. From f02a11259e50a3408c6a02435ba28f7b180fdfb5 Mon Sep 17 00:00:00 2001 From: Bryant Howell - ThoughtSpot <83678239+bryanthowell-ts@users.noreply.github.com> Date: Tue, 17 Feb 2026 11:31:45 -0600 Subject: [PATCH 13/86] Update abac_rls-variables.adoc Continued simplification and reordering --- modules/ROOT/pages/abac_rls-variables.adoc | 72 +++++++++------------- 1 file changed, 28 insertions(+), 44 deletions(-) diff --git a/modules/ROOT/pages/abac_rls-variables.adoc b/modules/ROOT/pages/abac_rls-variables.adoc index 6bd42228d..3b59fc125 100644 --- a/modules/ROOT/pages/abac_rls-variables.adoc +++ b/modules/ROOT/pages/abac_rls-variables.adoc @@ -160,7 +160,9 @@ The following rule restricts access to rows where the `date_column` is within th == Create an ABAC token request with variable attributes -To generate a token with variable attributes, use the `POST /api/rest/2.0/auth/token/custom` API call. +To set or update variable values for a user, use the POST `/api/rest/2.0/auth/token/custom` endpoint when logging in the user. + +You can also use the `/api/rest/2.0/template/variables/update-values` endpoint for bulk operations or targeted resets. The variable attributes defined in the token request take effect only if they are referenced in an RLS rule. If the variables are not used in any formula or RLS rule, they will have no impact on data access. Before generating the request with variable attributes, ensure that the xref:abac_rls-variables.adoc#_add_rls_rules_with_formula_variables_to_tables[variables are added to the RLS rules] for the Table. @@ -196,15 +198,19 @@ __Array of strings or numeric values__. When assigning values, ensure the data f All values are passed into the token as *arrays of strings*, even if the column is a numeric or date type in ThoughtSpot and the database. The column data type will be respected in the query issued to the database. -==== Allow all values by default +==== Allow all wildcard value -To allow all values by default, specify `["TS_WILDCARD_ALL"]` as the variable value to grant access to all values in a given column. +To allow all values for a given field, set the formula variable value to an array using the wildcard: `["TS_WILDCARD_ALL"]`. -In this example, the user is allowed all access for one variable, while for the others, specific values are set. +In this example, the user is allowed all access for one variable, while for the other, specific values are set. [source,JSON] ---- "variable_values": [ + { + "name": "product_var", + "values": ["TS_WILDCARD_ALL"] + } { "name": "country_var", "values": [ @@ -212,19 +218,6 @@ In this example, the user is allowed all access for one variable, while for the "Singapore", "Australia" ] - }, - { - "name": "department_var", - "values": [ - "Sales", - "Marketing" - ] - }, - { - "name": "product_var", - "values": [ - "TS_WILDCARD_ALL" - ] } ] ---- @@ -299,13 +292,9 @@ To apply variable entitlements to a user session, you must ensure that the RLS r The following example shows the request body for generating a token with formula variable attributes: -[source,cURL] +[source,JSON] ---- - curl -X POST \ - --url 'https://{ThoughtSpot-Host}/api/rest/2.0/auth/token/custom' \ - -H 'Accept: application/json' \ - -H 'Content-Type: application/json' \ - --data-raw '{ +{ "username": "UserA", "validity_time_in_sec": 300, "persist_option": "APPEND", @@ -313,24 +302,17 @@ The following example shows the request body for generating a token with formula "secret_key": "f8aa445b-5ff1-4a35-a58f-e324133320d5", "variable_values": [ { - "name": "country_var", - "values": [ - "Japan", - "Singapore", - "Australia" - ] - }, - { - "name": "department_var", + "name": "product_var", "values": [ - "Sales", - "Marketing" + "TS_WILDCARD_ALL" ] }, { - "name": "product_var", + "name": "country_var", "values": [ - "TS_WILDCARD_ALL" + "Japan", + "Singapore", + "Australia" ] } ], @@ -340,14 +322,14 @@ The following example shows the request body for generating a token with formula "identifier": "35aa85fe-fbb4-4862-a335-f69679ebb6e0" } ] -}' +} ---- -If the request is successful, ThoughtSpot generates a token and sends the token details in the API response. +If the request is successful, ThoughtSpot generates a token and sends the token details in the API response. [NOTE] ==== -ABAC details are sent in a JWT that can be used as a bearer token for cookieless trusted authentication, REST API calls, or as a sign-in token to start a session. JWTs are compressed by default to handle large payloads. It is recommended to keep the compression enabled to ensure all JWT tokens can get properly interpreted by the application regardless of their size, and to obfuscate the values passed in the JWT payload. If you want to disable it, contact ThoughtSpot Support. +ThoughtSpot access tokens are JWTs that are compressed by default to handle large payloads. It is recommended to keep the compression enabled to ensure all tokens can get properly interpreted by the application regardless of their size, and to obfuscate the values passed in the payload. If you want to disable it, contact ThoughtSpot Support. ==== === Verify the variable assignment @@ -385,7 +367,13 @@ To retrieve user information and object properties, you can use the `POST /api/r You can also use the `POST /api/rest/2.0/template/variables/search` API call to xref:variables.adoc#_get_variables[get the list of variables] assigned to a specific user, Org, and Model. -=== Resetting a User or a Variable +== Resetting a User or a Variable + +[NOTE] +==== +Do not use the `/api/rest/2.0/users/{user_identifier}/update` endpoint, as it does not support updating variable values. +==== + [NOTE] ==== @@ -397,10 +385,6 @@ You can also use the `POST /api/rest/2.0/template/variables/search` API call to For session-based rules, create dedicated user accounts for your application users and apply persisted rules. This approach ensures that Liveboard schedule attachments enforce security rules and deliver only secured output to your end users. When combined with cookieless authentication, this configuration addresses all use cases that previously relied on session-based JWT. You can simplify user provisioning and programmatically manage user creation and deletion workflows using ThoughtSpot's REST APIs. ==== -=== Updating variable values for a user -To update variable values for a user, you can use the `/api/rest/2.0/template/variables/update-values` endpoint, or `/api/rest/2.0/auth/token/custom` endpoint when logging in the user. Do not use the `/api/rest/2.0/users/{user_identifier}/update` endpoint, as it does not support updating variable values. - - == Verify the entitlements To verify the entitlements: From 3fee8bb3a2993b2f5aa25d20f24ec468bac90c11 Mon Sep 17 00:00:00 2001 From: Bryant Howell - ThoughtSpot <83678239+bryanthowell-ts@users.noreply.github.com> Date: Tue, 17 Feb 2026 14:17:33 -0600 Subject: [PATCH 14/86] Update abac_rls-variables.adoc Closer to finished, need to add the RESET and empty array mechanisms --- modules/ROOT/pages/abac_rls-variables.adoc | 63 ++++++++++++---------- 1 file changed, 36 insertions(+), 27 deletions(-) diff --git a/modules/ROOT/pages/abac_rls-variables.adoc b/modules/ROOT/pages/abac_rls-variables.adoc index 3b59fc125..7ca6c1d94 100644 --- a/modules/ROOT/pages/abac_rls-variables.adoc +++ b/modules/ROOT/pages/abac_rls-variables.adoc @@ -238,23 +238,45 @@ Due to this error, no data is returned, effectively denying all data access for === Persist options and session-based rules -Variable attributes must be *persisted* for them to apply to user sessions when using xref:trusted-authentication.adoc#cookie[cookie-based trusted authentication] or scheduled reports. To specify whether variable attributes and rules should persist for user sessions, you must define the `persist_option` parameter. +Variable attributes must be *persisted* for them to apply. -To append or replace the attributes, use the following options: +To append or replace the attribute values for a user, use one of the following `persist_options` in the token request: + +* `REPLACE` + +Replaces the full set of existing variable assignments with the new values from the token request. * `APPEND` + -Adds the attributes defined in the API request to the user properties. These properties will be applied to the current and future user sessions and scheduled reports until they are explicitly changed through a token update request. +Adds the attribute values defined in the API request to the existing attribute values for the user. -* `REPLACE` + -Replaces existing variable assignments with the new values. +If you don't want to append or replace any attribute values, do not pass any details about the variable in the token update request. + +[NOTE] +==== +* The ABAC implementation with RLS and formula variables does not support session-based rules. Do not use the legacy `persist_option` value of `NONE`. +* `"persist_option": "RESET"` attribute is also a legacy value and is not supported. +==== + +=== Resetting a User or a Variable +Passing an empty array along with a formula variable name in the token request *does not reset the attribute values* for that formula variable for that user. + +To reset the formula variable attributes of a user, use the `/api/rest/2.0/template/variables/update-values` API endpoint. [NOTE] ==== -* The ABAC implementation with RLS and formula variables does not support session-based rules. Therefore, ThoughtSpot does not recommend setting the `persist_option` attribute to `NONE`. -* If you don't want to append or replace any attributes, do not pass any variable values in the token update request. -* Resetting attributes using the`"persist_option": "RESET"` attribute in the token request is not supported. Passing an empty array does not reset the attributes. To reset the formula variable attributes of a user, use the `/api/rest/2.0/template/variables/update-values` API endpoint. +Do not use the `/api/rest/2.0/users/{user_identifier}/update` endpoint, as it does not support updating variable values. ==== +=== Session-based ABAC and one-time users + +The ability to set variable values only for the current session, previously achieved by setting `persist_option: NONE`, is not supported with RLS via ABAC. + +For session-based rules, create dedicated one-time user accounts for your application users and apply persisted rules. Unless specifically stated in your contract, there is no limit to the number of users that can be created and provisioned in ThoughtSpot. + +This approach ensures that Liveboard schedule attachments enforce security rules and deliver only secured output to your end users. When combined with cookieless authentication, this configuration addresses all use cases that previously relied on session-based JWT. + +You can simplify user provisioning and programmatically manage user creation and deletion workflows using ThoughtSpot's REST APIs. + + === Variable scope To restrict the scope of the variable attributes and rules to a specific Org context and object, define the `org_identifier` and `objects`. @@ -332,7 +354,10 @@ If the request is successful, ThoughtSpot generates a token and sends the token ThoughtSpot access tokens are JWTs that are compressed by default to handle large payloads. It is recommended to keep the compression enabled to ensure all tokens can get properly interpreted by the application regardless of their size, and to obfuscate the values passed in the payload. If you want to disable it, contact ThoughtSpot Support. ==== +//// +--- THIS IS NOT TRUE ANYMORE === Verify the variable assignment + To retrieve user information and object properties, you can use the `POST /api/rest/2.0/users/search` API call. To include variable details in the response, set the `include_variable_values` parameter to `true` in the API request body. This allows you to fetch variable values associated with the user in the specified context. [source,JSON] @@ -364,28 +389,12 @@ To retrieve user information and object properties, you can use the `POST /api/r } } ---- +//// -You can also use the `POST /api/rest/2.0/template/variables/search` API call to xref:variables.adoc#_get_variables[get the list of variables] assigned to a specific user, Org, and Model. - -== Resetting a User or a Variable - -[NOTE] -==== -Do not use the `/api/rest/2.0/users/{user_identifier}/update` endpoint, as it does not support updating variable values. -==== - -[NOTE] -==== - -* In the legacy JWT ABAC token requests, you could set the `persist_option` parameter to `NONE`, `APPEND`, `REPLACE`, and `RESET`. However, when you use the `variable_values` parameter in the JWT API token request to set up RLS values for a given user, only `APPEND` and `REPLACE` are supported. - -* To reset the formula variable attributes of a user, use the `/api/rest/2.0/template/variables/update-values` API endpoint. - -* The ability to set variable values only for the current session, previously achieved by setting `persist_option: NONE`, is not supported with RLS via ABAC. + -For session-based rules, create dedicated user accounts for your application users and apply persisted rules. This approach ensures that Liveboard schedule attachments enforce security rules and deliver only secured output to your end users. When combined with cookieless authentication, this configuration addresses all use cases that previously relied on session-based JWT. You can simplify user provisioning and programmatically manage user creation and deletion workflows using ThoughtSpot's REST APIs. -==== == Verify the entitlements +You can also use the `POST /api/rest/2.0/template/variables/search` API call to xref:variables.adoc#_get_variables[get the list of variables] assigned to a specific user, Org, and Model. + To verify the entitlements: . Log in to your app with a user account that does not have the *Can administer and bypass RLS* privilege, and initiate the user session with the ABAC token. From b05808966e986d03878b8faa94d6699138e76095 Mon Sep 17 00:00:00 2001 From: Bryant Howell - ThoughtSpot <83678239+bryanthowell-ts@users.noreply.github.com> Date: Tue, 17 Feb 2026 14:40:02 -0600 Subject: [PATCH 15/86] Update abac_rls-variables.adoc Added requests and responses on teh variable update APIs --- modules/ROOT/pages/abac_rls-variables.adoc | 95 +++++++++++++++++++--- 1 file changed, 82 insertions(+), 13 deletions(-) diff --git a/modules/ROOT/pages/abac_rls-variables.adoc b/modules/ROOT/pages/abac_rls-variables.adoc index 7ca6c1d94..892f41276 100644 --- a/modules/ROOT/pages/abac_rls-variables.adoc +++ b/modules/ROOT/pages/abac_rls-variables.adoc @@ -259,7 +259,36 @@ If you don't want to append or replace any attribute values, do not pass any det === Resetting a User or a Variable Passing an empty array along with a formula variable name in the token request *does not reset the attribute values* for that formula variable for that user. -To reset the formula variable attributes of a user, use the `/api/rest/2.0/template/variables/update-values` API endpoint. +To change the formula variable attributes of a user for a particular, particularly to set their entitlements to an empty set, use the `/api/rest/2.0/template/variables/update-values` API endpoint. + +[WARNING] +==== +The `RESET` operation erases all variable value settings for all users for a variable, regardless of any `variable_value_scope` provided. Use with caution, it is a complete reset. +==== + +A formula variable exists across all Orgs in ThoughtSpot, but the values are recorded on a per Org and per Principal basis. To use the Update Variable Values REST API, you'll need to provide the `org_identifier` as well as the username as `principal_identifier` and set `principal_type` to `USER` as seen below: + +[,json] +---- +{ + "variable_assignment": [ + { + "variable_identifier": "country_var", + "variable_values": [], + "operation": "REPLACE" + } + ], + "variable_value_scope": [ + { + "org_identifier": "Prod", + "principal_type": "USER", + "principal_identifier": "jane.smith@company.com" + } + ] +} +---- +The above command would result in jane.smith@company.com being denied any access when `country_var` is used in an RLS rule. + [NOTE] ==== @@ -302,17 +331,7 @@ The API supports only the `LOGICAL_TABLE` object type. If the object ID is not specified in the API request, the variable values will be applied to all formulas and rules that use those variables, across all objects in the Org for that user. -==== Apply to Org context - -The `org_identifier` attribute in the token request specifies the Org context for the user session and entitlements. - -If the `org_identifier` parameter is not defined in the token request, the token is issued for the user's last logged-in Org. For new users, the token will be assigned to the default Org on their instance. - -To apply variable entitlements to a user session, you must ensure that the RLS rules with variables and relevant objects are available in the Org context specified in the token request. - -=== Example request body - -The following example shows the request body for generating a token with formula variable attributes: +The following example shows the request body for generating a token with formula variable attributes scoped to a particular Model object: [source,JSON] ---- @@ -347,13 +366,20 @@ The following example shows the request body for generating a token with formula } ---- -If the request is successful, ThoughtSpot generates a token and sends the token details in the API response. +==== Apply to Org context + +The `org_identifier` attribute in the token request specifies the Org context for the user session and entitlements. + +If the `org_identifier` parameter is not defined in the token request, the token is issued for the user's last logged-in Org. For new users, the token will be assigned to the default Org on their instance. + +To apply variable entitlements to a user session, you must ensure that the RLS rules with variables and relevant objects are available in the Org context specified in the token request. [NOTE] ==== ThoughtSpot access tokens are JWTs that are compressed by default to handle large payloads. It is recommended to keep the compression enabled to ensure all tokens can get properly interpreted by the application regardless of their size, and to obfuscate the values passed in the payload. If you want to disable it, contact ThoughtSpot Support. ==== + //// --- THIS IS NOT TRUE ANYMORE === Verify the variable assignment @@ -395,6 +421,49 @@ To retrieve user information and object properties, you can use the `POST /api/r == Verify the entitlements You can also use the `POST /api/rest/2.0/template/variables/search` API call to xref:variables.adoc#_get_variables[get the list of variables] assigned to a specific user, Org, and Model. +Set the `response_content` parameter to `METADATA_AND_VALUES` to see the values that have been set for each user per Org: + +[,json] +---- +{ + "record_offset": 0, + "record_size": -1, + "response_content": "METADATA_AND_VALUES" +} +---- + +Would result in the response: + +[,json] +---- +[ + { "id":"d3abc655-b706-4f91-90ea-cc26bc966d46", + "name":"country_var", + "variable_type":"FORMULA_VARIABLE", + "sensitive":false, + "values":[ + { + "value": null, + "value_list": ["CustomerC","CustomerD"], + "org_identifier": "Prod", + "principal_type": "USER", + "principal_identifier": "ron.smith@company.com", + "model_identifier": null, + "priority": null + },{ + "value": null, + "value_list": null, + "org_identifier": "Prod", + "principal_type": "USER", + "principal_identifier": "jane.smith@company.com", + "model_identifier": null, + "priority": null + } + ] + } +] +---- + To verify the entitlements: . Log in to your app with a user account that does not have the *Can administer and bypass RLS* privilege, and initiate the user session with the ABAC token. From e4e1ed8036d36351857b7f10635d8d0582fe2726 Mon Sep 17 00:00:00 2001 From: ShashiSubramanya Date: Wed, 18 Feb 2026 15:37:59 +0530 Subject: [PATCH 16/86] url ref removed --- modules/ROOT/pages/api-intercept.adoc | 19 +++---------------- 1 file changed, 3 insertions(+), 16 deletions(-) diff --git a/modules/ROOT/pages/api-intercept.adoc b/modules/ROOT/pages/api-intercept.adoc index a3ba7e5e5..c10332b87 100644 --- a/modules/ROOT/pages/api-intercept.adoc +++ b/modules/ROOT/pages/api-intercept.adoc @@ -11,7 +11,7 @@ Developers can intercept data fetch and other API requests initiated by the embe * Intercept data fetch requests: + To enable interception of search execution requests by search embed or full application embed, use the `isOnBeforeGetVizDataInterceptEnabled` attribute. When enabled, you can implement custom logic using the `OnBeforeGetVizDataIntercept` embed event, allow or block search requests, and show custom messages to users. -* Intercept a specific API call or all requests: + +* Intercept a specific API call or all API requests: + If you want to intercept other API calls initiated by the embedded application, define the URLs that you want to intercept in the `interceptUrls` attribute and handle interception using the `ApiIntercept` embed event. Developers can use these interception features for: @@ -80,21 +80,6 @@ embed.on(EmbedEvent.OnBeforeGetVizDataIntercept, The API intercept feature lets you intercept API calls made by the embedded application, modify or block requests, and provide custom responses before they are sent to the backend. -//// -=== Enable API interception - -To enable this feature on your embed, you must set the `enableApiIntercept` flag to `true` in the SDK. - -[source,JavaScript] ----- -const embed = new LiveboardEmbed('#embed', { - //...viewConfig, - enableApiIntercept: true, - //... -}); ----- -//// - To intercept API requests from specific URLs, define the URLs in the `interceptUrls` array: Valid values for `interceptUrls` are: @@ -103,6 +88,7 @@ Valid values for `interceptUrls` are: ** `AnswerData` - Allows intercepting APIs that fetch data for a search query or visualization. + ** `LiveboardData` - Allows intercepting APIs requesting data for the embedded Liveboard. +//// You can also set a specific URL that you want to intercept by specifying the array in the following format: `interceptUrls: [Type.AnswerData, '{URL-to-intercept}']` @@ -111,6 +97,7 @@ You can also set a specific URL that you want to intercept by specifying the arr ==== You must specify at least one API type or URL in the array for interception to be effective. If `interceptUrls` is set as an empty array, no URLs will be intercepted. ==== +//// === Intercept timeout threshold To set a threshold for the interception handling, configure the `interceptTimeout` value in milliseconds. The default value is 30000. If the interception is not handled within the configured threshold, the API returns an error. From c5e77a13b578f9fd7278900ec654d9a2f4fb98e5 Mon Sep 17 00:00:00 2001 From: ShashiSubramanya Date: Wed, 18 Feb 2026 15:53:54 +0530 Subject: [PATCH 17/86] api intercept updates --- modules/ROOT/pages/api-intercept.adoc | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/modules/ROOT/pages/api-intercept.adoc b/modules/ROOT/pages/api-intercept.adoc index c10332b87..85153b063 100644 --- a/modules/ROOT/pages/api-intercept.adoc +++ b/modules/ROOT/pages/api-intercept.adoc @@ -12,7 +12,7 @@ Developers can intercept data fetch and other API requests initiated by the embe To enable interception of search execution requests by search embed or full application embed, use the `isOnBeforeGetVizDataInterceptEnabled` attribute. When enabled, you can implement custom logic using the `OnBeforeGetVizDataIntercept` embed event, allow or block search requests, and show custom messages to users. * Intercept a specific API call or all API requests: + -If you want to intercept other API calls initiated by the embedded application, define the URLs that you want to intercept in the `interceptUrls` attribute and handle interception using the `ApiIntercept` embed event. +If you want to intercept other API calls initiated by the embedded application, define the requests that you want to intercept in the `interceptUrls` attribute and handle interception using the `ApiIntercept` embed event. Developers can use these interception features for: @@ -34,7 +34,7 @@ const embed = new LiveboardEmbed('#embed', { }); ---- -When enabled, you can intercept and control search execution and data fetch requests, and implement a custom logic to trigger a response when the `EmbedEvent.OnBeforeGetVizDataIntercept` event is emitted. +When enabled, you can intercept and control search execution and data fetch requests, and implement custom logic to trigger a response when the `EmbedEvent.OnBeforeGetVizDataIntercept` event is emitted. The following example blocks the search request and returns a custom error message. @@ -76,28 +76,27 @@ embed.on(EmbedEvent.OnBeforeGetVizDataIntercept, }) ---- -== Intercept specific URLs or all API calls +== Intercept specific requests or all API calls The API intercept feature lets you intercept API calls made by the embedded application, modify or block requests, and provide custom responses before they are sent to the backend. -To intercept API requests from specific URLs, define the URLs in the `interceptUrls` array: - -Valid values for `interceptUrls` are: +To intercept API requests from specific URLs, specify one of the following values in the `interceptUrls` array: ** `ALL` - Allows intercepting all API requests + ** `AnswerData` - Allows intercepting APIs that fetch data for a search query or visualization. + -** `LiveboardData` - Allows intercepting APIs requesting data for the embedded Liveboard. +** `LiveboardData` - Allows intercepting APIs requesting data for an embedded Liveboard. //// You can also set a specific URL that you want to intercept by specifying the array in the following format: `interceptUrls: [Type.AnswerData, '{URL-to-intercept}']` +//// [NOTE] ==== -You must specify at least one API type or URL in the array for interception to be effective. If `interceptUrls` is set as an empty array, no URLs will be intercepted. +You must specify at least one API type in the array for interception to be effective. If `interceptUrls` is set as an empty array, no API requests will be intercepted. ==== -//// + === Intercept timeout threshold To set a threshold for the interception handling, configure the `interceptTimeout` value in milliseconds. The default value is 30000. If the interception is not handled within the configured threshold, the API returns an error. From 531117cd5a8ad7e52aefa7080f21b618e4915674 Mon Sep 17 00:00:00 2001 From: Rani Gangwar Date: Tue, 17 Feb 2026 20:42:28 +0530 Subject: [PATCH 18/86] edits to flag --- modules/ROOT/pages/embed-pinboard.adoc | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/modules/ROOT/pages/embed-pinboard.adoc b/modules/ROOT/pages/embed-pinboard.adoc index 455283606..452730976 100644 --- a/modules/ROOT/pages/embed-pinboard.adoc +++ b/modules/ROOT/pages/embed-pinboard.adoc @@ -503,7 +503,8 @@ liveboardEmbed.trigger(HostEvent.UpdateFilters, { === Liveboard grouping and styling [earlyAccess eaBackground]#Early Access# You can now create a visual group of Answers and note tiles together in the Liveboard. You can select multiple Answers and notes in the Liveboard editor. You can also style parts of the Liveboard, groups and Answers with the new styling panel. -To enable this feature, set `isLiveboardStylingAndGroupingEnabled` to `true`. It is important to note the following changes which happen in the Liveboard UI and layout when this feature is active. +To enable this feature, set `isLiveboardMasterpiecesEnabled` to `true`. +It is important to note the following changes which happen in the Liveboard UI and layout when this feature is active. * All tiles on the Liveboard will now have a default border and an increased border-radius, resulting in more pronounced curved corners. This is part of the broader visualization tile customization options done to enhance the visual appearance of charts and tables. * For Note tiles, the default scrollbar is now hidden for long content. Users must scroll within the tile area itself, and if the tile is not sized appropriately for its content, it may appear clipped due to the new container styles. This change emphasizes the importance of properly sizing Note tiles to avoid content being visually cut off. @@ -515,7 +516,7 @@ To enable this feature, set `isLiveboardStylingAndGroupingEnabled` to `true`. It image::./images/lb-grp-styling-error.png[Liveboard with groups styling error] -- + -To embed a Liveboard that uses Groups, you must set `isLiveboardStylingAndGroupingEnabled` to `true` in your embedding configuration. This is required for compatibility with the new grouping and styling features; otherwise, the embedded Liveboard will not render correctly. +To embed a Liveboard that uses Groups, you must set `isLiveboardMasterpiecesEnabled` to `true` in your embedding configuration. This is required for compatibility with the new grouping and styling features; otherwise, the embedded Liveboard will not render correctly. For more information, see link:https://docs.thoughtspot.com/cloud/latest/liveboard-grouping-styling[Liveboard grouping and styling, window=_blank]. From 4a087ea02b71abbef55055d21b7858d0b7c2e60d Mon Sep 17 00:00:00 2001 From: ShashiSubramanya Date: Wed, 18 Feb 2026 15:37:59 +0530 Subject: [PATCH 19/86] url ref removed --- modules/ROOT/pages/api-intercept.adoc | 19 +++---------------- 1 file changed, 3 insertions(+), 16 deletions(-) diff --git a/modules/ROOT/pages/api-intercept.adoc b/modules/ROOT/pages/api-intercept.adoc index a3ba7e5e5..c10332b87 100644 --- a/modules/ROOT/pages/api-intercept.adoc +++ b/modules/ROOT/pages/api-intercept.adoc @@ -11,7 +11,7 @@ Developers can intercept data fetch and other API requests initiated by the embe * Intercept data fetch requests: + To enable interception of search execution requests by search embed or full application embed, use the `isOnBeforeGetVizDataInterceptEnabled` attribute. When enabled, you can implement custom logic using the `OnBeforeGetVizDataIntercept` embed event, allow or block search requests, and show custom messages to users. -* Intercept a specific API call or all requests: + +* Intercept a specific API call or all API requests: + If you want to intercept other API calls initiated by the embedded application, define the URLs that you want to intercept in the `interceptUrls` attribute and handle interception using the `ApiIntercept` embed event. Developers can use these interception features for: @@ -80,21 +80,6 @@ embed.on(EmbedEvent.OnBeforeGetVizDataIntercept, The API intercept feature lets you intercept API calls made by the embedded application, modify or block requests, and provide custom responses before they are sent to the backend. -//// -=== Enable API interception - -To enable this feature on your embed, you must set the `enableApiIntercept` flag to `true` in the SDK. - -[source,JavaScript] ----- -const embed = new LiveboardEmbed('#embed', { - //...viewConfig, - enableApiIntercept: true, - //... -}); ----- -//// - To intercept API requests from specific URLs, define the URLs in the `interceptUrls` array: Valid values for `interceptUrls` are: @@ -103,6 +88,7 @@ Valid values for `interceptUrls` are: ** `AnswerData` - Allows intercepting APIs that fetch data for a search query or visualization. + ** `LiveboardData` - Allows intercepting APIs requesting data for the embedded Liveboard. +//// You can also set a specific URL that you want to intercept by specifying the array in the following format: `interceptUrls: [Type.AnswerData, '{URL-to-intercept}']` @@ -111,6 +97,7 @@ You can also set a specific URL that you want to intercept by specifying the arr ==== You must specify at least one API type or URL in the array for interception to be effective. If `interceptUrls` is set as an empty array, no URLs will be intercepted. ==== +//// === Intercept timeout threshold To set a threshold for the interception handling, configure the `interceptTimeout` value in milliseconds. The default value is 30000. If the interception is not handled within the configured threshold, the API returns an error. From e40e9c21773dafac67a5ac359a54b554ca469788 Mon Sep 17 00:00:00 2001 From: ShashiSubramanya Date: Wed, 18 Feb 2026 15:53:54 +0530 Subject: [PATCH 20/86] api intercept updates --- modules/ROOT/pages/api-intercept.adoc | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/modules/ROOT/pages/api-intercept.adoc b/modules/ROOT/pages/api-intercept.adoc index c10332b87..85153b063 100644 --- a/modules/ROOT/pages/api-intercept.adoc +++ b/modules/ROOT/pages/api-intercept.adoc @@ -12,7 +12,7 @@ Developers can intercept data fetch and other API requests initiated by the embe To enable interception of search execution requests by search embed or full application embed, use the `isOnBeforeGetVizDataInterceptEnabled` attribute. When enabled, you can implement custom logic using the `OnBeforeGetVizDataIntercept` embed event, allow or block search requests, and show custom messages to users. * Intercept a specific API call or all API requests: + -If you want to intercept other API calls initiated by the embedded application, define the URLs that you want to intercept in the `interceptUrls` attribute and handle interception using the `ApiIntercept` embed event. +If you want to intercept other API calls initiated by the embedded application, define the requests that you want to intercept in the `interceptUrls` attribute and handle interception using the `ApiIntercept` embed event. Developers can use these interception features for: @@ -34,7 +34,7 @@ const embed = new LiveboardEmbed('#embed', { }); ---- -When enabled, you can intercept and control search execution and data fetch requests, and implement a custom logic to trigger a response when the `EmbedEvent.OnBeforeGetVizDataIntercept` event is emitted. +When enabled, you can intercept and control search execution and data fetch requests, and implement custom logic to trigger a response when the `EmbedEvent.OnBeforeGetVizDataIntercept` event is emitted. The following example blocks the search request and returns a custom error message. @@ -76,28 +76,27 @@ embed.on(EmbedEvent.OnBeforeGetVizDataIntercept, }) ---- -== Intercept specific URLs or all API calls +== Intercept specific requests or all API calls The API intercept feature lets you intercept API calls made by the embedded application, modify or block requests, and provide custom responses before they are sent to the backend. -To intercept API requests from specific URLs, define the URLs in the `interceptUrls` array: - -Valid values for `interceptUrls` are: +To intercept API requests from specific URLs, specify one of the following values in the `interceptUrls` array: ** `ALL` - Allows intercepting all API requests + ** `AnswerData` - Allows intercepting APIs that fetch data for a search query or visualization. + -** `LiveboardData` - Allows intercepting APIs requesting data for the embedded Liveboard. +** `LiveboardData` - Allows intercepting APIs requesting data for an embedded Liveboard. //// You can also set a specific URL that you want to intercept by specifying the array in the following format: `interceptUrls: [Type.AnswerData, '{URL-to-intercept}']` +//// [NOTE] ==== -You must specify at least one API type or URL in the array for interception to be effective. If `interceptUrls` is set as an empty array, no URLs will be intercepted. +You must specify at least one API type in the array for interception to be effective. If `interceptUrls` is set as an empty array, no API requests will be intercepted. ==== -//// + === Intercept timeout threshold To set a threshold for the interception handling, configure the `interceptTimeout` value in milliseconds. The default value is 30000. If the interception is not handled within the configured threshold, the API returns an error. From 938d69322473397b703c704bbc0c0470c9671e85 Mon Sep 17 00:00:00 2001 From: Rani Gangwar Date: Thu, 19 Feb 2026 09:31:06 +0530 Subject: [PATCH 21/86] deprecation for Sage privilege --- modules/ROOT/pages/deprecated-features.adoc | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/modules/ROOT/pages/deprecated-features.adoc b/modules/ROOT/pages/deprecated-features.adoc index b64e3d751..864127933 100644 --- a/modules/ROOT/pages/deprecated-features.adoc +++ b/modules/ROOT/pages/deprecated-features.adoc @@ -14,6 +14,7 @@ As ThoughtSpot applications evolve, some existing features will be deprecated an [options='header'] |===== |Feature|Impacted interface and release versions|Deprecation date |End of Support / removal from the product +a|xref:deprecated-features.adoc#SagePrivilegeDeprecation[`PREVIEW_THOUGHTSPOT_SAGE` privilege deprecation] a|ThoughtSpot Cloud 26.3.0.cl and later | March 2026 | May 2026 a|xref:deprecated-features.adoc#_answer_data_panel_classic_experience_deprecation[Answer Data panel classic experience] |ThoughtSpot Cloud 26.4.0.cl and later | April 2026 | August 2026 a|xref:deprecated-features.adoc#_worksheet_deprecation_and_removal[Worksheets] a| ThoughtSpot Cloud 10.4.0.cl and later |November 2024 | September 2025 @@ -80,6 +81,12 @@ a|xref:deprecated-features.adoc#_deprecated_parameter_in_rest_api_v2_0_authentic |||| |===== +[#SagePrivilegeDeprecation] +== `PREVIEW_THOUGHTSPOT_SAGE` privilege deprecation +The `PREVIEW_THOUGHTSPOT_SAGE` privilege is renamed to `CAN_USE_SPOTTER` with the ThoughtSpot 26.3.0.cl release version. The API calls will continue to support both these privileges until ThoughtSpot 26.5.0.cl release version, after which the `PREVIEW_THOUGHTSPOT_SAGE` privilege will be removed. +For ThoughtSpot instances which have enabled RBAC before the 26.3.0.cl release, there will be no automatic changes to the roles created using the `PREVIEW_THOUGHTSPOT_SAGE` privilege. However, the underlying privilege associated with such roles will be appropriately renamed to `CAN_USE_SPOTTER`. The admins for these clusters will be notified to rename the role in accordance with the newer privilege name. + + == Answer Data panel classic experience deprecation The classic Data panel experience in Search and Answer pages will be deprecated in ThoughtSpot 26.4.0.cl release version. The new data panel experience, which provides a more intuitive layout with improved organization of data elements and features such as query sets and custom groups, will be the default data panel experience on all ThoughtSpot Embedded instances using Visual Embed SDK v1.41.1 or later. From 1226c8424b138ca584426299bb1dbda1fc97a7d0 Mon Sep 17 00:00:00 2001 From: Rani Gangwar Date: Thu, 19 Feb 2026 09:46:33 +0530 Subject: [PATCH 22/86] reverted commit due to merge conflicts --- modules/ROOT/pages/deprecated-features.adoc | 7 ------- 1 file changed, 7 deletions(-) diff --git a/modules/ROOT/pages/deprecated-features.adoc b/modules/ROOT/pages/deprecated-features.adoc index 864127933..b64e3d751 100644 --- a/modules/ROOT/pages/deprecated-features.adoc +++ b/modules/ROOT/pages/deprecated-features.adoc @@ -14,7 +14,6 @@ As ThoughtSpot applications evolve, some existing features will be deprecated an [options='header'] |===== |Feature|Impacted interface and release versions|Deprecation date |End of Support / removal from the product -a|xref:deprecated-features.adoc#SagePrivilegeDeprecation[`PREVIEW_THOUGHTSPOT_SAGE` privilege deprecation] a|ThoughtSpot Cloud 26.3.0.cl and later | March 2026 | May 2026 a|xref:deprecated-features.adoc#_answer_data_panel_classic_experience_deprecation[Answer Data panel classic experience] |ThoughtSpot Cloud 26.4.0.cl and later | April 2026 | August 2026 a|xref:deprecated-features.adoc#_worksheet_deprecation_and_removal[Worksheets] a| ThoughtSpot Cloud 10.4.0.cl and later |November 2024 | September 2025 @@ -81,12 +80,6 @@ a|xref:deprecated-features.adoc#_deprecated_parameter_in_rest_api_v2_0_authentic |||| |===== -[#SagePrivilegeDeprecation] -== `PREVIEW_THOUGHTSPOT_SAGE` privilege deprecation -The `PREVIEW_THOUGHTSPOT_SAGE` privilege is renamed to `CAN_USE_SPOTTER` with the ThoughtSpot 26.3.0.cl release version. The API calls will continue to support both these privileges until ThoughtSpot 26.5.0.cl release version, after which the `PREVIEW_THOUGHTSPOT_SAGE` privilege will be removed. -For ThoughtSpot instances which have enabled RBAC before the 26.3.0.cl release, there will be no automatic changes to the roles created using the `PREVIEW_THOUGHTSPOT_SAGE` privilege. However, the underlying privilege associated with such roles will be appropriately renamed to `CAN_USE_SPOTTER`. The admins for these clusters will be notified to rename the role in accordance with the newer privilege name. - - == Answer Data panel classic experience deprecation The classic Data panel experience in Search and Answer pages will be deprecated in ThoughtSpot 26.4.0.cl release version. The new data panel experience, which provides a more intuitive layout with improved organization of data elements and features such as query sets and custom groups, will be the default data panel experience on all ThoughtSpot Embedded instances using Visual Embed SDK v1.41.1 or later. From fd3d9182f4ebd29b4512e87db0cbbf19888c59e1 Mon Sep 17 00:00:00 2001 From: ShashiSubramanya Date: Tue, 24 Feb 2026 07:21:32 +0530 Subject: [PATCH 23/86] SCAL-215583 --- modules/ROOT/pages/whats-new.adoc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/modules/ROOT/pages/whats-new.adoc b/modules/ROOT/pages/whats-new.adoc index c59a7b19b..9a0f677fd 100644 --- a/modules/ROOT/pages/whats-new.adoc +++ b/modules/ROOT/pages/whats-new.adoc @@ -78,6 +78,9 @@ For more information, see xref:spotter-apis.adoc[Spotter APIs]. You can now intercept API calls from the embedded ThoughtSpot application using the `interceptUrls` attribute in the Visual Embed SDK. This feature lets you control API requests in your embedding application and use embed events to modify, block, or handle requests before they are sent to the backend. For more information, see xref:api-intercept.adoc[Intercept API calls and search requests]. +=== Icon customization enhancements +You can now replace or customize the chart switcher toggle and icons in the Charts drawer on an Answer or visualization page using SVG sprites. Previously, these icons were fixed to ThoughtSpot defaults and were not configurable. In the new version, these icons are available as SVG components and can be replaced by developers through the xref:customize-icons.adoc[icon customization framework] as needed. + === Mobile Embed SDK The SDKs for embedding ThoughtSpot components in mobile apps are now Generally Available (GA). For more information about the SDKs and how to embed a ThoughtSpot component in a mobile app, see xref:mobile-embed.adoc[Mobile embed documentation]. From bc62955609aca2058c550d966199d59ec68396cc Mon Sep 17 00:00:00 2001 From: ShashiSubramanya Date: Tue, 24 Feb 2026 07:21:32 +0530 Subject: [PATCH 24/86] SCAL-215583 --- modules/ROOT/pages/whats-new.adoc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/modules/ROOT/pages/whats-new.adoc b/modules/ROOT/pages/whats-new.adoc index c59a7b19b..9a0f677fd 100644 --- a/modules/ROOT/pages/whats-new.adoc +++ b/modules/ROOT/pages/whats-new.adoc @@ -78,6 +78,9 @@ For more information, see xref:spotter-apis.adoc[Spotter APIs]. You can now intercept API calls from the embedded ThoughtSpot application using the `interceptUrls` attribute in the Visual Embed SDK. This feature lets you control API requests in your embedding application and use embed events to modify, block, or handle requests before they are sent to the backend. For more information, see xref:api-intercept.adoc[Intercept API calls and search requests]. +=== Icon customization enhancements +You can now replace or customize the chart switcher toggle and icons in the Charts drawer on an Answer or visualization page using SVG sprites. Previously, these icons were fixed to ThoughtSpot defaults and were not configurable. In the new version, these icons are available as SVG components and can be replaced by developers through the xref:customize-icons.adoc[icon customization framework] as needed. + === Mobile Embed SDK The SDKs for embedding ThoughtSpot components in mobile apps are now Generally Available (GA). For more information about the SDKs and how to embed a ThoughtSpot component in a mobile app, see xref:mobile-embed.adoc[Mobile embed documentation]. From 6a199908cb2e9fa880ddfcba7ef6d00290969eed Mon Sep 17 00:00:00 2001 From: Rani Gangwar Date: Tue, 24 Feb 2026 11:16:44 +0530 Subject: [PATCH 25/86] changed the lb styling flag --- modules/ROOT/pages/customize-css-styles.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/ROOT/pages/customize-css-styles.adoc b/modules/ROOT/pages/customize-css-styles.adoc index f2f06e780..f16d7232d 100644 --- a/modules/ROOT/pages/customize-css-styles.adoc +++ b/modules/ROOT/pages/customize-css-styles.adoc @@ -189,7 +189,7 @@ Use the following variables to customize the Liveboard visualization groups and [NOTE] ==== -To enable this feature contact ThoughtSpot support and set `isLiveboardStylingAndGroupingEnabled` to `true` in the SDK . +To enable this feature contact ThoughtSpot support and set `isLiveboardMasterpiecesEnabled` to `true` in the SDK . ==== [width="100%" cols="7,7"] From b3f5f338c4d3d4727a356ba1775355ba7e78eed3 Mon Sep 17 00:00:00 2001 From: Rani Gangwar Date: Tue, 24 Feb 2026 11:16:44 +0530 Subject: [PATCH 26/86] changed the lb styling flag --- modules/ROOT/pages/customize-css-styles.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/ROOT/pages/customize-css-styles.adoc b/modules/ROOT/pages/customize-css-styles.adoc index f2f06e780..f16d7232d 100644 --- a/modules/ROOT/pages/customize-css-styles.adoc +++ b/modules/ROOT/pages/customize-css-styles.adoc @@ -189,7 +189,7 @@ Use the following variables to customize the Liveboard visualization groups and [NOTE] ==== -To enable this feature contact ThoughtSpot support and set `isLiveboardStylingAndGroupingEnabled` to `true` in the SDK . +To enable this feature contact ThoughtSpot support and set `isLiveboardMasterpiecesEnabled` to `true` in the SDK . ==== [width="100%" cols="7,7"] From 40b643b2ca0f0ad84e66afdcbaf9e7d6f307535f Mon Sep 17 00:00:00 2001 From: Shivam Kumar Date: Thu, 26 Feb 2026 18:14:15 +0530 Subject: [PATCH 27/86] SCAL-298466-2-test changed branch name --- scripts/Converter/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/Converter/index.ts b/scripts/Converter/index.ts index 05a35fb45..f6091ddf8 100644 --- a/scripts/Converter/index.ts +++ b/scripts/Converter/index.ts @@ -1035,7 +1035,7 @@ const main = async () => { cliOptions.typeDocFilePath = cliOptions.typeDocFilePath.replace( '{branch}', - cliOptions.branch, + 'SCAL-298466', ); console.log('Script options : ', cliOptions); From 8fd0e53d0859fa13ebbc39e4ca708a5539e87efe Mon Sep 17 00:00:00 2001 From: Shivam Kumar Date: Thu, 26 Feb 2026 23:23:10 +0530 Subject: [PATCH 28/86] SCAL-298466-2 removed the bug of script generation --- scripts/Converter/index.ts | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/scripts/Converter/index.ts b/scripts/Converter/index.ts index f6091ddf8..907f852b0 100644 --- a/scripts/Converter/index.ts +++ b/scripts/Converter/index.ts @@ -758,7 +758,7 @@ class TypeDocParser { let content = ''; if (node.indexSignature?.parameters) { content += 'Index Signature Parameters\n\n'; - node.indexSignature.parameters + content += node.indexSignature.parameters .map(this.convertTypeDocNode) .join('\n\n'); } else if (node.signatures) { @@ -771,7 +771,11 @@ class TypeDocParser { }); } else if (node.children) { content += 'Parameters\n\n'; - content += node.children.map(this.convertTypeDocNode).join('\n\n'); + content += node.children + .map((child) => + this.handleParameterNode(child as ParameterNode), + ) + .join('\n\n'); } return content; From c614f8b1d2460ff196a4b4f22d5d05b301300660 Mon Sep 17 00:00:00 2001 From: Shivam Kumar Date: Thu, 26 Feb 2026 23:46:49 +0530 Subject: [PATCH 29/86] SCAL-298466-2 removed bug for the developer docs site --- scripts/Converter/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/Converter/index.ts b/scripts/Converter/index.ts index 907f852b0..8742111e2 100644 --- a/scripts/Converter/index.ts +++ b/scripts/Converter/index.ts @@ -1039,7 +1039,7 @@ const main = async () => { cliOptions.typeDocFilePath = cliOptions.typeDocFilePath.replace( '{branch}', - 'SCAL-298466', + cliOptions.branch, ); console.log('Script options : ', cliOptions); From d529ff51e7fef75c7f8d8201eb6bcf7c23f6d79d Mon Sep 17 00:00:00 2001 From: ShashiSubramanya Date: Fri, 27 Feb 2026 07:59:37 +0530 Subject: [PATCH 30/86] SCAL-280604 and SCAL-265929 --- modules/ROOT/pages/webhooks-lb-schedule.adoc | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/modules/ROOT/pages/webhooks-lb-schedule.adoc b/modules/ROOT/pages/webhooks-lb-schedule.adoc index eec7e3d5a..d84a40192 100644 --- a/modules/ROOT/pages/webhooks-lb-schedule.adoc +++ b/modules/ROOT/pages/webhooks-lb-schedule.adoc @@ -1013,6 +1013,15 @@ Along with the JSON payload, if the Liveboard schedule is configured to send a P The payload also includes file attachments in the file format specified in the Liveboard schedule. The file format can be PDF, CSV, or XLSX. +=== Response after webhook delivery +The webhook must return an HTTP 2xx status code within approximately 5 seconds to indicate successful receipt and processing. Your server should therefore respond with a 2xx status within this timeframe after receiving the webhook delivery. All 2xx responses are recorded as `SUCCESS`. + +If your server takes longer than that to respond, returns a 4xx error or times out, ThoughtSpot will still deliver the Liveboard data and file, but the notification status is recorded as `FAILED` in the ThoughtSpot notification history and validation UI. + +If your server takes longer than 5 seconds to respond, returns a 4xx error, or times out, ThoughtSpot will still deliver the Liveboard data and file. However, the notification status is recorded as `FAILED` in the ThoughtSpot notification history. + +To ensure a timely response, we recommend processing webhook payloads asynchronously. Your server can immediately return a 2xx response upon receipt of the webhook and then handle the payload in the background without blocking subsequent webhook deliveries. + == Additional resources * link:https://docs.thoughtspot.com/cloud/latest/liveboard-schedule[Scheduling Liveboard jobs, window=_blank] From 3865eef877faf799ad30b5b9216aa12766495571 Mon Sep 17 00:00:00 2001 From: ShashiSubramanya Date: Fri, 27 Feb 2026 08:38:37 +0530 Subject: [PATCH 31/86] csp info removal and other fixes --- modules/ROOT/pages/mcp-integration.adoc | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/modules/ROOT/pages/mcp-integration.adoc b/modules/ROOT/pages/mcp-integration.adoc index 6b877e5ae..35238d93c 100644 --- a/modules/ROOT/pages/mcp-integration.adoc +++ b/modules/ROOT/pages/mcp-integration.adoc @@ -67,8 +67,11 @@ ThoughtSpot administrators can use the SSO framework with SAML or OAuth token-ba * SAML redirect settings: + For SAML SSO users, the SAML redirect domain configuration is required to ensure that users are redirected to an allowed and trusted domain after they are authenticated. + * To get answers to their data queries, your application users require at least view access to ThoughtSpot data sources. To generate an Answer or to create a Liveboard, users require the data download privilege. + +//// * CSP and CORS settings: + To secure communication between the MCP client and the ThoughtSpot instance, administrators must add the MCP Server URL to CSP (Content Security Policy) and CORS (Cross-Origin Resource Sharing) allowlists in ThoughtSpot. +//// * Client connection configuration: + MCP Server integration also requires configuration on the client side, typically via a config file, to include the MCP Server addresses, credentials, and other details. @@ -104,13 +107,14 @@ Before you begin, verify if your application setup has the following: * Your application users have at least view access to the data source objects to query data and get answers. * Row-level and column-level security rules are configured for data security and access control. +//// To enable secure communication between the MCP Server and your ThoughtSpot instance, configure the following settings: . On your ThoughtSpot instance, navigate to *Develop* > *Customizations* > *Security Settings*. . Add the MCP Server domain to CSP and CORS allowlists. . If your setup uses SAML SSO logins, add the MCP Server domain to the SAML redirect domain allowlist. -//// + === Configure security settings on ThoughtSpot To allow secure communication between the MCP Server and your ThoughtSpot instance, configure the following settings: @@ -132,7 +136,7 @@ For OpenAI ChatGPT Deep Research, use the following URL: https://agent.thoughtspot.app/openai/mcp ---- -For MCP clients such as Claude Desktop, Windsurf, and Cursor that do not support a remote MCP Server, you must xref:mcp-integration.adoc#_connecting_other_mcp_clients_claude_desktop[add the MCP server configuration to your MCP client settings]. +For MCP clients that do not support a remote MCP Server, you must xref:mcp-integration.adoc#_connecting_other_mcp_clients_claude_desktop[add the MCP server configuration to your MCP client settings]. === Call MCP tools via LLM APIs From c250361fa79b11164fedb8f3a5ddd7178ce07065 Mon Sep 17 00:00:00 2001 From: ShashiSubramanya Date: Fri, 27 Feb 2026 08:58:50 +0530 Subject: [PATCH 32/86] typo fixes --- modules/ROOT/pages/api-changelog.adoc | 24 +++--- modules/ROOT/pages/webhooks-lb-schedule.adoc | 86 ++++++++++---------- modules/ROOT/pages/whats-new.adoc | 24 +++--- 3 files changed, 67 insertions(+), 67 deletions(-) diff --git a/modules/ROOT/pages/api-changelog.adoc b/modules/ROOT/pages/api-changelog.adoc index 5840406b4..343b6f227 100644 --- a/modules/ROOT/pages/api-changelog.adoc +++ b/modules/ROOT/pages/api-changelog.adoc @@ -12,9 +12,9 @@ This changelog lists only the changes introduced in the Visual Embed SDK. For in [width="100%" cols="1,4"] |==== -|[tag greenBackground]#NEW FEATURE# a|**Spotter enhancements ** +|[tag greenBackground]#NEW FEATURE# a| **Spotter enhancements** -You can now embed the Spotter 3 experience in your application and use features such as Auto mode for automatic data model selection, Chat history, and a new chat prompt interface. +You can now embed the Spotter 3 experience in your application and use features such as Auto mode for automatic data model selection, chat history, and a new chat prompt interface. * To enable the new chat prompt interface, set `updatedSpotterChatPrompt` to `true`. * To use Auto mode, set the `worksheetId` to `auto_mode`. @@ -37,7 +37,7 @@ On Spotter embed deployments running version 26.2.0.cl or later, the *Add to Coa Styling and grouping:: -* The `isLiveboardStylingAndGrouping` attribute, used for enabling the Liveboard styling and grouping feature, is now replaced with `isLiveboardMasterpiecesEnabled`. While your existing configuration with the deprecated attribute, `isLiveboardStylingAndGrouping` continues to work, we recommend switching to the new configuration setting. +* The `isLiveboardStylingAndGrouping` attribute, used to enable the Liveboard styling and grouping feature, is now replaced with `isLiveboardMasterpiecesEnabled`. While your existing configuration with the deprecated `isLiveboardStylingAndGrouping` attribute continues to work, we recommend switching to the new configuration setting. * The following action IDs are now available to show, disable, or hide the grouping menu actions on a Liveboard: ** `Action.MoveToGroup` for the **Move to Group** menu action. ** `Action.MoveOutOfGroup` for the **Move out of Group** menu action. @@ -51,21 +51,21 @@ For more information, see link:https://docs.thoughtspot.com/cloud/latest/securit + The `showMaskedFilterChip` setting is also available in full application embedding. -|[tag greenBackground]#NEW FEATURE# a|**Publishing objects** +|[tag greenBackground]#NEW FEATURE# a| **Publishing objects** The following action IDs are available for the data publishing menu actions in the *Data workspace* page: * `Action.Publish` for *Publish* -* `Action.ManagePublishing` for *Manange publishing* -* `Action.Unpublish` foe *Unpublish* +* `Action.ManagePublishing` for *Manage publishing* +* `Action.Unpublish` for *Unpublish* * `Action.Parameterize` for *Parameterize* |[tag greenBackground]#NEW FEATURE# a| **Error handling improvements** To handle errors in the embedding workflows, the SDK includes the following features: -* `ErrorDetailsTypes` enum for categorizing error types, such as `API`, `VALIDATION_ERROR`, `NETWORK` error. -* `EmbedErrorCodes` enum with specific error codes for programmatic error handling -* `EmbedErrorDetailsEvent` interface for structured error event handling +* `ErrorDetailsTypes` enum for categorizing error types, such as `API`, `VALIDATION_ERROR`, and `NETWORK`. +* `EmbedErrorCodes` enum with specific error codes for programmatic error handling. +* `EmbedErrorDetailsEvent` interface for structured error event handling. For more information, see link:https://developers.thoughtspot.com/docs/Enumeration_EmbedErrorCodes[EmbedErrorCodes] and link:https://developers.thoughtspot.com/docs/Enumeration_ErrorDetailsTypes[ErrorDetailsTypes]. |==== @@ -75,7 +75,7 @@ For more information, see link:https://developers.thoughtspot.com/docs/Enumerati [width="100%" cols="1,4"] |==== -|[tag redBackground]#DEPRECATED# | ** Use `minimumHeight` instead of `defaultHeight` ** + +|[tag redBackground]#DEPRECATED# | **Use `minimumHeight` instead of `defaultHeight`** + The `defaultHeight` parameter is deprecated in Visual Embed SDK v1.44.2 and later. To set the minimum height of the embed container for ThoughtSpot components such as a Liveboard, use the `minimumHeight` attribute instead. @@ -90,7 +90,7 @@ Allows configuring which API calls to intercept. * `interceptTimeout` + Sets the timeout duration for handling interception. * `isOnBeforeGetVizDataInterceptEnabled` + -When set to true, it enables the use of `EmbedEvent.OnBeforeGetVizDataIntercept` event to emit and intercept search execution calls initiated by the users and implement custom logic or workflow to allow or restrict search execution. +When set to true, it enables use of `EmbedEvent.OnBeforeGetVizDataIntercept` to emit and intercept search execution calls initiated by users and implement custom logic or workflows to allow or restrict search execution. * `EmbedEvent.ApiIntercept` + Emits when an API call matching the conditions defined in `interceptUrls` is detected. @@ -103,7 +103,7 @@ For more information, see xref:api-intercept.adoc[Intercept API calls and search |==== |[tag greenBackground]#NEW FEATURE# a| *Code-based custom actions* -The following enumerations are available for code based custom actions: +The following enumerations are available for code-based custom actions: * `CustomActionTarget` + To define the target object for the custom action, such as on a Liveboard, visualization, Answer, or in Spotter. diff --git a/modules/ROOT/pages/webhooks-lb-schedule.adoc b/modules/ROOT/pages/webhooks-lb-schedule.adoc index d84a40192..7ee62a868 100644 --- a/modules/ROOT/pages/webhooks-lb-schedule.adoc +++ b/modules/ROOT/pages/webhooks-lb-schedule.adoc @@ -1,18 +1,20 @@ -= Webhooks for Liveboard schedule events [beta betaBackground]^Beta^ += Webhooks for Liveboard schedule events :toc: true :toclevels: 3 -:page-title: Webhooks for Liveboard Schedueld Jobs +:page-title: Webhooks for Liveboard Scheduled Jobs :page-pageid: webhooks-lb-schedule :page-description: Configure Webhooks and send alerts to specific communication channels +[beta betaBackground]^Beta^ + To provide flexibility and programmatic control for users who want to customize notifications and automate workflows based on Liveboard scheduling events, ThoughtSpot provides the ability to configure a webhook communication channel. By configuring a webhook, users can send notifications automatically to a target application whenever a scheduled Liveboard job is triggered in ThoughtSpot. Webhook support for Liveboard schedule events is available only on ThoughtSpot Cloud instances running 10.14.0.cl or later. This feature is currently in beta and is not enabled by default. To enable this feature on your instance, contact ThoughtSpot Support. == Overview -If you have scheduled a Liveboard job to receive a daily report via email, you can configure ThoughtSpot to send the report directly to a webhook endpoint and create your own custom emails or workflow. +If you have scheduled a Liveboard job to receive a daily report via email, you can configure ThoughtSpot to send the report directly to a webhook endpoint and create your own custom emails or workflows. To automate sending scheduled Liveboard notifications to a webhook endpoint, the following configuration is required: @@ -36,10 +38,10 @@ In the current release: ==== == Get started -The webhooks setup for Liveboard Schedule events involves the following steps: +The webhook setup for Liveboard schedule events includes the following steps: -* xref:webhooks-lb-schedule.adoc#_configure_webhook_communication_channel[Configuring a webhook communication channel at the cluster or Org level]. -* xref:webhooks-lb-schedule.adoc#_configure_a_webhook_for_liveboard_schedule_event[Creating a webhook to listen to the Liveboard schedule events]. +* xref:webhooks-lb-schedule.adoc#_configure_a_webhook_communication_channel[Configuring a webhook communication channel at the cluster or Org level]. +* xref:webhooks-lb-schedule.adoc#_configure_a_webhook[Creating a webhook to listen to Liveboard schedule events]. * xref:webhooks-lb-schedule.adoc#_verify_the_webhook_payload[Verifying the webhook payload]. === Before you begin @@ -51,14 +53,14 @@ If your instance has Role-based Access Control (RBAC) enabled, you need the foll ** `APPLICATION_ADMINISTRATION` (*Can Manage Application settings*) to create and view communication channels. ** `CAN_MANAGE_WEBHOOKS` (*Can manage webhooks*) to create and manage webhooks. * Ensure that the REST APIs for setting communication channel preference and configuring webhooks are enabled on your instance. If the APIs are not available on your instance, contact ThoughtSpot Support. -* To allow outbound traffic from the ThoughtSpot to the webhook endpoint, add the webhook destination URL to the xref:security-settings.adoc#csp-connect-src[CSP connect-src] allowlist in ThoughtSpot. +* To allow outbound traffic from ThoughtSpot to the webhook endpoint, add the webhook destination URL to the xref:security-settings.adoc#csp-connect-src[CSP connect-src] allowlist in ThoughtSpot. * Ensure that your destination application has a callback URL to accept HTTP POST requests from ThoughtSpot. * If you plan to use OAuth authentication, make sure you have the OAuth credentials and authorization URL of your application. * If you plan to use an API key for authentication, ensure that you have a valid API key. === Configure a webhook communication channel -To create a webhook communication channel for the Liveboard Schedule event, use the channel preference REST API. +To create a webhook communication channel for the Liveboard schedule event, use the channel preference REST API. ==== Create a webhook communication channel @@ -70,12 +72,12 @@ To create the webhook communication channel and set messaging preferences, send [options='header'] |===== |Parameter|Description | -.3+| `cluster_preferences` 2+|__Array of strings__. Sets default preferences for all Orgs in the instance. You must specify the following parameters: +.3+| `cluster_preferences` 2+|__Array of objects__. Sets default preferences for all Orgs in the instance. You must specify the following parameters: -|`event_type` +| `event_type` a|__String__. Type of the event for which communication channels are configured. For Liveboard schedule event, set the parameter value as `LIVEBOARD_SCHEDULE`. -|`channels` a| +| `channels` a| __Array of strings__. Communication channel for the event type specified in the request. Valid values are: + * `EMAIL` @@ -83,12 +85,12 @@ __Array of strings__. Communication channel for the event type specified in the To create a webhook channel for the Liveboard schedule event, specify `WEBHOOK`. -.5+| `org_preferences` 2+|__Array of strings__. By default, preferences configured at the cluster level will apply to all Orgs in the instance. To override the default preferences for your Org, set the Org-specific preferences: +.5+| `org_preferences` 2+|__Array of objects__. By default, preferences configured at the cluster level apply to all Orgs in the instance. To override the default preferences for your Org, set Org-specific preferences: | `org_identifier` a| __String__. Name or ID of the Org. | `preferences` a| -__Array of strings__. Define the following parameters to set communication channel preferences for the Org. If the preferences are not set, the Org will inherit the default preferences applied at the cluster level. +__Array of objects__. Define the following parameters to set communication channel preferences for the Org. If preferences are not set, the Org inherits the default preferences applied at the cluster level. * `event_type` + __String__. Type of the event for which communication channels are configured. For Liveboard schedule event, set the parameter value as `LIVEBOARD_SCHEDULE`. @@ -103,9 +105,9 @@ To set up a webhook channel for the Liveboard schedule event, specify `WEBHOOK`. | `operation` a|__String__. Type of operation. The following options are available: ** `REPLACE` - To replace default preferences. -** `RESET` - To restore default preferences. For reset operation, you'll also need to specify the event type. Note that this operation will remove any Org-specific overrides and restores the default preferences configured at the cluster level. +** `RESET` - To restore default preferences. For reset operation, you'll also need to specify the event type. Note that this operation removes any Org-specific overrides and restores the default preferences configured at the cluster level. -|`reset_events` a|__Array of strings__. For RESET operations, specify the event type to reset. Note that the reset operation removes Org-specific configuration for the events specified in `reset_events`. +| `reset_events` a|__Array of strings__. For `RESET` operations, specify the event type to reset. Note that the reset operation removes Org-specific configuration for the events specified in `reset_events`. ||| |===== @@ -313,11 +315,11 @@ To create a webhook for the Liveboard schedule event, send a `POST` request to t |Parameter|Description | `name` a|__String__. Name of the webhook. | `description` + -__Optional__ a|__String__. Description text for the webhook +__Optional__ a|__String__. Description text for the webhook. | `url` a|__String__. The fully qualified URL of the listening endpoint where the webhook payload will be sent. The webhook endpoint to which you want to send notifications. -|`url_params` a| A JSON map of key-value pairs of parameters to add as a GET query params in the webhook URL. +| `url_params` a| A JSON map of key-value pairs to append as query parameters in the webhook URL. | `events` a|__Array of strings__. List of events to subscribe to. Specify the event as `LIVEBOARD_SCHEDULE`. -|`authentication` a| +| `authentication` a| Defines authentication method and credentials that ThoughtSpot will use when sending HTTP requests to the webhook endpoint. @@ -331,8 +333,8 @@ Authentication methods with username and password. Authentication token to authenticate and authorize requests. * `OAUTH2` + OAuth credentials to authorize API requests. Specify client ID, client secret key, and authorization URL. -If the registered webhook has Oauth authentication enabled, `Authorization: Bearer ` is sent in the request header. -|`signature_verification` + +If the registered webhook has OAuth authentication enabled, `Authorization: Bearer ` is sent in the request header. +| `signature_verification` + __Optional__ a| Signature verification parameters for the webhook endpoint to verify the authenticity of incoming requests. This typically involves ThoughtSpot signing the webhook payload with a secret, and your webhook endpoint validating this signature using the shared secret. If using signature verification, specify the following parameters. @@ -366,7 +368,7 @@ curl -X POST \ ], "authentication": { "BEARER_TOKEN": "Bearer {AUTH_TOKEN}" - } + }, "description": "Webhook for Liveboard schedule" }' ---- @@ -390,7 +392,7 @@ If the webhook creation is successful, the API returns the following response: "events": [ "LIVEBOARD_SCHEDULE" ], - "authentication": BEARER_TOKEN, + "authentication": "BEARER_TOKEN", "signature_verification": null, "creation_time_in_millis": 1761050197164, "modification_time_in_millis": 1761050197164, @@ -406,7 +408,7 @@ If the webhook creation is successful, the API returns the following response: To view the properties of a webhook or get a list of webhooks configured on your ThoughtSpot instance, send a `POST` request to the `/api/rest/2.0/webhooks/search` API endpoint. -To get specific information, define the following parameters. If the API request is sent without any parameters in the request body, ThoughtSpot returns the webhooks configured for the Org contexts in ThoughtSpot. +To get specific information, define the following parameters. If the API request is sent without any parameters in the request body, ThoughtSpot returns the webhooks configured for the Org context in ThoughtSpot. ===== Request parameters @@ -418,7 +420,7 @@ To get specific information, define the following parameters. If the API request __Optional__ |__String__. ID or name of the Org. | `webhook_identifier` + __Optional__ | __String__. ID or name of the webhook. -|`event_type` + +| `event_type` + __Optional__| __String__. Type of webhook event to filter by. For Liveboard schedule events, specify `LIVEBOARD_SCHEDULE`. |Pagination settings a| If fetching multiple records, specify the following parameters to paginate API response: + @@ -427,7 +429,7 @@ __Integer__. Specifies the starting point (index) from which records should be r * `record_size` + __Integer__. Specifies the number of records to return in the response. Default is 50. | `sort_options` + -__Optional__| Enables sorting of the API response by a specific field in ascending or descending order. Specify the `field_name` and define the desired sort order. +__Optional__| Enables sorting of the API response by a specific field in ascending or descending order. Specify the `field_name` and define the desired sort order. | |===== @@ -515,7 +517,7 @@ Query parameters to append to the endpoint URL. * `events` + Events subscribed to the webhook. In the current release, ThoughtSpot supports only the `LIVEBOARD_SCHEDULE` event. * `authentication` + -Authentication method and credentials that ThoughtSpot will use when sending HTTP requests to the webhook endpoint +Authentication method and credentials that ThoughtSpot will use when sending HTTP requests to the webhook endpoint. * `signature_verification` + Signature verification parameters for the webhook endpoint to verify the authenticity of incoming requests. @@ -554,7 +556,7 @@ Specify the name or ID of the webhook to delete. [options='header'] |===== |Parameter|Description -|`webhook_identifiers` |__Array of strings__. ID of name of the webhooks to delete. +| `webhook_identifiers` |__Array of strings__. ID or name of the webhooks to delete. || |===== @@ -614,13 +616,13 @@ If the API request is successful, the webhook is deleted, and the API returns th === Verify the webhook payload -After a webhook channel is configured for Liveboard schedule events and a webhook is created for these events at the Org level, it's applied to all Liveboard schedules in an Org. +After a webhook channel is configured for Liveboard schedule events and a webhook is created for these events at the Org level, it is applied to all Liveboard schedules in an Org. When a Liveboard schedule event is triggered based on the conditions defined in the schedule, the webhook sends the payload with the following schema to the configured endpoint. Based on the Liveboard job settings, the payload includes metadata properties such as webhook communication channel ID, recipient details, Liveboard schedule details, event properties, and a link to the Liveboard. For testing purposes, you can use a URL from the link:https://webhook.site/[Webhook site, window=_blank] as a webhook endpoint and check the payload when the Liveboard schedule event is triggered. -==== Contents of the webhook playload +==== Contents of the webhook payload The Webhook payload uses a specific schema structure that determines the contents of the payload delivered to the webhook endpoint. The payload contains metadata about the event, the source, the actor, the target object, and event-specific data. The payload is typically sent as a form field named `payload` in a `multipart/form-data` request, with optional file attachments. @@ -652,16 +654,16 @@ The `WebhookPayload` schema defines the structure for webhook event notification | `timestamp` | string | Timestamp of when the event occurred. | Yes | `eventType` | string | Type of event that triggered the webhook payload. For example, `LIVEBOARD_SCHEDULE`. | Yes | `schemaVersion` | string | Schema version. | Yes -| `source` | object |Source endpoint that triggered the event. Includes the parameters defined in the xref:webhooks-lb-schedule.adoc#_webhooksourceinfo[WebhookSourceInfo] schema. | Yes +| `source` | object | Source endpoint that triggered the event. Includes the parameters defined in the xref:webhooks-lb-schedule.adoc#_webhooksourceinfo[WebhookSourceInfo] schema. | Yes | `actor` | object | Actor that initiated the event. For more information, see xref:webhooks-lb-schedule.adoc#_webhookactorinfo[WebhookActorInfo]. | Yes | `metadataObject` | object | Metadata object details. For more information, see xref:webhooks-lb-schedule.adoc#_webhooktargetobjectinfo[WebhookTargetObjectInfo]. | Yes -| `data` | object |Data specific to the Liveboard schedule event. For more information, see xref:webhooks-lb-schedule.adoc#_liveboardscheduledata[LiveboardScheduleData]. | Yes +| `data` | object | Data specific to the Liveboard schedule event. For more information, see xref:webhooks-lb-schedule.adoc#_liveboardscheduledata[LiveboardScheduleData]. | Yes |||| |===== ===== WebhookSourceInfo -The `WebhookSourceInfo` schema defines the properties of source application instance that triggered the webhook event. +The `WebhookSourceInfo` schema defines the properties of the source application instance that triggered the webhook event. [width="100%" cols="1,1,3,1"] [options='header'] @@ -685,9 +687,9 @@ The `WebhookActorInfo` schema defines the properties of the entity that initiate | Field | Type | Description | Required? | `actorType` | string | Initiator of the event such as the API client or user. The default actor type is `SYSTEM`. | Yes -| `id` | string a| Unique identifier such as GUID or object ID).For system-generated responses, the `id` will be set as `null`. | No -| `name` | string a| Name of the actor that initiated the event. For system-generated responses, the `name` will be set as `null`. | No -| `email` | string a| Email of the actor that initiated the event. For system-generated responses, the `name` will be set as `null`. | No +| `id` | string a| Unique identifier such as a GUID or object ID. For system-generated responses, the `id` is set to `null`. | No +| `name` | string a| Name of the actor that initiated the event. For system-generated responses, the `name` is set to `null`. | No +| `email` | string a| Email of the actor that initiated the event. For system-generated responses, the `email` is set to `null`. | No |||| |===== @@ -709,7 +711,7 @@ The `WebhookTargetObjectInfo` schema defines the object for which the event is g ===== LiveboardScheduleData -The `WebhookTargetObjectInfo` schema defines event-specific data for Liveboard schedule events, including schedule details, recipients, and additional context. +The `LiveboardScheduleData` schema defines event-specific data for Liveboard schedule events, including schedule details, recipients, and additional context. [width="100%" cols="1,1,3,1"] [options='header'] @@ -717,8 +719,8 @@ The `WebhookTargetObjectInfo` schema defines event-specific data for Liveboard s | Field | Type | Description | Required | `scheduleDetails` | object | Details of the Liveboard schedule that triggered the event. This includes the schedule ID, object type, and output format. For more information, see xref:webhooks-lb-schedule.adoc#_scheduledetails[ScheduleDetails]. | Yes -| `recipients` | array | Details of the ThoughtSpot users, groups, and email addresses of the external users who are configured as subscribers of the Liveboard schedule notifications and recipients of the webhook payload. For more information, xref:webhooks-lb-schedule.adoc#_recipientinfo[RecipientInfo]. | Yes -| `viewInfo` | object | Information about the Liveboard view. Applicable if the Liveboard Schedule event is triggered for a personalized view of the Liveboard. For more information, xref:webhooks-lb-schedule.adoc#_viewinfo[ViewInfo]. | No +| `recipients` | array | Details of ThoughtSpot users, groups, and email addresses of external users configured as subscribers to Liveboard schedule notifications and recipients of the webhook payload. For more information, see xref:webhooks-lb-schedule.adoc#_recipientinfo[RecipientInfo]. | Yes +| `viewInfo` | object | Information about the Liveboard view. Applicable if the Liveboard schedule event is triggered for a personalized view of the Liveboard. For more information, see xref:webhooks-lb-schedule.adoc#_viewinfo[ViewInfo]. | No | `aiHighlights` | string | AI Highlights information. Applicable if AI highlights feature is enabled for the visualizations on the Liveboard. | No | `msgUniqueId` | string | Unique message identifier. Unique ID of the webhook payload message. This ID can be used for traceability and deduplication on the receiving end. | No | `channelID` | string | The communication channel ID used for event dissemination. | No @@ -740,12 +742,12 @@ The `ScheduleDetails` schema defines the properties of the schedule that trigger | `creationTime` | string | Timestamp of when the schedule was created. | No | `description` | string | Description of the schedule. | No | `authorId` | string | ID of the user that scheduled the Liveboard job. | No -| `viewInfo` | object | Information about the Liveboard view. Applicable if the Liveboard Schedule event is triggered for a personalized view of the Liveboard. For more information, xref:webhooks-lb-schedule.adoc#_viewinfo[ViewInfo]. | No +| `viewInfo` | object | Information about the Liveboard view. Applicable if the Liveboard schedule event is triggered for a personalized view of the Liveboard. For more information, see xref:webhooks-lb-schedule.adoc#_viewinfo[ViewInfo]. | No | `userIds` | array | IDs of the ThoughtSpot users that are subscribed to the scheduled Liveboard notifications. | No | `groupIds` | array | IDs of the ThoughtSpot groups that are subscribed to the scheduled Liveboard notifications.| No | `runId` | string | Schedule run ID of the Liveboard job. | No | `exportRequest` | object | Details of the file export request. If the scheduled notification includes PDF attachment, the `exportRequest` includes details of the Liveboard and PDF page attributes. | No -| `fileFormat` | string | File format for export. The schedule notification generally include PDF attachments. | No +| `fileFormat` | string | File format for export. The schedule notification generally includes PDF attachments. | No | `status` | string | Status of the schedule. | No | `emailIds` | array | Email IDs of users subscribed to Liveboard job schedule. | No |||| @@ -765,7 +767,7 @@ The `RecipientInfo` schema defines the object properties of the recipients of th * `USER` - For ThoughtSpot users * `EXTERNAL_EMAIL` - For external recipients | Yes -| `id` | string | IDs of the ThoughtSpot user and groups that are subscribed to the Liveboard schedule. | No +| `id` | string | IDs of ThoughtSpot users and groups that are subscribed to the Liveboard schedule. | No | `name` | string | Name of the recipient. | No | `email` | string | Email address of the recipient. | Yes | `locale`| string | Locale of the recipient. For example, `en_US`. | No @@ -1018,8 +1020,6 @@ The webhook must return an HTTP 2xx status code within approximately 5 seconds t If your server takes longer than that to respond, returns a 4xx error or times out, ThoughtSpot will still deliver the Liveboard data and file, but the notification status is recorded as `FAILED` in the ThoughtSpot notification history and validation UI. -If your server takes longer than 5 seconds to respond, returns a 4xx error, or times out, ThoughtSpot will still deliver the Liveboard data and file. However, the notification status is recorded as `FAILED` in the ThoughtSpot notification history. - To ensure a timely response, we recommend processing webhook payloads asynchronously. Your server can immediately return a 2xx response upon receipt of the webhook and then handle the payload in the background without blocking subsequent webhook deliveries. == Additional resources diff --git a/modules/ROOT/pages/whats-new.adoc b/modules/ROOT/pages/whats-new.adoc index 9a0f677fd..e89662a22 100644 --- a/modules/ROOT/pages/whats-new.adoc +++ b/modules/ROOT/pages/whats-new.adoc @@ -12,7 +12,7 @@ This page lists new features, enhancements, and deprecated functionality in Thou === SpotterCode extension for IDEs [earlyAccess eaBackground]#Early Access# -ThoughtSpot introduces SpotterCode, an AI-powered Model Context Protocol (MCP) extension for Integrated Development Environments (IDEs) such as Cursor, Visual Studio Code, and Claude Code. When integrated, SpotterCode enables the AI agent in the IDE to access ThoughtSpot SDKs and API documentation resources, and provide in-context coding assistance to developers embedding ThoughtSpot content within their applications. +ThoughtSpot introduces SpotterCode, an AI-powered Model Context Protocol (MCP) extension for Integrated Development Environments (IDEs) such as Cursor, Visual Studio Code, and Claude Code. When integrated, SpotterCode enables the AI agent in the IDE to access ThoughtSpot SDKs and API documentation resources and provide in-context coding assistance to developers embedding ThoughtSpot content within their applications. SpotterCode is available as an Early Access feature and can be integrated with development environments that support MCP servers and tools. For more information, see xref:spottercode.adoc[SpotterCode], xref:spottercode-integration.adoc[Integrating SpotterCode in IDEs], and xref:spottercode-prompt-guide.adoc[SpotterCode prompting guide]. @@ -28,7 +28,7 @@ To prevent excessive requests from reaching application servers and ensure API s For more information, see xref:about-rest-apis.adoc#_rate_limits_for_api_requests[Rate limits for REST APIs]. === Security settings via REST APIs -The security settings for ensuring data security and a seamless embedded user experience can now be done through REST APIs v2. Administrators and developers can configure allowlists for: +Security settings that ensure data security and a seamless embedded user experience can now be configured through REST APIs v2. Administrators and developers can configure allowlists for: * Content Security Policy (CSP) * Cross-origin Resource Sharing (CORS) @@ -48,14 +48,14 @@ For information about REST API v2 enhancements, see the xref:rest-apiv2-changelo === Theme Builder Theme Builder is now generally available (GA) and will be rolled out to all ThoughtSpot instances in customer deployments over the next few weeks. -When this feature is enabled on your instance, you can access it from the *Develop* page on your ThoughtSpot and use it to customize styles and UX themes directly within the product. +When this feature is enabled on your instance, you can access it from the *Develop* page in ThoughtSpot and use it to customize styles and UX themes directly within the product. For more information, see xref:theme-builder.adoc[Theme Builder]. === V3 navigation and home page experience The new V3 navigation and home page experience is now generally available (GA) and can be enabled on ThoughtSpot embedded instances. -The default UI experience in full application embedding remains classic (V1) experience until further notice. Developers embedding the full ThoughtSpot application can enable the V3 experience in their applications by setting the appropriate configuration options in their embed code. +The default UI experience in full application embedding remains the classic (V1) experience until further notice. Developers embedding the full ThoughtSpot application can enable the V3 experience in their applications by setting the appropriate configuration options in their embed code. For more information, see xref:full-app-customize.adoc[Customizing full application embedding]. @@ -68,9 +68,9 @@ For more information, see xref:abac_rls-variables.adoc[ABAC via RLS with variabl === Spotter APIs ThoughtSpot introduces new REST APIs for the following Spotter workflows: //* To get data source suggestions based on a user's query -* To send queries to a conversation session with Spotter agent -* To set natural language (NL) instructions on a Model to coach the Spotter system -* To fetch NL instructions configured on a Model +* To send queries to a conversation session with the Spotter agent +* To set natural language (NL) instructions on a model to coach the Spotter system +* To fetch NL instructions configured on a model For more information, see xref:spotter-apis.adoc[Spotter APIs]. @@ -95,7 +95,7 @@ For information about REST API v2 enhancements, see xref:rest-apiv2-changelog.ad == Version 10.14.0.cl === Code based custom actions -ThoughtSpot now enables developers to define custom action in their embed code through the Visual Embed SDK. This enhancement enables code based customization of actions for Liveboards, Visualizations, Answers, and Spotter. With this functionality, developers can add custom actions that show up as new menu options in one of the following UI elements: +ThoughtSpot now enables developers to define custom actions in their embed code through the Visual Embed SDK. This enhancement enables code-based customization of actions for Liveboards, Visualizations, Answers, and Spotter. With this functionality, developers can add custom actions that show up as new menu options in one of the following UI elements: * the primary menu bar * the **More** options menu image:./images/icon-more-10px.png[the more options menu] @@ -108,11 +108,11 @@ Key characteristics of code-based custom actions: * Can be assigned to Liveboards. * Can be conditionally displayed based on the presence of a specific column in a visualization. -For more information, see xref:code-based-custom-actions.adoc[Code based custom actions]. +For more information, see xref:code-based-custom-actions.adoc[Code-based custom actions]. === Webhooks for Liveboard schedule events [beta betaBackground]^Beta^ -You can now configure a xref:webhooks-lb-schedule.adoc[webhook for Liveboard schedule events] to automate notifications to external applications. This feature allows you to send Liveboard reports directly to a webhook endpoint and create your own custom emails or workflow. +You can now configure a xref:webhooks-lb-schedule.adoc[webhook for Liveboard schedule events] to automate notifications to external applications. This feature allows you to send Liveboard reports directly to a webhook endpoint and create your own custom emails or workflows. This feature is currently in beta and is not enabled by default. To enable it on your instance, contact ThoughtSpot Support. @@ -126,13 +126,13 @@ The `HostEvent.UpdateParameters` event in the Visual Embed SDK now includes the Before this enhancement, the Parameter chip display behavior was inconsistent across embed types when the Parameter values were updated via `HostEvent.UpdateParameters` requests. With the new change, the `isVisibleToUser` attribute in `HostEvent.UpdateParameters` is set to `false` by default for all embed types. -With the new enhancement, the embedded pages that previously kept the parameter chip visible after an override via `HostEvent.UpdateParameters` will now hide it unless the `isVisibleToUser` attribute is explicitly set to `true`. + +With the new enhancement, the embedded pages that previously kept the parameter chip visible after an override via `HostEvent.UpdateParameters` will now hide it unless the `isVisibleToUser` attribute is explicitly set to `true`. + This behavior may introduce a breaking change if your current implementation relies on the previous default chip visibility behavior. To retain chip visibility, developers must update their embedding implementation to pass `isVisibleToUser: true` in their `HostEvent.UpdateParameters` requests. For more information, see xref:runtime-parameters.adoc#_show_or_hide_parameter_chips_in_embedded_sessions[Runtime Parameter overrides]. === Pre-rendering enhancements -Pre-rendering now provides enhanced flexibility and granular control over for rendering embedded ThoughtSpot components. For more information, see xref:prerender.adoc[Pre-rendering ThoughtSpot Embed components]. +Pre-rendering now provides enhanced flexibility and granular control over rendering embedded ThoughtSpot components. For more information, see xref:prerender.adoc[Pre-rendering ThoughtSpot Embed components]. === Visual Embed SDK From 24dd4f49bdc144b8c87764539722f14bf03ea8fa Mon Sep 17 00:00:00 2001 From: ShashiSubramanya Date: Fri, 27 Feb 2026 09:05:48 +0530 Subject: [PATCH 33/86] webhook response edits --- modules/ROOT/pages/webhooks-lb-schedule.adoc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/ROOT/pages/webhooks-lb-schedule.adoc b/modules/ROOT/pages/webhooks-lb-schedule.adoc index 7ee62a868..e25c0c0fb 100644 --- a/modules/ROOT/pages/webhooks-lb-schedule.adoc +++ b/modules/ROOT/pages/webhooks-lb-schedule.adoc @@ -1016,9 +1016,9 @@ Along with the JSON payload, if the Liveboard schedule is configured to send a P The payload also includes file attachments in the file format specified in the Liveboard schedule. The file format can be PDF, CSV, or XLSX. === Response after webhook delivery -The webhook must return an HTTP 2xx status code within approximately 5 seconds to indicate successful receipt and processing. Your server should therefore respond with a 2xx status within this timeframe after receiving the webhook delivery. All 2xx responses are recorded as `SUCCESS`. +The webhook must return an HTTP 2xx status code within 5 seconds to indicate successful receipt and processing. Your server should therefore respond with a 2xx status within this timeframe after receiving the webhook delivery. All 2xx responses are recorded as `SUCCESS`. -If your server takes longer than that to respond, returns a 4xx error or times out, ThoughtSpot will still deliver the Liveboard data and file, but the notification status is recorded as `FAILED` in the ThoughtSpot notification history and validation UI. +If your server takes longer than that to respond, returns a 4xx error or times out, ThoughtSpot may still deliver the Liveboard data and file. However, the notification status is recorded as `FAILED` in the ThoughtSpot notification history. To ensure a timely response, we recommend processing webhook payloads asynchronously. Your server can immediately return a 2xx response upon receipt of the webhook and then handle the payload in the background without blocking subsequent webhook deliveries. From 5d6c158bc5a8c5b5c991d4bfc1aa63511d88f028 Mon Sep 17 00:00:00 2001 From: ShashiSubramanya Date: Fri, 27 Feb 2026 09:35:18 +0530 Subject: [PATCH 34/86] review edits --- modules/ROOT/pages/webhooks-lb-schedule.adoc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/ROOT/pages/webhooks-lb-schedule.adoc b/modules/ROOT/pages/webhooks-lb-schedule.adoc index e25c0c0fb..b82886b00 100644 --- a/modules/ROOT/pages/webhooks-lb-schedule.adoc +++ b/modules/ROOT/pages/webhooks-lb-schedule.adoc @@ -1016,9 +1016,9 @@ Along with the JSON payload, if the Liveboard schedule is configured to send a P The payload also includes file attachments in the file format specified in the Liveboard schedule. The file format can be PDF, CSV, or XLSX. === Response after webhook delivery -The webhook must return an HTTP 2xx status code within 5 seconds to indicate successful receipt and processing. Your server should therefore respond with a 2xx status within this timeframe after receiving the webhook delivery. All 2xx responses are recorded as `SUCCESS`. +The webhook endpoint must respond with an HTTP 2xx status code to confirm successful receipt and processing of the request. The receiving server must send a 2xx response within 5 seconds of the webhook delivery. -If your server takes longer than that to respond, returns a 4xx error or times out, ThoughtSpot may still deliver the Liveboard data and file. However, the notification status is recorded as `FAILED` in the ThoughtSpot notification history. +If your server takes longer than 5 seconds to respond, returns a 4xx error, or times out, ThoughtSpot may still deliver the Liveboard data and file. However, the notification status will be recorded as `FAILED` in the ThoughtSpot notification history and request will be retried. To ensure a timely response, we recommend processing webhook payloads asynchronously. Your server can immediately return a 2xx response upon receipt of the webhook and then handle the payload in the background without blocking subsequent webhook deliveries. From df8b4de7a5d93bda92b39016dd34e2967b0f8212 Mon Sep 17 00:00:00 2001 From: ShashiSubramanya Date: Fri, 27 Feb 2026 10:54:17 +0530 Subject: [PATCH 35/86] SCAL-284461 updates --- modules/ROOT/pages/3rd-party-script.adoc | 7 ++++++- modules/ROOT/pages/security-settings.adoc | 7 +++++-- modules/ROOT/pages/whats-new.adoc | 7 +++++++ 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/modules/ROOT/pages/3rd-party-script.adoc b/modules/ROOT/pages/3rd-party-script.adoc index 680cbfa75..a978ada50 100644 --- a/modules/ROOT/pages/3rd-party-script.adoc +++ b/modules/ROOT/pages/3rd-party-script.adoc @@ -1,4 +1,4 @@ -= Integrate external tools and allow custom scripts += External tools and script integration :toc: true :toclevels: 2 @@ -52,6 +52,11 @@ image::./images/csp-script-domain.png[CSS script-src domain] * The *CSP script-src domains* cannot be enabled and configured at the Org level. When configured, this setting will apply to all the Orgs configured on your instance. ==== +=== Allow Websocket endpoints +If your tool uses WebSockets, add the tool’s `wss://` endpoint to the CSP and CORS allowlists in ThoughtSpot. This enables secure WebSocket connections from an embedded ThoughtSpot page to the tool's WebSocket endpoint without being blocked by the browser’s Content Security Policy. + +Only hosts explicitly listed with `wss://` are permitted. You can add `wss://` URL in the **Develop** > **Security Settings** page. + == Passing variables to the hosted script To pass variables to the customer's hosted script, Visual Embed SDK provides the `customVariablesForThirdPartyTools` parameter. The `customVariablesForThirdPartyTools` is an object containing the variables that you wish to pass to the customer’s hosted JavaScript. These may include private information such as credentials or keys. The hosted JavaScript will access these variables via the `window.tsEmbed` object. diff --git a/modules/ROOT/pages/security-settings.adoc b/modules/ROOT/pages/security-settings.adoc index 24ecca882..80a485d06 100644 --- a/modules/ROOT/pages/security-settings.adoc +++ b/modules/ROOT/pages/security-settings.adoc @@ -137,7 +137,6 @@ curl -X POST 'https://{ThoughtSpot-Host}/api/rest/2.0/system/security-settings/c }' ---- - [#csp-connect-src] ==== Add URLs to CSP connect-src allowlist If you plan to use a custom action or webhook to send data to an external endpoint or application, you must add the domains of the target endpoints or applications to the `CSP connect-src` allowlist. @@ -329,7 +328,8 @@ curl -X POST \ ** CORS hosts — The UI allows adding a domain URL with the protocol (`http/https`). If the domain URLs are using `https`, you can exclude the protocol in domain URL strings, because ThoughtSpot assigns `https` to the URLs by default. ** For localhost and non-HTTPS URLs — For non-HTTPs domains or localhost such as `localhost:3000`, if you add the domain without the protocol, the `https` protocol will be assigned to the URL by default. Due to this, the localhost domain with `http` (`\http://localhost:3000`) might result in a CSP or CORS error. Therefore, include the `http` protocol in the domain name strings for non-HTTPS domains and localhost. * **Port**: If your domain URL has a non-standard port such as 8080, specify the port number in the domain name string. - +* **Websocket endpoints**: + +You can add Websocket (`wss://`) endpoints for external tool script integrations, for example, tools that open WebSocket connections from the browser. Only hosts explicitly listed with `wss://` are permitted. ==== The following table shows the valid domain name strings for the CORS and CSP allowlists. @@ -413,6 +413,9 @@ a| Domain names with space, backslash (\), and wildcard (*). a|+++Wildcard (*) for port+++ `thoughtspot:*`|[tag greenBackground tick]#✓# Supported |[tag greenBackground tick]#✓# Supported 2*|[tag greenBackground tick]#✓# Supported +a|Websocket URLs + +`wss://`| [tag greenBackground tick]#✓# Supported |[tag greenBackground tick]#✓# Supported |[tag redBackground tick]#x# Not Supported| [tag greenBackground tick]#✓# Supported +| |==== diff --git a/modules/ROOT/pages/whats-new.adoc b/modules/ROOT/pages/whats-new.adoc index e89662a22..24e658c38 100644 --- a/modules/ROOT/pages/whats-new.adoc +++ b/modules/ROOT/pages/whats-new.adoc @@ -37,6 +37,13 @@ Security settings that ensure data security and a seamless embedded user experie For more information, see xref:security-settings.adoc[Security Settings]. +=== WebSocket support for external tools +ThoughtSpot supports secure WebSocket (`wss://`) endpoints for external tool script integrations, for example, tools that open WebSocket connections from the browser. + +To allow a WebSocket host, add the corresponding `wss://` URL to both your CSP allowlists. Only hosts explicitly listed with the `wss://` protocol are permitted. Existing `https://` entries in the allowlists remain unchanged and continue to function as expected. + +For more information, see xref:3rd-party-script.adoc#_allow_websocket_endpoints[External tools and script integration]. + === Visual Embed SDK For information about the new features and enhancements introduced in Visual Embed SDK version 1.45.0, see the xref:api-changelog.adoc[Visual Embed changelog]. From 133f9bdba309cb9ccfe908db103bfe64e5d9d19b Mon Sep 17 00:00:00 2001 From: ShashiSubramanya <76986173+ShashiSubramanya@users.noreply.github.com> Date: Fri, 27 Feb 2026 13:38:21 +0530 Subject: [PATCH 36/86] Svg files for custom icon --- static/doc-images/images/rd-icon-chart-column.svg | 1 + static/doc-images/images/rd-icon-chart-type-settings.svg | 3 +++ 2 files changed, 4 insertions(+) create mode 100644 static/doc-images/images/rd-icon-chart-column.svg create mode 100644 static/doc-images/images/rd-icon-chart-type-settings.svg diff --git a/static/doc-images/images/rd-icon-chart-column.svg b/static/doc-images/images/rd-icon-chart-column.svg new file mode 100644 index 000000000..9f0cd2ecf --- /dev/null +++ b/static/doc-images/images/rd-icon-chart-column.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/doc-images/images/rd-icon-chart-type-settings.svg b/static/doc-images/images/rd-icon-chart-type-settings.svg new file mode 100644 index 000000000..bdbebc175 --- /dev/null +++ b/static/doc-images/images/rd-icon-chart-type-settings.svg @@ -0,0 +1,3 @@ + + + From fefaf9ce1fe07cac14c1809aa5036e9de71348df Mon Sep 17 00:00:00 2001 From: ShashiSubramanya Date: Fri, 27 Feb 2026 21:02:10 +0530 Subject: [PATCH 37/86] SCAL-294970 fixes --- modules/ROOT/pages/common/nav.adoc | 1 + modules/ROOT/pages/mcp-integration.adoc | 489 +++-------- .../pages/mcp-server-client-connection.adoc | 814 ++++++++++++++++++ .../images/agents-mcp-server-arch.png | Bin 0 -> 188466 bytes 4 files changed, 943 insertions(+), 361 deletions(-) create mode 100644 modules/ROOT/pages/mcp-server-client-connection.adoc create mode 100644 static/doc-images/images/agents-mcp-server-arch.png diff --git a/modules/ROOT/pages/common/nav.adoc b/modules/ROOT/pages/common/nav.adoc index e8301160f..1dca5cb20 100644 --- a/modules/ROOT/pages/common/nav.adoc +++ b/modules/ROOT/pages/common/nav.adoc @@ -220,6 +220,7 @@ include::generated/typedoc/CustomSideNav.adoc[] *** link:{{navprefix}}/integrate-SpotterCode[Integrating SpotterCode] *** link:{{navprefix}}/spottercode-prompting-guide[SpotterCode prompting guide] ** link:{{navprefix}}/mcp-integration[ThoughtSpot MCP server] +*** link:{{navprefix}}/connect-mcp-server-to-clients[Connect clients to ThoughtSpot MCP Server] * link:{{navprefix}}/development-and-deployment[Deployment and integration] ** link:{{navprefix}}/development-and-deployment[Development and deployment] diff --git a/modules/ROOT/pages/mcp-integration.adoc b/modules/ROOT/pages/mcp-integration.adoc index 35238d93c..7246df54a 100644 --- a/modules/ROOT/pages/mcp-integration.adoc +++ b/modules/ROOT/pages/mcp-integration.adoc @@ -1,414 +1,181 @@ -= MCP server integration += ThoughtSpot MCP Server :toc: true :toclevels: 3 :page-title: MCP integration :page-pageid: mcp-integration -:page-description: Learn how to use the ThoughtSpot Model Context Protocol (MCP) server to interact with ThoughtSpot data via MCP tools and AI APIs and get relevant questions and answers for a given query and create Liveboards at runtime. +:page-description: Learn how to use the ThoughtSpot Model Context Protocol (MCP) server to interact with ThoughtSpot data via MCP tools -ThoughtSpot’s Agentic Model Context Protocol (MCP) Server allows you to integrate ThoughtSpot analytics directly into any AI agent, custom chatbot, or LLM-based platforms that support MCP. It acts as a connector between the ThoughtSpot instance and external AI client, and provides a set of tools for interacting with ThoughtSpot’s data and its analytics capabilities programmatically. - +ThoughtSpot’s Agentic Model Context Protocol (MCP) Server allows you to integrate ThoughtSpot analytics into any AI agent, custom chatbot, or LLM platform that supports MCP. + +Instead of rebuilding analytics logic yourself, you connect an LLM/AI agent to the ThoughtSpot MCP Server. The LLM can then: + +* Discover ThoughtSpot MCP tools automatically +* Ask questions in natural language +* Create Liveboards programmatically from answer sessions + +== Get access to MCP Server The ThoughtSpot MCP Server is an add-on feature available with the link:https://www.thoughtspot.com/pricing[ThoughtSpot Analytics and ThoughtSpot Embedded offerings, window=_blank]. + To purchase the MCP Server subscription and enable the MCP Server in your environment, you must have an active subscription to one of the following ThoughtSpot license plans: * Enterprise Edition of ThoughtSpot Analytics -* ThoughtSpot Embedded subscription +* ThoughtSpot Embedded -To learn more about the MCP Server subscription options and to get started, please contact your ThoughtSpot Sales representative. +To learn more about subscription options, contact your ThoughtSpot Sales representative. -== Integration overview +== Spotter and MCP Server -The Agentic MCP Server integration requires the following core components and authentication framework: +ThoughtSpot provides three main options to integrate AI and analytics: -MCP Server:: -The MCP Server exposes a set of tools that can be invoked by an LLM or external AI. ThoughtSpot's MCP Server acts as a bridge between the LLM/agent and ThoughtSpot application backend. +[cols="1,3",options="header"] +|=== +| Feature | Purpose -MCP tools and resources:: -MCP tools are the actions that the MCP Server exposes to the agent for interaction with ThoughtSpot. +|**Spotter Embed** +| Allows embedding Spotter conversational UI and agentic capabilities directly into your application using the Visual Embed SDK. +Requires minimal development effort and supports faster deployment. This option is recommended for conversational analytics experiences within your application context. -* Ask natural language questions and get data in a structured format from ThoughtSpot -* Retrieve relevant analytical questions based on user queries -* Create a Liveboard with the answers generated from the queries -//* Get data source recommendations based on a user's query and intent +| **ThoughtSpot MCP Server** +a| Allows using your own UI, agent or LLM, and orchestration. ThoughtSpot exposes governed analytics tools via the MCP protocol, allowing your agent to discover and call tools programmatically. This method is recommended for using ThoughtSpot as a plug-in analytics engine in your AI experience. -+ -Currently, the MCP Server supports the following tools: +Use ThoughtSpot MCP Server when: -* `ping` to test connection to ThoughtSpot -* `getRelevantQuestions` to get relevant analytical questions + -The `getRelevantQuestions` tool to fetch relevant data questions for a given data context by breaking down a user's query. -* `getAnswer` to execute the queries and fetch data + -The `getAnswer` tool generates answers and insights for a given data context. -* `createLiveboard` to create a Liveboard in ThoughtSpot + +* Integrating with agents that natively support MCP, such as Claude, OpenAI, Gemini, or custom MCP clients. -The `createLiveboard` tool calls the Liveboard creation workflow and creates a Liveboard with the answers generated from the user's query. +* You want to reuse ThoughtSpot’s governed analytics and data security controls such as Row-level Security (RLS), Column-level Security (CLS) rules, Liveboards, and data modeling options, instead of building analytics logic in your application. -//// -* `getDataSourceSuggestions` to get data source suggestions + -Based on the type of data that users want to fetch, `getDataSourceSuggestions` gets a list of data source recommendations. Currently, `getDataSourceSuggestions` is not exposed as an MCP tool and is available as an MCP `resource`. To get data source suggestions, the user or MCP client must have at least view access to ThoughtSpot data sources. -//// +* You want the LLM to discover and call tools via the MCP protocol, rather than connecting every endpoint manually. -MCP client/ LLM agent:: -The external system or application environment with AI Agent, Claude, OpenAI, or a custom chatbot that acts as a user interface and orchestrates interaction with the ThoughtSpot MCP Server. -This is the model or system that processes the user’s natural language input, determines which tool to call, and integrates the tool results into its final output. +| Spotter APIs +| Provides REST APIs for full programmatic control over analytics workflows. You can use your own LLM and orchestration logic to interact with Spotter and retrieve structured answers, charts, or relevant questions for a specific data model. +|=== -//// -Configuration settings to enable the integration:: -Integration requires configuration, typically via a config file, to specify server addresses, credentials, and other connection details. -//// - -Authentication and security settings:: - -* Access to ThoughtSpot instance + -For MCP Server connection, users require access to a ThoughtSpot instance. For tool invocation, the MCP server must accept authenticated requests, and the LLM tool specification must carry those credentials or headers. + -ThoughtSpot administrators can use the SSO framework with SAML or OAuth token-based authentication methods to authenticate and sign in users. + +== Architecture and roles -* SAML redirect settings: + -For SAML SSO users, the SAML redirect domain configuration is required to ensure that users are redirected to an allowed and trusted domain after they are authenticated. + -* To get answers to their data queries, your application users require at least view access to ThoughtSpot data sources. To generate an Answer or to create a Liveboard, users require the data download privilege. - -//// -* CSP and CORS settings: + -To secure communication between the MCP client and the ThoughtSpot instance, administrators must add the MCP Server URL to CSP (Content Security Policy) and CORS (Cross-Origin Resource Sharing) allowlists in ThoughtSpot. -//// -* Client connection configuration: + -MCP Server integration also requires configuration on the client side, typically via a config file, to include the MCP Server addresses, credentials, and other details. +A typical implementation with ThoughtSpot MCP Server includes the following core components: +[width="100%" cols="2,4"] +[options='header'] +|====== +|Component|Role +|*Agent or LLM* +a| Acts as orchestrator +- Receives the user’s prompt. +- Discovers ThoughtSpot MCP tools via the MCP protocol. +- Decides which tools to call and in what order. +- Combines ThoughtSpot results with other sources and generates the final answer. +|*ThoughtSpot MCP Server* a| +- Acts as a gateway between the agent and ThoughtSpot. +- Exposes analytics as MCP tools, such as `ping`, `getDataSourceSuggestions`, `getRelevantQuestions`, `getAnswer`, and `createLiveboard`. +- Enforces data security with RLS and CLS rules. +- Wraps AI REST APIs. +|*Client Interface* a| +The user-facing interface that renders chat, responses, and charts. For example, Claude AI web app, Claude Desktop, ChatGPT or OpenAI integrations, Gemini-based agents, custom web applications, or internal tools. +|====== -=== How it works - -The MCP Server integration with an agentic framework or LLM clients enables the following workflow: - -. User sends a query to get data from a specific ThoughtSpot data model context. -. The LLM / AI agent receives the request and sends it to the MCP server endpoint with the user's query. -. The MCP server responds with the available tools. - -. The LLM / AI Agent determines the appropriate MCP tool to call. Based on the user's query or prompt, the MCP tools are invoked. For example, to get information for a specific data context from ThoughtSpot, break down the user's query into relevant questions or programmatically create an artifact in ThoughtSpot. -. The MCP server processes the request and returns the result. -. The agent receives the response, constructs the output, and presents it to the user. -. User receives the response. The user can refine the analysis with follow-up queries for further exploration or ask a new question. + -For example, after receiving relevant questions and answers, the user can send follow-up questions or initiate a Liveboard creation request. - -The following figure illustrates the sequence of workflows in a typical MCP Server integration setup: +The interaction between the user, agent, and MCP Server is illustrated in the following figure: [.widthAuto] -image::./images/mcp-integration.png[MCP integration] - -== Get started -To get started with the integration, complete the steps described in the following sections. In this article, we'll integrate ThoughtSpot MCP Server with Claude and enable agentic interaction and workflows. - -=== Before you begin +image::./images/agents-mcp-server-arch.png[MCP integration] -Before you begin, verify if your application setup has the following: +== How it works +The MCP Server implementation with an agentic framework or LLM client typically involves the following workflow: -* Node.js version 22 or later is installed. -* A ThoughtSpot instance with 10.11.0.cl or later release version. You'll need administrator credentials to configure security settings or set up token-based authentication for your application users. -* Your application users have at least view access to the data source objects to query data and get answers. -* Row-level and column-level security rules are configured for data security and access control. - -//// -To enable secure communication between the MCP Server and your ThoughtSpot instance, configure the following settings: - -. On your ThoughtSpot instance, navigate to *Develop* > *Customizations* > *Security Settings*. -. Add the MCP Server domain to CSP and CORS allowlists. -. If your setup uses SAML SSO logins, add the MCP Server domain to the SAML redirect domain allowlist. - - -=== Configure security settings on ThoughtSpot +. *User asks a question* + +User sends a query in the chat interface to get data. For example, `What were the total sales of Jackets and Bags in the Northeast last year?` + ++ +Optionally, the user can specify the data context so that data from a specific source is used to generate answers. -To allow secure communication between the MCP Server and your ThoughtSpot instance, configure the following settings: +. *(Optional) Data source selection via `getDataSourceSuggestions`* + +If the question doesn’t specify a data source, the agent can call `getDataSourceSuggestions`. ++ +ThoughtSpot returns multiple candidate data sources (models) with confidence scores and reasoning. -. On your ThoughtSpot instance, navigate to *Develop* > *Customizations* > *Security Settings*. -. Add the MCP Server domain to CSP and CORS allowlists. -. If your setup uses SAML SSO logins, add the MCP Server domain to the SAML redirect domain allowlist. -//// +. **Query decomposition** + +The user's query is decomposed into smaller questions via `getRelevantQuestions`. ++ +The agent calls `getRelevantQuestions` with the following parameters: + +* The user query (`query`) +* One or more `datasourceIds` ++ +ThoughtSpot returns the AI-suggested, schema-aware questions that are easier to run analytically. -=== Connect your client to the MCP Server +. *Answer generation via `getAnswer`* + +For each suggested or chosen question, the agent calls `getAnswer` with: ++ +* `question` +* `datasourceId` ++ +ThoughtSpot returns the following: ++ +* Preview data (CSV string) for LLM reasoning. +* Visualization metadata, including an embeddable `frame_url`. +* `session_identifier` and `generation_number` for charts that are used for creating Liveboards. -If using a client that supports remote MCPs natively, such as Claude AI, use the following MCP server URL: ----- -https://agent.thoughtspot.app/mcp ----- +. *(Optional) Liveboard creation via `createLiveboard`* + +To save one or more answers as a Liveboard: ++ +* The agent extracts `question`, `session_identifier`, and `generation_number` from each `getAnswer` response. +* Calls `createLiveboard` with: +** `name` – Name of the Liveboard. +** `noteTile` – descriptive HTML text shown as a note tile. +** `answers` – array of answers from `getAnswer`. ++ +ThoughtSpot creates a Liveboard and returns identifiers and a `frame_url` for the Liveboard. -For OpenAI ChatGPT Deep Research, use the following URL: ----- -https://agent.thoughtspot.app/openai/mcp ----- +. *User experience for chat sessions* ++ +In MCP platforms such as Claude and ChatGPT, users typically see a natural-language summary with a link to a ThoughtSpot Liveboard. ++ +In custom apps, you can: -For MCP clients that do not support a remote MCP Server, you must xref:mcp-integration.adoc#_connecting_other_mcp_clients_claude_desktop[add the MCP server configuration to your MCP client settings]. +* Embed the `frame_url` in iframes to show interactive charts inline. +* Provide Call To Action (CTA) elements backed by `createLiveboard`. -=== Call MCP tools via LLM APIs +== Authentication for MCP Server -ThoughtSpot remote MCP Server acts as a wrapper over the ThoughtSpot APIs, making them available as tools for agent frameworks or LLMs such as Claude or OpenAI. It exposes specific tools that can be invoked by the LLMs in response to a user's query or prompt. +The MCP Server always runs under an authenticated ThoughtSpot user context. You can authenticate in two main ways: -To enable tool calling: +OAuth:: +Use OAuth when: +* Connecting plug-and-play MCP platforms such as Claude, Gemini, ChatGPT integrations, and more. +* You want the platform to drive a browser-based sign-in flow. -* Register the ThoughtSpot MCP Server endpoint as a tool provider in your LLM or agent framework. -* Provide an authentication (OAuth or token-based) token. + -You can generate an authentication token for a specific user from ThoughtSpot via a `POST` call to the `/api/rest/2.0/auth/token/full` REST API endpoint. + -Logged-in users can view the authentication token for their current session by using the `/api/rest/2.0/auth/session/token` REST API endpoint or by opening the following URL in a new tab on the web browser: + -`\https://{your-ts-instance}/api/rest/2.0/auth/session/token` - -For information about calling MCP tools using LLM APIs and methods, see these sections: - -* xref:mcp-integration.adoc#_claude_mcp_connector[Claude MCP connector] -* xref:mcp-integration.adoc#_openai_api_for_mcp_tool_calling[OpenAI API] -* xref:mcp-integration.adoc#_gemini_api[Gemini API and function calling] - -==== Claude MCP connector -The Claude’s MCP connector allows you to connect to remote MCP Servers directly from the Messages API. - -To connect to the ThoughtSpot remote MCP Server, specify the following properties in the API request: - -* `mcp_servers` + -In the `mcp_servers` array, include these parameters: + -** `type` + -__String__. Type. Specify the type as `url`. -** `url` + -__String__. The URL of the remote MCP Server endpoint. Must start with `https://`. -** `name` + -__String__. A unique identifier/label for the MCP Server. It will be used in the MCP tool call blocks to identify the server and to disambiguate tools to the LLM. -** `authorization_token` + -__String__. OAuth authorization token (`TS_AUTH_TOKEN`) along with the ThoughtSpot application instance URL. In the following example, the authorization token is added as a prefix, and the ThoughtSpot host URL is added with the `@` symbol. - -* `messages` + -In the `messages` array, specify a natural language question in `content` and the user role in `role`. - -* `model` + -LLM model to use for processing queries and interacting with tools. For example, claude-sonnet-4-20250514. - -[source,cURL] ----- -curl https://api.anthropic.com/v1/messages \ - -H "Content-Type: application/json" \ - -H "X-API-Key: $ANTHROPIC_API_KEY" \ - -H "anthropic-version: 2023-06-01" \ - -H "anthropic-beta: mcp-client-2025-04-04" \ - -d '{ - "model": "claude-sonnet-4-20250514", - "max_tokens": 1000, - "messages": [{ - "role": "user", - "content": "How do I increase my sales ?" - }], - "mcp_servers": [ - { - "type": "url", - "url": "https://agent.thoughtspot.app/bearer/mcp", - "name": "thoughtspot", - "authorization_token": "$TS_AUTH_TOKEN@my-thoughtspot-instance.thoughtspot.cloud" - } - ] - }' ----- +In a typical OAuth flow: -//// -[source,TypeScript] ----- -import { Anthropic } from '@anthropic-ai/sdk'; - -const anthropic = new Anthropic(); - -const response = await anthropic.beta.messages.create({ - model: "claude-sonnet-4-5", - max_tokens: 1000, - messages: [ - { - role: "user", - content: "How do I increase my sales ?", - }, - ], - mcp_servers: [ - { - type: "url", - url: "https://agent.thoughtspot.app/bearer/mcp", - name: "thoughtspot", - authorization_token: "$TS_AUTH_TOKEN@my-thoughtspot-instance.thoughtspot.cloud", - }, - ], - betas: ["mcp-client-2025-04-04"], -}); ----- -//// +. ThoughtSpot MCP Server is configured as an MCP tool/connection in the client. +. Client redirects the user to ThoughtSpot to sign in. +. Client stores the OAuth token and passes it to the MCP Server on each tool call. -The request uses Claude’s internal tool-calling mechanism to call the MCP endpoint with the provided token, discover the available tools, and retrieve data for the user's query. - -For more information, see the link:https://docs.claude.com/en/docs/agents-and-tools/mcp-connector[Claude MCP connector documentation, window=_blank]. - -==== OpenAI API for MCP tool calling -To enable tool calling and retrieve data from ThoughtSpot via OpenAI, you can use the Responses API endpoint. - -To connect to the ThoughtSpot remote MCP server, call the `\https://api.openai.com/v1/responses` API endpoint and specify the following properties in the API request: - -* `tools` + -In the `tools` array, include these parameters: - -** `server_url` + -The URL of the ThoughtSpot MCP Server. Use the full path of the MCP server URL. -** `server_label` + -Label of the ThoughtSpot MCP Server -** `type` + -Type of tool. For example, MCP. -** `headers` + -Additional headers needed for authentication, for example, the authentication token and URL of the ThoughtSpot host. - -* `input` + -Include the natural language query string as `input`. -* `model` + -LLM model to use for processing queries and interaction with tools. For example, GPT-5 or GPT 4.1. - -[source,cURL] ----- -curl https://api.openai.com/v1/responses \ - -H "Content-Type: application/json" \ - -H "Authorization: Bearer $OPENAI_API_KEY" \ - -d '{ - "model": "gpt-4.1", - "tools": [ - { - "type": "mcp", - "server_label": "thoughtspot", - "server_url": "https://agent.thoughtspot.app/bearer/mcp", - "headers": { - "Authorization": "Bearer $TS_AUTH_TOKEN", - "x-ts-host": "my-thoughtspot-instance.thoughtspot.cloud" - } - } - ], - "input": "How can I increase my sales ?" -}' ----- - -If the API request is successful, the LLM discovers the available MCP tools from the MCP Server endpoint. Once the model has access to these tools, it determines the tool to call depending on the user's query and what's in the model's context. - -For more information, see link:https://platform.openai.com/docs/guides/tools-connectors-mcp[Open AI Connectors and MCP Server Documentation]. - -==== Gemini API - -You can use the standard function calling mechanism provided in Gemini Python/Typescript SDK. The Gemini SDK supports MCP natively, and can pass tool definitions and call tools. - -In the following example, a session linked to the ThoughtSpot remote MCP Server is passed along with the authorization token and the ThoughtSpot host, so that the SDK can handle tool calling. - -[source,TypeScript] ----- -import { GoogleGenAI, FunctionCallingConfigMode , mcpToTool} from '@google/genai'; -import { Client } from "@modelcontextprotocol/sdk/client/index.js"; -import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js"; - -// Create server parameters for stdio connection -const serverParams = new StreamableHTTPClientTransport(new URL("https://agent.thoughtspot.app/bearer/mcp"), { - requestInit: { - headers: { - "Authorization": "Bearer $TS_AUTH_TOKEN", - "x-ts-host": "my-thoughtspot-instance.thoughtspot.cloud" - }, - } -}); - -const client = new Client( - { - name: "example-client", - version: "1.0.0" - } -); - -// Configure the client -const ai = new GoogleGenAI({}); - -// Initialize the connection between client and server -await client.connect(serverParams); - -// Send request to the model with MCP tools -const response = await ai.models.generateContent({ - model: "gemini-2.5-flash", - contents: `What is the weather in London in ${new Date().toLocaleDateString()}?`, - config: { - tools: [mcpToTool(client)], // uses the session, will automatically call the tool - // Uncomment if you **don't** want the sdk to automatically call the tool - // automaticFunctionCalling: { - // disable: true, - // }, - }, -}); -console.log(response.text) - -// Close the connection, -await client.close(); ----- - -For additional information, refer to the following resources: - -* For more information about Gemini API MCP tool calling, see link:https://ai.google.dev/gemini-api/docs/function-calling?example=meeting#mcp[Function calling with the Gemini API documentation, window=_blank]. -* A link:https://github.com/thoughtspot/developer-examples/tree/main/mcp/python-google-adk-trusted-auth[developer example with Google ADK and Python implementation] is also available in the link:https://github.com/thoughtspot/developer-examples[ThoughtSpot Developer Examples GitHub repository, window=_blank]. -* The ThoughtSpot MCP server can also be installed as a Gemini CLI extension. For more information, see link:https://github.com/google-gemini/gemini-cli[Gemini CLI, window=_blank]. - -=== For clients that do not support the remote MCP server - -For clients such as Claude Desktop, Windsurf, and Cursor, which do not support remote MCP servers, add the following configuration to your MCP client settings: - -[source,JSON] ----- -{ - "mcpServers": { - "ThoughtSpot": { - "command": "npx", - "args": [ - "mcp-remote", - "https://agent.thoughtspot.app/mcp" - ] - } - } -} ----- - -After updating the config file: - -. When prompted to connect your ThoughtSpot instance, add the URL of your application instance and complete authentication. -. Restart your MCP client to load the new configuration. -+ -If the connection is successful, you'll see an option to connect to ThoughtSpot and choose the data context. -+ -For example, the Claude Desktop shows the *Add to ThoughtSpot* as shown in the following figure: -+ -[.bordered] -[.widthAuto] -image::./images/claudeDesktop.png[Claude Desktop] +Token-based trusted authentication:: +Use trusted authentication if: -. Verify if the MCP tools are available. + -For example, on Claude Desktop, click the Search and tools icon to view the MCP tools. -+ -[.bordered] -[.widthAuto] -image::./images/mcp-tools-claude.png[Claude Desktop] +* You are building a custom UI or custom MCP client. +* You handle user identity and want seamless SSO from your app into ThoughtSpot. -. Select a data source to set the context of your query and verify the request and response flow. + -[.bordered] -[.widthAuto] -image::./images/query-response-claude.png[Claude query response] +In a typical trusted authentication flow: -. Try sending a query to create a Liveboard and verify if a Liveboard is created on your ThoughtSpot instance. -+ -[.bordered] -[.widthAuto] -image::./images/create-lb-claude.png[Liveboard creation] +. The authenticator service at the backend obtains a ThoughtSpot token via API calls to the following ThoughtSpot REST API endpoints: +** `POST /api/rest/2.0/auth/token/full` +** `GET /api/rest/2.0/auth/session/token`. +. The token generated for the user session is then passed to the MCP Server as a bearer token header, or as part of the client's MCP server configuration. For example, `authorization_token` for Claude. -== Configuration considerations and best practices +//// +[NOTE] +==== +Trusted authentication tokens used only as HTTP headers do not create a browser session by themselves. For embedded sessions, you may also need a cookie. +==== +//// -* Users must have at least view access to the data source. Otherwise, it may lead to empty results. -* Ensure that data is modeled. Large or complex data sources may impact response time. -* Streaming responses require client support for real-time updates. Ensure that your system is available to receive and process data. -* Each conversation is session-based. Ensure that session IDs are managed correctly in your integration. +== Connecting MCP clients +For information about supported platforms, how to connect MCP clients, examples, and best practices, see xref:mcp-server-client-connection.adoc[Connect clients to ThoughtSpot MCP server]. == Additional resources -* Check the link:https://github.com/thoughtspot/mcp-server[MCP Server GitHub repo, window=_blank] for implementation instructions. -* Check your MCP client's documentation for instructions on how to connect to MCP Servers. -* In case of issues with connection or authentication, refer to the link:https://github.com/thoughtspot/mcp-server?tab=readme-ov-file#troubleshooting[troubleshooting steps^]. -* To understand ThoughtSpot's agentic analytics capabilities and AI APIs, refer to the following documentation: +* For information about MCP, see link:https://modelcontextprotocol.io[Model Context Protocol specification, window=_blank]. +* For information about connecting MCP clients, see xref:mcp-server-client-connection.adoc[Connecting MCP clients to ThoughtSpot MCP server]. +* For implementation details, see link:https://github.com/thoughtspot/mcp-server[MCP Server GitHub repository, window=_blank]. -** link:https://docs.thoughtspot.com/cloud/latest/spotter[Spotter Documentation, window=_blank] -** link:https://docs.thoughtspot.com/cloud/latest/spotter-agent[Spotter Agent Documentation, window=_blank] -** xref:spotter-apis.adoc[Spotter AI APIs] diff --git a/modules/ROOT/pages/mcp-server-client-connection.adoc b/modules/ROOT/pages/mcp-server-client-connection.adoc new file mode 100644 index 000000000..67be7823b --- /dev/null +++ b/modules/ROOT/pages/mcp-server-client-connection.adoc @@ -0,0 +1,814 @@ += Connect clients to ThoughtSpot MCP Server +:toc: true +:toclevels: 3 + +:page-title: MCP integration +:page-pageid: connect-mcp-server-to-clients +:page-description: Learn how to connect ThoughtSpot MCP server to clients and call tools + +To connect clients to the ThoughtSpot MCP server, add the MCP server endpoint to your LLM client. + +Authentication is handled per user, typically using OAuth. When connected, the client can discover available MCP tools, select data sources, and interact with ThoughtSpot analytics by calling MCP tools. The MCP server exposes only the data sources and functions the authenticated user is allowed to access, and all actions are performed in the context of that user’s security entitlements. + +== Before you begin +Before you begin, check the following prerequisites and ensure that the required configuration and setup are available for connecting your client to the ThoughtSpot MCP server. + +* Node.js version 22 or later is installed for node-based examples and local clients. +* A ThoughtSpot application instance with 10.11.0.cl or a later release version. +* Users have the necessary privileges to view data from relevant models/tables in ThoughtSpot. Existing RLS/CLS rules on tables are enforced automatically in data source responses. +* For Answer and Liveboard creation, the user must have the data download and content-creation privileges. + +== Connecting Remote MCP-aware clients +If you are using a client that supports remote MCPs natively, use the following MCP server endpoint: + +`https://agent.thoughtspot.app/mcp` + +For clients that require a bearer token for authentication: + +`https://agent.thoughtspot.app/bearer/mcp` + +For OpenAI MCP and Responses API integration, use the following URL: + +`https://agent.thoughtspot.app/openai/mcp` + +For additional information, refer to your client’s documentation for how to register a remote MCP server. + +Once registered, the agent discovers ThoughtSpot tools from the MCP endpoint and calls tools such as `getRelevantQuestions`, `getAnswer`, and `createLiveboard` as needed to answer the user's question. + +=== Claude MCP connector + +The following example shows the code to connect Claude to the MCP server: + +[source,bash] +---- +curl https://api.anthropic.com/v1/messages \ + -H "Content-Type: application/json" \ + -H "X-API-Key: $ANTHROPIC_API_KEY" \ + -H "anthropic-version: 2023-06-01" \ + -H "anthropic-beta: mcp-client-2025-04-04" \ + -d '{ + "model": "claude-3-5-sonnet-latest", + "max_tokens": 1000, + "messages": [{ + "role": "user", + "content": "How do I increase my sales?" + }], + "mcp_servers": [ + { + "type": "url", + "url": "https://agent.thoughtspot.app/bearer/mcp", + "name": "thoughtspot", + "authorization_token": "TS_AUTH_TOKEN@my-instance.thoughtspot.cloud" + } + ] + }' +---- + + +=== OpenAI Responses API (MCP tools) + +The following example shows the code to connect OpenAI to the MCP server: + +[source,bash] +---- +curl https://api.openai.com/v1/responses \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $OPENAI_API_KEY" \ + -d '{ + "model": "gpt-4.1", + "tools": [ + { + "type": "mcp", + "server_label": "thoughtspot", + "server_url": "https://agent.thoughtspot.app/bearer/mcp", + "headers": { + "Authorization": "Bearer TS_AUTH_TOKEN", + "x-ts-host": "my-instance.thoughtspot.cloud" + } + } + ], + "input": "How can I increase my sales?" + }' +---- + +=== Gemini with MCP + +The following example shows the code to connect Gemini to the MCP server: + +[source,typescript] +---- +import { + GoogleGenAI, + mcpToTool, +} from '@google/genai'; +import { Client } from "@modelcontextprotocol/sdk/client/index.js"; +import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js"; + +const transport = new StreamableHTTPClientTransport( + new URL("https://agent.thoughtspot.app/bearer/mcp"), + { + requestInit: { + headers: { + "Authorization": "Bearer TS_AUTH_TOKEN", + "x-ts-host": "my-instance.thoughtspot.cloud" + }, + } + } +); + +const mcpClient = new Client({ + name: "example-client", + version: "1.0.0", +}); + +await mcpClient.connect(transport); + +const ai = new GoogleGenAI({}); + +const response = await ai.models.generateContent({ + model: "gemini-2.5-flash", + contents: `Show me last quarter's sales by region`, + config: { + tools: [mcpToTool(mcpClient)], + }, +}); + +console.log(response.text); +await mcpClient.close(); +---- + +== Connecting clients that do not natively support remote MCP servers + +Some clients that do not natively support configuring a remote MCP URL may require an `mcp-remote` component. In such cases, configure the MCP server as shown in this example: + +[source,JSON] +---- +{ + "mcpServers": { + "ThoughtSpot": { + "command": "npx", + "args": [ + "mcp-remote", + "https://agent.thoughtspot.app/mcp" + ] + } + } +} +---- + +== Internal API routes + +If you are building your own web app or chatbot, you might want to set up internal routes that act as messengers, passing requests from your app to the ThoughtSpot MCP Server or REST APIs and then returning the results to your app. This allows your app to fetch data or answers from ThoughtSpot without connecting to it directly. + +The sample patterns in the following examples define two internal routes for a Next.js app. You can adapt this pattern to other backend frameworks: + +* `/api/mcp` + +Forwards tool calls to the ThoughtSpot MCP server. +* `/api/search-worksheets` + +Searches models using the ThoughtSpot REST API. + +=== POST /api/mcp + +Serves as a proxy endpoint for calling ThoughtSpot MCP tools from the client side. This route forwards requests from your frontend to the ThoughtSpot MCP tools. + +==== Request parameters + +[cols="1,1,3",options="header"] +|=== +|Parameter +|Required? +|Description + +|`toolName` +|Yes +|Name of the MCP tool to call. For example, `getRelevantQuestions`, `getAnswer`, or `createLiveboard`. + +|`args` +|Yes +|Input object for the selected tool. + +|`tsHost` +|Yes +|ThoughtSpot instance URL. For example, `https://my-instance.thoughtspot.cloud`. + +|`authToken` +|Yes +|ThoughtSpot bearer token used for authentication. +|=== + +==== Example request +[source,TypeScript] +---- +const response = await fetch("/api/mcp", { + method: "POST", + headers: { "Content-Type": "application/json" }, + body: JSON.stringify({ + toolName: "getAnswer", + args: { + question: "Total sales by region", + datasourceId: "model-guid" + }, + tsHost: "https://my-instance.thoughtspot.cloud", + authToken: "your-bearer-token" + }) +}); +---- + +==== Example response + +[source,json] +---- +{ + "success": true, + "tool": "getAnswer", + "args": { "question": "...", "datasourceId": "..." }, + "result": { + "content": "JSON string with tool response", + "rawResult": { }, + "timestamp": "2024-01-01T00:00:00.000Z" + } +} +---- + +The `result.content` field is a JSON string. Parse it before use: + +[source,TypeScript] +---- +const parsed = JSON.parse(answerResult.result.content); +---- + +=== POST /api/search-worksheets + +This route searches for data sources such as models in ThoughtSpot using the REST API. + +==== Request parameters + +[cols="1,1,2",options="header"] +|=== +| Parameter | Required | Description +| `tsHost` | Yes | __String__. ThoughtSpot instance URL +| `authToken` | Yes |__String__. Bearer token for authentication +| `namePattern` |No |__String__. Pattern to filter model names. Default is `*`. +|=== + +==== Example request + +[source,TypeScript] +---- +const response = await fetch("/api/search-worksheets", { + method: "POST", + headers: { "Content-Type": "application/json" }, + body: JSON.stringify({ + tsHost: "https://my-instance.thoughtspot.cloud", + authToken: "your-bearer-token", + namePattern: "*" // optional, defaults to "*" + }) +}); +---- + +==== Example response + +[source,json] +---- +{ + "worksheets": [ + { + "id": "worksheet-guid", + "name": "Sales Data", + "description": "Sales metrics and dimensions", + "created": 1234567890, + "modified": 1234567890, + "author": "John Doe" + } + ] +} +---- + +Use the `id` value as `datasourceId` when calling MCP tools. + +== MCP tools and responses +All MCP tools are called via the MCP protocol. However, in many custom apps, you'll also call them through a proxy endpoint like `/api/mcp`, using a helper such as `callMCPTool(toolName, args)`. + +[source,TypeScript] +---- +async function callMCPTool(toolName: string, args: any) { + const response = await fetch("/api/mcp", { + method: "POST", + headers: { "Content-Type": "application/json" }, + body: JSON.stringify({ + toolName, + args, + tsHost: "https://my-instance.thoughtspot.cloud", + authToken: "your-bearer-token" + }) + }); + return response.json(); +} +---- + +The available tools are: +* `ping` +* `getDataSourceSuggestions` +* `getRelevantQuestions` +* `getAnswer` +* `createLiveboard` + + +=== ping +Runs a health check to validate that the MCP Server is reachable and authenticated. + +=== getDataSourceSuggestions + +Suggests appropriate ThoughtSpot data sources for a given question. + +==== Query attributes + +[source,TypeScript] +---- +{ + query: string; // User's natural language query +} +---- + +==== Response example + +Returns an array of suggestions, each including: + +* `header.guid` + +Data source GUID that will be used as `datasourceId` later in subsequent queries. +* `header.displayName` + +Display name +* `header.description` + +Description. +* `confidence` + +Numeric confidence score. +* `llmReasoning` + +Human-readable reasoning for the suggestion. + + +=== getRelevantQuestions + +Gets AI-suggested analytical questions relevant to the user’s query for a given data context. + +==== Query attributes + +[source,Typescript] +---- +{ + query: string; // User's natural language query + datasourceIds: string[]; // Array of worksheet/datasource GUIDs +} +---- + +==== Example call + +[source,Typescript] +---- +const result = await callMCPTool("getRelevantQuestions", { + query: "show me sales data", + datasourceIds: ["model-guid-123"] +}); +---- + +==== Parsed response example + +[source,json] +---- +{ + "questions": [ + "What is the total sales by region?", + "Which products have the highest revenue?", + "What are the top selling categories?" + ] +} +---- + +These questions can then be passed individually into `getAnswer` calls. + +=== getAnswer + +Generates a visualization from a natural language question for a given context. + +==== Query attributes + +[source,TypeScript] +---- +{ + question: string; // Natural language question + datasourceId: string; // Worksheet/datasource GUID + context?: string; // Optional conversation context +} +---- + +==== Example call + +[source,TypeScript] +---- +const result = await callMCPTool("getAnswer", { + question: "Total sales by region", + datasourceId: "worksheet-guid-123" +}); +---- + +==== Response example + +[source,JSON] +---- +{ + "question": "Total sales by region", + "session_identifier": "abc-123-def-456", + "generation_number": 2, + "data": "\"Region\",\"Total Sales\"\n\"East\",100000\n...", + "frame_url": "https://...", + "fields_info": "..." +} +---- + +===== Key fields +[cols="1,3",options="header"] +|=== +|Field +|Description + +|`session_identifier` +|Unique session ID used to group answers. Required when creating a Liveboard from this answer via `createLiveboard`. + +|`generation_number` +|Version number for this answer. Required for Liveboard creation. + +|`question` +|The question executed, useful both for display and to pass it into `createLiveboard`. + +|`data` +|Data in CSV format. You can parse it to show tables or charts. + +|`frame_url` +|Optional. Iframe URL for embedding the visualization in a custom UI. + +|`fields_info` +|Descriptive metadata about the fields and chart, useful for explanations. +|=== + +=== createLiveboard + +Creates a ThoughtSpot Liveboard from one or more answer sessions. + +This is a two-step process and includes the following calls: + +. Call `getAnswer` to generate visualizations and get session data via `session_identifier` and `generation_number`. +. Call `createLiveboard` to create a Liveboard using the session data from step 1. + +==== Query attribute + +[source,TypeScript] +---- +{ + name: string; // Display name for the liveboard + noteTile: string; // Description or note for the liveboard + answers: Array<{ + question: string; + session_identifier: string; + generation_number: number; + }>; +} +---- + +==== Example call + +[source,TypeScript] +---- +const answerData = JSON.parse(answerResult.result.content); + +const liveboardResult = await callMCPTool("createLiveboard", { + name: "My Sales Dashboard", + noteTile: "My Sales Dashboard was created by TS MCP Chat", + answers: [{ + question: answerData.question, + session_identifier: answerData.session_identifier, + generation_number: answerData.generation_number + }] +}); +---- + +==== Response example +[source,JSON] +---- +{ + "liveboardId": "liveboard-guid-here", + "name": "My Sales Dashboard", + "frame_url": "https://..." +} +---- + +===== Key fields +[cols="1,3",options="header"] +|=== +|Field +|Notes + +|`noteTile` +|Required. Do *not* use `description` here. + +|`answers` +|Required array. Each item must include `question`, `session_identifier`, and `generation_number`. + +|`datasourceId` +|Not needed for `createLiveboard`. It is used by `getAnswer`. +|=== + +== Complete workflow examples + +=== Single question → Liveboard + +This example: + +. Gets an answer for a question. +. Parses and validates the response. +. Creates a Liveboard from that answer. + + +[source,TypeScript] +---- +async function createLiveboardFromQuestion(question: string, datasourceId: string) { + try { + // Step 1: Get the answer + console.log("Step 1: Getting answer..."); + const answerResult = await callMCPTool("getAnswer", { + question: question, + datasourceId: datasourceId + }); + + // Step 2: Parse the response + console.log("Step 2: Parsing answer data..."); + const answerData = JSON.parse(answerResult.result.content); + + // Step 3: Validate required fields + if (!answerData.session_identifier) { + throw new Error("Missing session_identifier from getAnswer response"); + } + if (!answerData.generation_number) { + throw new Error("Missing generation_number from getAnswer response"); + } + + // Step 4: Create the liveboard + console.log("Step 4: Creating liveboard..."); + const liveboardResult = await callMCPTool("createLiveboard", { + name: "Sales Analysis", + noteTile: `Created from question: ${question}`, + answers: [{ + question: answerData.question, + session_identifier: answerData.session_identifier, + generation_number: answerData.generation_number + }] + }); + + console.log(" ✓ Liveboard created:", liveboardResult); + return liveboardResult; + } catch (error) { + console.error("Failed to create liveboard:", error); + throw error; + } +} +---- + +=== Query mode – suggested questions → liveboard + +This workflow: + +. Gets AI-suggested questions for a user query. +. Gets answers for each suggested question. +. Creates a Liveboard with all answers [1]. + +[source,TypeScript] +---- +async function queryModeWorkflow(userQuery: string, datasourceId: string) { + // Step 1: Get relevant questions + const relevantQuestionsResult = await callMCPTool("getRelevantQuestions", { + query: userQuery, + datasourceIds: [datasourceId] + }); + + const questionsData = JSON.parse(relevantQuestionsResult.result?.content || "{}"); + const suggestedQuestions = questionsData.questions || []; + + // Step 2: Get answers for each suggested question + const answers = await Promise.all( + suggestedQuestions.map(async (question: string) => { + const answerResult = await callMCPTool("getAnswer", { + question: question, + datasourceId: datasourceId + }); + + const answerData = JSON.parse(answerResult.result?.content || "{}"); + + return { + question: answerData.question, + session_identifier: answerData.session_identifier, + generation_number: answerData.generation_number + }; + }) + ); + + // Step 3: Create liveboard with all answers + const liveboardTitle = `Analysis: ${userQuery}`; + const createLiveboardResult = await callMCPTool("createLiveboard", { + name: liveboardTitle, + noteTile: `${liveboardTitle} was created by TS MCP Chat`, + answers: answers + }); + + return createLiveboardResult; +} +---- + +=== Multi-answer mode – user questions → liveboard + +This workflow: + +. Takes a list of user-provided questions. +. Gets answers for each. +. Creates a Liveboard with all answers [1]. + +[source,TypeScript] +---- +async function multiAnswerWorkflow( + questions: string[], + datasourceId: string, + liveboardTitle: string +) { + // Step 1: Get answers for each question + const answers = await Promise.all( + questions.map(async (question) => { + const answerResult = await callMCPTool("getAnswer", { + question: question, + datasourceId: datasourceId + }); + + const answerData = JSON.parse(answerResult.result?.content || "{}"); + + return { + question: answerData.question, + session_identifier: answerData.session_identifier, + generation_number: answerData.generation_number + }; + }) + ); + + // Step 2: Create liveboard with all answers + const createLiveboardResult = await callMCPTool("createLiveboard", { + name: liveboardTitle, + noteTile: `${liveboardTitle} was created by TS MCP Chat`, + answers: answers + }); + + return createLiveboardResult; +} +---- + +== Error handling +The most frequent issues fall into two categories: + +* Validation errors. For example, missing required fields like `answers`, `session_identifier`, `generation_number`, or `noteTile`, or sending a value with the wrong type. These are returned as structured “invalid_type” errors that tell you which field is wrong and why. + +* Authentication errors, typically HTTP 401 or 403 responses when the `authToken` is invalid or has expired, or when it lacks the required permissions. In such cases, you must obtain a new ThoughtSpot token and retry the call. + +=== Common validation errors + +==== Missing `answers` array + +[source,json] +---- +{ + "code": "invalid_type", + "expected": "array", + "received": "undefined", + "path": ["answers"], + "message": "Required" +} +---- + +Fix: Include the `answers` array when calling `createLiveboard`. + +==== Missing session data +[source,json] +---- +{ + "code": "invalid_type", + "expected": "string", + "received": "undefined", + "path": ["answers", 0, "session_identifier"], + "message": "Required" +} +---- +Fix: Extract `session_identifier` and `generation_number` from the `getAnswer` response and pass them into `answers`. + +==== Missing `noteTile` + +[source,json] +---- +{ + "code": "invalid_type", + "expected": "string", + "received": "undefined", + "path": ["noteTile"], + "message": "Required" +} +---- + +Fix: Include the `noteTile` field. Do not use `description`. + +=== Authentication errors (401 / 403) + +If `/api/mcp` or `/api/search-worksheets` returns 401 or 403, verify whether: + +* `authToken` has expired. +* The token has the right permissions. +* `tsHost` is correct and reachable. + + +== Visual Embed SDK equivalent + +If you use the Visual Embed SDK, the MCP approach is similar but requires additional parameters. + +The Liveboard creation flow works in two different ways: + +* By triggering `HostEvent.CreateLiveboard` on an embedded ThoughtSpot component using the Visual Embed SDK in the browser. +* By calling the `createLiveboard` MCP tool after `getAnswer` through your `/api/mcp` endpoint. This helps you map existing embed-based implementations to the new MCP-based approach without changing the underlying ThoughtSpot behavior. + +=== Visual Embed SDK + +[source,ts] +---- +const result = await embedRef.current.trigger(HostEvent.CreateLiveboard, { + answers: [{ + question: answerData.question, + session_identifier: answerData.session_identifier, + generation_number: answerData.generation_number + }] +}); +---- + +=== MCP SDK via /api/mcp + +[source,ts] +---- +const result = await callMCPTool("createLiveboard", { + name: "Liveboard Name", + noteTile: "Description", + answers: [{ + question: answerData.question, + session_identifier: answerData.session_identifier, + generation_number: answerData.generation_number + }] +}); +---- + +MCP requires `name` and `noteTile` in addition to the `answers` array. + +== Best practices + +* Always call `getAnswer` before `createLiveboard`. + +You cannot create a Liveboard without `session_identifier` and `generation_number`. +* Validate tool responses. + +** Verify that `session_identifier` and `generation_number` exist before creating a Liveboard. +** Log raw MCP responses for debugging. +* Use meaningful Liveboard metadata + +Parameters such as `name` and `noteTile` should make it easy for users to understand what the Liveboard shows and how it was created. +* Search models before querying. +** Use a helper like `/api/search-worksheets` to list available data sources and then pass `datasourceId` into `getRelevantQuestions` / `getAnswer` calls. +* Use `getRelevantQuestions` to discover questions + +For open-ended prompts, use `getRelevantQuestions` to decompose the user's request into concrete analyses. +* Log and monitor. + +Log tool requests and responses, excluding sensitive data, to help debug issues faster. +* Handle errors using the detailed validation messages. + +== Post integration checks +To test the integration, use the following checklist: + +* `getAnswer` returns `session_identifier`. +* `getAnswer` returns `generation_number`. +* `createLiveboard` receives: +** `name` +** `noteTile` (not `description`) +** `answers` array +* Each item in `answers` contains: +** `question` +** `session_identifier` +** `generation_number` +* Liveboard is created successfully in ThoughtSpot. +* `frame_url` is returned for embedding. +* `/api/search-worksheets` returns worksheets successfully. +* `/api/mcp` works for all MCP tools. +* Authentication tokens are properly formatted and valid. + +== Additional resources + +* See also: xref:mcp-integration.adoc[ThoughtSpot MCP Server overview]. +* Check the link:https://github.com/thoughtspot/mcp-server[MCP Server GitHub repo, window=_blank] for implementation instructions. +* In case of issues with connection or authentication, refer to the link:https://github.com/thoughtspot/mcp-server?tab=readme-ov-file#troubleshooting[troubleshooting steps^]. +* For chat client examples, see link:https://github.com/thoughtspot/mcp-chat-client[MCP Chat Client repository, window=_blank]. + + + + + diff --git a/static/doc-images/images/agents-mcp-server-arch.png b/static/doc-images/images/agents-mcp-server-arch.png new file mode 100644 index 0000000000000000000000000000000000000000..6b3993b0b0a0bf34b4cb4b642136f0e7cddd1d0b GIT binary patch literal 188466 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

2ZJxc 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 Date: Fri, 27 Feb 2026 21:13:10 +0530 Subject: [PATCH 38/86] typo fixes --- modules/ROOT/pages/mcp-integration.adoc | 24 ++++++++++++------- .../pages/mcp-server-client-connection.adoc | 6 ++--- 2 files changed, 18 insertions(+), 12 deletions(-) diff --git a/modules/ROOT/pages/mcp-integration.adoc b/modules/ROOT/pages/mcp-integration.adoc index 7246df54a..11646f94f 100644 --- a/modules/ROOT/pages/mcp-integration.adoc +++ b/modules/ROOT/pages/mcp-integration.adoc @@ -14,15 +14,6 @@ Instead of rebuilding analytics logic yourself, you connect an LLM/AI agent to t * Ask questions in natural language * Create Liveboards programmatically from answer sessions -== Get access to MCP Server -The ThoughtSpot MCP Server is an add-on feature available with the link:https://www.thoughtspot.com/pricing[ThoughtSpot Analytics and ThoughtSpot Embedded offerings, window=_blank]. + -To purchase the MCP Server subscription and enable the MCP Server in your environment, you must have an active subscription to one of the following ThoughtSpot license plans: - -* Enterprise Edition of ThoughtSpot Analytics -* ThoughtSpot Embedded - -To learn more about subscription options, contact your ThoughtSpot Sales representative. - == Spotter and MCP Server ThoughtSpot provides three main options to integrate AI and analytics: @@ -49,8 +40,19 @@ Use ThoughtSpot MCP Server when: | Spotter APIs | Provides REST APIs for full programmatic control over analytics workflows. You can use your own LLM and orchestration logic to interact with Spotter and retrieve structured answers, charts, or relevant questions for a specific data model. +|| |=== +=== Access to MCP Server +The ThoughtSpot MCP Server is an add-on feature available with the link:https://www.thoughtspot.com/pricing[ThoughtSpot Analytics and ThoughtSpot Embedded offerings, window=_blank]. + +To purchase the MCP Server subscription and enable the MCP Server in your environment, you must have an active subscription to one of the following ThoughtSpot license plans: + +* Enterprise Edition of ThoughtSpot Analytics +* ThoughtSpot Embedded + +To learn more about subscription options, contact your ThoughtSpot Sales representative. + + == Architecture and roles A typical implementation with ThoughtSpot MCP Server includes the following core components: @@ -72,6 +74,7 @@ a| Acts as orchestrator - Wraps AI REST APIs. |*Client Interface* a| The user-facing interface that renders chat, responses, and charts. For example, Claude AI web app, Claude Desktop, ChatGPT or OpenAI integrations, Gemini-based agents, custom web applications, or internal tools. +|| |====== The interaction between the user, agent, and MCP Server is illustrated in the following figure: @@ -79,6 +82,9 @@ The interaction between the user, agent, and MCP Server is illustrated in the fo [.widthAuto] image::./images/agents-mcp-server-arch.png[MCP integration] + + + == How it works The MCP Server implementation with an agentic framework or LLM client typically involves the following workflow: diff --git a/modules/ROOT/pages/mcp-server-client-connection.adoc b/modules/ROOT/pages/mcp-server-client-connection.adoc index 67be7823b..47fcc6708 100644 --- a/modules/ROOT/pages/mcp-server-client-connection.adoc +++ b/modules/ROOT/pages/mcp-server-client-connection.adoc @@ -717,7 +717,7 @@ Fix: Extract `session_identifier` and `generation_number` from the `getAnswer` r Fix: Include the `noteTile` field. Do not use `description`. -=== Authentication errors (401 / 403) +=== Authentication errors If `/api/mcp` or `/api/search-worksheets` returns 401 or 403, verify whether: @@ -774,8 +774,8 @@ You cannot create a Liveboard without `session_identifier` and `generation_numbe ** Log raw MCP responses for debugging. * Use meaningful Liveboard metadata + Parameters such as `name` and `noteTile` should make it easy for users to understand what the Liveboard shows and how it was created. -* Search models before querying. -** Use a helper like `/api/search-worksheets` to list available data sources and then pass `datasourceId` into `getRelevantQuestions` / `getAnswer` calls. +* Search models before querying. + +Use a helper like `/api/search-worksheets` to list available data sources and then pass `datasourceId` into `getRelevantQuestions` / `getAnswer` calls. * Use `getRelevantQuestions` to discover questions + For open-ended prompts, use `getRelevantQuestions` to decompose the user's request into concrete analyses. * Log and monitor. + From b47467fdc1c80acd5f5b5891071c07edd3bed65f Mon Sep 17 00:00:00 2001 From: ShashiSubramanya Date: Fri, 27 Feb 2026 21:16:49 +0530 Subject: [PATCH 39/86] typo fixes --- modules/ROOT/pages/mcp-integration.adoc | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/modules/ROOT/pages/mcp-integration.adoc b/modules/ROOT/pages/mcp-integration.adoc index 11646f94f..ab3c913eb 100644 --- a/modules/ROOT/pages/mcp-integration.adoc +++ b/modules/ROOT/pages/mcp-integration.adoc @@ -43,9 +43,8 @@ Use ThoughtSpot MCP Server when: || |=== -=== Access to MCP Server -The ThoughtSpot MCP Server is an add-on feature available with the link:https://www.thoughtspot.com/pricing[ThoughtSpot Analytics and ThoughtSpot Embedded offerings, window=_blank]. + -To purchase the MCP Server subscription and enable the MCP Server in your environment, you must have an active subscription to one of the following ThoughtSpot license plans: +=== Access to MCP Server +The ThoughtSpot MCP Server is an add-on feature available with the link:https://www.thoughtspot.com/pricing[ThoughtSpot Analytics and ThoughtSpot Embedded offerings, window=_blank]. To purchase the MCP Server subscription and enable the MCP Server in your environment, you must have an active subscription to one of the following ThoughtSpot license plans: * Enterprise Edition of ThoughtSpot Analytics * ThoughtSpot Embedded From aae26d18dcee4630e2af7ef29c737cd566f5fa5c Mon Sep 17 00:00:00 2001 From: Shivam Kumar Date: Fri, 27 Feb 2026 22:12:00 +0530 Subject: [PATCH 40/86] added svg for docs --- static/doc-images/images/rd-icon-chart-column.svg | 8 +++++++- static/doc-images/images/rd-icon-chart-type-settings.svg | 9 ++++++--- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/static/doc-images/images/rd-icon-chart-column.svg b/static/doc-images/images/rd-icon-chart-column.svg index 9f0cd2ecf..e7ef93f96 100644 --- a/static/doc-images/images/rd-icon-chart-column.svg +++ b/static/doc-images/images/rd-icon-chart-column.svg @@ -1 +1,7 @@ - \ No newline at end of file + + + + + + + \ No newline at end of file diff --git a/static/doc-images/images/rd-icon-chart-type-settings.svg b/static/doc-images/images/rd-icon-chart-type-settings.svg index bdbebc175..e386881d2 100644 --- a/static/doc-images/images/rd-icon-chart-type-settings.svg +++ b/static/doc-images/images/rd-icon-chart-type-settings.svg @@ -1,3 +1,6 @@ - - - + + + + + + \ No newline at end of file From cbbbc32a84151c42a50249ff45397d10389d5dd5 Mon Sep 17 00:00:00 2001 From: Shivam Kumar Date: Fri, 27 Feb 2026 22:24:56 +0530 Subject: [PATCH 41/86] added svg for docs --- static/doc-images/images/rd-icon-chart-column.svg | 8 +------- static/doc-images/images/rd-icon-chart-type-settings.svg | 7 ++----- static/svg/rd-icon-chart-column.svg | 7 +++++++ 3 files changed, 10 insertions(+), 12 deletions(-) create mode 100644 static/svg/rd-icon-chart-column.svg diff --git a/static/doc-images/images/rd-icon-chart-column.svg b/static/doc-images/images/rd-icon-chart-column.svg index e7ef93f96..9f0cd2ecf 100644 --- a/static/doc-images/images/rd-icon-chart-column.svg +++ b/static/doc-images/images/rd-icon-chart-column.svg @@ -1,7 +1 @@ - - - - - - - \ No newline at end of file + \ No newline at end of file diff --git a/static/doc-images/images/rd-icon-chart-type-settings.svg b/static/doc-images/images/rd-icon-chart-type-settings.svg index e386881d2..40dc85ef4 100644 --- a/static/doc-images/images/rd-icon-chart-type-settings.svg +++ b/static/doc-images/images/rd-icon-chart-type-settings.svg @@ -1,6 +1,3 @@ - - - - - + + \ No newline at end of file diff --git a/static/svg/rd-icon-chart-column.svg b/static/svg/rd-icon-chart-column.svg new file mode 100644 index 000000000..e7ef93f96 --- /dev/null +++ b/static/svg/rd-icon-chart-column.svg @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file From 50d59692f43e0d6e548c3c0b3438b56682dc02e6 Mon Sep 17 00:00:00 2001 From: ShashiSubramanya Date: Fri, 27 Feb 2026 09:05:48 +0530 Subject: [PATCH 42/86] cp --- modules/ROOT/pages/webhooks-lb-schedule.adoc | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/modules/ROOT/pages/webhooks-lb-schedule.adoc b/modules/ROOT/pages/webhooks-lb-schedule.adoc index eec7e3d5a..eb5a12057 100644 --- a/modules/ROOT/pages/webhooks-lb-schedule.adoc +++ b/modules/ROOT/pages/webhooks-lb-schedule.adoc @@ -1013,11 +1013,14 @@ Along with the JSON payload, if the Liveboard schedule is configured to send a P The payload also includes file attachments in the file format specified in the Liveboard schedule. The file format can be PDF, CSV, or XLSX. -== Additional resources - -* link:https://docs.thoughtspot.com/cloud/latest/liveboard-schedule[Scheduling Liveboard jobs, window=_blank] -* +++Liveboard schedule REST APIs+++ +=== Response after webhook delivery +The webhook must return an HTTP 2xx status code within 5 seconds to indicate successful receipt and processing. Your server should therefore respond with a 2xx status within this timeframe after receiving the webhook delivery. All 2xx responses are recorded as `SUCCESS`. +If your server takes longer than that to respond, returns a 4xx error or times out, ThoughtSpot may still deliver the Liveboard data and file. However, the notification status is recorded as `FAILED` in the ThoughtSpot notification history. +To ensure a timely response, we recommend processing webhook payloads asynchronously. Your server can immediately return a 2xx response upon receipt of the webhook and then handle the payload in the background without blocking subsequent webhook deliveries. +== Additional resources +* link:https://docs.thoughtspot.com/cloud/latest/liveboard-schedule[Scheduling Liveboard jobs, window=_blank] +* +++Liveboard schedule REST APIs+++ From 603a9f637a438add18080228c828a0cf9c099039 Mon Sep 17 00:00:00 2001 From: ShashiSubramanya Date: Fri, 27 Feb 2026 23:57:58 +0530 Subject: [PATCH 43/86] minor edits and typo fixes --- modules/ROOT/pages/abac_rls-variables.adoc | 81 +++++++++++----------- 1 file changed, 42 insertions(+), 39 deletions(-) diff --git a/modules/ROOT/pages/abac_rls-variables.adoc b/modules/ROOT/pages/abac_rls-variables.adoc index 892f41276..7d3cc95f5 100644 --- a/modules/ROOT/pages/abac_rls-variables.adoc +++ b/modules/ROOT/pages/abac_rls-variables.adoc @@ -2,15 +2,15 @@ :toc: true :toclevels: 2 -:page-title: ABAC via tokens +:page-title: ABAC via RLS with variables :page-pageid: abac-via-rls-variables :page-description: Attribute-based access control pattern with variable attributes referenced in Row-Level Security (RLS) rules on a given table. -Attribute-Based Access Control (ABAC) is an access control model in which security entitlements are assigned to a ThoughtSpot user directly as a set of attributes with lists of values, rather than relying on a JOINed entitlements table within the data model. +Attribute-Based Access Control (ABAC) is an access control model in which security entitlements are assigned to a ThoughtSpot user directly as a set of attributes with lists of values, rather than relying on a JOINed entitlements table within the data model. -ThoughtSpot allows assigning attribute values to a user at session creation time by adding the values to the user's access token request. +ThoughtSpot allows assigning attribute values to a user at session creation time by adding the values to the user's access token request. -RLS Rules are defined on the table objects, which binds dynamically generated `WHERE` clauses to any generated query. Within the RLS Rules, the attributes are referenced by their variable names using the `ts_var()` function to dynamically filter data and enable user-specific security policies. +RLS rules are defined on table objects, which bind dynamically generated `WHERE` clauses to any generated query. Within RLS rules, attributes are referenced by their variable names using the `ts_var()` function to dynamically filter data and enable user-specific security policies. == Overview @@ -34,12 +34,12 @@ The ABAC implementation with formula variables and RLS rules includes the follow * xref:abac_rls-variables.adoc#_create_formula_variables[Creating formula variables] + To generate tokens with variable attributes, the variables must be available in ThoughtSpot. To create variables, use the xref:variables.adoc#_create_a_variable[Variable REST API]. -* xref:abac_rls-variables.adoc#_add_rls_rules_with_variable_references[Adding RLS rules with formula variables] + +* xref:abac_rls-variables.adoc#_add_or_update_rls_rules_with_variable_references[Adding RLS rules with formula variables] + When defining an RLS rule with variables, use the `ts_var` function. These RLS rules will apply to the Models, Liveboards, and other objects derived from that Table. *A formula variable must be defined before it can be used in an RLS rule.* -* xref:abac_rls-variables.adoc#_define_values_and_scope_for_variables[Creating a token request with variable attributes] + -Attribute values are assigned to users by requesting a token using the `/api/rest/2.0/auth/token/custom` REST API endpoint. +* xref:abac_rls-variables.adoc#_create_an_abac_token_request_with_variable_attributes[Creating a token request with variable attributes] + +Attribute values are assigned to users by requesting a token using the `/api/rest/2.0/auth/token/custom` REST API endpoint. * xref:abac_rls-variables.adoc#_verify_the_entitlements[Verifying entitlements] + -To ensure data security rules are applied, check user entitlements and verify if they are translated accurately during query generation. Variables and their assigned values are visible to administrators using the `/api/rest/2.0/template/variables/search` endpoint with the `response_content` parameter set to `METADATA_AND_VALUES` +To ensure data security rules are applied, check user entitlements and verify that they are translated accurately during query generation. Variables and their assigned values are visible to administrators using the `/api/rest/2.0/template/variables/search` endpoint with the `response_content` parameter set to `METADATA_AND_VALUES`. === Indexing Several features within ThoughtSpot, such as autocompletion in Search on values within columns, use ThoughtSpot indexing. Due to the runtime nature of ABAC tokens, ThoughtSpot indexing will not be restricted by the values supplied in a token. This means the indexed columns may expose values in search suggestions or autocompletion that a user should not see, even if ABAC filters would block access to the underlying data. To prevent this, you can do one of the following: @@ -51,7 +51,7 @@ Several features within ThoughtSpot, such as autocompletion in Search on values == Create formula variables Formula variables must be defined in ThoughtSpot before they can be used in any RLS rule via the `ts_var()` formula. -To view the variables available on your instance, use the `POST /api/rest/2.0/template/variables/search` API call. +To view the variables available on your instance, use the `POST /api/rest/2.0/template/variables/search` API call. To create a new variable, use the `/api/rest/2.0/template/variables/create` API endpoint. @@ -80,30 +80,30 @@ Formula variables for `BOOLEAN` and `TIME` data types are not supported. } ---- -The variable update API (`/api/rest/2.0/template/variables/{identifier}/update`) allows for updating the variable name and other attrbutes of the variable definition, but not the values assigned to users or other principals. +The variable update API (`/api/rest/2.0/template/variables/{identifier}/update`) allows updating the variable name and other attributes of the variable definition, but not the values assigned to users or other principals. -Variable values are either set through for a user xref:abac_rls-variables.adoc#_create_an_abac_token_request_with_variable_attributes[generating a token] using the `/api/rest/2.0/auth/token/custom` API endpoint or via the Update Variable Values REST API. +Variable values are set either by xref:abac_rls-variables.adoc#_create_an_abac_token_request_with_variable_attributes[generating a token] using the `/api/rest/2.0/auth/token/custom` API endpoint or via the Update Variable Values REST API. == Add or update RLS rules with variable references RLS rules are defined on Table objects: . Navigate to the Data workspace and click the Table for which to define RLS rules. . Click *Row security* and then click *+ Add row security*. -. In the *Row Security Editor*, define the rules. To reference the formula variable in the rule, use the `ts_var(varName)` function, with no quotes around the formula variable name. For example, to limit a column called `region` to the values set in a formula varible called `region_var`, set the RLS rule to: `region = ts_var(region_var)`. +. In the *Row Security Editor*, define the rules. To reference the formula variable in the rule, use the `ts_var(varName)` function, with no quotes around the formula variable name. For example, to limit a column called `region` to the values set in a formula variable called `region_var`, set the RLS rule to: `region = ts_var(region_var)`. [NOTE] ==== Variable values are set through the token request. The RLS rule specifies how the values will be used in the generated RLS WHERE clauses in the SQL. ==== -=== RLS Rule Examples +=== RLS rule examples RLS rules must always evaluate logically to SQL boolean `TRUE` or `FALSE`. -If a user has no variable values for a given formula variable, this will result in `FALSE`. +If a user has no variable values for a given formula variable, this results in `FALSE`. -There is a special wildcard value `['TS_WILDCARD_ALL']` that a formula variable can be set to represent 'Allow All'. +There is a special wildcard value `['TS_WILDCARD_ALL']` that a formula variable can be set to represent "Allow all". -In this example, `customer` represents the column `customer` in the table and `customer_var` represents variable. If the value of the `customer_var` variable is set to `TS_WILDCARD_ALL`, the user can access all customers in the column. +In this example, `customer` represents the `customer` column in the table, and `customer_var` represents a variable. If the value of `customer_var` is set to `TS_WILDCARD_ALL`, the user can access all customers in the column. ---- customer = ts_var(customer_var) @@ -146,7 +146,7 @@ In this example, users can access data if they are in the "data developers" grou ==== Variables with numeric and Date data types -The following rule enforces a numeric threshold and restricts access to rows where the Revenue value is less than or equal to the value provided by the `revenue_cap_var` variable. +The following rule enforces a numeric threshold and restricts access to rows where the Revenue value is less than or equal to the value provided by the `revenue_cap_var` variable. ---- Revenue <= to_double(ts_var(revenue_cap_var)) @@ -160,11 +160,11 @@ The following rule restricts access to rows where the `date_column` is within th == Create an ABAC token request with variable attributes -To set or update variable values for a user, use the POST `/api/rest/2.0/auth/token/custom` endpoint when logging in the user. +To set or update variable values for a user, use the `POST /api/rest/2.0/auth/token/custom` endpoint when logging in the user. -You can also use the `/api/rest/2.0/template/variables/update-values` endpoint for bulk operations or targeted resets. +You can also use the `/api/rest/2.0/template/variables/update-values` endpoint for bulk operations or targeted resets. -The variable attributes defined in the token request take effect only if they are referenced in an RLS rule. If the variables are not used in any formula or RLS rule, they will have no impact on data access. Before generating the request with variable attributes, ensure that the xref:abac_rls-variables.adoc#_add_rls_rules_with_formula_variables_to_tables[variables are added to the RLS rules] for the Table. +The variable attributes defined in the token request take effect only if they are referenced in an RLS rule. If the variables are not used in any formula or RLS rule, they have no impact on data access. Before generating the request with variable attributes, ensure that the xref:abac_rls-variables.adoc#_add_or_update_rls_rules_with_variable_references[variables are added to the RLS rules] for the table. In the token request, include the following properties along with the `username`, xref:trusted-auth-secret-key.adoc[`secret_key`]: @@ -180,7 +180,7 @@ The `variable_values` array requires the following parameters: * `name` + __String__. Name of the formula variable. The formula variable referenced on the token request must be available in ThoughtSpot and included in the RLS rule. * `values` + -__Array of strings or numeric values__. When assigning values, ensure the data format of values matches the data type set of that variable. If you are adding a variable to filter by country with the `VARCHAR` data type, specify the string values as shown in this example: +__Array of strings or numeric values__. When assigning values, ensure the data format of the values matches the data type set for that variable. If you are adding a variable to filter by country with the `VARCHAR` data type, specify string values as shown in this example: [source,JSON] ---- @@ -210,7 +210,7 @@ In this example, the user is allowed all access for one variable, while for the { "name": "product_var", "values": ["TS_WILDCARD_ALL"] - } + }, { "name": "country_var", "values": [ @@ -225,10 +225,13 @@ In this example, the user is allowed all access for one variable, while for the If `TS_WILDCARD_ALL` is set for variable attributes, ensure that the RLS rules are defined clearly on the Table to avoid unintended data exposure. ==== Deny all by default -For every variable included in the token request, you can assign one or more values. All variables referenced in RLS rules are required. If a variable is not assigned any value, query generation will fail with the following error. +For every variable included in the token request, you can assign one or more values. All variables referenced in RLS rules are required. If a variable is not assigned any value, query generation fails with the following error: -`Error in loading data -No values are assigned to some or all Formula Variables` +[source,text] +---- +Error in loading data +No values are assigned to some or all Formula Variables +---- [.bordered] [.widthAuto] @@ -240,13 +243,13 @@ Due to this error, no data is returned, effectively denying all data access for Variable attributes must be *persisted* for them to apply. -To append or replace the attribute values for a user, use one of the following `persist_options` in the token request: +To append or replace attribute values for a user, use one of the following `persist_option` values in the token request: * `REPLACE` + Replaces the full set of existing variable assignments with the new values from the token request. -* `APPEND` + -Adds the attribute values defined in the API request to the existing attribute values for the user. +* `APPEND` + +Adds the attribute values defined in the API request to the existing attribute values for the user. If you don't want to append or replace any attribute values, do not pass any details about the variable in the token update request. @@ -256,14 +259,14 @@ If you don't want to append or replace any attribute values, do not pass any det * `"persist_option": "RESET"` attribute is also a legacy value and is not supported. ==== -=== Resetting a User or a Variable -Passing an empty array along with a formula variable name in the token request *does not reset the attribute values* for that formula variable for that user. +=== Resetting a user or a variable +Passing an empty array along with a formula variable name in the token request *does not reset the attribute values* for that formula variable for that user. -To change the formula variable attributes of a user for a particular, particularly to set their entitlements to an empty set, use the `/api/rest/2.0/template/variables/update-values` API endpoint. +To change formula variable attributes of a user, especially to set entitlements to an empty set, use the `/api/rest/2.0/template/variables/update-values` API endpoint. [WARNING] ==== -The `RESET` operation erases all variable value settings for all users for a variable, regardless of any `variable_value_scope` provided. Use with caution, it is a complete reset. +The `RESET` operation erases all variable value settings for all users for a variable, regardless of any `variable_value_scope` provided. Use with caution; it is a complete reset. ==== A formula variable exists across all Orgs in ThoughtSpot, but the values are recorded on a per Org and per Principal basis. To use the Update Variable Values REST API, you'll need to provide the `org_identifier` as well as the username as `principal_identifier` and set `principal_type` to `USER` as seen below: @@ -287,7 +290,7 @@ A formula variable exists across all Orgs in ThoughtSpot, but the values are rec ] } ---- -The above command would result in jane.smith@company.com being denied any access when `country_var` is used in an RLS rule. +The above command results in `jane.smith@company.com` being denied any access when `country_var` is used in an RLS rule. [NOTE] @@ -297,17 +300,17 @@ Do not use the `/api/rest/2.0/users/{user_identifier}/update` endpoint, as it do === Session-based ABAC and one-time users -The ability to set variable values only for the current session, previously achieved by setting `persist_option: NONE`, is not supported with RLS via ABAC. +The ability to set variable values only for the current session, previously achieved by setting `persist_option: NONE`, is not supported with RLS via ABAC. -For session-based rules, create dedicated one-time user accounts for your application users and apply persisted rules. Unless specifically stated in your contract, there is no limit to the number of users that can be created and provisioned in ThoughtSpot. +For session-based rules, create dedicated one-time user accounts for your application users and apply persisted rules. Unless specifically stated in your contract, there is no limit to the number of users that can be created and provisioned in ThoughtSpot. -This approach ensures that Liveboard schedule attachments enforce security rules and deliver only secured output to your end users. When combined with cookieless authentication, this configuration addresses all use cases that previously relied on session-based JWT. +This approach ensures that Liveboard schedule attachments enforce security rules and deliver only secured output to your end users. When combined with cookieless authentication, this configuration addresses all use cases that previously relied on session-based JWT. You can simplify user provisioning and programmatically manage user creation and deletion workflows using ThoughtSpot's REST APIs. === Variable scope -To restrict the scope of the variable attributes and rules to a specific Org context and object, define the `org_identifier` and `objects`. +To restrict the scope of variable attributes and rules to a specific Org context and object, define `org_identifier` and `objects`. ==== Apply to specific objects To apply variable entitlements to a specific object, specify the object IDs in the `objects` array as shown in this example: @@ -432,7 +435,7 @@ Set the `response_content` parameter to `METADATA_AND_VALUES` to see the values } ---- -Would result in the response: +This results in the following response: [,json] ---- @@ -476,4 +479,4 @@ To verify the entitlements: == Additional resources * For information about variables and variable APIs, see link:https://docs.thoughtspot.com/cloud/latest/rls-variables-reference[Variables] and xref:variables.adoc[Variable APIs]. -* For information about RLS rules,see xref:rls-rules.adoc[RLS Rules] and link:https://docs.thoughtspot.com/cloud/latest/security-rls[ThoughtSpot Product Documentation, window=_blank]. +* For information about RLS rules, see xref:rls-rules.adoc[RLS rules] and link:https://docs.thoughtspot.com/cloud/latest/security-rls[ThoughtSpot product documentation, window=_blank]. From 440bb28995b15394085c58beece5ded0f50e00c7 Mon Sep 17 00:00:00 2001 From: ShashiSubramanya Date: Sat, 28 Feb 2026 09:44:06 +0530 Subject: [PATCH 44/86] edits and typo fixes --- modules/ROOT/pages/mcp-integration.adoc | 136 ++++++------------ .../pages/mcp-server-client-connection.adoc | 59 ++++---- 2 files changed, 76 insertions(+), 119 deletions(-) diff --git a/modules/ROOT/pages/mcp-integration.adoc b/modules/ROOT/pages/mcp-integration.adoc index ab3c913eb..a7f222195 100644 --- a/modules/ROOT/pages/mcp-integration.adoc +++ b/modules/ROOT/pages/mcp-integration.adoc @@ -1,4 +1,4 @@ -= ThoughtSpot MCP Server += Using ThoughtSpot MCP Server :toc: true :toclevels: 3 @@ -6,44 +6,43 @@ :page-pageid: mcp-integration :page-description: Learn how to use the ThoughtSpot Model Context Protocol (MCP) server to interact with ThoughtSpot data via MCP tools -ThoughtSpot’s Agentic Model Context Protocol (MCP) Server allows you to integrate ThoughtSpot analytics into any AI agent, custom chatbot, or LLM platform that supports MCP. +ThoughtSpot’s Agentic Model Context Protocol (MCP) Server allows you to integrate ThoughtSpot analytics into any AI agent, custom chatbot, or LLM platform that supports MCP. Instead of rebuilding analytics logic yourself, you connect an LLM/AI agent to the ThoughtSpot MCP Server. -Instead of rebuilding analytics logic yourself, you connect an LLM/AI agent to the ThoughtSpot MCP Server. The LLM can then: +When integrated, the MCP Server equips your client and AI agent/LLM with the following capabilities: -* Discover ThoughtSpot MCP tools automatically -* Ask questions in natural language -* Create Liveboards programmatically from answer sessions +* Discovering ThoughtSpot MCP tools automatically +* Natural language queries and responses +* Programmatic creation of Liveboards == Spotter and MCP Server -ThoughtSpot provides three main options to integrate AI and analytics: +ThoughtSpot provides the following options to integrate AI and analytics into your workflows: [cols="1,3",options="header"] |=== | Feature | Purpose - -|**Spotter Embed** -| Allows embedding Spotter conversational UI and agentic capabilities directly into your application using the Visual Embed SDK. -Requires minimal development effort and supports faster deployment. This option is recommended for conversational analytics experiences within your application context. - | **ThoughtSpot MCP Server** -a| Allows using your own UI, agent or LLM, and orchestration. ThoughtSpot exposes governed analytics tools via the MCP protocol, allowing your agent to discover and call tools programmatically. This method is recommended for using ThoughtSpot as a plug-in analytics engine in your AI experience. +a| Allows using your own UI, agent, or LLM and orchestration. ThoughtSpot exposes governed analytics tools via the MCP protocol, allowing your agent to discover and call tools programmatically. + -Use ThoughtSpot MCP Server when: +|**Spotter Embed** +|Allows xref:embed-spotter.adoc[embedding Spotter conversational UI and agentic capabilities] directly into your application using the Visual Embed SDK. + +Requires minimal development effort and supports faster deployment. + +Recommended for integrating conversational analytics experiences within your application context. -* Integrating with agents that natively support MCP, such as Claude, OpenAI, Gemini, or custom MCP clients. +|**Spotter APIs** +|Provides xref:spotter-apis.adoc[REST APIs] for programmatic control of analytics and agentic workflows. You can use your own LLM and orchestration logic to interact with Spotter, retrieve structured answers, charts, or relevant questions for a specific data model. +|| +|=== -* You want to reuse ThoughtSpot’s governed analytics and data security controls such as Row-level Security (RLS), Column-level Security (CLS) rules, Liveboards, and data modeling options, instead of building analytics logic in your application. +=== MCP Server use cases -* You want the LLM to discover and call tools via the MCP protocol, rather than connecting every endpoint manually. +ThoughtSpot recommends using MCP Server for the following business scenarios: +* When you want to use ThoughtSpot as a plug-in analytics engine within your AI or agentic experience. This enables you to leverage ThoughtSpot’s governed analytics, including Row-level Security (RLS), Column-level Security (CLS), Liveboards, and data modeling, rather than building analytics logic directly into your application. +* When you are working with agents or LLMs that natively support the MCP protocol, such as Claude, OpenAI, Gemini, or custom MCP clients. +* When you want your LLM or agent to discover and call tools via the MCP protocol, allowing for dynamic tool discovery and orchestration, instead of manually connecting to each endpoint. -| Spotter APIs -| Provides REST APIs for full programmatic control over analytics workflows. You can use your own LLM and orchestration logic to interact with Spotter and retrieve structured answers, charts, or relevant questions for a specific data model. -|| -|=== - -=== Access to MCP Server +=== MCP Server access The ThoughtSpot MCP Server is an add-on feature available with the link:https://www.thoughtspot.com/pricing[ThoughtSpot Analytics and ThoughtSpot Embedded offerings, window=_blank]. To purchase the MCP Server subscription and enable the MCP Server in your environment, you must have an active subscription to one of the following ThoughtSpot license plans: * Enterprise Edition of ThoughtSpot Analytics @@ -51,17 +50,15 @@ The ThoughtSpot MCP Server is an add-on feature available with the link:https:// To learn more about subscription options, contact your ThoughtSpot Sales representative. - == Architecture and roles - -A typical implementation with ThoughtSpot MCP Server includes the following core components: +The MCP Server integration and orchestration layer includes the following core components: [width="100%" cols="2,4"] [options='header'] |====== |Component|Role |*Agent or LLM* -a| Acts as orchestrator +a| Acts as orchestrator. - Receives the user’s prompt. - Discovers ThoughtSpot MCP tools via the MCP protocol. - Decides which tools to call and in what order. @@ -76,89 +73,57 @@ The user-facing interface that renders chat, responses, and charts. For example, || |====== -The interaction between the user, agent, and MCP Server is illustrated in the following figure: +The following figure illustrates the interaction between the user, agent, and MCP Server: [.widthAuto] image::./images/agents-mcp-server-arch.png[MCP integration] - - - == How it works -The MCP Server implementation with an agentic framework or LLM client typically involves the following workflow: +The MCP Server integration and orchestration in agentic environments typically involves the following workflows: . *User asks a question* + User sends a query in the chat interface to get data. For example, `What were the total sales of Jackets and Bags in the Northeast last year?` + -+ Optionally, the user can specify the data context so that data from a specific source is used to generate answers. -. *(Optional) Data source selection via `getDataSourceSuggestions`* + -If the question doesn’t specify a data source, the agent can call `getDataSourceSuggestions`. -+ -ThoughtSpot returns multiple candidate data sources (models) with confidence scores and reasoning. +. *Agent calls `getDataSourceSuggestions`* (Optional) + +If the user's question doesn’t specify a data source, the agent can call `getDataSourceSuggestions`. In response to this request, ThoughtSpot returns multiple candidate data sources (models) with confidence scores and reasoning. -. **Query decomposition** + -The user's query is decomposed into smaller questions via `getRelevantQuestions`. -+ -The agent calls `getRelevantQuestions` with the following parameters: + -* The user query (`query`) -* One or more `datasourceIds` -+ -ThoughtSpot returns the AI-suggested, schema-aware questions that are easier to run analytically. +. **User's query is decomposed into sub-questions** + +To decompose the user's query into smaller questions, the agent calls `getRelevantQuestions`. + +In response to the agent's request, ThoughtSpot returns the AI-suggested, schema-aware questions that are easier to run analytically. -. *Answer generation via `getAnswer`* + -For each suggested or chosen question, the agent calls `getAnswer` with: -+ -* `question` -* `datasourceId` -+ -ThoughtSpot returns the following: -+ +. *Query is processed for generating answers* + +For each suggested or chosen question, the agent calls `getAnswer`. In response to this request, ThoughtSpot returns the following: + * Preview data (CSV string) for LLM reasoning. * Visualization metadata, including an embeddable `frame_url`. * `session_identifier` and `generation_number` for charts that are used for creating Liveboards. -. *(Optional) Liveboard creation via `createLiveboard`* + -To save one or more answers as a Liveboard: -+ -* The agent extracts `question`, `session_identifier`, and `generation_number` from each `getAnswer` response. -* Calls `createLiveboard` with: -** `name` – Name of the Liveboard. -** `noteTile` – descriptive HTML text shown as a note tile. -** `answers` – array of answers from `getAnswer`. -+ +. *Creates a Liveboard using metadata from query response* (Optional) + +The user can choose to save answers from query responses in a ThoughtSpot Liveboard. For this workflow, the agent extracts `question`, `session_identifier`, and `generation_number` from each `getAnswer` response and calls `createLiveboard`. + ThoughtSpot creates a Liveboard and returns identifiers and a `frame_url` for the Liveboard. -. *User experience for chat sessions* -+ -In MCP platforms such as Claude and ChatGPT, users typically see a natural-language summary with a link to a ThoughtSpot Liveboard. -+ -In custom apps, you can: - -* Embed the `frame_url` in iframes to show interactive charts inline. -* Provide Call To Action (CTA) elements backed by `createLiveboard`. +During this interaction, users on MCP platforms such as Claude and ChatGPT typically see a natural-language summary with a link to a ThoughtSpot Liveboard. -== Authentication for MCP Server +In custom apps, you can embed the `frame_url` generated from this interaction in iframes to show interactive charts inline and provide Call To Action (CTA) elements backed by `createLiveboard` if required. -The MCP Server always runs under an authenticated ThoughtSpot user context. You can authenticate in two main ways: +== User authentication +When integrated, the MCP Server runs under an authenticated ThoughtSpot user context. You can choose one of the following authentication options: OAuth:: -Use OAuth when: -* Connecting plug-and-play MCP platforms such as Claude, Gemini, ChatGPT integrations, and more. -* You want the platform to drive a browser-based sign-in flow. +Use OAuth in the following scenarios: +* When connecting plug-and-play MCP platforms, such as Claude, Gemini, ChatGPT, and others. +* When you want the platform to drive a browser-based sign-in flow. + In a typical OAuth flow: - . ThoughtSpot MCP Server is configured as an MCP tool/connection in the client. . Client redirects the user to ThoughtSpot to sign in. . Client stores the OAuth token and passes it to the MCP Server on each tool call. Token-based trusted authentication:: -Use trusted authentication if: - -* You are building a custom UI or custom MCP client. -* You handle user identity and want seamless SSO from your app into ThoughtSpot. +Use trusted authentication in the following scenarios: +* If you are building a custom UI or custom MCP client. +* If your setup has a backend component, and your organization handles user identity and wants seamless SSO from your app into ThoughtSpot. + In a typical trusted authentication flow: @@ -168,15 +133,8 @@ In a typical trusted authentication flow: ** `GET /api/rest/2.0/auth/session/token`. . The token generated for the user session is then passed to the MCP Server as a bearer token header, or as part of the client's MCP server configuration. For example, `authorization_token` for Claude. -//// -[NOTE] -==== -Trusted authentication tokens used only as HTTP headers do not create a browser session by themselves. For embedded sessions, you may also need a cookie. -==== -//// - -== Connecting MCP clients -For information about supported platforms, how to connect MCP clients, examples, and best practices, see xref:mcp-server-client-connection.adoc[Connect clients to ThoughtSpot MCP server]. +== Integration with MCP platforms and client environments +For information about the supported MCP platforms, instructions on how to connect MCP clients, code examples, and best practices, see xref:mcp-server-client-connection.adoc[Connecting clients to ThoughtSpot MCP server]. == Additional resources diff --git a/modules/ROOT/pages/mcp-server-client-connection.adoc b/modules/ROOT/pages/mcp-server-client-connection.adoc index 47fcc6708..49875ca45 100644 --- a/modules/ROOT/pages/mcp-server-client-connection.adoc +++ b/modules/ROOT/pages/mcp-server-client-connection.adoc @@ -1,4 +1,4 @@ -= Connect clients to ThoughtSpot MCP Server += Connecting clients to ThoughtSpot MCP Server :toc: true :toclevels: 3 @@ -6,24 +6,26 @@ :page-pageid: connect-mcp-server-to-clients :page-description: Learn how to connect ThoughtSpot MCP server to clients and call tools -To connect clients to the ThoughtSpot MCP server, add the MCP server endpoint to your LLM client. +To connect ThoughtSpot MCP server to your environment, add the MCP server endpoint to your LLM client's configuration settings. -Authentication is handled per user, typically using OAuth. When connected, the client can discover available MCP tools, select data sources, and interact with ThoughtSpot analytics by calling MCP tools. The MCP server exposes only the data sources and functions the authenticated user is allowed to access, and all actions are performed in the context of that user’s security entitlements. +Authentication is handled per user, typically using xref:mcp-integration.adoc#_user_authentication[OAuth or trusted authentication tokens]. + +When connected, the client can discover available MCP tools, select data sources, and interact with ThoughtSpot analytics by calling MCP tools. The MCP Server exposes only the data sources and functions that the authenticated user is allowed to access, and all actions are performed in the context of that user's security entitlements defined in the ThoughtSpot instance. == Before you begin -Before you begin, check the following prerequisites and ensure that the required configuration and setup are available for connecting your client to the ThoughtSpot MCP server. +Before you begin, review the following prerequisites and ensure that the required configuration and setup are available for integration: -* Node.js version 22 or later is installed for node-based examples and local clients. -* A ThoughtSpot application instance with 10.11.0.cl or a later release version. -* Users have the necessary privileges to view data from relevant models/tables in ThoughtSpot. Existing RLS/CLS rules on tables are enforced automatically in data source responses. -* For Answer and Liveboard creation, the user must have the data download and content-creation privileges. +* Ensure that Node.js version 22 or later is installed for node-based examples and local clients. +* Your setup has access to a ThoughtSpot application instance with 10.11.0.cl or a later release version. +* Your users have the necessary privileges to view data from relevant models and tables in ThoughtSpot. Existing RLS/CLS rules on tables are enforced automatically in data source responses. +* For Answer and Liveboard creation, the user must have the data download and content creation privileges. -== Connecting Remote MCP-aware clients +== Connecting remote MCP-aware clients If you are using a client that supports remote MCPs natively, use the following MCP server endpoint: `https://agent.thoughtspot.app/mcp` -For clients that require a bearer token for authentication: +For clients that require a bearer token for authentication, use the following URL format: `https://agent.thoughtspot.app/bearer/mcp` @@ -31,9 +33,9 @@ For OpenAI MCP and Responses API integration, use the following URL: `https://agent.thoughtspot.app/openai/mcp` -For additional information, refer to your client’s documentation for how to register a remote MCP server. +For additional information about how to register a remote MCP server, refer to your client’s documentation. -Once registered, the agent discovers ThoughtSpot tools from the MCP endpoint and calls tools such as `getRelevantQuestions`, `getAnswer`, and `createLiveboard` as needed to answer the user's question. +When the MCP Server is connected, the AI agent or LLM in your environment automatically discovers ThoughtSpot tools from the MCP endpoint and calls tools as needed. === Claude MCP connector @@ -64,10 +66,9 @@ curl https://api.anthropic.com/v1/messages \ }' ---- - === OpenAI Responses API (MCP tools) -The following example shows the code to connect OpenAI to the MCP server: +The following example shows how to connect OpenAI to the MCP server: [source,bash] ---- @@ -93,7 +94,7 @@ curl https://api.openai.com/v1/responses \ === Gemini with MCP -The following example shows the code to connect Gemini to the MCP server: +The following example shows the code required to connect Gemini to the MCP server: [source,typescript] ---- @@ -137,9 +138,8 @@ console.log(response.text); await mcpClient.close(); ---- -== Connecting clients that do not natively support remote MCP servers - -Some clients that do not natively support configuring a remote MCP URL may require an `mcp-remote` component. In such cases, configure the MCP server as shown in this example: +== Connecting clients that do not support remote MCP servers +Some clients that do not natively support configuring a remote MCP server URL may require an `mcp-remote` component. In such cases, configure the MCP server as shown in this example: [source,JSON] ---- @@ -158,7 +158,7 @@ Some clients that do not natively support configuring a remote MCP URL may requi == Internal API routes -If you are building your own web app or chatbot, you might want to set up internal routes that act as messengers, passing requests from your app to the ThoughtSpot MCP Server or REST APIs and then returning the results to your app. This allows your app to fetch data or answers from ThoughtSpot without connecting to it directly. +If you are building your own web app or chatbot, you might want to set up internal routes that act as messengers, passing requests from your app to the ThoughtSpot MCP Server or REST APIs, and then returning the results to your app. This allows your app to fetch data or answers from ThoughtSpot without connecting to it directly. The sample patterns in the following examples define two internal routes for a Next.js app. You can adapt this pattern to other backend frameworks: @@ -168,7 +168,6 @@ Forwards tool calls to the ThoughtSpot MCP server. Searches models using the ThoughtSpot REST API. === POST /api/mcp - Serves as a proxy endpoint for calling ThoughtSpot MCP tools from the client side. This route forwards requests from your frontend to the ThoughtSpot MCP tools. ==== Request parameters @@ -247,8 +246,8 @@ This route searches for data sources such as models in ThoughtSpot using the RES |=== | Parameter | Required | Description | `tsHost` | Yes | __String__. ThoughtSpot instance URL -| `authToken` | Yes |__String__. Bearer token for authentication -| `namePattern` |No |__String__. Pattern to filter model names. Default is `*`. +| `authToken` | Yes | __String__. Bearer token for authentication. +| `namePattern` | No | __String__. Pattern to filter model names. Default is `*`. |=== ==== Example request @@ -352,7 +351,7 @@ Gets AI-suggested analytical questions relevant to the user’s query for a give ==== Query attributes -[source,Typescript] +[source,TypeScript] ---- { query: string; // User's natural language query @@ -362,7 +361,7 @@ Gets AI-suggested analytical questions relevant to the user’s query for a give ==== Example call -[source,Typescript] +[source,TypeScript] ---- const result = await callMCPTool("getRelevantQuestions", { query: "show me sales data", @@ -376,7 +375,7 @@ const result = await callMCPTool("getRelevantQuestions", { ---- { "questions": [ - "What is the total sales by region?", + "What are total sales by region?", "Which products have the highest revenue?", "What are the top selling categories?" ] @@ -458,7 +457,7 @@ This is a two-step process and includes the following calls: . Call `getAnswer` to generate visualizations and get session data via `session_identifier` and `generation_number`. . Call `createLiveboard` to create a Liveboard using the session data from step 1. -==== Query attribute +==== Query attributes [source,TypeScript] ---- @@ -573,11 +572,11 @@ async function createLiveboardFromQuestion(question: string, datasourceId: strin === Query mode – suggested questions → liveboard -This workflow: +This workflow includes the following steps: . Gets AI-suggested questions for a user query. . Gets answers for each suggested question. -. Creates a Liveboard with all answers [1]. +. Creates a Liveboard with all answers. [source,TypeScript] ---- @@ -623,11 +622,11 @@ async function queryModeWorkflow(userQuery: string, datasourceId: string) { === Multi-answer mode – user questions → liveboard -This workflow: +This workflow includes the following steps: . Takes a list of user-provided questions. . Gets answers for each. -. Creates a Liveboard with all answers [1]. +. Creates a Liveboard with all answers. [source,TypeScript] ---- From ffb07d75f55a5e3b666b5ecc4eec2878ef7f40da Mon Sep 17 00:00:00 2001 From: ShashiSubramanya Date: Sat, 28 Feb 2026 09:57:53 +0530 Subject: [PATCH 45/86] edits --- modules/ROOT/pages/common/nav.adoc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/ROOT/pages/common/nav.adoc b/modules/ROOT/pages/common/nav.adoc index 1dca5cb20..5efb0d24a 100644 --- a/modules/ROOT/pages/common/nav.adoc +++ b/modules/ROOT/pages/common/nav.adoc @@ -219,8 +219,8 @@ include::generated/typedoc/CustomSideNav.adoc[] ** link:{{navprefix}}/SpotterCode[SpotterCode for IDEs] *** link:{{navprefix}}/integrate-SpotterCode[Integrating SpotterCode] *** link:{{navprefix}}/spottercode-prompting-guide[SpotterCode prompting guide] -** link:{{navprefix}}/mcp-integration[ThoughtSpot MCP server] -*** link:{{navprefix}}/connect-mcp-server-to-clients[Connect clients to ThoughtSpot MCP Server] +** link:{{navprefix}}/mcp-integration[Using ThoughtSpot MCP server] +*** link:{{navprefix}}/connect-mcp-server-to-clients[Connecting clients to MCP Server] * link:{{navprefix}}/development-and-deployment[Deployment and integration] ** link:{{navprefix}}/development-and-deployment[Development and deployment] From c547e65f8ade58e50dfcf4fc294ee224bdb46f57 Mon Sep 17 00:00:00 2001 From: ShashiSubramanya Date: Sat, 28 Feb 2026 10:01:32 +0530 Subject: [PATCH 46/86] edits --- modules/ROOT/pages/mcp-integration.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/ROOT/pages/mcp-integration.adoc b/modules/ROOT/pages/mcp-integration.adoc index a7f222195..996bf6f68 100644 --- a/modules/ROOT/pages/mcp-integration.adoc +++ b/modules/ROOT/pages/mcp-integration.adoc @@ -82,7 +82,7 @@ image::./images/agents-mcp-server-arch.png[MCP integration] The MCP Server integration and orchestration in agentic environments typically involves the following workflows: . *User asks a question* + -User sends a query in the chat interface to get data. For example, `What were the total sales of Jackets and Bags in the Northeast last year?` + +A user sends a query in the chat interface to get data. For example, `What were the total sales of Jackets and Bags in the Northeast last year?` + Optionally, the user can specify the data context so that data from a specific source is used to generate answers. . *Agent calls `getDataSourceSuggestions`* (Optional) + From f769a23ccc4ead7d8079ccaccd793989ba004128 Mon Sep 17 00:00:00 2001 From: ShashiSubramanya Date: Sat, 28 Feb 2026 10:16:11 +0530 Subject: [PATCH 47/86] edits --- modules/ROOT/pages/mcp-server-client-connection.adoc | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/modules/ROOT/pages/mcp-server-client-connection.adoc b/modules/ROOT/pages/mcp-server-client-connection.adoc index 49875ca45..9940723b9 100644 --- a/modules/ROOT/pages/mcp-server-client-connection.adoc +++ b/modules/ROOT/pages/mcp-server-client-connection.adoc @@ -66,7 +66,7 @@ curl https://api.anthropic.com/v1/messages \ }' ---- -=== OpenAI Responses API (MCP tools) +=== OpenAI Responses API The following example shows how to connect OpenAI to the MCP server: @@ -369,7 +369,7 @@ const result = await callMCPTool("getRelevantQuestions", { }); ---- -==== Parsed response example +==== Response example [source,json] ---- @@ -570,7 +570,7 @@ async function createLiveboardFromQuestion(question: string, datasourceId: strin } ---- -=== Query mode – suggested questions → liveboard +=== Query mode → suggested questions → Liveboard This workflow includes the following steps: @@ -620,7 +620,7 @@ async function queryModeWorkflow(userQuery: string, datasourceId: string) { } ---- -=== Multi-answer mode – user questions → liveboard +=== Multi-answer mode → user questions → liveboard This workflow includes the following steps: @@ -673,7 +673,7 @@ The most frequent issues fall into two categories: === Common validation errors -==== Missing `answers` array +==== Missing answers array [source,json] ---- @@ -701,7 +701,7 @@ Fix: Include the `answers` array when calling `createLiveboard`. ---- Fix: Extract `session_identifier` and `generation_number` from the `getAnswer` response and pass them into `answers`. -==== Missing `noteTile` +==== Missing noteTile [source,json] ---- From f0c3de1f6ea07a75a9da2f546d3b9f400b731138 Mon Sep 17 00:00:00 2001 From: ShashiSubramanya Date: Sat, 28 Feb 2026 10:29:40 +0530 Subject: [PATCH 48/86] edits --- modules/ROOT/pages/mcp-integration.adoc | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/modules/ROOT/pages/mcp-integration.adoc b/modules/ROOT/pages/mcp-integration.adoc index 996bf6f68..a72e9c5dd 100644 --- a/modules/ROOT/pages/mcp-integration.adoc +++ b/modules/ROOT/pages/mcp-integration.adoc @@ -93,10 +93,11 @@ To decompose the user's query into smaller questions, the agent calls `getReleva In response to the agent's request, ThoughtSpot returns the AI-suggested, schema-aware questions that are easier to run analytically. . *Query is processed for generating answers* + -For each suggested or chosen question, the agent calls `getAnswer`. In response to this request, ThoughtSpot returns the following: + -* Preview data (CSV string) for LLM reasoning. +For each suggested or chosen question, the agent calls `getAnswer`. + +In response to this request, ThoughtSpot returns the following: + +* Preview data for LLM reasoning. * Visualization metadata, including an embeddable `frame_url`. -* `session_identifier` and `generation_number` for charts that are used for creating Liveboards. +* `session_identifier` and `generation_number` for charts that are required for creating Liveboards. . *Creates a Liveboard using metadata from query response* (Optional) + The user can choose to save answers from query responses in a ThoughtSpot Liveboard. For this workflow, the agent extracts `question`, `session_identifier`, and `generation_number` from each `getAnswer` response and calls `createLiveboard`. + From 8335db24a5263c439376b32ea467fb53ba99c723 Mon Sep 17 00:00:00 2001 From: Bryant Howell - ThoughtSpot <83678239+bryanthowell-ts@users.noreply.github.com> Date: Tue, 17 Feb 2026 10:18:34 -0600 Subject: [PATCH 49/86] Update abac_rls-variables.adoc Initial reorganization begun - simplified the intro be shorter and more direct --- modules/ROOT/pages/abac_rls-variables.adoc | 54 +++++++++------------- 1 file changed, 23 insertions(+), 31 deletions(-) diff --git a/modules/ROOT/pages/abac_rls-variables.adoc b/modules/ROOT/pages/abac_rls-variables.adoc index 13155c0cf..86d15dc7a 100644 --- a/modules/ROOT/pages/abac_rls-variables.adoc +++ b/modules/ROOT/pages/abac_rls-variables.adoc @@ -6,17 +6,37 @@ :page-pageid: abac-via-rls-variables :page-description: Attribute-based access control pattern with variable attributes referenced in Row-Level Security (RLS) rules on a given table. -Attribute-Based Access Control (ABAC) is an access control model in which security entitlements are determined by evaluating a set of attributes included in a token generated for a user. The attributes are passed in a JSON Web Token (JWT) at session creation to dynamically filter data and enable user-specific security policies. +Attribute-Based Access Control (ABAC) is an access control model in which security entitlements are assigned to a ThoughtSpot user directly as a set of attributes with lists of values, rather than relying on a JOINed entitlements table within the data model. + +ThoughtSpot allows assigning attribute values to a user at session creation time by adding the values to the user's access token request. + +RLS Rules are defined on the table objects, which binds dynamically generated `WHERE` clauses to any generated query. Within the RLS Rules, the attributes are referenced by their variable names using the `ts_var()` function to dynamically filter data and enable user-specific security policies. == Overview -To implement data security for application users, administrators can define RLS rules that use system variables such as `ts_username` or `ts_groups`. If a ThoughtSpot deployment requires granular access control and dynamic assignments beyond what system variables can support, administrators can use formula variables within RLS rules. +RLS rules have a defined set of system variables such as `ts_username` or `ts_groups`. Once ABAC via RLS is enabled, the `ts_var()` formula is available within the RLS rule editor to refer to any defined Formula variable within ThoughtSpot. -Formula variables are custom variables that enable dynamic and context-aware logic in RLS rules. They can be assigned at the Org, user, and data model levels. +Formula variables are custom variables defined within ThoughtSpot that enable dynamic and context-aware logic in RLS rules. They are assigned at the user level during session creation for the ABAC pattern, although they can be set at Org and data model levels as well. +//// In embedded analytics scenarios, where each user may require different data access, administrators can assign security attributes and rules on a per-user basis. For these use cases, administrators can implement a JWT-based ABAC model combined with RLS to enforce data security using dynamic attributes derived from formula variables. In the ABAC via RLS with variables method, administrators add formula variables to RLS rules and pass their values (`variable_values`) as security attributes and entitlements to the user session through a JWT. All derived objects then inherit the data security rules from the underlying Table and are filtered according to the user’s entitlements provided in the token. +//// + +=== Implementation steps +The ABAC implementation with formula variables and RLS rules includes the following steps: + +* xref:abac_rls-variables.adoc#_create_formula_variables[Creating formula variables] + +To generate tokens with variable attributes, the variables must be available in ThoughtSpot. To create variables, use the xref:variables.adoc#_create_a_variable[Variable REST API]. +* xref:abac_rls-variables.adoc#_add_rls_rules_with_variable_references[Adding RLS rules with formula variables] + +When defining an RLS rule with variables, use the `ts_var` function. These RLS rules will apply to the Models, Liveboards, and other objects derived from that Table. +* xref:abac_rls-variables.adoc#_define_values_and_scope_for_variables[Creating a token request with variable attributes] + +To generate a JWT token, use the `/api/rest/2.0/auth/token/custom` REST API endpoint. The token generation request must include the variable attributes, which will be used for RLS evaluation to enable per‑user entitlements and data filters across all the objects derived from the Table. +* xref:abac_rls-variables.adoc#_verify_the_entitlements[Verifying entitlements] + +To ensure data security rules are applied, check user entitlements and verify if they are translated accurately during query generation. + +The ABAC via tokens method requires the xref:trusted-authentication.adoc[trusted authentication] setup. [NOTE] ==== @@ -37,36 +57,8 @@ Several features within ThoughtSpot, such as autocompletion in Search on values * Disable indexing for columns and fields that must be restricted by ABAC. You may also want to disable indexing on all sensitive columns. * Define an RLS rule on those fields, since RLS is enforced at the indexing layer and will secure suggestions and sample values. -=== Implementation steps -The ABAC implementation with formula variables and RLS rules includes the following steps: -* xref:abac_rls-variables.adoc#_create_formula_variables[Creating formula variables] + -To generate tokens with variable attributes, the variables must be available in ThoughtSpot. To create variables, use the xref:variables.adoc#_create_a_variable[Variable REST API]. -* xref:abac_rls-variables.adoc#_add_rls_rules_with_variable_references[Adding RLS rules with formula variables] + -When defining an RLS rule with variables, use the `ts_var` function. These RLS rules will apply to the Models, Liveboards, and other objects derived from that Table. -* xref:abac_rls-variables.adoc#_define_values_and_scope_for_variables[Creating a token request with variable attributes] + -To generate a JWT token, use the `/api/rest/2.0/auth/token/custom` REST API endpoint. The token generation request must include the variable attributes, which will be used for RLS evaluation to enable per‑user entitlements and data filters across all the objects derived from the Table. -* xref:abac_rls-variables.adoc#_verify_the_entitlements[Verifying entitlements] + -To ensure data security rules are applied, check user entitlements and verify if they are translated accurately during query generation. - -The ABAC via tokens method requires the xref:trusted-authentication.adoc[trusted authentication] setup. -//// -=== Mandatory token filters - -The `is_mandatory_token_filter: true` setting in object TML enforces that a filter rule must be provided for a specific column. When this attribute is set on a column in a Model, ThoughtSpot will deny all data access for users who do not have a corresponding filter rule for that column in their ABAC token. - -When setting filter rules within the token, you must place the `is_mandatory_token_filter: true` property on every column in a Model where a filter rule is expected. This setting will deny any access to data if a user has not been assigned values for the expected set of fields. - -[#column-name-warning] -The filter rules require passing the *exact* column name as defined in the Model. Otherwise, the values will not bind to any column. You must coordinate between the team that maintains the data objects and the team that builds the xref:trusted-auth-token-request-service.adoc[token request service] to know if any changes will be made to a Model and to ensure column names remain consistent. + -For this reason, end users of an embedded app must not be granted edit access to any Model using ABAC rules via tokens. Setting the `is_mandatory_token_filter: true` property on every column where a filter rule is expected ensures that no data is returned for users when column names change. - -[NOTE] -==== -If a column is set with both `is_hidden: true` and `is_mandatory_token_filter: true`, and filter conditions for that column are defined in the ABAC token, the filter will be applied as expected. The column will be hidden from the user interface, but the mandatory filter requirement will still be enforced, and data will be shown according to the filter values provided in the token. -==== -//// == Create formula variables From 6f793eaee0ba0630fbceb525a35628a1b99bff44 Mon Sep 17 00:00:00 2001 From: Bryant Howell - ThoughtSpot <83678239+bryanthowell-ts@users.noreply.github.com> Date: Tue, 17 Feb 2026 10:31:17 -0600 Subject: [PATCH 50/86] Update abac_rls-variables.adoc More rearrangement to put things closer to where they are relevant --- modules/ROOT/pages/abac_rls-variables.adoc | 37 ++++++++++++---------- 1 file changed, 20 insertions(+), 17 deletions(-) diff --git a/modules/ROOT/pages/abac_rls-variables.adoc b/modules/ROOT/pages/abac_rls-variables.adoc index 86d15dc7a..cc0abc91f 100644 --- a/modules/ROOT/pages/abac_rls-variables.adoc +++ b/modules/ROOT/pages/abac_rls-variables.adoc @@ -25,6 +25,11 @@ In the ABAC via RLS with variables method, administrators add formula variables //// === Implementation steps +[NOTE] +==== +Formula variables are available on ThoughtSpot starting from 10.15.0.cl. If this feature is not enabled on your instance, contact ThoughtSpot Support. +==== + The ABAC implementation with formula variables and RLS rules includes the following steps: * xref:abac_rls-variables.adoc#_create_formula_variables[Creating formula variables] + @@ -34,22 +39,9 @@ When defining an RLS rule with variables, use the `ts_var` function. These RLS r * xref:abac_rls-variables.adoc#_define_values_and_scope_for_variables[Creating a token request with variable attributes] + To generate a JWT token, use the `/api/rest/2.0/auth/token/custom` REST API endpoint. The token generation request must include the variable attributes, which will be used for RLS evaluation to enable per‑user entitlements and data filters across all the objects derived from the Table. * xref:abac_rls-variables.adoc#_verify_the_entitlements[Verifying entitlements] + -To ensure data security rules are applied, check user entitlements and verify if they are translated accurately during query generation. - -The ABAC via tokens method requires the xref:trusted-authentication.adoc[trusted authentication] setup. - -[NOTE] -==== +To ensure data security rules are applied, check user entitlements and verify if they are translated accurately during query generation. Variables and their values are visible to administrators using the `/api/rest/2.0/template/variables/search` endpoint with the `response_content` parameter set to `METADATA_AND_VALUES` -* Formula variables are available on ThoughtSpot starting from 10.15.0.cl. If this feature is not enabled on your instance, contact ThoughtSpot Support. -* In the legacy JWT ABAC token requests, you could set the `persist_option` parameter to `NONE`, `APPEND`, `REPLACE`, and `RESET`. However, when you use the `variable_values` parameter in the JWT API token request to set up RLS values for a given user, only `APPEND` and `REPLACE` are supported. - -* To reset the formula variable attributes of a user, use the `/api/rest/2.0/template/variables/update-values` API endpoint. - -* The ability to set variable values only for the current session, previously achieved by setting `persist_option: NONE`, is not supported with RLS via ABAC. + -For session-based rules, create dedicated user accounts for your application users and apply persisted rules. This approach ensures that Liveboard schedule attachments enforce security rules and deliver only secured output to your end users. When combined with cookieless authentication, this configuration addresses all use cases that previously relied on session-based JWT. You can simplify user provisioning and programmatically manage user creation and deletion workflows using ThoughtSpot's REST APIs. -==== === Indexing Several features within ThoughtSpot, such as autocompletion in Search on values within columns, use ThoughtSpot indexing. Due to the runtime nature of ABAC tokens, ThoughtSpot indexing will not be restricted by the values supplied in a token. This means the indexed columns may expose values in search suggestions or autocompletion that a user should not see, even if ABAC filters would block access to the underlying data. To prevent this, you can do one of the following: @@ -58,8 +50,6 @@ Several features within ThoughtSpot, such as autocompletion in Search on values * Define an RLS rule on those fields, since RLS is enforced at the indexing layer and will secure suggestions and sample values. - - == Create formula variables To view the variables available on your instance, use the `POST /api/rest/2.0/template/variables/search` API call. To create a new variable, use the `/api/rest/2.0/template/variables/create` API endpoint. @@ -388,9 +378,22 @@ To retrieve user information and object properties, you can use the `POST /api/r You can also use the `POST /api/rest/2.0/template/variables/search` API call to xref:variables.adoc#_get_variables[get the list of variables] assigned to a specific user, Org, and Model. -==== Updating variable values for a user +=== Resetting a User or a Variable +[NOTE] +==== + +* In the legacy JWT ABAC token requests, you could set the `persist_option` parameter to `NONE`, `APPEND`, `REPLACE`, and `RESET`. However, when you use the `variable_values` parameter in the JWT API token request to set up RLS values for a given user, only `APPEND` and `REPLACE` are supported. + +* To reset the formula variable attributes of a user, use the `/api/rest/2.0/template/variables/update-values` API endpoint. + +* The ability to set variable values only for the current session, previously achieved by setting `persist_option: NONE`, is not supported with RLS via ABAC. + +For session-based rules, create dedicated user accounts for your application users and apply persisted rules. This approach ensures that Liveboard schedule attachments enforce security rules and deliver only secured output to your end users. When combined with cookieless authentication, this configuration addresses all use cases that previously relied on session-based JWT. You can simplify user provisioning and programmatically manage user creation and deletion workflows using ThoughtSpot's REST APIs. +==== + +=== Updating variable values for a user To update variable values for a user, you can use the `/api/rest/2.0/template/variables/update-values` endpoint, or `/api/rest/2.0/auth/token/custom` endpoint when logging in the user. Do not use the `/api/rest/2.0/users/{user_identifier}/update` endpoint, as it does not support updating variable values. + == Verify the entitlements To verify the entitlements: From ad1766b7cc09a967a179b4697c536e3d5f0cfca4 Mon Sep 17 00:00:00 2001 From: Bryant Howell - ThoughtSpot <83678239+bryanthowell-ts@users.noreply.github.com> Date: Tue, 17 Feb 2026 11:17:51 -0600 Subject: [PATCH 51/86] Update abac_rls-variables.adoc moved RLS Rule examples into one section and added an intro, placed TS_WILDCARD_ALL in this intro --- modules/ROOT/pages/abac_rls-variables.adoc | 63 ++++++++++++---------- 1 file changed, 35 insertions(+), 28 deletions(-) diff --git a/modules/ROOT/pages/abac_rls-variables.adoc b/modules/ROOT/pages/abac_rls-variables.adoc index cc0abc91f..6bd42228d 100644 --- a/modules/ROOT/pages/abac_rls-variables.adoc +++ b/modules/ROOT/pages/abac_rls-variables.adoc @@ -35,13 +35,11 @@ The ABAC implementation with formula variables and RLS rules includes the follow * xref:abac_rls-variables.adoc#_create_formula_variables[Creating formula variables] + To generate tokens with variable attributes, the variables must be available in ThoughtSpot. To create variables, use the xref:variables.adoc#_create_a_variable[Variable REST API]. * xref:abac_rls-variables.adoc#_add_rls_rules_with_variable_references[Adding RLS rules with formula variables] + -When defining an RLS rule with variables, use the `ts_var` function. These RLS rules will apply to the Models, Liveboards, and other objects derived from that Table. +When defining an RLS rule with variables, use the `ts_var` function. These RLS rules will apply to the Models, Liveboards, and other objects derived from that Table. *A formula variable must be defined before it can be used in an RLS rule.* * xref:abac_rls-variables.adoc#_define_values_and_scope_for_variables[Creating a token request with variable attributes] + -To generate a JWT token, use the `/api/rest/2.0/auth/token/custom` REST API endpoint. The token generation request must include the variable attributes, which will be used for RLS evaluation to enable per‑user entitlements and data filters across all the objects derived from the Table. +Attribute values are assigned to users by requesting a token using the `/api/rest/2.0/auth/token/custom` REST API endpoint. * xref:abac_rls-variables.adoc#_verify_the_entitlements[Verifying entitlements] + -To ensure data security rules are applied, check user entitlements and verify if they are translated accurately during query generation. Variables and their values are visible to administrators using the `/api/rest/2.0/template/variables/search` endpoint with the `response_content` parameter set to `METADATA_AND_VALUES` - - +To ensure data security rules are applied, check user entitlements and verify if they are translated accurately during query generation. Variables and their assigned values are visible to administrators using the `/api/rest/2.0/template/variables/search` endpoint with the `response_content` parameter set to `METADATA_AND_VALUES` === Indexing Several features within ThoughtSpot, such as autocompletion in Search on values within columns, use ThoughtSpot indexing. Due to the runtime nature of ABAC tokens, ThoughtSpot indexing will not be restricted by the values supplied in a token. This means the indexed columns may expose values in search suggestions or autocompletion that a user should not see, even if ABAC filters would block access to the underlying data. To prevent this, you can do one of the following: @@ -51,8 +49,11 @@ Several features within ThoughtSpot, such as autocompletion in Search on values == Create formula variables +Formula variables must be defined in ThoughtSpot before they can be used in any RLS rule via the `ts_var()` formula. -To view the variables available on your instance, use the `POST /api/rest/2.0/template/variables/search` API call. To create a new variable, use the `/api/rest/2.0/template/variables/create` API endpoint. +To view the variables available on your instance, use the `POST /api/rest/2.0/template/variables/search` API call. + +To create a new variable, use the `/api/rest/2.0/template/variables/create` API endpoint. To configure formula variables for all Orgs on your instance or the Primary Org, cluster administration privileges are required. Org administrators can configure formula variables for their respective Orgs. Users with the `CAN_MANAGE_VARIABLES` (*Can manage variables*) role privilege can also create and manage variables for their Org context. @@ -69,33 +70,46 @@ During variable creation, specify the xref:variables.adoc#data_type[`data_type`] Formula variables for `BOOLEAN` and `TIME` data types are not supported. -[source,cURL] +[source,JSON] ---- -curl -X POST \ - --url 'https://{ThoughtSpot-Host}/]api/rest/2.0/template/variables/create' \ - -H 'Accept: application/json' \ - -H 'Content-Type: application/json' \ - -H 'Authorization: Bearer {AUTH_TOKEN}' \ - --data-raw '{ +{ "type": "FORMULA_VARIABLE", "name": "country_var", "is_sensitive": false, "data_type": "VARCHAR" -}' +} ---- -The variable update API allows assigning variable values and setting the scope. In the ABAC implementation, administrators can set the variable values and scope when xref:abac_rls-variables.adoc#_create_an_abac_token_request_with_variable_attributes[generating a JWT] using the `/api/rest/2.0/auth/token/custom` API endpoint. +The variable update API (`/api/rest/2.0/template/variables/{identifier}/update`) allows for updating the variable name and other attrbutes of the variable definition, but not the values assigned to users or other principals. -== Add RLS rules with variable references -To define RLS rules with variables for a Table: +Variable values are either set through for a user xref:abac_rls-variables.adoc#_create_an_abac_token_request_with_variable_attributes[generating a token] using the `/api/rest/2.0/auth/token/custom` API endpoint or via the Update Variable Values REST API. + +== Add or update RLS rules with variable references +RLS rules are defined on Table objects: . Navigate to the Data workspace and click the Table for which to define RLS rules. . Click *Row security* and then click *+ Add row security*. -. In the *Row Security Editor*, define the rules. To reference the formula variable in the rule, use the `ts_var` function. For example, If you want to limit user access to data of a specific region, you can create a region-specific variable, `region = ts_var(region_var)`, and assign values in the token request. +. In the *Row Security Editor*, define the rules. To reference the formula variable in the rule, use the `ts_var(varName)` function, with no quotes around the formula variable name. For example, to limit a column called `region` to the values set in a formula varible called `region_var`, set the RLS rule to: `region = ts_var(region_var)`. +[NOTE] +==== +Variable values are set through the token request. The RLS rule specifies how the values will be used in the generated RLS WHERE clauses in the SQL. +==== + +=== RLS Rule Examples +RLS rules must always evaluate logically to SQL boolean `TRUE` or `FALSE`. + +If a user has no variable values for a given formula variable, this will result in `FALSE`. + +There is a special wildcard value `['TS_WILDCARD_ALL']` that a formula variable can be set to represent 'Allow All'. -=== RLS rule with a single variable reference +In this example, `customer` represents the column `customer` in the table and `customer_var` represents variable. If the value of the `customer_var` variable is set to `TS_WILDCARD_ALL`, the user can access all customers in the column. +---- +customer = ts_var(customer_var) +---- + +==== RLS rule with a single variable reference In this formula example, `country` refers to the "country" column in the data table, and `country_var` is the variable. ---- @@ -106,7 +120,7 @@ If `country_var` is assigned a single value, the user is permitted to view only If `country_var` is assigned multiple values, the formula translates to `country IN ('value1', 'value2', ...)`. The query engine interprets `=` as the `IN` clause in this case and returns rows that match these values; for example, `WHERE country IN ('Australia', 'Germany')`. -=== RLS rules with multiple variables +==== RLS rules with multiple variables The RLS rules support the `AND` operator, which means that you can combine multiple conditions in a single RLS rule, so that a row is accessible only if all the specified conditions are met. The following rule restricts data access to rows if the `country` column in the data table matches the value assigned to `country_var` and the `Department` column matches the value assigned to `department_var` for that user. @@ -121,14 +135,7 @@ The rule in this example restricts data access to rows where the `region` column region = ts_var(region_var) AND product = ts_var(product_var) ---- -=== Allow all rule with a TS_WILDCARD_ALL variable -In this example, `customer` represents the column `customer` in the table and `customer_var` represents variable. If the value of the customer_var variable is set to `TS_WILDCARD_ALL`, the user can access all customers in the column. - ----- -customer = ts_var(customer_var) ----- - -=== Group override rule with variable-based check +==== Group override rule with variable-based check In any security formula you build, you may want a clause that gives access to all data to certain groups. In the rule definition, you can include system variables, such as `ts_groups`, to build your preferred logic: In this example, users can access data if they are in the "data developers" group, or if the `Department` column matches the value assigned to their `department_var` variable. From 4f7d1206a0adeba7d195e3d5983fe4171a7caf24 Mon Sep 17 00:00:00 2001 From: Bryant Howell - ThoughtSpot <83678239+bryanthowell-ts@users.noreply.github.com> Date: Tue, 17 Feb 2026 11:31:45 -0600 Subject: [PATCH 52/86] Update abac_rls-variables.adoc Continued simplification and reordering --- modules/ROOT/pages/abac_rls-variables.adoc | 72 +++++++++------------- 1 file changed, 28 insertions(+), 44 deletions(-) diff --git a/modules/ROOT/pages/abac_rls-variables.adoc b/modules/ROOT/pages/abac_rls-variables.adoc index 6bd42228d..3b59fc125 100644 --- a/modules/ROOT/pages/abac_rls-variables.adoc +++ b/modules/ROOT/pages/abac_rls-variables.adoc @@ -160,7 +160,9 @@ The following rule restricts access to rows where the `date_column` is within th == Create an ABAC token request with variable attributes -To generate a token with variable attributes, use the `POST /api/rest/2.0/auth/token/custom` API call. +To set or update variable values for a user, use the POST `/api/rest/2.0/auth/token/custom` endpoint when logging in the user. + +You can also use the `/api/rest/2.0/template/variables/update-values` endpoint for bulk operations or targeted resets. The variable attributes defined in the token request take effect only if they are referenced in an RLS rule. If the variables are not used in any formula or RLS rule, they will have no impact on data access. Before generating the request with variable attributes, ensure that the xref:abac_rls-variables.adoc#_add_rls_rules_with_formula_variables_to_tables[variables are added to the RLS rules] for the Table. @@ -196,15 +198,19 @@ __Array of strings or numeric values__. When assigning values, ensure the data f All values are passed into the token as *arrays of strings*, even if the column is a numeric or date type in ThoughtSpot and the database. The column data type will be respected in the query issued to the database. -==== Allow all values by default +==== Allow all wildcard value -To allow all values by default, specify `["TS_WILDCARD_ALL"]` as the variable value to grant access to all values in a given column. +To allow all values for a given field, set the formula variable value to an array using the wildcard: `["TS_WILDCARD_ALL"]`. -In this example, the user is allowed all access for one variable, while for the others, specific values are set. +In this example, the user is allowed all access for one variable, while for the other, specific values are set. [source,JSON] ---- "variable_values": [ + { + "name": "product_var", + "values": ["TS_WILDCARD_ALL"] + } { "name": "country_var", "values": [ @@ -212,19 +218,6 @@ In this example, the user is allowed all access for one variable, while for the "Singapore", "Australia" ] - }, - { - "name": "department_var", - "values": [ - "Sales", - "Marketing" - ] - }, - { - "name": "product_var", - "values": [ - "TS_WILDCARD_ALL" - ] } ] ---- @@ -299,13 +292,9 @@ To apply variable entitlements to a user session, you must ensure that the RLS r The following example shows the request body for generating a token with formula variable attributes: -[source,cURL] +[source,JSON] ---- - curl -X POST \ - --url 'https://{ThoughtSpot-Host}/api/rest/2.0/auth/token/custom' \ - -H 'Accept: application/json' \ - -H 'Content-Type: application/json' \ - --data-raw '{ +{ "username": "UserA", "validity_time_in_sec": 300, "persist_option": "APPEND", @@ -313,24 +302,17 @@ The following example shows the request body for generating a token with formula "secret_key": "f8aa445b-5ff1-4a35-a58f-e324133320d5", "variable_values": [ { - "name": "country_var", - "values": [ - "Japan", - "Singapore", - "Australia" - ] - }, - { - "name": "department_var", + "name": "product_var", "values": [ - "Sales", - "Marketing" + "TS_WILDCARD_ALL" ] }, { - "name": "product_var", + "name": "country_var", "values": [ - "TS_WILDCARD_ALL" + "Japan", + "Singapore", + "Australia" ] } ], @@ -340,14 +322,14 @@ The following example shows the request body for generating a token with formula "identifier": "35aa85fe-fbb4-4862-a335-f69679ebb6e0" } ] -}' +} ---- -If the request is successful, ThoughtSpot generates a token and sends the token details in the API response. +If the request is successful, ThoughtSpot generates a token and sends the token details in the API response. [NOTE] ==== -ABAC details are sent in a JWT that can be used as a bearer token for cookieless trusted authentication, REST API calls, or as a sign-in token to start a session. JWTs are compressed by default to handle large payloads. It is recommended to keep the compression enabled to ensure all JWT tokens can get properly interpreted by the application regardless of their size, and to obfuscate the values passed in the JWT payload. If you want to disable it, contact ThoughtSpot Support. +ThoughtSpot access tokens are JWTs that are compressed by default to handle large payloads. It is recommended to keep the compression enabled to ensure all tokens can get properly interpreted by the application regardless of their size, and to obfuscate the values passed in the payload. If you want to disable it, contact ThoughtSpot Support. ==== === Verify the variable assignment @@ -385,7 +367,13 @@ To retrieve user information and object properties, you can use the `POST /api/r You can also use the `POST /api/rest/2.0/template/variables/search` API call to xref:variables.adoc#_get_variables[get the list of variables] assigned to a specific user, Org, and Model. -=== Resetting a User or a Variable +== Resetting a User or a Variable + +[NOTE] +==== +Do not use the `/api/rest/2.0/users/{user_identifier}/update` endpoint, as it does not support updating variable values. +==== + [NOTE] ==== @@ -397,10 +385,6 @@ You can also use the `POST /api/rest/2.0/template/variables/search` API call to For session-based rules, create dedicated user accounts for your application users and apply persisted rules. This approach ensures that Liveboard schedule attachments enforce security rules and deliver only secured output to your end users. When combined with cookieless authentication, this configuration addresses all use cases that previously relied on session-based JWT. You can simplify user provisioning and programmatically manage user creation and deletion workflows using ThoughtSpot's REST APIs. ==== -=== Updating variable values for a user -To update variable values for a user, you can use the `/api/rest/2.0/template/variables/update-values` endpoint, or `/api/rest/2.0/auth/token/custom` endpoint when logging in the user. Do not use the `/api/rest/2.0/users/{user_identifier}/update` endpoint, as it does not support updating variable values. - - == Verify the entitlements To verify the entitlements: From b69c2ea891fe53cc93d76c7b73fd1fd9ed7292db Mon Sep 17 00:00:00 2001 From: Bryant Howell - ThoughtSpot <83678239+bryanthowell-ts@users.noreply.github.com> Date: Tue, 17 Feb 2026 14:17:33 -0600 Subject: [PATCH 53/86] Update abac_rls-variables.adoc Closer to finished, need to add the RESET and empty array mechanisms --- modules/ROOT/pages/abac_rls-variables.adoc | 63 ++++++++++++---------- 1 file changed, 36 insertions(+), 27 deletions(-) diff --git a/modules/ROOT/pages/abac_rls-variables.adoc b/modules/ROOT/pages/abac_rls-variables.adoc index 3b59fc125..7ca6c1d94 100644 --- a/modules/ROOT/pages/abac_rls-variables.adoc +++ b/modules/ROOT/pages/abac_rls-variables.adoc @@ -238,23 +238,45 @@ Due to this error, no data is returned, effectively denying all data access for === Persist options and session-based rules -Variable attributes must be *persisted* for them to apply to user sessions when using xref:trusted-authentication.adoc#cookie[cookie-based trusted authentication] or scheduled reports. To specify whether variable attributes and rules should persist for user sessions, you must define the `persist_option` parameter. +Variable attributes must be *persisted* for them to apply. -To append or replace the attributes, use the following options: +To append or replace the attribute values for a user, use one of the following `persist_options` in the token request: + +* `REPLACE` + +Replaces the full set of existing variable assignments with the new values from the token request. * `APPEND` + -Adds the attributes defined in the API request to the user properties. These properties will be applied to the current and future user sessions and scheduled reports until they are explicitly changed through a token update request. +Adds the attribute values defined in the API request to the existing attribute values for the user. -* `REPLACE` + -Replaces existing variable assignments with the new values. +If you don't want to append or replace any attribute values, do not pass any details about the variable in the token update request. + +[NOTE] +==== +* The ABAC implementation with RLS and formula variables does not support session-based rules. Do not use the legacy `persist_option` value of `NONE`. +* `"persist_option": "RESET"` attribute is also a legacy value and is not supported. +==== + +=== Resetting a User or a Variable +Passing an empty array along with a formula variable name in the token request *does not reset the attribute values* for that formula variable for that user. + +To reset the formula variable attributes of a user, use the `/api/rest/2.0/template/variables/update-values` API endpoint. [NOTE] ==== -* The ABAC implementation with RLS and formula variables does not support session-based rules. Therefore, ThoughtSpot does not recommend setting the `persist_option` attribute to `NONE`. -* If you don't want to append or replace any attributes, do not pass any variable values in the token update request. -* Resetting attributes using the`"persist_option": "RESET"` attribute in the token request is not supported. Passing an empty array does not reset the attributes. To reset the formula variable attributes of a user, use the `/api/rest/2.0/template/variables/update-values` API endpoint. +Do not use the `/api/rest/2.0/users/{user_identifier}/update` endpoint, as it does not support updating variable values. ==== +=== Session-based ABAC and one-time users + +The ability to set variable values only for the current session, previously achieved by setting `persist_option: NONE`, is not supported with RLS via ABAC. + +For session-based rules, create dedicated one-time user accounts for your application users and apply persisted rules. Unless specifically stated in your contract, there is no limit to the number of users that can be created and provisioned in ThoughtSpot. + +This approach ensures that Liveboard schedule attachments enforce security rules and deliver only secured output to your end users. When combined with cookieless authentication, this configuration addresses all use cases that previously relied on session-based JWT. + +You can simplify user provisioning and programmatically manage user creation and deletion workflows using ThoughtSpot's REST APIs. + + === Variable scope To restrict the scope of the variable attributes and rules to a specific Org context and object, define the `org_identifier` and `objects`. @@ -332,7 +354,10 @@ If the request is successful, ThoughtSpot generates a token and sends the token ThoughtSpot access tokens are JWTs that are compressed by default to handle large payloads. It is recommended to keep the compression enabled to ensure all tokens can get properly interpreted by the application regardless of their size, and to obfuscate the values passed in the payload. If you want to disable it, contact ThoughtSpot Support. ==== +//// +--- THIS IS NOT TRUE ANYMORE === Verify the variable assignment + To retrieve user information and object properties, you can use the `POST /api/rest/2.0/users/search` API call. To include variable details in the response, set the `include_variable_values` parameter to `true` in the API request body. This allows you to fetch variable values associated with the user in the specified context. [source,JSON] @@ -364,28 +389,12 @@ To retrieve user information and object properties, you can use the `POST /api/r } } ---- +//// -You can also use the `POST /api/rest/2.0/template/variables/search` API call to xref:variables.adoc#_get_variables[get the list of variables] assigned to a specific user, Org, and Model. - -== Resetting a User or a Variable - -[NOTE] -==== -Do not use the `/api/rest/2.0/users/{user_identifier}/update` endpoint, as it does not support updating variable values. -==== - -[NOTE] -==== - -* In the legacy JWT ABAC token requests, you could set the `persist_option` parameter to `NONE`, `APPEND`, `REPLACE`, and `RESET`. However, when you use the `variable_values` parameter in the JWT API token request to set up RLS values for a given user, only `APPEND` and `REPLACE` are supported. - -* To reset the formula variable attributes of a user, use the `/api/rest/2.0/template/variables/update-values` API endpoint. - -* The ability to set variable values only for the current session, previously achieved by setting `persist_option: NONE`, is not supported with RLS via ABAC. + -For session-based rules, create dedicated user accounts for your application users and apply persisted rules. This approach ensures that Liveboard schedule attachments enforce security rules and deliver only secured output to your end users. When combined with cookieless authentication, this configuration addresses all use cases that previously relied on session-based JWT. You can simplify user provisioning and programmatically manage user creation and deletion workflows using ThoughtSpot's REST APIs. -==== == Verify the entitlements +You can also use the `POST /api/rest/2.0/template/variables/search` API call to xref:variables.adoc#_get_variables[get the list of variables] assigned to a specific user, Org, and Model. + To verify the entitlements: . Log in to your app with a user account that does not have the *Can administer and bypass RLS* privilege, and initiate the user session with the ABAC token. From a71e104a7ea5bdb66c2d0174ce0910632b17e2cb Mon Sep 17 00:00:00 2001 From: Bryant Howell - ThoughtSpot <83678239+bryanthowell-ts@users.noreply.github.com> Date: Tue, 17 Feb 2026 14:40:02 -0600 Subject: [PATCH 54/86] Update abac_rls-variables.adoc Added requests and responses on teh variable update APIs --- modules/ROOT/pages/abac_rls-variables.adoc | 95 +++++++++++++++++++--- 1 file changed, 82 insertions(+), 13 deletions(-) diff --git a/modules/ROOT/pages/abac_rls-variables.adoc b/modules/ROOT/pages/abac_rls-variables.adoc index 7ca6c1d94..892f41276 100644 --- a/modules/ROOT/pages/abac_rls-variables.adoc +++ b/modules/ROOT/pages/abac_rls-variables.adoc @@ -259,7 +259,36 @@ If you don't want to append or replace any attribute values, do not pass any det === Resetting a User or a Variable Passing an empty array along with a formula variable name in the token request *does not reset the attribute values* for that formula variable for that user. -To reset the formula variable attributes of a user, use the `/api/rest/2.0/template/variables/update-values` API endpoint. +To change the formula variable attributes of a user for a particular, particularly to set their entitlements to an empty set, use the `/api/rest/2.0/template/variables/update-values` API endpoint. + +[WARNING] +==== +The `RESET` operation erases all variable value settings for all users for a variable, regardless of any `variable_value_scope` provided. Use with caution, it is a complete reset. +==== + +A formula variable exists across all Orgs in ThoughtSpot, but the values are recorded on a per Org and per Principal basis. To use the Update Variable Values REST API, you'll need to provide the `org_identifier` as well as the username as `principal_identifier` and set `principal_type` to `USER` as seen below: + +[,json] +---- +{ + "variable_assignment": [ + { + "variable_identifier": "country_var", + "variable_values": [], + "operation": "REPLACE" + } + ], + "variable_value_scope": [ + { + "org_identifier": "Prod", + "principal_type": "USER", + "principal_identifier": "jane.smith@company.com" + } + ] +} +---- +The above command would result in jane.smith@company.com being denied any access when `country_var` is used in an RLS rule. + [NOTE] ==== @@ -302,17 +331,7 @@ The API supports only the `LOGICAL_TABLE` object type. If the object ID is not specified in the API request, the variable values will be applied to all formulas and rules that use those variables, across all objects in the Org for that user. -==== Apply to Org context - -The `org_identifier` attribute in the token request specifies the Org context for the user session and entitlements. - -If the `org_identifier` parameter is not defined in the token request, the token is issued for the user's last logged-in Org. For new users, the token will be assigned to the default Org on their instance. - -To apply variable entitlements to a user session, you must ensure that the RLS rules with variables and relevant objects are available in the Org context specified in the token request. - -=== Example request body - -The following example shows the request body for generating a token with formula variable attributes: +The following example shows the request body for generating a token with formula variable attributes scoped to a particular Model object: [source,JSON] ---- @@ -347,13 +366,20 @@ The following example shows the request body for generating a token with formula } ---- -If the request is successful, ThoughtSpot generates a token and sends the token details in the API response. +==== Apply to Org context + +The `org_identifier` attribute in the token request specifies the Org context for the user session and entitlements. + +If the `org_identifier` parameter is not defined in the token request, the token is issued for the user's last logged-in Org. For new users, the token will be assigned to the default Org on their instance. + +To apply variable entitlements to a user session, you must ensure that the RLS rules with variables and relevant objects are available in the Org context specified in the token request. [NOTE] ==== ThoughtSpot access tokens are JWTs that are compressed by default to handle large payloads. It is recommended to keep the compression enabled to ensure all tokens can get properly interpreted by the application regardless of their size, and to obfuscate the values passed in the payload. If you want to disable it, contact ThoughtSpot Support. ==== + //// --- THIS IS NOT TRUE ANYMORE === Verify the variable assignment @@ -395,6 +421,49 @@ To retrieve user information and object properties, you can use the `POST /api/r == Verify the entitlements You can also use the `POST /api/rest/2.0/template/variables/search` API call to xref:variables.adoc#_get_variables[get the list of variables] assigned to a specific user, Org, and Model. +Set the `response_content` parameter to `METADATA_AND_VALUES` to see the values that have been set for each user per Org: + +[,json] +---- +{ + "record_offset": 0, + "record_size": -1, + "response_content": "METADATA_AND_VALUES" +} +---- + +Would result in the response: + +[,json] +---- +[ + { "id":"d3abc655-b706-4f91-90ea-cc26bc966d46", + "name":"country_var", + "variable_type":"FORMULA_VARIABLE", + "sensitive":false, + "values":[ + { + "value": null, + "value_list": ["CustomerC","CustomerD"], + "org_identifier": "Prod", + "principal_type": "USER", + "principal_identifier": "ron.smith@company.com", + "model_identifier": null, + "priority": null + },{ + "value": null, + "value_list": null, + "org_identifier": "Prod", + "principal_type": "USER", + "principal_identifier": "jane.smith@company.com", + "model_identifier": null, + "priority": null + } + ] + } +] +---- + To verify the entitlements: . Log in to your app with a user account that does not have the *Can administer and bypass RLS* privilege, and initiate the user session with the ABAC token. From 1f95a224c74f2464d27a1016d2d4e401f802b0db Mon Sep 17 00:00:00 2001 From: ShashiSubramanya Date: Fri, 27 Feb 2026 23:57:58 +0530 Subject: [PATCH 55/86] minor edits and typo fixes --- modules/ROOT/pages/abac_rls-variables.adoc | 81 +++++++++++----------- 1 file changed, 42 insertions(+), 39 deletions(-) diff --git a/modules/ROOT/pages/abac_rls-variables.adoc b/modules/ROOT/pages/abac_rls-variables.adoc index 892f41276..7d3cc95f5 100644 --- a/modules/ROOT/pages/abac_rls-variables.adoc +++ b/modules/ROOT/pages/abac_rls-variables.adoc @@ -2,15 +2,15 @@ :toc: true :toclevels: 2 -:page-title: ABAC via tokens +:page-title: ABAC via RLS with variables :page-pageid: abac-via-rls-variables :page-description: Attribute-based access control pattern with variable attributes referenced in Row-Level Security (RLS) rules on a given table. -Attribute-Based Access Control (ABAC) is an access control model in which security entitlements are assigned to a ThoughtSpot user directly as a set of attributes with lists of values, rather than relying on a JOINed entitlements table within the data model. +Attribute-Based Access Control (ABAC) is an access control model in which security entitlements are assigned to a ThoughtSpot user directly as a set of attributes with lists of values, rather than relying on a JOINed entitlements table within the data model. -ThoughtSpot allows assigning attribute values to a user at session creation time by adding the values to the user's access token request. +ThoughtSpot allows assigning attribute values to a user at session creation time by adding the values to the user's access token request. -RLS Rules are defined on the table objects, which binds dynamically generated `WHERE` clauses to any generated query. Within the RLS Rules, the attributes are referenced by their variable names using the `ts_var()` function to dynamically filter data and enable user-specific security policies. +RLS rules are defined on table objects, which bind dynamically generated `WHERE` clauses to any generated query. Within RLS rules, attributes are referenced by their variable names using the `ts_var()` function to dynamically filter data and enable user-specific security policies. == Overview @@ -34,12 +34,12 @@ The ABAC implementation with formula variables and RLS rules includes the follow * xref:abac_rls-variables.adoc#_create_formula_variables[Creating formula variables] + To generate tokens with variable attributes, the variables must be available in ThoughtSpot. To create variables, use the xref:variables.adoc#_create_a_variable[Variable REST API]. -* xref:abac_rls-variables.adoc#_add_rls_rules_with_variable_references[Adding RLS rules with formula variables] + +* xref:abac_rls-variables.adoc#_add_or_update_rls_rules_with_variable_references[Adding RLS rules with formula variables] + When defining an RLS rule with variables, use the `ts_var` function. These RLS rules will apply to the Models, Liveboards, and other objects derived from that Table. *A formula variable must be defined before it can be used in an RLS rule.* -* xref:abac_rls-variables.adoc#_define_values_and_scope_for_variables[Creating a token request with variable attributes] + -Attribute values are assigned to users by requesting a token using the `/api/rest/2.0/auth/token/custom` REST API endpoint. +* xref:abac_rls-variables.adoc#_create_an_abac_token_request_with_variable_attributes[Creating a token request with variable attributes] + +Attribute values are assigned to users by requesting a token using the `/api/rest/2.0/auth/token/custom` REST API endpoint. * xref:abac_rls-variables.adoc#_verify_the_entitlements[Verifying entitlements] + -To ensure data security rules are applied, check user entitlements and verify if they are translated accurately during query generation. Variables and their assigned values are visible to administrators using the `/api/rest/2.0/template/variables/search` endpoint with the `response_content` parameter set to `METADATA_AND_VALUES` +To ensure data security rules are applied, check user entitlements and verify that they are translated accurately during query generation. Variables and their assigned values are visible to administrators using the `/api/rest/2.0/template/variables/search` endpoint with the `response_content` parameter set to `METADATA_AND_VALUES`. === Indexing Several features within ThoughtSpot, such as autocompletion in Search on values within columns, use ThoughtSpot indexing. Due to the runtime nature of ABAC tokens, ThoughtSpot indexing will not be restricted by the values supplied in a token. This means the indexed columns may expose values in search suggestions or autocompletion that a user should not see, even if ABAC filters would block access to the underlying data. To prevent this, you can do one of the following: @@ -51,7 +51,7 @@ Several features within ThoughtSpot, such as autocompletion in Search on values == Create formula variables Formula variables must be defined in ThoughtSpot before they can be used in any RLS rule via the `ts_var()` formula. -To view the variables available on your instance, use the `POST /api/rest/2.0/template/variables/search` API call. +To view the variables available on your instance, use the `POST /api/rest/2.0/template/variables/search` API call. To create a new variable, use the `/api/rest/2.0/template/variables/create` API endpoint. @@ -80,30 +80,30 @@ Formula variables for `BOOLEAN` and `TIME` data types are not supported. } ---- -The variable update API (`/api/rest/2.0/template/variables/{identifier}/update`) allows for updating the variable name and other attrbutes of the variable definition, but not the values assigned to users or other principals. +The variable update API (`/api/rest/2.0/template/variables/{identifier}/update`) allows updating the variable name and other attributes of the variable definition, but not the values assigned to users or other principals. -Variable values are either set through for a user xref:abac_rls-variables.adoc#_create_an_abac_token_request_with_variable_attributes[generating a token] using the `/api/rest/2.0/auth/token/custom` API endpoint or via the Update Variable Values REST API. +Variable values are set either by xref:abac_rls-variables.adoc#_create_an_abac_token_request_with_variable_attributes[generating a token] using the `/api/rest/2.0/auth/token/custom` API endpoint or via the Update Variable Values REST API. == Add or update RLS rules with variable references RLS rules are defined on Table objects: . Navigate to the Data workspace and click the Table for which to define RLS rules. . Click *Row security* and then click *+ Add row security*. -. In the *Row Security Editor*, define the rules. To reference the formula variable in the rule, use the `ts_var(varName)` function, with no quotes around the formula variable name. For example, to limit a column called `region` to the values set in a formula varible called `region_var`, set the RLS rule to: `region = ts_var(region_var)`. +. In the *Row Security Editor*, define the rules. To reference the formula variable in the rule, use the `ts_var(varName)` function, with no quotes around the formula variable name. For example, to limit a column called `region` to the values set in a formula variable called `region_var`, set the RLS rule to: `region = ts_var(region_var)`. [NOTE] ==== Variable values are set through the token request. The RLS rule specifies how the values will be used in the generated RLS WHERE clauses in the SQL. ==== -=== RLS Rule Examples +=== RLS rule examples RLS rules must always evaluate logically to SQL boolean `TRUE` or `FALSE`. -If a user has no variable values for a given formula variable, this will result in `FALSE`. +If a user has no variable values for a given formula variable, this results in `FALSE`. -There is a special wildcard value `['TS_WILDCARD_ALL']` that a formula variable can be set to represent 'Allow All'. +There is a special wildcard value `['TS_WILDCARD_ALL']` that a formula variable can be set to represent "Allow all". -In this example, `customer` represents the column `customer` in the table and `customer_var` represents variable. If the value of the `customer_var` variable is set to `TS_WILDCARD_ALL`, the user can access all customers in the column. +In this example, `customer` represents the `customer` column in the table, and `customer_var` represents a variable. If the value of `customer_var` is set to `TS_WILDCARD_ALL`, the user can access all customers in the column. ---- customer = ts_var(customer_var) @@ -146,7 +146,7 @@ In this example, users can access data if they are in the "data developers" grou ==== Variables with numeric and Date data types -The following rule enforces a numeric threshold and restricts access to rows where the Revenue value is less than or equal to the value provided by the `revenue_cap_var` variable. +The following rule enforces a numeric threshold and restricts access to rows where the Revenue value is less than or equal to the value provided by the `revenue_cap_var` variable. ---- Revenue <= to_double(ts_var(revenue_cap_var)) @@ -160,11 +160,11 @@ The following rule restricts access to rows where the `date_column` is within th == Create an ABAC token request with variable attributes -To set or update variable values for a user, use the POST `/api/rest/2.0/auth/token/custom` endpoint when logging in the user. +To set or update variable values for a user, use the `POST /api/rest/2.0/auth/token/custom` endpoint when logging in the user. -You can also use the `/api/rest/2.0/template/variables/update-values` endpoint for bulk operations or targeted resets. +You can also use the `/api/rest/2.0/template/variables/update-values` endpoint for bulk operations or targeted resets. -The variable attributes defined in the token request take effect only if they are referenced in an RLS rule. If the variables are not used in any formula or RLS rule, they will have no impact on data access. Before generating the request with variable attributes, ensure that the xref:abac_rls-variables.adoc#_add_rls_rules_with_formula_variables_to_tables[variables are added to the RLS rules] for the Table. +The variable attributes defined in the token request take effect only if they are referenced in an RLS rule. If the variables are not used in any formula or RLS rule, they have no impact on data access. Before generating the request with variable attributes, ensure that the xref:abac_rls-variables.adoc#_add_or_update_rls_rules_with_variable_references[variables are added to the RLS rules] for the table. In the token request, include the following properties along with the `username`, xref:trusted-auth-secret-key.adoc[`secret_key`]: @@ -180,7 +180,7 @@ The `variable_values` array requires the following parameters: * `name` + __String__. Name of the formula variable. The formula variable referenced on the token request must be available in ThoughtSpot and included in the RLS rule. * `values` + -__Array of strings or numeric values__. When assigning values, ensure the data format of values matches the data type set of that variable. If you are adding a variable to filter by country with the `VARCHAR` data type, specify the string values as shown in this example: +__Array of strings or numeric values__. When assigning values, ensure the data format of the values matches the data type set for that variable. If you are adding a variable to filter by country with the `VARCHAR` data type, specify string values as shown in this example: [source,JSON] ---- @@ -210,7 +210,7 @@ In this example, the user is allowed all access for one variable, while for the { "name": "product_var", "values": ["TS_WILDCARD_ALL"] - } + }, { "name": "country_var", "values": [ @@ -225,10 +225,13 @@ In this example, the user is allowed all access for one variable, while for the If `TS_WILDCARD_ALL` is set for variable attributes, ensure that the RLS rules are defined clearly on the Table to avoid unintended data exposure. ==== Deny all by default -For every variable included in the token request, you can assign one or more values. All variables referenced in RLS rules are required. If a variable is not assigned any value, query generation will fail with the following error. +For every variable included in the token request, you can assign one or more values. All variables referenced in RLS rules are required. If a variable is not assigned any value, query generation fails with the following error: -`Error in loading data -No values are assigned to some or all Formula Variables` +[source,text] +---- +Error in loading data +No values are assigned to some or all Formula Variables +---- [.bordered] [.widthAuto] @@ -240,13 +243,13 @@ Due to this error, no data is returned, effectively denying all data access for Variable attributes must be *persisted* for them to apply. -To append or replace the attribute values for a user, use one of the following `persist_options` in the token request: +To append or replace attribute values for a user, use one of the following `persist_option` values in the token request: * `REPLACE` + Replaces the full set of existing variable assignments with the new values from the token request. -* `APPEND` + -Adds the attribute values defined in the API request to the existing attribute values for the user. +* `APPEND` + +Adds the attribute values defined in the API request to the existing attribute values for the user. If you don't want to append or replace any attribute values, do not pass any details about the variable in the token update request. @@ -256,14 +259,14 @@ If you don't want to append or replace any attribute values, do not pass any det * `"persist_option": "RESET"` attribute is also a legacy value and is not supported. ==== -=== Resetting a User or a Variable -Passing an empty array along with a formula variable name in the token request *does not reset the attribute values* for that formula variable for that user. +=== Resetting a user or a variable +Passing an empty array along with a formula variable name in the token request *does not reset the attribute values* for that formula variable for that user. -To change the formula variable attributes of a user for a particular, particularly to set their entitlements to an empty set, use the `/api/rest/2.0/template/variables/update-values` API endpoint. +To change formula variable attributes of a user, especially to set entitlements to an empty set, use the `/api/rest/2.0/template/variables/update-values` API endpoint. [WARNING] ==== -The `RESET` operation erases all variable value settings for all users for a variable, regardless of any `variable_value_scope` provided. Use with caution, it is a complete reset. +The `RESET` operation erases all variable value settings for all users for a variable, regardless of any `variable_value_scope` provided. Use with caution; it is a complete reset. ==== A formula variable exists across all Orgs in ThoughtSpot, but the values are recorded on a per Org and per Principal basis. To use the Update Variable Values REST API, you'll need to provide the `org_identifier` as well as the username as `principal_identifier` and set `principal_type` to `USER` as seen below: @@ -287,7 +290,7 @@ A formula variable exists across all Orgs in ThoughtSpot, but the values are rec ] } ---- -The above command would result in jane.smith@company.com being denied any access when `country_var` is used in an RLS rule. +The above command results in `jane.smith@company.com` being denied any access when `country_var` is used in an RLS rule. [NOTE] @@ -297,17 +300,17 @@ Do not use the `/api/rest/2.0/users/{user_identifier}/update` endpoint, as it do === Session-based ABAC and one-time users -The ability to set variable values only for the current session, previously achieved by setting `persist_option: NONE`, is not supported with RLS via ABAC. +The ability to set variable values only for the current session, previously achieved by setting `persist_option: NONE`, is not supported with RLS via ABAC. -For session-based rules, create dedicated one-time user accounts for your application users and apply persisted rules. Unless specifically stated in your contract, there is no limit to the number of users that can be created and provisioned in ThoughtSpot. +For session-based rules, create dedicated one-time user accounts for your application users and apply persisted rules. Unless specifically stated in your contract, there is no limit to the number of users that can be created and provisioned in ThoughtSpot. -This approach ensures that Liveboard schedule attachments enforce security rules and deliver only secured output to your end users. When combined with cookieless authentication, this configuration addresses all use cases that previously relied on session-based JWT. +This approach ensures that Liveboard schedule attachments enforce security rules and deliver only secured output to your end users. When combined with cookieless authentication, this configuration addresses all use cases that previously relied on session-based JWT. You can simplify user provisioning and programmatically manage user creation and deletion workflows using ThoughtSpot's REST APIs. === Variable scope -To restrict the scope of the variable attributes and rules to a specific Org context and object, define the `org_identifier` and `objects`. +To restrict the scope of variable attributes and rules to a specific Org context and object, define `org_identifier` and `objects`. ==== Apply to specific objects To apply variable entitlements to a specific object, specify the object IDs in the `objects` array as shown in this example: @@ -432,7 +435,7 @@ Set the `response_content` parameter to `METADATA_AND_VALUES` to see the values } ---- -Would result in the response: +This results in the following response: [,json] ---- @@ -476,4 +479,4 @@ To verify the entitlements: == Additional resources * For information about variables and variable APIs, see link:https://docs.thoughtspot.com/cloud/latest/rls-variables-reference[Variables] and xref:variables.adoc[Variable APIs]. -* For information about RLS rules,see xref:rls-rules.adoc[RLS Rules] and link:https://docs.thoughtspot.com/cloud/latest/security-rls[ThoughtSpot Product Documentation, window=_blank]. +* For information about RLS rules, see xref:rls-rules.adoc[RLS rules] and link:https://docs.thoughtspot.com/cloud/latest/security-rls[ThoughtSpot product documentation, window=_blank]. From facaa12d1789f7e523040d480d3a2d38a3422eda Mon Sep 17 00:00:00 2001 From: Shivam Kumar Date: Mon, 2 Mar 2026 13:29:38 +0530 Subject: [PATCH 56/86] SCAL-146862-svg added svg for developer docs --- static/svg/rd-icon-chart-column.svg | 7 ------- static/svgs/rd-icon-chart-column.svg | 7 +++++++ static/svgs/rd-icon-chart-type-settings.svg | 6 ++++++ 3 files changed, 13 insertions(+), 7 deletions(-) delete mode 100644 static/svg/rd-icon-chart-column.svg create mode 100644 static/svgs/rd-icon-chart-column.svg create mode 100644 static/svgs/rd-icon-chart-type-settings.svg diff --git a/static/svg/rd-icon-chart-column.svg b/static/svg/rd-icon-chart-column.svg deleted file mode 100644 index e7ef93f96..000000000 --- a/static/svg/rd-icon-chart-column.svg +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/static/svgs/rd-icon-chart-column.svg b/static/svgs/rd-icon-chart-column.svg new file mode 100644 index 000000000..3258520ae --- /dev/null +++ b/static/svgs/rd-icon-chart-column.svg @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/static/svgs/rd-icon-chart-type-settings.svg b/static/svgs/rd-icon-chart-type-settings.svg new file mode 100644 index 000000000..d04c6d8e0 --- /dev/null +++ b/static/svgs/rd-icon-chart-type-settings.svg @@ -0,0 +1,6 @@ + + + + + + From 0d14deadeb24979ba4437219c4d94ba15507760a Mon Sep 17 00:00:00 2001 From: Rani Gangwar Date: Tue, 3 Mar 2026 11:59:51 +0530 Subject: [PATCH 57/86] added preview link for 26.3 --- src/configs/doc-configs.js | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/configs/doc-configs.js b/src/configs/doc-configs.js index beb229d2e..17c928b72 100644 --- a/src/configs/doc-configs.js +++ b/src/configs/doc-configs.js @@ -19,11 +19,11 @@ module.exports = { 'is now available. Read about the new features and enhancements.', // Swap this between: // - Pre-GA: release-specific URL (full http(s) URL), ex: - // 'https://developers.thoughtspot.com/docs/26.2.0.cl?pageid=whats-new' + // 'https://developers.thoughtspot.com/docs/26.3.0.cl?pageid=whats-new' // - GA: ' /docs/whats-new' //linkHref: '/docs/whats-new', - linkHref: '/docs/26.2.0.cl?pageid=whats-new', - linkText: 'Version 26.2.0.cl', + linkHref: '/docs/26.3.0.cl?pageid=whats-new', + linkText: 'Version 26.3.0.cl', openInNewTab: true, }, TYPE_DOC_PREFIX: 'typedoc', @@ -71,6 +71,12 @@ module.exports = { subLabel: 'Cloud', iframeUrl: 'https://developer-docs-10-13-0-cl.vercel.app/docs/', }, + { + label: '26.3.0.cl', + link: ' ', + subLabel: 'Cloud (Coming soon)', + iframeUrl: 'https://developer-docs-26-3-0-cl.vercel.app/docs/', + }, { label: '10.10.0.sw', link: '10.10.0.sw', From b86dcf4cff060afa3802094805774be47c9637fd Mon Sep 17 00:00:00 2001 From: Rani Gangwar Date: Tue, 3 Mar 2026 12:16:40 +0530 Subject: [PATCH 58/86] deleted space in the link for 26.3 --- src/configs/doc-configs.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/configs/doc-configs.js b/src/configs/doc-configs.js index 17c928b72..d0d35acf6 100644 --- a/src/configs/doc-configs.js +++ b/src/configs/doc-configs.js @@ -73,7 +73,7 @@ module.exports = { }, { label: '26.3.0.cl', - link: ' ', + link: '26.3.0.cl', subLabel: 'Cloud (Coming soon)', iframeUrl: 'https://developer-docs-26-3-0-cl.vercel.app/docs/', }, From 6ae471c897470b78e2da8e08f3eacc00913a1094 Mon Sep 17 00:00:00 2001 From: ShashiSubramanya Date: Wed, 4 Mar 2026 08:16:22 +0530 Subject: [PATCH 59/86] connection api typo fix --- modules/ROOT/pages/rest-api-v2-reference.adoc | 2 +- modules/ROOT/pages/rest-apiv2-changelog.adoc | 9 --------- 2 files changed, 1 insertion(+), 10 deletions(-) diff --git a/modules/ROOT/pages/rest-api-v2-reference.adoc b/modules/ROOT/pages/rest-api-v2-reference.adoc index 1bb351581..4db2d74f5 100644 --- a/modules/ROOT/pages/rest-api-v2-reference.adoc +++ b/modules/ROOT/pages/rest-api-v2-reference.adoc @@ -159,7 +159,7 @@ a|`POST /api/rest/2.0/connection/update` [tag redBackground]#DEPRECATED# + Updates a connection object. -__Note: This API endpoint is deprecated in ThoughtSpot 10.4.0.cl and later versions. To update a connection, use `/api/rest/2.0/connections/update/{connection_identifier}`. __ +__Note: This API endpoint is deprecated in ThoughtSpot 10.4.0.cl and later versions. To update a connection, use `POST /api/rest/2.0/connections/{connection_identifier}/update`. __ |ThoughtSpot Cloud: __9.2.0.cl or later__ + ThoughtSpot Software: __9.5.0.sw or later__ a| diff --git a/modules/ROOT/pages/rest-apiv2-changelog.adoc b/modules/ROOT/pages/rest-apiv2-changelog.adoc index 0cce110c0..5b817a8e7 100644 --- a/modules/ROOT/pages/rest-apiv2-changelog.adoc +++ b/modules/ROOT/pages/rest-apiv2-changelog.adoc @@ -615,15 +615,6 @@ You can now assign the `CAN_MANAGE_VERSION_CONTROL` role using any of the follow The `CAN_MANAGE_VERSION_CONTROL` Role privilege is required for Git integration with ThoughtSpot. -//// -=== Connections - -The following API endpoints available for data connections: - -* `POST /api/rest/2.0/connections/update/{connection_identifier}` -* `POST /api/rest/2.0/connections/delete/{connection_identifier}` -//// - == Version 9.12.0.cl, May 2024 ==== New features From 52f47a216b45913cce213b6b7b8dd6a0ac37cee2 Mon Sep 17 00:00:00 2001 From: Shivam Kumar Date: Wed, 4 Mar 2026 13:52:37 +0530 Subject: [PATCH 60/86] SCAL-299530 fixed bug of modal overlay with table --- src/components/DevDocTemplate/index.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/src/components/DevDocTemplate/index.tsx b/src/components/DevDocTemplate/index.tsx index 03d1b953e..c432d67b2 100644 --- a/src/components/DevDocTemplate/index.tsx +++ b/src/components/DevDocTemplate/index.tsx @@ -337,6 +337,7 @@ const DevDocTemplate: FC = (props) => { const customStyles = { overlay: { background: 'rgba(50,57,70, 0.9)', + zIndex: 10, }, content: { top: '50px', From 9e8d6aed0fd6d937d6fd6afd3a44a7e6d8408057 Mon Sep 17 00:00:00 2001 From: Rani Gangwar Date: Thu, 5 Mar 2026 10:20:22 +0530 Subject: [PATCH 61/86] edited the lb report APi info --- modules/ROOT/pages/data-report-v2-api.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/ROOT/pages/data-report-v2-api.adoc b/modules/ROOT/pages/data-report-v2-api.adoc index 3338d9e7c..87c24235a 100644 --- a/modules/ROOT/pages/data-report-v2-api.adoc +++ b/modules/ROOT/pages/data-report-v2-api.adoc @@ -214,7 +214,7 @@ curl -X POST \ ThoughtSpot provides the following REST API v2 endpoints to fetch data: * xref:_liveboard_report_api[`POST /api/rest/2.0/report/liveboard`] + -Download a Liveboard and its visualizations in PDF or PNG file format. +Download a Liveboard and its visualizations in PDF, PNG, CSV, or XLSX file format. * xref:#_answer_report_api[`POST /api/rest/2.0/report/answer`] + Download data from a saved Answer in PDF, PNG, CSV, or XLSX file format. From e8a9eb574f8b81c153ccf8cb7fcf5f2fbc73ea1d Mon Sep 17 00:00:00 2001 From: ShashiSubramanya Date: Thu, 5 Mar 2026 18:22:45 +0530 Subject: [PATCH 62/86] 0edits --- modules/ROOT/pages/customize-icons.adoc | 114 +++++++++++++++++++++++- 1 file changed, 110 insertions(+), 4 deletions(-) diff --git a/modules/ROOT/pages/customize-icons.adoc b/modules/ROOT/pages/customize-icons.adoc index f0d6b7ba5..41daf73eb 100644 --- a/modules/ROOT/pages/customize-icons.adoc +++ b/modules/ROOT/pages/customize-icons.adoc @@ -103,10 +103,116 @@ Th following code snippet shows an example of the SVG code for the icon sprite t ---- -+ -The following example overrides the chart icon (`rd-icon-chart`) on the *Answers* page. -+ -[source,HTML] +The following code snippet uses the `alternate-spotter-icon.svg` containing the overrides for the Spotter icon (`rd-icon-spotter`): + +[source,javascript] +---- + init({ + //... + customizations: { + // Use the SVG sprite file containing icon overrides for the Spotter icon, "rd-icon-spotter". + iconSpriteUrl: "https://cdn.jsdelivr.net/gh/thoughtspot/custom-css-demo/alternate-spotter-icon.svg" // Replace with the URL where your SVG sprite file is hosted + } + }); +---- + +The following figures show the icons before and after the override. + +[width="100%" cols="6,6"] +|====== +a|**Before** + +[.bordered] +image::./images/spotter-icon.png[Spotter embed] +a|**After** + +[.bordered] +image::./images/spotter-icon-customization.png[Custom Spotter icon] +|====== + +=== Column chart icon +The column chart icon appears in the chart/table toggle and in the chart selection panel on Answer pages. The icon ID is `rd-icon-chart-column`. + +The following example shows the SVG for the icon override: + +[source,html] +---- + + + + + + + +---- + +The following example uses the `rd-icon-chart-column.svg` SVG sprite file containing the overrides for the column chart icon: + +[source,javascript] +---- + init({ + //... + customizations: { + // Use the SVG sprite file containing icon overrides for the column chart icon, "rd-icon-chart-column". + iconSpriteUrl: "https://cdn.jsdelivr.net/gh/thoughtspot/developer-docs/static/svgs/rd-icon-chart-column.svg" // Replace with the URL where your SVG sprite file is hosted + } + }); +---- + +The following figures show the icons before and after the override. + +[width="100%" cols="6,6"] +|====== +a|**Before** + +[.bordered] +image::./images/answer-chart-toggle.png[Column chart icon] +a|**After** + +[.bordered] +image::./images/answer-chart-toggle-custom.png[Custom column chart icon] +|====== + +=== Chart settings icon +The chart type icon appears in the settings panel of the Answer edit layout if the xref:https://docs.thoughtspot.com/cloud/latest/charts-new[new chart settings UI experience, window=_blank] is enabled on your instance. The icon ID is `rd-icon-chart-type-settings`. + +The following example shows SVG for the icon override: + +[source,html] +---- + + + + + + + +---- + +The following example uses the `rd-icon-chart-type-settings.svg` SVG sprite file containing the overrides for the chart type icon: + +[source,javascript] +---- + init({ + //... + customizations: { + // Chart icon in the chart settings panel (rd-icon-chart-type-settings) + iconSpriteUrl: "https://cdn.jsdelivr.net/gh///rd-icon-chart-type-settings.svg" // Replace with the URL where your SVG sprite file is hosted + } + }); +---- + +The following figures show the icons before and after the override. + +[width="100%" cols="6,6"] +|====== +a|**Before** + +[.bordered] +image::./images/chart-selection-icon.png[Chart type icon] +a|**After** + +[.bordered] +image::./images/chart-selection-icon-custom.png[Custom chart type icon] +|====== + +If the xref:https://docs.thoughtspot.com/cloud/latest/charts-new[new chart settings UI experience, window=_blank] is not enabled on your instance, use the `rd-icon-chart` ID in your SVG file. + +[source,html] ---- From 214acc08d52019808f89512fdb82af07b2efca0d Mon Sep 17 00:00:00 2001 From: ShashiSubramanya Date: Thu, 5 Mar 2026 17:54:11 +0530 Subject: [PATCH 63/86] 0SCAL-215583 updates --- modules/ROOT/pages/customize-icons.adoc | 136 +++++++----------- .../images/answer-chart-toggle-custom.png | Bin 0 -> 188225 bytes .../doc-images/images/answer-chart-toggle.png | Bin 0 -> 183776 bytes .../images/chart-selection-icon-custom.png | Bin 0 -> 170683 bytes .../images/chart-selection-icon.png | Bin 0 -> 158851 bytes 5 files changed, 55 insertions(+), 81 deletions(-) create mode 100644 static/doc-images/images/answer-chart-toggle-custom.png create mode 100644 static/doc-images/images/answer-chart-toggle.png create mode 100644 static/doc-images/images/chart-selection-icon-custom.png create mode 100644 static/doc-images/images/chart-selection-icon.png diff --git a/modules/ROOT/pages/customize-icons.adoc b/modules/ROOT/pages/customize-icons.adoc index 41daf73eb..eb33e1dd7 100644 --- a/modules/ROOT/pages/customize-icons.adoc +++ b/modules/ROOT/pages/customize-icons.adoc @@ -6,7 +6,7 @@ :page-pageid: customize-icons :page-description: Customize icons displayed on the ThoughtSpot application interface -You can customize the icons on a ThoughtSpot page using an icon sprite SVG file and load it from a Web server or CDN. +You can customize icons in the ThoughtSpot interface by using an SVG sprite file loaded from a web server or CDN. == Before you begin @@ -15,20 +15,18 @@ You can customize the icons on a ThoughtSpot page using an icon sprite SVG file . On your ThoughtSpot instance, right-click on the icon and select *Inspect*. . Inspect the `` element. -. Inside should be a `` element, like: `` +. The `` element should include a `` element, for example: `` . Copy the icon ID, which is the portion after the `#` within the `xlink:href=` property. + [.widthAuto] [.bordered] image::./images/locate-icon-customization.png[Locate icon ID] -The most common icon ID to override is `rd-icon-spotter`, the Spotter image, but any SVG icon can be identified and an override supplied in the file. +=== Update allowlists on the Security Settings page -=== Update allowlists in Security Settings page +For ease of testing, the domain `https://cdn.jsdelivr.net/` is already allowlisted on the ThoughtSpot link:https://try-everywhere.thoughtspot.cloud/v2/#/everywhere/playground/search[public Playground] and trial sites. -For ease of testing, the domain `https://cdn.jsdelivr.net/` is already whitelisted on the ThoughtSpot link:https://try-everywhere.thoughtspot.cloud/v2/#/everywhere/playground/search[public Playground] and trial sites. - -If you want to enable the use of any existing examples on your own instance, or any file from GitHub, add the `https://cdn.jsdelivr.net/` domain to the SVG hosting domain to the following allowlists on the *Develop* > *Security Settings* page: +If you want to use the examples on your own instance, add the `https://cdn.jsdelivr.net/` domain to the following allowlists on the *Develop* > *Security Settings* page: ** xref:security-settings.adoc#csp-connect-src[CSP connect-src domains allowlist] ** xref:security-settings.adoc#csp-trusted-domain[CSP img-src domains allowlist] @@ -37,7 +35,7 @@ You can add any other domains where you host the SVG override files to the same === Test an override file -The Developer Embed Playground allows you to xref:customize-icons.adoc#tryItOut[try out any override] from an allowlisted origin. +The Developer Embed Playground lets you xref:customize-icons.adoc#tryItOut[try any override] from an allowlisted origin. == Create an icon override The basic structure of an icon override file is shown in the following snippet: @@ -58,9 +56,9 @@ The `` portion within the `` tags is the definition of the actua You are defining a small icon, so it should fit within a square boundary and have a single solid color. -There are many simple SVG icon examples available online, for example, the link:https://www.svgviewer.dev/[SVG viewer site, window=_blank]. +There are many simple SVG icon examples available online, for example, link:https://www.svgviewer.dev/[SVG Viewer^]. -You only need to copy the `` tags from your example SVG within the ` ` tags. +You only need to copy the `` tags from your source SVG into the `` tags. You can declare multiple `` tags within one SVG file if you are substituting a number of icons. @@ -68,9 +66,9 @@ You can declare multiple `` tags within one SVG file if you are substitu The link:https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/viewBox[viewBox property^] is in the order `min-x`, `min-y`, `width`, and `height`. -The first two properties should be `0 0` while the second should match any `width` and `height` properties from the source of your SVG paths. +The first two values should be `0 0`, and the last two should match the source SVG `width` and `height` values for your paths. -The `width` and `height` properties may be added directly in the `` tag, or as part of `viewBox` property in that tag, or perhaps in another tag above ``. Use the values from your source SVG in the `viewBox` property of the `` element within your override file. +The `width` and `height` values can appear directly on the `` element, in its `viewBox`, or in another element above ``. Use those source values in the `` element's `viewBox` in your override file. === fill property You can add the `fill` property to the `` tag to define a different fill color than the default: @@ -80,18 +78,27 @@ You can add the `fill` property to the `` tag to define a different fill ---- -== Override an icon +== Apply overrides To override an icon: . Ensure that you have xref:#identifyIconId[the ID of the icon] you want to replace. . To replace the icon with an SVG, open the icon in a web browser, click **Inspect**, and then copy the SVG code. . Create an icon sprite file with the SVG code. -. In the `` element, specify ID of the icon you want to replace. For example, `rd-icon-spotter`. -. Modify the xref:#_viewbox_property[viewBox] and xref:_fill_property[fill] properties as required. -+ -Th following code snippet shows an example of the SVG code for the icon sprite that overrides the Spotter icon: -+ -[source,HTML] +. In the `` element, specify the ID of the icon you want to replace. For example, `rd-icon-spotter`. +. Modify the xref:#_viewbox_property[viewBox] and xref:#_fill_property[fill] properties as required. +. Save the icon sprite file on a web server. +. To override icons on the ThoughtSpot page, specify the icon sprite URL in the `iconSpriteUrl` property of the `customizations` object in the Visual Embed SDK. +. Load the application page and check the icon. + + +== Icon override examples + +The most common icon ID to override is `rd-icon-spotter` (the Spotter image), but you can identify any SVG icon and provide an override in the file. + +=== Spotter icon +The following example shows the SVG elements of the icon sprite used to override the Spotter icon (`rd-icon-spotter`): + +[source,html] ---- @@ -170,7 +177,7 @@ image::./images/answer-chart-toggle-custom.png[Custom column chart icon] |====== === Chart settings icon -The chart type icon appears in the settings panel of the Answer edit layout if the xref:https://docs.thoughtspot.com/cloud/latest/charts-new[new chart settings UI experience, window=_blank] is enabled on your instance. The icon ID is `rd-icon-chart-type-settings`. +The chart type icon appears in the settings panel in the Answer edit layout. The icon ID is `rd-icon-chart-type-settings`. The following example shows SVG for the icon override: @@ -210,7 +217,7 @@ a|**After** + image::./images/chart-selection-icon-custom.png[Custom chart type icon] |====== -If the xref:https://docs.thoughtspot.com/cloud/latest/charts-new[new chart settings UI experience, window=_blank] is not enabled on your instance, use the `rd-icon-chart` ID in your SVG file. +If the new chart settings experience is not enabled on your instance, use the `rd-icon-chart` ID in your SVG file. [source,html] ---- @@ -224,66 +231,21 @@ If the xref:https://docs.thoughtspot.com/cloud/latest/charts-new[new chart setti ---- -. To override multiple icons at once, you can use the following format: -+ -[source,HTML] ----- - - - - - - ----- - -+ -. Save the icon sprite file on a Web server. -. To override the icons on the ThoughtSpot page, specify the icon sprite URL in the `iconSpriteURL` property of the `customizations` object in Visual Embed SDK. -+ -For example, the following code snippets use the link:https://github.com/thoughtspot/custom-css-demo/blob/main/icon-override1.svg[icon-override1.svg] and link:https://github.com/thoughtspot/custom-css-demo/blob/main/alternate-spotter-icon.svg[alternate-spotter-icon.svg] files in the link:https://github.com/thoughtspot/custom-css-demo[Custom CSS demo GitHub Repo, window=_blank] to override the chart (`rd-icon-chart`) and Spotter (`rd-icon-spotter`) icons respectively: +The following example uses the `icon-override1.svg` SVG sprite file containing the overrides for the chart icon: -+ -[source,JavaScript] +[source,javascript] ---- init({ //... customizations: { - // rd-icon-chart - iconSpriteUrl: "https://cdn.jsdelivr.net/gh/thoughtspot/custom-css-demo/icon-override1.svg" + // Chart icon in the classic layout of the Answer edit panel (rd-icon-chart) + iconSpriteUrl: "https://cdn.jsdelivr.net/gh/thoughtspot/custom-css-demo/icon-override1.svg" // Replace with the URL where your SVG sprite file is hosted } }); ---- -+ -[source,JavaScript] ----- - init({ - //... - customizations: { - // rd-icon-spotter - iconSpriteUrl: "https://cdn.jsdelivr.net/gh/thoughtspot/custom-css-demo/alternate-spotter-icon.svg" - } - }); ----- -. Load the application page and check the icon. -+ The following figures show the icons before and after the override. -+ -Spotter icon on the Spotter interface:: -+ -[width="100%" cols="6,6"] -|====== -a|**Before** + -[.bordered] -image::./images/spotter-icon.png[Conversation embed] -a|**After** + -[.bordered] -image::./images/spotter-icon-customization.png[Spotter icon customization] -|====== -Chart icon on the Answer page:: -The chart icon is available on the Answer page, which can be viewed in full app, Search data, or Natural Language Search embed. -+ [width="100%" cols="6,6"] |====== a|**Before** + @@ -294,22 +256,34 @@ a|**After** + image::./images/post-icon-override.png[After icon override] |====== +=== Multiple icon overrides using an SVG sprite file + +To override multiple icons at once, you can use the following format: + +[source,html] +---- + + + + + + + + + + + +---- + [#tryItOut] == Try it out in the Playground -The +++Visual Embed SDK Playground +++ allows you to try out the icon customization framework. +The +++Visual Embed SDK Playground+++ allows you to try out the icon customization framework. To view the code for customization: . In the Playground, select the embed type. For example, select *Search* and specify the data source. . Select the *Apply custom styles* checkbox in the Playground. + -The `customizations` code for CSS modifications appears in the code panel. -. To override the chart icon on the Answer page with `icon-override1.svg`, replace the `customization` section with the following code and click *Run*. -+ -[source,JavaScript] ----- - customizations: { - iconSpriteUrl: "https://cdn.jsdelivr.net/gh/thoughtspot/custom-css-demo/icon-override1.svg" - } ----- +The `customizations` code appears in the code panel. +. To override the chart icon on the Answer page, add the icon sprite URL in the `customizations` section and click *Run*. . To view the result, execute search tokens to create an Answer. -. Check the chart icon on the Answer page. +. Check the chart icon in the Answer layout. diff --git a/static/doc-images/images/answer-chart-toggle-custom.png b/static/doc-images/images/answer-chart-toggle-custom.png new file mode 100644 index 0000000000000000000000000000000000000000..b293cd4463bbbc2b9c75ef1ed8db867075470e2a GIT binary patch literal 188225 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 ZXt=)V2%_g(!*&3l8`=g}372gH{||Hu!r1@- literal 0 HcmV?d00001 diff --git a/static/doc-images/images/answer-chart-toggle.png b/static/doc-images/images/answer-chart-toggle.png new file mode 100644 index 0000000000000000000000000000000000000000..1316574a77a982fc83e247d856f3ec0318175117 GIT binary patch literal 183776 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 W(V#PJ-KRVTAnG;Wv_)(|khW^? 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 Pd7b*s?N4P+7i0epFjJ09 literal 0 HcmV?d00001 diff --git a/static/doc-images/images/chart-selection-icon.png b/static/doc-images/images/chart-selection-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..f8dfa07e935d57b832468ed715176e1365329721 GIT binary patch literal 158851 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�t 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 literal 0 HcmV?d00001 From fc583b50029e3286e8e31a84b01a364c89757069 Mon Sep 17 00:00:00 2001 From: ShashiSubramanya Date: Thu, 5 Mar 2026 18:22:45 +0530 Subject: [PATCH 64/86] edits --- modules/ROOT/pages/customize-icons.adoc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/ROOT/pages/customize-icons.adoc b/modules/ROOT/pages/customize-icons.adoc index eb33e1dd7..883c7363b 100644 --- a/modules/ROOT/pages/customize-icons.adoc +++ b/modules/ROOT/pages/customize-icons.adoc @@ -177,7 +177,7 @@ image::./images/answer-chart-toggle-custom.png[Custom column chart icon] |====== === Chart settings icon -The chart type icon appears in the settings panel in the Answer edit layout. The icon ID is `rd-icon-chart-type-settings`. +The chart type icon appears in the settings panel of the Answer edit layout if the xref:https://docs.thoughtspot.com/cloud/latest/charts-new[new chart settings UI experience, window=_blank] is enabled on your instance. The icon ID is `rd-icon-chart-type-settings`. The following example shows SVG for the icon override: @@ -217,7 +217,7 @@ a|**After** + image::./images/chart-selection-icon-custom.png[Custom chart type icon] |====== -If the new chart settings experience is not enabled on your instance, use the `rd-icon-chart` ID in your SVG file. +If the xref:https://docs.thoughtspot.com/cloud/latest/charts-new[new chart settings UI experience, window=_blank] is not enabled on your instance, use the `rd-icon-chart` ID in your SVG file. [source,html] ---- From 661fdfe550a69373f37453e7409670c28ef00bae Mon Sep 17 00:00:00 2001 From: Bryant Howell - ThoughtSpot <83678239+bryanthowell-ts@users.noreply.github.com> Date: Thu, 5 Mar 2026 14:46:55 -0600 Subject: [PATCH 65/86] Update rest-api-intro.adoc Updated the library name to reflect current pattern --- modules/tutorials/pages/rest-api/rest-api-intro.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/tutorials/pages/rest-api/rest-api-intro.adoc b/modules/tutorials/pages/rest-api/rest-api-intro.adoc index 84ce54ee8..b7f55b317 100644 --- a/modules/tutorials/pages/rest-api/rest-api-intro.adoc +++ b/modules/tutorials/pages/rest-api/rest-api-intro.adoc @@ -24,7 +24,7 @@ Your setup must have the following applications and tools installed: * Chrome or Firefox * Python 3.8 or higher * link:https://code.visualstudio.com/[Visual Studio Code, window=_blank] or link:https://www.jetbrains.com/pycharm/[PyCharm, window=_blank] -* link:https://github.com/thoughtspot/thoughtspot_rest_api_v1_python[The `thoughtspot_rest_api_v1` GitHub repo, window=_blank] library (capable of REST API V1 and V2.0) in your local Python environment +* link:https://github.com/thoughtspot/thoughtspot_rest_api_python[The `thoughtspot_rest_api` GitHub repo, window=_blank] library (capable of REST API V1 and V2.0) in your local Python environment Download the entire link:https://github.com/thoughtspot/tse-api-tutorial[tse-api-tutorial directory^] as a ZIP file from GitHub, then unzip on your system: From 60dd39c62f83b6bd454fe22465a5745b49697738 Mon Sep 17 00:00:00 2001 From: Bryant Howell - ThoughtSpot <83678239+bryanthowell-ts@users.noreply.github.com> Date: Thu, 5 Mar 2026 14:51:56 -0600 Subject: [PATCH 66/86] Update rest-api_lesson-02.adoc Updated library name --- modules/tutorials/pages/rest-api/rest-api_lesson-02.adoc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/tutorials/pages/rest-api/rest-api_lesson-02.adoc b/modules/tutorials/pages/rest-api/rest-api_lesson-02.adoc index 84678bf43..0ae1a3eea 100644 --- a/modules/tutorials/pages/rest-api/rest-api_lesson-02.adoc +++ b/modules/tutorials/pages/rest-api/rest-api_lesson-02.adoc @@ -38,11 +38,11 @@ import json ---- ==== Install requests package -If you followed the prerequisites and installed the link:https://github.com/thoughtspot/thoughtspot_rest_api_v1_python[thoughtspot_rest_api_v1 package, window=_blank] using your command line or terminal: +If you followed the prerequisites and installed the link:https://github.com/thoughtspot/thoughtspot_rest_api_python[thoughtspot_rest_api package, window=_blank] using your command line or terminal: [code,bash] ---- -pip install thoughtspot_rest_api_v1 +pip install thoughtspot_rest_api ---- The `requests` package should have automatically been installed along with the other requirements. From 31d67fd5a7f9dd56ba4f335d28edce8b864835ef Mon Sep 17 00:00:00 2001 From: Bryant Howell - ThoughtSpot <83678239+bryanthowell-ts@users.noreply.github.com> Date: Thu, 5 Mar 2026 14:55:55 -0600 Subject: [PATCH 67/86] Update rest-api_lesson-03.adoc Updated library name throughout to match current --- .../pages/rest-api/rest-api_lesson-03.adoc | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/modules/tutorials/pages/rest-api/rest-api_lesson-03.adoc b/modules/tutorials/pages/rest-api/rest-api_lesson-03.adoc index e3944dbe8..690ba11a7 100644 --- a/modules/tutorials/pages/rest-api/rest-api_lesson-03.adoc +++ b/modules/tutorials/pages/rest-api/rest-api_lesson-03.adoc @@ -8,7 +8,7 @@ == Get started The files for this tutorial are `api_training_python_2_begin.py` and `api_training_python_2_end.py`. -You must have installed the `thoughtspot_rest_api_v1` library per the prerequisites at the beginning into the Python environment you are using. Despite the name, the library has components for interacting with both the V1 and V2.0 ThoughtSpot REST APIs. +You must have installed the `thoughtspot_rest_api` library per the prerequisites at the beginning into the Python environment you are using. Despite the name, the library has components for interacting with both the V1 and V2.0 ThoughtSpot REST APIs. [NOTE] ==== @@ -17,7 +17,7 @@ You must have installed the `thoughtspot_rest_api_v1` library per the prerequisi ==== == 01 - Use ThoughtSpot REST API library -The link:https://github.com/thoughtspot/thoughtspot_rest_api_v1_python[thoughtspot_rest_api_v1 library^] was originally created because the V1 ThoughtSpot REST API is uniformly structured, so a library with an implementation of each endpoint was created as a "reference" on how to format and send each request correctly. +The link:https://github.com/thoughtspot/thoughtspot_rest_api[thoughtspot_rest_api library^] was originally created because the V1 ThoughtSpot REST API is uniformly structured, so a library with an implementation of each endpoint was created as a "reference" on how to format and send each request correctly. The V2.0 REST API is simple enough to implement in any language. We've just completed the initial steps in Python in the previous lesson. @@ -27,7 +27,7 @@ The library encapsulates logic around constructing REST API requests correctly, Endpoints are defined properly, along with HTTP request details and response handling. -=== Import thoughtspot_rest_api_v1 library +=== Import thoughtspot_rest_api library Rather than helper functions like in JavaScript, the *thoughtspot_rest_api_v1* library provides two *classes* that represent the entire set of the two REST API versions: `TSRestApiV1` & `TSRestApiV2`. *Classes* define how to build *Objects*, which combine data (called properties) and functions (called methods). @@ -38,7 +38,7 @@ To get started, let's import all of the classes from the library and then create [,python] ---- -from thoughtspot_rest_api_v1 import * +from thoughtspot_rest_api import * username = 'username' password = 'password' @@ -52,7 +52,7 @@ The `TSRestApiV2` object doesn’t automatically log in a user. You must explici [,python] ---- -from thoughtspot_rest_api_v1 import * +from thoughtspot_rest_api import * username = 'username' password = 'password' @@ -366,11 +366,11 @@ except requests.exceptions.HTTPError as e: == 05 - Conclusion -After completing these lessons, you should be very capable at using the REST API V2.0 Playground and the link:https://github.com/thoughtspot/thoughtspot_rest_api_v1_python[thoughtspot_rest_api_v1 library^] to retrieve and process the results of the `/search` endpoints and then issue other commands using the IDs of objects. +After completing these lessons, you should be very capable at using the REST API V2.0 Playground and the link:https://github.com/thoughtspot/thoughtspot_rest_api_python[thoughtspot_rest_api library^] to retrieve and process the results of the `/search` endpoints and then issue other commands using the IDs of objects. By moving hard-coded values into variables, you can develop reusable scripts to accomplish tasks that otherwise would require a lot of manual effort. -There are many link:https://github.com/thoughtspot/thoughtspot_rest_api_v1_python/tree/main/examples_v2[existing examples^] of workflows that can be pieced together to accomplish any number of administration and integration tasks. +There are many link:https://github.com/thoughtspot/thoughtspot_rest_api_python/tree/main/examples_v2[existing examples^] of workflows that can be pieced together to accomplish any number of administration and integration tasks. ''' From bfbe8b11b15d8809dbed64377bae5d946a5f0059 Mon Sep 17 00:00:00 2001 From: Rani Gangwar Date: Fri, 6 Mar 2026 18:58:23 +0530 Subject: [PATCH 68/86] add var for SCAL-297657 --- modules/ROOT/pages/customize-css-styles.adoc | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/modules/ROOT/pages/customize-css-styles.adoc b/modules/ROOT/pages/customize-css-styles.adoc index f16d7232d..61319481f 100644 --- a/modules/ROOT/pages/customize-css-styles.adoc +++ b/modules/ROOT/pages/customize-css-styles.adoc @@ -176,6 +176,11 @@ Use the following variables to customize the Liveboard page elements. |`--ts-var-liveboard-edit-bar-background`| Background color of the edit panel on the Liveboard. The edit panel is displayed when the Liveboard is in edit mode. |`--ts-var-liveboard-cross-filter-layout-background`| Background color of the cross-filter layout. |`--ts-var-liveboard-layout-background`| Background color of the Liveboard. +|`--ts-var-liveboard-tile-border-radius`| Border radius, which is the roundness of the corners of the tiles in a ThoughtSpot Liveboard. It does not apply to the Liveboard header. +|`--ts-var-parameter-chip-text-color`| Font color of the text on the parameter chips in the Liveboard. +|`--ts-var-liveboard-header-font-color`| Font color of the text on the Liveboard header. +|`--ts-var-liveboard-notetitle-heading-font-color`| Font color of the title of the note tile on the Liveboard. +|`--ts-var-liveboard-notetitle-body-font-color`| Font color of the text of the note tile on the Liveboard. |====== [.bordered] @@ -189,7 +194,7 @@ Use the following variables to customize the Liveboard visualization groups and [NOTE] ==== -To enable this feature contact ThoughtSpot support and set `isLiveboardMasterpiecesEnabled` to `true` in the SDK . +To enable this feature contact ThoughtSpot support and set `isLiveboardStylingAndGroupingEnabled` to `true` in the SDK . ==== [width="100%" cols="7,7"] @@ -202,6 +207,8 @@ To enable this feature contact ThoughtSpot support and set `isLiveboardMasterpie |`--ts-var-liveboard-group-description-font-color`| Color of the group description text. |`--ts-var-liveboard-group-tile-title-font-color`| Color of the title of the vizualizations in the group. |`--ts-var-liveboard-group-tile-description-font-color`| Color of the description of the vizualizations in the group. +|`--ts-var-liveboard-tile-border-color`| Border color of the tiles in the Liveboard. +|`--ts-var-liveboard-tile-background`| Background color of the tiles in the Liveboard. |====== [.bordered] @@ -589,3 +596,4 @@ ThoughtSpot provides a default CSS file containing the most common variables and == Additional resources * link:https://github.com/thoughtspot/custom-css-demo/blob/main/css-variables.css[Custom CSS demo GitHub Repo, window=_blank] + From 54156deafe597f3e49ecba5555dc8f51ec37192c Mon Sep 17 00:00:00 2001 From: ShashiSubramanya Date: Sat, 7 Mar 2026 16:58:19 +0530 Subject: [PATCH 69/86] review comments incorporation --- .../ROOT/pages/ai-integration-options.adoc | 58 ++ modules/ROOT/pages/common/nav.adoc | 6 +- .../pages/mcp-connect-custom-chatbot.adoc | 355 ++++++++ modules/ROOT/pages/mcp-integration.adoc | 175 ++-- .../pages/mcp-server-client-connection.adoc | 819 ++---------------- .../images/agents-mcp-server-arch.png | Bin 188466 -> 195167 bytes 6 files changed, 560 insertions(+), 853 deletions(-) create mode 100644 modules/ROOT/pages/ai-integration-options.adoc create mode 100644 modules/ROOT/pages/mcp-connect-custom-chatbot.adoc diff --git a/modules/ROOT/pages/ai-integration-options.adoc b/modules/ROOT/pages/ai-integration-options.adoc new file mode 100644 index 000000000..72bbcc700 --- /dev/null +++ b/modules/ROOT/pages/ai-integration-options.adoc @@ -0,0 +1,58 @@ += ThoughtSpot AI analytics integration +:toc: true +:toclevels: 3 + +:page-title: AI integration options +:page-pageid: ai-analytics-integration +:page-description: Learn the different ways to integrate ThoughtSpot analytics and AI experiences into your applications and AI agents, including MCP Server, Spotter Embed, and Spotter APIs. + +ThoughtSpot provides several options to bring governed analytics and AI-powered experiences into your applications, AI agents, and workflows. + +== AI integration options + +The primary ways to integrate ThoughtSpot analytics and AI into your environment are: + +* xref:ai-integration-options.adoc#_thoughtspot_mcp_server[ThoughtSpot Model Context Protocol (MCP) Server] +* xref:ai-integration-options.adoc#_embedding_spotter_in_your_app[Embedding Spotter in your app] +* xref:ai-integration-options.adoc#_spotter_rest_apis[Spotter REST APIs] + +[NOTE] +==== +All options allow using your existing ThoughtSpot data models, Liveboards, Answers, row-level and column-level security, and governance. The main differences are where the UI or conversation layer exists and who orchestrates the analytics workflow. +==== + +=== ThoughtSpot MCP Server + +ThoughtSpot xref:mcp-integration.adoc[MCP Server] exposes governed analytics as MCP tools and resources to AI agents and clients. The MCP Server can be integrated with your MCP client, agent, LLM, or application UI, allowing your users to explore ThoughtSpot's agentic capabilities within the context of your application. + +ThoughtSpot recommends using the MCP Server in these scenarios: + +* When you want to plug ThoughtSpot into AI agents and clients that already support MCP, such as Claude, ChatGPT, Gemini, IDEs, and custom MCP clients. +* If you are building your own MCP-based chatbot or application, and want to call ThoughtSpot MCP tools behind a custom web experience. + +For more information, see the xref:mcp-integration.adoc[MCP Server] documentation. + +=== Embedding Spotter in your app + +Developers can embed ThoughtSpot's xref:embed-spotter.adoc[conversational UI experience and its agentic capabilities] directly into their applications using the Visual Embed SDK. + +If your business requires you to quickly integrate the Spotter experience into your applications and workflows, and provide a native AI search and analysis experience within your app, use this option. + +For more information, see the xref:embed-ai-analytics.adoc[Embed AI Search and Analytics] and xref:embed-spotter.adoc[Spotter embed] documentation. + +=== Spotter REST APIs + +Spotter REST APIs provide programmatic access to Spotter conversation sessions, analytics, and agentic workflows. REST API clients use these APIs to send questions and receive structured answers, charts, or get relevant questions for a specific data model. + +ThoughtSpot recommends using REST APIs: + +* When you want to allow your application, agent, or orchestration logic to interact with ThoughtSpot programmatically without requiring MCP. +* For fine-grained control over data context, query options, and prompt structure, and if you need to integrate ThoughtSpot responses and workflows with other systems. + +For more information, see the xref:spotter-apis.adoc[Spotter AI API] documentation. + +== Additional resources + +* For information about MCP, see the link:https://modelcontextprotocol.io[Model Context Protocol specification, window=_blank]. +* For information about SDK libraries for embedding, see the link:https://github.com/thoughtspot/visual-embed-sdk[Visual Embed SDK GitHub repository, window=_blank]. +* To view Spotter APIs, visit the +++REST API v2.0 Playground+++ and navigate to the **AI** section. diff --git a/modules/ROOT/pages/common/nav.adoc b/modules/ROOT/pages/common/nav.adoc index 5efb0d24a..b3bd8d0ee 100644 --- a/modules/ROOT/pages/common/nav.adoc +++ b/modules/ROOT/pages/common/nav.adoc @@ -219,8 +219,10 @@ include::generated/typedoc/CustomSideNav.adoc[] ** link:{{navprefix}}/SpotterCode[SpotterCode for IDEs] *** link:{{navprefix}}/integrate-SpotterCode[Integrating SpotterCode] *** link:{{navprefix}}/spottercode-prompting-guide[SpotterCode prompting guide] -** link:{{navprefix}}/mcp-integration[Using ThoughtSpot MCP server] -*** link:{{navprefix}}/connect-mcp-server-to-clients[Connecting clients to MCP Server] +** link:{{navprefix}}/ai-analytics-integration[ThoughtSpot AI analytics integration] +*** link:{{navprefix}}/mcp-integration[ThoughtSpot MCP server] +*** link:{{navprefix}}/connect-mcp-server-to-clients[Connecting MCP Server to MCP clients] +*** link:{{navprefix}}/custom-chatbot-integration-mcp[Integrating MCP Server in a custom application or chatbot] * link:{{navprefix}}/development-and-deployment[Deployment and integration] ** link:{{navprefix}}/development-and-deployment[Development and deployment] diff --git a/modules/ROOT/pages/mcp-connect-custom-chatbot.adoc b/modules/ROOT/pages/mcp-connect-custom-chatbot.adoc new file mode 100644 index 000000000..16f593a20 --- /dev/null +++ b/modules/ROOT/pages/mcp-connect-custom-chatbot.adoc @@ -0,0 +1,355 @@ += Integrating MCP Server in a custom application or chatbot +:toc: true +:toclevels: 3 + +:page-title: Integrating MCP Server in a custom application or chatbot +:page-pageid: custom-chatbot-integration-mcp +:page-description: Learn how to build custom applications and chatbots that use ThoughtSpot MCP Server. + +If you are building a chatbot client with your own agent and orchestration logic, you can use the MCP Server to call MCP tools behind a custom web experience and integrate it with other systems or services as needed. + +When integrated, the agent in your custom application can: + +* Automatically discover ThoughtSpot MCP tools. +* Support natural language conversation sessions for data questions. +* Generate embeddable visualizations and programmatically create a Liveboard. + +[IMPORTANT] +==== +* Currently, the MCP Server integration does not support link:https://docs.thoughtspot.com/cloud/latest/spotter-versions[Spotter 3 capabilities]. +==== + +== Before you begin +Before you begin, review the following prerequisites: + +* Node.js version 22 or later is installed and available in your environment. +* Ensure that your setup has access to a ThoughtSpot application instance with 10.11.0.cl or a later release version. +* Ensure that the users have the necessary permissions to view data from relevant models and tables in ThoughtSpot. Existing RLS/CLS rules on tables are enforced automatically in data source responses. To create charts or Liveboards from a conversation session, data download and content creation privileges are required. + +== Authenticating users +If your own application or backend service manages user identities, and you want to implement a seamless authentication experience without redirecting users to an external OAuth flow from the chatbot host, use the trusted authentication method. + +=== Trusted authentication flow +In a typical trusted authentication flow, your backend service calls the `/api/rest/2.0/auth/token/full` REST API endpoint to obtain a full access token (`TS_AUTH_TOKEN`) for a ThoughtSpot user or service account. + +The token generated for the user session is used as a bearer token when your backend calls ThoughtSpot APIs or when it brokers MCP tool calls. + +== Connecting clients +If your custom chatbot implementation uses Claude, OpenAI, or Gemini LLM APIs to call MCP tools, ensure that your MCP Server endpoint, authentication token, and ThoughtSpot host are included in the API request. + +=== Claude MCP connector +If your application uses Claude MCP connector, use the following API request format to connect Claude to the MCP Server: + +[source,bash] +---- +curl https://api.anthropic.com/v1/messages \ + -H "Content-Type: application/json" \ + -H "X-API-Key: $ANTHROPIC_API_KEY" \ + -H "anthropic-version: 2023-06-01" \ + -H "anthropic-beta: mcp-client-2025-04-04" \ + -d '{ + "model": "claude-3-5-sonnet-latest", + "max_tokens": 1000, + "messages": [{ + "role": "user", + "content": "How do I increase my sales?" + }], + "mcp_servers": [ + { + "type": "url", + "url": "https://agent.thoughtspot.app/bearer/mcp", + "name": "thoughtspot", + "authorization_token": "TS_AUTH_TOKEN@my-instance.thoughtspot.cloud" + } + ] + }' +---- + +In the above example, the API call includes: + +* The user’s message. +* ThoughtSpot’s MCP Server endpoint `https://agent.thoughtspot.app/bearer/mcp`. +* An `authorization_token` that encodes which ThoughtSpot instance and user/token to use. + +Claude uses the configured MCP Server to call ThoughtSpot MCP tools as needed, using the bearer-style token you provided. + +=== OpenAI Responses API +If your application uses an OpenAI LLM, use the following API request format to connect OpenAI to the MCP Server: + +[source,bash] +---- +curl https://api.openai.com/v1/responses \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $OPENAI_API_KEY" \ + -d '{ + "model": "gpt-4.1", + "tools": [ + { + "type": "mcp", + "server_label": "thoughtspot", + "server_url": "https://agent.thoughtspot.app/bearer/mcp", + "headers": { + "Authorization": "Bearer TS_AUTH_TOKEN", + "x-ts-host": "my-instance.thoughtspot.cloud" + } + } + ], + "input": "How can I increase my sales?" + }' +---- + +In the above example, the API call includes the following parameters: + +* MCP as the tool type. +* ThoughtSpot MCP Server URL. +* Authentication token and ThoughtSpot host URL. + +The OpenAI LLM model uses the configured MCP Server, sends the provided headers on each MCP tool call, and gets the requested data from your ThoughtSpot instance under that token's identity. + +=== Gemini API + +If your application is the MCP host and Gemini is the LLM provider, use the following code example to connect Gemini to the ThoughtSpot MCP Server. + +[source,typescript] +---- +import { + GoogleGenAI, + mcpToTool, +} from '@google/genai'; +import { Client } from "@modelcontextprotocol/sdk/client/index.js"; +import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js"; + +const transport = new StreamableHTTPClientTransport( + new URL("https://agent.thoughtspot.app/bearer/mcp"), + { + requestInit: { + headers: { + "Authorization": "Bearer TS_AUTH_TOKEN", + "x-ts-host": "my-instance.thoughtspot.cloud" + }, + } + } +); + +const mcpClient = new Client({ + name: "example-client", + version: "1.0.0", +}); + +await mcpClient.connect(transport); + +const ai = new GoogleGenAI({}); + +const response = await ai.models.generateContent({ + model: "gemini-2.5-flash", + contents: `Show me last quarter's sales by region`, + config: { + tools: [mcpToTool(mcpClient)], + }, +}); + +console.log(response.text); +await mcpClient.close(); +---- + +The above example: + +* Creates an MCP client and connects it to the ThoughtSpot MCP Server using `StreamableHTTPClientTransport`. +* Sends the required headers with the authentication token and ThoughtSpot host URL in MCP requests. +* Wraps the MCP client as a tool and passes it into `GoogleGenAI` so Gemini can call ThoughtSpot tools as part of answering a user's query. + +== Verifying the integration + +To verify the integration: + +. Start a chat session by asking a question and verify whether your chatbot's LLM is calling the ThoughtSpot MCP tools to generate a response. + +A typical agentic workflow follows this pattern: +* Calls `getRelevantQuestions` to break the request into sub-queries +* Calls `getAnswer` to run those questions in ThoughtSpot and receive structured data and visualization metadata +* Based on a user prompt, calls `createLiveboard` to save the results in a ThoughtSpot Liveboard. +. Verify whether the metadata in the output includes `frame_url` to embed a visualization in an iframe or HTML snippet. + +== Troubleshooting errors + +Cannot connect to MCP Server:: + +* Verify if the MCP Server is reachable. +* Ensure that the correct MCP Server URL is used in API requests. +* If the issue persists, verify the logs and contact ThoughtSpot Support for assistance. + +Authentication failure:: +* Ensure that the correct ThoughtSpot host URL and authentication token are in the API requests. +* Verify whether the token used for authorizing MCP requests has expired. If the token is invalid, generate a new token and retry the API calls. +* Verify whether the MCP Server and ThoughtSpot host are reachable. +* Verify whether the user has the necessary privileges to view data or create content. + +== MCP tool calls and response output +The following sections outline the MCP request input schema and data structure of the response. + +=== ping +Runs a basic health check to validate that the MCP Server is reachable. + +[source,ts] +---- +const tsPing = await callMCPTool("ping", {}); +---- + +=== getDataSourceSuggestions +Suggests appropriate ThoughtSpot data models for a given natural language question. + + +==== Example request + +[source,ts] +---- +const dsSuggestions = await callMCPTool("getDataSourceSuggestions", { + query: "show me sales by region" // user's query +}); +---- + +==== Response format + +Returns an object containing an array of suggestions: + +[source,json] +---- +{ + "suggestions": [ + { + "header": { + "guid": "worksheet-guid-123", + "displayName": "Sales Analytics", + "description": "Sales performance by region, product, and channel" + }, + "confidence": 0.92, + "llmReasoning": "This worksheet contains sales metrics and regional dimensions relevant to the query." + } + ] +} +---- + +Key fields are: + +* `header.guid`: Unique ID for the datasource. The `datasourceId` is used in `getRelevantQuestions` and `getAnswer` calls. +* `header.displayName`: Name of the data source. +* `header.description`: Optional description of the data source. +* `confidence`: Numeric score indicating the confidence of the system about a data model being the right match for the user’s query. +* `llmReasoning`: LLM's reasoning for the suggestion. + +=== getRelevantQuestions +Uses ThoughtSpot’s reasoning engine to generate AI-suggested sub-queries that help generate specific answers for a given data context. + +==== Example call + +[source,ts] +---- +const result = await callMCPTool("getRelevantQuestions", { + query: "show me sales data", // User's natural language query + datasourceIds: ["model-guid-123"], // Array of worksheet/datasource GUIDs + additionalContext: "User is interested in the data for underperforming regions and products" +}); +---- + +==== Response example + +[source,json] +---- +{ + "questions": [ + "What is the total sales revenue by region?", + "Which products have the highest revenue?", + "What are the top selling categories?" + ] +} +---- + +Each returned question can then be passed individually into `getAnswer`. + +=== getAnswer +Executes a natural language question for a given data context and returns the resulting data and visualization metadata. Clients can use this data and frame URL to render visualizations. + +==== Example call + +[source,ts] +---- +const result = await callMCPTool("getAnswer", { + question: "Total sales by region", // Natural language question + datasourceId: "model-guid-123" // Worksheet/datasource GUID +}); +---- + +==== Response example + +[source,json] +---- +{ + "question": "Total sales by region", + "session_identifier": "abc-123-def-456", + "generation_number": 2, + "data": "\"Region\",\"Total Sales\"\n\"East\",100000\n...", + "frame_url": "https://...", + "fields_info": "..." +} +---- + +Key fields are: + +* `session_identifier`: Unique session ID used to group answers. Required when creating a Liveboard from this answer using the `createLiveboard` MCP tool. +* `generation_number`: Version number for this answer. Required for Liveboard creation. +* `question`: The executed question; useful for display and to pass it into the `createLiveboard` request. +* `data`: Data returned in encoded format. Contains column headers and all returned rows in comma-separated format, which can be parsed to render tables or charts in your application. +* `frame_url`: Optional iframe URL for embedding the visualization in your UI. +* `fields_info`: Descriptive metadata about the fields and chart, useful for explanations. + +=== createLiveboard + +Creates a ThoughtSpot Liveboard with one or more answers from the results. This is a two-step process and includes the following calls: + +. Call `getAnswer` to generate visualizations and obtain `session_identifier` and `generation_number`. +. Call `createLiveboard` with those values to create the Liveboard. + +==== Example call + +[source,ts] +---- +const answerData = JSON.parse(answerResult.result.content); + +const liveboardResult = await callMCPTool("createLiveboard", { + name: "My Sales Dashboard", + noteTile: "My Sales Dashboard was created by TS MCP Chat", // Description text for the Liveboard + answers: [{ + question: answerData.question, // Display name for the Liveboard + session_identifier: answerData.session_identifier, + generation_number: answerData.generation_number + }] +}); +---- + +Required attributes are: + +* `noteTile`: Use this field for any Liveboard description or notes; a separate description field is not supported. +* `answers`: Required array. Each item must include `question`, `session_identifier`, and `generation_number` from a prior `getAnswer` call. + +==== Response example + +[source,json] +---- +{ + "liveboardId": "liveboard-guid-here", + "name": "My Sales Dashboard", + "frame_url": "https://..." +} +---- + +Key fields are: + +* `liveboardId`: GUID of the created Liveboard. +* `name`: Name of the Liveboard. +* `frame_url`: URL that can be embedded to display the Liveboard. + +== Additional resources + +* To view the MCP Server code, go to the link:https://github.com/thoughtspot/mcp-server[MCP Server GitHub repository, window=_blank]. +* For a chat client example, see link:https://github.com/thoughtspot/developer-examples/tree/main/mcp/python-react-agent-simple-ui[Python Agent with Simple React UI]. See also link:https://github.com/thoughtspot/mcp-server?tab=readme-ov-file#troubleshooting[troubleshooting steps, window=_blank]. + + diff --git a/modules/ROOT/pages/mcp-integration.adoc b/modules/ROOT/pages/mcp-integration.adoc index a72e9c5dd..b8f3f19fc 100644 --- a/modules/ROOT/pages/mcp-integration.adoc +++ b/modules/ROOT/pages/mcp-integration.adoc @@ -1,76 +1,71 @@ -= Using ThoughtSpot MCP Server += ThoughtSpot MCP Server :toc: true :toclevels: 3 :page-title: MCP integration :page-pageid: mcp-integration -:page-description: Learn how to use the ThoughtSpot Model Context Protocol (MCP) server to interact with ThoughtSpot data via MCP tools +:page-description: Learn what ThoughtSpot MCP Server is, when to use it, and how it fits into your AI and analytics architecture. -ThoughtSpot’s Agentic Model Context Protocol (MCP) Server allows you to integrate ThoughtSpot analytics into any AI agent, custom chatbot, or LLM platform that supports MCP. Instead of rebuilding analytics logic yourself, you connect an LLM/AI agent to the ThoughtSpot MCP Server. +ThoughtSpot’s Agentic Model Context Protocol (MCP) Server allows you to integrate ThoughtSpot analytics into any AI-native application, custom chatbot, or LLM platform that supports MCP. Instead of rebuilding analytics logic yourself, you connect an LLM/AI agent to the ThoughtSpot MCP Server. -When integrated, the MCP Server equips your client and AI agent/LLM with the following capabilities: +== Overview +ThoughtSpot MCP Server exposes ThoughtSpot analytics as tools and resources that MCP-compatible agents can discover and call. -* Discovering ThoughtSpot MCP tools automatically -* Natural language queries and responses -* Programmatic creation of Liveboards - -== Spotter and MCP Server - -ThoughtSpot provides the following options to integrate AI and analytics into your workflows: +When integrated, the MCP Server equips your AI agent/LLM with the following capabilities: -[cols="1,3",options="header"] -|=== -| Feature | Purpose -| **ThoughtSpot MCP Server** -a| Allows using your own UI, agent, or LLM and orchestration. ThoughtSpot exposes governed analytics tools via the MCP protocol, allowing your agent to discover and call tools programmatically. + +* Automatic discovery of ThoughtSpot MCP tools +* Natural language queries and responses +* Programmatic creation of Liveboards and visualizations +* Generating embeddable visualizations for custom workflows -|**Spotter Embed** -|Allows xref:embed-spotter.adoc[embedding Spotter conversational UI and agentic capabilities] directly into your application using the Visual Embed SDK. + -Requires minimal development effort and supports faster deployment. + -Recommended for integrating conversational analytics experiences within your application context. +=== Supported use cases -|**Spotter APIs** -|Provides xref:spotter-apis.adoc[REST APIs] for programmatic control of analytics and agentic workflows. You can use your own LLM and orchestration logic to interact with Spotter, retrieve structured answers, charts, or relevant questions for a specific data model. -|| -|=== +ThoughtSpot supports MCP Server integration for the following use cases: -=== MCP Server use cases +* *Plug-and-play clients* + +If your application already has an AI chat interface, you can use the MCP Server to plug ThoughtSpot analytics into your application's agentic experience. This integration works with agents or LLMs that natively support MCP, such as Claude, OpenAI, Gemini, or custom MCP clients. It allows your AI agent to call tools and leverage ThoughtSpot’s governed analytics, business semantic layer, data context, and row-level/object-level security, so you don’t need to build your own analytics logic. -ThoughtSpot recommends using MCP Server for the following business scenarios: +* *Custom chatbot integration* + +If you are building an MCP-based chatbot or application with your own orchestration logic or LLM, and you want to call ThoughtSpot MCP tools behind a custom web experience, integrate the MCP Server into your application. This approach is recommended when you need fine-grained control over conversation flow, backend orchestration, and the analytics experience. -* When you want to use ThoughtSpot as a plug-in analytics engine within your AI or agentic experience. This enables you to leverage ThoughtSpot’s governed analytics, including Row-level Security (RLS), Column-level Security (CLS), Liveboards, and data modeling, rather than building analytics logic directly into your application. -* When you are working with agents or LLMs that natively support the MCP protocol, such as Claude, OpenAI, Gemini, or custom MCP clients. -* When you want your LLM or agent to discover and call tools via the MCP protocol, allowing for dynamic tool discovery and orchestration, instead of manually connecting to each endpoint. +==== Choosing the right integration option -=== MCP Server access -The ThoughtSpot MCP Server is an add-on feature available with the link:https://www.thoughtspot.com/pricing[ThoughtSpot Analytics and ThoughtSpot Embedded offerings, window=_blank]. To purchase the MCP Server subscription and enable the MCP Server in your environment, you must have an active subscription to one of the following ThoughtSpot license plans: +Your integration choice depends on where the conversational UI is presented to the user and whether your application relies on ThoughtSpot, a third-party AI agent, or your own agentic AI to orchestrate the analytics workflow. -* Enterprise Edition of ThoughtSpot Analytics -* ThoughtSpot Embedded +Regardless of the integration mode, you can leverage ThoughtSpot’s semantic layer, data context, object-level, row-level, and column-level security to ensure trusted, governed analytics for your users. -To learn more about subscription options, contact your ThoughtSpot Sales representative. - -== Architecture and roles +=== Architecture and roles The MCP Server integration and orchestration layer includes the following core components: [width="100%" cols="2,4"] [options='header'] |====== |Component|Role + +|*Client Interface* a| +User interface that renders chat, responses, and charts. For example, Claude AI web app, Claude Desktop, ChatGPT, OpenAI-based integrations, Gemini-based agents, custom web applications, or internal tools. + |*Agent or LLM* -a| Acts as orchestrator. -- Receives the user’s prompt. -- Discovers ThoughtSpot MCP tools via the MCP protocol. +a| Acts as orchestrator. + + +- Receives the user’s prompt +- Discovers ThoughtSpot MCP tools - Decides which tools to call and in what order. - Combines ThoughtSpot results with other sources and generates the final answer. + |*ThoughtSpot MCP Server* a| - Acts as a gateway between the agent and ThoughtSpot. -- Exposes analytics as MCP tools, such as `ping`, `getDataSourceSuggestions`, `getRelevantQuestions`, `getAnswer`, and `createLiveboard`. +- Exposes analytics as MCP tools. +- Validates requests and forwards calls to ThoughtSpot. + +|*ThoughtSpot instance* +| Your ThoughtSpot instance where data models, Liveboards, and security policies exist. + + +- Executes queries and generates visualizations +- Provides access to data - Enforces data security with RLS and CLS rules. -- Wraps AI REST APIs. -|*Client Interface* a| -The user-facing interface that renders chat, responses, and charts. For example, Claude AI web app, Claude Desktop, ChatGPT or OpenAI integrations, Gemini-based agents, custom web applications, or internal tools. -|| +|*End user* +|Interacts with an AI client or custom application, asks questions, and acts on results. |====== The following figure illustrates the interaction between the user, agent, and MCP Server: @@ -78,68 +73,68 @@ The following figure illustrates the interaction between the user, agent, and MC [.widthAuto] image::./images/agents-mcp-server-arch.png[MCP integration] -== How it works -The MCP Server integration and orchestration in agentic environments typically involves the following workflows: +=== MCP tools and resources -. *User asks a question* + -A user sends a query in the chat interface to get data. For example, `What were the total sales of Jackets and Bags in the Northeast last year?` + -Optionally, the user can specify the data context so that data from a specific source is used to generate answers. +ThoughtSpot MCP Server exposes the following tools and resources: -. *Agent calls `getDataSourceSuggestions`* (Optional) + -If the user's question doesn’t specify a data source, the agent can call `getDataSourceSuggestions`. In response to this request, ThoughtSpot returns multiple candidate data sources (models) with confidence scores and reasoning. +* `ping` + +Connectivity/health check. Used by the MCP host, such as Claude, Gemini, or ChatGPT, to verify whether it can reach the ThoughtSpot MCP Server and whether the server is available. -. **User's query is decomposed into sub-questions** + -To decompose the user's query into smaller questions, the agent calls `getRelevantQuestions`. + -In response to the agent's request, ThoughtSpot returns the AI-suggested, schema-aware questions that are easier to run analytically. +* `getDataSourceSuggestions` + +Suggests the most relevant ThoughtSpot data sources for a given query. -. *Query is processed for generating answers* + -For each suggested or chosen question, the agent calls `getAnswer`. + -In response to this request, ThoughtSpot returns the following: + -* Preview data for LLM reasoning. -* Visualization metadata, including an embeddable `frame_url`. -* `session_identifier` and `generation_number` for charts that are required for creating Liveboards. +* `getRelevantQuestions` + +Uses ThoughtSpot’s reasoning engine to turn a broad or high‑level user query into a set of concrete analytical questions that should be asked of the data. -. *Creates a Liveboard using metadata from query response* (Optional) + -The user can choose to save answers from query responses in a ThoughtSpot Liveboard. For this workflow, the agent extracts `question`, `session_identifier`, and `generation_number` from each `getAnswer` response and calls `createLiveboard`. + -ThoughtSpot creates a Liveboard and returns identifiers and a `frame_url` for the Liveboard. +* `getAnswer` + +Executes those analytical questions and returns structured data and answers. -During this interaction, users on MCP platforms such as Claude and ChatGPT typically see a natural-language summary with a link to a ThoughtSpot Liveboard. +* `createLiveboard` + +Creates a ThoughtSpot Liveboard from a list of answers/questions, typically at the end of a conversation. It turns the conversational analysis into a Liveboard with visualizations. -In custom apps, you can embed the `frame_url` generated from this interaction in iframes to show interactive charts inline and provide Call To Action (CTA) elements backed by `createLiveboard` if required. +=== How it works -== User authentication -When integrated, the MCP Server runs under an authenticated ThoughtSpot user context. You can choose one of the following authentication options: +The agentic interactions in an orchestrated environment typically include these steps: -OAuth:: -Use OAuth in the following scenarios: -* When connecting plug-and-play MCP platforms, such as Claude, Gemini, ChatGPT, and others. -* When you want the platform to drive a browser-based sign-in flow. +. *User asks a question* + +A user sends a query in the chat interface to get data. For example, `What were the total sales of Jackets and Bags in the Northeast last year?`. + +Optionally, the user can specify the data context to generate a response. -+ -In a typical OAuth flow: -. ThoughtSpot MCP Server is configured as an MCP tool/connection in the client. -. Client redirects the user to ThoughtSpot to sign in. -. Client stores the OAuth token and passes it to the MCP Server on each tool call. +. *Agent calls `getDataSourceSuggestions` (optional)* + +If the user’s question doesn’t specify a data source, the agent can call `getDataSourceSuggestions`. +ThoughtSpot returns candidate data sources (models) with confidence scores and reasoning. -Token-based trusted authentication:: -Use trusted authentication in the following scenarios: -* If you are building a custom UI or custom MCP client. -* If your setup has a backend component, and your organization handles user identity and wants seamless SSO from your app into ThoughtSpot. +. *User's query is decomposed into sub-questions* + +To break the user’s query into smaller analytical questions, the agent calls `getRelevantQuestions`. + +In response to the agent's request, ThoughtSpot returns the AI-suggested, schema-aware questions that are easier to execute analytically. +. *The query is processed for generating answers* + +For each suggested or chosen question, the agent calls `getAnswer`. ThoughtSpot returns the following: + +* Preview data for LLM reasoning. +* Visualization metadata, including an embeddable `frame_url`. +* `session_identifier` and `generation_number` for charts that are used as input for creating a Liveboard. + +. *A Liveboard is generated from the results* (optional) + +The user can choose to save answers from the conversation in a ThoughtSpot Liveboard. For this workflow, the agent extracts `question`, `session_identifier`, and `generation_number` from each `getAnswer` response and calls `createLiveboard`. + +ThoughtSpot creates a Liveboard and returns identifiers and a `frame_url` for the Liveboard. + -In a typical trusted authentication flow: +During this interaction, users typically see a natural-language summary. When a Liveboard is created, a link to open the corresponding Liveboard in ThoughtSpot is generated. ++ +In custom applications, you can embed the visualizations generated from the interaction, load them inside iframe elements, and render interactive charts directly in your webpage. You can also add your own buttons or links, such as 'Save as Liveboard' or 'Pin this analysis', which call `createLiveboard` to create or persist a Liveboard that contains your current charts and analysis. -. The authenticator service at the backend obtains a ThoughtSpot token via API calls to the following ThoughtSpot REST API endpoints: -** `POST /api/rest/2.0/auth/token/full` -** `GET /api/rest/2.0/auth/session/token`. -. The token generated for the user session is then passed to the MCP Server as a bearer token header, or as part of the client's MCP server configuration. For example, `authorization_token` for Claude. +== Getting access to the MCP Server -== Integration with MCP platforms and client environments -For information about the supported MCP platforms, instructions on how to connect MCP clients, code examples, and best practices, see xref:mcp-server-client-connection.adoc[Connecting clients to ThoughtSpot MCP server]. +ThoughtSpot MCP Server is available as an add-on with the following link:https://www.thoughtspot.com/pricing[license plans]: -== Additional resources +* ThoughtSpot Enterprise Edition +* ThoughtSpot Embedded + +To learn more about subscription options, contact your ThoughtSpot Sales representative. + +== Next steps +* To learn how to connect existing MCP-aware tools such as Claude, ChatGPT, and Gemini, see xref:mcp-server-client-connection.adoc[Connecting MCP clients to ThoughtSpot MCP Server]. +* To learn how to integrate MCP Server with a custom chatbot or application, see xref:mcp-connect-custom-chatbot.adoc[Integrating MCP Server in a custom chatbot]. +== Additional resources * For information about MCP, see link:https://modelcontextprotocol.io[Model Context Protocol specification, window=_blank]. -* For information about connecting MCP clients, see xref:mcp-server-client-connection.adoc[Connecting MCP clients to ThoughtSpot MCP server]. * For implementation details, see link:https://github.com/thoughtspot/mcp-server[MCP Server GitHub repository, window=_blank]. - diff --git a/modules/ROOT/pages/mcp-server-client-connection.adoc b/modules/ROOT/pages/mcp-server-client-connection.adoc index 9940723b9..1faeb93fe 100644 --- a/modules/ROOT/pages/mcp-server-client-connection.adoc +++ b/modules/ROOT/pages/mcp-server-client-connection.adoc @@ -1,27 +1,36 @@ -= Connecting clients to ThoughtSpot MCP Server += Connecting MCP Server to MCP clients :toc: true :toclevels: 3 -:page-title: MCP integration +:page-title: Connecting MCP Server to MCP clients :page-pageid: connect-mcp-server-to-clients -:page-description: Learn how to connect ThoughtSpot MCP server to clients and call tools +:page-description: Learn how to connect Claude, ChatGPT, Gemini, and other MCP-aware clients to ThoughtSpot MCP Server with minimal configuration. -To connect ThoughtSpot MCP server to your environment, add the MCP server endpoint to your LLM client's configuration settings. +If your application has an AI-native experience or supports external MCP-aware agents and LLMs, you can integrate ThoughtSpot analytics directly into your app's agentic experience by connecting the MCP Server to your client. -Authentication is handled per user, typically using xref:mcp-integration.adoc#_user_authentication[OAuth or trusted authentication tokens]. +In this plug-and-play integration, your application's chat interface and LLM orchestrate conversation sessions. The MCP Server exposes ThoughtSpot's analytics capabilities as tools, which your agent or LLM can invoke as needed. This approach allows you to bring ThoughtSpot analytics into your own AI-native experience and use it as a data and analytics provider through the MCP Server, while your system controls user interaction and orchestration logic. -When connected, the client can discover available MCP tools, select data sources, and interact with ThoughtSpot analytics by calling MCP tools. The MCP Server exposes only the data sources and functions that the authenticated user is allowed to access, and all actions are performed in the context of that user's security entitlements defined in the ThoughtSpot instance. +When your MCP client is connected to the ThoughtSpot MCP Server, the AI agent/LLM can: + +* Automatically discover ThoughtSpot MCP tools. +* Call the MCP tools to determine the data context and answer data questions. +* Create a Liveboard with the visualizations generated during the interaction. + + +[IMPORTANT] +==== +* Currently, the MCP Server integration does not support link:https://docs.thoughtspot.com/cloud/latest/spotter-versions[Spotter 3 capabilities]. +* In the plug-and-play integration mode, embedding visualizations is not supported. +==== == Before you begin -Before you begin, review the following prerequisites and ensure that the required configuration and setup are available for integration: +Before you begin, review the following prerequisites: -* Ensure that Node.js version 22 or later is installed for node-based examples and local clients. -* Your setup has access to a ThoughtSpot application instance with 10.11.0.cl or a later release version. -* Your users have the necessary privileges to view data from relevant models and tables in ThoughtSpot. Existing RLS/CLS rules on tables are enforced automatically in data source responses. -* For Answer and Liveboard creation, the user must have the data download and content creation privileges. +* Ensure that your setup has access to a ThoughtSpot application instance with 10.11.0.cl or a later release version. +* Ensure that the users have the necessary permissions to view data from relevant models and tables in ThoughtSpot. Existing RLS/CLS rules on tables are enforced automatically in data source responses. To create charts or Liveboards from a conversation session, data download and content creation privileges are required. -== Connecting remote MCP-aware clients -If you are using a client that supports remote MCPs natively, use the following MCP server endpoint: +=== Connecting clients that support remote MCP servers +To connect to a client that supports remote MCP servers natively, add the MCP Server endpoint to your client's configuration settings. `https://agent.thoughtspot.app/mcp` @@ -33,115 +42,12 @@ For OpenAI MCP and Responses API integration, use the following URL: `https://agent.thoughtspot.app/openai/mcp` -For additional information about how to register a remote MCP server, refer to your client’s documentation. - -When the MCP Server is connected, the AI agent or LLM in your environment automatically discovers ThoughtSpot tools from the MCP endpoint and calls tools as needed. - -=== Claude MCP connector - -The following example shows the code to connect Claude to the MCP server: - -[source,bash] ----- -curl https://api.anthropic.com/v1/messages \ - -H "Content-Type: application/json" \ - -H "X-API-Key: $ANTHROPIC_API_KEY" \ - -H "anthropic-version: 2023-06-01" \ - -H "anthropic-beta: mcp-client-2025-04-04" \ - -d '{ - "model": "claude-3-5-sonnet-latest", - "max_tokens": 1000, - "messages": [{ - "role": "user", - "content": "How do I increase my sales?" - }], - "mcp_servers": [ - { - "type": "url", - "url": "https://agent.thoughtspot.app/bearer/mcp", - "name": "thoughtspot", - "authorization_token": "TS_AUTH_TOKEN@my-instance.thoughtspot.cloud" - } - ] - }' ----- - -=== OpenAI Responses API - -The following example shows how to connect OpenAI to the MCP server: - -[source,bash] ----- -curl https://api.openai.com/v1/responses \ - -H "Content-Type: application/json" \ - -H "Authorization: Bearer $OPENAI_API_KEY" \ - -d '{ - "model": "gpt-4.1", - "tools": [ - { - "type": "mcp", - "server_label": "thoughtspot", - "server_url": "https://agent.thoughtspot.app/bearer/mcp", - "headers": { - "Authorization": "Bearer TS_AUTH_TOKEN", - "x-ts-host": "my-instance.thoughtspot.cloud" - } - } - ], - "input": "How can I increase my sales?" - }' ----- - -=== Gemini with MCP - -The following example shows the code required to connect Gemini to the MCP server: - -[source,typescript] ----- -import { - GoogleGenAI, - mcpToTool, -} from '@google/genai'; -import { Client } from "@modelcontextprotocol/sdk/client/index.js"; -import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js"; - -const transport = new StreamableHTTPClientTransport( - new URL("https://agent.thoughtspot.app/bearer/mcp"), - { - requestInit: { - headers: { - "Authorization": "Bearer TS_AUTH_TOKEN", - "x-ts-host": "my-instance.thoughtspot.cloud" - }, - } - } -); - -const mcpClient = new Client({ - name: "example-client", - version: "1.0.0", -}); +For additional information about how to register a remote MCP Server, refer to your client's documentation. -await mcpClient.connect(transport); +=== Connecting MCP Server to local MCP clients +For MCP clients that do not natively support configuring a remote MCP Server URL, you must use the `mcp-remote` component. For desktop clients that rely on local MCP components, ensure that Node.js version 22 or later is installed on your system. -const ai = new GoogleGenAI({}); - -const response = await ai.models.generateContent({ - model: "gemini-2.5-flash", - contents: `Show me last quarter's sales by region`, - config: { - tools: [mcpToTool(mcpClient)], - }, -}); - -console.log(response.text); -await mcpClient.close(); ----- - -== Connecting clients that do not support remote MCP servers -Some clients that do not natively support configuring a remote MCP server URL may require an `mcp-remote` component. In such cases, configure the MCP server as shown in this example: - -[source,JSON] +[source,json] ---- { "mcpServers": { @@ -156,658 +62,49 @@ Some clients that do not natively support configuring a remote MCP server URL ma } ---- -== Internal API routes - -If you are building your own web app or chatbot, you might want to set up internal routes that act as messengers, passing requests from your app to the ThoughtSpot MCP Server or REST APIs, and then returning the results to your app. This allows your app to fetch data or answers from ThoughtSpot without connecting to it directly. +== Authenticating users +In a plug-and-play integration, the most common way to authenticate users is through OAuth tokens. This method allows you to leverage your existing IdP or SSO configuration for ThoughtSpot login and rely on the platform to initiate a browser-based sign-in flow. -The sample patterns in the following examples define two internal routes for a Next.js app. You can adapt this pattern to other backend frameworks: +=== OAuth flow +In a typical OAuth flow: -* `/api/mcp` + -Forwards tool calls to the ThoughtSpot MCP server. -* `/api/search-worksheets` + -Searches models using the ThoughtSpot REST API. +* The ThoughtSpot MCP Server is configured as a connector/tool in the MCP client. +* When the user connects, the client redirects the user to ThoughtSpot to sign in. +* After successful login, the client stores the issued OAuth tokens and includes them with each MCP tool call to the ThoughtSpot MCP Server, which then calls ThoughtSpot on behalf of that user. -=== POST /api/mcp -Serves as a proxy endpoint for calling ThoughtSpot MCP tools from the client side. This route forwards requests from your frontend to the ThoughtSpot MCP tools. +=== OAuth client registration +OAuth clients can be registered in one of the following ways: -==== Request parameters +* For MCP hosts that support Dynamic Client Registration (DCR), the OAuth client is registered automatically. +* For MCP hosts that do not support dynamic registration or that require static client credentials, you must manually register an OAuth client, obtain the OAuth client ID and OAuth client secret, and then configure these in the MCP host when adding ThoughtSpot as an MCP connector. The generated client details are only shown once and cannot be retrieved later. ++ +To register a client, visit link:https://agent.thoughtspot.app/clients[ThoughtSpot MCP OAuth Client Registration, window=_blank]. When registering the OAuth client, add your ThoughtSpot instance URL to the appropriate field. This ensures that users are not prompted to enter the instance URL during the OAuth flow, and the OAuth redirect returns correctly to your ThoughtSpot environment after login. -[cols="1,1,3",options="header"] -|=== -|Parameter -|Required? -|Description -|`toolName` -|Yes -|Name of the MCP tool to call. For example, `getRelevantQuestions`, `getAnswer`, or `createLiveboard`. +== Verifying integration +After the MCP Server is connected, some clients show *ThoughtSpot Data Sources* under a *Resources* or *Datasets* section. -|`args` -|Yes -|Input object for the selected tool. +To verify the integration: -|`tsHost` -|Yes -|ThoughtSpot instance URL. For example, `https://my-instance.thoughtspot.cloud`. +. Start a chat session with the agent and verify the response. +. Verify that xref:mcp-integration.adoc#_mcp_tools_and_resources[MCP tools are being called] to generate responses. +. Prompt the agent to create a Liveboard from a query response and verify whether a Liveboard is added to your ThoughtSpot application. -|`authToken` -|Yes -|ThoughtSpot bearer token used for authentication. -|=== +== Troubleshooting errors -==== Example request -[source,TypeScript] ----- -const response = await fetch("/api/mcp", { - method: "POST", - headers: { "Content-Type": "application/json" }, - body: JSON.stringify({ - toolName: "getAnswer", - args: { - question: "Total sales by region", - datasourceId: "model-guid" - }, - tsHost: "https://my-instance.thoughtspot.cloud", - authToken: "your-bearer-token" - }) -}); ----- - -==== Example response - -[source,json] ----- -{ - "success": true, - "tool": "getAnswer", - "args": { "question": "...", "datasourceId": "..." }, - "result": { - "content": "JSON string with tool response", - "rawResult": { }, - "timestamp": "2024-01-01T00:00:00.000Z" - } -} ----- - -The `result.content` field is a JSON string. Parse it before use: - -[source,TypeScript] ----- -const parsed = JSON.parse(answerResult.result.content); ----- +MCP Server is not connected:: -=== POST /api/search-worksheets +* Verify if the MCP Server is reachable. +* Ensure that you have access to a ThoughtSpot instance. +* Ensure that there are no configuration errors. +* If the issue persists, verify the logs and contact ThoughtSpot Support for assistance. -This route searches for data sources such as models in ThoughtSpot using the REST API. - -==== Request parameters - -[cols="1,1,2",options="header"] -|=== -| Parameter | Required | Description -| `tsHost` | Yes | __String__. ThoughtSpot instance URL -| `authToken` | Yes | __String__. Bearer token for authentication. -| `namePattern` | No | __String__. Pattern to filter model names. Default is `*`. -|=== - -==== Example request - -[source,TypeScript] ----- -const response = await fetch("/api/search-worksheets", { - method: "POST", - headers: { "Content-Type": "application/json" }, - body: JSON.stringify({ - tsHost: "https://my-instance.thoughtspot.cloud", - authToken: "your-bearer-token", - namePattern: "*" // optional, defaults to "*" - }) -}); ----- - -==== Example response - -[source,json] ----- -{ - "worksheets": [ - { - "id": "worksheet-guid", - "name": "Sales Data", - "description": "Sales metrics and dimensions", - "created": 1234567890, - "modified": 1234567890, - "author": "John Doe" - } - ] -} ----- - -Use the `id` value as `datasourceId` when calling MCP tools. - -== MCP tools and responses -All MCP tools are called via the MCP protocol. However, in many custom apps, you'll also call them through a proxy endpoint like `/api/mcp`, using a helper such as `callMCPTool(toolName, args)`. - -[source,TypeScript] ----- -async function callMCPTool(toolName: string, args: any) { - const response = await fetch("/api/mcp", { - method: "POST", - headers: { "Content-Type": "application/json" }, - body: JSON.stringify({ - toolName, - args, - tsHost: "https://my-instance.thoughtspot.cloud", - authToken: "your-bearer-token" - }) - }); - return response.json(); -} ----- - -The available tools are: -* `ping` -* `getDataSourceSuggestions` -* `getRelevantQuestions` -* `getAnswer` -* `createLiveboard` - - -=== ping -Runs a health check to validate that the MCP Server is reachable and authenticated. - -=== getDataSourceSuggestions - -Suggests appropriate ThoughtSpot data sources for a given question. - -==== Query attributes - -[source,TypeScript] ----- -{ - query: string; // User's natural language query -} ----- - -==== Response example - -Returns an array of suggestions, each including: - -* `header.guid` + -Data source GUID that will be used as `datasourceId` later in subsequent queries. -* `header.displayName` + -Display name -* `header.description` + -Description. -* `confidence` + -Numeric confidence score. -* `llmReasoning` + -Human-readable reasoning for the suggestion. - - -=== getRelevantQuestions - -Gets AI-suggested analytical questions relevant to the user’s query for a given data context. - -==== Query attributes - -[source,TypeScript] ----- -{ - query: string; // User's natural language query - datasourceIds: string[]; // Array of worksheet/datasource GUIDs -} ----- - -==== Example call - -[source,TypeScript] ----- -const result = await callMCPTool("getRelevantQuestions", { - query: "show me sales data", - datasourceIds: ["model-guid-123"] -}); ----- - -==== Response example - -[source,json] ----- -{ - "questions": [ - "What are total sales by region?", - "Which products have the highest revenue?", - "What are the top selling categories?" - ] -} ----- - -These questions can then be passed individually into `getAnswer` calls. - -=== getAnswer - -Generates a visualization from a natural language question for a given context. - -==== Query attributes - -[source,TypeScript] ----- -{ - question: string; // Natural language question - datasourceId: string; // Worksheet/datasource GUID - context?: string; // Optional conversation context -} ----- - -==== Example call - -[source,TypeScript] ----- -const result = await callMCPTool("getAnswer", { - question: "Total sales by region", - datasourceId: "worksheet-guid-123" -}); ----- - -==== Response example - -[source,JSON] ----- -{ - "question": "Total sales by region", - "session_identifier": "abc-123-def-456", - "generation_number": 2, - "data": "\"Region\",\"Total Sales\"\n\"East\",100000\n...", - "frame_url": "https://...", - "fields_info": "..." -} ----- - -===== Key fields -[cols="1,3",options="header"] -|=== -|Field -|Description - -|`session_identifier` -|Unique session ID used to group answers. Required when creating a Liveboard from this answer via `createLiveboard`. - -|`generation_number` -|Version number for this answer. Required for Liveboard creation. - -|`question` -|The question executed, useful both for display and to pass it into `createLiveboard`. - -|`data` -|Data in CSV format. You can parse it to show tables or charts. - -|`frame_url` -|Optional. Iframe URL for embedding the visualization in a custom UI. - -|`fields_info` -|Descriptive metadata about the fields and chart, useful for explanations. -|=== - -=== createLiveboard - -Creates a ThoughtSpot Liveboard from one or more answer sessions. - -This is a two-step process and includes the following calls: - -. Call `getAnswer` to generate visualizations and get session data via `session_identifier` and `generation_number`. -. Call `createLiveboard` to create a Liveboard using the session data from step 1. - -==== Query attributes - -[source,TypeScript] ----- -{ - name: string; // Display name for the liveboard - noteTile: string; // Description or note for the liveboard - answers: Array<{ - question: string; - session_identifier: string; - generation_number: number; - }>; -} ----- - -==== Example call - -[source,TypeScript] ----- -const answerData = JSON.parse(answerResult.result.content); - -const liveboardResult = await callMCPTool("createLiveboard", { - name: "My Sales Dashboard", - noteTile: "My Sales Dashboard was created by TS MCP Chat", - answers: [{ - question: answerData.question, - session_identifier: answerData.session_identifier, - generation_number: answerData.generation_number - }] -}); ----- - -==== Response example -[source,JSON] ----- -{ - "liveboardId": "liveboard-guid-here", - "name": "My Sales Dashboard", - "frame_url": "https://..." -} ----- - -===== Key fields -[cols="1,3",options="header"] -|=== -|Field -|Notes - -|`noteTile` -|Required. Do *not* use `description` here. - -|`answers` -|Required array. Each item must include `question`, `session_identifier`, and `generation_number`. - -|`datasourceId` -|Not needed for `createLiveboard`. It is used by `getAnswer`. -|=== - -== Complete workflow examples - -=== Single question → Liveboard - -This example: - -. Gets an answer for a question. -. Parses and validates the response. -. Creates a Liveboard from that answer. - - -[source,TypeScript] ----- -async function createLiveboardFromQuestion(question: string, datasourceId: string) { - try { - // Step 1: Get the answer - console.log("Step 1: Getting answer..."); - const answerResult = await callMCPTool("getAnswer", { - question: question, - datasourceId: datasourceId - }); - - // Step 2: Parse the response - console.log("Step 2: Parsing answer data..."); - const answerData = JSON.parse(answerResult.result.content); - - // Step 3: Validate required fields - if (!answerData.session_identifier) { - throw new Error("Missing session_identifier from getAnswer response"); - } - if (!answerData.generation_number) { - throw new Error("Missing generation_number from getAnswer response"); - } - - // Step 4: Create the liveboard - console.log("Step 4: Creating liveboard..."); - const liveboardResult = await callMCPTool("createLiveboard", { - name: "Sales Analysis", - noteTile: `Created from question: ${question}`, - answers: [{ - question: answerData.question, - session_identifier: answerData.session_identifier, - generation_number: answerData.generation_number - }] - }); - - console.log(" ✓ Liveboard created:", liveboardResult); - return liveboardResult; - } catch (error) { - console.error("Failed to create liveboard:", error); - throw error; - } -} ----- - -=== Query mode → suggested questions → Liveboard - -This workflow includes the following steps: - -. Gets AI-suggested questions for a user query. -. Gets answers for each suggested question. -. Creates a Liveboard with all answers. - -[source,TypeScript] ----- -async function queryModeWorkflow(userQuery: string, datasourceId: string) { - // Step 1: Get relevant questions - const relevantQuestionsResult = await callMCPTool("getRelevantQuestions", { - query: userQuery, - datasourceIds: [datasourceId] - }); - - const questionsData = JSON.parse(relevantQuestionsResult.result?.content || "{}"); - const suggestedQuestions = questionsData.questions || []; - - // Step 2: Get answers for each suggested question - const answers = await Promise.all( - suggestedQuestions.map(async (question: string) => { - const answerResult = await callMCPTool("getAnswer", { - question: question, - datasourceId: datasourceId - }); - - const answerData = JSON.parse(answerResult.result?.content || "{}"); - - return { - question: answerData.question, - session_identifier: answerData.session_identifier, - generation_number: answerData.generation_number - }; - }) - ); - - // Step 3: Create liveboard with all answers - const liveboardTitle = `Analysis: ${userQuery}`; - const createLiveboardResult = await callMCPTool("createLiveboard", { - name: liveboardTitle, - noteTile: `${liveboardTitle} was created by TS MCP Chat`, - answers: answers - }); - - return createLiveboardResult; -} ----- - -=== Multi-answer mode → user questions → liveboard - -This workflow includes the following steps: - -. Takes a list of user-provided questions. -. Gets answers for each. -. Creates a Liveboard with all answers. - -[source,TypeScript] ----- -async function multiAnswerWorkflow( - questions: string[], - datasourceId: string, - liveboardTitle: string -) { - // Step 1: Get answers for each question - const answers = await Promise.all( - questions.map(async (question) => { - const answerResult = await callMCPTool("getAnswer", { - question: question, - datasourceId: datasourceId - }); - - const answerData = JSON.parse(answerResult.result?.content || "{}"); - - return { - question: answerData.question, - session_identifier: answerData.session_identifier, - generation_number: answerData.generation_number - }; - }) - ); - - // Step 2: Create liveboard with all answers - const createLiveboardResult = await callMCPTool("createLiveboard", { - name: liveboardTitle, - noteTile: `${liveboardTitle} was created by TS MCP Chat`, - answers: answers - }); - - return createLiveboardResult; -} ----- - -== Error handling -The most frequent issues fall into two categories: - -* Validation errors. For example, missing required fields like `answers`, `session_identifier`, `generation_number`, or `noteTile`, or sending a value with the wrong type. These are returned as structured “invalid_type” errors that tell you which field is wrong and why. - -* Authentication errors, typically HTTP 401 or 403 responses when the `authToken` is invalid or has expired, or when it lacks the required permissions. In such cases, you must obtain a new ThoughtSpot token and retry the call. - -=== Common validation errors - -==== Missing answers array - -[source,json] ----- -{ - "code": "invalid_type", - "expected": "array", - "received": "undefined", - "path": ["answers"], - "message": "Required" -} ----- - -Fix: Include the `answers` array when calling `createLiveboard`. - -==== Missing session data -[source,json] ----- -{ - "code": "invalid_type", - "expected": "string", - "received": "undefined", - "path": ["answers", 0, "session_identifier"], - "message": "Required" -} ----- -Fix: Extract `session_identifier` and `generation_number` from the `getAnswer` response and pass them into `answers`. - -==== Missing noteTile - -[source,json] ----- -{ - "code": "invalid_type", - "expected": "string", - "received": "undefined", - "path": ["noteTile"], - "message": "Required" -} ----- - -Fix: Include the `noteTile` field. Do not use `description`. - -=== Authentication errors - -If `/api/mcp` or `/api/search-worksheets` returns 401 or 403, verify whether: - -* `authToken` has expired. -* The token has the right permissions. -* `tsHost` is correct and reachable. - - -== Visual Embed SDK equivalent - -If you use the Visual Embed SDK, the MCP approach is similar but requires additional parameters. - -The Liveboard creation flow works in two different ways: - -* By triggering `HostEvent.CreateLiveboard` on an embedded ThoughtSpot component using the Visual Embed SDK in the browser. -* By calling the `createLiveboard` MCP tool after `getAnswer` through your `/api/mcp` endpoint. This helps you map existing embed-based implementations to the new MCP-based approach without changing the underlying ThoughtSpot behavior. - -=== Visual Embed SDK - -[source,ts] ----- -const result = await embedRef.current.trigger(HostEvent.CreateLiveboard, { - answers: [{ - question: answerData.question, - session_identifier: answerData.session_identifier, - generation_number: answerData.generation_number - }] -}); ----- - -=== MCP SDK via /api/mcp - -[source,ts] ----- -const result = await callMCPTool("createLiveboard", { - name: "Liveboard Name", - noteTile: "Description", - answers: [{ - question: answerData.question, - session_identifier: answerData.session_identifier, - generation_number: answerData.generation_number - }] -}); ----- - -MCP requires `name` and `noteTile` in addition to the `answers` array. - -== Best practices - -* Always call `getAnswer` before `createLiveboard`. + -You cannot create a Liveboard without `session_identifier` and `generation_number`. -* Validate tool responses. + -** Verify that `session_identifier` and `generation_number` exist before creating a Liveboard. -** Log raw MCP responses for debugging. -* Use meaningful Liveboard metadata + -Parameters such as `name` and `noteTile` should make it easy for users to understand what the Liveboard shows and how it was created. -* Search models before querying. + -Use a helper like `/api/search-worksheets` to list available data sources and then pass `datasourceId` into `getRelevantQuestions` / `getAnswer` calls. -* Use `getRelevantQuestions` to discover questions + -For open-ended prompts, use `getRelevantQuestions` to decompose the user's request into concrete analyses. -* Log and monitor. + -Log tool requests and responses, excluding sensitive data, to help debug issues faster. -* Handle errors using the detailed validation messages. - -== Post integration checks -To test the integration, use the following checklist: - -* `getAnswer` returns `session_identifier`. -* `getAnswer` returns `generation_number`. -* `createLiveboard` receives: -** `name` -** `noteTile` (not `description`) -** `answers` array -* Each item in `answers` contains: -** `question` -** `session_identifier` -** `generation_number` -* Liveboard is created successfully in ThoughtSpot. -* `frame_url` is returned for embedding. -* `/api/search-worksheets` returns worksheets successfully. -* `/api/mcp` works for all MCP tools. -* Authentication tokens are properly formatted and valid. +Authentication failure:: +If user authentication fails, or if the server returns HTTP 500, 401, or 403 status codes: +* Verify whether the MCP Server endpoint and ThoughtSpot host are correctly configured in your client and are reachable. +* Verify if the user session has expired. Log in to your ThoughtSpot application to start a new session. +* Verify whether the user has the necessary privileges to view data or create content. == Additional resources - -* See also: xref:mcp-integration.adoc[ThoughtSpot MCP Server overview]. -* Check the link:https://github.com/thoughtspot/mcp-server[MCP Server GitHub repo, window=_blank] for implementation instructions. -* In case of issues with connection or authentication, refer to the link:https://github.com/thoughtspot/mcp-server?tab=readme-ov-file#troubleshooting[troubleshooting steps^]. -* For chat client examples, see link:https://github.com/thoughtspot/mcp-chat-client[MCP Chat Client repository, window=_blank]. - - - - - +* For information about the MCP Server features and architecture, see xref:mcp-integration.adoc[MCP Server integration]. +* To view the MCP Server code, go to the link:https://github.com/thoughtspot/mcp-server[MCP Server GitHub repository, window=_blank]. \ No newline at end of file diff --git a/static/doc-images/images/agents-mcp-server-arch.png b/static/doc-images/images/agents-mcp-server-arch.png index 6b3993b0b0a0bf34b4cb4b642136f0e7cddd1d0b..fc21c959c4ee5ade17e69da16ad348adf18938a5 100644 GIT binary patch literal 195167 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

0yzbq*oxTz)f6hg0_s!Q`zuE#P*}B~ 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

6Rj*V53y6MUgT>doTi~AJ&8AzGN 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 G@%TS)xKFJB literal 188466 zcmeEugMy1SH=9O(u}MLHy<5u_V|kw)nf>F)0CdiNkB zoO93b{sZs5=W{=YGxN-T)?Rz{`mXIMEh&tFb_ea!rArth&!5R&x^#{9(j}B&R3z|8 z3dM(e;9r+5Wrd$y%KAw(2mV7^Pgz7?LgEq~_#5>S(&by1uD~Aw|6Fo6yo7xE_oYkJ z;NO=nU5UGV{%sr*;@fMqaaRz3qXfer4AfmI28*Z|$}3wbONevnKunol>O!>jnCwhn z!ymZBW5)&lG}W_uNoHqiVrI!@$4h?t1Q+-l{xLH-+36!z#=PXp64GQ(Ar^XM>`eEW z?vwMOk&%({Sm^3=$vzW0`#Jb8Uh-E~Rw#C)HHnT3TB zJi%ybZ)WwR1@Qwlaj6k-^t}sSUBV;w2}Czv$2Ze$#1XsDJ(@ zGt0AWfekXlzhQpBbf5Xp+Tf==@K3pWTg@^7D=y@!Vx{_+dN{NCy5 zr(mmmXgth+*v5xOpgH!}rAq>rM4mmCx4XPJbgi^Y=a_TVP^%#@Q}D|Zs`$lQn$<+)8rq1wsKIwx0y<;;OH>t)`ZsEy^R zE}oGYo)H6k{+X>K$sNnsnbbnNwQ>I4r*AG@MnXo#Bop|TKPu7C<+aA{$p71Se|}b( zjie1J|Lgx+1O6Nf1=)5efpEdUzvcHzn2sC7|4PK!ivkEP=favf)7<{N_&@)6(;K<+ zpP!z80&Pb1DATKzVf=5zRu4P<^?&f=bR}IOfkj4EKcl<)>iu^wf6H~t&f>wVtzs_7GTJ^7c@NAOKxvBmbk zeEmj1AGvy%Wg-Rd|CA%J5)hFq|BdVa6On&#?|&llPiyc$5&2IMVPlo^yJpo3r(uHoC%CDR?cXZ7rvpkG3OM3|bvY-Br$2#3Kcrh-f>kglGI9$i2w`yBn7~x(d||^5Uw2Ccy_57RlteDP0`)!c71@^& z_En%3xz<1Suw5+srnC8^F-7g+ZdGey=fMc?NVjLK@kyv=vgS~6?ql`ATi**&i$W~2 z{Q+&#n$VSsgSF&XgBr^@cT(45r^e0f@(6;GA<4*NYa@c?#l8xL%pYBfT6!g>94qAq zH`cVi>Kij>esa1<3MDX(*W8d1v{bI6Hb-->Ooa*a9(8&%^YCl;=M#u!#9J?HY41Is z`5Bo%@$8cZj9BDI`20zZ;0CH2TAlV z=Fa#Hm8|4+bw@tBm-WS;=)%io;fDFzpJQ#Jz~ui#^6>SnoKzX-WRVgO8MzEEW#T-+ zwe1Z*Yt{&RDj&H3;~(8c=Hv1(zX2ohz}8=6_!| zNmH;KFy$C=_GfZj?kbRo+-m0!q!xH1u#6@iu~{R=?B|1Ftwpk5E5+X;O8R{9x&7>2 zN8&!)lN-eB;;mueNrVfF3xL1Te%m+t>=Wr5(Cmui!jm$o!Q+(^95tl8ZdG4b-fO7` z+a=3|N22s>_k?}DZjlL)B_rc8F*qz0z+xQ6YaYMTjN#f!-z>KsEH#bgJ0P{F*Ys6X zq2<+zK)mYBB`6XOrXzi&2#4+&qXqVmg(~)jF*r6|_fx~BTeSiP2?m~%3>vo%m+kZ! zEl323UjvWgcnI*^CUtqW>UzAf*c?7W^)yQj_LJ|xhI=WWf@36JBars-pB=ps_nl&OW#MOhA;bFY+Q zkY5lzG*N-Y%($e17r-c-o>UXw?cGhWFb#)|gB9069MgfquD%%}$I-`*ohdTB4Z-lI zpxQ`+g5EI>>u%}U6U4Tf-s$1pc z_Ev3411~ZA&@8j-qn9hrHmQo4s%OkiM88gYJl%D)Y`0d^6Qphaa9Tkry2HNdhKS!E z4FyNNM+YL>Y*u4+galilI<3`&;cLD=s=A5cH$*K5t9jyU*~;zW&s!XvfF}swB$>pE z$%Peli#1;?cd@A&<_DWxy4hmP+-3F~*6pGqK-v(;8vudR&Yn<<2+!|@RsL`j4XZH>Etfs(`Jmpmo#{yC`A++w6UJGu3mV{r2|`nMm4{am8eoqC z#2%CTvxe&sFF3&Q;ofUY9uzxehwH3_*||pc>9R5KpEr_YHhE{4j&~DgRoDVgBE#p> zG`7jQUkl;s%+g3_fYBou0(d2m1)}+>M)5hCv#pWoAgxrKG(2$SSt;A8O*R_L&>2|B zI#^ItgGA(Bm4623t{B#B4znK(G#ZD~DYkO4b?giGF5ZvA%I2qBEkuepqXN`CLhgq_j@EMyvdXth zfyz~zu08ZKu;2-Al5vZ_u(G`A<%Qw2?Za7O1lg8I{3kpI?dO(3UE(Oo20FT8{OYJF%C$79d!>dX&5G6)hp9_bU~@o(m*_~5KVAI zenz&g{Akrpnr*JxO;7CPFGfp_oySUAmYP63So%F0;SLtq4Rn0Gqousa?0MU|c)<#i zvc5D0Z+Ft7a?=6Dsgx%&7uSyg>vu(B^Zr?1^+kPvl0VO3MyyK&E-r^r=jyZ?)1%SK z<#4lS&hTyL@E|dl-XBjXpK&>8*)iW}q~}<4JyC#rBp%!%_X|>!c6YQCmiFML1H#Ou z+=miEW?d^?Xp)g2(OeJ~qfH$o2=0eWZ9r16+KV0yn4?Z7MKo*?)3)|2S4{8PAd@Yl z8RE#`n`=Z>-ci&`dLj(pD*PnF@svyL*7^*#O6F=0WN}x@TA6kR2eLKGxWdhZe-j*! zv@zY{Pw|M<;k9&HJY0oF6bzKo6-@;ftohFl4Zc(elk~*6H*?me5Zm+LLIPrfF(h-J zU*>hkTR*u;L<+3hMam#0M|mLFQLwAJ11ABxj^3G}qBG)LQZtf$os`(NVsF|ph(>D2 zI6FE`38o>j$2Npu0I(V9NZn<6AzBk>5(M?a^4P*IyUA<0I{H$^`EYRCi@ufT$fq2) zBUts+$OIwfZZ7re9N($n#|l|4Q0lpSQ&SE2U~%?1rVA%Yrwq*RTd0E68RaQfP!Jaq z^)L7s#1N1$_GGHf_;F{yu2f5udV3WtoO6iO%6HH><{tgX;OAh9b}O%~)9TnlhN`BE zgzdTMO0fcIx+qN#*%_bW$WibZlyB1yU%f$e$2TKi_FY}$psmK4R3B7QUz7`G>7Q2T)LZIm?lx6-3Smt`DpP@u&asggsEm zst;SSPV-tw5S0kD7C_AlH{`-0vkkisbwNBvp2-e80~6OOp0E{%Ul6y(TbPdN42DZ* zf`Lq@IXY;W$m0YgQtNgx!b@u={xnW*4-;fB z@RJ2@Qw?Rd;Q9)GNgn0v35+Aix8vbgrN9E4bN;%aVZs)k82*a^e9J z)IzwSZC31fV*6Fx-;T=AEZf(S8q7af)}YIO6!OP}fkS)?q$!guZUC`vAO0s!bI}pL znP;Pn#TLgXG}lV?TtzqGI|#@2fb%V(-0o*x2Vcxyc)FUz1v93rSy>Egj!gS_#!=~T zxD|7(BffDkn;@0Yc64)=Zxm`w_to0;l)x#}O}<4be|~n#{(id&j1Lw2l_1JWiLxoU zPW^Zk> zRXQ{6LOq6T1Gvv{4h0H?5Vj*9Z>+LjS$5@$Fz!qltMVWG75BJI)L8W?{6&EDwfFur zPCQEqZFcK*8x<^SJ$Pq7g>ym=AH;JdA%Pc&+MDT+;@)bPkIkwWdmG9asg!vEG_!;;=ZqKUOz^XLERWpi_3=xfhiM+KL^@=v8c zgaK3Pz;0SNVeQZ#CO`$tx@hJb$)!!##%uIwldmJ_6bQLx_oA{g;lxhUDis72wWS-A za0bf`br8VCG=&Tr>l#xgSm#`^JKmIX^0OpM+-;mLg|X{gdC78!0OOjV(}+@zKqyLi z_}-CzTvu(R6Y?I- zRBY;u;qaw`m4LXdd(k4yRefHiJE`Pg+QwzzyfRBIs&@Eqmrh5d8x%c_pn;neQT*Ng z1qg>BtOsNVX)0f9Q`-CsOb621OX411P}@+37efPq8j}bnq-9hV8ED}`VY9<32BZ|L zih9W+b#NK^jC6Vs53wNc?U?0XsnNmTa<<7hb)Z%u-eND$76xq7bll3+DB1Fr%zxEp zwdg1X>?utXaXSzE7rG)ZmIv)4t$Q6CgALn`(V2(89^Ht}>%@XvF2tg%{9w(ao9^g{ zHF5F3t$Pi~@|Lc~%OMY^?dr~vfW-jQhLP5op0j-{C8o<4yr}Hbcp%VdjQ@fVkvLJ* z(gzlck{UPtv+|9)v=<$(7AQ80PBmY}JqDXb((^_s&*E_=tdBvB zw~gs+n{d)R-^BJ%;@tY93QVt;*lZJv?Y1A)p_M9Z^|kW@dgV(6O3}xC1B__wh2@>T zs-EvkAnqX`O0;8*;B3vfdDLo8z9sfyicrpn#)aF$6Yjt}Cd_Y2NWtwPnHoGeF)e+$ zlPXu?#X0yFDKB9%R6m`jAB0>8_LEV)7>a}-ovld5fqd*dP=#gZT~6Yt&J2YOeqt>H z*{47adNtwQVe~f1Qi^d2nKcX}C}II1E_xtND7;QaiZGUGZz~V?&{eZ4Hee%8TEKmJ z#+G;5`6{G8$=*Eu9e99)wE|M`oe2aBT4if#LDVo!J5~ASwhR^O>DdZaM7;q6u;X-N{xNEN^A6-6o?azThpJ3k&U=O6E{J;p)(++S?HkO>WgWXAT*5Snhz=eBP57SzHv_`@^Is`B1(^60j3NWBL%eR=l(LNv$-JK6cyVFVpns9sDDLKmcxx!-{dwQq z)J5WAE6w(qbyS?JN*#aR!llB2@`L3Py}KS|_jH`ccy|WnLVq-3*2_RAB|esNTUe15 zOPs4jnlbt3vASjv{Ufc^AU$0)j{d&ED=45xmU&gL2Ua*eHvNFJYOxvyX6Z^$@5Vy0@&sw#i^&NY(JVW0r50IucE^ zl`LH-o~_{MQn*2kXVhk;nuBSX%wI=_zhH$4F%`TAu-n|SG*@N0u8P_yimYY z(5keDD7gA<2K+WG_tc>cK`vSazmi%U+|pl6HqqaAJw6mBv7a1vTp@mBF`1$AHPA>= z(|&5mW*}24mXFtA^Er!{l+(cy3^w9&FyYV7=dd~ZMYqghs}TG*|M8mtU!+c}?c0t~ ze9jIgd!LH+TG)D=cE{ZD8I&>2vm+tpk35GpEE=frHSJ!?n$CHmswXn5cux$bDWogz zGd3g}#Mn=xGnWPwg8~tL#qs{atn9iWr8ak?RS?*sLt==cD04u}F_68WGWrB%9LbY> zU9QlDt(6geFXx>h+lJ%?P^tvvJI|*ko8^4JDx#lT-KC_(YqvToKTTi|l?(DRr`7L& z&BVGMe{JO>9D~(o%OnUjuLzSm<6IG6E*twm$lj+LG?}MM&OTo{pO!AWS76*j!uk5e zp+?@Ps3`2`!}tw^lrtaVsxF9`1`x9z1L>19F>}J(U2h6c9b+@hQ{?mS=%o`F_2n4m zT(75~5&tBex2#OPH4AYix3C#;-T@ZafvV}t%%Hy9lD}4P z*xQuS85)>R&n7XiuJ;j*PowbTBrg-tr7rV5M8!^WRb?R75kbo?>^G|6lc>Q*pcn|NmQbCS`4+2a5F67=ojW@mZO@~Mxr3T!40Ni(tZCCPs9m?QV!x&oQ=eRka>J+shjOLi`NZqCE2#?LRe zI9+#?v8?yg1D(PFvy$G!`@COux$q2$U3SN6fbBQ&yqp{eOSWi-jF{IEH{m|;+Ind& zCcEK*MGV?!gQcG{PwVzAI418!GCs{Ovu+PEg8Y))tVWcfWS4YC~wR zxiYJfDXIwGqq^2wZR3$^#JEl4^R!>nd8-Rp0n13!LJ=cRXZ)QJ*OSg}Hxd27-HzB} z95o5*Fk&t%k0o-Qm1>R=r;P@hSf2ga1mo^QX9{0P`JO(IAc>JamLhtQ>NWk`+?Vq# zW`nO1e2Z3nmRl(VZ*L7-M8nw2fno<|k$h^kF zmSFOxir*r2J$w+NQsHu>EUA?7rfCrOw|;=)*vtj}kO#5DBQA4<6U2F6DaGIFXWpGE zSK@M1jPl^cyXN|UuguF@*D^foWIVcFh#DCU>QIldWMJ~) z0)F4-`i-+S95}SMG&$>3tF&v#ae9Dn)GgCNo-gdx_SV*u4U^*Ck`E*$lw^PPi>xTP z-WqDBRjsBoT)LOa@jUCM@R?0G^Ay&QB2Ht3_rvk3EG^p5P63et+QZ5jO$QoK(S&gB z8&3UtdQ+nP*52I!2jefpWP1a$g9-Y+=mgQ1El`%hrDBhE18+&WTMr}1jf)Mo2$l^HMktb2-NMLesOSAu+rbS@9Z zJ$@JHFG_7zx>no!El<~lz*4)UhVv~GZ7ETDfwpVSXy&E+eBRt?ox2~Ad4Tu(}LF(1~XmV z)ZBAEnC8=yVbXXd`W=gQVb$d@X6B)Os!?=L<wc0Lwm4GZYC$klT$7gxcQKMa zVk}zrQz4WZ3|PjcH@Fvbw8N*0qxfB29QI_NNYB-@chs2CD!z1Rz!k46veK#ZlTf$? z4ZxP<{2YvC+ou=i0rCs+7!cDimn*A|X_h&3Wvcbx$j6Ej<8NKzKiQLNNNdM0s~PlM z4x?<`it1FO*t*)Vl{N{7Mk4aP|$A0FmQ>vLI7`1B6c5<;RnZM#(r zj@Fx)8}uB=@qD*L4uTj$y;yR|OlE(578z6S3k6~MYjr|NAm#dD?1P<2&1xhX`68Gb*n)VVI*pvwTDR--I|U|(Kh|GM{;wAn9s}DWFY~E zw?E4Kp%}BC5qh!*Gd8ocZ^3>VP?_lOb4cJei7J+AsR$h+M;k(wMM zs<2y6;co@BF_ovmKkD5Lt`r9Jxj;uM3qi82?&oEXEfQPz5vc+wD#QZ7(z+qL?-`b? zo&y@9WQ6%Nf&+3K^~iFehj}R=*@>`dE#r;Avt;r?i{rf+Es#23JrXnW>XKZW(K^{z zdanljs(ZQf0SU-y#CR4K+(})YFROlg{nFt!ZG)C7xvGx_lTN{4J6gtbmuF3i8rEF^ z0l=gnLYv&jm>DuTd{26xFF-8)v(Mh#hmqs$WFHQpToCN0F1m#&vlK>)Yn!a;?bh)h zf5Z`6r>FyRB*sTI?u-TTy)8435h(SP6;Y%EYFtGAqP0Oioc8Ff%Z?`VqNTt^E9xN# zLfklAbTl=g9$6YdDM5HW2GRjV3r{r}nKoc0$+z(ih;H1zAE!$}|E4MNly z(QFX*sX@xDYyZmnk%9g@T;F1v`(tJONw|XF< zVj4X?XxPtf)YbLTGgS+ULA0C=fbbh%UJHZxJ7XisSc`US1RwPfx?Zu#p3 zUv@f2Y&EkYy*_m2T-~8!>zlwj1CLCxWys(x7X66h)vq|p9Q-mbsz9+)4Sh-U>I3qw z6Oe**RJGZkSxz|b?}5U<_t&J>Gh6x@HKS~MB^Nf=VSv;430*&Gu7o9t^hu%kn@tpj zxe$h>TIDOS4v1^KfC(AF$3k}!huP(l6~E}aanF;@8u^?91i8HaoZ}wN-4)IK3bnt#L0AkLt^7#db>%l<0pm(5=4#y8l-j_e# zQ;LS^>OW`$sqL4oRJmko?t9eXiIlazgdFDM)n5c)WjMk`_Ttgr0m0X6Ys}BB6(M|tXVjD@}Av?o8%nJMQ)#hwx6+O7+eIgQ%X$b(!xC!If*K3<3T2%Wa2Ph}_03*DnkVeMKw@0r_*Ls2a>(Ja}{ z{{F_FKSur+<{sy+A2D}#wiZ8Ip0efk=)0Stdch!^+USttj}G<`G!fwnne8uF*grX9 z)vXWEj!n`sE1pXNB@W5JAd*Axjvv}#jgtwR0SbZPHPy7qQGxl#y*mCik8B$BXgyJx zhOK)vM4-SG-xZu_}bNi#ZqAEGCQvD8_ zZNfnqG!zW@?qyV@BA{F|?~JwLXZLQh@7MM7?(RRE_0k?lY{uQMI`qqK?+KGiMsYw~ z?%tYQ`9%2e)vp9$e_bb_^HZQk8Pt?W#Z)vI2n^TVEkhGB6^kv|eT(AuFtr*H!?{S2 ztn&T&IbRasaT}&UNCj$gQNW|Djk%M?02kDdmqr!ZAV2-mojCM5s}L4el3_Xp}DteEX2r$an{N``07e1hRKS$?90xp z)BzkIgtTW3xq8;_noJg$VRYpUqIHSl+K%>Lw|tMnleY1bJKJGv{#27}-f*Pc zInZ+Qqj33Fw_1Z!)SOzX}uf$sq-c!=tsP%UH00O0Pcuj03##mmjR`kz*g8J<8<(Ae6-qchwW{+`j3QN@5_3Qy__kFw3hVzC|+oO zNG5SViS<06LK6mM$=B2U&(Dle6i%;2lZ4z637b*sXSXP#Pm(8NH*+7(XMFuBN;&Mb z(ZUI3`0=C$uTrpb8W^WxP_ooslD`$=Dcv`6a=bG+Oo=7zL?sq6{WH1*uvOS?Zebu^ zmuL(RAg`=DWg0ZFJ_G9{X+hu#;{REuM<UfXq6kqkt2l%V z=8=0U(<`!EQYo=n!qH$L7Z-lch9gr8oC=4E*|+L$TTmz5WSxwE?S6w;QAICgH@O4k zQ$+MQV#5XfM(NI=UPrZ|lil>mTU+cZ1>SA8Flad%?k6{igD7lyPEAGVI@^MwwWI zZ7ORtuzZvQfe&jd537(2Lx#fVT-Ym^>&bC0(JI)!x^}jgUTszk;G~sRfwD_(6RMOM zY{(`t_Ab761Nq|44FAa^>y>tG$eLlb1jVRQ=+qlV)qFc(q9^VbY9Fb5?^SbB^8=y6 zm!EJ;@NL3RjEQPpq6E?=>9^hUYvL2zuRvs;nlx~NnyyD* zXQrC1A#UxHEX$vdXu35(@7mju;=|7Ozeu00CiQl^&2MJv{jN0nvvY(!#HiR zcE+fs3eom$*oZg}fI30wdWmKz;LJV|VcP+;R@u!1IjjB74!=d)uD(azjzf(8mGF8O zfCbf#>0(ohKVM>10hYN}jb)o>u{(31ojsf((XAI1Adq5xHSQ(+=#(+dg-wDK9&@3% z*mgw|6zF7^8MkFJ;=Own*XB)>~%6Jr8wdM9=+OxrD}N%{T`s1_$PQQXG-oHv=! zOs&1pc zxvdN}9t?EE*=q?)%xd*aYV1MXEpgd5&Jc8h@*M&Xm9(7M*wKA+W^?a$aSk)HkBJw214Y~#%23VWHp3=(@F%A>&S*IR?gO+EJU(ODmTU2C+C)S%$iupTHgNkn8k8tcHPcQuqb z#wL8JiC!)G9TWmuq8_mlOo5gLA=Yg$SSE>C*?@BIYq+BGo7s`60 z)%)mnP*kb76KD@LPzS-=6gOO&n!e-h#s$Kju9x3?jahYJGlGDb4CBTK6tc7;ly`fv zc)hX0jBI7_vct~_hg#0aaVHU5ZSB7K91^M1%Nq^f9vfJwp3WLrI$YvH;6LtRLP1EJzo&mtePVA6!pPhej0^zdg9gv@30w(gX9$icB}?J#m$IVbnAiP3so1L3=$~CXJ7cW5hTUuz4K#0 zC$=B7&;H?4y+M~Tw*yhz#Jnc}-8G;0<2HL_(wnk-c_9w^)N#2?>@xXnmdi+q=z|~` zr9yuuAUT>zDK|X3jht%w<@4^$ zUjguN$;xoz#I&i7{7UK3Sis%v>48-r_e)S*Jdi~{ZHcH@Hj@QnU^Y}-w)z7dUS_?e zV?jR{jF$HP6u5z@;R%=Jv}duWz>wbuA@CiYb0u@M0_oBj3Lxqh9IyQssg;A3{Z~Iz z;nL#(($tyG#W@D3=&es25Y1>VYr512ExJ-$0kt0u?f%c!q21!nnu6cNS{!$;vm17ZP-yTOvv#Kl;;&-*$zVR zS}rcdeE?^?v9uEbn*Q?qlWrv?R&(kPmQq6gc>haK3v>V?HDlpGRKxPG26p_mzwU9tB3U^_G2Ol!*r{tOG_eY3&$rZB!&00<2#%_O|jYu%YWO;+gh2p|Zc z=fxgC%&EC>|AAoUQDO4y^DZpv#Bc3>UjRVoQh<{%*?M*gD3ESIT5I;FapgHl7_!3$ zE-tTP8ex=>Q5oa}7EQySp&_=J7GDW4P$g|bj0px1KZl+Dh2=~yjZPZ4@TFXW+D+F5 z@zeRifXL9rp(vauMzi=--1eT3~+i! zw>^ZjP5y0Vi4OmKUe!xbcTSN>*aw)Xl9obZ`p+^F2x1#-?Jo5m4bQ=f5v@P|hscJb} zAzh#9VH$jL13_XVJy_GeCKzFu5ZmwE8u6z}%DM-}6K%t^EfYIS1TXCOpkn8|y?P)K6thM+i zg$u(#dJn-wozzd4*i!^3K&h?{J5Jo>n(egvA?&=Ck8jr$kbVKDDjy8g7MCg=;pznR z&=^$nXWtx2+AkL=#kXyB8*?3Y{nf2*xz)J%rVzfDIC5lashHvpKlj#8YoMqDFsdYu z<4N;fN4HD`pQj^I7Xa6)g-?|Vr6NW~1Z+_BTOz&=WI2!6A5_iOPOIfRZWnRO%~a~a zlvLpyhfd*n1gIeolON)-Sq+vhZ7>gZW~C0pDSZ^ETfxKus%| z1R0%jzz6Mc^+<|$n`?Uu3nHAk#^Vo%@Ur&5Jw^JTp>+Vb*ilmP0=T&E*6o9z?jMPhje)%#rA%O*mF)PbfWObI{V(tUK3~U`657 zSp61LXc`$%0EJH|&WP5Tt}>a6G`DWOhH*x&YA5$}ra9mvA%AnrYr-`6zM$gh0J`u# zOTz&m{MWAg(-c*zCHZzCMs|R_`~birx+vuuM_gUNRBS_69U%BarW-X%DA@~Kw8R&JO4UG z83&W+y!igZvbCsq=cQ`|x2-0QH;oMsEdK7`5aKR?i8+l%Mn1&M1ze5j(B;)i?aURH zW6Ke5L(TXGNAD#^JIoE)@`k1v%|yfIT(v3yFt>P|E&UX;r1Ulw|IvB~yit3JSnZBzhEOwlC$ zx89tfRcAkra%!&uttAmUP}3d>+*d`=@8oyMa z5B8iiR2)u4C_6sw2Sp#G=Iu^o-cKc;iW+OIMwx+i<#ZJb>kfis!#XL>i%YSDRU@ zS|6p4RC~(FPHC&u(k7Fvog9zIfSF7~0^9vhaCsI*1qr}JnhR{ia%Tcyb)}qp!FZFa zy7e}IgDA&mT)(i1bug32n4Q$|0wJ&TA!Po)^oG`*`=MB=1&z zt#L*%Ia>)_YuqUAThA+DS(og@&;+Ka@rVITR`0Ic2Qc@8>-X*>g5py^a4zg^w8Ird zjKH7*7mniX{t`&h-ti>nH!wQ3x#U=xnoL>*W-3FS{MF$E?pBdfOYD!w_6!f54AYD& z5y+C{e%SpIbd!IhIYCjyTJOo3ME)zM8fjLydPb6d-rJuFvrpv)tz+PLxruCl+$~uu zbS^OJYE+7D2Mg3|K|S)p*s+-H$X4&K&lEvmc$1OHdGoPBwB=%iaaN43=tWgS1>)*< zzo`~6rlTwgg;eYvCq*t-EET$!pDfpX@xowN-l^w1Anq=-A&KxzGt(*I~81|1TldPKNCb`0w55$3?Fp;rAtV6CcH29kU=D1d2%E* zjhjXHpI3`~CqIl;rS$ufaMt{cUulm8)Syt#-VsPXli*D>z! z$2t0waIYQ4&L)c&=#e7&~b*2@czswy1}9gsNM@E*T^YSX6| zNhx=}r%TYcxL~HFH<4q~ zFRgN=Gyrh`Dh+0;I6=wn`@0XktaiO$M6_@gT-|RFlDJg!mEGuT`fOICtB%+P;I}R? zxldx8br3?A5m5Qf96QEo+zkwSZT}n~#Y?}ptu_D(?y$Z>okLicVr0Kd<|ltKfZ@)o zG>DaObZq_x+7PzQpUhYMj_$dP#VJE{APvfkB_qcrf{U5G!b}Lghja9A_n+j%BXuOZ z9u0oYzJ7<(sy9cb;*cd<*Luxz-ezgQBv-Jca0xUnhP2;dbo)+>i{b@=8Bb^_WhC9J*@+1~=sRB1yg%jvPnwO?@@gay>Go?W)bbVFEkC z%Z*%S8Y%=6MlWfpoG;klOHd$M=MxHV1l&*$4>uNJBgb$76Y_Q7IF147XHi6|QufaX zV|Jz=T^MKSRa&?UQbkDaHv;klyom~ z7vqWxnl#tv=z%I?7%v9_J7k-N_SdYFbV-h z7gM)_e+7;?>u95%`|MyJ+rnsZ9o0JXA#7gSZ)0Jrqu zbwH^%(-)QTY&(eO*WvdUL6X`9{$0N=rf88ruWOwL zkBAL|IjHL4Jf6#^6IqB4|M6HoAt1RlT=dF$E9)Nw1Gkh1P9l^>05PxrZ%f(3@0j9{ zGrWM5|2x6py(%C+Z(2uwbzzp}pG%QJ;MgF2I*j-Kp!5771pX&H{}Y~nRf_+wg$HWn zjnDkk0{?F|49bEIcimMtcv)%rO#6M@(DAzg_yQDS1Dl^8ZtPbq=L&~y5*hy8G=gfI zHYDUt#>Lti3$?U-ev189Vt807Yh(h(cqeJA7P`{qL(|ng6{-jW-54R;`;8{APHREp=mU~66z!qZPTP;kHnZq z<^DnCV^HPHAXC0LKr1bS1e)iD-MR<%8`I3W(CsBPf0B*rTl|6N@WWHPPp1kBab9?e z=b+WgNCbGVdUITQveXze+xeUs9n>Ox|8`LjW(pkbghtbS(KHd@&$d}M3`lloX)OGD z>Zn`#2={OM0v;S>@*!BF4=zxj7Er0lTdbI_n5pZ&J)he#@2kWZ&iuC+3KV7kQ7MCS zL>vv^FCx^ejI{D<`J8v?!)gEdBlxUhqKvV}IgQ{)o3k=b0}V+MJ@ehBCE|sjFJ43d zthBTw*q6myTFG;lDA0v@&wg?MOL$o=;e+dhyzg8aViNXrWt_A(u3>od&4e6(EI5=1 z|5Z=c*8T#A*j22$3c*FjqSHHL{ycEnKX7b9D-pWj9_!x-_{VV56u|Gx(QBG+NW6H> z3-IOjUSLCty=;h-90-QMRpfS9^kRqY$@R_@vcV5zEY)WFc8(ta6!(Ex zPPMbN@5YGhjtrdlP%5V7NJuL`xw_2K4;_E=bUIvO%X~Wh>i1H&irZpr`y@+`*5eX3O3FDFNzejHC z>7iWKMww;X+04JFC3=iNX$BO3OuxNsQp{9?-}q2^C;9tt#S{gN!*r{4mWQ0c7K~L5 z6S14fA0B~W`li?J8I6x%~KB`spK(-gnYH0~2P`Ue4v>V6IrL*P=TWrJ7(J`nJ3k~}m~c0E|)HXXEi z2YQbArUOPpcoGp0Rand3oc1&R?j4}GSfCW58f6V;41;KVPE0n{Rw{s11eN?`rElM_ zE|9qXxLZdwkPa>(`IC}X-U6{xXuYg`ICI6JP({TE$$(fAM_=j&HMk+8biz-~tS!~K zC4%kum017WqO>^@|MBVuNa3{{3@5RrN-;|wQekA~)*2Zc&-vGp^rSz2=OB`FChO9m zc9Z!C!vrD}&S!?qRloy1tE{v)0OHln-|G_GR_crw6M zTIH)hj6qpRme?amnyKQjnc`qkY451*v_FAaj|(J}p}7+bbf}x}RRCnb3Albrt_5b? zv!C(R|Iun3uTf`8jN1*vz<+KARR3g=sU@S<{VPrmKL7O>qq=f1T^<;jH!Gd{;mdAR z6wIyrTN>WN3$TlGt~!&we8Mqs!IHy(d>h*jJ6iG~;kC^IhoxsL==d*^)(9UK#a|nk zgkKV&PznTiM(cHZY%5po&4R}18$sV*Cuaxh`6UsIXX&WzsYo3n5 zB}JgZ^>v-=Gu7V>!f7zuM8Ddf4vBVXOf(M_O?$gMWczJlnO;fFIb>?XX> zZ7A!yZ>Shc@zVt~P-K^u@|xIBikI3sM>7K>dJv`Rb1Ml9GHP{ph*sCiHhuOtwgMDA zP-Ed=9W4Oqae!xW*Y6Z){V_OR7X38<(jF?Axdu<*@4$-_d-zdA$t4Qe%dcRKl|Ar* z?Z2O}KrMDo4y`-%PjW_H5#{?@`U$7lqY1b#4)ney9Fo=%FowW=<<4OwPSjIX>h z%q+Mw!aq9C>09_it?NIJ5_n>qUH$1DXFndt*n2h{;$&fSrP?2!!ZNO?s6>LM#d;U?B<{2Kl+sEED-C@LdR z&s=Vx*~tnHW&4e~Ov@7R1-RmG^V>{yj(BPkHX~ap@QVe^O}cZJET1m>9A#TNi5LG% z7B*@No$pHD8g!fiIB0H*N$!tZKQ<^-^I!G9?C`yG8h=2a-~otGy#7gYto~Brf=nvw zF!?I`>^M4u)po6aWiqA6u;tUk9FGpNEme#T9*0?;0Zu8Su4(A zyClG$7u;B6K0?tdi82iEz{g;67-e|fJjVCDU5Hq6R0#@tdClRj`#O~1+B&ZIomg=5 z90~sE$x7#d2nUyC>!frWSTbj-G);iLe-~5a46Xr4573vt;NcMK#TlWhyVQgWZ}&0p zvw%K1h~qX&Ag(EQj@o~FW9dE+12vcK5>nJH7aEU%0&aJT%u&%@ThofC$<46O7us2W zgiAp@F6C9*Fs~memzC~jy5kNp{8|yvvsB3CoBv&*27%7PFpD^k<2Eyp6K*g8xq^Zp zL%tgNQmgClu^yaH@(R#hiA~3Y9piT0mf2B&cc{JlTA?6$U+{ORB@GhZs&7i_$JqdY zO%k#Ul*%C5S^R^s65VaEeM!jt9!?BDGxJ&EUdLXeYeWHajyZG-a1ZQMgc_p}8?>MX?=JpX7gZiGDtX>T6 zUQQb^;QieyB*4KWY9yN`{mHomNgbkYz?V3OL=6`bH01716{f#z4(@qwy z17K8!fUpzI6_}ld3*drd`3-NHaOhzbsU|3R@!FnP2Q`2K&q)i61U?&|WTc4bi(K6E z;4P0700<<(<#+VaxW`X&;$(syqIT4yb}BeIgCHbfeSUJMI2TTwz-NG>2n~l+f{Q$tigi{}(m~NF zp^irrXliq3`UR-rA4w^qg&XBavv!@aAMtG6%1aYcF`y7{X6E-a`!s|DH!Fhsf?|8x zMNc+jZIk)90PX>KI5de8fwDL!F77olP#%~1&%D~DtOhQ&bxSw#e^&aQ1_x;BAQ->y zbh-Rs+kFdMegWW+U~GP}%0D(;=IJxmD`{zG@yLb41w)bGMm3Y}&j#QQOyE~aPri?; zllmS1Heh+E9=AdS4GHwX|QHy7@%7G7ugbHT{@QaC;W?+0y$tPgIRA&&ur zYxCV_KmfkIxH#YvSneNzpys|p)624*p90qZLJ1itcmWONU<*E2c4X12)g?M*Ah>D8 zQ8F}1F0>UueA^t}nSt~S-XBuZa?D|X-Mes+-XCojK%Q=i9I-fxp7<3SqG+^QldrVU znW{l{g#+9(dUlzKqSd_nO-ELsl47kf+}W=*mJvne3qenS77~^Tz*lPMh{G?1nyj~7 zH-0Vj`<0=fI$VexY@vri$WEu=Qb!D9=<$V@J1+?2sVlmN358^mf+mSg5i2zq932U zqm+n$gb_^La#W$>Kk_xkdHK;!lw<2s%>QHWz5lW9-~aK*DIv-piHfq7nIxO+ahj(U zl07nu5G5f|_R8L)aM~FW8ObJ_vRAUV&vClmudA-t`}%yo|G@Vbmu?qN=kxJ=JRiq# z+>iTlzdJ6^RKJZh!w}Zp^R`Ay>vuME+589qB3dL!{2<_*6t?5GVRgTRD_`aW7S37G z|N6o(g|qJ3w>BxbB0TxYzgx}LK>_dh$Gj6y6qF|3QTS}tZ>wGXxR_ILDy#y^LH{`v z&E+R2u<;oF>q`hJPCz8HW`?bE+q&O?h}}qq@KuFq!AqDQo4khwQdVxeffSt1{r$Nb zOh~#1*Z=n=;77CARE`puQZ|=IO3f$ivV`RCKR^CkwOGejAg18hZLeWd&)2*D|GGrl z{B>Ig0*d{ZilTe>|N5lo&jPZRwRQK`chluvRt?ts*_Sz`|7$Uh|H{5Q)t-1J z9*N_tjz59rRH!lbb+C%%^biqYGfy;0d8?kEk|F{Qy3ic2Iy9;f0t$jBCdl^d(NZr}=QdQF3CXE00 zrhreZreEvfS7ORjP^#|L^@SKdLDR3}6~MP1a$)$H*O7$a=_R22_nk10?MpzH%~Am$ z-y{F{mqi(5jz9j7u~NI5{PuX-MuqDR|F#1}TL{X2b_{P>u!!hfd4YNKA)yF7nyJZ* z_ThhB?!O!sM>Sp>xiJq{1+0;ejFFU_QfY>*T{a@tkz)Fo2`~2J=GYr5YGIF z>gFH&`mFm8y1yS0>|$2$gS{=~xElvSojHlW!a0$ zStpQlVpb~)F_fS_etD)4{0GH5?-X^dWA-+e_FQ()AN=&*OR#ZtDY_tB(IZ??5uf(^ zJPUEeflU%;)~4`#%NbLAE4JF=Ir;qd!ForK*P$sTC7WiMMNw!Bzm;~;{czA+Szf7^ z|HguUeD{Kicjvk^L=MpAeP15^`0OR@*r*(HxIE%M>h+W0;GOe-u+z-wo-%Y$Iia^rj(qw-&f;^{9e^8#%rc6TO$>tHRhda0$GoD zR^N7)G?3E`72A&7z)ZdJBBy;Yt8)Fb8)vJ90i*KjF~g8`(wSk zXZ>3_W^uezDaK>bsh*DsFB~tGoA+?1KpNAZ+d=Yf``fB2_cJ#ZURvpmbAUv6zk%zo z;YajAG$S>NvFSLY4oz0Iys%i_+6WlQc~SYZ{BQ=5Pp)mvzuIvozuE(r-^Kx^ zMRJUnf;NBOi!3X=wzBl+>yHoPI|xv|0R`XHX7{b-w#{Z3=t=>~JWMRMZoa;D0*6Fw zyj_Gp-g%l2NIHcs%bgEncr8{&Ub^B6yN`9sM9M##xQ=_gnQ$mO3_HuR*LHSkXQ;65}=0k{Rhkli;-@)69c$xsHdKC2q{Qa1M&^r&2#Uq@^my}f0Rh8ZA#(yQ5P zu#({{$SY_pzO1V&Flpii^8x%^RVOt|>fkz!!SpqbGfKX8fYVuSupqTzAn<5Dypo7n~qvbiv8HZ#VPMp2bgpIN+ zTpG~V8&?#>r}tbp9w?MKKY86==y;d(kTR=hj=!HcSl7A9Gg+F@gN;xjA3kjgul*V%e*tU$?jhe=uBtw6RZH6gZf01k&5~8Rp9&gV^x$RZhME0kUn4ZuRk{z|-}R+C>Z^@4Fl? z$0_7^lAoQ(;`>W*D0I}EVm*`Z6s?x0D{wpN4g{?vZ7@PgytI;nM<4}JSsOcOH~K-x&{yV>5s^ju%X;G5+oB&& zZmq#2(sYQw7YuQ8uB7keYZn-QdU1}0{};??4j@K(-@zU-G)g6lO;j`kr9C+(pmp=ViRRxWz0x5%_k4Hl^8o^T%Gkhd zE=|Z~5f43a)|-rCcE~Jo=!fE?)ATQC#m6~(6ZnvrT&_?)aWB6A&~WRd*N$wUvVpT{ zuxYFDc4XBe4bPU;afHHrX?k+vksY<@k2i5liSLTuRqt8``boY0K(hrC^(|p6FzjRd z`jXTo0i`wT@dXFdgwz3cEVg137%K6Y#?=G?22-s24GiQs&I984Ys$BG?g2^~-Ol$V zAgQsmozdeuSq+Gdy;Nn+;5lnni1gMHzGi3@fsL3#vy>{3p7Z4%<=#9c)hB4))(*3- z%lm8X{T$Qn30`o9h=5Fyj;oNHG{Xa6F(2k1A>Ucvg1FFs!EUN0Tq&;LI?3_7p-!T* z8A~D1H)=7_kza9dYf~j&nc9WimQ`}8jgIRwlt05rTFgt zb*+OvM-X?r-_RkMt?fHjq(+G3I{76bF}!&E-oft1h*7!26bQhXXONV?hZ$%u!+?`V zc0zQ|U+usPS!|dL!eK%hkvDtjX?DBo6%CQLAdt%}Rni~lI{F9{%+hJ4j}8yQdt#R) zj8EX*E3SpZ#%^gdaZmn4@K$Ax(#X7yhs^GAoz&Ef-Cko~Lm?1RyQm{lS+nyxlrKu? zKS43%4dlXVs|DOyWv9(W81wASM=;_!>mK62p7zJe|&n%s+85k z$c6(XYXjko957Nq*sx@@l6PUaukct+D)@_O+1@ExIp9ubDwK&T%3WZc-Gi6Y3udD2 zsx~6}Om6M3)FZ89U|c$mg3JS?1wIGUzvH`#w07aAW2!38eEiV|5q{Zf!(UUSB9^ub z?rRz5S|w>O{19VU#y*)q4ey)Xe2Hu*ZvU9Q#qeH+#9y)QvA4J{K9Sdf|NhQe)@p%_ zA2?X_h{zu&O@Ad@2uOv}Y9;RB>oBbxY>n;xDgse55Vq0T<4JoY!qJnS2=g9GON*dT z_`!DMrqIjkM2<+nD6&EfqPb0zYgn(MA8+)Y%<(Qy07hybIdHy!WZ2`CgWNeHAY-y}tAj2+b){^)Q`Jeg3%B`&XY@i>b+%jFGI<&{BWE{op=D*K;2be8`keL8&! zqL;_*OuPjxO-yk6w@@)SpC;I zD(;79mtj@I`21V%EPGA9ce7OeRX2yc6%DSeRL@k=%)9;2%ZDOC;ho^j?`#tqtuSmU z%+cs}4KZwB>muV}kw4PEcuh}?4a;SDc;M@+^MYM1WZWza3LIWDH_N{Vu!Ui1CQF`n zy>b5wmDEk10g=edA!*q77p%%rt^_tCk=w1!Zyz*Lo3>uq=Ds6>!ghrOC;yAcxjWaf z4wzyuJ{{{wU7czjI{0d(X6>SI>NpjAjld^s@=|W64(*3!AAi`eyk#HG;}AkKl|MR9!-f+J?@3r~9)|KNL@xvn&FHqDohWyh@{D*<^* zVy&#v4$0C=CHhxqeW+`8r!Ys|yqz93UYOu;}^}<4XamUM0>8n!Q&3 zHJH<$ucPpx+~w{*W02MBX;crmqM5H(E)_`8ukWf41qpWiEfA7GMR#k=FS}^gub6~X zY{IB|aS=6}wu3JGD49Ew=(`l9KJUGzvm5D|wciR%FvIdr?w-)sD%Jts8mNUeAo*mZ zB+06}CD9fMN-U|a5E|p$m&;@7K!brIza3;iMnMT^IoIW|64VJa`dCxmfyy2vuE~}A zJ2MH{or6*E4+j|gCSxb;*Wld%L96Aiw7_DJnW~8pEUxeH@p;|S)1!MGlwcrd%KUiI z?|iara}`w(4Ih3LV;ha)Bu2h~*W%61P7{q-$g3bF)DWVZM?ingZB}CyeP-zJaL=yB zJN@p0Y{dr8(jv%)-L1KSzhmC4DHMKROxVf?atCD8KAa;OvGAJD>G$?=h=sUA z7V&=5TRck*sI@}AE|4|5BH|9|P%B5|3p9|}C!RvkJYDL#dEvUTJrFeqE}; z|78E>T=!M<19Qdpx55VmHe#y9>UY{j$Wfl4(2Ew-Gf&XGY=c-6=R(Iof~)((`{b!? zgCjJ;WGRe13@6<@PXDd95B9e{-N^zAmp(PGvr=AMNBxq*%p~XC^6EnS$}g2Ao!O6p z3Hu(Jg`f1>8IaX+WA__$Bab*Uj^K5RWZ_}Ca$F*YNMeKUh0h+NTk@E^EU)$R0GQg^ zzQR%Or1uy6qKBO;Xfej7CJH@$IWN_Fb+6#qwU}}uz|XT_E37^`3}cJb@bW(d%dT6$ zK9P!m1}L6{S}bI^%ync*K|*Ph7mLvfi5;65@h%YY48taOn`h`@rfpvCDln1J(tIqn zw^CmC-M)nz&EH8D_BkagnmewJPg7ksOaHLZVFESp+qtO^0s*?u(zw88f|jXPr%%5u zpIhf0RrYry*xpsGss#P9?$?24dp_S=Z7Xa)!|S+^H`KA~m#MC=DMMfaDtvHC4SR!z*mk>ZtV506NW7=LM%#(;p9!72?Oi zvlb`+!~EksfkX(7areT>{*yCd;k?m*!gn?F;57Fk`?>A8jD%c6rY&dIx?5C@C8lhFKBQ#%r9A4cxPs5X-wjJ@IPZ z1~Mee#8lz5ZDv{ptCOth$s1b{T!yxkthbZaBaIsZ%3}aS2cf2<{9L}PANT@Z1uIw1^?qWtC|+U!YOvjjp$_&?^Pk zUy4V?s&}eXIrRB^8d@JHmvX1ZtI6v+s=YSJ2`)^`cnnH=ERj8ftvaN+TJPRo$^4{v z#suUFmvfVyP?uGcE;r2Qdc+`@*au1bGs*0`P$@Ch=gCrg6h}1h-&$B`Ht=;XGCHIg zd%Mx=(Q@o%X$d&&;Rxo4oWZ$tDo7@H6>i%x(D6#s3KcGPG-Z^CS91*CDeN7^Sbmt} zQJxk`J@r>KG$v=(-F$J=IXHpOar6tdZGjj*_< zcoZVXDT!$Lzj$744Pzl4>tuan6mMqT)(qFC18J8&|4VEw>G*_dff|-$+*XcL;aa#f zv)7z-#2Z-A^3h{zSWl1kYL1FL)gQv9J;2p0iSipf5BZ5^!j2EUg4$xsPnB~F1SZT4 z*PODXYYJKpV?t>%zKcRdm6*)#$>SS|-HF`Dm8%KD{GYEfMMV0S)gKJk7Dfy*adw0g z{V1HC1g_ceones;-tZ>!vVM>aSe7vgFQzbOkPxBCn4%}wCPa7YCNbxFaUrU(ZH6bH zw|sCvU@Ub&A-pqJa0lY^C`EHm0fbU=Ki~}8O)58}SDS3VcHs5-K~ecB z+IA*4D^Q%rGoH>qcD2LrSg7#2-ND#j3ZVl34+H0duus{u#bv8!4=^+~N4V%@iz zj=BGH%W1U^w+M>uEcL86+&N?nr(Y^&X`zsvc?QWy6q{OXJz@}ts5dXdh23D^>o6I_ z93BBCC2QKFW8y`?ob#p2hh#9KDG;abC%)Cnm)VN)cUKE-TVcd|Ux`iozMAZm- z>{MEVjxrJsD}RZpwZHiIy9IEJ^)j5n^3qL_AQEH@q8QLhV`B0nq&D92S}vav@9rNS zfYzMVl&Dr;p&zKFzt0gTfWWAkaN9$CK|e^78;ykUkrGZUE|x?@KxDxr%Hc^>mPH@5 zmg3}nKgnFS2TNRJ_1n)$x2gnxFeZJqV=5E*0V@ z-d_8{<8AaUN%PzyBwlp87QWg00I4j6jV1tOHJD`B;RKolsGQEhaLupDKKJhp&4qIr z8nlYgSd70SXH{Q8ehv#20M|)T+9Q>kANW6f_k_D>GD@1V^IN{{)!hAvU71pc)>PW} zDHOB`p$IFc!N+5)to<$}KSBmML(gDS^K$L>@w;EBg@M*=PpnNJys5ejP~6|WvtJ|( zn-pBKyRs};rO24rH)*e!nh1;Y6DgJ*pLX(V4f?Xx)!uZPy=%tdW6J0G(U7$LovW$W zXQ8D9ia~}2OY~vJQlv|#6s7NTajxoZe@c zx)349tj;q{RM2wTY&xCg7$4i`oNG`mEXcXPA?HB#5J?aO2%)9`;mpmg1M%x@GTANC zi%&8lUKr$-n*~GRw)N|(NVh@zq>=VA1N6&T~^x4FJniOfbm(J{!hQY+%7IKC8;BVanzI( z&*^aSldf~rc$0ixRB`vPcqAbN?7_Cs3}iu zf)Lz_RZ8?aQtD*ecZbZ<{*qV7OpS8$ITyf+uUcVrptS|jX9ZtoY*s&|C?H(A=n&Mk zQDQq{X(Qg>j7FZ;UZEV(xI2VBar%b(^Jl=qEU_L<&%vi;3G=op$2rc5y&s-77xcR% zMf{k`=Fm$1!)_}5@1kpw92%Kbhr@K;zeJksMk1;N2cb4T0e0b#8Sd!f} zz9Kz94A`%vLjts(xzaS8e#3}Q9C_IwmJ_5;eMNUns9 z=-$)9E-B{t0q?fQevAS7T{3K3)_U->h5SaRruGEt%H67()|fY=bxS|faQLQ3fI^oL z<5Th@=DLaWph+=*=>EL*-|x|I@KJ z&pdwn}S26n$F zd>_l9Tk-)aQJ1H@lyOdG&YY;v=N~iPNA!!0S=1LiOq0b_-Lhfok*U#Wrm{ zF;$Hm|0`F&(D<>Ln|2;TS8k!dU5dA!Psn`Z@LDoq63Zv3zgPl=&94092<;|I-$?ux z8y=c`mTE;z*N&gXo{I55XxQ(@8GL7f&o~hI#Nw;B9L{%6l?o?|1xLtB#%h0>)c!#Dn`Xq5TawO z*|!&rvxcDu6opIrS&GP{!mg2Kk3h-tDH>#1r3Zq=WiU7{RQbu)^hwcgtK&DcE)};# z;s07{t0|`MZJo@1GT6Qd;A?4ZtU(c6*cI$0K-K!N&#+<-D5sWvxpTyq7g{`I2Qo2q&i6v@)D2C*DcQ^%OgllV7E>1I3m{OVo_kAhrfSa& zXsq-{zjWBR<6E}RhdQ`Gw91a%jv{7OA*BkYzk(L=#kT3XMaa8p;@P14YVAK-02U>| z>0O5BH5Qb2y>O%)1#N!UMt^+QoTHy(V4V9))yT)zwgHd`d{CR(VO zF?oQeH0p{w0b!zExr1gAbWlYJ8oB#)LmPAgbwANS z>?34+1HNFdSmMA+4%`@_$J_R?o#3-T<`+1f0X7-StinD?5`HLRYBqDyVu<$x#V`+D z=zxn4vPePt&Y#Z7FuyeNi{?_#)mHVW@I;IC17y*?guGahcC^1OCfDo*CLJz$+&A*# zs(c}H{dOYEZ{F-I$|EsxJEvD2U^z*D5|@W71Tu8aVIxk^D9}_YO6)`(L~!VmNuukU zd_g)u`=m2Tq&}+_@RL1ui{8uq)e8Te?flPoXMu`CaRPcQN5IS6nJS4(>3cy7J|1Db zo=q75=NZ&2lgYD zw9hSyg+<7@PgY^FzxeNLL~E&%E+cr*u9-NdheqWZIYpi32doY%3ZU|VGw5Mgcd|J zbH0dvq|XxxBm~Eb|8-}WlW_7ZJXpa=F`l+4M3|HlfD7MDgP|v0v!B>|3LlxSumk5o z9!4ry^Oe>|VlGJZl~J+R9ok#&sg2vit-X#lJrECNkoR)q-+xI{JB1XiknvaNMA9VEqQ+?eFtn{xfzgV{g zEuWqu)~r^4_O>`M7IEbutnh^My=0JLyj90B%yN{cqWIj9aHG52(X4Vrf><~;R}ykX z=Er;B&!TexP8Ft8)-2nyq0mtbyoHN!I}n(}oYYs^mAwT-6uZ6XFO6}o>Ug1{hI=_2 zRrIf`!oUEl@&Okb#~r_kZ06EnvciSWG5 zNx({lCR#~6M)EoDJnA8oSjD2|=2bbW<4dp`N{gV-iVyE**8`Q$32a8UM^1fpN~rx6 z@Kd={6#7LyTRE+;{6biDU!HEMebt;)6`b*lxm>w)b^AfHAc-n#HBHGIxjX_*q3Kvn z>g5NN5QPRa-vitJ=vw+JN9nNfz+E=Y+%gb}UvlN>2sUu8+SGgmjSf)1|4dYrHg3jb z+4jZhvpuwPzJ0Z9!O~E91U-~<`DzJ=Y$$N-;Q4yvviRPt^3HbGm!QVy0 z|15AwH-@ExzWVjC$ysKd!qh$vv|TNEL5IK~YWe{n?cN4xyiu^GO5VRX)XV~zj3xD* z-P3yE6ZN1lJm3}u8g`n@%isuxA0z>SM|TELwr4EORG zWTfB=hyS4QbNnj}6}M98WxI?$CcYcdys48K?ETq5X^75@qRqgLfCo1}QdxRNckVW& zzSC>EbR89y>a=>`p{L&t>~Ti|8I9J*$q~X*HJ}P;fua)8{Zc)_{K$ zQ$=lF#^Cr%tmI+l=6+yZ5TDI6d#h* zNfF(K7SsKpF>vN&@`I=M)lyF^mcjBNC`GvV(bR&`1hx&)VUp&Po`loO)!iA*}z zeyF~GZ`Gf#`OX@3@M{%hH~kJ{7Ur0-R6jZ+^z_}CxQM`liqmU*HhTU+r7gL1FZ~mK z#{b*Nro>=ZM%r`v$rGF~$u!aaHi5Cl>ebP*2Ptpl$%ItblhxAXcDZ+*;Q86Gx0#7qn>^i1 zPF6t|#XD5x9~gKYY$SK%kqdo^mjQu14c~u606A>GO6y^MDyfIJ=HJJc2KFDqJ!2C>Y5{<JeVoFl&%yY-GFUGQ5S8h*L{hV4b!z2-L^6LXZ3-e&S2)@Yd-S=6-F zR_ckZSeoGRX^PR=TyOzZ-d&Dvjs;Z^KWgK5=w3vd#9w&`T^MuDT}Abo-2%_`9^Oc> zi~DL>n3L#1AIoRO@45f*j3}0B6_woGpj%NO*(h%1sT6hXBOg-7>paj+rU8%YeYx%z zjGc*^Q-6KSOG?N0F1d?Fm(AqYlv_D*sG-&OVE9s!XcZROeayN1uT1fTcN~UeXm;E6 zKHbw=;MJsRzY@2l&_{aulVsO9tLADKfIki!Aw|BJ-aJ>;y4prc9HXwk(z(|d7qGUk zx$d+$0DJ;mRt*=B-EUv72B{Zo0;mmd@e zjHuQG&oz#c&8pd}e(V7legrq`Zq251QN5^GmiKP`3=CP~_n2+3fUJA56{$?ub4jef zn?8Rmt@kIgyKT*%9&^5AEx;jb-GNt7$Z7U$(^>qNYS+m*9%inGN~c-%g)NC#E{nUwOik)om2H*LksGja+WFv)iQKZb1&KXc&mog z^c)MGIt(nsluVqUzg#Va zOdcS%$7Q@j%=NNt0<3}8+lsP5Z+{bRHBY$rv2be#zFrz*=WUN&99Czl1KkP3oYR(k zT2iMje|`gpYreB)v0{vu&1M82)l_Q5bxeKMNhm!b!L-BTtTz67C?~Bi6C~pe&Y!fa zNC`s91Mguu{Pooaoxh9yKbPx``jZc(j2`xcdv^(#lgxl!go;zKT4%YN5>8&66y{({ zc7oa9!^3b^4RlvxUv+oatGQPSwEj9h6Yy>k+q~mDZR3~6OX|N!GNN^wH-O+3fc5h| zSuJA@flQV=k_aVqpCO#n&=$5@I*G{RG`DaBg3i71TrX&ccS5~`3i1)q+$0E4WNnp8 zl4ZK3zpaKk602Hfoofjrknb5WIR3@4Zk(Ba07ps ze5y*&=6%vTJF8Pb7){dwtCQx+p%<3vn^ZKa>hee27qIHhZzW982=y4!L``oWGoAw_2ug=QtlpRl;G@ zflR{mPv0?ZlMVw9H~SVsBo4|h=1Qi0%G>yg-s#74>8z|bGOoQ{;29yOAy+Noo$ z|8K75U&|tjjepi%zSgfUuXi03IGfLcSoyZ81nqpj#4{Asd3&VusQ`i-g%JaS`r>K+JENcS6D(_NTUH6 z4tOiRR;f3+_HTEI$5;(a|4&}hFONIi49+-2f|DTtcND24iN|!ov?$r^V2ziTkAm{$ zx#99P=+UPBB4g9EUZ3r>_5FfFeWCt0&+?D&7+4_NV`?xl4mtj-S(jB{L?6Pu4Svc>;k!5Bbbc@5}(8sm8mQ!W12t~LI(X#c&24yR!a^Jf~&kLy!4v2iFV z=(+FRSsp%h+jnp4r-=P{t#yJ1hzDA;`H}F1nh&lb5iC7py@@x6}^-{vG7Ee!pjTagrvY#_} zlXm8n$l=2cuh}F&Ah;C5GthD4y7}*eE51PFPg|)swFH_o8MtIz_0gaf=G4gUNtF%d zcH`^6XfHYrR&05Yas^)y23MrFOP7EHb{|^u;FPKY$(A)e;mJQ%_;*NRcm&sG`dMT$ zdA!!LT=sBzPpBjOuLS{7N;&G<#dFeiRDV?Szb|vg5^K|4e*W|4@qaD*|NcReJFxGt zg$bV@cj5naK`{?3qz9O0Z+3rOKZeQwj0gYt>)trfNQe+6ewy^}=g5DaJ!3I!&cC_d zzwh|JzGLvlY_^X2yUhQ(#sB^rvK%1-Su*Ya>sId=dGD;vU=T&c_v%?{%C~+=;wwjF z{YB0?zSj^M41?~6AUDAuZzYM;UBC(ufeJhV zXDtyRTsNKP8Hc|8;2FiV4(V?8Y-ki1OMz#AQ5xkRmn>9+W!9YU68Hl=6O_IS_PCIs zbwN2;1F3awDv*gVR;N%ctwPG(1~iXxc0aslq$)jm4}LW2mfC7O#aInMr=F<)%`P4` zhBgaWMBYaL@rZ=iRfJyZ-2moo?nfwPfRS$Om)`;P2mETe15|d8q_OCUes2edba)7H zJHyd@e|)G1q~FjMNO+0EV~W6PhgV2radO1VbG|PxXIl@>oGxo=CLo3b6QrUxc3xw- zJEI-LMKZ59s=$^L*ROEO;)B9EA-tPoo02t@4_&pYm)8cgHE~*%r~i5S(7z)hgMD(6 z{^oCl8D3UfY+x>G$hBdp+;a~$7YCp}=>`pF7=K?iAMC!ugaA?pacfvhf(Yod(bXwB zf~TH~+_{vIO4p%_h(DGaE@p&zcNSBO{)_>P6;JvKtwukTi?i@|0GG)C+|^J~`3lk8 z*~29^u@q&K{PF=oNaVsa$f-*1YyHARP7D5j%Rs|)CB@oK6jg3y}D8M@|U zU=)M_O2lpR3nJ1Nhs%q;yI^u2{&w%7t0hkg8NoCOCN0RSSTP>A#>5ewf9zn`#z*HE zHXC#P@$OQen+0Pru)3YkS0A?lk}}3-rR)`%_a0D~0j0=QxKX?V_$zsuJJh=M#Tgf{ zuG)VQ5i$S!o%-v@VGI%SZ){Qdy=h=&#c;xc*1_#>=q~uMP+we`j_Czx8an1K%^-*l zW?6QAe^5;RIv?(w!N82a&POBuSf^7OiNM5%jprkkh7s?8xFE@LU>fxJn^> zfq{}#XEF3%4^%Mx6ZI`}<XfQunw1D)2+k4Cos`I#kq zux1!!>7cVTaFcdnZSzV0X%Gd_GcccwfYiAD7B3qN#Au9Sv~eViQNL`o5@+@H_u7HlBu*}XF^aX~*gHi1@QcpS@MZ$o+{doMj7)!dNjHhIA_h}_ zxCbeoO9v@Z-5@sRT&l9i(9?vj7a{K&aUeO{v;*}?N?amxubY6U9uS-~{e>ZD24o^Q zKP*=)U~_cedW@mT5S${uVBO|qc%+`Vs4gGQYPuvrfN`9LlMkD6*AL7>iuE_3JFsA} z3GQ={v1w8>XI6dx=t-P31xDIS{|OE#A@%diV8b?6XevKjoPQr$gMHe9=@T(hnOb<= zZYme+s>FqUajBo+Mtdih^hrPX)PdV0c^Q&xUOBYv8LZLGo`au972zmj3;yl4!pIgR>~U-MB!>K5H*&+6W`eyp&EaM ztqzf46%v-)3)cYMi}b3}V{os(3-n@a*kgWzC3Ib}YD@Y})m%2c zlf6F&ie$>eNsup>-q#ZacDzCUnU;jGV^X9k+3QMw1R@eCQG(q86(z_#*kq75z@d0| zeU3CK?K?BX<&urly=n!*zTeRd_q?$Y6dWjC+u<8|<1=m@gZ}upEm&%JBLmleIzVqS zyCA1i+za-w>Z>qphk(&6Wvi^R*TyFB<`u_)#hjSGDT-Q+55=r@JOfnw6&GJFqL5~T z6pxM7AhU-Jk(L|u-Em&ASwSvA?Y&}-3M=mPS4?e#VlRN8+jj$EohBe8I>myarz zThK<0EAIGwx9Q1z{f3CV0x2D4YdOIiWLWM59zb|Y$of9kKzy=tq#H%R3`QYo#T?_5=_zO zQ%Vyn<(SV;%%2;QdlQfeCOVosx+veS!3>?*-kiv)YtSU`mWy&D1|U|MV|&g3*R>ZO zIcEe0gF%z}-U77#mavYi+>Xtgewrk=Uu3hrT(3W^I}Phpt-v(8&7_LqEJx;_O;>Lm z@;d@NuW--dG=&8}sb~4m17moN*rqK1a*NJOhST>2celoDu_s#gdMd`(62g@CeM~RA zh9q%w3g0G0exL8^h*vPCJ2pth(Gg3*zfRhK4!N7?Jyn%OYMP4pI+%pbI#|?pSkJXC z4Q;K2cn!vB;AN=ue&y7HD&`D+yEd)wD{;zRbgr0H`qZV~B5ZMd+bmM461|TbxgUhB zvf`I8)QY25tX8U$N8SOKoF?&a?$S1~bOHfS-qe+)(0ofxWH61(p38NX%R93}KgLGS zl-EiLa;I+FY@g|z6S|4YOAZ-N;`oqcibnmSv~;^xN)?R(a{y>^bU46VBfc=oEl5O!M_PS!2)1sR0z0=A7)Q%q>ml`O4#8MR{yfYOsvVa(JW=A>Y` zvLYh?di$tL`S-8}CX2s=6z!zT3I0$Y!53JV$VUwMnq?6AH}~miGx7e1#{}FwQ~ArR zMC)LgIG{0sAMo1zWC?VRacIm-^Pu=frEw4CF57`;n)yD$#n92z z^ee(Pm98He1FDrO6ZIGZ;+l!)O^w2PvK%rNd!;NoijN+;$O3cbVOWndggCY~`Cqq+ zRe4*<)ip_y5&|;#NWdHM?5vEAYl}q=pvyU0IKRTR3{Im}pZ5WMP(KY@tA#NKYKBC` zi8^1IAeyvMy{g^Ld}nX|2O{dYsr1ynj_RC=KCiuLEmCd=4SX*~QLY1ieFlA6_!ijA zkP#w3@Y~OWZRL7>ChBt+$*H_FirOBlIU;fijeT}rzO@huqI1QXHpMwO=BEFE@k2gf z&XKKw>kj|fmav|MGPT6FSv=2v7Q>9-><+!kuZPS+1~0@ss~N+Iwaq&l?@+XO4V}nD zQ5+hbkUv?fy4^-pJQA}sFwGjinwEyGujBfQG6b*BBDc6>xSI!1H?V8&v0rLLgyk)sNC!Zy|Ua__gV)zCDfP(;hsBnq-x z>!jW}SJTx3l|n&TmS#9wN+r*m3&R~_`O%@YgJ^I%5SUK%2n3 za}<9h)M4Z*a-nT)m(FU2PWY7cgURRz{X?)W))s6Nhf~!RP9<4`!5Ba4_ z=&3594S4{}TT^DDCDPn?7Xk-MZ2ClprVj`< zW9b!&aWz*O$hL~z{=avGn%p=fT-}FewsJs_Ijz6IbxoJa!D2%shftrbODXH_!kOK0 z&AvtlibiBwge4l8pBVoo_Y{W^bw%SiG)odSnDkAUns+Kwvea5hPzk7!0%+iSA09}Y zk)9C9>3s7>lZdR&)KrJZH)en1ssv>yIs#Q$*j^)o0g-wu>%bK>zkzWiSW|^CZiD#X zgjwdBG48b~n46Bxj##+0w^(#}izNW)_``#eo<^AJ)GGS^$1zc*f?iSDpc%vW0f#x{ z=IIh+-EYVwVpadB4o_gqVjj2u1qzAZgN&jK;fQ_2mUYnQCelq4b;yEjCL3S3@3J71 zc8mtUO?+1z4GfpAuM;~RqtYLa5Ald5msgyfWd|;sTHr#}Rc^(|{X1-|%j5vil z)W95~9iOcJHlS)Y`;h;~EFGDJC;38~V1(7|OVqjD#3kzr-zF}FipcJN026B340ibK zL4V>1Pee8Gw#8oEnC90RjcQ!v`b24j55+=BQEMbuKS^N3wCTn#R`Y>oXkJ!~j=C*y z5Hyt2=-R98sKK0}!Fc*%51KTpq>z9Y?>v+vU6%Z|!{$?jWN5@7X0E`f9#=mHT^D({ zlLg*Jo1RwCfP-1|@Fa3%X-nHKMBWUjVI8LxIC7}I(Q>8da}RveYO5tki4)BGMb)J8 zWiq7egC1=ii?)za9S)PsAygVVRb*x{CW*%)3jet~A`Bw%G^?%Z4^Rh2;Q=fhe^lpC`W^5VjB+!o#-sF0OalItLA{XqtZ?`PI5t3FQfOzW5 z&U=J-fBld7aF`8KCx@nvx<}y`f58=syI{7V*`(l-hzQ6n)h2-AMWeA7D!u(Q_B>LKjYm*{ zn46UWRs?o~gYzd5Q>7Ng3O1*~63SwTXXu*(;%EeK{p^;+(SuW?&+xWZb$5j&%NR{E zaMEx-L;wDirwp3uEmuU^$C{TxaXEjiy(svoOjenagtY!qfHytB4(K*-786+dvM5dQ zq!lJXdcn|eq~#nwioZi-VQakqb53sAAnfBMH(Hn@E}wb3&{8rGySf4+4RmfoUQY$2 z-jfj$*pTK=gTp+bE9WT^p6v77z4(OE&Ow^ zI0w4ofMmOD;7hQ+R-(ZSiLvYKK--;J?3(=}3cB53p%zN%%fH|bKe>hs$|?;!Yq{Yx zGLJAHD#?38P~2q3z=tGGhUwE^RYFyNq8Or^0HwDYcrE`muyuU)i>{sqs)E_K_eQqE za+v`Z*n>;CX6-ir@?Dv&mM51B-n zeF}$AmT)^evvV_3WNP_@9)xlmssI!VWeX9p!^EVQrxVgQ@&1>nB$WZkDDzp$jLZj= z5o8*MX>#OVcUz*Nog0zEf=hsI@@Cyt8+#*<4$X&n2tH)_VS3BE{@n4)K$AhsqYI)7D;KW?;+LeRmKf1O#9K~I zEd|nK<kC%KeRwwkh<~APqIVdq?6qVL?pB zTQ}Bo*mg9*M|Jza{o${}Lmc_O7VXR1nhhKQTws9eVd(R^v}%9)g3SeqR(LB{*osl< zUU&YH=+yywPjFR2`0pAWo?I%2N~Md9jkf6w`>C&%m&o>Qx&U$lOIEGXqPUASV&*!k zw{omI61~HV^6i1gr~5&rS)t;!&1Sk@0mel1k(IxWM;NkbQ%AqU3C39?;AWa^p*AW5 zAN0Wqn8ai^$Sfwc=@zmI(MKHlE63mLrFSg5xWlCY2<4*cbE|{`H=D~D!(x@2AkI+a zP(t?V<~;M%=s@1ViByerofX}dY{26!_*4FI{9!}lh0SpO4^Zie=uK?=T0Nlf^v%L9 zSAW<@1SCA;G%A0-_Xk~iZPaFQMg?c5y3#6R(k`7hX?$5QioO^Px2013_)+U_S63h^ zPgN+he29gea=9ANyNY;JnSGMY$@}3tsv*HH(?tm|lPXyz4=mutT$j!@(zl@KY?6Ub z#;lU5auMiH+iW+VzYVerx*!Ro)%poFP{?9@Gt0fwu3~0y2jid>qWQ{BtcJ*w;o53T zgts%@4(60jKr3rB%+#8vX(m!Loikt-q988%?7MA>zv7+#hZXR`W@#2W)(!X9zB z2Y+VlnN^mX2$!7SA+GcMXHIp$62UkPlvrq&L_xhhLT4b$i7waFTuikVGv7ZC;t)20 zUZ^xfs_Vv|AVlc}l}r`Q%$EAg4^Sfg)@Is+J8WRg{&HMUKg$xgxqcPUq+a_?qBwO5 z?}3A*OZX-?n)@H1@e6jyItq!+{y1z!VU8qi)tr(|=sL`BS1wnuIZXZlD%?uZD>4*v zzuwK>7p8>zEx}AT1u*eJqr^mO9;ww_wU0GVBf=afd?`^Cz3|-U8!@cW?V;d-+FYYQPy*zLaD?l$a>Esjox$=b@s=>bY0(e!RHIe$uC4FeIZHfunZfTxmwEN_?7sI zFd#~OU0i^=%>d%#>ONlXCbHFPmlf2vXb-U3Icd|jI`ULYyVntq;AhOrA_6K#04j1R zfeFEwbh^e;dthINvFmj05?)O&`vCx0))<`?wbB=wdu8@O4?OSk&1l(S>I$n$mCMo~ zUX_J1K*Z3Q(5KbUx#sw6Gw!cp!vDz?48eoro!CE)f@JcJD@LF{SlEXFdse@p6O((j zjbM)iv}})!B)AM(V3K}ZP4li)f1gV(nRoq@S&{-*EwW@esLZ{w5PtiK@%nG25KQ|B z&DNfvON>?JM$B)Lr1)&^C<||dajHJ62O?EyZx*!gYz}5*Y^>iEi?*5*{Ve-Iq}zzJ zdRSuKDccJw9O&Y^H!$W+zPlX!13Rq?<@T zNjc#*O?F@@OQkAHFr-R)Fb*D01gtdJrQL*QEr)pYFU5)4p*qyy?U2AA187GB!1{U( zK5ChoBL-z|KZdS6pJ!VgAMLG&??+E%fyj^UX%~oQ-M8%zaoyblfhu?=EnRAvKh%tz z2WWk0Df&}{RM(tlRoawlC|lOL7viV0g9nq9@pO3k8)`OkvPY;#df-OVn({Br;$zLz zbtk7(RKCS{%k$!T?FNkR?g{O}wDKQ4710=o4qf+>{t+>{C{<>qt`n!p!X*Az6dOWL z#D$8Pd3*h<(9bYV{hKOwe)wOQwUa+_FGz~{0NqjNWQ{%CObxgl<4!;W?&S66?n>% z5dkMycBIQSUl$EP6o6e=Pg9j?gH8h@2nnby=vdfmzS8S(2$Z{xSF;|7xEq@R&3RoyO6fMDcQ zb{kxZlD0koeX~Uj%|G!eSL{B%8+F+KVehPis$AQ6tq5*H1(gt$P!tL2?h-+|lm-Q9 zk#0c{6+!9lP60u>K?$WKrKGzB7G39Fpu*nYKL4JXGqb5H9^oA77+oO>lAX#4F)&GAzP@(izT=F-Re<>E57E(aDrpi~AQfUK6!)8rQ6u>p{3 zwp1;b7QcM=X}T~O+tVLYy?5TwE8ptDQHd38jk6W>^s_ofNFro%a=s0^7ponr%KcB8ocP0mpmz$I>Xa(0^)6%IUZ+? zUZ^~f?Fs#uw`PDpW>8g8DJs}EOGru7(m8t*+c@TOSqc{Z?G`5!Ox2lnEofs}M_Saa zNK3zJgv^in_Z}uaX(1|(%q@YvS6+~Gond~vC)2L5AxY_exf4tbD1X(j{L*mWkBG%P?Bi1g{($IXMl|U>alJW%(u#j0YJ%>^GM?@u&jS3vHi0 zKuAX)g#?suR91Y^Ie)wV;6hnV1yPrDtz2mhh`Nk9TEDxB9C=dmliwrWxxcMF`q;nz z^b)G=@Pl4o{MUaxir7>m{U+qJ|4v3d+RShsKsJKXWvQbN{_9UT{@@M>Db)X)C+>e+ zz^??c-A4xOF2@~q|MF)Nuz_lg#2pn>{`=n}1NW~Ihf$Aj5C76U1~5F{{?~EGdg;H8 z`^SXh|8K_qvq%2_TB?+{eYk9Bo8T_)NXaddbdZDTgNw58`HLg{%^GLIqtZ`)B-z>5 zk^RWk;u8j7SfVs{83T?=*dKwq6ov54LJb)E{oX+YiM&PBMx9ISyRDz^-?fLCS)5j_$tT#l9Rp z@R(hZvv}QzdGL8cR0Kl;HkoG!H2$*>A=#g$3r+^OTAmzXKKhLqrb4D%Ym-sc3r%_R z7ZQgLphTV1{=ysLr`3Jt=oSjssq6xD_G8wWsIrS;rCu$B!e}2OJB>Y>K+VuNH}I zSmKKZhFWWOe|B9^R|4;@WqloqwA7#Gyu@p9^WwE<=5{I|DB7UCVT?VB5V(t1m5u)v_ww!@=Big}>nxP`j$75gi6d~c< znri(^X5^ix?@>dl#bH^L-k3gC`|pmXlFL4xUANeQnv2_QT)>O?gca{+%Xo(9;Ca{3 z5W{iamkJ8Ac`XsG{yv`{%N*T+LXoHhWr1Vld(pEl;U!jcj+%;1I7#H7X%E^$`Q#QT9pv)6?1X(m81ONtKX=+s*67bOvibP!?b1P;u0A{I_-sn( z4#~|e{?`6gWN$dOT;1_C6*+33E3$4$zPHGNWP_{q>DM=ZhtFe>nHsoRkV_LPXY^)Y zZVjU8TbS?JujZVG1$^#&;Y+(aXOLV9QOlE#kEdLPNJzGDT1DJnzxT#-ESw@EZ*^@5Q(<;-Y>O0$Tkt0S~Nqt^Vc?&dPrVB@@aOq?le-SZBMKGT1 ztkBhTPc&`o^yVsSN``_Q5%tb=fk8XMx2{+*!~UJ-JwlhO)H1oIk^Lp>%-pH@ZTuFu zQ7#@rMKMtR+Ph50M~F`$x4}OUzL)rDvRVD9yw4e%npa2D7K0+jM10U`o#Q40cmIB; z%>eO-=dY{2qn9U}9hP|g~kv>b)Lz}cZonbqOnESC#;(HB4YmI+?169H1qq5pfLRZnd3#LK z;KF_W!HDv$UTtYU$Hnc%=S$zar7Jddzvmn8=gim^E^1t~5`1?sTS>)H0a9%{lX^?T zwl#FVH&O%0z{=*>oWi6AXo&gHD?VYY)K~(TKtTjimm`tSGiR06?b835h&QROjhGbPg#~1Go zFxsT#F5GtJBvuN9HGR2zKg|NYGi|gyi*J4Z0<12H$d*ek5o9qY-+nxv-_DI-veETG zUeXS#Xmw`X6*HgZmN>P>B_^|SGRQj~lc(VKL!WZ!JbhNWW#12k32j2Yox8l$rKt*r zySYVy7l)!t=;7wza|vZ@t?_I%cmUp+F<>6f!x1{<(o4FZwxd@tR`WLapSlw+wpbu2 zt#xS2-dw{sQQ10Fj3CuLxxLm{F8#I$i}tW;fb<@!`K_<)7cE2Xr#-MF+csE;LnXTY z`ETyw-)o+<1Z}R53D#qYNcHaFnfQeYIpltw#3oy+xieb5xjnsWWPf|pun2ne=u7vWW{1?n-}dIKK)VfTP^9 zuDi7+anW)xA@Qd~=;g!H7Fn*)(-otflOel8(4!_6=k-K_x$rgj_sEpi&X$vNJyW zX1g}f8qLyPWm$H8w_17sXe}T6DIvkxQCoK~HgSwO^p_8goPVx~f>EPzDvk-_CdsoR z-j@q(7R%q+R0kgW;L#zG;Nx6Q-Oi>P=2OlCO`&9FN;ibb2*Rro&m!zPg@&g#s{5~2}qXaEV9ngy_LFD zYWKFzk)5Ibz5c&fbfsZVsWLh$CiP4^FgZE|rL{l)1rkSv_Mq`II@xyhcNM*LSicO_ z+6({J9=cKFTu#zn@c8M4wK8SDZ|=i~OA{v$&Z3l%ID?MT&94AUkZE{@_58|4W0pQ` z?7whTe(ulp{}qB;Q|xB;6`g`Z?e$3{1mEB zVEWx8BgMS#=NobUhI_&`-&&C{2NM_kujJxdf5T`-YG!8I-fAQ9lu0=iD$X0xlRPBt z@{Hzd=A4$cXs5h=l1}7 zQs$SgMLd&GjM3Av*TQcO{`5;DN6c363o-?XxFx5i(GM<9QtG`ywLCt)j1Zk;gbF^FXSEEm1ghaVc8-!$vB1h!57Of}NVd5+4U8GG> zJ#I7#Iqi~rws%55)>wXu;`u9#WqxTgdeV_6^bo55&jtT7&^gL+8u?g*?+0CJ&x`*+ zvGVcZW{w^LBkU|&Y-zbYZ=m~abI6O!{Qcf!bUtfoNyE};vRd!YBUAPFe1XAsF(qh` zr{mdfyGXD8ChGNcXh_t%SKGo2&kv{74%iwKZ0d+xx?lawnhQoh>NX`LZ8eCLabka5 zS49}+{+WBnCJs8uNuI?vdAeIalYaH;Fq7lq>FUfs1YSk7fsO^)L4@-1F7B;uA!E_IQT8?G(4ki{BXTOPbj?$TS4?6e)`@_Z~zraJiF2eJm!}!P0;rSH~p&+{9ByFXfWojP9&A~kL z3M*LS62iJ>nP#$4;~510Hp2fRJ2JBWECdL83Z3MsXp_Iq)6jO2hNr8o$G$f4SLZX# zy_-0km3KbEY}+U=xt|u)zp>J_CGPHjqQG%`V7qrMQ>h%{?9UwLFNaswtj|B>KDIyo zd8tJdd)>raiuO*4$x8M?iM95biOH%5Uo`M-oZ@f}V91c3CseE|p6$z@pWdy04+j|A z#V?Uu4sKpey*BzPDKfnB_x=VD*ttj{H?^?4jXg`f*=Ixh^TS`whc^UL7p%D-o7)Hj zizLa&jI#r0gfmp|1_^fsTjOj(0MmH*`VV1fa#&u-XcSw{zv-%j%p2^rZak_W!`@tt z`QE^KMT$^ngA3a@I>+DWCzK0^d&@8%-q9-Y3+-2Xy|3hhEZ9>3d0+XyuSJq3pS;ZU z%?i>$Jk;;~4%Dl`DOTi+IysJQ#0D`PgMlA909>ev5(r~X1;tpIbX&;wTY)4Zdg+0y z9OjR+ugDzvhG5yIz~_Z;{!aJFuN?kdx4y^)+^j@=7EgXJilB26RNM9$iz*lq@y{REGBHAeo%S+Gx;LZmjDjO8HLo+g5h5SanL;& zYC|nm+KM04CBtqQG^;6JWJe43KA3XOC6%w<5=cjFd@dWvOjRh7*j|(D%P+enRBL(c z+W@iOgeBDiVl9?Wde&!iaT535pQU=iihcU{YyCdVL?5E`Qsr4kim7PG?Kg$`FMha@ z)%R`uz{!Lv2!=5!?&wGF(K>14!F-$TH6AE9bQv}) z;XR%S%p)%nj%WzV+J^nY!s&9-kdY+rpopuHS{`SN{;BJw!YH ze&av?{%ehpBHfuUo}Ie%uP5N2PmyXN=Rsq}nBbqa^{?Om0+~_sh0S^R*o*x0E8$f5 zuW^5R_V*e2U(fw>p8PlG{%5WIw_5*a-Tb$e{7;wsx0U?2mHc<`AG@FYw;=vo5dZHN zgwGT}Lj|HxJ|FrJerIE4<3n+p-Qa-G+*7bptRY<*NsVX>?d*__Uiuz6E*=v6xAaNm z1ra?R?BGiKwkyZo7N{aaZHWz=E8lq?)=Gni+x0{phK4+D+*8{BjCJ9kt~RZkl@%P? zHFaN)yL)i1qZAB;jg)UMuJVT7^)x(hyCPLBdu-t#Z5Sn}(|LQ7H2L^j@TZ^yM6G^X z0j$W`vXdhJyzRe9gp|+P3qI|~|AF)+Dpin4kxqk@_eC+^>zh@dsR5WVzC`gqK4;WB zfShxtZ^JnLx-VbyC%eT58!D32LwY;_3Xgn2?ZY6yRU5@>B_2Q_J4$Z#f{X3$ zKX_20=wLcs_@q8@`Pf^E@}oo&Kb>~U8>bFvjN*Cgz{7I9$B~l&6`73pkZ1ZJ$>ewQ zU)(nBQtt%ShZ#n9@+iOIfAOQabR&H_Wyb^P5TQiJxN*;KqsmRCP~uI~fEvH8`)@<> z(A$6`0<9cD4|;m6k^H3kC>~`7u53)t_I8TI0w^A9$ocldO(YG^-^Se(b)k^V z2D}rmKJuA~p2|T8zuUK8)PGZnsJw7d<3qIiv4Mt*_m& zl^F#|g^PO*R=%E>JFox5A7%@0ICP)yR?QG<*gxhaDGrxQLN-@q&aZ(Z6+pkrZu+>ho@5o>VX}Gf+s@J? zcw;`O6@`&zM!fx#rZXZ=>i9ahU@(Z&C|`n79x6Y)e$>1rxP8A^6b5_5=vnO%83Fwr zxGP-D5`K}ZuFE}~{jScG^n9fzebZs>>YFcEV{yNY5EmQ*@QQ7#pG{*i(x?z{y?oE_ z#<`^)MxLXQhVa&?@$XkAMg_hFkJd&ZUIUvgyLAH%Abv#yXC8RFrTl3t&QIx~v9Ij} zv}ztRKcGCoa=Le7sg5g2{JDdIamvwpLq~(P9cxMua_Vp}uHE?AXHw$8x0yy{CGLCO zt|<)9uq#y|Rx345c=1aRjRm@7aO&awhvxX+H2pc$+7P@C6pFL(ui ze3Sm-*r;VxGp#d!oHRF-TtKt@Rq1`ZNU90sTOcQ7Kjm+D-Jwvk@JW*=dXF%rhPRM0oC9z1gi)X*hfMEaer z;|^$VWTvy{iG?!ORAam48}`%BFtHyc|KK3Q?Nw%a3WtLvDE4r$TuAbY&0x`rO_SIx zLD^5O54?_CIX<$Y{bb~SO0q@y8(jH%jay!?R-{A#%bsoE*;;lTC+VL*AjOe`ZAEa# znx63R$uCG_DpkQ-Pt5yFO&i#N+Pw(2ybr246IF-Yz=M^^i>_8;UG}`<5y>-pA!9rz z`L(`N^I;pN#FD=!*-6w9uBl3Yk&3w{;QZbygrvt zU;Z^Nf~pU@Td*T4!-K*UYOlByw3Mqip8Gv!8^M)7&r7rE%c$S~>)cfk#-^108o>uuiqa;ni&|O)f%S#7Y%=}f37H_`-va5?xXzYPxmiOwIzD4Z21!o?#!N`J2r>a;SsjC^!R_R4H}s^rFb5Pa|sfm zBkPWX$&xmzS;?O_e)s$dlx#e9#~F#eXI4<{DVD8;#=5s-^`vC<*`KY|MG4(!9UqHZ z>Q}Jv4BEM?>~S!V8u54SP)r`#o&v3kU(Xv7AO)Xz;QN497vsLQt6bJ?LRe|X8i&kv zdv=fMAi?PbO6;{Pt1GrA zVXI%hu56C1;JQeuK%uGM_~tMr?(lxbPpap2TZ*o)VDT)!jpfnE4}CZR3Nz#E*au6@ ztXtzR&bc>S{Y)K@J9plO#E|c!C`;C@PgcL zBEJLb%>So99@hu(!WJ_#^&@(JcboW_v~LwsPwTc_?XTfsM}bINTV<+z|K*5bLcHI5 z01yvR5lv}OotLr*%)8nqbi_d}(7};8yNJs4{fbpDGsQ1-`tZ-_#vBl z3ZeEy2iPJKy9Ycg_|MbZj{Y>t5-mNbutO4Y6u@TqT~IJFXLv{!<=<2}1Ih~l zoRP?jp!yXC30apSB-))ZLmXri#R37SP?xd@YS)W>1>ZOlLB|6WHN9J>ld>5Zks5Fs zUc@|{ka{tp^9~b${#8i1TB&v$tP6*ToMZETDs%7?8>$)AJINu=yV(BG{ zN%2d-RZ?>-LJ>21PXp*=t$gt%YeL|XKLZqcqd4XgWsIihgvJl3D`p_FZ;s%&!uHg% z8JL$9gV_b6b>7lI9C(*Wxk==pTK=r4+~rZRTr89pA^}tCqYlbOjZzWptxumr7+TAO z75#VI4SBtMhWqdX0ZHsp=F3ZuO3=~5Ram)XYY{qv1f&7z0gzcuiM-XChP#b}`}=i| zLtk!0glas)1bCtlb$Zx&$ip$IXP}DUd%m|ns9!4S5wEN6Tz}ErnX!bV9`Xt@Ju|j4X9TzPoKnTMdsC4UcD?)2%0s`C0C&&xcB(}b zzxwr!(n%Vny?eHsPRXos}vcF-D ze`E}Wgt&=DdSMUT`Z28W9>#(V0#Pv90EWN|LcMxZNbv_Yw{N`L=}@oNTm%nnU(VQD z9UZ^zhyYi?;(nn1ayc3jc0w&MyAIlbZgT`-clK0M zi8Cu2WFW=1lgs%J003fKEk=%}Vq*krk(5?MuPMxGdF)>D@^@7eD~|fVrK`O`nz11s zt$(7T=r5d!uR>vS|Cw}_8-eS(8h7s(0!t8pA-Y~vgr5QcYRRvL1yCMgReH{N?u~EW zgso!_LoZ{RQN;{80VA~w2lF-nf@r1cFds}p(LAG&H-O{=94X&HB{B1g!ztnRQ%6@; zI0PP6unnC0(2kvQ5A$qFbN z*Eu(>u2<1+*@a-G7ulr_LAw>`)Eg`Gm-?F^&JHfIGJ`21F6-|1pSIYm!RMFf7BS!h z3?sJzAA6IjWxU(xQ|;NEb_yA_A~O+Y?T$+W87sc6+Yf^2f&lI;N%TEcUc@92ms0MI zRVHsBCN-zXDr-h1^>9xX4id+=){65FsrQynD6bLYkm4=d0pqzR!#Y{P4nbL zC$m(N?f1mx2>#=>t~jQ6Efqo=zgz?^FUe#IAG!v76`!iWnDiqX70VOw-852z5(dW# z3Z59Y2C1~agm2GTz$hCR-`B6>9n;AF%<8y>Ff$qI(7!WJGpW~rkP;--bLuQ2#V&5jW4Ap>)VhHwXgfy_>mBnsXiKzO zrpVj@hB6N;QqH&1k~5oF&oGlI1(?z@aS@EXH^l#_UL*+Kzwx+LR7Z#h)TZG#|mNNK!5HjgUgp2jo+CXS6zU2I3YNM3dRj zDop$9z+kO(yOsrqlw-!Qrr7}nXB9t> zi$O=&3(wPHIt?aSl1uQ5kr%YLwwB~7)*EqXD^6*5gcCJ%tkzDcm1GkkI;#=$sN4GQ z>aEWW0win~IEtav^IadJz163m%Qq@-@tAy2Of@mt=*DOg6mhPYe$`y|ko?yU;^Tt` zYQ#I#u745}apF+KhUGrK4gJBh{zJRI6+d9Owb;stXUoP(LPH_<)>hX;ATHGBgIveE zU>Dp^vRl1Cr5G8+Sgx!3b-_u?V`R32T~dv8uy$S7p76yw$g)R2EE$?YZcwe9*rlaj@X91>y_CM~9`>5Q{bvi4`*^kxN(4q!7 z>$n*s(0T91Q@q2CUvpyne%W0`v-unmC7wjprNnqjswAE9#tRl6jaGBr4A5O3`0Srk zBj6BBPX7|5EF}Zt+@T^&H#6LH>!k!_Ujkp+P(W1vgYf0N+Q{!O70~AaLBlA$(}@J) z#iTx1RiFxwBdxDuWbgw95I}zvu&QrLNBv;7 zrkgrhoY|465kkwtV4pg6$zn5sk)ndQ3SianfXRK2|1s;AiVvlJraS=D9$1tKqE(s$sd|`xzIFPRmuRR0-zbzpsnx zRI*Vss^t_3q)$dOz#H$hPuOBeo-$6CxI^<&-;g<_===!dd7TWaRENi5HOqHXNNyS- z1t+E4z*;c9&4;F|bxo;-?rIq|qEDJlw!Pg!RlIrToPG2R*ho(wJnCGObIfe&M>t*o zTPUP5oL^9CYqa;!L=tsINxy^Z#pVcimx)CS4?EPK7f?zj#vIrC^(InND#1dUOQi}( zRAX?cV>EuANE*>!OWD`JHzQE$a7sSDeKn!`Oxn9RxcXCW)-uaHf@2wwd-TQ%AsiM- z{gsq`uAH7$7-GTMUA77@9|9SAjnPqeRTypOuGiI6C9i2^26y+1w|cwYKXk1NyoINf zXJM9WItW%ra@|xCwfY3$Hw^VMDC@plWkGXjx;J@&`F;jzGEEF9hLhCjN@$Z{t%dnZ zMSGwZBjUTm-D5e8VcJa$Jb#nUVIVER_9ZlH@4f0n5)Yl8IohNsAjvqDuyNIio@d$i zsrxv<1U_iC6$Jq^BeY~m?N@`jqA?BOYE9gk9Mj9bvMCZ=4%0aX_VQoW+;2r?xwR)( zUbVu6?@LO=U+K_mdYVeKo!b{@5cA@@O74}Ak7Xqx_$kb*Cn+h;c7?j~3ShpkOZtYR zX<-gVOEITI0XLd*e3?c~Un5T#t8rK_(q2e<&2lRq?M&6_9Z5P=6HNJEt_T-Y3ecFD zh{pR9baTPMqo39ai?&w8Y*MD`ZyLBMirr3PJ9N?^4fCA=5A%3S2+MjdTgX?DY}G9d zV%8@i=B*KHGY=xE0fJIuDM~FwMfk-@Ka<8c0CUta0EU%nGak4p*7l(&PXI}N|8zKp zD@T!;VLWOQFxkZVo`yaRoKLtz!qdRYBGxQ_I^50x6A&o+!=)WKGh$aJD5vx=PiHm{tgKez3w7dF>95+Qnb?`dF z;~d2>5oLW}jHb=1?oBe{nJ}5i){se-D=MI4jv73_W1(OqPW7$LE5~rX3M?h6YjTfd z+i$0R0DM5SC%RnL!a7t2Dj zI7GfiTxj@KGJWeVTF%fIh}b0BK7ZGI_Cu{yTt@k+SY|D~iLF{0N*_Ae0 z3a@c0?pw8}Xuu zk*+wASjFvX+((G|(wDHwKL|^DF}U?1)r?Mmx~pKozM*3lgu+wp3OIx<_F{= zs}F1}m@Xk7^S#@Oy(SVJVnGinscqn7Luv%b9snRM;$wc1x$?rdh$&p8XT`A8P3XtU zexth+L2gl`-)0=Ax?7afmVt#rm6U_OpnNnAX1xN_BCXEzuvhn*^7=SlSig=ic!;U; zP5#PXVZp^28u`@i;icf@Ny>H*h?N&Mj@*L8+EDeWAF5P=IbaSa4Qz)?whGWy1VeiB zqb=FA_mp+gRX56}gZ*qGHbSK%ytK4*>*-k+FZNr?FESR-G-0M-M$g_(7EqX1mzw+= znd`9n#O;q^dIF^!lVVFJj7lX-?;G(-TVhOBP|j}1-g{v(b+4^GxmKcfrK&SJ4k5wB zSoQV{=TT}-Kmu}|u2iC(`FytLi>pcHKsy>BK*{s}mKz$x(Ms9<{wJl>D8u{42rWIC z&?m$e9kifI)aOL#^KsoL?RATxhc1g0jXMO*gPh-8(TJoN(H|iUD8RqU5jSC(k+O z(90YeoVzHn8*gu=-DjA$Qai=_fWlH=OBcG81?%&Se+m&TkCgPP?zD=|jc}S%kvkmT z$w$5nq*s;~A}TBAe~EV;Trmewaq(n&gW3g4geZ$+99t#UybG9iIg_IDDgroGflA0S zo`UIt(_K=Yp;5+}7S#H^?>ytY_jp-Z{|0z3X+4{C#nTk8$27z`!4T zy1aC5u%cpZe0kYos^yyImYGRB#oMyiv5{Hh1MG4}__S*J7YIR!;X$k*+B)_9Gljqf zP8txO2@jHBZo(yE(BZ?}QZU34ve3#kVWnX(yx!7#y}7xZC2~V9>$8iK%}4|Pf-!(jmrwi>yc#Q7JX{;<{N zs%1i62e?$@@`ww`#sQjI9|Vg)GkUSdHtgN5ZcD9|b#bh>{C)OGK=ZA)ZH&~s)$p?C zOXv=F>2#=c7=6QSh|kf{iM%JK8Fj?64cLC>-~_Q!M{DlPNrMU=+%s>}*feLXxaLCY z;j)t160m*|kM+BkrD6R3%xDlO(=W~o&8HL*s61@1(>xz*jlmG+9r+=N2QARdVQ0f^ zHReP`TryZnSq}1^7(25L7`>rwSMvsMC4ocew|fE^_($qWy*tJZLKUdgkYtD=Fn-(G znQzo3rA!VZ!*WuPXW{u`G|6hb-eA3yQGan>_GyZ9gxRW}*HOL*HOiGQ;9hCqfK- z14$Buw=(9z>Q_12rmfxAqEX76_Oz^nTFsb*i1G28UB+JX?wWzz%ye^{$XPM;dnUzl zT)Ig_+nhEF+@NkP!cX~hv2?}DF?c?q0BRh1r`@gj)+hsxd$}uZz=2+_+WM!^3Gy2t zfv2ewY4cOMJsbulNkxx7P}|`%8Q|thOGw=V)-D{Vfv$`XE1dx+R;{}SO=V0LDVd3{ z3$n&e65uA#;`nQy*q3@t`$atQ2R6Wa5zjiNNqOPS{^IPkL_>L z3c=~vFO=ov8l>#smGu-TU7JWLUQXl~wFU>0}V8mVg#5_p{59agxtL$i0ZAp?wv^00o9Hxc! zl({vf3RHXTh|43c5E!d{@&{bl+g6H+d-m^|FGKCgyWYB#Y@*JbMcH?p7=yKI&BmZC z)szb>k|#$G-Z5c+8x6v9W$%G4slJB2lVj zFm0sV@-q%5gbD`u&b4P?ktzcyc}PX$()Re0=OqDWY0vyQBq1}5YGwuNP$$N?vsr1sgDn0ImR@UAc&%TTINxdM+Vy1?uirpC+^)5P{5<^HI~>A z3(Qt)ZC+qaGhZ61fy(RzofZjK`07yecbN6q)M|xU96I2wNVf?*a@|Ytpjz2)Avif*KFJob7`6cN07YZ0NHeQ7To0I@LZw#4EraZ~hzX z;*z?3V37a#Jd+=bZ^W{@E!%?mlKh)oLuGF?8lOGZxO~9G_IR)+Cliu}IX`F~%ROHh z5{^#*-~WEPXEW1v*YmG=M39f;yEDiA#wfH9(Hu&!eDgaE3{|5t9WN;}FR+(D^V#s| zB_`cQdK#eAN8c33Uy*wSG`#R&U3D?IKqK9wk^B3Tz9Pg+=5bLgysI7ZNiLCZbg3L~ z{{YFdq{I#r%9eycYR9fO!mWAU5b zxu%;fS5hGHD(2dS`Fdxm>o6b%94wl z;O7h-*g5AAPAr%oLpqfx9?ZY8srOefeT8Zx*uwEQ6hD&*$tGz@~*2M(1<~&X7sg|nJ9q>Ko^#$2Y zXCt|z@*grLa>oPh2&+FK<+biATFMMluP~;40-fs%ow4j0(SR0T-ve`-r#%K(v9MT5 z>{4Gi4(6?;u8&LSai=;yoeBo=q{rl&m8Y;n^xab5rTrXo#SRmy|NgPyhJqt#kAZUd zBC`zl*JdR~z0emg;`#PA;_aq2vId`QHDzhnom*$6WvQ~yDUu+&ODBmgA1lfAf%$Ia z9SLokZ|^m2n#ZTG@R3o&%`mv=(LjmqWd_CiS4T1Z|4HhByN;L(XnltNwbi?s3dgs~ z1a1BIf*;Fpbnrj`BFU50%iOyxkXF4HwHUWCoJmhgfoR4ofBS`PQuYPM+^7UQgSv+j ziIm-M`wa@N$(vw$jD;>kz%>#VUtSv%iLi98vrA2JZQ}xKfMZ7P5&+KIUP~lKI_Ock z%E^f4LG5yL3usUqP}F&otTSF5PY(cJ5isGGvhJodFaw2|j1D6hgw`UJr=)N7hK5P; zsjRek)%FmE(w;JSBv)gmPBl7`xGTlwu$De3bd}RmAEe?YEV&|dslb8E8$hi{JDI|p zLwmbkqAj^Q;{8T;u=?QLcbBqZ`)%(oi!sgn`pn9S4}wTlWud8rVC)Y(fg%04`1VJb zg|-5Ehi6NSM^*TV8~4oRx%soYnTl)*Y|R5KO^sp>3GPx1G-#Lk zfcgs>@!>*C@-1iYS9jgO>v3%kXZrwNj0rF5o-fT}mMT2A_Vx3Oz ztZHxkwt90AO*n_5|I)?;!`V_?-n|WNe(zEPSNk$-Uc>5*Y*lzxU~?q@>(o-;?+7KT17fz?TNWhHVtQO$#=Yr)4%@*pqGcOW%l0S%2rSr->8igDv?YR~V? zHKct^hk_J(!gtz%dqM>3d&Lj557I+Wq`<$~<*G10nIN))IY3b*&PRSJrWTO&PeI(E zE-H^9u;;=(>EXbMwhUFac`U0w;{qbyXG-^Os2H?tU-pwKu$TK#ngS1*O^oWAO)X>0 z#ib~QP(a>P4`}EFTuDIpyiQGyCyo6B5)j6DscX>1gKit3Fo|i%hJ`)2t&kM_alLWN zfK%2*sOCa0N^-lq9H(WRZk%2{gzehe3_;>jHe!gxm{y&p^bc-%ezEzcNOvIBUP29?HiAH)#tO`? zdI9NT$3~|tq4V`V7K<|2vv?>7v!@1a39W0o3z6(BCS|KZbxu)$6JM8~yTj?N7g`Tg zd&951>%xrTu ztDZMqkBjTBFx8t#a*@|2Y}$3Pt+BdiSfe&>kT0zQ{{Um^A&WeWL!FI}8J3HBCC7*OkaQ_%T;e`+Wu zDktU{ymLD7j(#}pc#G|{h&!FiSIN+e8og6KT6`)sv}t-%YegQ+w}Jiz)DG)J^#@zN z=8JQelhZE+I*fxKJnacpj&GpDspPxZsVqF+T#dq3Vx^t4rwwAIbTADkxffljE+svy z3n4GJU2Lz5SGg%SEu*_Dw4M`CjDTRGp}XL^P?9eAq6Y@A*}GAzq)O0Ph(+Mzer>s& zydX3+=&}$1;RPVRJTP)*CHeriwf;o)qg6@`UhQ($K!#`)_O|W&k zLOEs$L|>mFgcPG+XAVvm%4n^VO0KEUq;&KETSX{A*Jv9bR3ylf8sOCF>i^CQIdO6y zbpibMH%~QfOp0Jt8(5H+L_=(*9i zZ=ZQquVW_FYVSDlqZ=33vDMseM&KS(ePFA{E6jGJU@5h);XS$boY(E!ciuiX>=%@u z&W^!q<>|bln%uzJG@-U9@A3ePD4~4lZVA228Ga zq7k`tb;SxX1*aNw&iZa)-;tR9W!AO zrL!I#Aps^+#}5e4ypYCpG_c{}OG;1*=4{>VjBE>+%x2@`#OR>3pPUs+DDY%_iI8d! zKmO))}O9!J&_?`cz_M||IoWC^r0eqG?KA9sa{y<}~ebmw?1zACC5v;pS?3dp_u@0#vYTQ1t`qj*k8^ZCFLTwIEYTQ;@PHsGWqj8H6l*d9Pi=)CcXM0 zxzFOLBbpD_y53sPZS)fs%sYBQ3DiCfdfs{WvRA!Ck9ZIF(Q5vOquv!kl&ZJy`BgKp zyCog`dYCLGqaS=gN%K>^1tt}c)e0JBg^R*A;N=3!{v5QJDR{M!>08Kw2u)>4C8)i# zrSB&i=9v$Ko8f|c20fjBkr&%x{-@(b2c(W%rGU4caiajz=R5}0Sg(H2JQ6%?!Uk>2 zf=l^ivu5G?K(FVOuA-7hO&zHwtGj9{2fg*O+&RdX+i@#*!Vdfe5F}9UF@YaSW;082 zDdX{jxSe)3fCvQJ25{drENFUvrbCEf;wI9QP#Nzm_!JVPB3CzedU6N`om9hM0ox*V z;D4PX&dwxY%H4S@@6@H}t{T zZ=lwT2r$Xt;D(*%4QZX_OW?}f1v}6HuAj0*iO6)jETN}*dmHU1W#`WRsx5&Vy2}Y< z2?r^;`mbsM373k!;?jpzV!K6&T{KV{@qjU6#1ulzXC@*Ji#SNXqj+;Ki$ahbDgV7X zyI(NtUPlWVls`a-7vhBd_S76L#II8BkP2Ygo+-Mif1Vb;{ldG-=;u-Uqux2iKOi@0 zz{%lBg`w%%+$NLWUY}}lZUHiPpMnDXA0x}-743=QARvrTwD~zCn~`KXn?afL`0Lc* zSYFf5y2m0-|6 z)7h}SyWULUHhkdk;V(r84O5-|Vk?NqhJdH}N09~O4;x^IL&_f{yRLzg1^(a=nB(ko zWf3}DGz;auqHzTG=G&WZyTC$jBpquE&3jr#1-|EW*_;=th{P=2RcU|nCi7`9z8hC( z6zzV-;#c|j3HWv7G`#%oyO)uEk3{YjAU?Z1|C?%R^p&^hFo6y zHiZX))aFLRhjNvK_fSYx+|K{#3#S#e(XwP%hZSE<+1+aebQMbUk9Hb6-?LG5OfriG zQY8|zKuK7V-P@AftH{bLTJ?|LIhdVBe1Nyvy*uSKMfghILd50A{^k(gc8d6Bj`XBd z1busIy7K#x7=lvc4V(F1t0v=#MmsEm^is>|3KzEBsgt6cn2Ei)2Hi#C;mihd9Dy2p z@1=B~mx+pFW~dbjXeH?sBMJts6!W~WSxvgLl2R=(!`X}-iuXXrR_nQ|&^}OX6|AnAueLPNG;8CS0N+bEXJ0>ztT8BEAjlCu;o^)T zvAOa7{O7va!MKyNzFs)!uPcXz>dLT7Y!<6p7oF1ipwiJQ|5b_8?(21V_JisGoG=ud z{gwD4gYmEGC7@kt!81w${)n}?YwMn)EvSzlpx?Oa0y*QYD(KA`Pjw&NqYM5}A%{=% zqecAGxogh+V;B@=poUUHiMU`FoNqE1TSwwx*BaNk5S+yRqk~d&R=U6Ve(jE4R{8sx zf!f50N*6L|guTw*4j%2Qed^1c>Gp{!@9TDp`+BCaf}213P}3%+eEp%E&IIFSdJp6L zk4*=E2NJ90Z;d$5_x;m!z(K*Y2l^}L7xq%odxS`&L@1}+*~S}mYK3EM8y(Y36aR;;w~XrY%if3S2I*9!q&r1P z>F)0CknS#NP`bO3kWT58?nb&B>F4;H`OeILt;aXKP+0i6&%Mvy*S=yeh3!S_YQ7-K zy#zz%cVtSdN#;|d!EoLRTvJcwbc~_Jq0f9izg_gB{m~z_6>>9EdK}KDN3A(VXrCwN zBAxwjBDZ%Vr&nUG?wg@PHpOgaV<{5N>3@cqK1xURKV00dsbPQd+C3gjEwZpc;(z&} z;=Af`*`1_!yi#lCsU%0*`nTTBJsH*mr!r3&KWDU>*B@Rn;*gu{sZXafpG&7Z529~j)$`` zS$xiY54^yp*=B~;#_ZQ?o!Z0(nD-1+Q>7~3zfwJ)tu77W5LqgF>h~4pf%o;G%|swN z^ZoOh-UXvS*LAx1i`f&kQiWbt4v^7xmtM*%f6zQmeS^!Gsa>V7`zq9~N#q4uq2olz zqfl^AKYSTh>4yW0ttQj}_r^-9g$A4H+0I=jv4pW)j?n(U`J?{oX} z3MZR}FY#n)Rm=TKuD)j@^4sgZ-DdURe_C!rZVqg5Jt4ZAy_0DRvPnF@VR_oU9Nt197;rZ&{w}mn-Whva6 z9X>O-3`FnSj#uk^e;xH+?mRJhU)y<#PB%(=s{R>vnTes{O#8wNOQGm5hm#A&mFDaI7 z|9aB_R*q_tnU22{e?KhU=r$N6LaXG9Kc8cTB%|r!U)57&B(**8XxA8%79F)4Ez>b| zn8B~os?p?`alj(&C|q4V21jTvI!%UVrS<$|F)CcqXg7X9lNlAj?h*m}+{R^^9k59G zOcqNnHf!^7r(a^uDIDA}*fdVAKYV{y=(H#TVfVfs0*IWtpWAawArJg-v)a?(*Pie) zy9BN4UJ-*UM8tpcl|hTAJkMn38@U8F$B1^AA~{O5x2_Hmw6niQAE3SVWs zJBpfHA0_R)Ay=kFHVll5yT>in~$p0ifj7DsLW9R41Wb=Ev~-0T?xC}6e^cE~iJePK73 zXe3v4!@aAD%JSUn8su=L_J?0$g`yrzs6L#@F1AQQP5<9}-d zzdFKEsu()mS)$<9jTV$_ibXZT&O-Hc@#wVk(Pe#iRx72_QiEeZalpAR9 zGSByyz)!R&f2kn&c%t$V$;1^?Y&Hcf;duX*W371fifJDdX8(E z$HPpx$pmPgPc*l|TsSyN;urodTytfQ#(i8n*!)Pf9lE(hTj}bpZi2A#$DL_P-!1kS z%x2Gc9Jc<{m>fRhM<@mS4T@-dh9veL%Y3@u47n`Q>&SsT$vF878^d%73Ji<=uy$@x zC0MMs%6UfH9bTQ-u-6#D0DaZpe*n5^Uw=XlI_Zp?onI>vx^C5K(XTZgPs7*%p};>D zTmJcL#?E!m*H`o+!|Ciimz=K8Sz)v_&_^!>H{mwLXW$6@U^21l+(1EX1 zVsm1PsX~kfY{xC8OhxJiAEyR)WR|2CVgiWQ(`rlS8mGSLAia~sE>$UuFNxgF zE_@3FZRmGvZiM_NwbzGS@IA^Mk*$xJr~~Lu{{rFt)}S<{wXLK8DTKnP@XE)v>wjcn zakSYp)o>_BcO$hiK5S-#^RM`-T~WfPrFNRZ`SV8rnB6ZJg&%loFV9?o2E?%U{7(bP zw}tNoSqtPC)T?SFzBU(bAE*!k3VQ6NqMn`i&4TStZ2zaM_E#O3H^vqEC3%{K7cK6? zS5fLQ4A6=ib(T$C!I$p)l61K#d9Pe;O)xva!ixI0WSOevPl+Pay9-pAv>7h3-BB&m zA)sE2wlv}?ief!mzHAuT_h%SM=aw^ID;oPaoK&pJJA{z9_``akv&TfO^3O!3gyK7B zN(t+laoH@sG&(iT7Jr%~TAk_DMVV^d4(KSC$BXHbT2qAEfObZsdUqw;EKg|5Pue6G zMs{?n<*%j>BEYJQ;s$rq&b;t%_yvW4KhV9HZ`j$4XtjSDgmJsm{*UO_PaqQJDqlfP zGb6O(cfZdEo5dsi3|XVUFD(o#E`zp>sk2<3=E)&hYM!j%OSG+%T?UissH-lcZsTHf z8-u1(Ef??}B{lkxG^L|!InhfgbC{A|8jP&gYjHIC0M#|LQ9DOvJ=2^sY^|d^Tdc7< zZM}GvMpJgyy(qI|a*2y7&Ak^Ke5sbg{Ue-lL?g$Lh5_lIN29K159BFGGb^66Rot87 z;&~gaQ&(IS&sXd(V^0fZ7f0>IF~S>gR^PSFTW%^_4b4GN1ySTm#qPWcyEe z@=%SqF)q*PcfZGie*L^Ak6niqZDX@PZ8tfM_KEA%3h-ru_zxP~BQ0-*7x8j+E z^5#Z)w5>d7@Ei80Aq!FEeQ?jy&HQ zo|~tvmkJZ`akMV@_TIQ|v7ow~{8^JsC{;kQJ6(m|kq?%?uQ~0D>R3%z?^Oh;)Y&tv zAdGeYbu;jW$Xww{@=`Ww5If~Eqj{>QDwd^mO}IZg!)cM4PL;0Hqv3TJHMvelfQFGcVZ_xt{Z#jkFA;@<_IUNx?pmxV`B&KDPQ`LYZ{BezTn-cZU3EiD zQELvr!U|&Ww^Q4*Do1vZU%uq>$Tac3^k(`$;(WjaiST>ISjrQNLByiWmrSr6NoE0S zx0`MHMG|xaD8NKW=dhXuI*GqeZX!>N3iz3HF~$!6BYl!buY#r}m@K+Bk=(B^HG6pz z1857TZj|25OWymVx=9yfwY%Qj@1hsyzjgp4*hnaU&18k5_g0!8mgcy>PA^90eEpUS zu>pcYBUgb>i_Ah&7m!&To=_8+-A5`gwV&PWx$@7}r4j%2sBL|DW-qv+rnr$WO1#gM zyx5w6xf|JEMdq+nP43WF1PxGX#?ACIaKZsv?6&9PbY9OyPMcE&?JDuO$JLfib82K@ zO7mYMk-uO7dLk53E07$@`g4sw1HuVl3w-Bo>%NH3&Ai$fO-q>EdPE^)r#=XIEfEIQ z;&SXj9R0Y<|Kh%v6MEIV8dTiL@$U~);5D*#n?rA8Y}b^J&Q39nIXsh6eIR3LtHZUa z9kJ^RD^=>Jp>KmS8onD%9@nOm~MJ{m{(bc>+26|%O`%EpnMRzQ@{YpRV23{SS$t1u3 zp}5U@f(lUjO7(2q&ZDbwHc0^|I{_JW1Yw_5E%jwM%Kz|vNYEvq0Hp|I^%ho&zlgp8 z#4;ea^lEJeK<+8XQU(fH34mn)LLpGM0xas}chgTxm$P-j+G1cn{!Y*HxK4jG=(CVK zh_<2yEY#!ioIv7FGFg1QAkA138uh0;>$`tn?g&=?*fiMU4|;r4caC^oO^J@atJbDs zznpA`UT$tWvM%u$pM58mUie*4OxeIOifNer>@FQgG1YdX=25JKd^wpE@Jz7DE)}8%XpW9aXiq|+D(6i7K`+9*&afb!u>wuTX&qb zz%92z`%{*vwnF1_YUvba=P+c5>1ez<<@q&_+ZDLv)G8l8UzbLK)h|m@wq2F?&HnQC z@a))=Z9u&_$MyfyP+%wN*t-Df@ zmra1Z5&xfj_3D5XPagC%1?^v>33N;3D<@NLXAYyd>`pGufAay6&l_1b8`ZhOncqa5 zJ|UusPb3kMu0(&>M8@KC*8 z51z;zULL3!`$M^d$x5l#R3xdmJ?2ecaf(k&xmLph_dApDE!oL3PM`GaJJ-Xx7l*C0 zbLo^R*Q0suh)L0z=*?EBZXI1_rli;Ji6KdZ0-7(DpY`=NOSCsT zZ9)Z&*ZWhufJ0i%#ZV=uK)DR?@&`a0w`gkzN(nl^54lkoLI?`(^n-*3Vo46btR1Zf z)6WnLgJQn8`bfIOKSxa+0h>B`cTUgsgObX4u0`$rgskV(*pf66uRgm84ifIj!&Ki3 zFZ1Je((&TnFyBG-Q2|%X@$X8-CfmZxHy?e}AO?STi%wCN2DntUJl(LHy0Y^kqsGmr zB?e2UaYng_Ihs}yVRz1_RggAl*3llwo$_UzSY75Xq#a)y7~xPw^QUx}Hfw=DjIIQ0jQr`EgX9Bpy$&cp4CIM#Q;ylwPT))pE-S0A`ICF+I@I z@2K&B{$hvNb80GA;_WZO=X7!Bww3g>bSj(Rqjy~PO6%Z8&(RdDc$$ZB$GZL zC()@{lAV zlsAok`EUqa4P49l3ok~ph*pf!kuuQSkDtC^nWnx}vma-C0yB09if8zU2_CNQzaHj# zsGsW0RJ|FH|Iao7Y7sy=({E*GfwmoN&B?`VE9o#*Jg>{0-vBoCJy2_#>+~0=D!j#m z(xf>bdO0PTEZ3+-NAaaCFR+>}m#K6o$~I-1tH1@Jid)&t<10t_JX z?kCl);WoAZUEP5JJ4jVadAc^-T?BS6Z2J0R<^W~WHd$1zy!hV1M?)mIAp2`VB;q-y zt<0~i)P3=#LHX!J)w)_sUKvJ#xe8rb8C&|OtIM{>mc9p~1zijL?a9gP-0cIg&T7*` zrsL^Ge89-lO4cv%=Y((9zUj!(bZ4FUyRET>xPU&KGfit8pG(lDDeUJ;>gXg4lh0@C zUk+yIgbgjdR07MONewW-{QL$M83&P{9fs6|!uQYFmo0IG0!bVZR8AK3JJO1ZQSuEK zp_4V=N08ATQT=|JLwV_y_K{-87ZWKi>_h}%=vQjx$rcopBCioP$$A8^zEZqLnmvR$ z=Xtt!eeZL$+!xgn1bH*OoTgj8S;N|;pz+zAt-6&{US@lkQxgk6KZ&;65S?tX+erD^ zQkLXLm(Egruhj;F{xzr2s=Q&f-1q7ol{eS%S{wHiLO@KB)0al6nTVdR27 zI`2mU9CKBpQTen3(tskiqPQvsAD)0E0t3#U1f2lWv3ETK$h7t#0R=9Z1jo zoah4Ad`Z4~2ttujH01C50j1|zCwmw$WXa!uNF0gdRmsoj@dAwQo;So&SeNXP5agW* z%uwJi5-a%XR`6^iC?z5$PhwT4rK zYudlZ1BRmI6Crb|)#|beg_v@z#K+jU5KL$MeNGum9VeJ*fphzuJ^>-BEklG0w~2X^ z;aRcN!P+_twPL?Ix4cclJ7r{%h}4~doU(3)B77AhD|7pKS+?1RSD~bpHaZE~1St>S zjx@rM5twgr2g{gyJr#@4>P5)ugg*BRtPN^1sMs zwU1PE>)#oX>D-^L3M_)DR~XIzgY(6wr~`&`|L3f87O?)AM0*2A8l2bl1Ue2%D}gT> zbGCsf;rYU*;xK&+3o`{sI@aHt#t<`QTH+ zR&yaTj>5XaLPr^kHb2ZeBgy*WwCn6^T0FeraqE|TFZxCutC`DV`JU0|=T>LFMoM(@ zGS4fyj;&Y6)$VfrR)s8WkLV+Q-+1xZTcN6|GVr_?$0lAYF)F1Nu(z^Y&A6|##6`{v zb6-J@!oy3IN0J_UJ~Eu%L~gsf8klBz(i+!jL^_tt9huC-V?EjQo0+1RVwe8^%E|v# z6@egh0m(MNosJ*{tfj9nSBejiKV4pY=BJdaz*Yb;ym?>7G?~xaW2>?!qFr96$)R^j zY3vsDn!elsW)m9<3`B=BWl8Fo$veO=rMG1J+z`~sf0s)VUGjBqaXgVAX>Wl0a{YKi z5w_S!N-y}%8V>a&zdk6w-N$Z?IKYF^k|^irpn<*s`t`xJXj?ToyM-pa1!k{yHog}3 zZIk^*YEB80PP2hpL*Upq5!E_v?7<~_%!v0`g!63=)IG?GO1QCAqa`A8xoq2v@t?cW zsbZpi(%2=&Fjyi#pGAb>(N>Cfn?T-?F4axp@TYM)50b5M)cDf}?mAk}dOx?SB+zku z%@fmC>S(WIT#xTPv?r!}_043Nc`UOXJJonlS{ivP&NDcjM}$?e)SYhvHj!($1NN?J zDw9`~hz$IH=yl4a%oXlCu9#(dK52`B^NOJNCKgNQgS&!qd5XqQaxrL}oSr|_DV*L2 z_-OZ$aF;PL&ez8JD<7L)y|Y8m3+DO;UEq%&5Y{ZQ3f(zAj)>M+dH&mQpGl=hT&MLl zyN5KBusP}TNM9e6R$&zV?Ggf|BD-L#|J?pe%Nstw0f^~eVR0)g>Fiik^yuG+ElAeM z6`$?ja<#vL5QgNefh5T;yb1m@ESDi~H-h*l`!(x8+M_4h!4Lfn{3bst+>n9R3a#C= zWC~nU1Z&Vay+Xx+;%ldo#8e}|rp(NavvJt{1$Tu$DLX_kl{670DES*!`L#}yA=^Tr zn-zfkUdJIe*|hXo&Hl=^9v)DQEH7dYg8kF~)&1xNH87IJxzlG4DJ-p?+2Xl?}{?z&X} z+=ZP8J!nuImdXwe^+iqcO?@ji%t+g@a8SP}FkXU&-sfA7kC*E5N?FFs7g(ln+Poa3)Y8sZu96hv3W?KxR7s6Y0L#k`*UI6k$4&ayMn<}A?3xh2+T&tp|(*lWsl zyR(Jlv-3+sLPmOVG>?PB1oEfWGhOTOH`}mK8e{K~!Qyez^pqwM4WXDylJ{+9-(9W{ zMjo5Wu$}0AJSWI>7C-DUtbBR3HmC%*ndI-b3TaG1*1j!ne4!s{e>3t^rPmYgyy*=I!s!YqOcOyK4{(e~l2+IH|O`ibR@+{R^;gu3U zFTXoK`tNOiHcYb4=FF@}4lcxb3~H==31CrW4FahYgmzCd#6ZArf+Jr_0(H<=IiaO2 zc6SKFu44N1mkSxIIhed}n$hVgz^8HS;g*=L6^G9BgWWT=(5j(E3_|!h*2DDyi|7b) zYL%ASBQMM7a;tWIIRU@V{o|hrw(_?gn)nXh&L>C0GNdH3R@r9#7~N)Jl=JTz;}Bl6|vPoWQ36XHJV zVGn=X$_*=a-^>#+*cALYGR1D#fQ+X{PJ~3FEEB*=igQ#jBoQYhMCV&O&U3dpRv7FRpv z5lo%1^fVs#nt-jA&%gV^Fbw+P0sWi!gA;Wms6aesztRC;j?ed*N2yR+{|Jas%Wq!5 zdI;dVw)0gRTN27e9pN1q!1U14(oz#VS-_E;Dc4Zq6&8ZF15`8ZT2s`3$G^fEfHQ87 zqyVB?{LRhHI_1PPKAkIYFGCSI1uk9p=xZ;TJQ9Gs3}jNHqoWG4-+|3xO+kp)!88r_ zB#`UyU%cLg9R@ld1D3=@U>H)Lk7T?>%Fd1*rf~UNOh?gHnFf&JD)wl#>gjdR%mD>0 zs34qCOKS;ek04{nk~ zE9B1KtJ2pAl0$*q&YveJC@8iSAoV~pB0n`Zmt-7#cCzxZs;QB;iU&jVuLmK04KSZ* z+yu&Ig?YNv#@(Okh$cYiR$gAdZr>M400{{RbYs0wO4$OC+TPl%y#m1f?gZ82y}^l$ z|0}NlPJtwo2qaYoQ#7L|L`StPOf7S|z6NPN6qshFpWhIW$05G@T|CZB63$ zVTHK0*j*`xi0cID2~=(roQ5*xrs?nmrO6UmK0&fg+6Mb0iGn%%1KT~?K!o`pCd3ZY zgTo{Q8>mM8BRRdDa(g*Sdn&L0KyUR*^|d(TOAEiTM&AqJYKjl$^Ijq!OD{LzUL}Dj zB_Zv&Ip$5JP*6CRHC5!%rtah(zIhLc;3__Ll4lX-&C9hw%&#z=z%KFm+fKaa_0ZFU zOg8DPstq=0sF0k3-Ho*hPFo*4cx*z%iWGD?yfDF|1NckRoT61E1az}I9M*)+D&^zC zORqc*XFtDtSg3u(xdHQTfi8lZ_9p`pE{tf=K8;%CxE2!fn-q@-oNAS;(lj@5|D!k( zbx!lu@{i6Nc#+FE3QbmcOb)@#fgvGTJfAa1?CpM+ycJ4BRMjKtz#-}CK*WVybqf&j zvwMc|+;{)Y5(?4y^&3q$CaGT=#9=lIo@C2J77~qO{-3M;uOZdB$Xf)N)dd^+eAsX# zQN;~lm{-Ra$CyNbY+}L58`p00;AmtCE?9<{fQ6IdMJJ5qGXBEMXC4q3c)2wwBpEE< zXuknmLHC{C(fx$e(9)vo8yW?I^W`>AHR9Yvj7W1MBk~x<0kC2sU^hqKV|1qv`w*P6 zN-3`D4qR}X`_sW7hz2z>G9t}#))kC=fu7$lxY~g8@poi2~Hn?6;@0K1#NftoThK+GN!Qjo*A7VN(TDV7&9GVPJh&t-LB z5Z{Q8s)n#V%x%5Wti~&!qfzg~>r#qOm-=1_mJNRXD-{Phv~seNTQ()y7Bb!sN~z%S zVnHgHGSb?2`)|^2v#Tv3vFFA~`3R=eNIZjM>BKl-<}LI{f`UneEK0Epu#HMm7-be# z+xpr)u2tJ0G#pQsajq-k`R!yDLX0WW+38f13gwYi%Glu(#Bb<(KEgQpHc#nk(3_Kx z3|Jb-H%nIoZtJrwuBr2J>F+7+ft;MRSM+;`Pzyx4R$v)a&f=Wh&^%M*#)Nq>k!Kd0 z9;*9<|!EV8!*W&#o?{_UC`qV%Ay+-eKyLsjDzM2M zV8zrlByf5Vd5AoU{b$M-uR=HiDE(;KX^HGvO;y!+w9#Mg^sDaE7jS0CKX3L-qo@h= zs5CijgCH3SdKMdL{$e74$3RYs8D~Q1}o|?g0ufSSXbC^1(xswE}>V?<$zla%pa8IsZ+CGVLXK( z`P$mrhF1=7@O%C7tKvL!U+l)n4ILNI{v1SWsg;WtA-qfk^%^HJJWb|`3=>V6ky-2# z+-nGnLirhnB>!8M{mK2}*$2?x2@IsadxTaeVDy3(^q|Ft{?xNn`36325S>&;KZMm- zJam!q{bp^6kw28?1-ea>%3%mY`Vj^)&TH&|qNOZe-@D^eJK&V<&lO?0eK4l+ovVDAU#`DPO)w6dQZ zWcR4V_6kVY15wT1_0DCXp8n{uTvj({8|2OKHcK(&w^nMW>+X{81$AY#w~=t9HZvg& z3DYoj0J@j?zK+Xjl15U7*OTzZ40%!~kx}PIvx$f? z3#zLqXV~!H#;m$5@Rb#zJRlFoa|BHmIGI5X7$E%mGN~-ur8TH1a)$TOM@wInA{Vw6 zn1;JVEf`fIXBj%M>OF3{w>h=lIDz?qn)hUiYV3!0$V> zu3hW~KkZkR>qlIUOc8hQ7wLi+ujja63rvR0I{O0u+U9T~G{v4*w;~w?LaGS+O zqV~G^1r62j3K(B$C0~geA`y4}&rASmuMZE?+`20TL%>{uDjWNZ@#FQUr?92&LVyg5eL=_Q z*xuayg!c6Kh@SQ?l_Ym7{i|^vdMt+WV^ifg79Om4+&4wazivXvr~yzcFoQ(E`t8ed zeive73oy6@E5NN6Y_!k#q~Fo6a4d_yRARo9>{Mi7;`q!U@F$0d)B@c-1cDC*^4jfi zmO+~`p9-f90ttnBGS;#mtqZ?|-4_U%U@i+X3P0g5WHC@ksHX@rv_#}vc}D%XZo@-iLzI+Xes*rW zneeytT({8cpjkpQlee1}_E%avs( z+Ga&VM8f$S$emR(7g!8mNoWvFAzl;W$J3F$RuV~dppJQavo+{QXr9l7eng}64v&L^ zW>*nsR650o8G9r-c#so3mjX)3+D(~J``|f6 ze=hvrTtlgKY=oS9!Xl@!bNEd~BKH>9)ny8Kh8Z7b4!DXO*G>zpiivNGGo1ZQW+UxO|Sb^eLT_VMR3^L&8 z6hJ{lll>Y`BbO6@&{EKzbU&f3oClX1 z(kx^@%uQ&NO?^lp=MynC-8_jisi;3A;d^_Mp~yIRQa5*ZUY|$xfn-=1#ROUvW1{>p z>zPuVYWd>Eos$zr@$7JZUE|17=bpBlPrL&R2doqbXM$Fwh3HZ^hwynJ*hz*1fKNiB zMkU{62rQ+^^TH#efr1wZYZ&q6QT&ChUk9b*M+dk&kT!tzF6M1Wr|{9rcvqFrBCBAm(!rXJTG7G9GV#?Eta&!U$Txp5rimc%Jwof}UJ*DLmN zmJEwSww?m7{6T!}-@uQ_WK+gzVR3OYJn%iXOnz_=lEpVtNQ{*1J^8)p()Nu^g=J`V zTxUp$L|-rQL8$)%d;bBa&k6tU^}gHMv|RHs_U15soa^XznC?{n)$&Q~)p&%NNYurR zT^|wtFmWUSQ52_>G`Sa9ib2pSVb*w6(Srlt&Fg)Ms4-(;zO=%TFz-AFr*iQc#WFm&ZHO*k&8@2S3-lVpA&l>#||cW zQVoRl#4reG8|WR0H~3Wa80ezl21t9yX2T5O8TyCY0Fgh$a@s%b+ih^Fi=p`ROK%2* zArq+h9yQZ+Jjo+_c)kY5T%mI zmos_VAh~_XxnLa}CIz_h-qH9b#!^U-r7oHskYJ+~m@304?_19obFSJ41mxy~$_59$ z1|1`RLWGb_6DQ--=RY%zUu2XiLM(i8uVR*@dnWsz`T)*nf_XtCPdJhjpcOL2o7kUFLWBAsKYq zX(uNqVRuf;Qdl)LwIF*$UYvBLG|+XvqCuMRm?WX1de1*0e9k$E{MTgn+X_aUB`)sJ zy!QgJRiTFkLJU}m;9b)a?@qc6RREj?xKLq13--o^QX>simS8|47Anc|hR3^w6m}oO z#79CwN-!IL&*@(w`&u|(_hC|&c(ukvYKy$hego=T_7gg(n82XvCl~NxnP%V!#d>04 zB$8!NHp{=nK+)kOF8>dd^bh7v!bg@J!4)1;7W2fhJCHMs>~y?nV}xsexx=e`gPG{o ztaL*%toEI7`*^iYO!)&EpUJB}dP+i@Siv}A)!?Ov+ipc@5yNnL4d;YQ+m*=-U6C%8 zE3~+;LQr>m&Wx=%H1TiixbW_y+nhaP8e*s>sb!r3o>+3niP?p=D zhJPk&YN}F<6^n3L?KoKeZ;|dJ5fJIsx26`4cwATG8H~f)V$xq+6|ghM@&~)`d=7T= zaX;fWsNC=Rfez+wq;h$ri%i=0;j9FPxX#O~K&fc%B5y@;h$D~|_Y54+D1-!9O*1XOvz6m@G=w$LJK{ZCTfsv#Qq$0wn$tx!ePV(Pl z#YPriwJ-Ab$)gPKj4Q|eaa&d&D*9~j1*xcbj+^ekxX-`0T7DRRn*MgbERP`iQ5ZV< z4X+evJRryq0DH`;RJmEa4iGX*4*yiwE*4RBDc%4KtniAUYlt~EOC1ZnoRZBKVKw|} z8mwmvs*7ZGDYzZF{_eM5J>DF@Z6Y9Tk~diC`Xof&A!tM?!kpgH@_UEjGB!zZzQgU= z(sSI$s84heZoqE!!`Q59(*2SnM5IJ*UY%RP21}|$`^Etm`&Y(PUe3;Lr^|op$v*1&kZX+8^rDGm;g9D2G}r% z^e#6$zr7+tGPhu&XVxbom@ZdIF-8C!3&`KV8S2*3{uMC~x7)gKLaB){blqzb_cDdr z_(c*<4wcbi`dj2-?4Wz&Ukrz0wm0E8QjFT@Bz?9EHSpFc+Gd~qmPyYf!)*Y~4K z;%wi*56$>UMUOXCU-1z8kzM5g8$;*S5gwDK=emIUXSAMlZuWZ4Etm$S>jRwFX9av9 zs%(o3B-LVgsx4xIM@tvRtu=kc1w&JHuuyiK$lw`#-WxGzf&D)_e|;3FEPh`~Hf~Z1 z8WTZ5H(|0!iA=_25;k|s;7D=u-1bg=Qh8|u^amMqS?VCsOP9ahH_x_lJd<9#Frg43 zpU2f6*khopf2zIj|BKS9s;Y{ce5r8+WIKxAS#;X1Zl8hg7wD}-AX|amPv5xVR)7t# zmSZ!;Wn*Kz*G1ht{+02u_|a@cz{uM8UbVd}ieQ-YpVRUmY6)1UeTGT)jF^X&{K}b- zpppO>FkcL?s2J6&71e^Yj}MO)=$7h(3Gx~&*t8bl7GA(ytkq!~DlePbD3Im}MhxI~ zV6e?Hy=pvGP0r;|rF(*hOIhc*ON#x9PHk1%^WbpqbZfYXXQ!&31)hxpYFdD>LbIv2 zT7(ysAFLxL_h7lhy^_IU!{gi?(@_}{@2*qwHZ%Y_XPhr@;|?4Trr!mIIu%xXz~WCc=)y?OB1+@@8N;dR0p^%Xx)HJv zSD+bNlt>;somgGy{>*dqkd}zocdXQn#(~n>7sObBB4#Z)Zdm?Nu$Os_GG5)NGf8->G;qhpUMOm~y zPCW)KMi!s<$>c(W192j)PES{EdRJd}9*2d%e#O~bLL*5VI@k|PHcc^OIKa!CZ^BwW zA2o6j5g{v0EgQO%SbzBO_UfY7YGV3NPuA0DKCh+*nT+Pk{WU890^-4e%NP z7Y3Xja4VETQw4#*Wzk{Dt$Eg=8G=f)1y&D7*&%-Vi&qMbQijm~PbmXroX#U|@||Bq zG^;?<5SbRSrNRPL9RktcCW3!pIWx4hFf;$h?onfj6S{M^j64N>b-J(MC9d0`ceT?j z^6mE`H_w8h0%lHT67llx6`O&Vr?r=91-${6`O0GmiUMrYwKkcf+bM2Ln6juhYyCL} z>eTpM7uME`47XY3(QHBxxViTso-*)Y%i52^6vq3{gd53!?bYum?sCtYF=Vqq#Mk z-l5U3zChvy!Na8%rn5JJL;?mOl;Rw7_0ZsyK}vpC3@)UStrYr}&s?Ta%gQWxMU=WO zf4J22U4x4p_-0sA<%$04>Ix$M>Bz~sW0@A2G8yNvwwjl1gmEB7hzX4LRwul}%ztGy zd;mgNu(y+6W1Fj7xq1CQMRaDWf#bl$|DVUM4>OH0U_lW@N`-D4ycOOx*5uf1W;>mE zZP|$*N8E}rh=F4)DrRazc0fgVyv;;QVw9eqPPWBkB+Bc%+HE%cmI=E-sI3{0sQjY7 zx{GC!xNeS-f4!_m2(JH~>Hkwq(e=>vPZ(I$EO+RET$^dRjg{U^Yx(M6p$t)gJe6{c5K|a|y;O0=Y>f(Z zEhel2D%xu7ug^Ou{MbQx8z56wP=(p@S@`E{Juq)$FdfxooVDM%DyS(SYHsGNt_+NA zJYB||ee3b($7z5cn;9cA5wpvDhT&+zFt)R!72m_!8NGet_7La6@&W+?pF+j)R1uTe zm^R#ia-uYg_Jor|&07|)zNLn>F>L$Xjp)<-}f`Hp{3SOPcQ&HXHzrM3hmo{4c}PK9qg=XAUQZoxI`jDqkk*(Z}%L z31w<_knbo+VCzgZN#uYkX&a@10ZwCP-SXjM(FCw$8oUJ!MA_OFn4 zJB!l9=u*S}XL4bN^9OFGUkOZh$)hx>!TvG$LvT<~G3pPFP_#E>fna9+`dR^!hQK0> zOpAQqNF!FL{H($Ps6beW@Opc(@6Io-u7n$LSb5>#;U69z^4e4FkwZ#=&;dYxVkDZ_ zRIH}&XUD6J=DCFCmlhTn^xApcFShz3qkcqr_2TUFqTa#KJls?;4u5KPYNqN$L1ocp zdZ`-V7w+@am->Io%D;BQoAgj4Z6Z69elZKJ&g~U4Er3-Jah}F?`g19k39u}LLY+CL zk>htlx#pG{x-Jo@oL)%7YJy*I zDx0hEO7qN28$wQt{l;Rux0ndtr%?gCjfyH^!J2O+@#N+5IZ0_2Qw79)HJ-0x6h3{a zC3@LTJ4>_)0v-ay<7$>|<&abLdBUP6jjhYN=s^)rDL3k6j-imRJ6KB)VF%bV^cfN0q({Em~tnf~(k3^17F z=jV5Iy#-nU1Kl74!CDZ)rYSUn2<)C3-Pw-lsJpH^p@v$GP)5^0zRrcUapyKD6e7Av zD8l1fAdPWQXd3n|ROFd7yxHvLfAOb(7lckZF~7q$kqb<0>ez?QoP@CZN#d9QgDEqV zj7>K2ha8BNV%xfSut z)(!0Wf>oizk36C8;Tg=TQo1$#NSR2Zqued()YS4Zpan{y$Ux(J<~HCRvZE9umo3(L zT2vbr=1z7q-obuno94QE~05y07$j}Zrbd$rMKqg|? zc9#%0*h3|H)@=in<0~YlEG}JPLfNe79LrRF0m3t%mb z?SqxeNHX`)NRy08X`;f_&?sm!=yh3rp86I5k4@2D3Q*sUR=c-HnnqEHW)efq2dM4p zU9;Ze%g7tn5J0tB&Q&&>u8hq1PuXKwbZ|SElZHsg)6y#A?k$HL9;?&u80D7FZ1%QO(L+5bKAzVXa!umj7^Gg2G1rmSLo_er$|tT-AY$ z8_kW~Tq>gl?;NGHY=JPKRpZnZXJlm`g>BUIzfdKKpR$j#1xn9So9FEhG18NvnVAG@ zFE1}Z8xfE}g`7^3p8l&R?4D1q1gU|s8jU!;RUB2`?mn#mLCkjB41E+<5RfNvSFh5C z1eZ3j6{k%M_ob=M*QEl1fc-caIwaVqt8Ha-^d1RetQ4Ueg<9VZb0><$5r7qzYyxdL z;W@Cq;<8;XK88thTVU0pMV`)`s*jOB1zCb&?cl|?0=~>-?CDYeKT~_yZ-k(y41#_& z0>@!6lN?PZWEcMtTj2oGN+ONVw*2lFuPdJ)f5$u)HlaIUBQ|6kpNU#jgSjQl;j{14 zomu-Mchr??uJH!7E&QWWK5w?B`YB(fTVCRP6v#_&f6%pMa4yAmzuZ=K{7Sg)x73`63Z@pvwlP^Z)MOY3KJV`Oa7}&ecmLYkiqTk78xYg z(xsGicS}eq-Hmj2f4A>Gd++z0arXJfSY!A@Wi6g{$DG%^g7k~Kv1)@k2)>0*191`N zgQ?1FSOw&TKeN3d;wPCRUg6rC<6Gb73=SqtBu^)VfK8`AL!iD62LmGpNMIu{nJ31rW~(*5AG2tp3P;oclejPWxOQ(6nL@l1d*!f{ zNkqjeeL^uPfHjLtJe}5PWdK$WK2!*d5DNyDr;)2{x5J7{3?T=;wgU^_BOMTU^3NKMMzDaeHwGct9nasTK; zFC(m3T*DTkyn*i@%MzR_WmjT^8+db^@Nx;+=Sy0{f^xg4hU#k9&2jWOCkKb_EtfmV z5oPXWub0`sZf^)B(8O}C0XG|dJiA~eF#M2?A_n|Pb!g&VeqP?}%g=gi2rnswy&W7K zk00jr?G-u;==4MLnR@<)6DAqq637Wn4o=AZJ^ zD=I2P-KRjFamYLv$5Zv9&!S(9oL=mycT@pv7mybHzs84m19C~WS_&aIh@)2W{LnSn z;raGbDma7^uu}-$i?{hcXl=)-y|V?5h3N-Qpc>Y&0yXcX!bp}#j90k37@>clYMNL) zR}mXhXfN{J`A(39c%^=Y{)+!*LR!@pfFhiC#zMHFqoX~}UXAMWchURG^*56Gy_UuQ z7qRVc>ueg4;l;%Fz2W1v|FJOxW~8BL7cAbcMakr;Zv(XzV4)YGAVFcJ)q

2ZJxc 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 Date: Sat, 7 Mar 2026 17:33:38 +0530 Subject: [PATCH 70/86] Edits --- modules/ROOT/pages/mcp-integration.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/ROOT/pages/mcp-integration.adoc b/modules/ROOT/pages/mcp-integration.adoc index b8f3f19fc..19a630b1f 100644 --- a/modules/ROOT/pages/mcp-integration.adoc +++ b/modules/ROOT/pages/mcp-integration.adoc @@ -16,7 +16,7 @@ When integrated, the MCP Server equips your AI agent/LLM with the following capa * Automatic discovery of ThoughtSpot MCP tools * Natural language queries and responses * Programmatic creation of Liveboards and visualizations -* Generating embeddable visualizations for custom workflows +* Generating embeddable visualizations for custom chatbot workflows === Supported use cases From 49b1a481883bec2c8f5c0be6c8533b95f949985a Mon Sep 17 00:00:00 2001 From: ShashiSubramanya Date: Sat, 7 Mar 2026 18:17:09 +0530 Subject: [PATCH 71/86] edits --- modules/ROOT/pages/mcp-connect-custom-chatbot.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/ROOT/pages/mcp-connect-custom-chatbot.adoc b/modules/ROOT/pages/mcp-connect-custom-chatbot.adoc index 16f593a20..918cdb0e1 100644 --- a/modules/ROOT/pages/mcp-connect-custom-chatbot.adoc +++ b/modules/ROOT/pages/mcp-connect-custom-chatbot.adoc @@ -350,6 +350,6 @@ Key fields are: == Additional resources * To view the MCP Server code, go to the link:https://github.com/thoughtspot/mcp-server[MCP Server GitHub repository, window=_blank]. -* For a chat client example, see link:https://github.com/thoughtspot/developer-examples/tree/main/mcp/python-react-agent-simple-ui[Python Agent with Simple React UI]. See also link:https://github.com/thoughtspot/mcp-server?tab=readme-ov-file#troubleshooting[troubleshooting steps, window=_blank]. +* For a chat client example, see link:https://github.com/thoughtspot/developer-examples/tree/main/mcp/python-react-agent-simple-ui[Python Agent with Simple React UI]. From cddc37626098f4677b325f3431ce788efca3dce7 Mon Sep 17 00:00:00 2001 From: ShashiSubramanya Date: Mon, 9 Mar 2026 09:13:11 +0530 Subject: [PATCH 72/86] rn link update --- modules/ROOT/pages/whats-new.adoc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/modules/ROOT/pages/whats-new.adoc b/modules/ROOT/pages/whats-new.adoc index 24e658c38..32005da7f 100644 --- a/modules/ROOT/pages/whats-new.adoc +++ b/modules/ROOT/pages/whats-new.adoc @@ -8,6 +8,10 @@ This page lists new features, enhancements, and deprecated functionality in ThoughtSpot Embedded instances. +== Version 26.3.0.cl + +The ThoughtSpot Cloud 26.3.0.cl version is now available for ThoughtSpot Embedded instances. For information about the new features and enhancements introduced in this release, see link:https://developers.thoughtspot.com/docs/26.3.0.cl?pageid=whats-new[26.3.0.cl Developer Documentation]. + == Version 26.2.0.cl === SpotterCode extension for IDEs [earlyAccess eaBackground]#Early Access# From 980d17d62afd8a3ed74b38217633495db4a9988e Mon Sep 17 00:00:00 2001 From: ShashiSubramanya Date: Mon, 9 Mar 2026 09:47:31 +0530 Subject: [PATCH 73/86] edits --- modules/ROOT/pages/whats-new.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/ROOT/pages/whats-new.adoc b/modules/ROOT/pages/whats-new.adoc index 32005da7f..eb1f06296 100644 --- a/modules/ROOT/pages/whats-new.adoc +++ b/modules/ROOT/pages/whats-new.adoc @@ -10,7 +10,7 @@ This page lists new features, enhancements, and deprecated functionality in Thou == Version 26.3.0.cl -The ThoughtSpot Cloud 26.3.0.cl version is now available for ThoughtSpot Embedded instances. For information about the new features and enhancements introduced in this release, see link:https://developers.thoughtspot.com/docs/26.3.0.cl?pageid=whats-new[26.3.0.cl Developer Documentation]. +The ThoughtSpot Cloud 26.3.0.cl version is now available for ThoughtSpot Embedded instances. For information about the new features and enhancements introduced in this release, see link:https://developers.thoughtspot.com/docs/26.3.0.cl?pageid=whats-new[26.3.0.cl Developer Documentation, window=_blank]. == Version 26.2.0.cl From 823025e3da431017ea9ecbde66792b20a1fce4f0 Mon Sep 17 00:00:00 2001 From: ShashiSubramanya Date: Mon, 9 Mar 2026 10:20:01 +0530 Subject: [PATCH 74/86] drop-does edits --- src/configs/doc-configs.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/configs/doc-configs.js b/src/configs/doc-configs.js index d0d35acf6..a1aae27ed 100644 --- a/src/configs/doc-configs.js +++ b/src/configs/doc-configs.js @@ -53,6 +53,12 @@ module.exports = { subLabel: 'Cloud (Latest)', iframeUrl: 'https://developer-docs-26-2-0-cl.vercel.app/docs/', }, + { + label: '26.3.0.cl', + link: '26.3.0.cl', + subLabel: 'Cloud (Coming soon)', + iframeUrl: 'https://developer-docs-26-3-0-cl.vercel.app/docs/', + }, { label: '10.15.0.cl', link: '10.15.0.cl', @@ -71,12 +77,6 @@ module.exports = { subLabel: 'Cloud', iframeUrl: 'https://developer-docs-10-13-0-cl.vercel.app/docs/', }, - { - label: '26.3.0.cl', - link: '26.3.0.cl', - subLabel: 'Cloud (Coming soon)', - iframeUrl: 'https://developer-docs-26-3-0-cl.vercel.app/docs/', - }, { label: '10.10.0.sw', link: '10.10.0.sw', From db1627e7a307f6bc6ae1ab921bc0e94bdbe085e1 Mon Sep 17 00:00:00 2001 From: ShashiSubramanya Date: Mon, 9 Mar 2026 10:31:57 +0530 Subject: [PATCH 75/86] api changelog --- modules/ROOT/pages/api-changelog.adoc | 54 +++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) diff --git a/modules/ROOT/pages/api-changelog.adoc b/modules/ROOT/pages/api-changelog.adoc index 343b6f227..0e0cccee8 100644 --- a/modules/ROOT/pages/api-changelog.adoc +++ b/modules/ROOT/pages/api-changelog.adoc @@ -8,6 +8,60 @@ This changelog lists only the changes introduced in the Visual Embed SDK. For information about new features and enhancements available for embedded analytics, see xref:whats-new.adoc[What's New]. +== Version 1.46.x, March 2026 + +[width="100%" cols="1,4"] +|==== +|[tag redBackground]#DEPRECATED# a| **dataPanelV2** + +The `dataPanelV2` parameter is deprecated and can no longer be used to switch between the classic and new data panel experience. By default, the new data panel v2 experience is enabled on all ThoughtSpot embedded instances. + +|[tag greenBackground]#NEW FEATURE# a| **Spotter experience** +The SDK includes the following parameters, action IDs, and events to customize the Spotter embed experience. + +Chat history sidebar customization:: + +//* `SpotterSidebarViewConfig` interface with configuration parameters for customizing the visibility and appearance of the chat history sidebar. +//* `spotterSidebarConfig` properties for customizing the appearance and available options in the chat history sidebar. +* Action IDs for customizing the visibility and status of actions in the embedded Spotter interface: +** `Action.DataModelInstructions` for the data model instructions icon. +** `Action.SpotterSidebarHeader` for the chat history sidebar header +** `Action.SpotterSidebarFooter` for the chat history sidebar footer +** `Action.SpotterSidebarToggle` for the chat history toggle that expands or collapses the sidebar. +** `Action.SpotterNewChat` for the new chat icon in the chat history sidebar. +** `Action.SpotterPastChatBanner` for the banner in the chat history sidebar. +** `Action.SpotterChatMenu` for the chat menu component in the chat history sidebar. +** `Action.SpotterChatRename` for **Rename** action in the chat menu of a saved chat. +** `Action.SpotterChatDelete` for **Delete** action in the chat menu of a saved chat. +//** `Action.SpotterDocs` for best practices documentation icon in the chat history sidebar. + +Events:: +* `HostEvent.DataModelInstructions` + +Opens the Data Model instructions modal. +* `EmbedEvent.DataModelInstructions` + +Is emitted when a user clicks the Data Model instructions icon in the Spotter interface. +* `EmbedEvent.SpotterConversationRenamed` + +Is emitted when a user renames a saved chat. +* `EmbedEvent.SpotterConversationDeleted` + +Is emitted when a saved chat is deleted. +* `EmbedEvent.SpotterConversationSelected` + +Is emitted when a saved chat is selected in the chat history sidebar. + +|[tag greenBackground]#NEW FEATURE# a| **Page context settings for host events** +The Visual Embed SDK includes the `getCurrentContext()` function to fetch the current context and route host events to a specific xref:ContextType.adoc[context type] in the embedded view. +For more information, see xref:events-context-aware-routing.adoc[Host events in multi-modal contexts]. + + +|[tag greenBackground]#NEW FEATURE# | `enableLinkOverridesV2` + + +Use this enhanced configuration to override ThoughtSpot URLs on hover or when opening in a new tab. This is recommended over the earlier `linkOverride` flag for a better user experience. + +|[tag greenBackground]#NEW FEATURE# a| **Liveboard experience enhancements** + +* The `isLiveboardXLSXCSVDownloadEnabled` attribute adds XLSX and CSV to the available Liveboard download formats. +* The `isGranularXLSXCSVSchedulesEnabled` attribute allows you to include the entire Liveboard, specific visualizations, or only tables and pivot tables in the XLSX and CSV schedules. +|==== + == Version 1.45.0, February 2026 [width="100%" cols="1,4"] From 339bf9b075bf5c53b4065454aa9935fae60a3a1f Mon Sep 17 00:00:00 2001 From: Rani Gangwar Date: Mon, 9 Mar 2026 13:12:51 +0530 Subject: [PATCH 76/86] updated the lb flag --- modules/ROOT/pages/customize-css-styles.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/ROOT/pages/customize-css-styles.adoc b/modules/ROOT/pages/customize-css-styles.adoc index 61319481f..523961072 100644 --- a/modules/ROOT/pages/customize-css-styles.adoc +++ b/modules/ROOT/pages/customize-css-styles.adoc @@ -194,7 +194,7 @@ Use the following variables to customize the Liveboard visualization groups and [NOTE] ==== -To enable this feature contact ThoughtSpot support and set `isLiveboardStylingAndGroupingEnabled` to `true` in the SDK . +To enable this feature contact ThoughtSpot support and set `isLiveboardMasterpiecesEnabled` to `true` in the SDK . ==== [width="100%" cols="7,7"] From 0ac1e778e25645413f877110039354b11a2a1c9e Mon Sep 17 00:00:00 2001 From: ShashiSubramanya Date: Tue, 10 Mar 2026 09:00:16 +0530 Subject: [PATCH 77/86] edits --- modules/ROOT/pages/mcp-server-client-connection.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/ROOT/pages/mcp-server-client-connection.adoc b/modules/ROOT/pages/mcp-server-client-connection.adoc index 1faeb93fe..f1497b35c 100644 --- a/modules/ROOT/pages/mcp-server-client-connection.adoc +++ b/modules/ROOT/pages/mcp-server-client-connection.adoc @@ -6,7 +6,7 @@ :page-pageid: connect-mcp-server-to-clients :page-description: Learn how to connect Claude, ChatGPT, Gemini, and other MCP-aware clients to ThoughtSpot MCP Server with minimal configuration. -If your application has an AI-native experience or supports external MCP-aware agents and LLMs, you can integrate ThoughtSpot analytics directly into your app's agentic experience by connecting the MCP Server to your client. +If your application already has an AI-native experience or supports MCP-aware agents and LLMs, you can integrate ThoughtSpot analytics directly into your app's agentic experience by connecting the MCP Server to your client. In this plug-and-play integration, your application's chat interface and LLM orchestrate conversation sessions. The MCP Server exposes ThoughtSpot's analytics capabilities as tools, which your agent or LLM can invoke as needed. This approach allows you to bring ThoughtSpot analytics into your own AI-native experience and use it as a data and analytics provider through the MCP Server, while your system controls user interaction and orchestration logic. From 6158e07f112b8c0f83f1a7377fea2302f979ce17 Mon Sep 17 00:00:00 2001 From: Rani Gangwar Date: Tue, 10 Mar 2026 15:13:35 +0530 Subject: [PATCH 78/86] edited whatsnew 10.12 for lb flag --- modules/ROOT/pages/whats-new.adoc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/modules/ROOT/pages/whats-new.adoc b/modules/ROOT/pages/whats-new.adoc index eb1f06296..de63695b2 100644 --- a/modules/ROOT/pages/whats-new.adoc +++ b/modules/ROOT/pages/whats-new.adoc @@ -232,6 +232,9 @@ You can now create a visual group of Answers and note tiles on an embedded Liveb The Liveboard styling and grouping feature is disabled by default on embedded apps. To enable this feature on your embed, set `isLiveboardStylingAndGroupingEnabled` to `true` in the SDK and contact ThoughtSpot Support. +[NOTE] +The `isLiveboardStylingAndGrouping` attribute is now replaced with `isLiveboardMasterpiecesEnabled`. + When this feature is enabled, you can use the following CSS variables in the Visual Embed SDK to style your Liveboard elements: * `--ts-var-liveboard-layout-background` From 4cb87cf11987cc4a24b2bda00301682c5f641ee1 Mon Sep 17 00:00:00 2001 From: ShashiSubramanya Date: Tue, 10 Mar 2026 17:25:35 +0530 Subject: [PATCH 79/86] typo fixes --- .../pages/rest-api/rest-api-intro.adoc | 10 ++-- .../pages/rest-api/rest-api_lesson-02.adoc | 34 +++++------ .../pages/rest-api/rest-api_lesson-03.adoc | 58 +++++++++---------- 3 files changed, 51 insertions(+), 51 deletions(-) diff --git a/modules/tutorials/pages/rest-api/rest-api-intro.adoc b/modules/tutorials/pages/rest-api/rest-api-intro.adoc index b7f55b317..50cc0aa39 100644 --- a/modules/tutorials/pages/rest-api/rest-api-intro.adoc +++ b/modules/tutorials/pages/rest-api/rest-api-intro.adoc @@ -4,7 +4,7 @@ :page-title: ThoughtSpot REST API tutorials :page-pageid: rest-api__intro -:page-description: This lesson covers the security setup necessary to embed ThoughtSpot into TSE applications. +:page-description: Hands-on tutorial for using ThoughtSpot REST API V2.0 with Python and JavaScript. This tutorial is a hands-on guide to practically working with the ThoughtSpot V2.0 REST API. @@ -15,18 +15,18 @@ Once completed, you will be able to use the ThoughtSpot V2.0 REST API via Python 1. xref:rest-api_lesson-01.adoc[REST API Overview] 2. xref:rest-api_lesson-02.adoc[Simple Python implementation] 3. xref:rest-api_lesson-03.adoc[Complex REST API Workflows] -4. xref:rest-api_lesson-04.adoc[Browser JavaScript REST API implementation] +4. xref:rest-api_lesson-04.adoc[Browser JavaScript REST API implementation] // 5. TypeScript SDK -== Pre-requisites for the tutorial +== Prerequisites for the tutorial Your setup must have the following applications and tools installed: * Chrome or Firefox * Python 3.8 or higher * link:https://code.visualstudio.com/[Visual Studio Code, window=_blank] or link:https://www.jetbrains.com/pycharm/[PyCharm, window=_blank] -* link:https://github.com/thoughtspot/thoughtspot_rest_api_python[The `thoughtspot_rest_api` GitHub repo, window=_blank] library (capable of REST API V1 and V2.0) in your local Python environment +* link:https://github.com/thoughtspot/thoughtspot_rest_api_python[The `thoughtspot_rest_api` GitHub repository, window=_blank] (supports REST API V1 and V2.0) in your local Python environment -Download the entire link:https://github.com/thoughtspot/tse-api-tutorial[tse-api-tutorial directory^] as a ZIP file from GitHub, then unzip on your system: +Download the entire link:https://github.com/thoughtspot/tse-api-tutorial[tse-api-tutorial repository, window=_blank] as a ZIP file from GitHub, then unzip it on your system: [.widthAuto] [.bordered] diff --git a/modules/tutorials/pages/rest-api/rest-api_lesson-02.adoc b/modules/tutorials/pages/rest-api/rest-api_lesson-02.adoc index 0ae1a3eea..3f551f338 100644 --- a/modules/tutorials/pages/rest-api/rest-api_lesson-02.adoc +++ b/modules/tutorials/pages/rest-api/rest-api_lesson-02.adoc @@ -11,7 +11,7 @@ We'll use the files from the link:https://github.com/thoughtspot/tse-api-tutoria . Open your IDE + Visual Studio Code will be used in all images and instructions. -The files for this lesson are `api_training_python_1_begin.py` and `api_training_python_1_end.py` +The files for this lesson are `api_training_python_1_begin.py` and `api_training_python_1_end.py`. . Open up your command line or terminal environment as well. [NOTE] @@ -24,7 +24,7 @@ Please adjust all Python commands according to your own environment. == 01 - Imports and variables At the top of `api_training_python_1_begin.py`, there is a set of *imports* and *variables* that configure the overall script. -=== Import Requests library +=== Import Requests library To issue HTTP commands in a given programming language, you must use a library that sends and receives HTTP. For this lesson, we'll use link:https://requests.readthedocs.io/en/latest/[Requests, window=_blank], the most commonly used high-level HTTP library for Python. @@ -57,7 +57,7 @@ pip install requests --upgrade === Set global variables It is very convenient to declare global variables at the beginning of a script so that they can be reused throughout. -The URL of the ThoughtSpot instance is always necessary to send a REST API command, and if the instance has Orgs enabled, you need to send the `org_id` when you request a login token. We'll set those as global variables along with the `api_version` (which hasn't changed ever at this point). +The URL of the ThoughtSpot instance is always necessary to send a REST API command, and if the instance has Orgs enabled, you need to send the `org_id` when you request a login token. We'll set those as global variables along with the `api_version` (which has remained unchanged so far). [,python] ---- @@ -82,13 +82,13 @@ api_headers = { } ---- -== 02 - Use a Session object +== 02 - Use a Session object -Rather than set the full configuration of each HTTP request you make, you can construct a `Session` object from the `requests` library, which an open HTTP connection and maintains settings like headers and cookies between individual HTTP actions. +Rather than setting the full configuration for each HTTP request, you can construct a `Session` object from the `requests` library, which keeps an open HTTP connection and maintains settings like headers and cookies between individual HTTP actions. You send HTTP commands by calling the `.get()`, `.post()`, `.put()` and `.delete()` methods of the `Session` object. -All of those methods will return a Response object, which you assign to a variable to do further processing. This will look something the following: +All of those methods return a Response object, which you assign to a variable for further processing. This will look something like the following: [,python] ---- @@ -109,7 +109,7 @@ resp = requests_session.post(url=url, json=json_post_data) ---- == 03 - Authenticate into ThoughtSpot REST API -There are two ways of establishing authentication with ThoughtSpot's REST API, `cookie-based` with session cookies and `cookieless` using a bearer token in the headers. +There are two ways to establish authentication with ThoughtSpot's REST API: `cookie-based` with session cookies, and `cookieless` using a bearer token in the headers. For backend scripts, we prefer the bearer token approach: @@ -123,8 +123,8 @@ In the REST API V2.0 Playground: . Go to *Authentication* > *Get Full Access Token*. . Specify the parameters. -. Copy the JSON body from the right side of the Playground, Python Dict uses the same syntax, but you must update the booleans to be *uppercase*. -. Replace any of the hard-coded values with the *global variables* you declared so that you can change your requests in an easy way at the top of your script and make sure the values change in all the necessary places: +. Copy the JSON body from the right side of the Playground. Python dicts use the same syntax, but you must update booleans to be *uppercase*. +. Replace any hard-coded values with the *global variables* you declared so that you can easily update requests at the top of your script and ensure those values change everywhere they are used: + [,python] ---- @@ -146,7 +146,7 @@ json_post_data = { We expect a JSON response on success, which you can access using the `.json()` method of the `Response` object. + -From the Playground, we can see that there is `token` property in the response. +From the Playground, we can see that there is a `token` property in the response. . Create a variable for the `token` value to use in the headers as the Bearer token. + @@ -178,7 +178,7 @@ Almost all REST API endpoints other than the token requests require authenticati You need to update the `Session` object with this new header while keeping the original ones. -Use the `token` variable from above to form the exact header to update the original `api_headers` Dict, then use the `.headers.update()` method of the `Session` object: +Use the `token` variable from above to form the exact header to update the original `api_headers` dict, then use the `.headers.update()` method of the `Session` object: [,python] ---- @@ -203,7 +203,7 @@ Python code raises `link:https://docs.python.org/3/tutorial/errors.html[Exceptio If an `Exception` is raised and is not *handled*, the script exits and displays the message provided with the Exception and other details of what failed. -A `try...except block` encloses a set of lines that may result in a known `Exception` in the `try` portion, and then the `except` line defines which `Exception` type to listen for and how to proceed if the `Exception` is thrown. +A `try...except` block encloses a set of lines that may result in a known `Exception` in the `try` portion, and then the `except` line defines which `Exception` type to listen for and how to proceed if the `Exception` is thrown. Every HTTP request can potentially result in an error, and we don't want to continue within the script as planned if the expected action on the ThoughtSpot server did not complete correctly. @@ -227,7 +227,7 @@ The `requests` library does not raise an `Exception` when an HTTP request comple However, as you saw in the previous lesson, HTTP responses include a *Status Code* that indicates if the requested action was a *Success* or an *Error*. -To cause `Exceptions` if the response does not include a *Success* status code, call the `Response.raise_for_status()` method for each call, which will throw the specifc `requests.exceptions.HTTPError` `Exception` when a 400 series or 500 status code is returned: +To raise `Exceptions` when the response does not include a *Success* status code, call the `Response.raise_for_status()` method for each call, which throws the specific `requests.exceptions.HTTPError` `Exception` when a 400 series or 500 status code is returned: [source,python] ---- @@ -269,14 +269,14 @@ json_post_data = { } try: - # requests returns back Response object + # requests returns a Response object resp = requests_session.post(url=url, json=json_post_data) - # This method causes Python Exception to throw if status not 2XX + # This method raises a Python exception if status is not 2XX resp.raise_for_status() - # Retrieve the JSON body of response and convert into Dict - # Some endpoints returns 204 not 200 for success, with no body, will error if you call .json() method + # Retrieve the JSON body of the response and convert it into a dict + # Some endpoints return 204 instead of 200 for success, with no body, which errors if you call .json() resp_json = resp.json() # You can just print(resp_json) to see the Python Dict diff --git a/modules/tutorials/pages/rest-api/rest-api_lesson-03.adoc b/modules/tutorials/pages/rest-api/rest-api_lesson-03.adoc index 690ba11a7..99f5294fc 100644 --- a/modules/tutorials/pages/rest-api/rest-api_lesson-03.adoc +++ b/modules/tutorials/pages/rest-api/rest-api_lesson-03.adoc @@ -8,27 +8,27 @@ == Get started The files for this tutorial are `api_training_python_2_begin.py` and `api_training_python_2_end.py`. -You must have installed the `thoughtspot_rest_api` library per the prerequisites at the beginning into the Python environment you are using. Despite the name, the library has components for interacting with both the V1 and V2.0 ThoughtSpot REST APIs. +You must have installed the `thoughtspot_rest_api` library in the Python environment you are using, based on the tutorial prerequisites. Despite the name, the library has components for interacting with both the V1 and V2.0 ThoughtSpot REST APIs. [NOTE] ==== -* You'll need a ThoughtSpot account with administrator privileges to complete the following tutorial. -* We'll create a "Tag" and a "Group" and delete these at the end of the tutorial. +* You'll need a ThoughtSpot account with administrator privileges to complete the following tutorial. +* We'll create a "Tag" and delete it at the end of the tutorial. ==== == 01 - Use ThoughtSpot REST API library -The link:https://github.com/thoughtspot/thoughtspot_rest_api[thoughtspot_rest_api library^] was originally created because the V1 ThoughtSpot REST API is uniformly structured, so a library with an implementation of each endpoint was created as a "reference" on how to format and send each request correctly. +The link:https://github.com/thoughtspot/thoughtspot_rest_api_python[thoughtspot_rest_api library^] was originally created because the V1 ThoughtSpot REST API is uniformly structured, so a library with an implementation of each endpoint was created as a reference for formatting and sending each request correctly. The V2.0 REST API is simple enough to implement in any language. We've just completed the initial steps in Python in the previous lesson. The V2.0 portion of the library implements the repeated standard steps everyone would have to do for themselves each time, and issues can be reported to and fixed in the library once for everyone. -The library encapsulates logic around constructing REST API requests correctly, so that you don’t have to rewrite code. +The library encapsulates logic around constructing REST API requests correctly, so that you don't have to rewrite code. -Endpoints are defined properly, along with HTTP request details and response handling. +Endpoints are defined properly, along with HTTP request details and response handling. === Import thoughtspot_rest_api library -Rather than helper functions like in JavaScript, the *thoughtspot_rest_api_v1* library provides two *classes* that represent the entire set of the two REST API versions: `TSRestApiV1` & `TSRestApiV2`. +Rather than helper functions like in JavaScript, the `thoughtspot_rest_api` library provides two *classes* that represent the two REST API versions: `TSRestApiV1` and `TSRestApiV2`. *Classes* define how to build *Objects*, which combine data (called properties) and functions (called methods). @@ -48,7 +48,7 @@ ts: TSRestApiV2 = TSRestApiV2(server_url=server) ---- == 02 - Authentication -The `TSRestApiV2` object doesn’t automatically log in a user. You must explicitly request an authentication token and set the `TSRestApiV2.bearer_token` property: +The `TSRestApiV2` object doesn't automatically log in a user. You must explicitly request an authentication token and set the `TSRestApiV2.bearer_token` property: [,python] ---- @@ -87,17 +87,17 @@ You'll notice that we've already accomplished everything we did in the previous All of the methods of the `TSRestApiV2` class are named after their equivalent REST endpoints, with an underscore character `_` replacing the forward slashes `/` from the URLs. -For example, `/users/search` endpoint is accessed via `TSRestApiV2.users_search()` method. +For example, the `/users/search` endpoint is accessed via the `TSRestApiV2.users_search()` method. If everything is installed and configured properly in your IDE, you should get auto-complete on the available endpoints as you type: image:images/tutorials/rest-api/autocomplete-in-ide.png[Autocomplete in IDE, width=475, height=229] -For endpoints that have only a few strictly defined arguments, the method will define Python arguments to match the endpoint’s arguments: +For endpoints that have only a few strictly defined arguments, the method will define Python arguments to match the endpoint's arguments: `users_delete(user_identifier:str)` -Endpoints with lots of request options simply take a `request=` argument, which expects a Python Dict matching the JSON request you see in the REST API Playground: +Endpoints with many request options simply take a `request=` argument, which expects a Python dict matching the JSON request you see in the REST API Playground: image:images/tutorials/rest-api/json-request-format.png[JSON request format in Playground, width=521, height=445] @@ -131,9 +131,9 @@ We'll walk through the process of determining the steps for a sample task, and t Our example task is to *find all Liveboards and Answers with a name that includes '(Sample)' and tag them with the tag called 'Tutorial Test'*. === Define steps -It’s easiest to program by defining the exact requirements, breaking down those requirements into logical steps, and then writing the code accordingly. +It's easiest to program by defining the exact requirements, breaking them down into logical steps, and then writing the code accordingly. -Let’s split the task into discrete steps: +Let's split the task into discrete steps: 1. Find all Liveboards and Answers with a name that includes '(Sample)' 2. Add a tag called 'Tutorial Test' to all of the items @@ -153,7 +153,7 @@ Even this basic step opens up new questions as to what our exact requirements ar # 1. Find all Liveboards and Answers with a name that includes '(Sample)' # Get all of the items with names including '(Sample)' -# Is this a case-sensitive or insensitive operation? Are we finding anywhere in the name or just at start or end? +# Is this a case-sensitive or case-insensitive operation? Are we finding anywhere in the name or just at start or end? # 2. Add a tag to each item called 'Tutorial Test' @@ -199,7 +199,7 @@ The second task is: `Tags` have their own section in the Playground - `/tags/search` will help us find a tag by a particular name. -Look at the description of `tag_identifier` parameter of the request: "Name or Id of the tag". Almost every `_identifier` argument within the API works this way - it can take an object's *GUID* or the *name* property. +Look at the description of the `tag_identifier` parameter in the request: "Name or Id of the tag". Almost every `_identifier` argument within the API works this way - it can take an object's *GUID* or the *name* property. Our comments remind us to consider the situation where the `Tutorial Test` tag does not exist. @@ -235,7 +235,7 @@ search_request = { "type": "ANSWER" }, { - "name_pattern": "Sample)", + "name_pattern": "(Sample)", "type": "LIVEBOARD" } ], @@ -257,16 +257,16 @@ Remember the note about case-sensitivity? We can use Python's string methods to [,python] ---- -# Create List to hold the final set of Answers + Liveboards we want to tag and share -final_list_of_objs =[] +# Create a list to hold the final set of Answers + Liveboards we want to tag and share +final_list_of_objs = [] # Iterate through the results from the API response to double-check that the name value matches exactly for item in metadata_resp: m_name = item["metadata_name"] m_id = item["metadata_id"] - # Python string find is Case-Sensitive + # Python string find is case-sensitive if m_name.find("(Sample)") != -1: - final_list_of_objs.append(item) # We'll add the whole object to the new List + final_list_of_objs.append(item) # We'll add the whole object to the new list # optional print to command line to see what happened print(json.dumps(final_list_of_objs, indent=2)) @@ -274,10 +274,10 @@ print(json.dumps(final_list_of_objs, indent=2)) Next, we'll find the tag to apply using the `/tags/search` endpoint. -You'll notice that the autocomplete for the `TSRestApiV2.tags_search()` method shows defined arguments rather than a generic `request` argument. +You'll notice that the autocomplete for the `TSRestApiV2.tags_search()` method shows defined arguments rather than a generic `request` argument. When an endpoint has very few possibilities, the library often has the full set of arguments available directly. -image:images/tutorials/rest-api/tags-search-autocomplete.png[Assign tag, width=504, height=158] +image:images/tutorials/rest-api/tags-search-autocomplete.png[Tags search autocomplete, width=504, height=158] [source,python] ---- @@ -287,7 +287,7 @@ image:images/tutorials/rest-api/tags-search-autocomplete.png[Assign tag, width=5 # What if there is no tag called 'Tutorial Test'? # -# Find the Tag Identifer so we can assign +# Find the Tag Identifier so we can assign it # Create new Tag if it doesn't exist # try: @@ -318,7 +318,7 @@ else: Finally, we'll take the tag ID and the objects whose names matched and apply the tag. -Let's go back to the Playground to copy the request. Remember that the `metadata` section is not a simple array, but an array of objects: +Let's go back to the Playground to copy the request. Remember that the `metadata` section is not a simple array, but an array of objects: [,python] ---- @@ -344,10 +344,10 @@ We'll need to create the data structure that the `metadata` parameter needs by i try: # When we copied from the Playground, the format of the `metadata` section is an array of objects, - # which needs to be a List of Dicts in Python syntax [ {"identifier": metadata_id}, ...] - + # which needs to be a list of dicts in Python syntax [ {"identifier": metadata_id}, ...] + tag_metadata_section = [] - # Iterate through each object and make the Dict in create format + # Iterate through each object and construct the dict in the correct format for obj in final_list_of_objs: tag_metadata_section.append({"identifier" : obj['metadata_id']}) @@ -356,7 +356,7 @@ try: "tag_identifiers": [tag_id] } - assign_resp = ts.tags_assign(requst=assign_req) + assign_resp = ts.tags_assign(request=assign_req) except requests.exceptions.HTTPError as e: print("Error from the API: ") print(e) @@ -374,4 +374,4 @@ There are many link:https://github.com/thoughtspot/thoughtspot_rest_api_python/t ''' -xref:rest-api_lesson-02.adoc[< Back: 02 - Simple Python Implementation of V2.0 REST API]| xref:rest-api_lesson-04.adoc[Next: 04 - Browser JavaScript REST API implementation >] +xref:rest-api_lesson-02.adoc[< Back: 02 - Simple Python implementation of V2.0 REST API] | xref:rest-api_lesson-04.adoc[Next: 04 - Browser JavaScript REST API implementation >] From bc451b749c88473587bf07a774860e5688f15a53 Mon Sep 17 00:00:00 2001 From: ShashiSubramanya Date: Tue, 10 Mar 2026 17:38:53 +0530 Subject: [PATCH 80/86] typo fixes --- .../ROOT/pages/intro-thoughtspot-objects.adoc | 58 +++++++++---------- 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/modules/ROOT/pages/intro-thoughtspot-objects.adoc b/modules/ROOT/pages/intro-thoughtspot-objects.adoc index 372452d42..3096ec818 100644 --- a/modules/ROOT/pages/intro-thoughtspot-objects.adoc +++ b/modules/ROOT/pages/intro-thoughtspot-objects.adoc @@ -6,7 +6,7 @@ :page-pageid: thoughtspot-objects :page-description: -ThoughtSpot is a business intelligence and data analytics platform that helps you explore, analyze and share real-time business analytics and interactive insights. Besides being an interactive data analytics platform, ThoughtSpot provides a robust and guided search functionality using which business users can search data instantly. ThoughtSpot is different from other BI tools, because ThoughtSpot Search is the core of the ThoughtSpot system. +ThoughtSpot is a business intelligence and data analytics platform that helps you explore, analyze, and share real-time business analytics and interactive insights. Besides being an interactive data analytics platform, ThoughtSpot provides robust, guided search functionality that business users can use to search data instantly. ThoughtSpot is different from other BI tools because ThoughtSpot Search is the core of the ThoughtSpot system. Before you look at the rest of the developer documentation, please review this page to understand how ThoughtSpot works relative to other tools you may be familiar with. @@ -17,39 +17,39 @@ The following figure illustrates the object model hierarchy in ThoughtSpot withi image::./images/object_model_hierarchy.png[Object Model Hierarchy] == Object identifiers -Every object on a ThoughtSpot has a globally unique ID (GUID), visible in URLs and in REST API responses as the `id` or `metadata_id` property. GUIDs are unique within a ThoughtSpot instance and thus cannot repeat in different Orgs. +Every object in ThoughtSpot has a globally unique ID (GUID), visible in URLs and in REST API responses as the `id` or `metadata_id` property. GUIDs are unique within a ThoughtSpot instance and thus cannot repeat in different Orgs. Objects have an additional `obj_id` property that is *user-settable* and *unique per Org*. It appears as `metadata_obj_id` in responses from the `/metadata/search` REST API. -Each Org can have one object with a particular `obj_id`. The combination of `org_id` + `obj_id` is completely unique per instance, so it is equivalent to the object's GUID. +Each Org can have one object with a particular `obj_id`. The combination of `org_id` + `obj_id` is unique per instance, so it is equivalent to the object's GUID. -`obj_id` allows exporting TML that can be imported into any Org on any instance, letting ThoughtSpot determine the GUIDs of the object automatically without requiring any additional effort on your part. +`obj_id` allows you to export TML that can be imported into any Org on any instance, letting ThoughtSpot determine the object's GUID automatically without requiring any additional effort on your part. == Data modeling -You must create a data model comprising at least one link:https://docs.thoughtspot.com/cloud/latest/connections[connection, window=_blank] with one link:https://docs.thoughtspot.com/cloud/latest/connect-data[Table, window=_blank] to begin using link:https://docs.thoughtspot.com/cloud/latest/search-data[Search data, window=_blank] to create content. -Most often, there will be multiple *Tables*, with a variety of link:https://docs.thoughtspot.com/cloud/latest/tables-join[joins, window=_blank] defined in ThoughtSpot, with a link:https://docs.thoughtspot.com/cloud/latest/models[Model, window=_blank] bringing those tables together into a presentable analytic data model for the end-users. +You must create a data model with at least one link:https://docs.thoughtspot.com/cloud/latest/connections[connection, window=_blank] and one link:https://docs.thoughtspot.com/cloud/latest/connect-data[Table, window=_blank] before you can use link:https://docs.thoughtspot.com/cloud/latest/search-data[Search data, window=_blank] to create content. +Most often, there will be multiple *Tables* with a variety of link:https://docs.thoughtspot.com/cloud/latest/tables-join[joins, window=_blank] defined in ThoughtSpot, and a link:https://docs.thoughtspot.com/cloud/latest/models[Model, window=_blank] that brings those tables together into a presentable analytics model for end users. -Data engineers with *Can manage data* privilege can add connections either link:https://docs.thoughtspot.com/cloud/latest/connections[in the UI, window=_blank] or via xref:connections.adoc[REST API]. Connections are owned and accessible only to their creator, who then imports *Tables* from the connection. Once imported, tables can be shared with other ThoughtSpot groups and users. +Data engineers with the *Can manage data* privilege can add connections either link:https://docs.thoughtspot.com/cloud/latest/connections[in the UI, window=_blank] or via xref:connections.adoc[REST API]. Connections are owned and accessible only to their creator, who then imports *Tables* from the connection. Once imported, tables can be shared with other ThoughtSpot groups and users. *Tables* can have link:https://docs.thoughtspot.com/cloud/latest/security-rls[Row Level Security (RLS), window=_blank] rules that filter the data results based on the signed-in link:https://docs.thoughtspot.com/cloud/latest/user-management[username, window=_blank] or the link:https://docs.thoughtspot.com/cloud/latest/group-management[ThoughtSpot groups, window=_blank] to which the user belongs, and those rules apply to any *Model* that uses the *Table*. [NOTE] ==== -Worksheets are deprecated and replaced with Models in ThoughtSpot Cloud 10.12.0.cl and later release versions. +Worksheets are deprecated and replaced with Models in ThoughtSpot Cloud 10.12.0.cl and later versions. ==== === Data modeling workflow 1. Create a *connection* to a cloud data warehouse. 2. Import *tables* from the *connection*. -3. Create *Models* (analytic data models) based on tables. You can also create link:https://docs.thoughtspot.com/cloud/latest/models[Models, window=_blank] and add tables. +3. Create link:https://docs.thoughtspot.com/cloud/latest/models[*Models*, window=_blank] (analytic data models) based on tables. 4. Create link:https://docs.thoughtspot.com/cloud/latest/views[ThoughtSpot Views, window=_blank] or link:https://docs.thoughtspot.com/cloud/latest/sql-views[SQL Views, window=_blank] as necessary. -ThoughtSport also supports programmatic deployment of data models via link:https://docs.thoughtspot.com/cloud/latest/tml[ThoughtSpot Modeling Language (TML), window=_blank] and table import from link:https://docs.thoughtspot.com/cloud/latest/dbt-integration#integrate[dbt, window=_blank]. +ThoughtSpot also supports programmatic deployment of data models via link:https://docs.thoughtspot.com/cloud/latest/tml[ThoughtSpot Modeling Language (TML), window=_blank] and table import from link:https://docs.thoughtspot.com/cloud/latest/dbt-integration#integrate[dbt, window=_blank]. == Content creation -ThoughtSpot Search data creates a single table or chart view based on the query in the search bar and other configurations to the view made after the search results are visible. +ThoughtSpot Search data creates a table or chart view based on the query in the search bar and any additional view configuration applied after the search results are displayed. -Search data serves the role of report builder or widget designer, while *Liveboards* serve the role of dashboards in other tools. A single search can be saved as an link:https://docs.thoughtspot.com/cloud/latest/answers[Answer, window=_blank] object, or the search result can be pinned to a Liveboard. +Search data serves the role of report builder or widget designer, while *Liveboards* serve the role of dashboards in other tools. A single search can be saved as a link:https://docs.thoughtspot.com/cloud/latest/answers[*Answer*, window=_blank] object, or the search result can be pinned to a Liveboard. A link:https://docs.thoughtspot.com/cloud/latest/liveboard[Liveboard, window=_blank] is a collection of many visualizations presented in a defined layout. You do not create the visualizations on a Liveboard directly; they are created from search data results and then pinned to a Liveboard. You can create a new Liveboard from the *Liveboards* page and then add a visualization from the search data result, or you can create a new Liveboard when pinning an Answer retrieved from search data. @@ -60,8 +60,8 @@ To create content: 1. Use the link:https://docs.thoughtspot.com/cloud/latest/search-data[Search data, window=_blank] functionality to build visualizations from data sources such as *Models* or *Views*. 2. Save the search result as an *Answer* or pin it to a Liveboard as a visualization. -=== Visualizations on a Liveboard -You can add any number of visualizations retrieved from the search to a Liveboard object. Pinned visualizations exist only within the Liveboard and are independent of the objects saved as *answers*. +=== Visualizations on a Liveboard +You can add any number of visualizations from search results to a Liveboard object. Pinned visualizations exist only within the Liveboard and are independent of objects saved as *Answers*. Each time you pin a search result, a separate new visualization is created on the Liveboard. @@ -81,40 +81,40 @@ A tag object is created by the administrator, is visible to all users, and can b Tag search is always an *OR* operation: filtering on multiple tags results in all objects with any of the tags, not just those with all of the specified tags. == Access control (sharing) -ThoughtSpot's link:https://docs.thoughtspot.com/cloud/latest/data-security[access control model, window=_blank] works by an `author` or `administrator` sharing objects to link:https://docs.thoughtspot.com/cloud/latest/groups-privileges[ThoughtSpot groups, window=_blank] or other individual users: +ThoughtSpot's link:https://docs.thoughtspot.com/cloud/latest/data-security[access control model, window=_blank] works by having an `author` or `administrator` share objects with link:https://docs.thoughtspot.com/cloud/latest/groups-privileges[ThoughtSpot groups, window=_blank] or individual users: * The creator of an object is referred to as the *author*. * The author can share the object with their groups using the *Shareable* property. * The author can share the object with other users in *Shareable* groups that the *author* belongs to, and if the other *user* is also marked *Shareable*. -An administrator user can share any object with any group or user with no restrictions. ThoughtSpot administrators can add users locally link:https://docs.thoughtspot.com/cloud/latest/user-management[in the UI, window=_blank] or via xref:user-api.adoc[REST API]. Similarly, they can manage groups and sharing privileges by using the *Groups* feature in the UI or via REST API. +An administrator can share any object with any group or user without restrictions. ThoughtSpot administrators can add users locally link:https://docs.thoughtspot.com/cloud/latest/user-management[in the UI, window=_blank] or via xref:user-api.adoc[REST API]. Similarly, they can manage groups and sharing privileges by using the *Groups* feature in the UI or via REST API. === Single sign-on -If xref:configure-saml.adoc[SAML] or xref:configure-oidc.adoc[OpenID Connect (OIDC)] integration support is enabled on your instance, users that authenticate to external identity providers (IdP) can log in to ThoughtSpot with their Single Sign-On credentials. -Embedded ThoughtSpot instances also support the xref:trusted-authentication.adoc[trusted authentication] method to sign in their application users. +If xref:configure-saml.adoc[SAML] or xref:configure-oidc.adoc[OpenID Connect (OIDC)] integration is enabled on your instance, users who authenticate with external identity providers (IdP) can log in to ThoughtSpot with their Single Sign-On credentials. +Embedded ThoughtSpot instances also support the xref:trusted-authentication.adoc[trusted authentication] method to sign in application users. == Object properties in REST API -The object representations in ThoughtSpot REST API include the following properties: +Object representations in the ThoughtSpot REST API include the following properties: * `id` + -GUID of the object. Unique within a given ThoughtSpot instance -* `obj_id` + -User-defined string identifer of the object. Unique within a given Org +GUID of the object. Unique within a given ThoughtSpot instance. +* `obj_id` + +User-defined string identifier for the object. Unique within a given Org. * `author` + GUID of the user who created / uploaded the object, or had the object transferred to them. * `owner` + -GUID representing the relationship between hierarchical objects, For example, a *column* would have the GUID of a *Table* or *Model* as owner. +GUID representing the relationship between hierarchical objects. For example, a *column* would have the GUID of a *Table* or *Model* as owner. * `created` + -timestamp of object creation +Timestamp of object creation. * `modified` + -timestamp from last time object was modified +Timestamp of the last time the object was modified. * `modifiedBy` + -GUID of the user who last modified the object +GUID of the user who last modified the object. * `tags` + -An array of tag objects representing the tags assigned to the object. +Array of tag objects representing the tags assigned to the object. == Object names in REST API v1 -The object type names in the ThoughtSpot REST API v1 differ from the current names seen in the ThoughtSpot UI. Data objects have both a `type` and a `subtypes` within the REST API, allowing you to request all valid data objects or specify the individual subtype. +Object type names in ThoughtSpot REST API v1 differ from the current names shown in the ThoughtSpot UI. Data objects have both a `type` and a `subtypes` field in the REST API, allowing you to request all valid data objects or specify an individual subtype. The following notation is used in REST API v1 for object types: @@ -133,7 +133,7 @@ The following notation is used in REST API v1 for object types: * *Users*: `USER` * *Groups*: `USER_GROUP` -Column and join objects with their own GUIDs do exist within the ThoughtSpot system, but they are connected to *Tables*, *Models*, or other data objects. Columns and joins can be viewed or modified only within the context of the data object to which they belong. +Column and join objects with their own GUIDs do exist within the ThoughtSpot system, but they are connected to *Tables*, *Models*, or other data objects. Columns and joins can be viewed or modified only within the context of the data object to which they belong. == Related resources From 9f53e0ca2852925103f6d5af227b68657ab91274 Mon Sep 17 00:00:00 2001 From: ShashiSubramanya Date: Tue, 10 Mar 2026 17:43:52 +0530 Subject: [PATCH 81/86] typo fix --- modules/tutorials/pages/rest-api/rest-api_lesson-03.adoc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/tutorials/pages/rest-api/rest-api_lesson-03.adoc b/modules/tutorials/pages/rest-api/rest-api_lesson-03.adoc index 99f5294fc..a201ea354 100644 --- a/modules/tutorials/pages/rest-api/rest-api_lesson-03.adoc +++ b/modules/tutorials/pages/rest-api/rest-api_lesson-03.adoc @@ -97,7 +97,7 @@ For endpoints that have only a few strictly defined arguments, the method will d `users_delete(user_identifier:str)` -Endpoints with many request options simply take a `request=` argument, which expects a Python dict matching the JSON request you see in the REST API Playground: +Endpoints with many request options simply take a `request=` argument, which expects a Python Dict matching the JSON request you see in the REST API Playground: image:images/tutorials/rest-api/json-request-format.png[JSON request format in Playground, width=521, height=445] @@ -344,10 +344,10 @@ We'll need to create the data structure that the `metadata` parameter needs by i try: # When we copied from the Playground, the format of the `metadata` section is an array of objects, - # which needs to be a list of dicts in Python syntax [ {"identifier": metadata_id}, ...] + # which needs to be a list of Dicts in Python syntax [ {"identifier": metadata_id}, ...] tag_metadata_section = [] - # Iterate through each object and construct the dict in the correct format + # Iterate through each object and construct the Dict in the correct format for obj in final_list_of_objs: tag_metadata_section.append({"identifier" : obj['metadata_id']}) From b52b645ffdee9b83b1f3f3b2e1b8f8a322670c8e Mon Sep 17 00:00:00 2001 From: ShashiSubramanya Date: Wed, 11 Mar 2026 15:05:51 +0530 Subject: [PATCH 82/86] review comment fixes --- modules/ROOT/pages/ai-integration-options.adoc | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/modules/ROOT/pages/ai-integration-options.adoc b/modules/ROOT/pages/ai-integration-options.adoc index 72bbcc700..5e67530b7 100644 --- a/modules/ROOT/pages/ai-integration-options.adoc +++ b/modules/ROOT/pages/ai-integration-options.adoc @@ -44,10 +44,13 @@ For more information, see the xref:embed-ai-analytics.adoc[Embed AI Search and A Spotter REST APIs provide programmatic access to Spotter conversation sessions, analytics, and agentic workflows. REST API clients use these APIs to send questions and receive structured answers, charts, or get relevant questions for a specific data model. -ThoughtSpot recommends using REST APIs: +ThoughtSpot recommends using Spotter REST APIs in the following scenarios: -* When you want to allow your application, agent, or orchestration logic to interact with ThoughtSpot programmatically without requiring MCP. -* For fine-grained control over data context, query options, and prompt structure, and if you need to integrate ThoughtSpot responses and workflows with other systems. +* When you want your application, agent, or orchestration logic to interact with ThoughtSpot programmatically, without requiring MCP. +* If you need to integrate ThoughtSpot responses and workflows with other systems. +* For fine-grained control over the user experience. + +//* For fine-grained control over data context, query options, and prompt structure, and . For more information, see the xref:spotter-apis.adoc[Spotter AI API] documentation. From af6650c7d5cc761d13dfd47bb21cc27fc5ec3b36 Mon Sep 17 00:00:00 2001 From: Ruchi Anand Date: Thu, 12 Mar 2026 12:23:56 +0530 Subject: [PATCH 83/86] fixed --- scripts/Converter/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/Converter/index.ts b/scripts/Converter/index.ts index 955ad1be6..fff447b8e 100644 --- a/scripts/Converter/index.ts +++ b/scripts/Converter/index.ts @@ -400,7 +400,7 @@ class TypeDocParser { const nameNode = this.childrenNameMap[name || '']; if (hash) { - const hashNode = nameNode.children?.filter( + const hashNode = nameNode?.children?.filter( (node) => node.name === hash, )[0]; From 3356e3e34dc428c8143643cfd4e56a535d702054 Mon Sep 17 00:00:00 2001 From: ShashiSubramanya Date: Sat, 14 Mar 2026 16:21:31 +0530 Subject: [PATCH 84/86] spottercode updates --- .../ROOT/pages/spottercode-integration.adoc | 44 ++++++++++++++++-- .../ROOT/pages/spottercode-prompt-guide.adoc | 8 ++-- modules/ROOT/pages/spottercode.adoc | 8 ++-- .../images/spottercode-cursor-url.png | Bin 0 -> 107681 bytes 4 files changed, 47 insertions(+), 13 deletions(-) create mode 100644 static/doc-images/images/spottercode-cursor-url.png diff --git a/modules/ROOT/pages/spottercode-integration.adoc b/modules/ROOT/pages/spottercode-integration.adoc index bfdf97347..d48781583 100644 --- a/modules/ROOT/pages/spottercode-integration.adoc +++ b/modules/ROOT/pages/spottercode-integration.adoc @@ -2,7 +2,7 @@ :toc: true :toclevels: 2 -:page-title: SpotterCode integration gude +:page-title: SpotterCode integration guide :page-pageid: integrate-SpotterCode :page-description: This document provides a comprehensive, step-by-step approach to integrating SpotterCode with your development environment @@ -17,8 +17,30 @@ Connecting your IDE to ThoughtSpot's SpotterCode is easy. All you need is the Sp == Integrate SpotterCode with Cursor -. To add the MCP server URL to your Cursor settings, go to **Cursor Settings** > **Tools and MCP**. Cursor opens the `mcp.json` file. -. Add the SpotterCode MCP Server URL as a remote MCP server. For information about configuring MCP servers in Cursor, refer to the link:https://cursor.com/docs/context/mcp[Cursor Documentation, window=_blank]. +You can add the SpotterCode MCP Server URL to Cursor using the one-click installation link or the `mcp.json` file. + +=== Using one-click installation link + +. Copy the following link and open it in Cursor: ++ +[source,] +---- +cursor://anysphere.cursor-deeplink/mcp/install?name=SpotterCode&config=eyJ1cmwiOiJodHRwczovL3Nwb3R0ZXJjb2RlLnRob3VnaHRzcG90LmFwcC9tY3AifQ== +---- + +. On clicking this link, Cursor opens the MCP server installation page to add SpotterCode. ++ +[.widthAuto] +image:./images/spottercode-cursor-url.png[SpotterCode MCP Server installation in Cursor] + +. Click **Install**. + +=== Using mcp.json file + +Cursor also allows you to integrate SpotterCode by adding the MCP server URL in the `mcp.json` file. To add the URL: + +. Go to **Cursor Settings** > **Tools and MCP**. Cursor opens the `mcp.json` file. +. Add the SpotterCode MCP Server URL as a remote MCP server. + [source,JSON] ---- @@ -32,6 +54,10 @@ Connecting your IDE to ThoughtSpot's SpotterCode is easy. All you need is the Sp ---- . Click *Save* and close the `mcp.json` file. This will install the SpotterCode MCP server and tools for the AI models on Cursor to execute. + +For information about configuring MCP servers in Cursor, refer to the link:https://cursor.com/docs/context/mcp[Cursor Documentation, window=_blank]. + + == Integrate SpotterCode with Visual Studio Code Although you can configure the MCP server in Visual Studio Code, to start a chat session with the AI agent, you'll need GitHub Copilot or a similar extension. @@ -53,14 +79,22 @@ To add an MCP Server to Visual Studio Code, you can use the Extensions view, the After you add the MCP server URL, the SpotterCode MCP server will be available in the Extensions view. For more information about configuring MCP servers in Visual Studio Code, refer to link:https://code.visualstudio.com/docs/copilot/customization/mcp-servers[Visual Studio Code Documentation, window=_blank]. == Integrate SpotterCode with Claude Code -To enable SpotterCode in Claude Code, you can add the SpotterCode MCP server URL using the `claude mcp add` command via Claude CLI. If you are using Claude Desktop, you can add the URL directly to the Claude configuration JSON file: + +To enable SpotterCode in Claude Code, add the MCP server URL using the following `claude mcp add` command in Claude Code CLI. + +[source,Bash] +---- +claude mcp add --transport http SpotterCode https://spottercode.thoughtspot.app/mcp +---- + +If you are using Claude Desktop, you can add the URL directly to the Claude configuration JSON file: [source,JSON] ---- { "mcpServers": { "SpotterCode": { - "url": "https://spottercode.thoughtspot.app/mcp", + "url": "https://spottercode.thoughtspot.app/mcp" } } } diff --git a/modules/ROOT/pages/spottercode-prompt-guide.adoc b/modules/ROOT/pages/spottercode-prompt-guide.adoc index e68e51c06..0b8fd49cb 100644 --- a/modules/ROOT/pages/spottercode-prompt-guide.adoc +++ b/modules/ROOT/pages/spottercode-prompt-guide.adoc @@ -86,11 +86,11 @@ Generate a POST request to /api/rest/2.0/metadata/search, including required hea How do I create a new user with admin privileges via REST API? Provide the endpoint, method, and sample payload. |Get data from a chart via API| Generate a REST API request example to fetch data from a specific chart in a Liveboard. |What do I need to include in my API request? | What headers are required for a REST API call to ThoughtSpot? List and explain each. -|How do I see new actions in my app? | How do get a list of custom actions added in my embed via REST API? +|How do I see new actions in my app? | How do I get a list of custom actions added in my embed via REST API? |===== == Troubleshooting errors -This section lists the common error scenarios, root causes, and recommended actions for troubleshooting errors related to SpotterCode integration. If the error persists, contact ThoughtSpot Support for further assistance. +This section lists the common error scenarios, root causes, and recommended actions for troubleshooting errors related to SpotterCode integration. If the error persists, contact ThoughtSpot Support for further assistance. === SpotterCode is not responding or failing to load @@ -108,7 +108,7 @@ Recommended actions:: === Unable to start a chat with SpotterCode Possible causes:: -- Development environment non-AI-native or not AI-enabled. +- The development environment is non-AI-native or not AI-enabled. Recommended actions:: - If your IDE is not AI-native, try installing an extension, such as Copilot. @@ -151,7 +151,7 @@ Recommended actions:: === SDK client context mismatch Possible causes:: -SpotterCode couldn't determine the SDK content for your application or client. +SpotterCode couldn't determine the SDK context for your application or client. Recommended actions:: Although the AI Agent on your IDE is capable of finding relevant information for your project context, we recommend stating the client environment and required SDK client library clearly in the prompt. diff --git a/modules/ROOT/pages/spottercode.adoc b/modules/ROOT/pages/spottercode.adoc index b37ed7906..d3647f055 100644 --- a/modules/ROOT/pages/spottercode.adoc +++ b/modules/ROOT/pages/spottercode.adoc @@ -56,10 +56,10 @@ Provides access to documentation on embedding, UI customization, deployment, sec == Limitations -- Responses from SpotterCode are determined by the features and parameters currently supported in the Visual Embed SDK, REST API, and official ThoughtSpot Developer documentation. SpotterCode cannot generate code or solutions that rely on unsupported or undocumented features. -- SpotterCode can generate code samples for the most common use cases. Scenarios that require advanced customization or highly specialized workflows may require manual intervention or additional coding beyond what SpotterCode provides. -- SpotterCode does not influence how the Spotter feature in your ThoughtSpot embed infers semantic modeling. SpotterCode is not intended for querying data models or interpreting definitions such as measures and attributes in your metadata objects. -- The behavior of the IDE agent, including tool selection and reasoning, is not controlled by SpotterCode. +* Responses from SpotterCode are determined by the features and parameters currently supported in the Visual Embed SDK, REST API, and official ThoughtSpot Developer documentation. SpotterCode cannot generate code or solutions that rely on unsupported or undocumented features. +* SpotterCode can generate code samples for the most common use cases. Scenarios that require advanced customization or highly specialized workflows may require manual intervention or additional coding beyond what SpotterCode provides. +* SpotterCode does not influence how the Spotter feature in your ThoughtSpot embed infers semantic modeling. SpotterCode is not intended for querying data models or interpreting definitions such as measures and attributes in your metadata objects. +* The behavior of the IDE agent, including tool selection and reasoning, is not controlled by SpotterCode. == Next steps diff --git a/static/doc-images/images/spottercode-cursor-url.png b/static/doc-images/images/spottercode-cursor-url.png new file mode 100644 index 0000000000000000000000000000000000000000..5fd557d4c54fd854f34f2f354f3887374c4758e8 GIT binary patch literal 107681 zcmeEuXE8ALCmBuMmpZV>i_}n)C%~n`ML|I!P*jk4h=PJ4 zi-LkS1;PT(jGu0hqM+cb+Dc1nC`wC1HC&ynZ0#*kP!u9xKEc+}`bd_g|BwL#BqO2p zQxzOfETIJA*pGqUWxxR|J;RagieYaIu_K3+{=6&ul5cz636>Nq`@ zRY5uZExXOfE%kff0|(CB2I}3mGEswOyONdMG*wY{nUCL1m;{b3Es>I~Qc9p=xd-D7 zE#fUbRC9M146>{{_x1KCfcE`<7y9s5_W9*|8ys0zR1^jN&Q+;;DA7VTN~=ERLtQZx z8MdX**2~H-;T)a9yg#9x0!kUh?PW?CZ`;YS9Tv>%!QyB^r2{Mdyr@GzLt!NnaX217 zx%K9lAyK!%r;_Ul$q%GKJB&z&9DzdTT8F+43DPZ*%E8RQcM>-7RP<%6KBp-8q{JiviS;__IYl2VodJF?AUDBo4F3%O{ zC>~h2soZDsgwNVh@^V@u1N)K*PI5*sOM4aPiuQRn*da~|^lt2*qSQlDa9t#V1$l_g z2#`$6LN2D#_lv`Hr+ZDQQyH}>qcJ;qM&3kvna2+X>61sR`-`x0e(%$hhm@B$Gx@TfR$D{^>`AT*+D6VX$*6CTb8SX+=RO zC6pQ|;*;((pZSIbv>l9Zfd+A=FbkJwCitx|CqPIV@|}Sg^|)8?vdsv>8gy2uS^9z` z*7;2ddN0MA)|;iE9`H&qcO2fre5UbJcM2w^%(=Xw&mrAm550$d~Du% z>1SqeIWqr=7ZeKk&~R`lvZfAoGt_r}etQkOgm0i*G<@;MOdYQBlNkmzxa|&cR3j(< zDCbRy+K>}4q!BRuVSvaHQ^3$AaGLs!v}HylH464L=0HcA|NN)7am$3qWuI{E5`TYZ zJX*scnAFT*WwpfbiZ$c&$q&yA|Ama=9XDQ)U$#3@XsKrs&0ARsc)UJD~vO@{>Zh?;AZQcB&8TR?dVBx&+PsuDLpYo@RXN!AQ^WJb7 z^NScC^SW9qtn_xK>K?Nbo|z+cV3DmZH2sqwCkarNFXa!seQ)s{8B3;Y7}wqYfI8>z zZelXG!e#JN6D7bsA{!xXEJ%I-?0pfc^N%8$6l znu6#-7_XqXouL-o1U}iA85l`04yg>aaN6ruXI1`J{7wYhBL2@-LJ zl+4{X5S^J5`iWlNhK(Vq03tAjo*;3|A}5#zK-4>uXz|X>WQuabaVjz)ta0AG#QFHT z&mS>BN+NaeIrO*um;*`=Wq$zNSsl{NQ{HHI_~XIH9^E9jk~uN{g15Co|`CCu)vAoh>r-B zc6KS8R~Z!v&T-DTEy^>9aT&&V#p*i^9bP=CDXJOD26EFf)5+7wx{;yue^jaT^FQVk~bibV0uvPm_x$1FjU~JHBlwnDC zXoeOtjOr9=zW!3=qPU2eDOH>A_H*QC*uLut>ItS#`5oC2rG%1?;|4jpue}xa8mvB$ zN!x{JCu(Pn@s;4OJc`?nJ*ld3XwLCG>o_o;_>3E^-~)vvp3u`R#T=YZJ(yt+e&-w%O?%p-Uxkzb@-Ker+a6I zMam+&V9`F&`bnh9HI_-sKK&y}PNk(~FG^e9KYi!(w9NW*6=(I^+7@%^s-5?#wptEu zT}d|mHJ>YIEPTHZzIS`y|E}a+qe<*k<7D*4gGsL#re}K;ER;_~Hyc75(0g9BzM7qH zVH)9?uI#P+xYGrX-eFsO@?2c>qAH<8>+J|(;Wv_M7K9pW+7R!&y0wUPu-nVMmyy+x zk|gA6_E|^6U9+-F?VMqwwT0;H(>WqQODLQ1wCK8nqv-Q zjUj;|ZFeN&hmsW3Ra8q={Srvys)dW~c8@;pv1F^?S0H0~P#E`+Sj)3uUmYjoouiW1 z8@s29YwwH4w5-)dMLwJ8ZB}=Ttd1Oy5amOLUktAei|yteeLcHyH#+Iw7ejqgVYF@V zlf~fPI>b9#J37k(Ze2P6Pg~8bzf;B1|DXg`^5oO4CsD>$5f)A#0}@DHR^79PK49~5 zq7&lc*ou?Uf59Xq)B*2ar_6llYa3Z@SFrNQgYVSB^j)T_jM(GZjB@k`CmXobT@Rv8 zF~u++V>(&i9uVf%x2v)6Jf&$AQeJ_v;om(o~0m-M?$}=xjTE&S_1VU&-S3_=kfN&wj5X zuZ1n)BsGHu)76!SrmOY5h3|IX#r9+L5BQ7EpGIwACt0&^>CD%d?I|rNeeAO<@q6;M zbWG2%?qog5*!g^CzCbzs{Qd)bo~eg5%jeoVW7OY5Y6Z0QA16DpIC4!~z~vWWM#L)ui)L&q zs_a(^4PO`<3RDWP*v;74{lfpHJ(_nAb&@qx+{m?wGchtfH&o%k<>oXgR-sPh{fgR{^eqa)zFTaR+i1(RXl(WWNZ4Ku7@o;#jA2m6!zP-`) z;_1@Y0Xv*=M+5cdSr2LW;_Bz=bS|e`(q87 zo^}cZAI|-jZtGZyU5XX+Bo{9b3{L6cFC*k`-7GW z@0}6)fWYcQ)y-c4Y`#L^BFbiZsK_bwN2V)HM#tocEEIiiHxmi58TEkAj{>U99zJrK2sRXrMY2 zbjDIDEKNvO=Vlw^dy-;Q*H};3+Cqz>BkAvR7v&2-%7Q40u*-r1tyn)nmdML6&>)un zi1_Q3*P(%0kF1Bw&*)~*UcbSkn7P0MYlm{~JxwtI@I{iPj-r*SD#~5p7=(g}N{oUI z9H9cgD5z8@nEyIPK~X}b{?GA4RMx-lK|?`_utmZ6>mEJe`|2kS_yDE<`bK{dj)D#R zMGSlpIcWcLH->Bu`u`lGO##iWM_x`ez7T^Sqvx2T03JTfn zs}HK;L*{J&98K6h(s9>ORS`CKa^N(za5A&xggZE2)q?_q3j>D^mhPrdxP!f;n=o9I z@n3fc1IJgVxfr4Uy2ag2lu<`j11jz0Y6-p1$<4{lD25A#LSe2JR>BWuS(%*Ey9<;Cg6$LZv1&BY@mB*ewd%f-vf0o=ji=I!Wi3g>WiWBPX`|5J~QrJK2{ zt+TtWlOy!1UQ;tC4|h>U#;XVY=jY$;w1nIK{Uk@Xzq$ol*G&VzT0Hy|-CdR|h#|Qh@bFN+byQTjw`q<6VRock` zDCsWt_h9{1_|J>~EcmZy>i+#qA%O>fKJt$%f0VrHgYZL3Hz#|KD;qv`v~?Hbg>l_< z`k$qA|1JjfkN>Yif1dqk37s2D{CW1DCDdJQ0XvvpHBF4?uP6L@?yvh{TvucN$6WaL zMEloSV5W)T!npo3YsGN=jTwAUP$WW&~j{3d4T2ljyy}=Jkx} zbYGI;&6&ZI^8wM7_2#vzu}QBFm*;QaH{erno9OW>NT3nN1z|8lQE~or7@P+AsaN%T z%HZ!)e_z!Au|^4k|LgvLUo5(fDjToo+4wx^AJtu5*6if@^9g@dC&7Wk8a4Xvn?v<~ zH{f5FqZniUy6wN}d#Wg*nV&S{n0Nbng&L$T`2Xp}--R`l(V`gNuX|E+{C(~}g>#YS zH<>_>ScA0Kvi6(J4K^T^r9r=DG*q0?7eToS9E~$_%GWE*VO^m3rZn@6i13s`=kl^Z(PK4K>Gr z8r)Z3`0W3Thi7MUTlOXLd+#nyD(*%us-@p|sQGmqi6?-5&3j4^fJW6wB|*pA9YiDj zTpwWaGa@!aIS4`C#*n^svhX8bmxWFQ>${)1(FL>3zJrcr-O1Ozpa~hq)7w!9=(|t6 z{rQ=mQ)~z8lT}ECTTKzLYI$Mvek_* zPsT^$<>_?S;Qbu6`Az|Q>9%3Fv{SaS?z)YFNEEMmZ()>Ry-3DppM$$}jE$QOcEZbv zT2Y6XA@T^htysYxkt`}A(S3~u;E`J2Tl}L1gL`_La1$dUKo^uVkma1V{w3IND8*+CRrfn%V;W5_L@p9udZd0jZ<-JI4u{d%E9s9~It6sa} z*GWn$cqenAL`pMnmTOs=^K_yLuTlVGI3Q5Q(MD487gCDMRfoD7XCapmWlDzlSi3WIH|46mYVq4Zo&Wjam z@GG$2Wx=Q9%}4T8cl;+X_&X$#=)an6K~NZnwt-8R6(igQ%KxbOUdn=$j>p%>(K(VC z+k`@UpZG@7?B43aU|_a8>RE}i0lsFs$b%QkoQhA3ye+G^+l~R2zu;ipSUl6Eo6`1p zIhl)&sky4Q=Tuka_)Js&b!Gi})qrpbQXp|$Psbu&HmbI7MeMMiu{7?%ECV8xNUUyM zdk-*&kRg0N45w`=(`%NkUB&L$+u+*BYgnVbCz1VWkAM^mSF?b*7CxM;m8=dcbE*C+ zt2Ij14n?->F_zvNE;qj9^~d5tYg=Bg8dQ^xAXHW9m~`o(9r5~bI>YZg*ZN~s5MIWf z)GV81>CRWKiiHFS2>*Zbt=|=oD=E8>mOlgLnyLd@gl}&K3K{CX40GB2Q~tm zjOmy^=jC7-KIOa~b+z_jJY|dWn?9=%XArCi=t)o)(?!G(JeaNkLEz7yQ9s~pzBu`1 z`J8Bsq%9#d)0Pmn-MZh3PLw$FlyyEoK~1TYHl($EilMw|SLrvqcO(2+#b-_<)_dhm zuELvji^G!Gw2$tF%|RG2i2Ejh$sL8#K6SfP)paG)E2&uU*V{%%h$UFwbJ8-I_k88z zbc<`mb?P39tar=x&}~fuh&P`bSy2&$^k(^Prrw{j$z!yy(C+CV63>X~(=ukH2{@Wx z{r3IBb7!iR32{{WJ-}D^U{s5w9b04s>W)t@20Nd_7DrmF_K07&mj)=E zH@&NlWCYz|AM1O|54zX5)#B?W=4Ud6KVr*j?fhHJG&5d7L|W#<4H0b|sq7R5hRSmW z?pv5`!K=JZEyq^E7e|ZHUf92UD&p=+b?e!cz5M;n=>wxPupG&5(@J5}F@tWwW1&dy z^E(C06?6CKpdikr=R=Z4nvNgyR|oaIO|=Vpp-~m)pKDtV%G?KpR!G%J#)yP=dznUl zq&pdT=CnnJb?JYrQgwchFMfleq*^x=r+(UEfY2JdWF#^q5I<)cy?hp*KjY!oul0yk|uh|CK}J#w_|v1zC!^|_mgdxCz?z=tfEzq0q(o)11vD*X`Q9& zyC!oR!8VeBU5ywsE}>ieBPlUWAS81W^2z6t4Ev)FsdD?(ezUiUU5{wVv@Mm0expGUN623)I;@>VAba%q+JiOl0BGUh?gqmBYRk&rG^Hnzfozp30+A!> z;lYSQ1pz`AX?z^iJHroJ_-?HLtIAMU-C_|oW0l!dxAwH8OuJw!j>YKCH~T8p)R<6~ z{<7Lxy-pHxJqPAhuj^Zet7?1=mSpKhTOwsAUMF_Vm)lUOxyUaiPs(>`onC-pQgf~8 zh*o!U&v1tQ)e)9><4#M%7hvOU3R@1?PAAFoD9|tcg3lG_TkrZg^~cDCj^;u~x~ZKE z);iSgmuiNvhKxt$D%i=0UR$yrcXA39M0~Tm9!ncYObY`0(Fm}WW``5fPBj(u&iZZ{ zx=PQPWP;l}BT4#w7?I3y52!`O+}+hH$6F2TjO09_O%NHWBamhoOp06R_k{U~@UK!W zm^z*BdgVT_dhRy^K4rDIFiUCN(8~~_gtcO5y{%@-pe-ek?b<4S1K1%&qaQo~D@0?Y z-0w)E1wqxt&)vifrv}WTYMVkLhzzYf-8c(K62DfKiq9xds8xu zz#-|g-W57suj(gj0#RbqI7dKzHhC6327(e1&mbMnJSK4byY@q7%kTH)w}?pAq-ntp-Onf!HUVqC zxHFu@brF9(ddf)!fT|p1L~9#G(xA1G(KBwI#)!P+ZNt-(&rShaV_0qa=q?DsO88wy ztmt%LO=hkt8=pMX^+FVLT!jM=F7N}fz0|?PMGy;Qo89y&VPjVYu%}r@eJ;|>Q<@zO z^!g zC;W{ks753(C?7Z)q!RK0Q6gj1G<@;->dCKibw8q50vX&fTvN!%`R{LB9F?8KU3?g( zp_ornjrM*SUpCk$M5na7?8=S8e@|NXyQhA>|E(16jyS}T>H};XA5KJXG)65sK_MRC zH)R?@J6!Y4QNJ@jo=LvIv?KhbEi5rMxtFal;~@qWneS_wT~n&hu>t#e!wE>9rRDup zDkA&zYYndgkok+9x#i&T9w5*XL}wpEF+EX)zktTfQHI#GZSrtnl4)4Fd`%&irV(Q@ zs)$jr3-(ad@kPATNmzQFY?Q`ucLCo+GR0I=yXMq^ZSG6EFl$rpEJxQ~%HP4rU&EQR z2`~p~awzSXbQGl@C0qBT;0s1&ZZpF$IM8$WePZC! zf#RMmn^Wu!K{6jIx!yUVS%k%`Gb7)&EX|Fte5`M~?pozJe8fMeD5)*eZy+k-B=mu9 zO))NcUvqvz7{XTsliFn2eWhz|7#dsy&{Ea1y?ZzK33nyHM`ym%cSyX}76~*5hz6-` zbll4I;FS1hBG49L%i1Z{8yYjkn8P|u#xQt&A7mb416VEhKF9Z(H#DYN76>Oeq_S=R zH91-U=d=ohIC(c%#wHqAv-$`a*Y#jZq7ayO!)%RT<*ttk^AH(ev>K4N(G50JyCMa& zJWHOxxWPwoTy1QS-KHCCmU%^V6|QSj-@c(S|2u&HzXvdQ(?RyC^rQx_t*i!* zU)pIshadpesy4mpS;*MBVVb$qT>${FNQ37_nvws(*DGvJ=KIe0Lx63(EE(H^LNo-% zdc){NuxN;A=F7*@t%i{sDPYsVP4wJ83q*5=2oAqiPTv0_Pyc${$d^MDh&5L$d+3yr zOg_)tk9Zu>uTNPH;-XB}kRwSQpVim>b^vIV#h-_l8#NC{-FvIk`QqaIv`}QTE)T@i zxiwj3U1g0k;#i=PI((K{twjCtlb?}}ctQh$g8WuHkqxgvH_6QzOF_E)t+x!FpIu5k1A==xKX2=ZvRe^O5o`u2&J~M{{er%*^&GC!FZu{ zmiHYXr1Y`9JU`?z!X^>xaoJxd@3kPjP0gH$(V|&P?0apr*4hq+C#@~7dfanh(D!5hC<;Cf30G9zV zq$UQz0%Hi+tA07@UKZWBft%__^e=)+!RXNwJQlrijCIhbPB!#EwiL zk~K4)->N$ZMG}i8L^i6m8jcpC`@K7f`po;l9%i^i8xoygl=GpxvH$e+qezKys`nn@ z1-#G04`jiT+rLeG@D@;dc1R`Jafomi<~7?!6O7N-o?NjomM8c-+tW}w#*P`U?}o!! zUbEh^_O0pW8}G+C88Nb0;I?yJ!Q-GTW;g;`J;x)ZV;XiV3L9JNDTwE5gfP&Z-2u_V zY4?lcl|tXm`oet68RAajf(vLLw3PecNBv6HJv7h?6IWmE+l~k#F0F8|G1w|MgZRt! z(EG~xWrZLqY%>%i3ZNO*som{fW5*J`6P)EtA#rVHB^VfCkt8fhgDPHa9cIp1j-eWD z!t`)M=$lSL?ycrSqa7?=fErV#D(K)A2)AX2M^^OX+j-BeLVks@zw2dujUPjj6>zf3 zH~`I=+X==7dElak!*nQ;in*7L56T0ZL8AGuTShTW!zE~@EV!AT_wvhVY@A#L_`^PM9B%xwD{{$mh=N?8dVlde_!24siPkap9 zgG6eN1-Es-j!F=SVe~dehTvx7KL=bPM-AgCSJWdB>R2K)GgL+?5Y<;fzaKP4WFRsS z6FjiO`R<6d;6Nf3j32DH4Q1GlNygsU<}_`Wu-?|((o*^MYHAGPns&=Hyb-JJ=hVq` zK0jYA;JAMGKfD!h{{E}>y;@@iU2YOePsZX zkZP5*H`OEh6;IWEAn{p8%53&mZgLzq#%K|1*!-Iy} z_|w`Z@euqV9wcMFITb-WmdF^iK!cO3pp&~S!i`A$%o(5!8k?|i^*45-Bq-T&m7%l_ zIcG(Ioj2_p@>lLNC8>RsjEtvCA3YXdCIqDNfRfKjWv9;MoCr;%zM_cD2nu3`yF&w@ zyxcQk??vwe6a?=rEUuUB@CxpY@P-OP-00d__Yu|C94Z~JvM>;|GL#Ed=md;-zg|~V5gg>v zGR!4n+<-?%pGhRcESDB<3EB<85h!E$rc=sx!2(iXVlWq22+Vn;B7u;o207vFE{Nb2 zXrtr3Vnjf5z{no{%@M zy`NNIj5h?G1ORp$%}H>`z2=Z4(D+C+NK;cI<*&O>;v!T4+EBT_Q%$@MUrelkF7WZ~ zAaAHr01Bi6L)B^`Z?Nwd zs_A1w)K(?eySW!Bk<4lMLrZb5Fhz|k3L5VIYmCEVV@lwQcV-#-${=?o=|6{}=pO3& z8eBD%_qE?9dyPjSsq9a7VGs{9MtlRI(YNa&h!lN{D_{YZgR5o=zwZ#Ca~Iacki;mD zqZ9Q>Jgon^^MmQys1=Ez(tyEo&Jrp7whtk4!n_G;wL^DlN2;vVG2>%kcgwErF6^Ti zVEKw>h=Q=|PySqmuhRKdpB&bD(fb?ziJ>J{Sb|vF@zR@^!qu3f5O}d63i34JW4iye zyYSuM6txjZSiBlT6w0iCjPTlEkI%Kr{{7&(NTu~@AT=6jla*wfNvae6}%wP%mszH%3*5NOS zMFZSJ4%Zo$93_-*O?i_mw0fjCTX8X1&B8Wk?AMI^lO01i&42clZ2SPPjeW$mxtxiw0oI66yA|U<=Ln#Y5Ecfm#mt6|8UNF;%+O#VfZyPipHN}G z)~GlMc@}_g_~JWs@=sd>>yTR>SS3F|>5cWkzU{pt@(ij90ZLiU;MRR zN}$nZ0{%~aOY+wZ>_;mNz~H1Z+26T|#K;4@hwUqDUm!{SFX-&KF?IHo0g&=T!P9zz zj~k^88{8G6IU8)&zSTOdjg{%A-FML2pqMcEM+5Qrf;aKpmVbE7aO?4`0pM$cF&tpn z3n|{2PP<+JSW+E8;LQzRlUNv*z|rHYq&k?eK?v?e%>7G!41T39I|*Vm3-DK zd-`?&vQL972)#a-}EyMIzf^NHgBVwr}ne(+&0 zb1NU62*&LXV8_qXJkBhtX^FD{7t3!yQQ;26qlI6e7&p_{#f?{vfW zc2C#GUWxAPfF;4l$Af`cH2`Ma?`4Y3H;)y)fADL(yxPn2o61?1sBZy~&8&xS3~?p$ zG#*zcoBK{F7?pJ`9?4NVJSymeoo#pAp5+^aB>;(o*lK`+cx{=aduJx_@_ZGD4OP*x z2{YQ#^P4@M!OOlf4E&jLtk{Ok(GkWjczcL9Zoi+P;wZ(Sh@OxCP%-8bFs`hbA1SDQ zfJ3p{&)I0d^Y92zCG_)P5suJbWqPXt%AI^G48kOrSVytd?0cwog${U@K1R4B?;0E( z4S3JigI+wzSP|(V2cWVmdqI{nO?-G$>RV~QVF;PNedR9YAcA5@WiPUoXDtLtVk;;w zv_u)q+ndfthta|WyFwGof;+nUVV(djtB==t+rDl-JnSkZlOc9_JXrYs^5W3;xxko> z8WHwxwxEmI9zXH!YnmwuUG5w;xVGQr>38+3w8xa!cYhLZMkQHM1?d2YiDBjx>2don z0EuyAvBRst$o@*XJBfIWpe4z)xo$5`Xd=4taEH}rfpHahEVi9*k5CilqYy zowUuC(@l2(vFAU2Vkj_gE91|WF40nfY~8UD>3MTdsFv6dhZ>Ed8hsUuY5Fs8*AWCc zmv^62AEr)!aJ}qp&X7dI3z2vxYfstDz_lLJfGrze00D;vqqdvWA0+7ye*{vddq+nL zIC?{YbS%3XM?iSsepRHTb>k&qQADil%Sp@4Y~zV|Dr8}QAYx%*nXFz zcD9HNs0Wynv~Qg*oiDm2vP!=}HYfqM#XRxH7U&j`eEp%KGN*K@#ktIVJN&)?)=6x1 zFCJHuhEZXLt5Rg(i0XrvMPIrXV?^HiMUa?>c(#W$$bMtodYz>AMnydL;;e&t3*5)3 zc91C?m))-LGV1R=rL|o;=wJ!X-QCPU1eK=Hg+H}XU6VmM#XCj)Ml5nmAH6YeQ&KbE z6vM=1w_U`;z{AVkH7uF~Hh2oiS8`j=b&-(m& zd7!{O5qL6^on*_LeZFoz^5OFI134r#8fv@Qus5)Ox$E7&*|?R}lG&9Eh$|lWZ~1;# zUWy&st;#+xg)9F{oAHcqK;c(um6{I#+ea=hwl0$zXkB|5x{khECL0bXx9q=OcrO)z zzj^O%9iyRh8)lb&a1B%rxDEOmIVxd0quQot)tawE8@@Jfc8(xi2!hqfZQN8XvC*UWq5LvH__ zF7grj%cCB5VD<4IV$a^c%5+nS`N4GyG2ia9WHCK4_V*AzoOV;Dchg*~`-2@bnP+JA zXE|(BX0Md-PU-e%K6IJpqhhXrg0`VFA`z*$6P^<~S9}{~HeRk6o^omwW7$3id1)c= zk{y^G-bYV&iyb4X2Xz*cVjQ0rja;k=4=e+wQi#wA-sw*xMuPjT%Yzftgo{;PnJ5vq zGayY&0ah0DhmyU1UFQf+`Cj@4LxcjlUxGyN*p6@ zMaC+j!94Ad4apRS)|bDb&$bs?!~@Q*6d;gW?dhSet9-jTP38U@cCTR=ktFJ{N*Z%m zT$bkxI>?gv#iF>9Xt7;&SPPVnoCAJo;ApCloiM=o_U7%Y7LIJ$ShrVF>qk4Wff?}j!PDEvAH}nvaQAHlT}MjL zsb&*AckqN9j%w1G?c9#j1-05y#dm;lZR?pp7nXy9f>6({ln|@TNOU-i#(hY#3)Gz% z$tKJ$*cX=QaUZOH0aTp$?(jMx+Sxf0{^r;0tJ0G9)>-YsY5k`%)GL(x3;Jjm{h=E0pwui zH^;^@kofjFpbgO8{brT!pwz^-cO=Nj=OeJC*NKVgM0OHFYuy{|xf4|Z(Dvl<;n4#C zQLej2WPOqtm;M^kuJ{nfibTR*gR;bN6-Ss%So9%fp|8aL>Iy}VLWnn&rmZz*u$WAtj~xP zZnmA6b*Nf3|LjY&7idJYeW=G-wy4$SJUQ?<*)@2P;+MP$TpU=?tNSDB>Hzcogy%)7 zQpY|i7M+$bs8h0xIzto%1Z;rPJWUYFZT{BA5U|oLU`L}C^K~ubPAs(0j2X8HtR&tE zG%`)|N%k1-pAfqgENN;m9hgQZ0-fj<8Y8BiF?4~O1HI+h9xD#CU!gADlz4Ns9ZS$I-^ z`(t)>L=Sem8vL1t+SwkHsFoGjz(mD39@|Jv<)x&`LL{2M9P(sQbpMJXg)`63gs?^o zNr@$f^-5D>{T*)yV=4!o8f}X6@b7@5lo?E8EwpR~5fqu}k}l%0g^Gv@Qdz)P=&&4yo5J5eTWQ$*~EA6rc&c;G2kQgak? zYjf<*aYWJK3x**()C-v3kDo~@w^H08pu@wELEW|3h;nu?Yrx~e|C#czV<8VtJg3;M z#!_k;?A6x`d%X-u`PjS}bl6|~Lhz_k1A>hYiR5-qpvXA!aN*#Zp@2?8G&wIjaeU5A zBt!+X{T}A4;5vKh{@CbxTafrVG?ewrtOTtFXR*9Mrtb z5NWUu_Zrhs_?uw$nUe2JbX#AH3Q%__8L$VRBVz?6P9dsOxbfqq3z#C)pN^hA0fnGu zoBJr0a)nSxBmJ&Sywh9d!zsqJ%k2<#@KEElUMEi6QdW3Mfj0MZ{_U-`!(Of!%|J1x zAaHM9u=_w z3@?7AtV@2`k0-pgi$uqaDm;&|O+j1WlPtq9ok4RT(ersE|Bd%vYBf9#{AMLLW;A<{ zy+ui)I#(3qg#HWDnz5=eBma3ZU94Zp%K0CR2KOb7b8NRL@8RmS-QJAv`{VCK9_$c( z+;1$i))A-=A=UN?Wk79*RU?@q0Yp(H^Edp+@lcT zl<@Ww(w>ztwZP+k=eEW!lHJl)=Z6& zp&BD&n5&nDU7&VN-O)6PNP84S}^&Px0P*)tQjb%!e zW=hIL_!gb$J{!ZD`Ui$i?#ys8rs~2Aj^`g*<3Z6n=Bd-rN^J7GCJ9f0#-ZQioDQ6v)iseO4_=j^mp`^hW`);yAB!hwh zA^Z8v`w2z4OXVV;%U0ir0rvoeuO-e)-gN#kzHLFz+~?p3kVq@^smZ4*!PP5W6ux7Im;^_CG50Y+5D)xtp!rGbU+GuBIVDRYEaltL$9+p;} zwo`iQu-6pZvptUUrgpwz@iFT23AF%g9%)LEUf1Yi+NK4qvA&H<4v`^vHZh_mQU*8Q z9?d?Y*x|{%{cQBsJ05>MBlA#Mwc5S~^ep_0=vCU4?7)DlR}cCL1q^IgacVBIpSw-p7YtO%7m&0l~#*?tN^9q+B#I3{&kPMYR?# zAvMERozPvob?UTsapamf&YC2YvuBlMSK8h5n>m8H08NuH7c&G)3V*|*6b!E09(pB) z)L9BqlxWe?}8Aib1Es zbj0soN#*hMOH0uyX=4&?($|kK2eeSt(J#|*ZALJ~1xU>D#5dI^^Sk?@P2j?&t@7~f z!RzSjtlgMIy}B<@eY=M42Xh|x@GP3|*Nm|9^Bh&051I7_47cW(J;jYqS_lh*2e&EC zwYLRHB}yRYLfTKD26bRgFdLYWdtv7U%DK?ixh^0n)@TU{a&Qrnql1TV(;_&0&0RDW zOyPX+`k>0!o4{)f(I{>1)MMwZ8r?%b_zo=l2#hG$-%^Pb#L>I-qPqn7nId|fEyx&8 zR_JjLB)Co2u=H{GKBGfW=7R?f3{tH^lVui(BAZx4*|3+f zSsu$v&_Ysd#Aij}6Hwu{=bnu3pbI(q3ofA%IR1mAWPJr2tQ&A2=VupT4{Ue#C3F_( z$&J{yEziD?NBrugZH&&co^8+o25r8?vv2LI;C~mwU9?N<}FJ z#Y&(%`N3@DF!&d%6Qa$E(%smA?LQ-a_BK3hB3<;Ys`{5XQlA?6H{FQ_iM%6F3FVO_L0#~#<^ zveqvf*Xr^|LZdZ=g}X5qbQm{17~6N)D6$;k`MnRVr|%dT9P!&qkQf# zX&;p2`aP0GI2S~OQ@>&v(RX=LetGxs&4-h(<$XROu-3&aVlIziH?Drs*RK|dO$;j9 zFp1K<6+YXC&rf!o7oVB=fO2QBgeP3Cj8WULAFoa7d36svD`iqRc{@RsF} zbxjFLFvcNAoyX|@U>ZTS`U=3O^)ZU}u<`A(aAub*YXrtX;4B2IIA7s@u{95|r`p6T zS?^7$!=#iCV);kRtBnE&m?q-H4|x8_!m`8Brqe&i6oL+8kkoLps#!Xsd*0h&;~@24 zLWAyhbX0)i=g~euFIK=`%0Jnd4c#hNP(>J%e4_vYCwNRwD6}cT-uvonv5BzXo^Y zcr3JCN-Skzv*L>9isJVeqW1pu-C@ZnhXvEt3(Gsto&56P8BE9wk1^fVwUTnjw}K-Z zfNW}=*CW$*2FbW%5*J~CQLsZYG0y{=jqF&t(r`b=Lq^X$Y-Zt%JR30uWLMmofhTH7 zzpNye4w`g(ZcW}l&H+K6u^_mbR&_m1PDaz7M~t^>Sw|UWY9)) z3hn>=FMw6DQW4~XsBjl$(P5q#o^A?b1R%RBe#Y07kgM)pxTPB!zw@=^$=18KOv?1! zbX4ezk=P&MpQ?T{?1&Y^$-G~1Ws6AJ96y^OCT5 zU(S0T*+XQ$47^m*AJXf)?E79F!T=VaxQDduG~dJRrdTE5AaOoX={JDg{qJ<5NfsDc z_#5sycMt=TYK1?y9j2(`aY*md)=d;2s}Wg>lO7gY$F z&VPE0##0tlOo-_Az|5=QwlW4}SG)Ni8thSw&@)(w3dW!naa=|WNKU_5;GK}@xsaiD z_bk>2yNAt-5D9!q_7b&p+u~a)U(5_CJ0Yjdx25Rm-A+FBu%G=SV``E`f@C>k&!AMl zWaE#K$81lr#HJF9fIob$eDYuxo`(ctfk)^gHWTp}(!#rMvJTyP7$uB*2<7*^;WPp@ zAuU-zdSZu6ij*Pql?NbdD686e_TQL$y$ftiu zNC&H9@105udbeHcH#@GOX)()JgYh>-^RF@djIsUGq_6)t$wd^+%Tco_A|MG*;vG1=eMx1~p6wLK!fL9^OVqXF8WUvE7SHQ9eAc3mfgT23_os3)Mt zJ_BIrEjK6-@qke6!PR@OaOD4C?=7F=+P1duAc4jkZ`>_7!QCOj0|fT~A;Bdy?$87e z1cE~#Kmx%vxLbe(2=49;jr+SePu+W;v+q;yAMn)ksSB!l)$F{L4IDB#C2a)504|RjePI-jAKwXDjq}c5b)c-&q6)bp20=P^LmpjM) zTL1-gI$^~9z4h)&VXN(tO-cfgROP${%3d1eyq5CQ!6^#b82Pq1AM|bWcQB+y zO*7s;<4@g<;qAOs4E(CMCwww22G0kKK~MGpKaus^l1%m52bE+GMX>y#YDj@t0^cPqW85UbYr#D1EgZpZwd$R?b7PWaqnw&F45*UrEfR zxLtC9&M>rF)@oWHNBh16@NC-wj!d<+ql?wJLZE`q!`X7NV$F#k8e8wl;ABr1z4nI8 zH`YO4j>iDvWl$)>B26=P53_{Pa5TLq{S8=;Mg=B~wdD!LV`dOw3l3g?h*@+4Ac1Ts zap|m28Yk|?9 zc=^D0t&IPe5M563?NF|+5Y`0C1YKSEQ|n{%7?08u5p((E=j4PflWh8CH=1z`Mg8DohT>nKcO5;H6H5pr&s8$3D8G`L>dqs=5Ft&r5ahz2XHb54e=xSY3uNpBm38v!|E@z^1ntjQNQE#MO8U8JoOR+|KYNLOrSa~8qy~yH7hScwkYl)yz$8jbMj%U_jUwC z@OIaL5WZ~loiQNP{}S7En{Sma?wl&;VZ-FHA(Z7dEV7<0wn>iCyLJ9x`u_R787RmO zP(G_IeCzvU^iypO{AhMPQ@0*N>Uw%);5pn)+u82BZ`}WATr{PS>0X7h@;099boI75 zsDZxHXc^6sAoXCMH_myE9Mnf1^+RJSW?y<`9yI~6K-s$ylz$2Lv*%rUtAB@6*vQ$x z@c+DEbu}&i3&KOQR=89Az1A?bkQjv(TOAEQ+smc&jk^GOP)6Jd5jdpWyClu&6uKrL zb}1y_!pzi=hVJss8j)Ga+Q>`2`HgOes8?D0`_o>dHw?WDoJW`V+{pny#Wp0R&FhbP zD58W3PH83SMpf?xO)wldxL2Gr-YLLpyDocHk224Dgx84Ie`P&rpf7!(cop;)Qb5sY z#Y4vMdDku->F^|3M+t(-(n?Ba*X(;Ic53Y*(?I0S4_mr8m*J>wK4|12f3SBCRvhb$ zVo~zoxq0sS{NPA0i6v{GfpBtvs zIZMc#Z(V5-Epz!!Fo|?`tnlY8182z2gE-=d6%!@Kz3J%|&mP!ns*n=pBa#}qxHiv^ z>$80$G`6EYCt0p2EQkBMTNUxxqtHwbI-b_cVUYzZ%|x0qp+(;+5o*Vm;~@xor|4HJ zJek3KKwbU&3h@|AUBn6J-X>PJH;!Wj)9it4gh!ogx2Jnw%3lvhG<86jMuaLO zkbC&{1GwD`88zJ6IzO8^b_z_Irau%Jt6!Wg(7|7$Ten99BB_b-RBwx|{GvweXYRID zV~8^ftD7wMi&1WiA$uqoFqxpPv}L!j?+-YBiMg$rhT5N4Vq29|l8SVoDYAtSgpgWMgy74ilkQNFPHFh< zXfxsZXb|F|IPZH*Jd1jjfbx_eguLwWfMOtMm8imoYDFND7``DR^+e;CRvm;1=oE|% z_Q~a_6N3Mg^*ilNRdA9oSK9&t7Q4I{!6zI8VN#QJzNPSE?xy%;d%jp+(`jxBl-tV; zp=dXuU~CJUv8ZlaIn#Af1{q=tSfmdeHxe8FLL{|fg2oG@2s$x{9NcZm!pTsBMfObtu4|QUcXy98cQF$2JH%C zIL*)QPjn-6GdUdBXNlWgXfU}nC#x&*Z+UIgmBv_&Ra;zA`J6oMnnZD}SJ;QciM@Ac z^0Mv3aQ(zr5p2M4@1G1HP+%8x+46IAPicDlaYJiMz^XUHY;YIi=-a z)K`z;utioYx}8p^u#r%*FUfD%{QqW=xkWs}E2uA90n!qD2b?$r`Vb6r4IXuj=-D4= z3JEX0sZp>jkmbliPJY{OS->p#Evt`Wa~~>I`MJeqS&FuKj*GnrOa09!b116kRYlI_5waQt3!5c@g;9qy}K1JVW?B7k??c58+k;@SM6^nu^oC9NlN%Aa< zhi?O#Is=mHApD-a(#8Wr)Uc|9mPQaGWEmvWxV{Rxmb%>z__B|fApt!C(L)-pUvV8? zyv#MZt7aUxEScjz79H97uyF?icMHAM^+v=*dz=^Q2W<| z@YC&^T=1D$(Su-LxdR5hXz9y|iTx^FVyjTme6<^k;0_IojsvID66d?6sgu=T>y_2j zch>|RKPe=k(|EIH0=0R&*4s1oU6^?MHT(gR@Od~%jvV##2PbMg&};5>gk$sR#K}q& zcXDMNP%`X_f>+aM5G~kIxRm|m0B?gWKTBCc7_uq~Fq-Oyy_^&B$}m$ns+TflOko5d zerOG)>tVY>*HyoU|A)g-vZP5@Kx*JH8c!$po;5gLT7qn|?)DbWB(ZA!pbuCjg%gKj zA=WJi>YD+N$or+2J0Ih0VRrE5v*)`TM`7hM&14kO@ZDqm{p>JWf4!KXAICnzD=>!V zhVtY)$BtYPoV}&@gJ$n@I;ZmIZyW{n18!XzWHVV;mzAj5PV-b_$^O#Dwl&eWHDlpz z)K6~E;hdY##ktPW28BgFdI!d{A}bVUw4UohnGgG#b)3fqM1GnZcKouBQNp5T0J2B+ zM4uwvm=0L^)8`k_gBjFx$W{cr=3Nr!`9g@WIF=1a8)VTKo2EaU42?l!f|uNL$|8bq zKQM|hi&({$muaFvpEISC&?{Ov+EyH^=M^5HBM>bT*9{Pe!dEqDbM8$KvBOOo>`uPn z{o#dq|A3uoj+YRO72PSKf2Vl|oS+P`b(%mELs<;fNbR|A)uWCyj9&g+;9k3r^MR{5 ztzRvtYTgE!>vy0!VPUV9icp!N!qCP)p1>qv?A37>s>OEvOGm;>y~0e#+mo$kyl>pX zUR2*7aOAY%CLoukQMuBTWY0!TqV({4m~i?emZZ(9-cBX@*bC+?^RQ*h!B&Kki54VP z{XP#RVO3qj8@V~to2|fVg2M}3bT8?kw5)AtA>=5&npvXV&zG|MEs;*WM6h@RTK8+| z+jvNNZ0In#A>v}7{4XXvOtjK_C(|P&%cwG-Bh(Nor%!YtdczA;*=m!fo+kb2EuS)0 zIZ`BSKcRIHk;c+JPpU}l&KtbD=v|S};d8o@Yuv5_OqM^!3Gp&XE6amDu}p>EuAOPK zd?Fxq32MpZxXSe;VeeTlB%9s1!T?aC&=0SmS*_6J3$c`d1Ebczx8s&4e z3o40!T#3Z7;c&`hlYYF7@$^NE4%~IVv-+tqlD|{6pY%}c(bxP#t}PcTn4p_M1m{L* z7#!HBki@C%DHRwUuPIrp2ljhLl}v+J|rh`

9`+8T;78P$kXv}mxg&X& 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 z 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

r>lQj&n>&<>@v+AR#AS7VEerh{ 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 Date: Sat, 14 Mar 2026 19:11:49 +0530 Subject: [PATCH 85/86] edits --- modules/ROOT/pages/embed-events.adoc | 211 ++++++++++++++++----------- 1 file changed, 127 insertions(+), 84 deletions(-) diff --git a/modules/ROOT/pages/embed-events.adoc b/modules/ROOT/pages/embed-events.adoc index ba6616f20..b138f13ad 100644 --- a/modules/ROOT/pages/embed-events.adoc +++ b/modules/ROOT/pages/embed-events.adoc @@ -15,9 +15,11 @@ The SDK library includes the following event objects: [#embed-events] == Embed events -Developers can register event listeners to listen to application actions such as component loading or user interactions with the embedded component and fire events. Embed events are emitted by the embedded ThoughtSpot components and are part of the `EmbedEvent` object. +Embed events in the ThoughtSpot Visual Embed SDK are the events that the embedded component emits to the host application when application events such as loading, rendering, user interactions, or errors occur inside the embed. Developers can register listeners for these events and emit these events to the host application. -=== Register event listeners +Embed events are part of the `EmbedEvent` object and are identified as the members of the `EmbedEvent` enumeration. + +=== Registering event listeners To register event listeners, import the `EmbedEvent` library into your application setup. @@ -36,13 +38,13 @@ In the following example, the `EmbedEvent.Edit` is emitted and logged in the con [source,JavaScript] ---- liveboardEmbed.on(EmbedEvent.Edit, payload => { - console.log(`Liveboard edit', payload); + console.log('Liveboard edit', payload); }) ---- -=== Start and end specification +=== Specifying start and end -For some actions and events, you can register listeners to emit events when an action starts and ends. In this example, the `EmbedEvent.DownloadAsPdf` is emitted when the `DownloadAsPdf` starts and after the download is completed: +For some actions and events, you can register listeners to emit events when an action starts and ends. In this example, the `EmbedEvent.DownloadAsPdf` is emitted when `DownloadAsPdf` starts and after the download is completed: [source,JavaScript] ---- @@ -59,12 +61,12 @@ For some actions and events, you can register listeners to emit events when an a ---- [#use-cases] -=== Common Use cases +=== Common use cases Embed events can be used to trigger a specific response when the event is emitted, handle load and errors for embedded components, or modify a behavior in the embedded view. -==== Handle event response for embedded components +==== Handling event response for embedded components -To handle event response when the event emits, you can add a callback function. +To handle event response, you can add a callback function. In this example, a callback function is added to show the loader when the embedded Liveboard initializes: @@ -89,11 +91,11 @@ In this example, the `HostEvent.SetVisibleVizs` is triggered to set the visualiz }); ---- -==== Handle load and errors for embedded components +==== Handling load and errors for embedded components A common workflow is to use an overlay `div` element to hide the embed content until you know that SSO is completed, and the content is fully loaded. If an error occurs in the process, you may prefer to display your own custom message to the end user rather than showing embedded ThoughtSpot content in an error state. -Embed events fire at different points within the loading process. The following events are related to the load process: +Embed events fire at different points within the loading process. The following events are related to the load, initialization, and authentication process: . `Init` + Fires at the beginning of the loading process. @@ -103,8 +105,11 @@ Some browsers (Safari in particular) default to strict settings on cookie origin Fires if SSO does not complete and if the ThoughtSpot session times out at some point. Listen to the `AuthExpire` event in the load process to determine when it is safe to show the ThoughtSpot content and listen to it after loading to hide the ThoughtSpot login screen if the session expires for some reason. . `AuthInit` + Fires when the SSO process is completed correctly. The event does not fire when an SSO process fails. The logged-in user GUID is available in the `AuthInit` event response. ++ +[#errorType] . `Error` + -Fires when an error occurs in the embedded app. For information about error types, see xref:embed-events.adoc#errorType[Error types]. +Fires when an error occurs in the embedded app. + . `Load` + Fires as soon as the area for embedding is created, not when the content has begun or finished loading. . `LiveboardRendered` + @@ -146,8 +151,7 @@ embed .render() ---- -[#errorType] -===== Error types +==== Identifying and logging errors The `EmbedEvent.Error` is fired when the following types of errors occur. @@ -163,7 +167,7 @@ SearchEmbed.on(EmbedEvent.Error, (error) => { ---- * `FULLSCREEN` + -Error in presenting a Liveboard or visualization in the full screen mode. +Error in presenting a Liveboard or visualization in full-screen mode. + [source,JavaScript] @@ -177,7 +181,7 @@ LiveboardEmbed.on(EmbedEvent.Error, (error) => { ---- * `SINGLE_VALUE_FILTER` + -Error in updating filter values. This error occurs when a single value filter is applied on a Liveboard and the user tries to update this filter with multiple values. +Error in updating filter values. This error occurs when a single-value filter is applied on a Liveboard and the user tries to update this filter with multiple values. + [source,JavaScript] ---- @@ -203,7 +207,7 @@ LiveboardEmbed.on(EmbedEvent.Error, (error) => { ---- * `INVALID_DATE_VALUE` + -Error due to invalid date value in a filter. For example, if the column name is `Commit Date` and a correct date value is not specified, the `INVALID_DATE_VALUE` error event is fired. +Error due to an invalid date value in a filter. For example, if the column name is `Commit Date` and a correct date value is not specified, the `INVALID_DATE_VALUE` error event is fired. + [source,JavaScript] ---- @@ -228,12 +232,13 @@ LiveboardEmbed.on(EmbedEvent.Error, (error) => { }) ---- -==== Modify a behavior -Embed events can also be used to modify a specific behavior in the embedded app. For example, the `hideResults` parameter in the `SearchEmbed` constructor blocks the *GO* button from displaying the chart or table results. When this attribute is set to *true*, you can listen to the `QueryChanged` event to perform actions based on the user's interaction within the `SearchEmbed` component. +To identify and log errors, use the error types and error codes. For more information, see xref:EmbedErrorDetailsEvent.adoc[EmbedErrorDetailsEvent]. +=== Modifying default behavior +Embed events can also be used to modify a specific behavior in the embedded app. For example, the `hideResults` parameter in the `SearchEmbed` constructor blocks the *GO* button from displaying the chart or table results. When this attribute is set to *true*, you can listen to the `QueryChanged` event to perform actions based on the user's interaction within the `SearchEmbed` component. [#customAction] -==== Handle custom action events +==== Handling custom action events If you have added a xref:customize-actions-menu.adoc[custom action] set as a xref:custom-actions-callback.adoc[callback action], you must register an event handler to send data in a payload when the custom action is triggered: @@ -252,14 +257,15 @@ searchEmbed.on(EmbedEvent.customAction, payload => { liveboardEmbed.on(EmbedEvent.CustomAction, (payload) => { if (payload.data.id === 'show-data') { const showActionId = 'show-data'; - if (payload.id === showActionId \|\| payload.data.id === showActionId) { + if (payload.id === showActionId || payload.data.id === showActionId) { showData(payload); } - }) + } +}) ---- -=== Event configuration for React components -If you are using React components to embed, you can register to any `EmbedEvent` by using the `on` convention, for example,`onAlert`, `onCopyToClipboard`. +=== Event configuration for React embed components +If you are using React components to embed, you can register for any `EmbedEvent` by using the `on` convention, for example,`onAlert`, `onCopyToClipboard`. To trigger events on ThoughtSpot components embedded in a React app, import the `useEmbedRef` hook. @@ -282,7 +288,7 @@ const MyComponent = ({ dataSources }) => { }; ---- -=== Try out in Playground +=== Try it out in the Visual Embed Playground Try out the embed events in the +++< a href="{{previewPrefix}}/playground/liveboard"> Visual Embed Playground +++ and preview changes. [.widthAuto] @@ -294,75 +300,55 @@ For information about the supported event objects and examples, see xref:EmbedEv [#host-events] == Host events +Host events provide programmatic entry points to actions that your host or embedding application can trigger into the embedded ThoughtSpot iframe to perform the same operations a user can perform in the UI, such as opening filters, editing, saving, pinning, drilling, or navigating to an answer. -Host events are triggered by the host application in which ThoughtSpot components are embedded. Host events use the `.trigger()` method to send the event message to embedded ThoughtSpot components in the `.trigger(hostEvent, data)` format. The host events are part of the *HostEvent* object; for example, `HostEvent.SetVisibleVizs`. - -=== Register event listeners -To configure host events, import the `HostEvent` library into your application setup. - -[source,JavaScript] ----- -import { - //... - HostEvent -} from "@thoughtspot/visual-embed-sdk"; ----- +Host events use the `.trigger()` method to send the event message to embedded ThoughtSpot components in the `.trigger(hostEvent, data)` format. The host events are part of the *HostEvent* object; for example, `HostEvent.SetVisibleTabs`. -In the following example, the `HostEvent.SetVisibleTabs` triggers an action to display the tabs specified in the code on an embedded Liveboard. +=== Event categories -[source,JavaScript] ----- -liveboardEmbed.trigger(HostEvent.SetVisibleTabs, [ - '430496d6-6903-4601-937e-2c691821af3c', - 'f547ec54-2a37-4516-a222-2b06719af726']) ----- +Host events can be categorized based on their schema and what they do: -=== Event trigger and actions -Host events can be assigned to a custom button or action, on clicking which the event is triggered and initiates the specified action. +* Navigation events that can move the user to a different object or change what’s visible in their current view. For example, `HostEvent.SetVisibleTabs`, `HostEvent.Explore`. +* Filter events that can get, open, and update filters programmatically without relying on the user to open filter panels. For example, `HostEvent.UpdateRuntimeFilters`, `HostEvent.GetFilters`, `HostEvent.OpenFilter`. +* Query control events that can control the search string, prompt, or query that ThoughtSpot runs, instead of relying on the user to type or edit it in the UI. For example, `HostEvent.Search`, `HostEvent.EditLastPrompt`. +* Object creation and management events that trigger actions such as save, pin, copy, edit, present, delete, and more, either by opening a UI modal or executing directly via parameters. For example, `HostEvent.Pin`, `HostEvent.SaveAnswer`, `HostEvent.Present`. +* Data retrieval events that return information about the current state or objects, such as a Liveboard tab, answer session. This information can be sent as the response payload to the host application to drive custom workflows. For example, `HostEvent.GetTabs`, `HostEvent.GetAnswerSession`. `HostEvent.GetIframeUrl`. +* Other utility events that trigger workflows, such as `HostEvent.EditTML`, and `HostEvent.ExportTML` in the embed view. -xref:runtime-filters.adoc[Runtime filters] can be set programmatically before loading the embedded ThoughtSpot content. Runtime filters can also be updated after the load time using `HostEvent.UpdateRuntimeFilters`. You can add a UI option or button in your embedding app and assign the `HostEvent.UpdateRuntimeFilters` to trigger the `UpdateRuntimeFilters` event when that button is clicked. +=== Configuring host events +To configure a host event, use the `.trigger()`. -In this example, the host event is assigned to a button that updates runtime filters. When a user clicks this button, the `HostEvent.UpdateRuntimeFilters` is triggered and an action is initiated to update the filters with the attributes specified in the code. +The following example uses `HostEvent.SetVisibleTabs` to show specific tabs whose IDs are specified in the payload. Any tabs whose IDs are not included in this array are hidden. -[source,JavaScript] ----- - document.getElementById('updateFilters').addEventListener('click', e => { - liveboardEmbed.trigger(HostEvent.UpdateRuntimeFilters, [{ - columnName: "state", - operator: RuntimeFilterOp.EQ, - values: ["michigan"] - }, - { - columnName: "item type", - operator: RuntimeFilterOp.EQ, - values: ["Jackets"] - } - ]); - }); +[source,TypeScript] ---- +import { HostEvent } from '@thoughtspot/visual-embed-sdk'; -==== Filter from selection -Filtering from a selection on a chart or table can be implemented by combining the `EmbedEvent.VizPointClick` or `EmbedEvent.VizPointDoubleClick` events with the `HostEvent.UpdateRuntimeFilters` event. +// Example: show only specific tabs on a Liveboard +liveboardEmbed.trigger(HostEvent.SetVisibleTabs, [ + '430496d6-6903-4601-937e-2c691821af3c', + 'f547ec54-2a37-4516-a222-2b06719af726', +]); +---- -The callback function from the `VizPointClick` event will need to read the response, parse out the attributes from the response that will be sent to the Runtime Filters object, and then send the attributes and their target fields in the format used by `UpdateRuntimeFilters`. +When a host event is triggered, an event bridge inside the embed receives the event, finds matching handlers, and executes the action specified in the host event payload. Host events can also be assigned to a Call To Action (CTA) button or menu action in ThoughtSpot UI or a custom button to initiate the specified action. [#hostEventParameterization] -=== Trigger events and complete actions without modals +==== Using parameterized events to trigger actions without opening a UI modal +In your host events implementation, you can choose to trigger an action without a payload and let ThoughtSpot run the standard UI workflow, such as opening a modal or using the current selection. For events such as `HostEvent.Pin` and `HostEvent.SaveAnswer`, you can also pre-define the `vizId`, `liveboardId`, and `tabId` parameter values in the host event payload and trigger actions directly without relying on the UI workflow or modal. -To provide an uninterrupted experience for workflows such as pinning an Answer to a Liveboard or saving a search result as an Answer, you can pre-define parameter values in host event objects and trigger actions directly. For `HostEvent.Pin` and `HostEvent.SaveAnswer`, the SDK provides the option to define a set of parameters to complete the *Pin* or *Save* action without opening a modal or showing a prompt for user's input. +===== Parameters for HostEvent.Pin -==== Parameters for HostEvent.Pin +The *Pin* action is available on the charts and tables generated from a search query, saved Answers, and visualizations on a Liveboard. Generally, when a user initiates the pin action, the *Pin to Liveboard* modal opens, and the user is prompted to specify the Liveboard to pin the object. The modal also allows the user to add or edit the title text of the visualization and create a new Liveboard if required. -The *Pin* action is available on the charts and tables generated from a search query, saved Answers, and visualizations on a Liveboard. Generally, when a user initiates the pin action, the *Pin to Liveboard* modal opens and the user is prompted to specify the Liveboard to pin the object. The modal also allows the user to add or edit the title text of the visualization and create a new Liveboard if required. - -With `HostEvent.Pin`, you can automate the pin workflow to programmatically add an Answer or visualization to a Liveboard. For example, to pin an object to an existing Liveboard, use the following parameters to the host event object: +With `HostEvent.Pin`, you can automate the pin workflow to programmatically add an Answer or visualization to a Liveboard. For example, to pin an object to an existing Liveboard, use the following parameters in the host event object: * `vizId` + __String__. GUID of the saved Answer or visualization to pin to a Liveboard. Note that after you pin an Answer to a Liveboard, ThoughtSpot creates a copy of the Answer with a new GUID, which is independent of the original Answer object. Optional for pinning a new chart or table generated from a Search query. * `liveboardId` + __String__. GUID of the Liveboard to pin the Answer. If there is no Liveboard, you must specify the `newLiveboardName` to create a new Liveboard. * `newVizName` + -__String__. Name string for the Answer that will be added as visualization to the Liveboard. Note that each time the user clicks, a new visualization object with a new GUID is generated. +__String__. Name string for the Answer that will be added as a visualization to the Liveboard. Note that each time the user clicks, a new visualization object with a new GUID is generated. * `tabId` + __String__. GUID of the Liveboard tab. Adds the Answer to the Liveboard tab specified in the code. * `newLiveboardName` @@ -394,7 +380,7 @@ In this example, when the `HostEvent.Pin` is triggered, the *Pin* action is init }) ---- -In this example, when the `HostEvent.Pin` is triggered, the *Pin* action is initiated to create a new Liveboard with a tab and then pin the Answer or visualization to it. +In this example, when the `HostEvent.Pin` is triggered, the *Pin* action is initiated to create a new Liveboard with a tab, and then pin the Answer or visualization to it. [source,JavaScript] ---- @@ -405,41 +391,99 @@ In this example, when the `HostEvent.Pin` is triggered, the *Pin* action is init }) ---- -If no parameters are defined in the `HostEvent.Pin` object, the event triggers the *Pin* action and opens the *Pin to Liveboard* modal. +If `HostEvent.Pin` does not include any parameters, the event triggers the *Pin* action and opens the *Pin to Liveboard* modal. [source,JavaScript] ---- searchEmbed.trigger(HostEvent.Pin); ---- -==== Parameters for HostEvent.SaveAnswer +===== Parameters for HostEvent.SaveAnswer -For `HostEvent.SaveAnswer`, you can pass the pre-defined attributes such as name and description of the Answer to save the Answer programmatically without showing the *Describe your Answer* prompt to user. +For `HostEvent.SaveAnswer`, you can pass the pre-defined attributes such as name and description of the Answer to save the Answer programmatically without showing the *Describe your Answer* prompt to the user. * `name` + __String__. Name string for the Answer object. * `description` + __String__. Description text for the Answer - [source,JavaScript] ---- const saveAnswerResponse = await searchEmbed.trigger(HostEvent.SaveAnswer, { name: "Sales by states", - description: "Total sales by states in MidWest", + description: "Total sales by states in the Midwest region", }); ---- -If no parameters are defined in the `HostEvent.SaveAnswer` object, the event triggers the save action and opens the *Describe your Answer* modal. +If `HostEvent.SaveAnswer` does not include any parameters, the event triggers the *Save* action and opens the *Describe your Answer* modal. [source,JavaScript] ---- searchEmbed.trigger(HostEvent.SaveAnswer); ---- -=== Event configuration for React components +==== Using vizId to target a specific visualization +If a host event allows the `vizId` parameter, you can use it to target a specific visualization. For example, to trigger the *Edit* action on a specific visualization in an embedded Liveboard, you can specify the `vizId` parameter in the host event payload. + +In the following example, the host event triggers the **Edit** action on the specified visualization in a Liveboard embed: + +[source,JavaScript] +---- +// Import the HostEvent enum +import { HostEvent } from '@thoughtspot/visual-embed-sdk'; + +// Trigger the 'Edit' action on a specific visualization within the embedded Liveboard. +liveboardEmbed.trigger(HostEvent.Edit, { + vizId: '730496d6-6903-4601-937e-2c691821af3c' // The GUID of the visualization to edit. +}); +---- + +If `vizId` is not specified, the edit action is triggered at the Liveboard level, instead of the visualization layer. + +In Spotter embed, `vizId` is a required parameter for several host events. If it is not specified in the host event, the event execution fails and results in an error. + +===== Visibility of visualizations in the viewport +In a Liveboard embed, visualizations load incrementally as the user scrolls the Liveboard. Even if the Liveboard view is configured to load all visualizations simultaneously, the host events are triggered only on visualizations that are currently loaded and visible in the viewport. + +In the above example, if the visualization with the `730496d6-6903-4601-937e-2c691821af3c` `vizId` is not currently loaded and visible on the user’s screen, the host event will not trigger any action, indicating that the `vizId` is unknown or not currently loaded. + +==== Retrieving and updating filters + +The SDK provides the following events for filter retrieval and updates: + +* `HostEvent.GetFilters` to get the filters that are currently applied on an embedded Liveboard. You can use this event to inspect the current filter state or to retrieve filter values. +* `HostEvent.UpdateFilters` to update the filters applied on an embedded Liveboard. +* `HostEvent.OpenFilter` to open the filter panel for the specified column. +* `HostEvent.UpdateRuntimeFilters` to update xref:runtime-filters.adoc[Runtime filters]. + +Runtime filters are applied at runtime, that is, when loading the embedded ThoughtSpot content. Runtime filters can also be updated after the load time using `HostEvent.UpdateRuntimeFilters`. You can add a UI option or button in your embedding app and assign the `HostEvent.UpdateRuntimeFilters` to trigger the `UpdateRuntimeFilters` event when that button is clicked. ++ +In this example, the host event is assigned to a button that updates runtime filters when clicked. When `HostEvent.UpdateRuntimeFilters` is triggered, the filters are updated with the attributes specified in the code. ++ +[source,JavaScript] +---- + document.getElementById('updateFilters').addEventListener('click', e => { + liveboardEmbed.trigger(HostEvent.UpdateRuntimeFilters, [{ + columnName: "state", + operator: RuntimeFilterOp.EQ, + values: ["michigan"] + }, + { + columnName: "item type", + operator: RuntimeFilterOp.EQ, + values: ["Jackets"] + } + ]); + }); +---- + +==== Filtering from the selection +Filtering from a selection on a chart or table can be implemented by combining the `EmbedEvent.VizPointClick` or `EmbedEvent.VizPointDoubleClick` events with the `HostEvent.UpdateRuntimeFilters` event. + +The callback function from the `VizPointClick` event will need to read the response, parse out the attributes from the response that will be sent to the Runtime Filters object, and then send the attributes and their target fields in the format used by `UpdateRuntimeFilters`. -To trigger events on ThoughtSpot components embedded in a React app, use the `useEmbedRef` hook and set the ref to `embedRef` constructor prop with `.trigger` method. +=== Configuring host events for React components + +To trigger events on ThoughtSpot components embedded in a React app, use the `useEmbedRef` hook and set the ref to `embedRef` constructor prop with the `.trigger` method. [source,TypeScript] ---- @@ -463,7 +507,7 @@ const resetFilter = () => { }; ---- -=== Try out in Playground +=== Try it out in the Visual Embed Playground To explore the host event functionality in the Playground, follow these steps: @@ -475,7 +519,7 @@ To explore the host event functionality in the Playground, follow these steps: [source,JavaScript] ---- document.getElementById('tryBtn').addEventListener('click', e => { - embed.trigger((HostEvent.DownloadAsPng) + embed.trigger(HostEvent.DownloadAsPng) }); ---- * Click *Run*. @@ -496,7 +540,6 @@ video::./images/hostEvent.mp4[width=100%,options="autoplay,loop"] === Event enumerations and examples For information about the supported event objects and examples, see xref:HostEvent.adoc[HostEvent]. - //// Verify the text for accuracy. QueryChanged can be fired on SageEmbed and SpotterEmbed as well. From 2f28ae209a8d76295017e4a339d77dbf129834f4 Mon Sep 17 00:00:00 2001 From: ShashiSubramanya Date: Sat, 14 Mar 2026 20:36:15 +0530 Subject: [PATCH 86/86] mcp server page edit --- modules/ROOT/pages/mcp-connect-custom-chatbot.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/ROOT/pages/mcp-connect-custom-chatbot.adoc b/modules/ROOT/pages/mcp-connect-custom-chatbot.adoc index 918cdb0e1..fdf83129c 100644 --- a/modules/ROOT/pages/mcp-connect-custom-chatbot.adoc +++ b/modules/ROOT/pages/mcp-connect-custom-chatbot.adoc @@ -16,7 +16,7 @@ When integrated, the agent in your custom application can: [IMPORTANT] ==== -* Currently, the MCP Server integration does not support link:https://docs.thoughtspot.com/cloud/latest/spotter-versions[Spotter 3 capabilities]. +Currently, the MCP Server integration does not support link:https://docs.thoughtspot.com/cloud/latest/spotter-versions[Spotter 3 capabilities]. ==== == Before you begin