@gooddata/sdk-backend-tiger 11.56.0-alpha.6 → 11.56.0-alpha.8

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 (34) hide show
  1. package/esm/__version.d.ts +1 -1
  2. package/esm/__version.js +1 -1
  3. package/esm/backend/features/feature.d.ts.map +1 -1
  4. package/esm/backend/features/feature.js +0 -1
  5. package/esm/backend/uiFeatures.d.ts +0 -3
  6. package/esm/backend/uiFeatures.d.ts.map +1 -1
  7. package/esm/backend/uiFeatures.js +3 -6
  8. package/esm/backend/workspace/attributes/index.d.ts +2 -2
  9. package/esm/backend/workspace/attributes/index.d.ts.map +1 -1
  10. package/esm/backend/workspace/attributes/index.js +6 -3
  11. package/esm/backend/workspace/computedAttributes/index.d.ts +2 -1
  12. package/esm/backend/workspace/computedAttributes/index.d.ts.map +1 -1
  13. package/esm/backend/workspace/computedAttributes/index.js +36 -7
  14. package/esm/backend/workspace/genAI/index.js +2 -2
  15. package/esm/backend/workspace/measures/index.d.ts +2 -2
  16. package/esm/backend/workspace/measures/index.d.ts.map +1 -1
  17. package/esm/backend/workspace/measures/index.js +6 -3
  18. package/esm/backend/workspace/objectPermissions/index.d.ts.map +1 -1
  19. package/esm/backend/workspace/objectPermissions/index.js +12 -1
  20. package/esm/convertors/fromBackend/ComputedAttributeConverter.d.ts +5 -3
  21. package/esm/convertors/fromBackend/ComputedAttributeConverter.d.ts.map +1 -1
  22. package/esm/convertors/fromBackend/ComputedAttributeConverter.js +26 -15
  23. package/esm/convertors/fromBackend/KdaConverter.d.ts.map +1 -1
  24. package/esm/convertors/fromBackend/KdaConverter.js +7 -2
  25. package/esm/convertors/fromBackend/afm/dimensions.d.ts.map +1 -1
  26. package/esm/convertors/fromBackend/afm/dimensions.js +14 -6
  27. package/esm/convertors/fromBackend/genAIConvertor.js +2 -1
  28. package/esm/convertors/toBackend/ComputedAttributeConverter.d.ts +4 -0
  29. package/esm/convertors/toBackend/ComputedAttributeConverter.d.ts.map +1 -1
  30. package/esm/convertors/toBackend/ComputedAttributeConverter.js +18 -10
  31. package/esm/utils/definedOnly.d.ts +6 -0
  32. package/esm/utils/definedOnly.d.ts.map +1 -0
  33. package/esm/utils/definedOnly.js +8 -0
  34. package/package.json +11 -11
