@gooddata/sdk-backend-tiger 11.61.0-alpha.4 → 11.61.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/esm/__version.d.ts +1 -1
  2. package/esm/__version.d.ts.map +1 -1
  3. package/esm/__version.js +1 -1
  4. package/esm/backend/features/feature.js +1 -1
  5. package/esm/backend/organization/settings.d.ts +5 -5
  6. package/esm/backend/organization/settings.d.ts.map +1 -1
  7. package/esm/backend/settings/activeStyling.d.ts +16 -0
  8. package/esm/backend/settings/activeStyling.d.ts.map +1 -0
  9. package/esm/backend/settings/activeStyling.js +30 -0
  10. package/esm/backend/settings/mapping.d.ts +2 -2
  11. package/esm/backend/settings/mapping.d.ts.map +1 -1
  12. package/esm/backend/settings/settings.d.ts +0 -2
  13. package/esm/backend/settings/settings.d.ts.map +1 -1
  14. package/esm/backend/settings/settings.js +0 -6
  15. package/esm/backend/uiFeatures.d.ts +3 -3
  16. package/esm/backend/uiFeatures.d.ts.map +1 -1
  17. package/esm/backend/uiFeatures.js +3 -3
  18. package/esm/backend/user/settings.d.ts +5 -0
  19. package/esm/backend/user/settings.d.ts.map +1 -1
  20. package/esm/backend/user/settings.js +13 -0
  21. package/esm/backend/workspace/dashboards/referenceAvailability.d.ts +18 -10
  22. package/esm/backend/workspace/dashboards/referenceAvailability.d.ts.map +1 -1
  23. package/esm/backend/workspace/dashboards/referenceAvailability.js +52 -22
  24. package/esm/backend/workspace/genAI/index.d.ts +4 -1
  25. package/esm/backend/workspace/genAI/index.d.ts.map +1 -1
  26. package/esm/backend/workspace/genAI/index.js +36 -15
  27. package/esm/backend/workspace/settings/index.d.ts +0 -7
  28. package/esm/backend/workspace/settings/index.d.ts.map +1 -1
  29. package/esm/backend/workspace/settings/index.js +3 -25
  30. package/esm/backend/workspace/styling/index.d.ts +13 -10
  31. package/esm/backend/workspace/styling/index.d.ts.map +1 -1
  32. package/esm/backend/workspace/styling/index.js +49 -45
  33. package/esm/convertors/fromBackend/genAIConvertor.d.ts.map +1 -1
  34. package/esm/convertors/fromBackend/genAIConvertor.js +65 -20
  35. package/esm/types/index.d.ts +10 -2
  36. package/esm/types/index.d.ts.map +1 -1
  37. package/package.json +11 -11
@@ -1,4 +1,4 @@
1
- export declare const LIB_VERSION = "11.61.0-alpha.4";
1
+ export declare const LIB_VERSION = "11.61.0";
2
2
  export declare const LIB_DESCRIPTION = "GoodData Backend SPI implementation for GoodData Cloud and GoodData.CN";
3
3
  export declare const LIB_NAME = "@gooddata/sdk-backend-tiger";
4
4
  //# sourceMappingURL=__version.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"__version.d.ts","sourceRoot":"","sources":["../src/__version.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,WAAW,oBAAoB,CAAC;AAE7C,eAAO,MAAM,eAAe,2EAA2E,CAAC;AAExG,eAAO,MAAM,QAAQ,gCAAgC,CAAC"}
