@gooddata/sdk-backend-tiger 11.54.0-alpha.4 → 11.54.0-alpha.6

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 (58) 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 +2 -0
  5. package/esm/backend/uiFeatures.d.ts +7 -1
  6. package/esm/backend/uiFeatures.d.ts.map +1 -1
  7. package/esm/backend/uiFeatures.js +6 -0
  8. package/esm/backend/workspace/catalog/availableItemsFactory.d.ts +7 -0
  9. package/esm/backend/workspace/catalog/availableItemsFactory.d.ts.map +1 -1
  10. package/esm/backend/workspace/catalog/availableItemsFactory.js +36 -6
  11. package/esm/backend/workspace/catalog/catalog.d.ts +2 -1
  12. package/esm/backend/workspace/catalog/catalog.d.ts.map +1 -1
  13. package/esm/backend/workspace/catalog/catalog.js +4 -1
  14. package/esm/backend/workspace/catalog/catalogWithAvailableItems.d.ts +3 -1
  15. package/esm/backend/workspace/catalog/catalogWithAvailableItems.d.ts.map +1 -1
  16. package/esm/backend/workspace/catalog/catalogWithAvailableItems.js +8 -2
  17. package/esm/backend/workspace/catalog/factory.d.ts +1 -0
  18. package/esm/backend/workspace/catalog/factory.d.ts.map +1 -1
  19. package/esm/backend/workspace/catalog/factory.js +20 -3
  20. package/esm/backend/workspace/computedAttributes/computedAttributesQuery.d.ts +27 -0
  21. package/esm/backend/workspace/computedAttributes/computedAttributesQuery.d.ts.map +1 -0
  22. package/esm/backend/workspace/computedAttributes/computedAttributesQuery.js +104 -0
  23. package/esm/backend/workspace/computedAttributes/index.d.ts +17 -0
  24. package/esm/backend/workspace/computedAttributes/index.d.ts.map +1 -0
  25. package/esm/backend/workspace/computedAttributes/index.js +120 -0
  26. package/esm/backend/workspace/genAI/ChatConversations.d.ts +1 -1
  27. package/esm/backend/workspace/genAI/ChatConversations.d.ts.map +1 -1
  28. package/esm/backend/workspace/genAI/ChatConversations.js +6 -4
  29. package/esm/backend/workspace/index.d.ts +2 -1
  30. package/esm/backend/workspace/index.d.ts.map +1 -1
  31. package/esm/backend/workspace/index.js +4 -0
  32. package/esm/backend/workspace/measures/index.d.ts +0 -2
  33. package/esm/backend/workspace/measures/index.d.ts.map +1 -1
  34. package/esm/backend/workspace/measures/index.js +12 -44
  35. package/esm/backend/workspace/measures/measureExpressionTokens.d.ts +14 -1
  36. package/esm/backend/workspace/measures/measureExpressionTokens.d.ts.map +1 -1
  37. package/esm/backend/workspace/measures/measureExpressionTokens.js +60 -0
  38. package/esm/convertors/fromBackend/CatalogConverter.d.ts +3 -2
  39. package/esm/convertors/fromBackend/CatalogConverter.d.ts.map +1 -1
  40. package/esm/convertors/fromBackend/CatalogConverter.js +10 -1
  41. package/esm/convertors/fromBackend/ComputedAttributeConverter.d.ts +13 -0
  42. package/esm/convertors/fromBackend/ComputedAttributeConverter.d.ts.map +1 -0
  43. package/esm/convertors/fromBackend/ComputedAttributeConverter.js +71 -0
  44. package/esm/convertors/fromBackend/MetadataConverter.d.ts +2 -2
  45. package/esm/convertors/fromBackend/MetadataConverter.d.ts.map +1 -1
  46. package/esm/convertors/fromBackend/genAIConvertor.d.ts +1 -1
  47. package/esm/convertors/fromBackend/genAIConvertor.d.ts.map +1 -1
  48. package/esm/convertors/fromBackend/genAIConvertor.js +85 -8
  49. package/esm/convertors/toBackend/ComputedAttributeConverter.d.ts +4 -0
  50. package/esm/convertors/toBackend/ComputedAttributeConverter.d.ts.map +1 -0
  51. package/esm/convertors/toBackend/ComputedAttributeConverter.js +20 -0
  52. package/esm/sdk-backend-tiger.d.ts +2 -1
  53. package/esm/types/index.d.ts +1 -1
  54. package/esm/types/index.d.ts.map +1 -1
  55. package/esm/types/refTypeMapping.d.ts +2 -1
  56. package/esm/types/refTypeMapping.d.ts.map +1 -1
  57. package/esm/types/refTypeMapping.js +3 -0
  58. package/package.json +12 -11