@@ -1,4 +1,4 @@
1
- export declare const LIB_VERSION = "11.56.0-alpha.6";
1
+ export declare const LIB_VERSION = "11.56.0-alpha.8";
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.56.0-alpha.6";
3
+ export const LIB_VERSION = "11.56.0-alpha.8";
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";
@@ -1 +1 @@
1
- {"version":3,"file":"feature.d.ts","sourceRoot":"","sources":["../../../src/backend/features/feature.ts"],"names":[],"mappings":"AAEA,OAAO,EAAsB,KAAK,kBAAkB,EAAsB,MAAM,kBAAkB,CAAC;AAInG,MAAM,MAAM,UAAU,GAAG;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,CAAC,EAAE,OAAO,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC/C,KAAK,EAAE,GAAG,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AAErD,wBAAgB,WAAW,CAAC,QAAQ,EAAE,WAAW,GAAG,OAAO,CAAC,kBAAkB,CAAC,CA04B9E"}
1
+ {"version":3,"file":"feature.d.ts","sourceRoot":"","sources":["../../../src/backend/features/feature.ts"],"names":[],"mappings":"AAEA,OAAO,EAAsB,KAAK,kBAAkB,EAAsB,MAAM,kBAAkB,CAAC;AAInG,MAAM,MAAM,UAAU,GAAG;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,CAAC,EAAE,OAAO,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC/C,KAAK,EAAE,GAAG,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AAErD,wBAAgB,WAAW,CAAC,QAAQ,EAAE,WAAW,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAm4B9E"}
@@ -115,7 +115,6 @@ export function mapFeatures(features) {
115
115
  ...loadFeature(features, TigerFeaturesNames.EnableDashboardTimezone, "enableDashboardTimezone", "BOOLEAN", FeatureFlagsValues.enableDashboardTimezone),
116
116
  ...loadFeature(features, TigerFeaturesNames.EnableMeasureValueFilterKD, "enableMeasureValueFilterKD", "BOOLEAN", FeatureFlagsValues.enableMeasureValueFilterKD),
117
117
  ...loadFeature(features, TigerFeaturesNames.EnableShellApplication, "enableShellApplication", "BOOLEAN", FeatureFlagsValues.enableShellApplication),
118
- ...loadFeature(features, TigerFeaturesNames.EnableShellApplicationCatalog, "enableShellApplication_catalog", "BOOLEAN", FeatureFlagsValues.enableShellApplication_catalog),
119
118
  ...loadFeature(features, TigerFeaturesNames.EnableShellApplicationDashboards, "enableShellApplication_dashboards", "BOOLEAN", FeatureFlagsValues.enableShellApplication_dashboards),
120
119
  ...loadFeature(features, TigerFeaturesNames.EnableNullableJoins, "enableNullableJoins", "BOOLEAN", FeatureFlagsValues.enableNullableJoins),
121
120
  ...loadFeature(features, TigerFeaturesNames.EnableLogicalModelExtensionsFromParentsCall, "enableLogicalModelExtensionsFromParentsCall", "BOOLEAN", FeatureFlagsValues.enableLogicalModelExtensionsFromParentsCall),
@@ -106,7 +106,6 @@ export declare enum TigerFeaturesNames {
106
106
  EnableDashboardTimezone = "enableDashboardTimezone",
107
107
  EnableMeasureValueFilterKD = "enableMeasureValueFilterKD",
108
108
  EnableShellApplication = "enableShellApplication",
109
- EnableShellApplicationCatalog = "enableShellApplication_catalog",
110
109
  EnableShellApplicationDashboards = "enableShellApplication_dashboards",
111
110
  EnableNullableJoins = "enableNullableJoins",
112
111
  EnableLogicalModelExtensionsFromParentsCall = "enableLogicalModelExtensionsFromParentsCall",
@@ -240,7 +239,6 @@ export type ITigerFeatureFlags = {
240
239
  enableDashboardTimezone: (typeof FeatureFlagsValues)["enableDashboardTimezone"][number];
241
240
  enableMeasureValueFilterKD: (typeof FeatureFlagsValues)["enableMeasureValueFilterKD"][number];
242
241
  enableShellApplication: (typeof FeatureFlagsValues)["enableShellApplication"][number];
243
- enableShellApplication_catalog: (typeof FeatureFlagsValues)["enableShellApplication_catalog"][number];
244
242
  enableShellApplication_dashboards: (typeof FeatureFlagsValues)["enableShellApplication_dashboards"][number];
245
243
  enableNullableJoins: (typeof FeatureFlagsValues)["enableNullableJoins"][number];
246
244
  enableLogicalModelExtensionsFromParentsCall: (typeof FeatureFlagsValues)["enableLogicalModelExtensionsFromParentsCall"][number];
@@ -372,7 +370,6 @@ export declare const FeatureFlagsValues: {
372
370
  enableMeasureValueFilterKD: readonly [false, true];
373
371
  enableDashboardTimezone: readonly [true, false];
374
372
  enableShellApplication: readonly [true, false];
375
- enableShellApplication_catalog: readonly [false, true];
376
373
  enableShellApplication_dashboards: readonly [false, true];
377
374
  enableNullableJoins: readonly [true, false];
378
375
  enableLogicalModelExtensionsFromParentsCall: readonly [true, false];
@@ -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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"}
@@ -107,7 +107,6 @@ export var TigerFeaturesNames;
107
107
  TigerFeaturesNames["EnableDashboardTimezone"] = "enableDashboardTimezone";
108
108
  TigerFeaturesNames["EnableMeasureValueFilterKD"] = "enableMeasureValueFilterKD";
109
109
  TigerFeaturesNames["EnableShellApplication"] = "enableShellApplication";
110
- TigerFeaturesNames["EnableShellApplicationCatalog"] = "enableShellApplication_catalog";
111
110
  TigerFeaturesNames["EnableShellApplicationDashboards"] = "enableShellApplication_dashboards";
112
111
  TigerFeaturesNames["EnableNullableJoins"] = "enableNullableJoins";
113
112
  TigerFeaturesNames["EnableLogicalModelExtensionsFromParentsCall"] = "enableLogicalModelExtensionsFromParentsCall";
@@ -204,7 +203,7 @@ export const DefaultFeatureFlags = {
204
203
  enableSeamlessIdpSwitch: false,
205
204
  enablePreAggregationDatasets: false,
206
205
  enableNewPivotTable: true,
207
- enableConditionalFormatting: false,
206
+ enableConditionalFormatting: true,
208
207
  enableSemanticConditionalFormatting: false,
209
208
  enableNewGeoPushpin: true,
210
209
  enableGeoArea: true,
@@ -241,8 +240,7 @@ export const DefaultFeatureFlags = {
241
240
  enableDashboardTimezone: false,
242
241
  enableMeasureValueFilterKD: true,
243
242
  enableShellApplication: true,
244
- enableShellApplication_catalog: false,
245
- enableShellApplication_dashboards: false,
243
+ enableShellApplication_dashboards: true,
246
244
  enableNullableJoins: false,
247
245
  enableLogicalModelExtensionsFromParentsCall: false,
248
246
  enableDashboardDensitySetting: false,
@@ -258,7 +256,7 @@ export const DefaultFeatureFlags = {
258
256
  enableUserDataFiltersUi: false,
259
257
  enableEnhancedInsightPicker: false,
260
258
  enableAiLlmAnthropicProvider: false,
261
- enableShellApplication_analyticalDesigner: false,
259
+ enableShellApplication_analyticalDesigner: true,
262
260
  enableDashboardSidebarResize: true,
263
261
  enableExportTimeoutFix: false,
264
262
  enableDashboardPersistentFiltersAcrossTabs: false,
@@ -372,7 +370,6 @@ export const FeatureFlagsValues = {
372
370
  enableMeasureValueFilterKD: [false, true],
373
371
  enableDashboardTimezone: [true, false],
374
372
  enableShellApplication: [true, false],
375
- enableShellApplication_catalog: [false, true],
376
373
  enableShellApplication_dashboards: [false, true],
377
374
  enableNullableJoins: [true, false],
378
375
  enableLogicalModelExtensionsFromParentsCall: [true, false],
@@ -1,4 +1,4 @@
1
- import { type IAttributeWithReferences, type IElementsQueryFactory, type IWorkspaceAttributesService } from "@gooddata/sdk-backend-spi";
1
+ import { type IAttributeWithReferences, type IConnectedAttributesOptions, type IElementsQueryFactory, type IWorkspaceAttributesService } from "@gooddata/sdk-backend-spi";
2
2
  import { type IAttributeDisplayFormMetadataObject, type IAttributeMetadataObject, type IMetadataObject, type IMetadataObjectIdentity, type ObjRef } from "@gooddata/sdk-model";
3
3
  import { type DateFormatter } from "../../../convertors/fromBackend/dateFormatting/types.js";
4
4
  import { type TigerAuthenticatedCallGuard } from "../../../types/index.js";
@@ -22,6 +22,6 @@ export declare class TigerWorkspaceAttributes implements IWorkspaceAttributesSer
22
22
  getCommonAttributesBatch(): Promise<ObjRef[][]>;
23
23
  getAttributeDatasetMeta(ref: ObjRef): Promise<IMetadataObject>;
24
24
  getAttributesWithReferences(refs: ObjRef[]): Promise<IAttributeWithReferences[]>;
25
- getConnectedAttributesByDisplayForm(ref: ObjRef): Promise<ObjRef[]>;
25
+ getConnectedAttributesByDisplayForm(ref: ObjRef, options?: IConnectedAttributesOptions): Promise<ObjRef[]>;
26
26
  }
27
27
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/backend/workspace/attributes/index.ts"],"names":[],"mappings":"AAmBA,OAAO,EACH,KAAK,wBAAwB,EAC7B,KAAK,qBAAqB,EAC1B,KAAK,2BAA2B,EAGnC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACH,KAAK,mCAAmC,EACxC,KAAK,wBAAwB,EAE7B,KAAK,eAAe,EACpB,KAAK,uBAAuB,EAE5B,KAAK,MAAM,EAKd,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,yDAAyD,CAAC;AAY7F,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AAE3E,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGvD,qBAAa,wBAAyB,YAAW,2BAA2B;IAEpE,OAAO,CAAC,QAAQ,CAAC,QAAQ;aACT,SAAS,EAAE,MAAM;IACjC,OAAO,CAAC,QAAQ,CAAC,aAAa;IAHlC,YACqB,QAAQ,EAAE,2BAA2B,EACtC,SAAS,EAAE,MAAM,EAChB,aAAa,EAAE,aAAa,EAC7C;IAEG,QAAQ,IAAI,qBAAqB,CAEvC;IAEM,uBAAuB,QAAe,MAAM,KAAG,OAAO,CAAC,mCAAmC,CAAC,CAIhG;IAEK,YAAY,QACV,MAAM,SACL;QAAE,OAAO,CAAC,EAAE,CAAC,SAAS,CAAC,CAAA;KAAE,KAChC,OAAO,CAAC,wBAAwB,CAAC,CAIlC;IAEK,mBAAmB,qBACJ,OAAO,CAAC,wBAAwB,CAAC,GAAG,uBAAuB,KAC9E,OAAO,CAAC,wBAAwB,CAAC,CAgClC;IAEK,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,mCAAmC,EAAE,CAAC,CAqC9F;IAEM,yBAAyB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAE/E;IAEM,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,wBAAwB,EAAE,CAAC,CAMxE;IAEM,kBAAkB,IAAI,eAAe,CAE3C;IAED,mBAAmB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAEvC;IAED,wBAAwB,IAAI,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAE9C;IAGD,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAI7D;IAED,2BAA2B,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,wBAAwB,EAAE,CAAC,CAuC/E;IAEY,mCAAmC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAyB/E;CACJ"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/backend/workspace/attributes/index.ts"],"names":[],"mappings":"AAmBA,OAAO,EACH,KAAK,wBAAwB,EAC7B,KAAK,2BAA2B,EAChC,KAAK,qBAAqB,EAC1B,KAAK,2BAA2B,EAGnC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACH,KAAK,mCAAmC,EACxC,KAAK,wBAAwB,EAE7B,KAAK,eAAe,EACpB,KAAK,uBAAuB,EAE5B,KAAK,MAAM,EAKd,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,yDAAyD,CAAC;AAY7F,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AAE3E,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGvD,qBAAa,wBAAyB,YAAW,2BAA2B;IAEpE,OAAO,CAAC,QAAQ,CAAC,QAAQ;aACT,SAAS,EAAE,MAAM;IACjC,OAAO,CAAC,QAAQ,CAAC,aAAa;IAHlC,YACqB,QAAQ,EAAE,2BAA2B,EACtC,SAAS,EAAE,MAAM,EAChB,aAAa,EAAE,aAAa,EAC7C;IAEG,QAAQ,IAAI,qBAAqB,CAEvC;IAEM,uBAAuB,QAAe,MAAM,KAAG,OAAO,CAAC,mCAAmC,CAAC,CAIhG;IAEK,YAAY,QACV,MAAM,SACL;QAAE,OAAO,CAAC,EAAE,CAAC,SAAS,CAAC,CAAA;KAAE,KAChC,OAAO,CAAC,wBAAwB,CAAC,CAIlC;IAEK,mBAAmB,qBACJ,OAAO,CAAC,wBAAwB,CAAC,GAAG,uBAAuB,KAC9E,OAAO,CAAC,wBAAwB,CAAC,CAgClC;IAEK,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,mCAAmC,EAAE,CAAC,CAqC9F;IAEM,yBAAyB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAE/E;IAEM,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,wBAAwB,EAAE,CAAC,CAMxE;IAEM,kBAAkB,IAAI,eAAe,CAE3C;IAED,mBAAmB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAEvC;IAED,wBAAwB,IAAI,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAE9C;IAGD,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAI7D;IAED,2BAA2B,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,wBAAwB,EAAE,CAAC,CAuC/E;IAEY,mCAAmC,CAC5C,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,2BAA2B,GACtC,OAAO,CAAC,MAAM,EAAE,CAAC,CA4BnB;CACJ"}
@@ -158,13 +158,16 @@ export class TigerWorkspaceAttributes {
158
158
  });
159
159
  });
160
160
  }
161
- async getConnectedAttributesByDisplayForm(ref) {
161
+ async getConnectedAttributesByDisplayForm(ref, options) {
162
162
  const attributeItem = {
163
163
  localIdentifier: objRefToString(ref),
164
164
  label: toLabelQualifier(ref),
165
165
  };
166
166
  const afmValidObjectsQuery = {
167
- types: ["attributes"],
167
+ // computed attributes are attribute-like: they can sit in dashboard filters, so they
168
+ // count among the connected attributes when the caller opts in (the option keeps the
169
+ // request unchanged for callers unaware of computed attributes)
170
+ types: options?.includeComputedAttributes ? ["attributes", "computedAttributes"] : ["attributes"],
168
171
  afm: {
169
172
  attributes: [attributeItem],
170
173
  measures: [],
@@ -176,7 +179,7 @@ export class TigerWorkspaceAttributes {
176
179
  afmValidObjectsQuery,
177
180
  }));
178
181
  return connectedItemsResponse.data.items
179
- .filter((item) => item.type === "attribute")
182
+ .filter((item) => item.type === "attribute" || item.type === "computedAttribute")
180
183
  .map(jsonApiIdToObjRef);
181
184
  }
182
185
  }
@@ -1,5 +1,5 @@
1
1
  import type { IComputedAttributeReferencing, IGetComputedAttributeOptions, IMeasureExpressionToken, IWorkspaceComputedAttributesService } from "@gooddata/sdk-backend-spi";
2
- import { type IComputedAttributeMetadataObject, type IComputedAttributeMetadataObjectDefinition, type IMetadataObjectBase, type IMetadataObjectIdentity, type ObjRef } from "@gooddata/sdk-model";
2
+ import { type IComputedAttributeMetadataObject, type IComputedAttributeMetadataObjectDefinition, type IMetadataObjectBase, type IMetadataObjectIdentity, type IObjectCertificationWrite, type ObjRef } from "@gooddata/sdk-model";
3
3
  import { type TigerAuthenticatedCallGuard } from "../../../types/index.js";
4
4
  import { ComputedAttributesQuery } from "./computedAttributesQuery.js";
5
5
  export declare class TigerWorkspaceComputedAttributes implements IWorkspaceComputedAttributesService {
@@ -10,6 +10,7 @@ export declare class TigerWorkspaceComputedAttributes implements IWorkspaceCompu
10
10
  updateComputedAttribute(computedAttribute: IComputedAttributeMetadataObject): Promise<IComputedAttributeMetadataObject>;
11
11
  updateComputedAttributeMeta(computedAttribute: Partial<IMetadataObjectBase> & IMetadataObjectIdentity): Promise<IComputedAttributeMetadataObject>;
12
12
  deleteComputedAttribute(ref: ObjRef): Promise<void>;
13
+ setCertification(ref: ObjRef, certification?: IObjectCertificationWrite): Promise<void>;
13
14
  getComputedAttribute(ref: ObjRef, options?: IGetComputedAttributeOptions): Promise<IComputedAttributeMetadataObject>;
14
15
  getComputedAttributeExpressionTokens(ref: ObjRef): Promise<IMeasureExpressionToken[]>;
15
16
  getComputedAttributeReferencingObjects(ref: ObjRef): Promise<IComputedAttributeReferencing>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/backend/workspace/computedAttributes/index.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EACR,6BAA6B,EAC7B,4BAA4B,EAC5B,uBAAuB,EACvB,mCAAmC,EACtC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACH,KAAK,gCAAgC,EACrC,KAAK,0CAA0C,EAC/C,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAC5B,KAAK,MAAM,EAGd,MAAM,qBAAqB,CAAC;AAO7B,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AAI3E,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEvE,qBAAa,gCAAiC,YAAW,mCAAmC;IAEpF,OAAO,CAAC,QAAQ,CAAC,QAAQ;aACT,SAAS,EAAE,MAAM;IAFrC,YACqB,QAAQ,EAAE,2BAA2B,EACtC,SAAS,EAAE,MAAM,EACjC;IAEE,uBAAuB,CACzB,iBAAiB,EAAE,0CAA0C,GAC9D,OAAO,CAAC,gCAAgC,CAAC,CAgB3C;IAEK,uBAAuB,CACzB,iBAAiB,EAAE,gCAAgC,GACpD,OAAO,CAAC,gCAAgC,CAAC,CAkB3C;IAEK,2BAA2B,CAC7B,iBAAiB,EAAE,OAAO,CAAC,mBAAmB,CAAC,GAAG,uBAAuB,GAC1E,OAAO,CAAC,gCAAgC,CAAC,CA4B3C;IAEK,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CASxD;IAEY,oBAAoB,CAC7B,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,4BAAiC,GAC3C,OAAO,CAAC,gCAAgC,CAAC,CAW3C;IAEY,oCAAoC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,EAAE,CAAC,CA2BjG;IAEY,sCAAsC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAsDvG;IAEM,0BAA0B,IAAI,uBAAuB,CAE3D;CACJ"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/backend/workspace/computedAttributes/index.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EACR,6BAA6B,EAC7B,4BAA4B,EAC5B,uBAAuB,EACvB,mCAAmC,EACtC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACH,KAAK,gCAAgC,EACrC,KAAK,0CAA0C,EAC/C,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAC5B,KAAK,yBAAyB,EAC9B,KAAK,MAAM,EAGd,MAAM,qBAAqB,CAAC;AAO7B,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AAI3E,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEvE,qBAAa,gCAAiC,YAAW,mCAAmC;IAEpF,OAAO,CAAC,QAAQ,CAAC,QAAQ;aACT,SAAS,EAAE,MAAM;IAFrC,YACqB,QAAQ,EAAE,2BAA2B,EACtC,SAAS,EAAE,MAAM,EACjC;IAEE,uBAAuB,CACzB,iBAAiB,EAAE,0CAA0C,GAC9D,OAAO,CAAC,gCAAgC,CAAC,CAgB3C;IAEK,uBAAuB,CACzB,iBAAiB,EAAE,gCAAgC,GACpD,OAAO,CAAC,gCAAgC,CAAC,CAkB3C;IAEK,2BAA2B,CAC7B,iBAAiB,EAAE,OAAO,CAAC,mBAAmB,CAAC,GAAG,uBAAuB,GAC1E,OAAO,CAAC,gCAAgC,CAAC,CA4B3C;IAEK,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CASxD;IAEK,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC,CAY5F;IAEY,oBAAoB,CAC7B,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,4BAAiC,GAC3C,OAAO,CAAC,gCAAgC,CAAC,CAW3C;IAEY,oCAAoC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,EAAE,CAAC,CA2BjG;IAEY,sCAAsC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,6BAA6B,CAAC,CA8EvG;IAEM,0BAA0B,IAAI,uBAAuB,CAE3D;CACJ"}
@@ -1,7 +1,8 @@
1
1
  // (C) 2026 GoodData Corporation
2
2
  import { uniqBy } from "lodash-es";
3
3
  import { MetadataUtilities } from "@gooddata/api-client-tiger";
4
- import { DashboardsApi_GetAllEntitiesAnalyticalDashboards, EntitiesApi_CreateEntityComputedAttributes, EntitiesApi_DeleteEntityComputedAttributes, EntitiesApi_GetAllEntitiesMetrics, EntitiesApi_GetAllEntitiesVisualizationObjects, EntitiesApi_GetEntityComputedAttributes, EntitiesApi_PatchEntityComputedAttributes, EntitiesApi_UpdateEntityComputedAttributes, } from "@gooddata/api-client-tiger/endpoints/entitiesObjects";
4
+ import { ActionsApi_SetCertification } from "@gooddata/api-client-tiger/endpoints/actions";
5
+ import { DashboardsApi_GetAllEntitiesAnalyticalDashboards, EntitiesApi_CreateEntityComputedAttributes, EntitiesApi_DeleteEntityComputedAttributes, EntitiesApi_GetAllEntitiesComputedAttributes, EntitiesApi_GetAllEntitiesMetrics, EntitiesApi_GetAllEntitiesVisualizationObjects, EntitiesApi_GetEntityComputedAttributes, EntitiesApi_PatchEntityComputedAttributes, EntitiesApi_UpdateEntityComputedAttributes, } from "@gooddata/api-client-tiger/endpoints/entitiesObjects";
5
6
  import { insightId, isIdentifierRef, } from "@gooddata/sdk-model";
6
7
  import { convertComputedAttributeFromBackend } from "../../../convertors/fromBackend/ComputedAttributeConverter.js";
7
8
  import { visualizationObjectsItemToInsight } from "../../../convertors/fromBackend/InsightConverter.js";
@@ -89,12 +90,23 @@ export class TigerWorkspaceComputedAttributes {
89
90
  });
