@gooddata/sdk-backend-tiger 11.61.0-alpha.4 → 11.61.0-alpha.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm/__version.d.ts +1 -1
- package/esm/__version.js +1 -1
- package/esm/backend/features/feature.js +1 -1
- package/esm/backend/organization/settings.d.ts +5 -5
- package/esm/backend/organization/settings.d.ts.map +1 -1
- package/esm/backend/settings/activeStyling.d.ts +16 -0
- package/esm/backend/settings/activeStyling.d.ts.map +1 -0
- package/esm/backend/settings/activeStyling.js +30 -0
- package/esm/backend/settings/mapping.d.ts +2 -2
- package/esm/backend/settings/mapping.d.ts.map +1 -1
- package/esm/backend/settings/settings.d.ts +0 -2
- package/esm/backend/settings/settings.d.ts.map +1 -1
- package/esm/backend/settings/settings.js +0 -6
- package/esm/backend/uiFeatures.d.ts +3 -3
- package/esm/backend/uiFeatures.d.ts.map +1 -1
- package/esm/backend/uiFeatures.js +3 -3
- package/esm/backend/user/settings.d.ts +5 -0
- package/esm/backend/user/settings.d.ts.map +1 -1
- package/esm/backend/user/settings.js +13 -0
- package/esm/backend/workspace/dashboards/referenceAvailability.d.ts +18 -10
- package/esm/backend/workspace/dashboards/referenceAvailability.d.ts.map +1 -1
- package/esm/backend/workspace/dashboards/referenceAvailability.js +52 -22
- package/esm/backend/workspace/genAI/index.d.ts +4 -1
- package/esm/backend/workspace/genAI/index.d.ts.map +1 -1
- package/esm/backend/workspace/genAI/index.js +36 -15
- package/esm/backend/workspace/settings/index.d.ts +0 -7
- package/esm/backend/workspace/settings/index.d.ts.map +1 -1
- package/esm/backend/workspace/settings/index.js +3 -25
- package/esm/backend/workspace/styling/index.d.ts +13 -10
- package/esm/backend/workspace/styling/index.d.ts.map +1 -1
- package/esm/backend/workspace/styling/index.js +49 -45
- package/esm/convertors/fromBackend/genAIConvertor.d.ts.map +1 -1
- package/esm/convertors/fromBackend/genAIConvertor.js +65 -20
- package/esm/types/index.d.ts +10 -2
- package/esm/types/index.d.ts.map +1 -1
- package/package.json +11 -11
package/esm/__version.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare const LIB_VERSION = "11.61.0-alpha.
|
|
1
|
+
export declare const LIB_VERSION = "11.61.0-alpha.5";
|
|
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
|
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.
|
|
3
|
+
export const LIB_VERSION = "11.61.0-alpha.5";
|
|
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
|
|
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:
|
|
48
|
-
protected updateSetting(type:
|
|
49
|
-
protected createSetting(type:
|
|
50
|
-
protected deleteSettingByType(type:
|
|
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":"AASA,OAAO,EAAE,KAAK,4BAA4B,EAAE,MAAM,2BAA2B,CAAC;AAC9E,OAAO,EACH,KAAK,yBAAyB,EAC9B,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,sBAAsB,EAC3B,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,cAAc,EACtB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,KAAK,2BAA2B,EAAE,KAAK,
|
|
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
|
|
3
|
-
export declare function mapTypeToKey(type:
|
|
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,
|
|
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,
|
|
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;
|
|
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
|
|
20
|
-
* unavailable. Each inspected type must have been requested as an include (`labels`,
|
|
21
|
-
* `computedAttributes`) so the response contains both relationship linkages and
|
|
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
|
|
27
|
-
* side-loads the filter contexts as bare items (no `relationships`), so the existence
|
|
28
|
-
* filter
|
|
29
|
-
* (and `computedAttributes`), hence this one batched extra request.
|
|
30
|
-
* only when a filter uses
|
|
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,
|
|
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
|
|
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
|
|
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,
|
|
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
|
|
85
|
-
* unavailable. Each inspected type must have been requested as an include (`labels`,
|
|
86
|
-
* `computedAttributes`) so the response contains both relationship linkages and
|
|
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
|
|
94
|
-
* side-loads the filter contexts as bare items (no `relationships`), so the existence
|
|
95
|
-
* filter
|
|
96
|
-
* (and `computedAttributes`), hence this one batched extra request.
|
|
97
|
-
* only when a filter uses
|
|
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
|
|
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) =>
|
|
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
|
-
|
|
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
|
-
|
|
129
|
-
|
|
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":"
|
|
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
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
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":"AAYA,OAAO,EACH,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,KAAK,yBAAyB,EACjC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACH,KAAK,yBAAyB,EAC9B,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,sBAAsB,EAC3B,KAAK,WAAW,EAChB,KAAK,WAAW,EAEhB,KAAK,MAAM,
|
|
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",
|
|
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",
|
|
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
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
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
|
|
15
|
+
private fetchActiveStyleContent;
|
|
16
|
+
private resolveActiveStyleContent;
|
|
16
17
|
/**
|
|
17
|
-
* Resolve the active
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
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
|
|
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,
|
|
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
|
-
*
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
*
|
|
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
|
-
|
|
41
|
+
fetchActiveStyleContent = (fetchList, unwrapContent) => this.authCall((client) => fetchList(client)
|
|
51
42
|
.then((response) => response.data.data.length === 0
|
|
52
|
-
?
|
|
43
|
+
? undefined
|
|
53
44
|
: unwrapContent(response.data.data[0].attributes.content))
|
|
54
45
|
// Failed styling loading should not break the application
|
|
55
|
-
.catch(() =>
|
|
56
|
-
|
|
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
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
return DefaultColorPalette;
|
|
56
|
+
const active = userSettings[key];
|
|
57
|
+
if (!active?.id) {
|
|
58
|
+
return fallback;
|
|
62
59
|
}
|
|
63
|
-
const
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
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
|
-
:
|
|
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
|
-
|
|
79
|
-
const
|
|
80
|
-
|
|
81
|
-
|
|
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
|
-
:
|
|
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,
|
|
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
|
-
//
|
|
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,
|
|
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
|
-
|
|
623
|
-
const
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
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
|
-
|
|
631
|
-
|
|
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
|
+
}
|
package/esm/types/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type
|
|
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
|
-
|
|
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
|
package/esm/types/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,KAAK,
|
|
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.
|
|
3
|
+
"version": "11.61.0-alpha.5",
|
|
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.
|
|
38
|
-
"@gooddata/sdk-backend-
|
|
39
|
-
"@gooddata/sdk-backend-
|
|
40
|
-
"@gooddata/sdk-code-convertors": "11.61.0-alpha.
|
|
41
|
-
"@gooddata/sdk-model": "11.61.0-alpha.
|
|
42
|
-
"@gooddata/util": "11.61.0-alpha.
|
|
37
|
+
"@gooddata/api-client-tiger": "11.61.0-alpha.5",
|
|
38
|
+
"@gooddata/sdk-backend-base": "11.61.0-alpha.5",
|
|
39
|
+
"@gooddata/sdk-backend-spi": "11.61.0-alpha.5",
|
|
40
|
+
"@gooddata/sdk-code-convertors": "11.61.0-alpha.5",
|
|
41
|
+
"@gooddata/sdk-model": "11.61.0-alpha.5",
|
|
42
|
+
"@gooddata/util": "11.61.0-alpha.5"
|
|
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.
|
|
68
|
-
"@gooddata/eslint-config": "11.61.0-alpha.
|
|
69
|
-
"@gooddata/
|
|
70
|
-
"@gooddata/
|
|
67
|
+
"@gooddata/catalog-export": "11.61.0-alpha.5",
|
|
68
|
+
"@gooddata/eslint-config": "11.61.0-alpha.5",
|
|
69
|
+
"@gooddata/oxlint-config": "11.61.0-alpha.5",
|
|
70
|
+
"@gooddata/reference-workspace": "11.61.0-alpha.5"
|
|
71
71
|
},
|
|
72
72
|
"scripts": {
|
|
73
73
|
"_phase:build": "npm run build",
|