@@ -1 +1 @@
1
- {"version":3,"file":"genAIConvertor.d.ts","sourceRoot":"","sources":["../../../src/convertors/fromBackend/genAIConvertor.ts"],"names":[],"mappings":"AAIA,OAAO,EAGH,KAAK,0BAA0B,EAC/B,KAAK,gCAAgC,EACrC,KAAK,sBAAsB,EAC3B,KAAK,0BAA0B,EAE/B,KAAK,yBAAyB,EAI9B,KAAK,aAAa,EAQrB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAEH,KAAK,iBAAiB,EAEtB,KAAK,sBAAsB,EAE3B,KAAK,gCAAgC,EACrC,KAAK,qBAAqB,EAC1B,KAAK,2BAA2B,EAGhC,KAAK,gBAAgB,EAExB,MAAM,2BAA2B,CAAC;AAgCnC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AACjF,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAIhE,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,cAAc,EAAE,cAAc,EAC9B,MAAM,CAAC,EAAE,gBAAgB,EACzB,QAAQ,CAAC,EAAE,MAAM,GAClB,qBAAqB,GAAG,SAAS,CAuBnC;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,CAMzB;AAuKD,wBAAgB,uCAAuC,CACnD,IAAI,EAAE,OAAO,CAAC;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,EACrE,OAAO,CAAC,EAAE,MAAM,GACjB,sBAAsB,CAQxB;AAED;;;GAGG;AACH,wBAAgB,iDAAiD,CAC7D,IAAI,EAAE,yBAAyB,EAC/B,OAAO,CAAC,EAAE,MAAM,GACjB,gCAAgC,CAgBlC;AAED;;;;GAIG;AACH,wBAAgB,4CAA4C,CACxD,MAAM,EAAE,gCAAgC,GAAG,IAAI,GAAG,SAAS,GAC5D,2BAA2B,GAAG,SAAS,CAgEzC;AA2FD,wBAAgB,oCAAoC,CAChD,IAAI,EAAE,aAAa,GAAG,IAAI,GAAG,SAAS,GACvC,gBAAgB,CAQlB"}
1
+ {"version":3,"file":"genAIConvertor.d.ts","sourceRoot":"","sources":["../../../src/convertors/fromBackend/genAIConvertor.ts"],"names":[],"mappings":"AAKA,OAAO,EAGH,KAAK,0BAA0B,EAC/B,KAAK,gCAAgC,EACrC,KAAK,sBAAsB,EAC3B,KAAK,0BAA0B,EAG/B,KAAK,yBAAyB,EAI9B,KAAK,aAAa,EAQrB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAEH,KAAK,iBAAiB,EAGtB,KAAK,sBAAsB,EAE3B,KAAK,gCAAgC,EACrC,KAAK,qBAAqB,EAC1B,KAAK,2BAA2B,EAGhC,KAAK,gBAAgB,EAExB,MAAM,2BAA2B,CAAC;AAkCnC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AACjF,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAIhE,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;AA8KD,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,8 @@
1
1
  // (C) 2024-2026 GoodData Corporation
2
+ import fastJsonPatch from "fast-json-patch";
2
3
  import { v4 as uuidv4 } from "uuid";
3
4
  import { yamlDashboardToDeclarative, yamlFiltersToDeclarative, yamlVisualisationToMetadataObject, } from "@gooddata/sdk-code-convertors";
4
- import { assertNever, } from "@gooddata/sdk-model";
5
+ import { areObjRefsEqual, assertNever, } from "@gooddata/sdk-model";
5
6
  import { getFormatByGranularity } from "../../utils/dateUtils.js";
6
7
  import { convertMeasure } from "./afm/MeasureConverter.js";
7
8
  import { convertDashboard, convertFilterContextFromBackend, } from "./analyticalDashboards/AnalyticalDashboardConverter.js";
@@ -19,8 +20,8 @@ export function convertChatConversationFromBackend(conversation) {
19
20
  agentId: conversation.agentId ?? undefined,
20
21
  };
21
22
  }