90
91
  });
91
92
  }
93
+ async setCertification(ref, certification) {
94
+ await this.authCall((client) => ActionsApi_SetCertification(client.axios, client.basePath, {
95
+ workspaceId: this.workspace,
96
+ setCertificationRequest: {
97
+ type: "computedAttribute",
98
+ id: objRefToIdentifier(ref, this.authCall),
99
+ status: certification?.status ?? null,
100
+ message: certification?.message ?? null,
101
+ },
102
+ }));
103
+ }
92
104
  async getComputedAttribute(ref, options = {}) {
93
105
  const id = objRefToIdentifier(ref, this.authCall);
94
106
  const result = await this.authCall((client) => EntitiesApi_GetEntityComputedAttributes(client.axios, client.basePath, {
95
107
  objectId: id,
96
108
  workspaceId: this.workspace,
97
- include: options.loadUserData ? ["createdBy", "modifiedBy"] : [],
109
+ include: options.loadUserData ? ["createdBy", "modifiedBy", "certifiedBy"] : [],
98
110
  }));
99
111
  return convertComputedAttributeFromBackend(result.data, result.data.included);
100
112
  }
@@ -121,9 +133,10 @@ export class TigerWorkspaceComputedAttributes {
121
133
  }
122
134
  async getComputedAttributeReferencingObjects(ref) {
123
135
  const id = objRefToIdentifier(ref, this.authCall);
124
- // Visualizations grouping by the computed attribute, metrics that reference it, and
125
- // dashboards that filter by it or embed those visualizations. The backend allows the
126
- // delete; the catalog refuses it and lists these titles instead.
136
+ // Visualizations grouping by the computed attribute, metrics that reference it,
137
+ // dashboards that filter by it or embed those visualizations, and other computed
138
+ // attributes whose MAQL references it. The backend allows the delete; the catalog
139
+ // refuses it and lists these titles instead.
127
140
  const insights = this.authCall((client) => MetadataUtilities.getAllPagesOf(client, EntitiesApi_GetAllEntitiesVisualizationObjects, {
128
141
  workspaceId: this.workspace,
129
142
  filter: `computedAttributes.id==${id}`,
@@ -137,7 +150,18 @@ export class TigerWorkspaceComputedAttributes {
137
150
  })
138
151
  .then(MetadataUtilities.mergeEntitiesResults)
139
152
  .then((metrics) => metrics.data.map((metric) => convertMetricFromBackend(metric, metrics.included))));
140
- const [insightList, measureList] = await Promise.all([insights, measures]);
153
+ // Other computed attributes whose own MAQL references this one.
154
+ const computedAttributes = this.authCall((client) => MetadataUtilities.getAllPagesOf(client, EntitiesApi_GetAllEntitiesComputedAttributes, {
155
+ workspaceId: this.workspace,
156
+ filter: `computedAttributes.id==${id}`,
157
+ })
158
+ .then(MetadataUtilities.mergeEntitiesResults)
159
+ .then((computedAttributes) => computedAttributes.data.map((computedAttribute) => convertComputedAttributeFromBackend(computedAttribute, computedAttributes.included))));
160
+ const [insightList, measureList, computedAttributeList] = await Promise.all([
161
+ insights,
162
+ measures,
163
+ computedAttributes,
164
+ ]);
141
165
  const dashboardFilterParts = [`labels.id==${id}`];
142
166
  if (insightList.length > 0) {
143
167
  const insightIds = insightList.map((insight) => `"${insightId(insight)}"`).join(",");
@@ -149,7 +173,12 @@ export class TigerWorkspaceComputedAttributes {
149
173
  })
150
174
  .then(MetadataUtilities.mergeEntitiesResults)
151
175
  .then((dashboards) => uniqBy(dashboards.data.map((dashboard) => convertAnalyticalDashboardWithLinks(dashboard)), (dashboard) => dashboard.id)));
152
- return { insights: insightList, measures: measureList, analyticalDashboards };
176
+ return {
177
+ insights: insightList,
178
+ measures: measureList,
179
+ analyticalDashboards,
180
+ computedAttributes: computedAttributeList,
181
+ };
153
182
  }
