@gooddata/sdk-backend-tiger 11.65.0-alpha.13 → 11.65.0-alpha.14
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/README.md +1 -1
- package/esm/__version.d.ts +1 -1
- package/esm/__version.js +1 -1
- package/esm/backend/localization/aggregate.d.ts.map +1 -1
- package/esm/backend/localization/aggregate.js +40 -23
- package/esm/backend/uiFeatures.d.ts +4 -4
- package/esm/backend/uiFeatures.d.ts.map +1 -1
- package/esm/backend/uiFeatures.js +1 -1
- package/esm/convertors/fromBackend/genAIConvertor.d.ts +1 -1
- package/esm/convertors/fromBackend/genAIConvertor.d.ts.map +1 -1
- package/esm/convertors/fromBackend/genAIConvertor.js +56 -31
- package/package.json +11 -11
package/README.md
CHANGED
|
@@ -17,6 +17,6 @@ https://gooddata.atlassian.net/wiki/spaces/Quality/pages/1454276716/Play+with+sd
|
|
|
17
17
|
|
|
18
18
|
## License
|
|
19
19
|
|
|
20
|
-
(C) 2017-
|
|
20
|
+
(C) 2017-2026 GoodData Corporation
|
|
21
21
|
|
|
22
22
|
This project is under MIT License. See [LICENSE](https://github.com/gooddata/gooddata-ui-sdk/blob/master/libs/sdk-backend-tiger/LICENSE).
|
package/esm/__version.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare const LIB_VERSION = "11.65.0-alpha.
|
|
1
|
+
export declare const LIB_VERSION = "11.65.0-alpha.14";
|
|
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.65.0-alpha.
|
|
3
|
+
export const LIB_VERSION = "11.65.0-alpha.14";
|
|
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":"aggregate.d.ts","sourceRoot":"","sources":["../../../src/backend/localization/aggregate.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,KAAK,sBAAsB,EAC3B,KAAK,0BAA0B,EAC/B,KAAK,uBAAuB,EAC5B,KAAK,gCAAgC,EAErC,KAAK,6BAA6B,EAElC,KAAK,kBAAkB,EAEvB,KAAK,2BAA2B,EAChC,KAAK,sBAAsB,EAC3B,KAAK,2BAA2B,EAEhC,KAAK,uBAAuB,EAC5B,KAAK,iCAAiC,EAEtC,KAAK,uBAAuB,EAC/B,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAEH,KAAK,cAAc,EACnB,KAAK,iBAAiB,EAEzB,MAAM,cAAc,CAAC;AAYtB,KAAK,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,uBAAuB,EAAE,0BAA0B,CAAC,CAAC,CAAC;AAM7F,MAAM,WAAW,WAAW;IACxB,UAAU,EAAE,iBAAiB,EAAE,CAAC;IAChC,MAAM,EAAE,KAAK,CAAC,cAAc,GAAG;QAAE,QAAQ,EAAE,gBAAgB,CAAA;KAAE,CAAC,CAAC;IAC/D;;OAEG;IACH,cAAc,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7C;;OAEG;IACH,iBAAiB,CAAC,EAAE,CAChB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,iCAAiC,KACzC,WAAW,CAAC,MAAM,CAAC,CAAC;CAC5B;
|
|
1
|
+
{"version":3,"file":"aggregate.d.ts","sourceRoot":"","sources":["../../../src/backend/localization/aggregate.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,KAAK,sBAAsB,EAC3B,KAAK,0BAA0B,EAC/B,KAAK,uBAAuB,EAC5B,KAAK,gCAAgC,EAErC,KAAK,6BAA6B,EAElC,KAAK,kBAAkB,EAEvB,KAAK,2BAA2B,EAChC,KAAK,sBAAsB,EAC3B,KAAK,2BAA2B,EAEhC,KAAK,uBAAuB,EAC5B,KAAK,iCAAiC,EAEtC,KAAK,uBAAuB,EAC/B,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAEH,KAAK,cAAc,EACnB,KAAK,iBAAiB,EAEzB,MAAM,cAAc,CAAC;AAYtB,KAAK,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,uBAAuB,EAAE,0BAA0B,CAAC,CAAC,CAAC;AAM7F,MAAM,WAAW,WAAW;IACxB,UAAU,EAAE,iBAAiB,EAAE,CAAC;IAChC,MAAM,EAAE,KAAK,CAAC,cAAc,GAAG;QAAE,QAAQ,EAAE,gBAAgB,CAAA;KAAE,CAAC,CAAC;IAC/D;;OAEG;IACH,cAAc,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7C;;OAEG;IACH,iBAAiB,CAAC,EAAE,CAChB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,iCAAiC,KACzC,WAAW,CAAC,MAAM,CAAC,CAAC;CAC5B;AA2ED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,WAAW,GAAG,6BAA6B,CA4ClF;AAED,wBAAgB,mBAAmB,CAC/B,UAAU,EAAE,iBAAiB,EAAE,EAC/B,UAAU,EAAE,gCAAgC,EAAE,GAC/C,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,iCAAiC,KAAK,WAAW,CAAC,MAAM,CAAC,CAkB1F;AAgCD,wBAAgB,SAAS,CAAC,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,KAAK,GAAG,WAAW,GAAG,kBAAkB,CAgDzG;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,UAAU,EAAE,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,GAAG,OAAO,CAGpG;AAED,wBAAgB,OAAO,CACnB,QAAQ,EAAE,gBAAgB,EAC1B,KAAK,EAAE,2BAA2B,GACnC,uBAAuB,GAAG,SAAS,CAcrC;AAED,wBAAgB,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,sBAAsB,GAAG,CAAC,EAAE,CAItE;AAgBD,wBAAgB,eAAe,CAC3B,KAAK,EAAE,WAAW,EAClB,KAAK,EAAE,2BAA2B,GACnC;IAAE,UAAU,EAAE,2BAA2B,EAAE,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CA4BnE;AAED,wBAAgB,UAAU,CACtB,KAAK,EAAE,WAAW,EAClB,KAAK,EAAE,2BAA2B,GACnC;IAAE,KAAK,EAAE,sBAAsB,EAAE,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAqBzD;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,gCAAgC,EAAE,GAAG,uBAAuB,CAYnG;AAED,wBAAgB,cAAc,CAC1B,IAAI,EAAE,gCAAgC,EAAE,EACxC,KAAK,EAAE,sBAAsB,GAC9B;IAAE,UAAU,EAAE,gCAAgC,EAAE,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAExE;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,cAAc,GAAG,gBAAgB,CAIpE;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,iBAAiB,GAAG,gBAAgB,CAOxG"}
|
|
@@ -10,24 +10,53 @@ const SOURCE_STRENGTH = [
|
|
|
10
10
|
];
|
|
11
11
|
const DEFAULT_PAGE_SIZE = 100;
|
|
12
12
|
const TRANSLATED_SETTINGS = ["METADATA_LOCALE", "DATA_LOCALE"];
|
|
13
|
-
const
|
|
13
|
+
const TRANSLATION_USAGE_SETTINGS = ["LOCALE", ...TRANSLATED_SETTINGS];
|
|
14
|
+
function isEnglish(code) {
|
|
15
|
+
return code === "en" || code.startsWith("en-");
|
|
16
|
+
}
|
|
17
|
+
function languageOf(code) {
|
|
18
|
+
try {
|
|
19
|
+
return new Intl.Locale(code).language;
|
|
20
|
+
}
|
|
21
|
+
catch {
|
|
22
|
+
return undefined;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
function hasSameLanguage(locales, code) {
|
|
26
|
+
const language = languageOf(code);
|
|
27
|
+
return !!language && [...locales].some((locale) => languageOf(locale) === language);
|
|
28
|
+
}
|
|
14
29
|
// Workspaces outside the scope still count for the people who can open them.
|
|
15
30
|
function translationState(scope, settings, workspaceIds, value, setting) {
|
|
16
|
-
|
|
31
|
+
if (isEnglish(value)) {
|
|
32
|
+
return undefined;
|
|
33
|
+
}
|
|
34
|
+
const localesOf = (workspaceId, translated) => scope.translatedLocales?.(workspaceId, translated) ?? new Set();
|
|
35
|
+
if (setting === "LOCALE") {
|
|
36
|
+
return settings.LOCALE?.content.value === value &&
|
|
37
|
+
workspaceIds.some((workspaceId) => !localesOf(workspaceId, "METADATA_LOCALE").has(value))
|
|
38
|
+
? "missing"
|
|
39
|
+
: undefined;
|
|
40
|
+
}
|
|
17
41
|
if (settings[setting]?.content.value === value) {
|
|
18
|
-
|
|
42
|
+
const untranslated = workspaceIds.filter((workspaceId) => !localesOf(workspaceId, setting).has(value));
|
|
43
|
+
if (untranslated.length === 0) {
|
|
44
|
+
return undefined;
|
|
45
|
+
}
|
|
46
|
+
return untranslated.every((workspaceId) => hasSameLanguage(localesOf(workspaceId, setting), value))
|
|
47
|
+
? "variant"
|
|
48
|
+
: "missing";
|
|
19
49
|
}
|
|
20
50
|
if (settings.LOCALE?.content.value === value) {
|
|
21
|
-
return workspaceIds.some(
|
|
51
|
+
return workspaceIds.some((workspaceId) => localesOf(workspaceId, setting).has(value))
|
|
52
|
+
? "available"
|
|
53
|
+
: undefined;
|
|
22
54
|
}
|
|
23
55
|
return undefined;
|
|
24
56
|
}
|
|
25
|
-
function isTranslationSetting(setting) {
|
|
26
|
-
return setting === "METADATA_LOCALE" || setting === "DATA_LOCALE";
|
|
27
|
-
}
|
|
28
57
|
function matchesTranslation(scope, settings, workspaceIds, query) {
|
|
29
58
|
const { value, setting } = query;
|
|
30
|
-
if (value === undefined ||
|
|
59
|
+
if (value === undefined || setting === undefined) {
|
|
31
60
|
return undefined;
|
|
32
61
|
}
|
|
33
62
|
return translationState(scope, settings, workspaceIds, value, setting) === query.translation
|
|
@@ -42,11 +71,8 @@ export function translationUsage(scope) {
|
|
|
42
71
|
entry = { content: { value }, bySetting: {} };
|
|
43
72
|
entries.set(value, entry);
|
|
44
73
|
}
|
|
45
|
-
const bySetting = (entry.bySetting[setting] ??= {
|
|
46
|
-
|
|
47
|
-
available: { workspaces: 0, users: 0 },
|
|
48
|
-
});
|
|
49
|
-
return bySetting[state];
|
|
74
|
+
const bySetting = (entry.bySetting[setting] ??= {});
|
|
75
|
+
return (bySetting[state] ??= { workspaces: 0, users: 0 });
|
|
50
76
|
};
|
|
51
77
|
const subjects = [
|
|
52
78
|
...scope.workspaces.map((workspace) => ({
|
|
@@ -65,7 +91,7 @@ export function translationUsage(scope) {
|
|
|
65
91
|
.map((setting) => setting?.content.value)
|
|
66
92
|
.filter((value) => !!value));
|
|
67
93
|
for (const value of values) {
|
|
68
|
-
for (const setting of
|
|
94
|
+
for (const setting of TRANSLATION_USAGE_SETTINGS) {
|
|
69
95
|
const state = translationState(scope, subject.settings, subject.workspaceIds, value, setting);
|
|
70
96
|
if (state) {
|
|
71
97
|
countOf(value, setting, state)[subject.kind] += 1;
|
|
@@ -73,15 +99,6 @@ export function translationUsage(scope) {
|
|
|
73
99
|
}
|
|
74
100
|
}
|
|
75
101
|
}
|
|
76
|
-
for (const entry of entries.values()) {
|
|
77
|
-
for (const setting of TRANSLATED_SETTINGS) {
|
|
78
|
-
const counts = entry.bySetting[setting];
|
|
79
|
-
if (counts &&
|
|
80
|
-
TRANSLATION_STATES.every((state) => counts[state].workspaces + counts[state].users === 0)) {
|
|
81
|
-
delete entry.bySetting[setting];
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
102
|
return { values: [...entries.values()] };
|
|
86
103
|
}
|
|
87
104
|
export function translatedLocalesOf(workspaces, statistics) {
|
|
@@ -340,10 +340,6 @@ export declare const TigerFeatureDefinitions: {
|
|
|
340
340
|
type: "BOOLEAN";
|
|
341
341
|
defaultValue: boolean;
|
|
342
342
|
};
|
|
343
|
-
readonly enableShellApplication_dashboards: {
|
|
344
|
-
type: "BOOLEAN";
|
|
345
|
-
defaultValue: boolean;
|
|
346
|
-
};
|
|
347
343
|
readonly enableLogicalModelExtensionsFromParentsCall: {
|
|
348
344
|
type: "BOOLEAN";
|
|
349
345
|
defaultValue: boolean;
|
|
@@ -528,6 +524,10 @@ export declare const TigerFeatureDefinitions: {
|
|
|
528
524
|
type: "BOOLEAN";
|
|
529
525
|
defaultValue: boolean;
|
|
530
526
|
};
|
|
527
|
+
readonly enableLocalizationValidations: {
|
|
528
|
+
type: "BOOLEAN";
|
|
529
|
+
defaultValue: boolean;
|
|
530
|
+
};
|
|
531
531
|
};
|
|
532
532
|
export type ITigerFeatureFlags = {
|
|
533
533
|
-readonly [Key in keyof typeof TigerFeatureDefinitions]: (typeof TigerFeatureDefinitions)[Key]["defaultValue"];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uiFeatures.d.ts","sourceRoot":"","sources":["../../src/backend/uiFeatures.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,0BAA0B,EAAE,KAAK,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAOtG,eAAO,MAAM,uBAAuB;aAChC,2BAA2B;cAL4B,SAAS;;;aAMhE,4BAA4B;;;;aAC5B,uBAAuB;;;;aACvB,4CAA4C;;;;aAC5C,8BAA8B;;;;aAC9B,6BAA6B;;;;aAC7B,4BAA4B;;;;aAC5B,gBAAgB;;;;aAChB,gBAAgB;;;;aAChB,oBAAoB;;;;aACpB,oBAAoB;;;;aACpB,wBAAwB;;;;aACxB,2BAA2B;;;;aAC3B,qBAAqB;;;;aACrB,uBAAuB;;;;aACvB,sBAAsB;;;;aACtB,cAAc;;;;aACd,0BAA0B;;;;aAC1B,yBAAyB;;;;aACzB,2BAA2B;;;;aAC3B,sBAAsB;;;;aACtB,qBAAqB;;;;aACrB,0BAA0B;;;;aAC1B,oBAAoB;;;;aACpB,oBAAoB;;;;aACpB,+BAA+B;;;;aAC/B,gCAAgC;;;;aAChC,gCAAgC;;;;aAChC,qBAAqB;;;;aACrB,4BAA4B;;;;aAC5B,mBAAmB;;;;aACnB,4BAA4B;;;;aAC5B,iBAAiB;;;;aACjB,6BAA6B;;;;aAC7B,4BAA4B;;;;aAC5B,gCAAgC;;;;aAChC,uCAAuC;;;;aACvC,gBAAgB;;;;aAChB,6BAA6B;;;;aAC7B,8BAA8B;;;;aAC9B,uCAAuC;;;;aACvC,wCAAwC;;;;aACxC,iCAAiC;;;;aACjC,yBAAyB;;;;aACzB,qDAAqD;;;;aACrD,wCAAwC;;;;aACxC,iCAAiC;;;;aACjC,sBAAsB;;;;aACtB,6BAA6B;;;;aAC7B,oCAAoC;;;;aACpC,8BAA8B;;;;aAC9B,+BAA+B;;;;aAC/B,kBAAkB;cAvDgC,MAAM;;;aAwDxD,4BAA4B;;;;aAC5B,mBAAmB;;;;aACnB,qBAAqB;;;;aACrB,2BAA2B;;;;aAC3B,mCAAmC;;;;aACnC,mBAAmB;;;;aACnB,aAAa;;;;aACb,SAAS;;;;aACT,8BAA8B;;;;aAC9B,qBAAqB;;;;aACrB,6BAA6B;;;;aAC7B,sCAAsC;;;;aACtC,sBAAsB;;;;aACtB,yBAAyB;;;;aACzB,+BAA+B;;;;aAC/B,oBAAoB;;;;aACpB,iBAAiB;;;;aACjB,sBAAsB;;;;aACtB,mBAAmB;;;;aACnB,iBAAiB;cA5EqC,QAAQ;;;aA6E9D,2BAA2B;;;;aAC3B,mCAAmC;;;;aACnC,mBAAmB;;;;aACnB,0BAA0B;;;;aAC1B,qBAAqB;;;;aACrB,yBAAyB;;;;aACzB,8BAA8B;;;;aAC9B,2BAA2B;;;;aAC3B,uBAAuB;;;;aACvB,0BAA0B;;;;aAC1B,kCAAkC;;;;aAClC,sBAAsB;;;;aACtB,
|
|
1
|
+
{"version":3,"file":"uiFeatures.d.ts","sourceRoot":"","sources":["../../src/backend/uiFeatures.ts"],"names":[],"mappings":"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"}
|
|
@@ -89,7 +89,6 @@ export const TigerFeatureDefinitions = {
|
|
|
89
89
|
enableMeasureValueFilterKD: booleanFeature(true),
|
|
90
90
|
enableVisualizationFilteringByTags: booleanFeature(false),
|
|
91
91
|
enableShellApplication: booleanFeature(true),
|
|
92
|
-
enableShellApplication_dashboards: booleanFeature(true),
|
|
93
92
|
enableLogicalModelExtensionsFromParentsCall: booleanFeature(false),
|
|
94
93
|
enableDashboardDensitySetting: booleanFeature(false),
|
|
95
94
|
enableDashboardsSearch: booleanFeature(false),
|
|
@@ -136,6 +135,7 @@ export const TigerFeatureDefinitions = {
|
|
|
136
135
|
earlyAccessFeatures: jsonFeature(),
|
|
137
136
|
enableAnalyticalDesignerCatalogSideload: booleanFeature(false),
|
|
138
137
|
enableAiAssistantEmbedding: booleanFeature(false),
|
|
138
|
+
enableLocalizationValidations: booleanFeature(false),
|
|
139
139
|
};
|
|
140
140
|
export const DefaultFeatureFlags = Object.fromEntries(Object.entries(TigerFeatureDefinitions).map(([key, definition]) => [key, definition.defaultValue]));
|
|
141
141
|
/**
|
|
@@ -3,7 +3,7 @@ import { type IChatConversation, type IChatConversationError, type IChatConversa
|
|
|
3
3
|
import type { FormattingLocale } from "./dateFormatting/defaultDateFormatter.js";
|
|
4
4
|
import { type DateNormalizer } from "./dateFormatting/types.js";
|
|
5
5
|
export declare function convertChatConversationFromBackend(conversation: AiConversationResponse): IChatConversation;
|
|
6
|
-
export declare function convertChatConversationItemFromBackend(item: AiConversationItemResponse, responses: AiConversationResponseList["responses"] | undefined, history: IChatConversationItem[], dateNormalizer: DateNormalizer, locale?: FormattingLocale, timezone?: string): IChatConversationItem | undefined;
|
|
6
|
+
export declare function convertChatConversationItemFromBackend(item: AiConversationItemResponse, responses: AiConversationResponseList["responses"] | undefined, history: (IChatConversationItem | IChatConversationError)[], dateNormalizer: DateNormalizer, locale?: FormattingLocale, timezone?: string): IChatConversationItem | IChatConversationError | undefined;
|
|
7
7
|
export declare function convertChatConversationItemsFromBackend(items: AiConversationItemResponse[], responses: AiConversationResponseList["responses"] | undefined, dateNormalizer: DateNormalizer, locale?: FormattingLocale, timezone?: string): IChatConversationItem[];
|
|
8
8
|
export declare function convertChatConversationErrorFromBackend(item: Partial<{
|
|
9
9
|
statusCode: number;
|
|
@@ -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,EAK/B,KAAK,yBAAyB,EAM9B,KAAK,aAAa,EAUrB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAEH,KAAK,iBAAiB,EAGtB,KAAK,sBAAsB,EAE3B,KAAK,gCAAgC,EACrC,KAAK,qBAAqB,EAC1B,KAAK,2BAA2B,EAIhC,KAAK,gBAAgB,EAExB,MAAM,2BAA2B,CAAC;AAyCnC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AACjF,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAMhE,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,
|
|
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,EAM9B,KAAK,aAAa,EAUrB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAEH,KAAK,iBAAiB,EAGtB,KAAK,sBAAsB,EAE3B,KAAK,gCAAgC,EACrC,KAAK,qBAAqB,EAC1B,KAAK,2BAA2B,EAIhC,KAAK,gBAAgB,EAExB,MAAM,2BAA2B,CAAC;AAyCnC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AACjF,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAMhE,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,CAAC,qBAAqB,GAAG,sBAAsB,CAAC,EAAE,EAC3D,cAAc,EAAE,cAAc,EAC9B,MAAM,CAAC,EAAE,gBAAgB,EACzB,QAAQ,CAAC,EAAE,MAAM,GAClB,qBAAqB,GAAG,sBAAsB,GAAG,SAAS,CAuC5D;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;AAwOD,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"}
|
|
@@ -23,26 +23,37 @@ export function convertChatConversationFromBackend(conversation) {
|
|
|
23
23
|
};
|
|
24
24
|
}
|
|
25
25
|
export function convertChatConversationItemFromBackend(item, responses, history, dateNormalizer, locale, timezone) {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
26
|
+
try {
|
|
27
|
+
const content = convertChatConversationContentFromBackend(item.content, history, dateNormalizer, locale, timezone);
|
|
28
|
+
if (!content) {
|
|
29
|
+
return undefined;
|
|
30
|
+
}
|
|
31
|
+
const response = responses?.find((r) => r.responseId === item.responseId);
|
|
32
|
+
return {
|
|
33
|
+
type: "item",
|
|
34
|
+
id: item.itemId,
|
|
35
|
+
role: item.role,
|
|
36
|
+
responseId: item.responseId ?? "",
|
|
37
|
+
replyTo: item.replyTo ?? undefined,
|
|
38
|
+
createdAt: new Date(item.createdAt).getTime(),
|
|
39
|
+
feedback: convertChatConversationFeedbackFromBackend(response),
|
|
40
|
+
content,
|
|
41
|
+
stepId: item.stepId ?? undefined,
|
|
42
|
+
detail: convertChatConversationItemDetailFromBackend(item.detail),
|
|
43
|
+
agentId: item.newAgentId ?? undefined,
|
|
44
|
+
oldAgentId: item.oldAgentId ?? undefined,
|
|
45
|
+
reasoningEffort: item.reasoningEffort ?? undefined,
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
catch (e) {
|
|
49
|
+
const error = e;
|
|
50
|
+
console.error("Failed to convert conversation item", item.itemId, e);
|
|
51
|
+
return {
|
|
52
|
+
type: "error",
|
|
53
|
+
code: 0,
|
|
54
|
+
message: error.message,
|
|
55
|
+
};
|
|
29
56
|
}
|
|
30
|
-
const response = responses?.find((r) => r.responseId === item.responseId);
|
|
31
|
-
return {
|
|
32
|
-
type: "item",
|
|
33
|
-
id: item.itemId,
|
|
34
|
-
role: item.role,
|
|
35
|
-
responseId: item.responseId ?? "",
|
|
36
|
-
replyTo: item.replyTo ?? undefined,
|
|
37
|
-
createdAt: new Date(item.createdAt).getTime(),
|
|
38
|
-
feedback: convertChatConversationFeedbackFromBackend(response),
|
|
39
|
-
content,
|
|
40
|
-
stepId: item.stepId ?? undefined,
|
|
41
|
-
detail: convertChatConversationItemDetailFromBackend(item.detail),
|
|
42
|
-
agentId: item.newAgentId ?? undefined,
|
|
43
|
-
oldAgentId: item.oldAgentId ?? undefined,
|
|
44
|
-
reasoningEffort: item.reasoningEffort ?? undefined,
|
|
45
|
-
};
|
|
46
57
|
}
|
|
47
58
|
export function convertChatConversationItemsFromBackend(items, responses, dateNormalizer, locale, timezone) {
|
|
48
59
|
const history = [];
|
|
@@ -135,19 +146,30 @@ function convertMultipartParts(rawParts, history, dateNormalizer, locale, timezo
|
|
|
135
146
|
const siblings = [];
|
|
136
147
|
const parts = [];
|
|
137
148
|
rawParts.forEach((rawPart) => {
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
149
|
+
try {
|
|
150
|
+
const part = convertMultipartPart(rawPart, history, siblings, dateNormalizer, locale, timezone);
|
|
151
|
+
// Unknown parts are dropped rather than failing the whole item, so the rest
|
|
152
|
+
// of the message (known parts) keeps rendering normally.
|
|
153
|
+
if (!part) {
|
|
154
|
+
return;
|
|
155
|
+
}
|
|
156
|
+
siblings.push(part);
|
|
157
|
+
const isPatchBase = rawPart.type === "dashboard" &&
|
|
158
|
+
part.type === "dashboard" &&
|
|
159
|
+
!!part.dashboard &&
|
|
160
|
+
patchedDashboardIds.has(part.dashboard.identifier);
|
|
161
|
+
if (!isPatchBase) {
|
|
162
|
+
parts.push(part);
|
|
163
|
+
}
|
|
143
164
|
}
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
165
|
+
catch (e) {
|
|
166
|
+
const error = e;
|
|
167
|
+
history.push({
|
|
168
|
+
type: "error",
|
|
169
|
+
code: 0,
|
|
170
|
+
message: error.message,
|
|
171
|
+
});
|
|
172
|
+
console.error("Failed to convert conversation part", rawPart.type, e);
|
|
151
173
|
}
|
|
152
174
|
});
|
|
153
175
|
return parts;
|
|
@@ -601,6 +623,9 @@ function collectRelatedItems(items, siblings, ref) {
|
|
|
601
623
|
}
|
|
602
624
|
};
|
|
603
625
|
items.forEach((item) => {
|
|
626
|
+
if (item.type === "error") {
|
|
627
|
+
return;
|
|
628
|
+
}
|
|
604
629
|
if (item.content.type === "multipart") {
|
|
605
630
|
item.content.parts.forEach(collect);
|
|
606
631
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gooddata/sdk-backend-tiger",
|
|
3
|
-
"version": "11.65.0-alpha.
|
|
3
|
+
"version": "11.65.0-alpha.14",
|
|
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.65.0-alpha.
|
|
38
|
-
"@gooddata/sdk-backend-
|
|
39
|
-
"@gooddata/sdk-backend-
|
|
40
|
-
"@gooddata/sdk-code-convertors": "11.65.0-alpha.
|
|
41
|
-
"@gooddata/
|
|
42
|
-
"@gooddata/
|
|
37
|
+
"@gooddata/api-client-tiger": "11.65.0-alpha.14",
|
|
38
|
+
"@gooddata/sdk-backend-spi": "11.65.0-alpha.14",
|
|
39
|
+
"@gooddata/sdk-backend-base": "11.65.0-alpha.14",
|
|
40
|
+
"@gooddata/sdk-code-convertors": "11.65.0-alpha.14",
|
|
41
|
+
"@gooddata/util": "11.65.0-alpha.14",
|
|
42
|
+
"@gooddata/sdk-model": "11.65.0-alpha.14"
|
|
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": "5.0.4",
|
|
67
|
-
"@gooddata/catalog-export": "11.65.0-alpha.
|
|
68
|
-
"@gooddata/
|
|
69
|
-
"@gooddata/
|
|
70
|
-
"@gooddata/reference-workspace": "11.65.0-alpha.
|
|
67
|
+
"@gooddata/catalog-export": "11.65.0-alpha.14",
|
|
68
|
+
"@gooddata/eslint-config": "11.65.0-alpha.14",
|
|
69
|
+
"@gooddata/oxlint-config": "11.65.0-alpha.14",
|
|
70
|
+
"@gooddata/reference-workspace": "11.65.0-alpha.14"
|
|
71
71
|
},
|
|
72
72
|
"scripts": {
|
|
73
73
|
"_phase:build": "npm run build",
|