22
- export function convertChatConversationItemFromBackend(item, responses, dateNormalizer, locale, timezone) {
23
- const content = convertChatConversationContentFromBackend(item.content, dateNormalizer, locale, timezone);
23
+ export function convertChatConversationItemFromBackend(item, responses, history, dateNormalizer, locale, timezone) {
24
+ const content = convertChatConversationContentFromBackend(item.content, history, dateNormalizer, locale, timezone);
24
25
  if (!content) {
25
26
  return undefined;
26
27
  }
@@ -42,8 +43,15 @@ export function convertChatConversationItemFromBackend(item, responses, dateNorm
42
43
  };
43
44
  }
44
45
  export function convertChatConversationItemsFromBackend(items, responses, dateNormalizer, locale, timezone) {
46
+ const history = [];
45
47
  return items
46
- .map((item) => convertChatConversationItemFromBackend(item, responses, dateNormalizer, locale, timezone))
48
+ .map((itm) => {
49
+ const item = convertChatConversationItemFromBackend(itm, responses, history, dateNormalizer, locale, timezone);
50
+ if (item) {
51
+ history.push(item);
52
+ }
53
+ return item;
54
+ })
47
55
  .filter((item) => item !== undefined);
48
56
  }
49
57
  function convertChatConversationFeedbackFromBackend(response) {
@@ -58,7 +66,7 @@ function convertChatConversationFeedbackFromBackend(response) {
58
66
  updatedAt: new Date(response.updatedAt).getTime(),
59
67
  };
60
68
  }
61
- function convertChatConversationContentFromBackend(content, dateNormalizer, locale, timezone) {
69
+ function convertChatConversationContentFromBackend(content, history, dateNormalizer, locale, timezone) {
62
70
  switch (content.type) {
63
71
  case "text":
64
72
  return {
@@ -108,16 +116,22 @@ function convertChatConversationContentFromBackend(content, dateNormalizer, loca
108
116
  const dashboard = data
109
117
  ? convertDashboard(buildDashboardWrapper(data.dashboard, data.tabFilterContexts, part.saved_dashboard_id), filters)
110
118
  : null;
111
- const saved = !!part.saved_dashboard_id;
112
119
  return {
113
120
  type: "dashboard",
114
- saved,
115
121
  insights,
122
+ base: part.dashboard,
123
+ saved: part.saved_dashboard_id,
116
124
  dashboard: convertToTemporaryFilterContexts(dashboard),
117
125
  };
118
126
  }
119
127
  case "dashboardPatch": {
120
- return undefined;
128
+ if (!part.patch) {
129
+ return undefined;
130
+ }
131
+ return {
132
+ type: "dashboard",
133
+ ...applyDashboardPatch(history, part.patch),
134
+ };
121
135
  }
122
136
  case "kda":
123
137
  return {
@@ -472,3 +486,66 @@ function asNonPersistedFilterContext(fc) {
472
486
  },
473
487
  };
474
488
  }
489
+ // Apply dashboard patch to the items
490
+ function applyDashboardPatch(items, patch) {
491
+ if (!patch?.dashboard_id) {
492
+ return {
493
+ dashboard: null,
494
+ insights: null,
495
+ };
496
+ }
497
+ const related = collectRelatedItems(items, {
498
+ identifier: patch.dashboard_id,
499
+ type: "analyticalDashboard",
500
+ });
501
+ const last = related[related.length - 1];
502
+ const base = last?.base;
503
+ const saved = last?.saved;
504
+ const previousInsights = last?.insights ?? [];
505
+ if (!base) {
506
+ return {
507
+ dashboard: null,
508
+ insights: null,
509
+ };
510
+ }
511
+ let newDocument = null;
512
+ try {
513
+ const patchResult = fastJsonPatch.applyPatch(base, patch.operations, undefined, false);
514
+ newDocument = patchResult.newDocument;
515
+ }
516
+ catch (e) {
517
+ console.error(e);
518
+ return {
519
+ dashboard: null,
520
+ insights: null,
521
+ patchError: e,
522
+ };
523
+ }
524
+ const data = newDocument ? yamlDashboardToDeclarative([], newDocument) : null;
525
+ const filters = data?.filterContext
526
+ ? convertFilterContextFromBackend(buildFilterContextWrapper(data.filterContext))
527
+ : undefined;
528
+ const insights = patch.references?.visualizations.map((vis) => {
529
+ return visualizationObjectsItemToInsight(yamlVisualisationToMetadataObject([], vis));
530
+ }) ?? [];
531
+ const dashboard = data
532
+ ? convertDashboard(buildDashboardWrapper(data.dashboard, data.tabFilterContexts, saved), filters)
533
+ : null;
534
+ return {
535
+ dashboard: convertToTemporaryFilterContexts(dashboard),
536
+ insights: [...previousInsights, ...insights],
537
+ };
538
+ }
539
+ function collectRelatedItems(items, ref) {
540
+ const related = [];
541
+ items.forEach((item) => {
542
+ if (item.content.type === "multipart") {
543
+ item.content.parts.forEach((part) => {
544
+ if (part.type === "dashboard" && part.dashboard && areObjRefsEqual(part.dashboard.ref, ref)) {
545
+ related.push(part);
546
+ }
547
+ });
548
+ }
549
+ });
550
+ return related;
551
+ }
@@ -0,0 +1,4 @@
1
+ import { type JsonApiComputedAttributeInAttributes } from "@gooddata/api-client-tiger";
2
+ import { type IComputedAttributeMetadataObjectDefinition } from "@gooddata/sdk-model";
3
+ export declare function convertComputedAttributeToBackend(computedAttribute: IComputedAttributeMetadataObjectDefinition): JsonApiComputedAttributeInAttributes;
4
+ //# sourceMappingURL=ComputedAttributeConverter.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,20 @@
1
+ // (C) 2026 GoodData Corporation
2
+ export function convertComputedAttributeToBackend(computedAttribute) {
3
+ return {
4
+ title: computedAttribute.title,
5
+ description: computedAttribute.description,
6
+ content: {
7
+ maql: computedAttribute.expression,
8
+ format: computedAttribute.format,
9
+ ...(typeof computedAttribute.metricType === "undefined"
10
+ ? {}
11
+ : { metricType: computedAttribute.metricType }),
12
+ },
13
+ tags: computedAttribute.tags,
14
+ isHidden: computedAttribute.isHidden,
15
+ dataType: computedAttribute.dataType,
16
+ isNullable: computedAttribute.isNullable,
17
+ nullValue: computedAttribute.nullValue,
18
+ locale: computedAttribute.locale,
19
+ };
20
+ }
@@ -549,6 +549,7 @@ export declare const convertVisualizationContentToInsight: (content: object, met
549
549
  attributeHierarchy: TigerObjectType;
550
550
  automation: TigerObjectType;
551
551
  colorPalette: TigerObjectType;
552
+ computedAttribute: TigerObjectType;
552
553
  dashboardPlugin: TigerObjectType;
553
554
  dataSet: TigerObjectType;
554
555
  dateAttributeHierarchy: TigerObjectType;
@@ -637,7 +638,7 @@ export declare const convertVisualizationContentToInsight: (content: object, met
637
638
  *
638
639
  * @public
639
640
  */
640
- export declare type TigerAfmType = "label" | "metric" | "dataset" | "fact" | "attribute" | "prompt";
641
+ export declare type TigerAfmType = "label" | "metric" | "dataset" | "fact" | "attribute" | "computedAttribute" | "prompt";
641
642
 
642
643
  /**
643
644
  * Base for other IAuthenticationProvider implementations.
@@ -12,7 +12,7 @@ export type TigerAuthenticatedCallGuard = AuthenticatedCallGuard<ITigerClientBas
12
12
  *
13
13
  * @public
14
14
  */
15
- export type TigerAfmType = "label" | "metric" | "dataset" | "fact" | "attribute" | "prompt";
15
+ export type TigerAfmType = "label" | "metric" | "dataset" | "fact" | "attribute" | "computedAttribute" | "prompt";
16
16
  /**
17
17
  * Tiger metadata types
18
18
  *
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,KAAK,0BAA0B,EAC/B,KAAK,gBAAgB,EACrB,KAAK,8CAA8C,EACtD,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,EAAE,KAAK,iBAAiB,EAAE,KAAK,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAE7F;;;;GAIG;AACH,MAAM,MAAM,2BAA2B,GAAG,sBAAsB,CAAC,gBAAgB,CAAC,CAAC;AAEnF;;;;GAIG;AACH,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,WAAW,GAAG,QAAQ,CAAC;AAE5F;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GACvB,qBAAqB,GACrB,qBAAqB,GACrB,eAAe,GACf,iBAAiB,GACjB,WAAW,CAAC;AAElB;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG,YAAY,GAAG,iBAAiB,CAAC;AAE/D,MAAM,MAAM,YAAY,GAAG;IACvB,CAAC,KAAK,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAAC;CACxC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC5B,OAAO,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC9B,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,yBAAyB,EAAE,CAAC,CAAC;IAC9D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,MAAM,iBAAiB,GAAG,0BAA0B,CAAC;AAC3D,MAAM,MAAM,oBAAoB,GAAG,8CAA8C,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,KAAK,0BAA0B,EAC/B,KAAK,gBAAgB,EACrB,KAAK,8CAA8C,EACtD,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,EAAE,KAAK,iBAAiB,EAAE,KAAK,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAE7F;;;;GAIG;AACH,MAAM,MAAM,2BAA2B,GAAG,sBAAsB,CAAC,gBAAgB,CAAC,CAAC;AAEnF;;;;GAIG;AACH,MAAM,MAAM,YAAY,GAClB,OAAO,GACP,QAAQ,GACR,SAAS,GACT,MAAM,GACN,WAAW,GACX,mBAAmB,GACnB,QAAQ,CAAC;AAEf;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GACvB,qBAAqB,GACrB,qBAAqB,GACrB,eAAe,GACf,iBAAiB,GACjB,WAAW,CAAC;AAElB;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG,YAAY,GAAG,iBAAiB,CAAC;AAE/D,MAAM,MAAM,YAAY,GAAG;IACvB,CAAC,KAAK,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAAC;CACxC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC5B,OAAO,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC9B,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,yBAAyB,EAAE,CAAC,CAAC;IAC9D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,MAAM,iBAAiB,GAAG,0BAA0B,CAAC;AAC3D,MAAM,MAAM,oBAAoB,GAAG,8CAA8C,CAAC"}
@@ -7,7 +7,7 @@ export type TigerCompatibleObjectType = Exclude<ObjectType, "tag">;
7
7
  /**
8
8
  * @alpha
9
9
  */
10
- export type TigerAfmCompatibleObjectType = Extract<TigerCompatibleObjectType, "attribute" | "measure" | "displayForm" | "dataSet" | "fact" | "variable">;
10
+ export type TigerAfmCompatibleObjectType = Extract<TigerCompatibleObjectType, "attribute" | "computedAttribute" | "measure" | "displayForm" | "dataSet" | "fact" | "variable">;
11
11
  /**
12
12
  * @alpha
13
13
  */
@@ -23,6 +23,7 @@ export declare const objectTypeToTigerIdType: {
23
23
  attributeHierarchy: TigerObjectType;
24
24
  automation: TigerObjectType;
25
25
  colorPalette: TigerObjectType;
26
+ computedAttribute: TigerObjectType;
26
27
  dashboardPlugin: TigerObjectType;
27
28
  dataSet: TigerObjectType;
28
29
  dateAttributeHierarchy: TigerObjectType;
@@ -1 +1 @@
1
- {"version":3,"file":"refTypeMapping.d.ts","sourceRoot":"","sources":["../../src/types/refTypeMapping.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC;AAErE;;GAEG;AACH,MAAM,MAAM,yBAAyB,GAAG,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;AAEnE;;GAEG;AACH,MAAM,MAAM,4BAA4B,GAAG,OAAO,CAC9C,yBAAyB,EACzB,WAAW,GAAG,SAAS,GAAG,aAAa,GAAG,SAAS,GAAG,MAAM,GAAG,UAAU,CAC5E,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,uBAAuB,EAAE;KACjC,SAAS,IAAI,eAAe,GAAG,yBAAyB;CAa5D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAEnC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,4BAA4B,EAAE,YAAY,CAOvF,CAAC;AAMF;;GAEG;AACH,eAAO,MAAM,qBAAqB,0CAEjC,CAAC;AAEF,eAAO,MAAM,wBAAwB,uDAEpC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,0CAEvB,CAAC"}
1
+ {"version":3,"file":"refTypeMapping.d.ts","sourceRoot":"","sources":["../../src/types/refTypeMapping.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC;AAErE;;GAEG;AACH,MAAM,MAAM,yBAAyB,GAAG,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;AAEnE;;GAEG;AACH,MAAM,MAAM,4BAA4B,GAAG,OAAO,CAC9C,yBAAyB,EACzB,WAAW,GAAG,mBAAmB,GAAG,SAAS,GAAG,aAAa,GAAG,SAAS,GAAG,MAAM,GAAG,UAAU,CAClG,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,uBAAuB,EAAE;KACjC,SAAS,IAAI,eAAe,GAAG,yBAAyB;CAc5D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAEnC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,4BAA4B,EAAE,YAAY,CASvF,CAAC;AAMF;;GAEG;AACH,eAAO,MAAM,qBAAqB,0CAEjC,CAAC;AAEF,eAAO,MAAM,wBAAwB,uDAEpC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,0CAEvB,CAAC"}
@@ -5,6 +5,7 @@ import { invert, isEmpty } from "lodash-es";
5
5
  */
6
6
  export const tigerIdTypeToObjectType = {
7
7
  attribute: "attribute",
8
+ computedAttribute: "computedAttribute",
8
9
  metric: "measure",
9
10
  label: "displayForm",
10
11
  dataset: "dataSet",
@@ -25,6 +26,8 @@ export const objectTypeToTigerIdType = invert(tigerIdTypeToObjectType);
25
26
  */
26
27
  export const objectTypeToTigerAfmType = {
27
28
  attribute: "attribute",
29
+ // a computed attribute is referenced by its own type, not as a label - it has no real labels
30
+ computedAttribute: "computedAttribute",
28
31
  measure: "metric",
29
32
  displayForm: "label",
30
33
  dataSet: "dataset",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gooddata/sdk-backend-tiger",
3
- "version": "11.54.0-alpha.4",
3
+ "version": "11.54.0-alpha.6",
4
4
  "description": "GoodData Backend SPI implementation for GoodData Cloud and GoodData.CN",
5
5
  "license": "MIT",
6
6
  "author": "GoodData",
@@ -27,18 +27,19 @@
27
27
  "date-fns-tz": "^3.2.0",
28
28
  "eventsource-parser": "~3.0.0",
29
29
  "exponential-backoff": "^3.1.1",
30
+ "fast-json-patch": "^3.1.1",
30
31
  "lodash-es": "^4.17.23",
31
32
  "lru-cache": "11.1.0",
32
33
  "spark-md5": "^3.0.0",
33
34
  "ts-invariant": "0.10.3",
34
35
  "tslib": "2.8.1",
35
36
  "uuid": "11.1.1",
36
- "@gooddata/api-client-tiger": "11.54.0-alpha.4",
37
- "@gooddata/sdk-backend-spi": "11.54.0-alpha.4",
38
- "@gooddata/sdk-model": "11.54.0-alpha.4",
39
- "@gooddata/sdk-backend-base": "11.54.0-alpha.4",
40
- "@gooddata/sdk-code-convertors": "11.54.0-alpha.4",
41
- "@gooddata/util": "11.54.0-alpha.4"
37
+ "@gooddata/api-client-tiger": "11.54.0-alpha.6",
38
+ "@gooddata/sdk-backend-spi": "11.54.0-alpha.6",
39
+ "@gooddata/sdk-backend-base": "11.54.0-alpha.6",
40
+ "@gooddata/sdk-code-convertors": "11.54.0-alpha.6",
41
+ "@gooddata/sdk-model": "11.54.0-alpha.6",
42
+ "@gooddata/util": "11.54.0-alpha.6"
42
43
  },
43
44
  "devDependencies": {
44
45
  "@gooddata/fixtures": "3.7.0",
@@ -65,10 +66,10 @@
65
66
  "oxlint-tsgolint": "0.15.0",
66
67
  "typescript": "5.9.3",
67
68
  "vitest": "4.1.8",
68
- "@gooddata/catalog-export": "11.54.0-alpha.4",
69
- "@gooddata/eslint-config": "11.54.0-alpha.4",
70
- "@gooddata/oxlint-config": "11.54.0-alpha.4",
71
- "@gooddata/reference-workspace": "11.54.0-alpha.4"
69
+ "@gooddata/eslint-config": "11.54.0-alpha.6",
70
+ "@gooddata/oxlint-config": "11.54.0-alpha.6",
71
+ "@gooddata/reference-workspace": "11.54.0-alpha.6",
72
+ "@gooddata/catalog-export": "11.54.0-alpha.6"
72
73
  },
73
74
  "scripts": {
74
75
  "_phase:build": "npm run build",