154
183
  getComputedAttributesQuery() {
155
184
  return new ComputedAttributesQuery(this.authCall, { workspaceId: this.workspace });
@@ -1,5 +1,5 @@
1
1
  // (C) 2024-2026 GoodData Corporation
2
- import { ActionsApi_ResolveLlmProviders } from "@gooddata/api-client-tiger/endpoints/actions";
2
+ import { SmartFunctionsAi_ResolveLlmProviders } from "@gooddata/api-client-tiger";
3
3
  import { GenAiApi_SummarizeDashboard, } from "@gooddata/api-client-tiger/endpoints/genAI";
4
4
  import { AnalyticsCatalogService } from "./AnalyticsCatalogService.js";
5
5
  import { ChatConversationsService } from "./ChatConversations.js";
@@ -27,7 +27,7 @@ export class GenAIService {
27
27
  return new SemanticSearchQuery(this.authCall, this.workspaceId);
28
28
  }
29
29
  async getLlmConfigured() {
30
- const result = await this.authCall((client) => ActionsApi_ResolveLlmProviders(client.axios, client.basePath, {
30
+ const result = await this.authCall((client) => SmartFunctionsAi_ResolveLlmProviders(client.axios, client.basePath, {
31
31
  workspaceId: this.workspaceId,
32
32
  }));
33
33
  return Boolean(result.data.data);
@@ -1,4 +1,4 @@
1
- import type { IGetMeasureOptions, IMeasureExpressionToken, IMeasureKeyDrivers, IMeasureReferencing, ISaveMeasureOptions, IUpdateMeasureMetaPayload, IWorkspaceMeasuresService } from "@gooddata/sdk-backend-spi";
1
+ import type { IConnectedAttributesOptions, IGetMeasureOptions, IMeasureExpressionToken, IMeasureKeyDrivers, IMeasureReferencing, ISaveMeasureOptions, IUpdateMeasureMetaPayload, IWorkspaceMeasuresService } from "@gooddata/sdk-backend-spi";
2
2
  import { type IMeasure, type IMeasureMetadataObject, type IMeasureMetadataObjectDefinition, type IObjectCertificationWrite, type ObjRef } from "@gooddata/sdk-model";
3
3
  import { type TigerAuthenticatedCallGuard } from "../../../types/index.js";
4
4
  import { MeasuresQuery } from "./measuresQuery.js";
@@ -18,6 +18,6 @@ export declare class TigerWorkspaceMeasures implements IWorkspaceMeasuresService
18
18
  getMeasureReferencingObjects: (ref: ObjRef) => Promise<IMeasureReferencing>;
19
19
  getMeasuresQuery(): MeasuresQuery;
20
20
  getMeasure(ref: ObjRef, options?: IGetMeasureOptions): Promise<IMeasureMetadataObject>;
21
- getConnectedAttributes(definition: IMeasure, auxMeasures?: IMeasure[]): Promise<ObjRef[]>;
21
+ getConnectedAttributes(definition: IMeasure, auxMeasures?: IMeasure[], options?: IConnectedAttributesOptions): Promise<ObjRef[]>;
22
22
  }
23
23
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/backend/workspace/measures/index.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EACR,kBAAkB,EAClB,uBAAuB,EACvB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,yBAAyB,EACzB,yBAAyB,EAC5B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACH,KAAK,QAAQ,EACb,KAAK,sBAAsB,EAC3B,KAAK,gCAAgC,EACrC,KAAK,yBAAyB,EAC9B,KAAK,MAAM,EAEd,MAAM,qBAAqB,CAAC;AAQ7B,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AAI3E,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAQnD,qBAAa,sBAAuB,YAAW,yBAAyB;IAEhE,OAAO,CAAC,QAAQ,CAAC,QAAQ;aACT,SAAS,EAAE,MAAM;IAFrC,YACqB,QAAQ,EAAE,2BAA2B,EACtC,SAAS,EAAE,MAAM,EACjC;IAES,iBAAiB,CAC1B,OAAO,EAAE,QAAQ,EACjB,OAAO,CAAC,EAAE;QAAE,aAAa,EAAE,KAAK,GAAG,MAAM,CAAA;KAAE,GAC5C,OAAO,CAAC,kBAAkB,CAAC,CAwC7B;IAEY,0BAA0B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,EAAE,CAAC,CA2BvF;IAEK,aAAa,CACf,OAAO,EAAE,gCAAgC,EACzC,OAAO,GAAE,mBAAwB,GAClC,OAAO,CAAC,sBAAsB,CAAC,CAiBjC;IAEK,aAAa,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAkBpF;IAEK,iBAAiB,CAAC,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAkC3F;IAEK,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC,CAY5F;IAEK,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CASrD;IAEM,4BAA4B,QAAe,MAAM,KAAG,OAAO,CAAC,mBAAmB,CAAC,CAqCrF;IAEK,gBAAgB,IAAI,aAAa,CAEvC;IAEY,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAYtG;IAEY,sBAAsB,CAAC,UAAU,EAAE,QAAQ,EAAE,WAAW,CAAC,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAuBrG;CACJ"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/backend/workspace/measures/index.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EACR,2BAA2B,EAC3B,kBAAkB,EAClB,uBAAuB,EACvB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,yBAAyB,EACzB,yBAAyB,EAC5B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACH,KAAK,QAAQ,EACb,KAAK,sBAAsB,EAC3B,KAAK,gCAAgC,EACrC,KAAK,yBAAyB,EAC9B,KAAK,MAAM,EAEd,MAAM,qBAAqB,CAAC;AAQ7B,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AAI3E,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAQnD,qBAAa,sBAAuB,YAAW,yBAAyB;IAEhE,OAAO,CAAC,QAAQ,CAAC,QAAQ;aACT,SAAS,EAAE,MAAM;IAFrC,YACqB,QAAQ,EAAE,2BAA2B,EACtC,SAAS,EAAE,MAAM,EACjC;IAES,iBAAiB,CAC1B,OAAO,EAAE,QAAQ,EACjB,OAAO,CAAC,EAAE;QAAE,aAAa,EAAE,KAAK,GAAG,MAAM,CAAA;KAAE,GAC5C,OAAO,CAAC,kBAAkB,CAAC,CAwC7B;IAEY,0BAA0B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,EAAE,CAAC,CA2BvF;IAEK,aAAa,CACf,OAAO,EAAE,gCAAgC,EACzC,OAAO,GAAE,mBAAwB,GAClC,OAAO,CAAC,sBAAsB,CAAC,CAiBjC;IAEK,aAAa,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAkBpF;IAEK,iBAAiB,CAAC,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAkC3F;IAEK,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC,CAY5F;IAEK,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CASrD;IAEM,4BAA4B,QAAe,MAAM,KAAG,OAAO,CAAC,mBAAmB,CAAC,CAqCrF;IAEK,gBAAgB,IAAI,aAAa,CAEvC;IAEY,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAYtG;IAEY,sBAAsB,CAC/B,UAAU,EAAE,QAAQ,EACpB,WAAW,CAAC,EAAE,QAAQ,EAAE,EACxB,OAAO,CAAC,EAAE,2BAA2B,GACtC,OAAO,CAAC,MAAM,EAAE,CAAC,CA0BnB;CACJ"}
@@ -195,10 +195,13 @@ export class TigerWorkspaceMeasures {
195
195
  }));
196
196
  return convertMetricFromBackend(result.data, result.data.included);
197
197
  }