1
+ {"version":3,"file":"__version.d.ts","sourceRoot":"","sources":["../src/__version.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,WAAW,YAAY,CAAC;AAErC,eAAO,MAAM,eAAe,2EAA2E,CAAC;AAExG,eAAO,MAAM,QAAQ,gCAAgC,CAAC"}
package/esm/__version.js CHANGED
@@ -1,5 +1,5 @@
1
1
  // (C) 2021 GoodData Corporation
2
2
  // DO NOT CHANGE THIS FILE, IT IS RE-GENERATED ON EVERY BUILD
3
- export const LIB_VERSION = "11.61.0-alpha.4";
3
+ export const LIB_VERSION = "11.61.0";
4
4
  export const LIB_DESCRIPTION = "GoodData Backend SPI implementation for GoodData Cloud and GoodData.CN";
5
5
  export const LIB_NAME = "@gooddata/sdk-backend-tiger";
@@ -91,7 +91,6 @@ export function mapFeatures(features) {
91
91
  ...loadFeature(features, TigerFeaturesNames.EnableGenAiDashboardBuilderSkill, "enableGenAiDashboardBuilderSkill", "BOOLEAN", FeatureFlagsValues.enableGenAiDashboardBuilderSkill),
92
92
  ...loadFeature(features, TigerFeaturesNames.EnableGenAiRightPanel, "enableGenAiRightPanel", "BOOLEAN", FeatureFlagsValues.enableGenAiRightPanel),
93
93
  ...loadFeature(features, TigerFeaturesNames.EnableAiAgenticMultiConversations, "enableAiAgenticMultiConversations", "BOOLEAN", FeatureFlagsValues.enableAiAgenticMultiConversations),
94
- ...loadFeature(features, TigerFeaturesNames.EnableGenAiAgentSwitching, "enableGenAiAgentSwitching", "BOOLEAN", FeatureFlagsValues.enableGenAiAgentSwitching),
95
94
  ...loadFeature(features, TigerFeaturesNames.EnableGenAiReasoningEffort, "enableGenAiReasoningEffort", "BOOLEAN", FeatureFlagsValues.enableGenAiReasoningEffort),
96
95
  ...loadFeature(features, TigerFeaturesNames.EnableGenAiObservability, "enableGenAiObservability", "BOOLEAN", FeatureFlagsValues.enableGenAiObservability),
97
96
  ...loadFeature(features, TigerFeaturesNames.EnableGenAiInteractionIntelligence, "enableGenAiInteractionIntelligence", "BOOLEAN", FeatureFlagsValues.enableGenAiInteractionIntelligence),
@@ -128,6 +127,7 @@ export function mapFeatures(features) {
128
127
  ...loadFeature(features, TigerFeaturesNames.EnableAbsoluteDateFilterGranularity, "enableAbsoluteDateFilterGranularity", "BOOLEAN", FeatureFlagsValues.enableAbsoluteDateFilterGranularity),
129
128
  ...loadFeature(features, TigerFeaturesNames.EnableComputedAttributes, "enableComputedAttributes", "BOOLEAN", FeatureFlagsValues.enableComputedAttributes),
130
129
  ...loadFeature(features, TigerFeaturesNames.EnableBusinessBriefingReportsApp, "enableBusinessBriefingReportsApp", "BOOLEAN", FeatureFlagsValues.enableBusinessBriefingReportsApp),
130
+ ...loadFeature(features, TigerFeaturesNames.EnableReportsSubsections, "enableReportsSubsections", "BOOLEAN", FeatureFlagsValues.enableReportsSubsections),
131
131
  ...loadFeature(features, TigerFeaturesNames.EnableEmbeddingWriteCommands, "enableEmbeddingWriteCommands", "BOOLEAN", FeatureFlagsValues.enableEmbeddingWriteCommands),
132
132
  };
133
133
  }
@@ -1,6 +1,6 @@
1
1
  import { type IOrganizationSettingsService } from "@gooddata/sdk-backend-spi";
2
2
  import { type DashboardFiltersApplyMode, type IActiveCalendars, type IAiRateLimit, type IAlertDefault, type IDefaultExportTemplate, type IFiscalYear, type IOpenAiConfig, type ISeparators, type ISettings, type IWhiteLabeling } from "@gooddata/sdk-model";
3
- import { type TigerAuthenticatedCallGuard, type TigerSettingsType } from "../../types/index.js";
3
+ import { type TigerAuthenticatedCallGuard, type TigerOrganizationSettingsType } from "../../types/index.js";
4
4
  import { TigerSettingsService } from "../settings/settings.js";
5
5
  export declare class OrganizationSettingsService extends TigerSettingsService<ISettings> implements IOrganizationSettingsService {
6
6
  readonly authCall: TigerAuthenticatedCallGuard;
@@ -44,9 +44,9 @@ export declare class OrganizationSettingsService extends TigerSettingsService<IS
44
44
  deleteGeoIconSheet(): Promise<void>;
45
45
  deleteColorPalette(): Promise<void>;
46
46
  getSettings(): Promise<ISettings>;
47
- protected getSettingByType(type: TigerSettingsType): Promise<import("axios").AxiosResponse<import("@gooddata/api-client-tiger").JsonApiOrganizationSettingOutList, any, {}>>;
48
- protected updateSetting(type: TigerSettingsType, id: string, content: any): Promise<any>;
49
- protected createSetting(type: TigerSettingsType, id: string, content: any): Promise<any>;
50
- protected deleteSettingByType(type: TigerSettingsType): Promise<void>;
47
+ protected getSettingByType(type: TigerOrganizationSettingsType): Promise<import("axios").AxiosResponse<import("@gooddata/api-client-tiger").JsonApiOrganizationSettingOutList, any, {}>>;
48
+ protected updateSetting(type: TigerOrganizationSettingsType, id: string, content: any): Promise<any>;
49
+ protected createSetting(type: TigerOrganizationSettingsType, id: string, content: any): Promise<any>;
50
+ protected deleteSettingByType(type: TigerOrganizationSettingsType): Promise<void>;
51
51
  }
52
52
  //# sourceMappingURL=settings.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../../src/backend/organization/settings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../../src/backend/organization/settings.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { type ObjRef } from "@gooddata/sdk-model";
2
+ import { type TigerAuthenticatedCallGuard } from "../../types/index.js";
3
+ /**
4
+ * Build the active-styling setting content from a reference. A bare id string (or an untyped/org-typed
5
+ * reference) is treated as organization-scoped; only a reference explicitly typed as the workspace scope
6
+ * activates the workspace collection. The scope must be explicit so the id resolves against the right
7
+ * scope with no cross-scope fallback. Without a `workspaceType`, the setting lives in a scope that has no
8
+ * workspace (a user setting) and a workspace-typed reference is rejected.
9
+ *
10
+ * @internal
11
+ */
12
+ export declare function activeStylingContent(ref: string | ObjRef, organizationType: "theme" | "colorPalette", workspaceType: "workspaceTheme" | "workspaceColorPalette" | undefined, authCall: TigerAuthenticatedCallGuard): {
13
+ id: string;
14
+ type: string;
15
+ };
16
+ //# sourceMappingURL=activeStyling.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activeStyling.d.ts","sourceRoot":"","sources":["../../../src/backend/settings/activeStyling.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,MAAM,EAAmB,MAAM,qBAAqB,CAAC;AAEnE,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AAGxE;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAChC,GAAG,EAAE,MAAM,GAAG,MAAM,EACpB,gBAAgB,EAAE,OAAO,GAAG,cAAc,EAC1C,aAAa,EAAE,gBAAgB,GAAG,uBAAuB,GAAG,SAAS,EACrE,QAAQ,EAAE,2BAA2B,GACtC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAmB9B"}
@@ -0,0 +1,30 @@
1
+ // (C) 2026 GoodData Corporation
2
+ import { isIdentifierRef } from "@gooddata/sdk-model";
3
+ import { objRefToIdentifier } from "../../utils/api.js";
4
+ /**
5
+ * Build the active-styling setting content from a reference. A bare id string (or an untyped/org-typed
6
+ * reference) is treated as organization-scoped; only a reference explicitly typed as the workspace scope
7
+ * activates the workspace collection. The scope must be explicit so the id resolves against the right
8
+ * scope with no cross-scope fallback. Without a `workspaceType`, the setting lives in a scope that has no
9
+ * workspace (a user setting) and a workspace-typed reference is rejected.
10
+ *
11
+ * @internal
12
+ */
13
+ export function activeStylingContent(ref, organizationType, workspaceType, authCall) {
14
+ if (typeof ref === "string") {
15
+ return { id: ref, type: organizationType };
16
+ }
17
+ const id = objRefToIdentifier(ref, authCall);
18
+ const refType = isIdentifierRef(ref) ? ref.type : undefined;
19
+ // A bare / uri / untyped reference defaults to the organization scope. A reference whose type is set
20
+ // but is neither the organization nor the workspace scope for this kind is a caller error - reject it
21
+ // rather than silently reinterpreting it as organization-scoped.
22
+ if (refType && refType !== organizationType && refType !== workspaceType) {
23
+ throw new Error(workspaceType
24
+ ? `Cannot set active ${organizationType}: reference type "${refType}" is neither ` +
25
+ `"${organizationType}" nor "${workspaceType}".`
26
+ : `Cannot set active ${organizationType}: reference type "${refType}" is not ` +
27
+ `"${organizationType}"; a user setting holds an organization ${organizationType} only.`);
28
+ }
29
+ return { id, type: workspaceType && refType === workspaceType ? workspaceType : organizationType };
30
+ }
@@ -1,4 +1,4 @@
1
1
  import { type ISettings } from "@gooddata/sdk-model";
2
- import { type TigerOrgSettingsType, type TigerSettingsType } from "../../types/index.js";
3
- export declare function mapTypeToKey(type: TigerSettingsType | TigerOrgSettingsType | undefined, fallback?: string): keyof ISettings;
2
+ import { type TigerOrgSettingsType, type TigerOrganizationSettingsType } from "../../types/index.js";
3
+ export declare function mapTypeToKey(type: TigerOrganizationSettingsType | TigerOrgSettingsType | undefined, fallback?: string): keyof ISettings;
4
4
  //# sourceMappingURL=mapping.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mapping.d.ts","sourceRoot":"","sources":["../../../src/backend/settings/mapping.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,EAAE,KAAK,oBAAoB,EAAE,KAAK,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAyEzF,wBAAgB,YAAY,CACxB,IAAI,EAAE,iBAAiB,GAAG,oBAAoB,GAAG,SAAS,EAC1D,QAAQ,SAAK,GACd,MAAM,SAAS,CAIjB"}
1
+ {"version":3,"file":"mapping.d.ts","sourceRoot":"","sources":["../../../src/backend/settings/mapping.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,EAAE,KAAK,oBAAoB,EAAE,KAAK,6BAA6B,EAAE,MAAM,sBAAsB,CAAC;AA0ErG,wBAAgB,YAAY,CACxB,IAAI,EAAE,6BAA6B,GAAG,oBAAoB,GAAG,SAAS,EACtE,QAAQ,SAAK,GACd,MAAM,SAAS,CAIjB"}
@@ -7,9 +7,7 @@ export declare class TigerSettingsService<T> {
7
7
  setMetadataLocale(locale: string): Promise<void>;
8
8
  setFormatLocale(locale: string): Promise<void>;
9
9
  setSeparators(separators: ISeparators): Promise<void>;
10
- setTheme(themeId: string): Promise<void>;
11
10
  setAlertDefault(value: IAlertDefault): Promise<void>;
12
- setColorPalette(colorPaletteId: string): Promise<void>;
13
11
  setMetricFormatOverride(override: IMetricFormatOverrideSetting): Promise<void>;
14
12
  protected setSetting(type: TigerSettingsType, content: any): Promise<void>;
15
13
  protected getSettingByType(_type: TigerSettingsType): any;
@@ -1 +1 @@
1
- {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../../src/backend/settings/settings.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,4BAA4B,EAAE,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAE9G,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAG9D,qBAAa,oBAAoB,CAAC,CAAC;IAC/B,cAAgB;IAET,WAAW,IAAI,OAAO,CAAC,CAAC,CAAC,CAE/B;IAEY,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEpD;IAEY,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE5D;IAEY,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE1D;IAEY,aAAa,CAAC,UAAU,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAEjE;IAEY,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEpD;IAEY,eAAe,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAEhE;IAEY,eAAe,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAElE;IAEY,uBAAuB,CAAC,QAAQ,EAAE,4BAA4B,GAAG,OAAO,CAAC,IAAI,CAAC,CAE1F;IAED,UAAgB,UAAU,CAAC,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAe/E;IAED,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,iBAAiB,GAAG,GAAG,CAExD;IAED,SAAS,CAAC,mBAAmB,CAAC,KAAK,EAAE,iBAAiB,GAAG,GAAG,CAE3D;IAED,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,iBAAiB,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,GAAG,GAAG,CAEjF;IAED,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,iBAAiB,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,GAAG,GAAG,CAEjF;CACJ"}
1
+ {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../../src/backend/settings/settings.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,4BAA4B,EAAE,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAE9G,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAG9D,qBAAa,oBAAoB,CAAC,CAAC;IAC/B,cAAgB;IAET,WAAW,IAAI,OAAO,CAAC,CAAC,CAAC,CAE/B;IAEY,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEpD;IAEY,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE5D;IAEY,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE1D;IAEY,aAAa,CAAC,UAAU,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAEjE;IAEY,eAAe,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAEhE;IAEY,uBAAuB,CAAC,QAAQ,EAAE,4BAA4B,GAAG,OAAO,CAAC,IAAI,CAAC,CAE1F;IAED,UAAgB,UAAU,CAAC,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAe/E;IAED,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,iBAAiB,GAAG,GAAG,CAExD;IAED,SAAS,CAAC,mBAAmB,CAAC,KAAK,EAAE,iBAAiB,GAAG,GAAG,CAE3D;IAED,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,iBAAiB,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,GAAG,GAAG,CAEjF;IAED,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,iBAAiB,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,GAAG,GAAG,CAEjF;CACJ"}
@@ -19,15 +19,9 @@ export class TigerSettingsService {
19
19
  async setSeparators(separators) {
20
20
  return this.setSetting("SEPARATORS", separators);
21
21
  }
22
- async setTheme(themeId) {
23
- return this.setSetting("ACTIVE_THEME", { value: themeId });
24
- }
25
22
  async setAlertDefault(value) {
26
23
  return this.setSetting("ALERT", { value });
27
24
  }
28
- async setColorPalette(colorPaletteId) {
29
- return this.setSetting("ACTIVE_COLOR_PALETTE", { value: colorPaletteId });
30
- }
31
25
  async setMetricFormatOverride(override) {
32
26
  return this.setSetting("METRIC_FORMAT_OVERRIDE", override);
33
27
  }
@@ -83,7 +83,6 @@ export declare enum TigerFeaturesNames {
83
83
  EnableGenAIMemory = "enableGenAIMemory",
84
84
  EnableOrgLevelAIMemory = "enableOrgLevelAIMemory",
85
85
  EnableAiAgenticSuggestions = "enableAiAgenticSuggestions",
86
- EnableGenAiAgentSwitching = "enableGenAiAgentSwitching",
87
86
  EnableGenAiReasoningEffort = "enableGenAiReasoningEffort",
88
87
  EnableGenAiObservability = "enableGenAiObservability",
89
88
  EnableGenAiInteractionIntelligence = "enableGenAiInteractionIntelligence",
@@ -129,6 +128,7 @@ export declare enum TigerFeaturesNames {
129
128
  EnableAbsoluteDateFilterGranularity = "enableAbsoluteDateFilterGranularity",
130
129
  EnableComputedAttributes = "enableComputedAttributes",
131
130
  EnableBusinessBriefingReportsApp = "enableBusinessBriefingReportsApp",
131
+ EnableReportsSubsections = "enableReportsSubsections",
132
132
  EnableEmbeddingWriteCommands = "enableEmbeddingWriteCommands"
133
133
  }
134
134
  export type ITigerFeatureFlags = {
@@ -217,7 +217,6 @@ export type ITigerFeatureFlags = {
217
217
  enableAiAgenticSuggestions: (typeof FeatureFlagsValues)["enableAiAgenticSuggestions"][number];
218
218
  enableAiAssistantEmbedding: (typeof FeatureFlagsValues)["enableAiAssistantEmbedding"][number];
219
219
  enableAiAgenticMultiConversations: (typeof FeatureFlagsValues)["enableAiAgenticMultiConversations"][number];
220
- enableGenAiAgentSwitching: (typeof FeatureFlagsValues)["enableGenAiAgentSwitching"][number];
221
220
  enableGenAiReasoningEffort: (typeof FeatureFlagsValues)["enableGenAiReasoningEffort"][number];
222
221
  enableGenAiObservability: (typeof FeatureFlagsValues)["enableGenAiObservability"][number];
223
222
  enableGenAiInteractionIntelligence: (typeof FeatureFlagsValues)["enableGenAiInteractionIntelligence"][number];
@@ -257,6 +256,7 @@ export type ITigerFeatureFlags = {
257
256
  enableAbsoluteDateFilterGranularity: (typeof FeatureFlagsValues)["enableAbsoluteDateFilterGranularity"][number];
258
257
  enableComputedAttributes: (typeof FeatureFlagsValues)["enableComputedAttributes"][number];
259
258
  enableBusinessBriefingReportsApp: (typeof FeatureFlagsValues)["enableBusinessBriefingReportsApp"][number];
259
+ enableReportsSubsections: (typeof FeatureFlagsValues)["enableReportsSubsections"][number];
260
260
  enableEmbeddingWriteCommands: (typeof FeatureFlagsValues)["enableEmbeddingWriteCommands"][number];
261
261
  };
262
262
  export declare const DefaultFeatureFlags: ITigerFeatureFlags;
@@ -346,7 +346,6 @@ export declare const FeatureFlagsValues: {
346
346
  enableAiAgenticSuggestions: readonly [true, false];
347
347
  enableAiAssistantEmbedding: readonly [true, false];
348
348
  enableAiAgenticMultiConversations: readonly [true, false];
349
- enableGenAiAgentSwitching: readonly [true, false];
350
349
  enableGenAiReasoningEffort: readonly [true, false];
351
350
  enableGenAiObservability: readonly [true, false];
352
351
  enableGenAiInteractionIntelligence: readonly [true, false];
@@ -386,6 +385,7 @@ export declare const FeatureFlagsValues: {
386
385
  enableAbsoluteDateFilterGranularity: readonly [true, false];
387
386
  enableComputedAttributes: readonly [true, false];
388
387
  enableBusinessBriefingReportsApp: readonly [false, true];
388
+ enableReportsSubsections: readonly [false, true];
389
389
  enableEmbeddingWriteCommands: readonly [true, false];
390
390
  };
391
391
  //# sourceMappingURL=uiFeatures.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"uiFeatures.d.ts","sourceRoot":"","sources":["../../src/backend/uiFeatures.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"uiFeatures.d.ts","sourceRoot":"","sources":["../../src/backend/uiFeatures.ts"],"names":[],"mappings":"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"}
@@ -84,7 +84,6 @@ export var TigerFeaturesNames;
84
84
  TigerFeaturesNames["EnableGenAIMemory"] = "enableGenAIMemory";
85
85
  TigerFeaturesNames["EnableOrgLevelAIMemory"] = "enableOrgLevelAIMemory";
86
86
  TigerFeaturesNames["EnableAiAgenticSuggestions"] = "enableAiAgenticSuggestions";
87
- TigerFeaturesNames["EnableGenAiAgentSwitching"] = "enableGenAiAgentSwitching";
88
87
  TigerFeaturesNames["EnableGenAiReasoningEffort"] = "enableGenAiReasoningEffort";
89
88
  TigerFeaturesNames["EnableGenAiObservability"] = "enableGenAiObservability";
90
89
  TigerFeaturesNames["EnableGenAiInteractionIntelligence"] = "enableGenAiInteractionIntelligence";
@@ -130,6 +129,7 @@ export var TigerFeaturesNames;
130
129
  TigerFeaturesNames["EnableAbsoluteDateFilterGranularity"] = "enableAbsoluteDateFilterGranularity";
131
130
  TigerFeaturesNames["EnableComputedAttributes"] = "enableComputedAttributes";
132
131
  TigerFeaturesNames["EnableBusinessBriefingReportsApp"] = "enableBusinessBriefingReportsApp";
132
+ TigerFeaturesNames["EnableReportsSubsections"] = "enableReportsSubsections";
133
133
  TigerFeaturesNames["EnableEmbeddingWriteCommands"] = "enableEmbeddingWriteCommands";
134
134
  })(TigerFeaturesNames || (TigerFeaturesNames = {}));
135
135
  export const DefaultFeatureFlags = {
@@ -218,7 +218,6 @@ export const DefaultFeatureFlags = {
218
218
  enableAiAgenticSuggestions: false,
219
219
  enableAiAssistantEmbedding: false,
220
220
  enableAiAgenticMultiConversations: false,
221
- enableGenAiAgentSwitching: false,
222
221
  enableGenAiReasoningEffort: false,
223
222
  enableGenAiObservability: false,
224
223
  enableGenAiInteractionIntelligence: false,
@@ -258,6 +257,7 @@ export const DefaultFeatureFlags = {
258
257
  enableAbsoluteDateFilterGranularity: false,
259
258
  enableComputedAttributes: false,
260
259
  enableBusinessBriefingReportsApp: false,
260
+ enableReportsSubsections: false,
261
261
  enableEmbeddingWriteCommands: false,
262
262
  };
263
263
  export const FeatureFlagsValues = {
@@ -346,7 +346,6 @@ export const FeatureFlagsValues = {
346
346
  enableAiAgenticSuggestions: [true, false],
347
347
  enableAiAssistantEmbedding: [true, false],
348
348
  enableAiAgenticMultiConversations: [true, false],
349
- enableGenAiAgentSwitching: [true, false],
350
349
  enableGenAiReasoningEffort: [true, false],
351
350
  enableGenAiObservability: [true, false],
352
351
  enableGenAiInteractionIntelligence: [true, false],
@@ -386,5 +385,6 @@ export const FeatureFlagsValues = {
386
385
  enableAbsoluteDateFilterGranularity: [true, false],
387
386
  enableComputedAttributes: [true, false],
388
387
  enableBusinessBriefingReportsApp: [false, true],
388
+ enableReportsSubsections: [false, true],
389
389
  enableEmbeddingWriteCommands: [true, false],
390
390
  };
@@ -1,4 +1,5 @@
1
1
  import { type IUserSettings, type IUserSettingsService } from "@gooddata/sdk-backend-spi";
2
+ import { type ObjRef } from "@gooddata/sdk-model";
2
3
  import { type TigerAuthenticatedCallGuard, type TigerSettingsType } from "../../types/index.js";
3
4
  import { TigerSettingsService } from "../settings/settings.js";
4
5
  export declare class TigerUserSettingsService extends TigerSettingsService<IUserSettings> implements IUserSettingsService {
@@ -6,6 +7,10 @@ export declare class TigerUserSettingsService extends TigerSettingsService<IUser
6
7
  private tigerFeatureService;
7
8
  constructor(authCall: TigerAuthenticatedCallGuard);
8
9
  getSettings(): Promise<IUserSettings>;
10
+ setTheme(theme: string | ObjRef): Promise<void>;
11
+ deleteTheme(): Promise<void>;
12
+ setColorPalette(colorPalette: string | ObjRef): Promise<void>;
13
+ deleteColorPalette(): Promise<void>;
9
14
  protected getSettingByType(type: TigerSettingsType): Promise<import("axios").AxiosResponse<import("@gooddata/api-client-tiger").JsonApiUserSettingOutList, any, {}>>;
10
15
  protected updateSetting(type: TigerSettingsType, id: string, content: any): Promise<any>;
11
16
  protected createSetting(type: TigerSettingsType, id: string, content: any): Promise<any>;
@@ -1 +1 @@
1
- {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../../src/backend/user/settings.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAI1F,OAAO,EAAE,KAAK,2BAA2B,EAAE,KAAK,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAIhG,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAG/D,qBAAa,wBACT,SAAQ,oBAAoB,CAAC,aAAa,CAC1C,YAAW,oBAAoB;IAGnB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IADrC,OAAO,CAAC,mBAAmB,CAAuB;IAClD,YAA6B,QAAQ,EAAE,2BAA2B,EAGjE;IAEqB,WAAW,IAAI,OAAO,CAAC,aAAa,CAAC,CA6B1D;IAED,UAAyB,gBAAgB,CAAC,IAAI,EAAE,iBAAiB,mHAQhE;IAED,UAAyB,aAAa,CAAC,IAAI,EAAE,iBAAiB,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAoBtG;IAED,UAAyB,aAAa,CAAC,IAAI,EAAE,iBAAiB,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAmBtG;IAED,UAAyB,mBAAmB,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC,CAoBlF;CACJ"}
1
+ {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../../src/backend/user/settings.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAC1F,OAAO,EAAkB,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAGlE,OAAO,EAAE,KAAK,2BAA2B,EAAE,KAAK,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAKhG,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAG/D,qBAAa,wBACT,SAAQ,oBAAoB,CAAC,aAAa,CAC1C,YAAW,oBAAoB;IAGnB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IADrC,OAAO,CAAC,mBAAmB,CAAuB;IAClD,YAA6B,QAAQ,EAAE,2BAA2B,EAGjE;IAEqB,WAAW,IAAI,OAAO,CAAC,aAAa,CAAC,CA6B1D;IAEY,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAK3D;IAEY,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAExC;IAEY,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAKzE;IAEY,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CAE/C;IAED,UAAyB,gBAAgB,CAAC,IAAI,EAAE,iBAAiB,mHAQhE;IAED,UAAyB,aAAa,CAAC,IAAI,EAAE,iBAAiB,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAoBtG;IAED,UAAyB,aAAa,CAAC,IAAI,EAAE,iBAAiB,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAmBtG;IAED,UAAyB,mBAAmB,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC,CAoBlF;CACJ"}
@@ -4,6 +4,7 @@ import { EntitiesApi_CreateEntityUserSettings, EntitiesApi_DeleteEntityUserSetti
4
4
  import { ProfileApi_GetCurrent } from "@gooddata/api-client-tiger/endpoints/profile";
5
5
  import { unwrapSettingContent } from "../../convertors/fromBackend/SettingsConverter.js";
6
6
  import { TigerFeaturesService, pickContext } from "../features/index.js";
7
+ import { activeStylingContent } from "../settings/activeStyling.js";
7
8
  import { mapTypeToKey } from "../settings/mapping.js";
8
9
  import { invalidateSettingsResponses, trackSettingsResponse } from "../settings/responseCacheCoherence.js";
9
10
  import { TigerSettingsService } from "../settings/settings.js";
@@ -35,6 +36,18 @@ export class TigerUserSettingsService extends TigerSettingsService {
35
36
  };
36
37
  });
37
38
  }
39
+ async setTheme(theme) {
40
+ return this.setSetting("ACTIVE_THEME", activeStylingContent(theme, "theme", undefined, this.authCall));
41
+ }
42
+ async deleteTheme() {
43
+ return this.deleteSettingByType("ACTIVE_THEME");
44
+ }
45
+ async setColorPalette(colorPalette) {
46
+ return this.setSetting("ACTIVE_COLOR_PALETTE", activeStylingContent(colorPalette, "colorPalette", undefined, this.authCall));
47
+ }
48
+ async deleteColorPalette() {
49
+ return this.deleteSettingByType("ACTIVE_COLOR_PALETTE");
50
+ }
38
51
  async getSettingByType(type) {
39
52
  return this.authCall(async (client) => {
40
53
  const profile = await ProfileApi_GetCurrent(client.axios);
@@ -2,6 +2,14 @@ import { type JsonApiAnalyticalDashboardOutDocument, type JsonApiFilterContextOu
2
2
  import type { IUnavailableDashboardReference, SupportedDashboardReferenceTypes } from "@gooddata/sdk-backend-spi";
3
3
  import { type IDashboard } from "@gooddata/sdk-model";
4
4
  import { type TigerAuthenticatedCallGuard } from "../../../types/index.js";
5
+ /** The same for the filter-context GET, which links the objects the filters use. */
6
+ declare const FILTER_CONTEXT_RELATIONSHIP_KEYS: {
7
+ readonly displayForm: "labels";
8
+ readonly computedAttribute: "computedAttributes";
9
+ readonly measure: "metrics";
10
+ readonly fact: "facts";
11
+ };
12
+ type FilterContextInspectedType = keyof typeof FILTER_CONTEXT_RELATIONSHIP_KEYS;
5
13
  /**
6
14
  * Resolves which of the requested dashboard references are unavailable and why.
7
15
  */
@@ -14,20 +22,20 @@ export declare function resolveUnavailableReferences(document: JsonApiAnalytical
14
22
  * context looks after conversion, so nothing is dropped in that case.
15
23
  */
16
24
  export declare function resolveUnavailableDashboardReferences(document: JsonApiAnalyticalDashboardOutDocument, dashboard: IDashboard, types: SupportedDashboardReferenceTypes[]): IUnavailableDashboardReference[];
17
- type FilterContextInspectedType = "displayForm" | "computedAttribute";
18
25
  /**
19
- * Resolves which filter display forms and computed attributes referenced by a filter context are
20
- * unavailable. Each inspected type must have been requested as an include (`labels`,
21
- * `computedAttributes`) so the response contains both relationship linkages and document-level
22
- * `meta.restricted` for it.
26
+ * Resolves which filter display forms, computed attributes, metrics and facts referenced by a filter
27
+ * context are unavailable. Each inspected type must have been requested as an include (`labels`,
28
+ * `computedAttributes`, `metrics`, `facts`) so the response contains both relationship linkages and
29
+ * document-level `meta.restricted` for it.
23
30
  */
24
31
  export declare function resolveUnavailableFilterContextReferences(context: JsonApiFilterContextOut, restricted: RestrictedObject[] | undefined, inspected: FilterContextInspectedType[]): IUnavailableDashboardReference[];
25
32
  /**
26
- * Filter labels and computed attributes relate to their filter-context entities: the dashboard GET
27
- * side-loads the filter contexts as bare items (no `relationships`), so the existence linkage for
28
- * filter display forms is reachable only through a direct filter-context GET with `include=labels`
29
- * (and `computedAttributes`), hence this one batched extra request. `computedAttributes` is included
30
- * only when a filter uses one, so dashboards from workspaces without the feature never request it.
33
+ * Filter labels, computed attributes, metrics and facts relate to their filter-context entities: the
34
+ * dashboard GET side-loads the filter contexts as bare items (no `relationships`), so the existence
35
+ * linkage for filter objects is reachable only through a direct filter-context GET with `include=labels`
36
+ * (and `computedAttributes`, `metrics`, `facts`), hence this one batched extra request. Types other than
37
+ * labels are included only when a filter uses them (metric value filters, filters on computed
38
+ * attributes, metrics and facts limiting a filter's values), so other dashboards never request them.
31
39
  * It inspects the contexts of the effective dashboard, so a `filterContextRef` override is covered;
32
40
  * the synthetic export-override context has no entity behind it and is skipped.
33
41
  * It would become redundant if the backend emitted `relationships.labels` on the filter-context items
@@ -1 +1 @@
1
- {"version":3,"file":"referenceAvailability.d.ts","sourceRoot":"","sources":["../../../../src/backend/workspace/dashboards/referenceAvailability.ts"],"names":[],"mappings":"AAEA,OAAO,EAGH,KAAK,qCAAqC,EAC1C,KAAK,uBAAuB,EAC5B,KAAK,gBAAgB,EAExB,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EACR,8BAA8B,EAC9B,gCAAgC,EACnC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACH,KAAK,UAAU,EAMlB,MAAM,qBAAqB,CAAC;AAM7B,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AAiH3E;;GAEG;AACH,wBAAgB,4BAA4B,CACxC,QAAQ,EAAE,qCAAqC,EAC/C,KAAK,EAAE,gCAAgC,EAAE,GAC1C,8BAA8B,EAAE,CAGlC;AAED;;;;;;GAMG;AACH,wBAAgB,qCAAqC,CACjD,QAAQ,EAAE,qCAAqC,EAC/C,SAAS,EAAE,UAAU,EACrB,KAAK,EAAE,gCAAgC,EAAE,GAC1C,8BAA8B,EAAE,CAWlC;AAED,KAAK,0BAA0B,GAAG,aAAa,GAAG,mBAAmB,CAAC;AAEtE;;;;;GAKG;AACH,wBAAgB,yCAAyC,CACrD,OAAO,EAAE,uBAAuB,EAChC,UAAU,EAAE,gBAAgB,EAAE,GAAG,SAAS,EAC1C,SAAS,EAAE,0BAA0B,EAAE,GACxC,8BAA8B,EAAE,CAElC;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,kCAAkC,CACpD,QAAQ,EAAE,2BAA2B,EACrC,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,UAAU,EACrB,KAAK,EAAE,gCAAgC,EAAE,GAC1C,OAAO,CAAC,8BAA8B,EAAE,CAAC,CA4B3C;AAaD;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,UAAU,GAAG,MAAM,EAAE,CAQ3E"}
1
+ {"version":3,"file":"referenceAvailability.d.ts","sourceRoot":"","sources":["../../../../src/backend/workspace/dashboards/referenceAvailability.ts"],"names":[],"mappings":"AAEA,OAAO,EAIH,KAAK,qCAAqC,EAC1C,KAAK,uBAAuB,EAC5B,KAAK,gBAAgB,EAExB,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EACR,8BAA8B,EAC9B,gCAAgC,EACnC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACH,KAAK,UAAU,EAQlB,MAAM,qBAAqB,CAAC;AAM7B,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AAqD3E,oFAAoF;AACpF,QAAA,MAAM,gCAAgC;0BACrB,QAAQ;gCACF,oBAAoB;sBAC9B,SAAS;mBACZ,OAAO;CACwD,CAAC;AAE1E,KAAK,0BAA0B,GAAG,MAAM,OAAO,gCAAgC,CAAC;AAsEhF;;GAEG;AACH,wBAAgB,4BAA4B,CACxC,QAAQ,EAAE,qCAAqC,EAC/C,KAAK,EAAE,gCAAgC,EAAE,GAC1C,8BAA8B,EAAE,CAKlC;AAED;;;;;;GAMG;AACH,wBAAgB,qCAAqC,CACjD,QAAQ,EAAE,qCAAqC,EAC/C,SAAS,EAAE,UAAU,EACrB,KAAK,EAAE,gCAAgC,EAAE,GAC1C,8BAA8B,EAAE,CAWlC;AAED;;;;;GAKG;AACH,wBAAgB,yCAAyC,CACrD,OAAO,EAAE,uBAAuB,EAChC,UAAU,EAAE,gBAAgB,EAAE,GAAG,SAAS,EAC1C,SAAS,EAAE,0BAA0B,EAAE,GACxC,8BAA8B,EAAE,CAMlC;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,kCAAkC,CACpD,QAAQ,EAAE,2BAA2B,EACrC,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,UAAU,EACrB,KAAK,EAAE,gCAAgC,EAAE,GAC1C,OAAO,CAAC,8BAA8B,EAAE,CAAC,CA4B3C;AA6BD;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,UAAU,GAAG,MAAM,EAAE,CAQ3E"}
@@ -1,13 +1,13 @@
1
1
  // (C) 2026 GoodData Corporation
2
2
  import { FilterContextApi_GetAllEntitiesFilterContexts, isAfmObjectIdentifier, } from "@gooddata/api-client-tiger";
3
- import { dashboardAttributeFilterItemDisplayForm, idRef, isComputedAttributeRef, isDashboardAttributeFilterItem, isIdentifierRef, } from "@gooddata/sdk-model";
3
+ import { dashboardAttributeFilterItemDisplayForm, dashboardAttributeFilterItemValidateElementsBy, idRef, isComputedAttributeRef, isDashboardAttributeFilterItem, isDashboardMeasureValueFilter, isIdentifierRef, } from "@gooddata/sdk-model";
4
4
  import { getForbiddenReferences, getRelationshipIds, } from "../../../convertors/fromBackend/RestrictedReferencesConverter.js";
5
5
  import { objectTypeToTigerIdType } from "../../../types/refTypeMapping.js";
6
6
  /**
7
- * The `include` value under which the dashboard GET links each inspected type; the same key names
7
+ * The `include` value under which the dashboard GET links each type it can link; the same key names
8
8
  * the relationship in the response, which keeps "inspected iff requested" structural.
9
9
  */
10
- const RELATIONSHIP_KEYS = {
10
+ const DASHBOARD_RELATIONSHIP_KEYS = {
11
11
  insight: "visualizationObjects",
12
12
  dataSet: "datasets",
13
13
  dashboardPlugin: "dashboardPlugins",
@@ -17,6 +17,13 @@ const RELATIONSHIP_KEYS = {
17
17
  computedAttribute: "computedAttributes",
18
18
  analyticalDashboard: "analyticalDashboards",
19
19
  };
20
+ /** The same for the filter-context GET, which links the objects the filters use. */
21
+ const FILTER_CONTEXT_RELATIONSHIP_KEYS = {
22
+ displayForm: "labels",
23
+ computedAttribute: "computedAttributes",
24
+ measure: "metrics",
25
+ fact: "facts",
26
+ };
20
27
  /**
21
28
  * Collects the `{ identifier: { id, type } }` refs from stored content, grouped by tiger type.
22
29
  * Content is free-form JSON, so the walk is structural, not schema-bound.
@@ -37,13 +44,13 @@ function collectContentRefIds(content, result = new Map()) {
37
44
  Object.values(content).forEach((value) => collectContentRefIds(value, result));
38
45
  return result;
39
46
  }
40
- function diffInspectedTypes(document, inspected) {
47
+ function diffInspectedTypes(document, relationshipKeys, inspected) {
41
48
  const contentRefIds = collectContentRefIds(document.data.attributes?.content);
42
49
  const unavailable = [];
43
50
  for (const type of inspected) {
44
51
  const tigerType = objectTypeToTigerIdType[type];
45
52
  const selfId = document.data.type === tigerType ? document.data.id : undefined;
46
- const related = getRelationshipIds(document.data.relationships, RELATIONSHIP_KEYS[type]);
53
+ const related = getRelationshipIds(document.data.relationships, relationshipKeys[type]);
47
54
  unavailable.push(...getForbiddenReferences(type, related, document.meta?.restricted ?? [], selfId));
48
55
  for (const id of contentRefIds.get(tigerType) ?? []) {
49
56
  if (id !== selfId && !related.has(id)) {
@@ -61,8 +68,8 @@ function diffInspectedTypes(document, inspected) {
61
68
  * Resolves which of the requested dashboard references are unavailable and why.
62
69
  */
63
70
  export function resolveUnavailableReferences(document, types) {
64
- const inspected = ["filterContext", ...types];
65
- return diffInspectedTypes(document, inspected);
71
+ const inspected = ["filterContext", ...types].filter((type) => type in DASHBOARD_RELATIONSHIP_KEYS);
72
+ return diffInspectedTypes(document, DASHBOARD_RELATIONSHIP_KEYS, inspected);
66
73
  }
67
74
  /**
68
75
  * Unavailable references of the effective dashboard: the stored document's diff, keeping only the
@@ -81,20 +88,21 @@ export function resolveUnavailableDashboardReferences(document, dashboard, types
81
88
  return unavailable.filter((entry) => entry.type !== "filterContext" || (isIdentifierRef(entry.ref) && inUse.has(entry.ref.identifier)));
82
89
  }
83
90
  /**
84
- * Resolves which filter display forms and computed attributes referenced by a filter context are
85
- * unavailable. Each inspected type must have been requested as an include (`labels`,
86
- * `computedAttributes`) so the response contains both relationship linkages and document-level
87
- * `meta.restricted` for it.
91
+ * Resolves which filter display forms, computed attributes, metrics and facts referenced by a filter
92
+ * context are unavailable. Each inspected type must have been requested as an include (`labels`,
93
+ * `computedAttributes`, `metrics`, `facts`) so the response contains both relationship linkages and
94
+ * document-level `meta.restricted` for it.
88
95
  */
89
96
  export function resolveUnavailableFilterContextReferences(context, restricted, inspected) {
90
- return diffInspectedTypes({ data: context, meta: { restricted } }, inspected);
97
+ return diffInspectedTypes({ data: context, meta: { restricted } }, FILTER_CONTEXT_RELATIONSHIP_KEYS, inspected);
91
98
  }
92
99
  /**
93
- * Filter labels and computed attributes relate to their filter-context entities: the dashboard GET
94
- * side-loads the filter contexts as bare items (no `relationships`), so the existence linkage for
95
- * filter display forms is reachable only through a direct filter-context GET with `include=labels`
96
- * (and `computedAttributes`), hence this one batched extra request. `computedAttributes` is included
97
- * only when a filter uses one, so dashboards from workspaces without the feature never request it.
100
+ * Filter labels, computed attributes, metrics and facts relate to their filter-context entities: the
101
+ * dashboard GET side-loads the filter contexts as bare items (no `relationships`), so the existence
102
+ * linkage for filter objects is reachable only through a direct filter-context GET with `include=labels`
103
+ * (and `computedAttributes`, `metrics`, `facts`), hence this one batched extra request. Types other than
104
+ * labels are included only when a filter uses them (metric value filters, filters on computed
105
+ * attributes, metrics and facts limiting a filter's values), so other dashboards never request them.
98
106
  * It inspects the contexts of the effective dashboard, so a `filterContextRef` override is covered;
99
107
  * the synthetic export-override context has no entity behind it and is skipped.
100
108
  * It would become redundant if the backend emitted `relationships.labels` on the filter-context items
@@ -105,7 +113,8 @@ export function resolveUnavailableFilterContextReferences(context, restricted, i
105
113
  */
106
114
  export async function fetchUnavailableFilterDisplayForms(authCall, workspaceId, dashboard, types) {
107
115
  const filterContextIds = inspectableFilterContextIds(dashboard);
108
- const inspected = ["displayForm", "computedAttribute"].filter((type) => types.includes(type) && (type !== "computedAttribute" || usesComputedAttributeFilter(dashboard)));
116
+ const used = filterObjectTypes(dashboard);
117
+ const inspected = Object.keys(FILTER_CONTEXT_RELATIONSHIP_KEYS).filter((type) => types.includes(type) && used.has(type));
109
118
  if (inspected.length === 0 || filterContextIds.length === 0) {
110
119
  return [];
111
120
  }
@@ -113,7 +122,7 @@ export async function fetchUnavailableFilterDisplayForms(authCall, workspaceId,
113
122
  const list = await authCall((client) => FilterContextApi_GetAllEntitiesFilterContexts(client.axios, client.basePath, {
114
123
  workspaceId,
115
124
  filter: filterContextIds.map((id) => `id==${id}`).join(","),
116
- include: inspected.map((type) => RELATIONSHIP_KEYS[type]),
125
+ include: inspected.map((type) => FILTER_CONTEXT_RELATIONSHIP_KEYS[type]),
117
126
  size: filterContextIds.length,
118
127
  }).then((result) => result.data));
119
128
  return list.data.flatMap((context) => resolveUnavailableFilterContextReferences(context, list.meta?.restricted, inspected));
@@ -123,10 +132,31 @@ export async function fetchUnavailableFilterDisplayForms(authCall, workspaceId,
123
132
  return [];
124
133
  }
125
134
  }
126
- function usesComputedAttributeFilter(dashboard) {
135
+ /**
136
+ * The filter-context object types the dashboard's filters use: labels always; computed attributes of
137
+ * attribute filters built on them; metrics of metric value filters; metrics and facts that limit an
138
+ * attribute filter's values.
139
+ */
140
+ function filterObjectTypes(dashboard) {
141
+ const used = new Set(["displayForm"]);
127
142
  const contexts = [dashboard.filterContext, ...(dashboard.tabs ?? []).map((tab) => tab.filterContext)];
128
- return contexts.some((context) => context?.filters.some((filter) => isDashboardAttributeFilterItem(filter) &&
129
- isComputedAttributeRef(dashboardAttributeFilterItemDisplayForm(filter))));
143
+ for (const filter of contexts.flatMap((context) => context?.filters ?? [])) {
144
+ if (isDashboardMeasureValueFilter(filter)) {
145
+ used.add("measure");
146
+ }
147
+ if (!isDashboardAttributeFilterItem(filter)) {
148
+ continue;
149
+ }
150
+ if (isComputedAttributeRef(dashboardAttributeFilterItemDisplayForm(filter))) {
151
+ used.add("computedAttribute");
152
+ }
153
+ for (const ref of dashboardAttributeFilterItemValidateElementsBy(filter) ?? []) {
154
+ if (isIdentifierRef(ref) && (ref.type === "measure" || ref.type === "fact")) {
155
+ used.add(ref.type);
156
+ }
157
+ }
158
+ }
159
+ return used;
130
160
  }
131
161
  /**
132
162
  * Identifiers of the persisted filter contexts the dashboard actually uses (root and tabs; a
@@ -1,4 +1,4 @@
1
- import type { IAnalyticsCatalogService, IChatConversations, IDashboardSummary, IDashboardSummaryRequest, IGenAIService, IKnowledgeDocumentsService, IMemoryItemsService, ISemanticQualityService, ISemanticSearchQuery } from "@gooddata/sdk-backend-spi";
1
+ import type { IAnalyticsCatalogService, IChatConversations, IDashboardSummary, IDashboardSummaryRequest, IGenAIService, IKnowledgeDocumentsService, IMemoryItemsService, ISemanticQualityService, ISemanticSearchQuery, IVisualizationsSummaryRequest } from "@gooddata/sdk-backend-spi";
2
2
  import { type DateNormalizer } from "../../../convertors/fromBackend/dateFormatting/types.js";
3
3
  import { type TigerAuthenticatedCallGuard } from "../../../types/index.js";
4
4
  export declare class GenAIService implements IGenAIService {
@@ -18,5 +18,8 @@ export declare class GenAIService implements IGenAIService {
18
18
  summarizeDashboard(request: IDashboardSummaryRequest, options?: {
19
19
  signal?: AbortSignal;
20
20
  }): Promise<IDashboardSummary>;
21
+ summarizeVisualizations(request: IVisualizationsSummaryRequest, options?: {
22
+ signal?: AbortSignal;
23
+ }): Promise<IDashboardSummary>;
21
24
  }
22
25
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/backend/workspace/genAI/index.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACR,wBAAwB,EACxB,kBAAkB,EAClB,iBAAiB,EACjB,wBAAwB,EACxB,aAAa,EACb,0BAA0B,EAC1B,mBAAmB,EACnB,uBAAuB,EACvB,oBAAoB,EACvB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,yDAAyD,CAAC;AAC9F,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AAS3E,qBAAa,YAAa,YAAW,aAAa;IAE1C,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAHnC,YACqB,QAAQ,EAAE,2BAA2B,EACrC,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,cAAc,EAC/C;IAEJ,oBAAoB,CAAC,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,kBAAkB,CAE1E;IAED,sBAAsB,IAAI,oBAAoB,CAE7C;IAEK,gBAAgB,IAAI,OAAO,CAAC,OAAO,CAAC,CAOzC;IAED,qBAAqB,IAAI,0BAA0B,CAElD;IAED,cAAc,IAAI,mBAAmB,CAEpC;IAED,mBAAmB,IAAI,wBAAwB,CAE9C;IAED,kBAAkB,IAAI,uBAAuB,CAE5C;IAEK,kBAAkB,CACpB,OAAO,EAAE,wBAAwB,EACjC,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GACnC,OAAO,CAAC,iBAAiB,CAAC,CAgD5B;CACJ"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/backend/workspace/genAI/index.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EACR,wBAAwB,EACxB,kBAAkB,EAClB,iBAAiB,EACjB,wBAAwB,EACxB,aAAa,EACb,0BAA0B,EAC1B,mBAAmB,EACnB,uBAAuB,EACvB,oBAAoB,EACpB,6BAA6B,EAChC,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,yDAAyD,CAAC;AAE9F,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AAS3E,qBAAa,YAAa,YAAW,aAAa;IAE1C,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAHnC,YACqB,QAAQ,EAAE,2BAA2B,EACrC,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,cAAc,EAC/C;IAEJ,oBAAoB,CAAC,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,kBAAkB,CAE1E;IAED,sBAAsB,IAAI,oBAAoB,CAE7C;IAEK,gBAAgB,IAAI,OAAO,CAAC,OAAO,CAAC,CAOzC;IAED,qBAAqB,IAAI,0BAA0B,CAElD;IAED,cAAc,IAAI,mBAAmB,CAEpC;IAED,mBAAmB,IAAI,wBAAwB,CAE9C;IAED,kBAAkB,IAAI,uBAAuB,CAE5C;IAEK,kBAAkB,CACpB,OAAO,EAAE,wBAAwB,EACjC,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GACnC,OAAO,CAAC,iBAAiB,CAAC,CAkC5B;IAEK,uBAAuB,CACzB,OAAO,EAAE,6BAA6B,EACtC,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GACnC,OAAO,CAAC,iBAAiB,CAAC,CAyB5B;CACJ"}
@@ -1,6 +1,7 @@
1
1
  // (C) 2024-2026 GoodData Corporation
2
2
  import { SmartFunctionsAi_ResolveLlmProviders } from "@gooddata/api-client-tiger";
3
- import { GenAiApi_SummarizeDashboard, } from "@gooddata/api-client-tiger/endpoints/genAI";
3
+ import { GenAiApi_SummarizeDashboard, GenAiApi_SummarizeVisualizations, } from "@gooddata/api-client-tiger/endpoints/genAI";
4
+ import { convertFilter } from "../../../convertors/toBackend/afm/FilterConverter.js";
4
5
  import { AnalyticsCatalogService } from "./AnalyticsCatalogService.js";
5
6
  import { ChatConversationsService } from "./ChatConversations.js";
6
7
  import { KnowledgeDocumentsService } from "./KnowledgeDocumentsService.js";
@@ -64,20 +65,40 @@ export class GenAIService {
64
65
  workspaceId: this.workspaceId,
65
66
  aiSummarizeRequest,
66
67
  }, { signal: options?.signal }));
67
- return {
68
- summary: response.data.summary,
69
- filterContext: response.data.filterContext,
70
- visualizationsIncluded: response.data.visualizationsIncluded.map((v) => ({
71
- visualizationId: v.visualizationId,
72
- title: v.title,
73
- })),
74
- visualizationsExcluded: response.data.visualizationsExcluded.map((v) => ({
75
- visualizationId: v.visualizationId,
76
- reason: v.reason,
77
- title: v.title,
78
- })),
79
- generatedAt: response.data.generatedAt,
80
- tabId: response.data.tabId ?? undefined,
68
+ return convertSummaryResponse(response.data);
69
+ }
70
+ async summarizeVisualizations(request, options) {
71
+ const aiSummarizeVisualizationsRequest = {
72
+ visualizations: request.visualizations,
73
+ // Cast bridges the AFM filter definitions to the generated union type of the AI API.
74
+ filterContext: request.filters
75
+ .map((filter) => convertFilter(filter))
76
+ .filter(Boolean),
81
77
  };
78
+ if (request.formatHint !== undefined) {
79
+ aiSummarizeVisualizationsRequest.formatHint = request.formatHint;
80
+ }
81
+ const response = await this.authCall((client) => GenAiApi_SummarizeVisualizations(client.axios, client.basePath, {
82
+ workspaceId: this.workspaceId,
83
+ aiSummarizeVisualizationsRequest,
84
+ }, { signal: options?.signal }));
85
+ return convertSummaryResponse(response.data);
82
86
  }
83
87
  }
88
+ function convertSummaryResponse(data) {
89
+ return {
90
+ summary: data.summary,
91
+ filterContext: data.filterContext,
92
+ visualizationsIncluded: data.visualizationsIncluded.map((v) => ({
93
+ visualizationId: v.visualizationId,
94
+ title: v.title,
95
+ })),
96
+ visualizationsExcluded: data.visualizationsExcluded.map((v) => ({
97
+ visualizationId: v.visualizationId,
98
+ reason: v.reason,
99
+ title: v.title,
100
+ })),
101
+ generatedAt: data.generatedAt,
102
+ tabId: data.tabId ?? undefined,
103
+ };
104
+ }
@@ -39,13 +39,6 @@ export declare class TigerWorkspaceSettings extends TigerSettingsService<IWorksp
39
39
  deleteExportCsvCustomDelimiter(): Promise<void>;
40
40
  setTheme(activeTheme: string | ObjRef): Promise<void>;
41
41
  setColorPalette(activeColorPalette: string | ObjRef): Promise<void>;
42
- /**
43
- * Build the active-styling setting content from a reference. A bare id string (or an untyped/org-typed
44
- * reference) is treated as organization-scoped; only a reference explicitly typed as the workspace scope
45
- * activates the workspace collection. The scope must be explicit so the id resolves against the right
46
- * scope with no cross-scope fallback.
47
- */
48
- private resolveActiveStyleContent;
49
42
  deleteTheme(): Promise<any>;
50
43
  deleteColorPalette(): Promise<any>;
51
44
  deleteMetricFormatOverride(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/backend/workspace/settings/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/backend/workspace/settings/index.ts"],"names":[],"mappings":"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"}
@@ -3,12 +3,11 @@ import { isLiveFeatures, isStaticFeatures } from "@gooddata/api-client-tiger";
3
3
  import { ActionsApi_WorkspaceResolveAllSettings } from "@gooddata/api-client-tiger/endpoints/actions";
4
4
  import { EntitiesApi_CreateEntityWorkspaceSettings, EntitiesApi_DeleteEntityWorkspaceSettings, EntitiesApi_GetAllEntitiesWorkspaceSettings, EntitiesApi_GetEntityWorkspaces, EntitiesApi_UpdateEntityWorkspaceSettings, } from "@gooddata/api-client-tiger/endpoints/entitiesObjects";
5
5
  import { ProfileApi_GetCurrent } from "@gooddata/api-client-tiger/endpoints/profile";
6
- import { isIdentifierRef, } from "@gooddata/sdk-model";
7
6
  import { LIB_VERSION } from "../../../__version.js";
8
7
  import { convertDateFilterConfig, } from "../../../convertors/fromBackend/DateFilterConfigurationConverter.js";
9
8
  import { unwrapSettingContent } from "../../../convertors/fromBackend/SettingsConverter.js";
10
- import { objRefToIdentifier } from "../../../utils/api.js";
11
9
  import { TigerFeaturesService, getControlledFeatureRollout, getOrganizationTier, } from "../../features/index.js";
10
+ import { activeStylingContent } from "../../settings/activeStyling.js";
12
11
  import { mapTypeToKey } from "../../settings/mapping.js";
13
12
  import { invalidateSettingsResponses, trackSettingsResponse } from "../../settings/responseCacheCoherence.js";
14
13
  import { TigerSettingsService } from "../../settings/settings.js";
@@ -135,31 +134,10 @@ export class TigerWorkspaceSettings extends TigerSettingsService {
135
134
  return this.deleteSettingByType("EXPORT_CSV_CUSTOM_DELIMITER");
136
135
  }
137
136
  async setTheme(activeTheme) {
138
- return this.setSetting("ACTIVE_THEME", this.resolveActiveStyleContent(activeTheme, "theme", "workspaceTheme"));
137
+ return this.setSetting("ACTIVE_THEME", activeStylingContent(activeTheme, "theme", "workspaceTheme", this.authCall));
139
138
  }
140
139
  async setColorPalette(activeColorPalette) {
141
- return this.setSetting("ACTIVE_COLOR_PALETTE", this.resolveActiveStyleContent(activeColorPalette, "colorPalette", "workspaceColorPalette"));
142
- }
143
- /**
144
- * Build the active-styling setting content from a reference. A bare id string (or an untyped/org-typed
145
- * reference) is treated as organization-scoped; only a reference explicitly typed as the workspace scope
146
- * activates the workspace collection. The scope must be explicit so the id resolves against the right
147
- * scope with no cross-scope fallback.
148
- */
149
- resolveActiveStyleContent(ref, organizationType, workspaceType) {
150
- if (typeof ref === "string") {
151
- return { id: ref, type: organizationType };
152
- }
153
- const id = objRefToIdentifier(ref, this.authCall);
154
- const refType = isIdentifierRef(ref) ? ref.type : undefined;
155
- // A bare / uri / untyped reference defaults to the organization scope. A reference whose type is set
156
- // but is neither the organization nor the workspace scope for this kind is a caller error - reject it
157
- // rather than silently reinterpreting it as organization-scoped.
158
- if (refType && refType !== organizationType && refType !== workspaceType) {
159
- throw new Error(`Cannot set active ${organizationType}: reference type "${refType}" is neither ` +
160
- `"${organizationType}" nor "${workspaceType}".`);
161
- }
162
- return { id, type: refType === workspaceType ? workspaceType : organizationType };
140
+ return this.setSetting("ACTIVE_COLOR_PALETTE", activeStylingContent(activeColorPalette, "colorPalette", "workspaceColorPalette", this.authCall));
163
141
  }
164
142
  async deleteTheme() {
165
143
  return this.deleteSettingByType("ACTIVE_THEME");
@@ -7,19 +7,22 @@ export declare class TigerWorkspaceStyling implements IWorkspaceStylingService {
7
7
  private settingsService;
8
8
  constructor(authCall: TigerAuthenticatedCallGuard, workspace: string);
9
9
  /**
10
- * Checks if Theming needs to be loaded.
11
- * activeTheme needs to be defined
12
- *
13
- * @returns boolean
10
+ * Fetch the active styling object's content from a filtered single-object list and unwrap the first hit.
11
+ * A missing object (or a failed fetch) yields `undefined` rather than throwing, so styling problems never
12
+ * break the application. The caller selects the scope-specific endpoint, so there is no cross-scope
13
+ * fallback here.
14
14
  */
15
- private isStylizable;
15
+ private fetchActiveStyleContent;
16
+ private resolveActiveStyleContent;
16
17
  /**
17
- * Resolve the active styling object's content by fetching a filtered single-object list and unwrapping
18
- * the first hit. A missing object (or a failed fetch) yields the provided fallback rather than throwing,
19
- * so styling problems never break the application. The caller selects the scope-specific endpoint, so
20
- * there is no cross-scope fallback here.
18
+ * Resolve the active theme or color palette for the current user in this workspace. The resolved setting
19
+ * may come from the user layer, which has no workspace: a reference this workspace cannot resolve falls
20
+ * through to the setting resolved without the user layer, so it never masks the workspace's or the
21
+ * organization's own one.
21
22
  */
22
- private resolveActiveStyleContent;
23
+ private resolveActiveStyle;
24
+ private colorPaletteFetcher;
25
+ private themeFetcher;
23
26
  getColorPalette: () => Promise<IColorPaletteItem[]>;
24
27
  getTheme: () => Promise<ITheme>;
25
28
  private getActiveSetting;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/backend/workspace/styling/index.ts"],"names":[],"mappings":"AAuBA,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAC1E,OAAO,EACH,KAAK,aAAa,EAClB,KAAK,uBAAuB,EAC5B,KAAK,iBAAiB,EACtB,KAAK,2BAA2B,EAChC,KAAK,MAAM,EACX,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,MAAM,EAGd,MAAM,qBAAqB,CAAC;AAe7B,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AAmC3E,qBAAa,qBAAsB,YAAW,wBAAwB;IAI9D,OAAO,CAAC,QAAQ,CAAC,QAAQ;aACT,SAAS,EAAE,MAAM;IAJrC,OAAO,CAAC,eAAe,CAAyB;IAEhD,YACqB,QAAQ,EAAE,2BAA2B,EACtC,SAAS,EAAE,MAAM,EAGpC;IAED;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAIpB;;;;;OAKG;IACH,OAAO,CAAC,yBAAyB,CAgB3B;IAEC,eAAe,QAAa,OAAO,CAAC,iBAAiB,EAAE,CAAC,CA+B7D;IAEK,QAAQ,QAAa,OAAO,CAAC,MAAM,CAAC,CAqBzC;YAEY,gBAAgB;IAQvB,cAAc,oCAA8C;IAEtD,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAG3D;IAEM,qBAAqB,oCAAqD;IAEpE,qBAAqB,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEzE;IAEY,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAE7C;IAEY,uBAAuB,IAAI,OAAO,CAAC,IAAI,CAAC,CAEpD;IAED;;;;OAIG;IACU,SAAS,IAAI,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAYxD;IAEY,kBAAkB,IAAI,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAWjE;IAED;;;;;OAKG;IACU,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAS/E;IAED;;;;;;OAMG;IACU,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAc/E;IAED,OAAO,CAAC,gBAAgB;IAIxB;;;;;OAKG;IACU,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAQxD;IAED;;;;OAIG;IACU,gBAAgB,IAAI,OAAO,CAAC,2BAA2B,EAAE,CAAC,CAiBtE;IAEY,yBAAyB,IAAI,OAAO,CAAC,2BAA2B,EAAE,CAAC,CAiB/E;IAED;;;;;;;OAOG;IACU,oBAAoB,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAwB7F;IAED;;;;;;OAMG;IACU,kBAAkB,CAC3B,YAAY,EAAE,uBAAuB,GACtC,OAAO,CAAC,2BAA2B,CAAC,CAetC;IAED;;;;;;;OAOG;IACU,kBAAkB,CAC3B,YAAY,EAAE,uBAAuB,GACtC,OAAO,CAAC,2BAA2B,CAAC,CAiBtC;IAED;;;;;OAKG;IACU,kBAAkB,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAQtE;IAED,OAAO,CAAC,uBAAuB;CAKlC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/backend/workspace/styling/index.ts"],"names":[],"mappings":"AAuBA,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAC1E,OAAO,EACH,KAAK,aAAa,EAClB,KAAK,uBAAuB,EAC5B,KAAK,iBAAiB,EACtB,KAAK,2BAA2B,EAChC,KAAK,MAAM,EACX,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,MAAM,EAGd,MAAM,qBAAqB,CAAC;AAe7B,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AAmC3E,qBAAa,qBAAsB,YAAW,wBAAwB;IAI9D,OAAO,CAAC,QAAQ,CAAC,QAAQ;aACT,SAAS,EAAE,MAAM;IAJrC,OAAO,CAAC,eAAe,CAAyB;IAEhD,YACqB,QAAQ,EAAE,2BAA2B,EACtC,SAAS,EAAE,MAAM,EAGpC;IAED;;;;;OAKG;IACH,OAAO,CAAC,uBAAuB,CAezB;IAEN,OAAO,CAAC,yBAAyB,CAM2D;IAE5F;;;;;OAKG;YACW,kBAAkB;IA2BhC,OAAO,CAAC,mBAAmB,CAUrB;IAEN,OAAO,CAAC,YAAY,CAUd;IAEC,eAAe,QAAO,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAWnD;IAEC,QAAQ,QAAO,OAAO,CAAC,MAAM,CAAC,CAM/B;YAEQ,gBAAgB;IAQvB,cAAc,oCAA8C;IAEtD,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAG3D;IAEM,qBAAqB,oCAAqD;IAEpE,qBAAqB,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEzE;IAEY,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAE7C;IAEY,uBAAuB,IAAI,OAAO,CAAC,IAAI,CAAC,CAEpD;IAED;;;;OAIG;IACU,SAAS,IAAI,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAYxD;IAEY,kBAAkB,IAAI,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAWjE;IAED;;;;;OAKG;IACU,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAS/E;IAED;;;;;;OAMG;IACU,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAc/E;IAED,OAAO,CAAC,gBAAgB;IAIxB;;;;;OAKG;IACU,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAQxD;IAED;;;;OAIG;IACU,gBAAgB,IAAI,OAAO,CAAC,2BAA2B,EAAE,CAAC,CAiBtE;IAEY,yBAAyB,IAAI,OAAO,CAAC,2BAA2B,EAAE,CAAC,CAiB/E;IAED;;;;;;;OAOG;IACU,oBAAoB,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAwB7F;IAED;;;;;;OAMG;IACU,kBAAkB,CAC3B,YAAY,EAAE,uBAAuB,GACtC,OAAO,CAAC,2BAA2B,CAAC,CAetC;IAED;;;;;;;OAOG;IACU,kBAAkB,CAC3B,YAAY,EAAE,uBAAuB,GACtC,OAAO,CAAC,2BAA2B,CAAC,CAiBtC;IAED;;;;;OAKG;IACU,kBAAkB,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAQtE;IAED,OAAO,CAAC,uBAAuB;CAKlC"}
@@ -33,65 +33,69 @@ export class TigerWorkspaceStyling {
33
33
  this.settingsService = new TigerWorkspaceSettings(authCall, workspace);
34
34
  }
35
35
  /**
36
- * Checks if Theming needs to be loaded.
37
- * activeTheme needs to be defined
38
- *
39
- * @returns boolean
40
- */
41
- isStylizable(activeStyleId) {
42
- return activeStyleId !== "";
43
- }
44
- /**
45
- * Resolve the active styling object's content by fetching a filtered single-object list and unwrapping
46
- * the first hit. A missing object (or a failed fetch) yields the provided fallback rather than throwing,
47
- * so styling problems never break the application. The caller selects the scope-specific endpoint, so
48
- * there is no cross-scope fallback here.
36
+ * Fetch the active styling object's content from a filtered single-object list and unwrap the first hit.
37
+ * A missing object (or a failed fetch) yields `undefined` rather than throwing, so styling problems never
38
+ * break the application. The caller selects the scope-specific endpoint, so there is no cross-scope
39
+ * fallback here.
49
40
  */
50
- resolveActiveStyleContent = (fetchList, unwrapContent, fallback) => this.authCall((client) => fetchList(client)
41
+ fetchActiveStyleContent = (fetchList, unwrapContent) => this.authCall((client) => fetchList(client)
51
42
  .then((response) => response.data.data.length === 0
52
- ? fallback
43
+ ? undefined
53
44
  : unwrapContent(response.data.data[0].attributes.content))
54
45
  // Failed styling loading should not break the application
55
- .catch(() => fallback));
56
- getColorPalette = async () => {
46
+ .catch(() => undefined));
47
+ resolveActiveStyleContent = async (fetchList, unwrapContent, fallback) => (await this.fetchActiveStyleContent(fetchList, unwrapContent)) ?? fallback;
48
+ /**
49
+ * Resolve the active theme or color palette for the current user in this workspace. The resolved setting
50
+ * may come from the user layer, which has no workspace: a reference this workspace cannot resolve falls
51
+ * through to the setting resolved without the user layer, so it never masks the workspace's or the
52
+ * organization's own one.
53
+ */
54
+ async resolveActiveStyle(key, fetchListFor, unwrapContent, fallback) {
57
55
  const userSettings = await getSettingsForCurrentUser(this.authCall, this.workspace);
58
- const activeColorPalette = userSettings["activeColorPalette"];
59
- const activeColorPaletteId = activeColorPalette?.id ?? "";
60
- if (!this.isStylizable(activeColorPaletteId)) {
61
- return DefaultColorPalette;
56
+ const active = userSettings[key];
57
+ if (!active?.id) {
58
+ return fallback;
62
59
  }
63
- const filter = `id=="${activeColorPaletteId}"`;
64
- // Resolve the id against the scope declared by the setting; no cross-scope fallback.
65
- const fetchList = activeColorPalette?.type === "workspaceColorPalette"
66
- ? (client) => EntitiesApi_GetAllEntitiesWorkspaceColorPalettes(client.axios, client.basePath, {
60
+ const resolved = await this.fetchActiveStyleContent(fetchListFor(active), unwrapContent);
61
+ if (resolved !== undefined) {
62
+ return resolved;
63
+ }
64
+ const workspaceSettings = await this.settingsService.getSettings();
65
+ const workspaceActive = workspaceSettings?.[key];
66
+ if (!workspaceActive?.id ||
67
+ (workspaceActive.id === active.id && workspaceActive.type === active.type)) {
68
+ return fallback;
69
+ }
70
+ return (await this.fetchActiveStyleContent(fetchListFor(workspaceActive), unwrapContent)) ?? fallback;
71
+ }
72
+ // Resolve the id against the scope declared by the setting; no cross-scope fallback.
73
+ colorPaletteFetcher = (active) => (client) => {
74
+ const filter = `id=="${active.id}"`;
75
+ return active.type === "workspaceColorPalette"
76
+ ? EntitiesApi_GetAllEntitiesWorkspaceColorPalettes(client.axios, client.basePath, {
67
77
  workspaceId: this.workspace,
68
78
  filter,
69
79
  })
70
- : (client) => EntitiesApi_GetAllEntitiesColorPalettes(client.axios, client.basePath, { filter });
71
- // Validate the resolved content the same way the listing path does, so malformed backend content
72
- // falls back to the default rather than flowing through unchecked.
73
- return this.resolveActiveStyleContent(fetchList, (content) => {
74
- const colorPalette = unwrapColorPaletteContent(content);
75
- return isValidColorPalette(colorPalette) ? colorPalette : DefaultColorPalette;
76
- }, DefaultColorPalette);
80
+ : EntitiesApi_GetAllEntitiesColorPalettes(client.axios, client.basePath, { filter });
77
81
  };
78
- getTheme = async () => {
79
- const userSettings = await getSettingsForCurrentUser(this.authCall, this.workspace);
80
- const activeTheme = userSettings["activeTheme"];
81
- const activeThemeId = activeTheme?.id ?? "";
82
- if (!this.isStylizable(activeThemeId)) {
83
- return DefaultTheme;
84
- }
85
- const filter = `id=="${activeThemeId}"`;
86
- // Resolve the id against the scope declared by the setting; no cross-scope fallback.
87
- const fetchList = activeTheme?.type === "workspaceTheme"
88
- ? (client) => EntitiesApi_GetAllEntitiesWorkspaceThemes(client.axios, client.basePath, {
82
+ themeFetcher = (active) => (client) => {
83
+ const filter = `id=="${active.id}"`;
84
+ return active.type === "workspaceTheme"
85
+ ? EntitiesApi_GetAllEntitiesWorkspaceThemes(client.axios, client.basePath, {
89
86
  workspaceId: this.workspace,
90
87
  filter,
91
88
  })
92
- : (client) => EntitiesApi_GetAllEntitiesThemes(client.axios, client.basePath, { filter });
93
- return this.resolveActiveStyleContent(fetchList, (content) => content, DefaultTheme);
89
+ : EntitiesApi_GetAllEntitiesThemes(client.axios, client.basePath, { filter });
94
90
  };
91
+ getColorPalette = () =>
92
+ // Validate the resolved content the same way the listing path does, so malformed backend content
93
+ // falls back to the default rather than flowing through unchecked.
94
+ this.resolveActiveStyle("activeColorPalette", this.colorPaletteFetcher, (content) => {
95
+ const colorPalette = unwrapColorPaletteContent(content);
96
+ return isValidColorPalette(colorPalette) ? colorPalette : DefaultColorPalette;
97
+ }, DefaultColorPalette);
98
+ getTheme = () => this.resolveActiveStyle("activeTheme", this.themeFetcher, (content) => content, DefaultTheme);
95
99
  async getActiveSetting(setting) {
96
100
  const settings = await this.settingsService.getSettings();
97
101
  const foundSetting = settings?.[setting];
@@ -1 +1 @@
1
- {"version":3,"file":"genAIConvertor.d.ts","sourceRoot":"","sources":["../../../src/convertors/fromBackend/genAIConvertor.ts"],"names":[],"mappings":"AAKA,OAAO,EAGH,KAAK,0BAA0B,EAC/B,KAAK,gCAAgC,EACrC,KAAK,sBAAsB,EAC3B,KAAK,0BAA0B,EAI/B,KAAK,yBAAyB,EAK9B,KAAK,aAAa,EAQrB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAEH,KAAK,iBAAiB,EAGtB,KAAK,sBAAsB,EAE3B,KAAK,gCAAgC,EACrC,KAAK,qBAAqB,EAC1B,KAAK,2BAA2B,EAGhC,KAAK,gBAAgB,EAExB,MAAM,2BAA2B,CAAC;AAwCnC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AACjF,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAKhE,wBAAgB,kCAAkC,CAAC,YAAY,EAAE,sBAAsB,GAAG,iBAAiB,CAS1G;AAED,wBAAgB,sCAAsC,CAClD,IAAI,EAAE,0BAA0B,EAChC,SAAS,EAAE,0BAA0B,CAAC,WAAW,CAAC,GAAG,SAAS,EAC9D,OAAO,EAAE,qBAAqB,EAAE,EAChC,cAAc,EAAE,cAAc,EAC9B,MAAM,CAAC,EAAE,gBAAgB,EACzB,QAAQ,CAAC,EAAE,MAAM,GAClB,qBAAqB,GAAG,SAAS,CA6BnC;AAED,wBAAgB,uCAAuC,CACnD,KAAK,EAAE,0BAA0B,EAAE,EACnC,SAAS,EAAE,0BAA0B,CAAC,WAAW,CAAC,GAAG,SAAS,EAC9D,cAAc,EAAE,cAAc,EAC9B,MAAM,CAAC,EAAE,gBAAgB,EACzB,QAAQ,CAAC,EAAE,MAAM,GAClB,qBAAqB,EAAE,CAkBzB;AA8MD,wBAAgB,uCAAuC,CACnD,IAAI,EAAE,OAAO,CAAC;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,EACrE,OAAO,CAAC,EAAE,MAAM,GACjB,sBAAsB,CAQxB;AAED;;;GAGG;AACH,wBAAgB,iDAAiD,CAC7D,IAAI,EAAE,yBAAyB,EAC/B,OAAO,CAAC,EAAE,MAAM,GACjB,gCAAgC,CAgBlC;AAED;;;;GAIG;AACH,wBAAgB,4CAA4C,CACxD,MAAM,EAAE,gCAAgC,GAAG,IAAI,GAAG,SAAS,GAC5D,2BAA2B,GAAG,SAAS,CAgEzC;AA2FD,wBAAgB,oCAAoC,CAChD,IAAI,EAAE,aAAa,GAAG,IAAI,GAAG,SAAS,GACvC,gBAAgB,CAQlB"}
1
+ {"version":3,"file":"genAIConvertor.d.ts","sourceRoot":"","sources":["../../../src/convertors/fromBackend/genAIConvertor.ts"],"names":[],"mappings":"AAKA,OAAO,EAGH,KAAK,0BAA0B,EAC/B,KAAK,gCAAgC,EACrC,KAAK,sBAAsB,EAC3B,KAAK,0BAA0B,EAK/B,KAAK,yBAAyB,EAK9B,KAAK,aAAa,EASrB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAEH,KAAK,iBAAiB,EAGtB,KAAK,sBAAsB,EAE3B,KAAK,gCAAgC,EACrC,KAAK,qBAAqB,EAC1B,KAAK,2BAA2B,EAGhC,KAAK,gBAAgB,EAExB,MAAM,2BAA2B,CAAC;AAwCnC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AACjF,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAKhE,wBAAgB,kCAAkC,CAAC,YAAY,EAAE,sBAAsB,GAAG,iBAAiB,CAS1G;AAED,wBAAgB,sCAAsC,CAClD,IAAI,EAAE,0BAA0B,EAChC,SAAS,EAAE,0BAA0B,CAAC,WAAW,CAAC,GAAG,SAAS,EAC9D,OAAO,EAAE,qBAAqB,EAAE,EAChC,cAAc,EAAE,cAAc,EAC9B,MAAM,CAAC,EAAE,gBAAgB,EACzB,QAAQ,CAAC,EAAE,MAAM,GAClB,qBAAqB,GAAG,SAAS,CA6BnC;AAED,wBAAgB,uCAAuC,CACnD,KAAK,EAAE,0BAA0B,EAAE,EACnC,SAAS,EAAE,0BAA0B,CAAC,WAAW,CAAC,GAAG,SAAS,EAC9D,cAAc,EAAE,cAAc,EAC9B,MAAM,CAAC,EAAE,gBAAgB,EACzB,QAAQ,CAAC,EAAE,MAAM,GAClB,qBAAqB,EAAE,CAkBzB;AA8MD,wBAAgB,uCAAuC,CACnD,IAAI,EAAE,OAAO,CAAC;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,EACrE,OAAO,CAAC,EAAE,MAAM,GACjB,sBAAsB,CAQxB;AAED;;;GAGG;AACH,wBAAgB,iDAAiD,CAC7D,IAAI,EAAE,yBAAyB,EAC/B,OAAO,CAAC,EAAE,MAAM,GACjB,gCAAgC,CAgBlC;AAED;;;;GAIG;AACH,wBAAgB,4CAA4C,CACxD,MAAM,EAAE,gCAAgC,GAAG,IAAI,GAAG,SAAS,GAC5D,2BAA2B,GAAG,SAAS,CAgEzC;AA2FD,wBAAgB,oCAAoC,CAChD,IAAI,EAAE,aAAa,GAAG,IAAI,GAAG,SAAS,GACvC,gBAAgB,CAQlB"}
@@ -1,7 +1,7 @@
1
1
  // (C) 2024-2026 GoodData Corporation
2
2
  import fastJsonPatch from "fast-json-patch";
3
3
  import { v4 as uuidv4 } from "uuid";
4
- import { yamlDashboardToDeclarative, yamlDatasetToDeclarative, yamlDateDatesetToDeclarative, yamlFiltersToDeclarative, yamlVisualisationToMetadataObject, } from "@gooddata/sdk-code-convertors";
4
+ import { yamlDashboardToDeclarative, yamlDatasetToDeclarative, yamlDateDatesetToDeclarative, yamlFiltersToDeclarative, yamlVisualisationToDeclarative, yamlVisualisationToMetadataObject, } from "@gooddata/sdk-code-convertors";
5
5
  import { areObjRefsEqual, assertNever, } from "@gooddata/sdk-model";
6
6
  import { getFormatByGranularity } from "../../utils/dateUtils.js";
7
7
  import { convertMeasure } from "./afm/MeasureConverter.js";
@@ -532,19 +532,25 @@ function applyDashboardPatch(items, siblings, patch) {
532
532
  // The most recent card for this dashboard need not carry a base - a patch that failed to
533
533
  // apply resolves to one without. Rebase on the last card that actually has one.
534
534
  const base = all[all.length - 1]?.base;
535
- // Collate insights from all cards that are related to this dashboard in history
536
- const previousInsights = Object.values(all.reduce((b, p) => {
537
- p.insights?.forEach((i) => {
538
- b[i.insight.identifier] = i;
539
- });
540
- return b;
541
- }, {}));
535
+ // Not base
542
536
  if (!base) {
543
537
  return {
544
538
  dashboard: null,
545
539
  insights: null,
546
540
  };
547
541
  }
542
+ // Collate insights from all cards that are related to this dashboard in history
543
+ const references = [
544
+ ...all.map((part) => part.references),
545
+ patch.references,
546
+ ].reduce((acc, curr) => {
547
+ return {
548
+ datasets: unique(acc?.datasets, curr?.datasets),
549
+ datedatasets: unique(acc?.datedatasets, curr?.datedatasets),
550
+ new_visualizations: unique(acc?.new_visualizations, curr?.new_visualizations),
551
+ visualizations: unique(acc?.visualizations, curr?.visualizations),
552
+ };
553
+ }, {});
548
554
  let newDocument = null;
549
555
  try {
550
556
  const patchResult = fastJsonPatch.applyPatch(base, patch.operations, undefined, false);
@@ -558,7 +564,7 @@ function applyDashboardPatch(items, siblings, patch) {
558
564
  patchError: e,
559
565
  };
560
566
  }
561
- const { dashboard, insights } = buildDashboardReferences(newDocument, patch.references, patch.dashboard_id);
567
+ const { dashboard, insights } = buildDashboardReferences(newDocument, references, patch.dashboard_id);
562
568
  // `base` is carried over unchanged: the operations are defined against the relayed document,
563
569
  // not against the result of a previous proposal, so a follow-up patch - which arrives without
564
570
  // a base of its own as long as the relayed document has not changed - rebases on the same one.
@@ -567,8 +573,9 @@ function applyDashboardPatch(items, siblings, patch) {
567
573
  // change the user has not accepted yet, so it has to offer the draft and not the saved copy.
568
574
  return {
569
575
  base,
576
+ references,
577
+ insights,
570
578
  dashboard: convertToTemporaryFilterContexts(dashboard),
571
- insights: [...previousInsights, ...insights],
572
579
  };
573
580
  }
574
581
  function collectRelatedItems(items, siblings, ref) {
@@ -594,11 +601,13 @@ function applyDashboardDefinition(part) {
594
601
  return {
595
602
  insights,
596
603
  base: part.dashboard,
604
+ references: part.references,
597
605
  saved: part.saved_dashboard_id,
598
606
  dashboard: convertToTemporaryFilterContexts(dashboard),
599
607
  };
600
608
  }
601
609
  function buildDashboardReferences(aacDashboard, references, savedDashboardId) {
610
+ const entities = [];
602
611
  const dateDatasets = references?.datedatasets?.map((ds) => {
603
612
  const data = ds;
604
613
  return {
@@ -609,6 +618,7 @@ function buildDashboardReferences(aacDashboard, references, savedDashboardId) {
609
618
  declarative: yamlDateDatesetToDeclarative(data),
610
619
  };
611
620
  }) ?? [];
621
+ entities.push(...dateDatasets);
612
622
  const datasets = references?.datasets?.map((ds) => {
613
623
  const data = ds;
614
624
  return {
@@ -619,24 +629,59 @@ function buildDashboardReferences(aacDashboard, references, savedDashboardId) {
619
629
  declarative: yamlDatasetToDeclarative(dateDatasets, data),
620
630
  };
621
631
  }) ?? [];
622
- const entities = [...dateDatasets, ...datasets];
623
- const data = aacDashboard ? yamlDashboardToDeclarative(entities, aacDashboard) : null;
624
- const filters = data?.filterContext
625
- ? convertFilterContextFromBackend(buildFilterContextWrapper(data.filterContext))
626
- : undefined;
627
- const existingInsights = (references?.visualizations ?? []).map((vis) => {
628
- return visualizationObjectsItemToInsight(yamlVisualisationToMetadataObject(entities, vis));
632
+ entities.push(...datasets);
633
+ const existingVisualizations = (references?.visualizations ?? []).map((vis) => {
634
+ const data = vis;
635
+ return {
636
+ data,
637
+ path: "",
638
+ type: data.type,
639
+ id: data.id,
640
+ declarative: yamlVisualisationToDeclarative(entities, data),
641
+ };
629
642
  }) ?? [];
630
- const newInsights = (references?.new_visualizations ?? []).map((vis) => {
631
- const insight = visualizationObjectsItemToInsight(yamlVisualisationToMetadataObject(entities, vis));
643
+ entities.push(...existingVisualizations);
644
+ const newVisualizations = (references?.new_visualizations ?? []).map((vis) => {
645
+ const data = vis;
646
+ return {
647
+ data,
648
+ path: "",
649
+ type: data.type,
650
+ id: data.id,
651
+ declarative: yamlVisualisationToDeclarative(entities, data),
652
+ };
653
+ }) ?? [];
654
+ entities.push(...newVisualizations);
655
+ // Convert to declarative to insights
656
+ const existingInsights = existingVisualizations.map((data) => {
657
+ return visualizationObjectsItemToInsight({
658
+ type: "visualizationObject",
659
+ id: data.id,
660
+ attributes: data.declarative,
661
+ });
662
+ }) ?? [];
663
+ const newInsights = newVisualizations.map((data) => {
664
+ const insight = visualizationObjectsItemToInsight({
665
+ type: "visualizationObject",
666
+ id: data.id,
667
+ attributes: data.declarative,
668
+ });
632
669
  insight.insight.isDraft = true;
633
670
  return insight;
634
671
  }) ?? [];
672
+ // Convert AacDashboard to declarative dashboard
673
+ const data = aacDashboard ? yamlDashboardToDeclarative(entities, aacDashboard) : null;
674
+ const filters = data?.filterContext
675
+ ? convertFilterContextFromBackend(buildFilterContextWrapper(data.filterContext))
676
+ : undefined;
635
677
  const dashboard = data
636
- ? convertDashboard(buildDashboardWrapper(data.dashboard, data.tabFilterContexts, savedDashboardId), filters)
678
+ ? convertDashboard(buildDashboardWrapper(data.dashboard, data.tabFilterContexts, savedDashboardId), data.tabFilterContexts?.length ? undefined : filters)
637
679
  : null;
638
680
  return {
639
681
  dashboard,
640
682
  insights: [...existingInsights, ...newInsights],
641
683
  };
642
684
  }
685
+ function unique(acc, curr) {
686
+ return [...new Map([...(acc ?? []), ...(curr ?? [])].map((item) => [item.id, item])).values()];
687
+ }
@@ -1,4 +1,4 @@
1
- import { type DeclarativeSettingTypeEnum, type ITigerClientBase, type JsonApiOrganizationSettingOutWithLinksTypeEnum } from "@gooddata/api-client-tiger";
1
+ import { type ITigerClientBase, type JsonApiOrganizationSettingInAttributesTypeEnum, type JsonApiOrganizationSettingOutWithLinksTypeEnum, type JsonApiWorkspaceSettingInAttributesTypeEnum } from "@gooddata/api-client-tiger";
2
2
  import { type AuthenticatedCallGuard } from "@gooddata/sdk-backend-base";
3
3
  import { type FilterContextItem, type IDashboardExportParameter } from "@gooddata/sdk-model";
4
4
  /**
@@ -48,6 +48,14 @@ export interface IExportMetadata {
48
48
  */
49
49
  timezoneId?: string;
50
50
  }
51
- export type TigerSettingsType = DeclarativeSettingTypeEnum;
51
+ /**
52
+ * Setting types the workspace and user settings endpoints accept.
53
+ */
54
+ export type TigerSettingsType = JsonApiWorkspaceSettingInAttributesTypeEnum;
55
+ /**
56
+ * Setting types the organization settings endpoint accepts: the workspace and user types plus
57
+ * organization-only ones.
58
+ */
59
+ export type TigerOrganizationSettingsType = JsonApiOrganizationSettingInAttributesTypeEnum;
52
60
  export type TigerOrgSettingsType = JsonApiOrganizationSettingOutWithLinksTypeEnum;
53
61
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,KAAK,0BAA0B,EAC/B,KAAK,gBAAgB,EACrB,KAAK,8CAA8C,EACtD,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,EAAE,KAAK,iBAAiB,EAAE,KAAK,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAE7F;;;;GAIG;AACH,MAAM,MAAM,2BAA2B,GAAG,sBAAsB,CAAC,gBAAgB,CAAC,CAAC;AAEnF;;;;GAIG;AACH,MAAM,MAAM,YAAY,GAClB,OAAO,GACP,QAAQ,GACR,SAAS,GACT,MAAM,GACN,WAAW,GACX,mBAAmB,GACnB,QAAQ,CAAC;AAEf;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GACvB,qBAAqB,GACrB,qBAAqB,GACrB,eAAe,GACf,iBAAiB,GACjB,WAAW,GACX,oBAAoB,CAAC;AAE3B;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG,YAAY,GAAG,iBAAiB,CAAC;AAE/D,MAAM,MAAM,YAAY,GAAG;IACvB,CAAC,KAAK,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAAC;CACxC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC5B,OAAO,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC9B,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,yBAAyB,EAAE,CAAC,CAAC;IAC9D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,MAAM,iBAAiB,GAAG,0BAA0B,CAAC;AAC3D,MAAM,MAAM,oBAAoB,GAAG,8CAA8C,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,KAAK,gBAAgB,EACrB,KAAK,8CAA8C,EACnD,KAAK,8CAA8C,EACnD,KAAK,2CAA2C,EACnD,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,EAAE,KAAK,iBAAiB,EAAE,KAAK,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAE7F;;;;GAIG;AACH,MAAM,MAAM,2BAA2B,GAAG,sBAAsB,CAAC,gBAAgB,CAAC,CAAC;AAEnF;;;;GAIG;AACH,MAAM,MAAM,YAAY,GAClB,OAAO,GACP,QAAQ,GACR,SAAS,GACT,MAAM,GACN,WAAW,GACX,mBAAmB,GACnB,QAAQ,CAAC;AAEf;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GACvB,qBAAqB,GACrB,qBAAqB,GACrB,eAAe,GACf,iBAAiB,GACjB,WAAW,GACX,oBAAoB,CAAC;AAE3B;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG,YAAY,GAAG,iBAAiB,CAAC;AAE/D,MAAM,MAAM,YAAY,GAAG;IACvB,CAAC,KAAK,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAAC;CACxC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC5B,OAAO,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC9B,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,yBAAyB,EAAE,CAAC,CAAC;IAC9D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,2CAA2C,CAAC;AAC5E;;;GAGG;AACH,MAAM,MAAM,6BAA6B,GAAG,8CAA8C,CAAC;AAC3F,MAAM,MAAM,oBAAoB,GAAG,8CAA8C,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gooddata/sdk-backend-tiger",
3
- "version": "11.61.0-alpha.4",
3
+ "version": "11.61.0",
4
4
  "description": "GoodData Backend SPI implementation for GoodData Cloud and GoodData.CN",
5
5
  "license": "MIT",
6
6
  "author": "GoodData",
@@ -34,12 +34,12 @@
34
34
  "ts-invariant": "0.10.3",
35
35
  "tslib": "2.8.1",
36
36
  "uuid": "11.1.1",
37
- "@gooddata/api-client-tiger": "11.61.0-alpha.4",
38
- "@gooddata/sdk-backend-spi": "11.61.0-alpha.4",
39
- "@gooddata/sdk-backend-base": "11.61.0-alpha.4",
40
- "@gooddata/sdk-code-convertors": "11.61.0-alpha.4",
41
- "@gooddata/sdk-model": "11.61.0-alpha.4",
42
- "@gooddata/util": "11.61.0-alpha.4"
37
+ "@gooddata/api-client-tiger": "11.61.0",
38
+ "@gooddata/sdk-backend-base": "11.61.0",
39
+ "@gooddata/sdk-backend-spi": "11.61.0",
40
+ "@gooddata/sdk-code-convertors": "11.61.0",
41
+ "@gooddata/sdk-model": "11.61.0",
42
+ "@gooddata/util": "11.61.0"
43
43
  },
44
44
  "devDependencies": {
45
45
  "@gooddata/fixtures": "3.7.0",
@@ -64,10 +64,10 @@
64
64
  "oxlint-tsgolint": "7.0.2001",
65
65
  "typescript": "7.0.2",
66
66
  "vitest": "4.1.11",
67
- "@gooddata/catalog-export": "11.61.0-alpha.4",
68
- "@gooddata/eslint-config": "11.61.0-alpha.4",
69
- "@gooddata/reference-workspace": "11.61.0-alpha.4",
70
- "@gooddata/oxlint-config": "11.61.0-alpha.4"
67
+ "@gooddata/catalog-export": "11.61.0",
68
+ "@gooddata/eslint-config": "11.61.0",
69
+ "@gooddata/reference-workspace": "11.61.0",
70
+ "@gooddata/oxlint-config": "11.61.0"
71
71
  },
72
72
  "scripts": {
73
73
  "_phase:build": "npm run build",