198
- async getConnectedAttributes(definition, auxMeasures) {
198
+ async getConnectedAttributes(definition, auxMeasures, options) {
199
199
  const measureItem = convertMeasure(definition);
200
200
  const afmValidObjectsQuery = {
201
- types: ["attributes"],
201
+ // computed attributes are attribute-like: they can sit in dashboard filters and slice
202
+ // a metric, so they count among the connected attributes when the caller opts in (the
203
+ // option keeps the request unchanged for callers unaware of computed attributes)
204
+ types: options?.includeComputedAttributes ? ["attributes", "computedAttributes"] : ["attributes"],
202
205
  afm: {
203
206
  attributes: [],
204
207
  measures: [measureItem],
@@ -211,7 +214,7 @@ export class TigerWorkspaceMeasures {
211
214
  afmValidObjectsQuery,
212
215
  }));
213
216
  return connectedItemsResponse.data.items
214
- .filter((item) => item.type === "attribute")
217
+ .filter((item) => item.type === "attribute" || item.type === "computedAttribute")
215
218
  .map(jsonApiIdToObjRef);
216
219
  }
217
220
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/backend/workspace/objectPermissions/index.ts"],"names":[],"mappings":"AAuBA,OAAO,EACH,KAAK,wBAAwB,EAC7B,KAAK,kCAAkC,EAC1C,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACH,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EAGzB,MAAM,qBAAqB,CAAC;AAS7B,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AAK3E,qBAAa,sCAAuC,YAAW,kCAAkC;IAEzF,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAF9B,YACqB,QAAQ,EAAE,2BAA2B,EACrC,SAAS,EAAE,MAAM,EAClC;IAES,aAAa,CAAC,MAAM,EAAE,wBAAwB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAevF;IAEY,uBAAuB,CAChC,MAAM,EAAE,wBAAwB,EAChC,QAAQ,EAAE,sBAAsB,EAAE,GACnC,OAAO,CAAC,IAAI,CAAC,CAmBf;IAEY,qBAAqB,CAC9B,OAAO,CAAC,EAAE,wBAAwB,GACnC,OAAO,CAAC,uBAAuB,EAAE,CAAC,CAgBpC;IAED,OAAO,CAAC,sBAAsB;IAY9B,OAAO,CAAC,2BAA2B;CActC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/backend/workspace/objectPermissions/index.ts"],"names":[],"mappings":"AAyBA,OAAO,EACH,KAAK,wBAAwB,EAC7B,KAAK,kCAAkC,EAC1C,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACH,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EAGzB,MAAM,qBAAqB,CAAC;AAS7B,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AAK3E,qBAAa,sCAAuC,YAAW,kCAAkC;IAEzF,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAF9B,YACqB,QAAQ,EAAE,2BAA2B,EACrC,SAAS,EAAE,MAAM,EAClC;IAES,aAAa,CAAC,MAAM,EAAE,wBAAwB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAevF;IAEY,uBAAuB,CAChC,MAAM,EAAE,wBAAwB,EAChC,QAAQ,EAAE,sBAAsB,EAAE,GACnC,OAAO,CAAC,IAAI,CAAC,CAmBf;IAEY,qBAAqB,CAC9B,OAAO,CAAC,EAAE,wBAAwB,GACnC,OAAO,CAAC,uBAAuB,EAAE,CAAC,CAgBpC;IAED,OAAO,CAAC,sBAAsB;IAY9B,OAAO,CAAC,2BAA2B;CActC"}
@@ -1,5 +1,5 @@
1
1
  // (C) 2026 GoodData Corporation
2
- import { ActionsApi_AttributePermissions, ActionsApi_FactPermissions, ActionsApi_LabelPermissions, ActionsApi_ListWorkspaceUserGroups, ActionsApi_ListWorkspaceUsers, ActionsApi_ManageAttributePermissions, ActionsApi_ManageFactPermissions, ActionsApi_ManageLabelPermissions, ActionsApi_ManageMetricPermissions, ActionsApi_MetricPermissions, } from "@gooddata/api-client-tiger/endpoints/actions";
2
+ import { ActionsApi_AttributePermissions, ActionsApi_ComputedAttributePermissions, ActionsApi_FactPermissions, ActionsApi_LabelPermissions, ActionsApi_ListWorkspaceUserGroups, ActionsApi_ListWorkspaceUsers, ActionsApi_ManageAttributePermissions, ActionsApi_ManageComputedAttributePermissions, ActionsApi_ManageFactPermissions, ActionsApi_ManageLabelPermissions, ActionsApi_ManageMetricPermissions, ActionsApi_MetricPermissions, } from "@gooddata/api-client-tiger/endpoints/actions";
3
3
  import { ProfileApi_GetCurrent } from "@gooddata/api-client-tiger/endpoints/profile";
4
4
  import { isGranularUserAccessGrantee, } from "@gooddata/sdk-model";
5
5
  import { convertRulesPermission, convertUserAssignee, convertUserGroupAssignee, convertUserGroupPermission, convertUserPermission, } from "../../../convertors/fromBackend/AccessControlConverter.js";
@@ -100,6 +100,11 @@ const fetchPermissionsByKind = (client, kind, workspaceId, objectId) => {
100
100
  return ActionsApi_LabelPermissions(axios, basePath, { workspaceId, labelId: objectId });
101
101
  case "measure":
102
102
  return ActionsApi_MetricPermissions(axios, basePath, { workspaceId, metricId: objectId });
103
+ case "computedAttribute":
104
+ return ActionsApi_ComputedAttributePermissions(axios, basePath, {
105
+ workspaceId,
106
+ computedAttributeId: objectId,
107
+ });
103
108
  }
104
109
  };
105
110
  const manageByKind = (client, kind, workspaceId, objectId, manageLabelPermissionsRequestInner) => {
@@ -129,6 +134,12 @@ const manageByKind = (client, kind, workspaceId, objectId, manageLabelPermission
129
134
  metricId: objectId,
130
135
  manageMetricPermissionsRequestInner: manageLabelPermissionsRequestInner,
131
136
  });
137
+ case "computedAttribute":
138
+ return ActionsApi_ManageComputedAttributePermissions(axios, basePath, {
139
+ workspaceId,
140
+ computedAttributeId: objectId,
141
+ manageComputedAttributePermissionsRequestInner: manageLabelPermissionsRequestInner,
142
+ });
132
143
  }
133
144
  };
134
145
  // WorkspaceUser and UserAssignee carry the same fields. Same for groups. Pass through
@@ -1,13 +1,15 @@
1
- import { type JsonApiComputedAttributeOutDocument, type JsonApiComputedAttributeOutIncludes, type JsonApiComputedAttributeOutList, type JsonApiComputedAttributeOutWithLinks } from "@gooddata/api-client-tiger";
1
+ import { type JsonApiComputedAttributeOutAttributesValueTypeEnum, type JsonApiComputedAttributeOutDocument, type JsonApiComputedAttributeOutIncludes, type JsonApiComputedAttributeOutList, type JsonApiComputedAttributeOutWithLinks } from "@gooddata/api-client-tiger";
2
2
  import { type IAttributeDisplayFormMetadataObject, type IComputedAttributeMetadataObject } from "@gooddata/sdk-model";
3
3
  /**
4
4
  * Fabricates the single display form of a computed attribute.
5
5
  *
6
6
  * A computed attribute has no real labels on the backend. To mimic the structure of a normal
7
7
  * attribute (and thus be usable in the same UI places), exactly one display form is fabricated
8
- * client-side: it shares the id and title with the computed attribute itself.
8
+ * client-side: it shares the id and title with the computed attribute itself and carries the
9
+ * display form type derived from the value type, so a hyperlink or image computed attribute
10
+ * renders the same way a label of that type does.
9
11
  */
10
- export declare function fabricateComputedAttributeDisplayForm(id: string, title: string, description: string): IAttributeDisplayFormMetadataObject;
12
+ export declare function fabricateComputedAttributeDisplayForm(id: string, title: string, description: string, valueType?: JsonApiComputedAttributeOutAttributesValueTypeEnum): IAttributeDisplayFormMetadataObject;
11
13
  export declare function convertComputedAttributeFromBackend(data: JsonApiComputedAttributeOutDocument | JsonApiComputedAttributeOutWithLinks, included?: JsonApiComputedAttributeOutIncludes[]): IComputedAttributeMetadataObject;
12
14
  export declare function convertComputedAttributesWithLinks(list: JsonApiComputedAttributeOutList): IComputedAttributeMetadataObject[];
13
15
  //# sourceMappingURL=ComputedAttributeConverter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ComputedAttributeConverter.d.ts","sourceRoot":"","sources":["../../../src/convertors/fromBackend/ComputedAttributeConverter.ts"],"names":[],"mappings":"AAEA,OAAO,EAEH,KAAK,mCAAmC,EACxC,KAAK,mCAAmC,EACxC,KAAK,+BAA+B,EACpC,KAAK,oCAAoC,EAC5C,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACH,KAAK,mCAAmC,EACxC,KAAK,gCAAgC,EAExC,MAAM,qBAAqB,CAAC;AAM7B;;;;;;GAMG;AACH,wBAAgB,qCAAqC,CACjD,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,GACpB,mCAAmC,CAmBrC;AAMD,wBAAgB,mCAAmC,CAC/C,IAAI,EAAE,mCAAmC,GAAG,oCAAoC,EAChF,QAAQ,GAAE,mCAAmC,EAAO,GACrD,gCAAgC,CAoClC;AAED,wBAAgB,kCAAkC,CAC9C,IAAI,EAAE,+BAA+B,GACtC,gCAAgC,EAAE,CAEpC"}
1
+ {"version":3,"file":"ComputedAttributeConverter.d.ts","sourceRoot":"","sources":["../../../src/convertors/fromBackend/ComputedAttributeConverter.ts"],"names":[],"mappings":"AAEA,OAAO,EAEH,KAAK,kDAAkD,EACvD,KAAK,mCAAmC,EACxC,KAAK,mCAAmC,EACxC,KAAK,+BAA+B,EACpC,KAAK,oCAAoC,EAC5C,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACH,KAAK,mCAAmC,EACxC,KAAK,gCAAgC,EAExC,MAAM,qBAAqB,CAAC;AAS7B;;;;;;;;GAQG;AACH,wBAAgB,qCAAqC,CACjD,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,SAAS,CAAC,EAAE,kDAAkD,GAC/D,mCAAmC,CAqBrC;AAMD,wBAAgB,mCAAmC,CAC/C,IAAI,EAAE,mCAAmC,GAAG,oCAAoC,EAChF,QAAQ,GAAE,mCAAmC,EAAO,GACrD,gCAAgC,CAyClC;AAED,wBAAgB,kCAAkC,CAC9C,IAAI,EAAE,+BAA+B,GACtC,gCAAgC,EAAE,CAEpC"}
@@ -1,6 +1,8 @@
1
1
  // (C) 2026 GoodData Corporation
2
2
  import { idRef, } from "@gooddata/sdk-model";
3
+ import { definedOnly } from "../../utils/definedOnly.js";
3
4
  import { convertCertificationFromBackend } from "./CertificationConverter.js";
5
+ import { convertLabelType } from "./LabelTypeConverter.js";
4
6
  import { isInheritedObject } from "./ObjectInheritance.js";
5
7
  import { convertUserIdentifier } from "./UsersConverter.js";
6
8
  /**
@@ -8,9 +10,12 @@ import { convertUserIdentifier } from "./UsersConverter.js";
8
10
  *
9
11
  * A computed attribute has no real labels on the backend. To mimic the structure of a normal
10
12
  * attribute (and thus be usable in the same UI places), exactly one display form is fabricated
11
- * client-side: it shares the id and title with the computed attribute itself.
13
+ * client-side: it shares the id and title with the computed attribute itself and carries the
14
+ * display form type derived from the value type, so a hyperlink or image computed attribute
15
+ * renders the same way a label of that type does.
12
16
  */
13
- export function fabricateComputedAttributeDisplayForm(id, title, description) {
17
+ export function fabricateComputedAttributeDisplayForm(id, title, description, valueType) {
18
+ const displayFormType = convertLabelType(valueType);
14
19
  return {
15
20
  type: "displayForm",
16
21
  // The ref carries the COMPUTED ATTRIBUTE type, not "displayForm": this ref is what ends up
@@ -28,6 +33,7 @@ export function fabricateComputedAttributeDisplayForm(id, title, description) {
28
33
  attribute: idRef(id, "computedAttribute"),
29
34
  isDefault: true,
30
35
  isPrimary: true,
36
+ ...(displayFormType ? { displayFormType } : {}),
31
37
  };
32
38
  }
33
39
  function isJsonApiComputedAttributeOutDocument(obj) {
@@ -49,21 +55,26 @@ export function convertComputedAttributeFromBackend(data, included = []) {
49
55
  production: true,
50
56
  deprecated: false,
51
57
  unlisted: false,
52
- isHidden: attributes.isHidden,
53
58
  isLocked: isInheritedObject(object),
54
59
  expression: attributes.content.maql,
55
- format: attributes.content.format ?? undefined,
56
- metricType: attributes.content.metricType,
57
- dataType: attributes.dataType,
58
- isNullable: attributes.isNullable,
59
- nullValue: attributes.nullValue,
60
- locale: attributes.locale,
61
- displayForms: [fabricateComputedAttributeDisplayForm(id, title, description)],
62
- created: attributes.createdAt ?? undefined,
63
- createdBy: convertUserIdentifier(relationships?.createdBy, included),
64
- updated: attributes.modifiedAt ?? undefined,
65
- updatedBy: convertUserIdentifier(relationships?.modifiedBy, included),
66
- certification: convertCertificationFromBackend(attributes, convertUserIdentifier(relationships?.certifiedBy, included)),
60
+ displayForms: [fabricateComputedAttributeDisplayForm(id, title, description, attributes.valueType)],
61
+ // Optional fields are kept only when the backend returned them, so the metadata object
62
+ // carries no explicit undefined keys.
63
+ ...definedOnly({
64
+ isHidden: attributes.isHidden,
65
+ format: attributes.content.format ?? undefined,
66
+ metricType: attributes.content.metricType,
67
+ dataType: attributes.dataType,
68
+ valueType: attributes.valueType,
69
+ isNullable: attributes.isNullable,
70
+ nullValue: attributes.nullValue,
71
+ locale: attributes.locale,
72
+ created: attributes.createdAt ?? undefined,
73
+ createdBy: convertUserIdentifier(relationships?.createdBy, included),
74
+ updated: attributes.modifiedAt ?? undefined,
75
+ updatedBy: convertUserIdentifier(relationships?.modifiedBy, included),
76
+ certification: convertCertificationFromBackend(attributes, convertUserIdentifier(relationships?.certifiedBy, included)),
77
+ }),
67
78
  };
68
79
  }
69
80
  export function convertComputedAttributesWithLinks(list) {
@@ -1 +1 @@
1
- {"version":3,"file":"KdaConverter.d.ts","sourceRoot":"","sources":["../../../src/convertors/fromBackend/KdaConverter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAE5D,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,oBAAoB,GAAG,UAAU,CAgBvF"}
1
+ {"version":3,"file":"KdaConverter.d.ts","sourceRoot":"","sources":["../../../src/convertors/fromBackend/KdaConverter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAE5D,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,oBAAoB,GAAG,UAAU,CAqBvF"}
@@ -1,4 +1,4 @@
1
- // (C) 2025 GoodData Corporation
1
+ // (C) 2025-2026 GoodData Corporation
2
2
  export function convertChangeAnalyzeToKeyDriver(value) {
3
3
  return {
4
4
  value: value.attributeValue,
@@ -7,9 +7,14 @@ export function convertChangeAnalyzeToKeyDriver(value) {
7
7
  to: value.metricValueInAnalyzedPeriod,
8
8
  delta: value.metricValueDelta,
9
9
  },
10
+ // The response identifies the driver only by id: it may be a label or a computed
11
+ // attribute's fabricated display form, and there is no discriminator to resolve which. The
12
+ // ref is therefore left untyped, making ref comparisons fall back to identifier equality.
13
+ // Known limitation: if a label and a computed attribute share the same id, the consumer
14
+ // cannot tell them apart; fixing that needs a type discriminator in the changeAnalysis
15
+ // response.
10
16
  displayForm: {
11
17
  identifier: value.attributeName,
12
- type: "displayForm",
13
18
  },
14
19
  std: value.attributeValuesChangeStd,
15
20
  mean: value.attributeValuesChangeMean,
@@ -1 +1 @@
1
- {"version":3,"file":"dimensions.d.ts","sourceRoot":"","sources":["../../../../src/convertors/fromBackend/afm/dimensions.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,eAAe,EAAqB,MAAM,4BAA4B,CAAC;AACrF,OAAO,EAEH,KAAK,oBAAoB,EAEzB,KAAK,oBAAoB,EAS5B,MAAM,qBAAqB,CAAC;AAiG7B;;;;;;;;;;GAUG;AACH,wBAAgB,yBAAyB,CACrC,UAAU,EAAE,eAAe,EAAE,EAC7B,GAAG,EAAE,oBAAoB,GAC1B,oBAAoB,EAAE,CAOxB"}
1
+ {"version":3,"file":"dimensions.d.ts","sourceRoot":"","sources":["../../../../src/convertors/fromBackend/afm/dimensions.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,eAAe,EAAqB,MAAM,4BAA4B,CAAC;AACrF,OAAO,EAEH,KAAK,oBAAoB,EAEzB,KAAK,oBAAoB,EAW5B,MAAM,qBAAqB,CAAC;AA4G7B;;;;;;;;;;GAUG;AACH,wBAAgB,yBAAyB,CACrC,UAAU,EAAE,eAAe,EAAE,EAC7B,GAAG,EAAE,oBAAoB,GAC1B,oBAAoB,EAAE,CAYxB"}
@@ -1,10 +1,10 @@
1
1
  // (C) 2019-2026 GoodData Corporation
2
2
  import { groupBy, keyBy, mapValues, uniqBy } from "lodash-es";
3
3
  import { isAttributeHeader } from "@gooddata/api-client-tiger";
4
- import { idRef, isIdentifierRef, isSimpleMeasure, measureItem, measureLocalId, } from "@gooddata/sdk-model";
4
+ import { attributeLocalId, idRef, isComputedAttribute, isIdentifierRef, isSimpleMeasure, measureItem, measureLocalId, } from "@gooddata/sdk-model";
5
5
  import { convertLabelType } from "../LabelTypeConverter.js";
6
6
  const DEFAULT_FORMAT = "#,#.##";
7
- function transformDimension(dim, simpleMeasureRefs, attrTotals) {
7
+ function transformDimension(dim, simpleMeasureRefs, attrTotals, computedAttributeLocalIds) {
8
8
  return {
9
9
  headers: dim.headers.map((header) => {
10
10
  const h = header;
@@ -16,18 +16,25 @@ function transformDimension(dim, simpleMeasureRefs, attrTotals) {
16
16
  kind: h.attributeHeader.geoAreaConfig.collection.kind,
17
17
  }
18
18
  : undefined;
19
+ // A computed attribute has no real labels; its fabricated display form shares the
20
+ // computed attribute's own ref. The descriptor refs must keep the honest
21
+ // `computedAttribute` type so consumers (filters, cross-filtering, drills) resolve
22
+ // them through the computedAttributes service instead of labels.
23
+ const isComputedAttributeHeader = computedAttributeLocalIds.has(h.attributeHeader.localIdentifier);
24
+ const labelRefType = isComputedAttributeHeader ? "computedAttribute" : "displayForm";
25
+ const attributeRefType = isComputedAttributeHeader ? "computedAttribute" : "attribute";
19
26
  return {
20
27
  attributeHeader: {
21
28
  // TODO: TIGER-HACK: Tiger provides no uri
22
29
  uri: "",
23
30
  identifier: h.attributeHeader.label.id,
24
- ref: idRef(h.attributeHeader.label.id, "displayForm"),
31
+ ref: idRef(h.attributeHeader.label.id, labelRefType),
25
32
  formOf: {
26
33
  identifier: h.attributeHeader.attribute.id,
27
34
  name: h.attributeHeader.attributeName,
28
35
  // TODO: TIGER-HACK: Tiger provides no uri
29
36
  uri: "",
30
- ref: idRef(h.attributeHeader.attribute.id, "attribute"),
37
+ ref: idRef(h.attributeHeader.attribute.id, attributeRefType),
31
38
  },
32
39
  localIdentifier: h.attributeHeader.localIdentifier,
33
40
  name: h.attributeHeader.labelName,
@@ -35,7 +42,7 @@ function transformDimension(dim, simpleMeasureRefs, attrTotals) {
35
42
  granularity: h.attributeHeader.granularity,
36
43
  format: h.attributeHeader.format,
37
44
  labelType: convertLabelType(h.attributeHeader.valueType),
38
- primaryLabel: idRef(h.attributeHeader.primaryLabel.id, "displayForm"),
45
+ primaryLabel: idRef(h.attributeHeader.primaryLabel.id, labelRefType),
39
46
  geoAreaConfig,
40
47
  },
41
48
  };
@@ -97,5 +104,6 @@ function getAttrTotals(def) {
97
104
  export function transformResultDimensions(dimensions, def) {
98
105
  const simpleMeasures = def.measures.filter(isSimpleMeasure);
99
106
  const measureRefs = mapValues(keyBy(simpleMeasures, measureLocalId), (m) => measureItem(m));
100
- return dimensions.map((dim) => transformDimension(dim, measureRefs, getAttrTotals(def)));
107
+ const computedAttributeLocalIds = new Set(def.attributes.filter(isComputedAttribute).map(attributeLocalId));
108
+ return dimensions.map((dim) => transformDimension(dim, measureRefs, getAttrTotals(def), computedAttributeLocalIds));
101
109
  }
@@ -566,7 +566,8 @@ function buildDashboardReferences(aacDashboard, references, savedDashboardId) {
566
566
  const filters = data?.filterContext
567
567
  ? convertFilterContextFromBackend(buildFilterContextWrapper(data.filterContext))
568
568
  : undefined;
569
- const insights = references?.visualizations.map((vis) => {
569
+ const vis = [...(references?.visualizations ?? []), ...(references?.new_visualizations ?? [])];
570
+ const insights = vis.map((vis) => {
570
571
  return visualizationObjectsItemToInsight(yamlVisualisationToMetadataObject(entities, vis));
571
572
  }) ?? [];
572
573
  const dashboard = data
@@ -1,4 +1,8 @@
1
1
  import { type JsonApiComputedAttributeInAttributes } from "@gooddata/api-client-tiger";
2
2
  import { type IComputedAttributeMetadataObjectDefinition } from "@gooddata/sdk-model";
3
+ /**
4
+ * Optional fields are sent only when the definition sets them, so the backend keeps applying its
5
+ * own defaults for the rest instead of receiving explicit undefined keys.
6
+ */
3
7
  export declare function convertComputedAttributeToBackend(computedAttribute: IComputedAttributeMetadataObjectDefinition): JsonApiComputedAttributeInAttributes;
4
8
  //# sourceMappingURL=ComputedAttributeConverter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ComputedAttributeConverter.d.ts","sourceRoot":"","sources":["../../../src/convertors/toBackend/ComputedAttributeConverter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,oCAAoC,EAAE,MAAM,4BAA4B,CAAC;AACvF,OAAO,EAAE,KAAK,0CAA0C,EAAE,MAAM,qBAAqB,CAAC;AAEtF,wBAAgB,iCAAiC,CAC7C,iBAAiB,EAAE,0CAA0C,GAC9D,oCAAoC,CAkBtC"}
1
+ {"version":3,"file":"ComputedAttributeConverter.d.ts","sourceRoot":"","sources":["../../../src/convertors/toBackend/ComputedAttributeConverter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,oCAAoC,EAAE,MAAM,4BAA4B,CAAC;AACvF,OAAO,EAAE,KAAK,0CAA0C,EAAE,MAAM,qBAAqB,CAAC;AAItF;;;GAGG;AACH,wBAAgB,iCAAiC,CAC7C,iBAAiB,EAAE,0CAA0C,GAC9D,oCAAoC,CAqBtC"}
@@ -1,20 +1,28 @@
1
1
  // (C) 2026 GoodData Corporation
2
+ import { definedOnly } from "../../utils/definedOnly.js";
3
+ /**
4
+ * Optional fields are sent only when the definition sets them, so the backend keeps applying its
5
+ * own defaults for the rest instead of receiving explicit undefined keys.
6
+ */
2
7
  export function convertComputedAttributeToBackend(computedAttribute) {
3
8
  return {
4
9
  title: computedAttribute.title,
5
10
  description: computedAttribute.description,
6
11
  content: {
7
12
  maql: computedAttribute.expression,
8
- format: computedAttribute.format,
9
- ...(typeof computedAttribute.metricType === "undefined"
10
- ? {}
11
- : { metricType: computedAttribute.metricType }),
13
+ ...definedOnly({
14
+ format: computedAttribute.format,
15
+ metricType: computedAttribute.metricType,
16
+ }),
12
17
  },
13
- tags: computedAttribute.tags,
14
- isHidden: computedAttribute.isHidden,
15
- dataType: computedAttribute.dataType,
16
- isNullable: computedAttribute.isNullable,
17
- nullValue: computedAttribute.nullValue,
18
- locale: computedAttribute.locale,
18
+ ...definedOnly({
19
+ tags: computedAttribute.tags,
20
+ isHidden: computedAttribute.isHidden,
21
+ dataType: computedAttribute.dataType,
22
+ valueType: computedAttribute.valueType,
23
+ isNullable: computedAttribute.isNullable,
24
+ nullValue: computedAttribute.nullValue,
25
+ locale: computedAttribute.locale,
26
+ }),
19
27
  };
20
28
  }
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Returns a copy of the object without the keys whose value is undefined, so optional fields are
3
+ * present on a converted object only when the input actually carried them.
4
+ */
5
+ export declare function definedOnly<T extends object>(obj: T): Partial<T>;
6
+ //# sourceMappingURL=definedOnly.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"definedOnly.d.ts","sourceRoot":"","sources":["../../src/utils/definedOnly.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAEhE"}
@@ -0,0 +1,8 @@
1
+ // (C) 2026 GoodData Corporation
2
+ /**
3
+ * Returns a copy of the object without the keys whose value is undefined, so optional fields are
4
+ * present on a converted object only when the input actually carried them.
5
+ */
6
+ export function definedOnly(obj) {
7
+ return Object.fromEntries(Object.entries(obj).filter(([, value]) => value !== undefined));
8
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gooddata/sdk-backend-tiger",
3
- "version": "11.56.0-alpha.6",
3
+ "version": "11.56.0-alpha.8",
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.56.0-alpha.6",
38
- "@gooddata/sdk-backend-base": "11.56.0-alpha.6",
39
- "@gooddata/sdk-backend-spi": "11.56.0-alpha.6",
40
- "@gooddata/sdk-model": "11.56.0-alpha.6",
41
- "@gooddata/sdk-code-convertors": "11.56.0-alpha.6",
42
- "@gooddata/util": "11.56.0-alpha.6"
37
+ "@gooddata/sdk-backend-spi": "11.56.0-alpha.8",
38
+ "@gooddata/sdk-backend-base": "11.56.0-alpha.8",
39
+ "@gooddata/sdk-model": "11.56.0-alpha.8",
40
+ "@gooddata/api-client-tiger": "11.56.0-alpha.8",
41
+ "@gooddata/sdk-code-convertors": "11.56.0-alpha.8",
42
+ "@gooddata/util": "11.56.0-alpha.8"
43
43
  },
44
44
  "devDependencies": {
45
45
  "@gooddata/fixtures": "3.7.0",
@@ -63,10 +63,10 @@
63
63
  "oxlint-tsgolint": "0.15.0",
64
64
  "typescript": "7.0.2",
65
65
  "vitest": "4.1.8",
66
- "@gooddata/catalog-export": "11.56.0-alpha.6",
67
- "@gooddata/eslint-config": "11.56.0-alpha.6",
68
- "@gooddata/reference-workspace": "11.56.0-alpha.6",
69
- "@gooddata/oxlint-config": "11.56.0-alpha.6"
66
+ "@gooddata/catalog-export": "11.56.0-alpha.8",
67
+ "@gooddata/eslint-config": "11.56.0-alpha.8",
68
+ "@gooddata/reference-workspace": "11.56.0-alpha.8",
69
+ "@gooddata/oxlint-config": "11.56.0-alpha.8"
70
70
  },
71
71
  "scripts": {
72
72
  "_phase:build": "npm run build",