@fluid-topics/public-api 1.0.86 → 1.0.88

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/.yarnrc ADDED
@@ -0,0 +1 @@
1
+ --frozen-lockfile false
package/dist/cjs/index.js CHANGED
@@ -135,6 +135,7 @@ class FluidTopicsApi {
135
135
  contentId: (contentId) => ({
136
136
  info: `api/khub/maps/${mapId}/topics/${contentId}`,
137
137
  content: `api/khub/maps/${mapId}/topics/${contentId}/content`,
138
+ translation: `api/khub/maps/${mapId}/topics/${contentId}/content/translation`,
138
139
  }),
139
140
  tocId: (tocId) => ({
140
141
  feedback: `api/khub/maps/${mapId}/topics/${tocId}/feedback`,
@@ -210,12 +211,15 @@ class FluidTopicsApi {
210
211
  sendFeedback: `api/ai/rate`,
211
212
  chat: `/api/ai/rag/chat`,
212
213
  translate: `api/ai/translate`,
214
+ destinationLanguages: (profileId) => ({
215
+ endpoint: `api/ai/translate/${profileId}/languages`
216
+ })
213
217
  },
214
218
  assets: {
215
219
  highlightjs: `assets/scripts/highlightjs`,
216
220
  },
217
221
  analytics: {
218
- events: 'api/analytics/events'
222
+ events: "api/analytics/events"
219
223
  }
220
224
  };
221
225
  //@ts-ignore
@@ -266,14 +270,18 @@ class FluidTopicsApi {
266
270
  getReaderConfiguration() {
267
271
  return this.get(this.endpoints.configuration.reader);
268
272
  }
269
- getMap(mapId, v) {
270
- return this.get(this.endpoints.khub.maps.mapId(mapId).info, v);
273
+ getMap(mapId, translationSettings, v) {
274
+ const endpoint = this.endpoints.khub.maps.mapId(mapId).info;
275
+ const queryParams = Object.assign(Object.assign({}, this.buildTranslationParameters(translationSettings)), { v });
276
+ return this.get(this.buildUrlFromParams(endpoint, queryParams));
271
277
  }
272
278
  getTableOfContent(mapId, v) {
273
279
  return this.get(this.endpoints.khub.maps.mapId(mapId).toc, v);
274
280
  }
275
- getPages(mapId, v) {
276
- return this.get(this.endpoints.khub.maps.mapId(mapId).pages, v);
281
+ getPages(mapId, v, translationSettings) {
282
+ const endpoint = this.endpoints.khub.maps.mapId(mapId).pages;
283
+ const queryParams = Object.assign(Object.assign({}, this.buildTranslationParameters(translationSettings)), { v });
284
+ return this.get(this.buildUrlFromParams(endpoint, queryParams));
277
285
  }
278
286
  getTopic(mapId, topicContentId, v) {
279
287
  return this.get(this.endpoints.khub.maps.mapId(mapId).topics.contentId(topicContentId).info, v);
@@ -281,6 +289,11 @@ class FluidTopicsApi {
281
289
  getTopicHTMLContent(mapId, topicContentId, target, v) {
282
290
  return this.get(this.endpoints.khub.maps.mapId(mapId).topics.contentId(topicContentId).content + (target ? "?target=" + target : ""), v);
283
291
  }
292
+ getTranslatedTopicHTMLContent(mapId, topicContentId, target, v, translationSettings) {
293
+ const endpoint = this.endpoints.khub.maps.mapId(mapId).topics.contentId(topicContentId).translation;
294
+ const queryParams = Object.assign(Object.assign({}, this.buildTranslationParameters(translationSettings)), { target, v });
295
+ return this.get(this.buildUrlFromParams(endpoint, queryParams));
296
+ }
284
297
  getMapAttachments(mapId, v) {
285
298
  return this.get(this.endpoints.khub.maps.mapId(mapId).attachments.list, v);
286
299
  }
@@ -415,6 +428,11 @@ class FluidTopicsApi {
415
428
  translate(input) {
416
429
  return this.post(this.endpoints.ai.translate, input);
417
430
  }
431
+ getDestinationLanguages(profileId, sourceLanguage) {
432
+ const endpoint = this.endpoints.ai.destinationLanguages(profileId).endpoint;
433
+ const queryParams = { sourceLanguage };
434
+ return this.get(this.buildUrlFromParams(endpoint, queryParams));
435
+ }
418
436
  sendFeedback(rating) {
419
437
  return this.post(this.endpoints.ai.sendFeedback, rating);
420
438
  }
@@ -435,6 +453,9 @@ class FluidTopicsApi {
435
453
  ? endpoint
436
454
  : (this.tenantBaseUrl + endpoint.replace(/^\//, ""));
437
455
  }
456
+ extractEndpoint(url) {
457
+ return url.replace(this.tenantBaseUrlNoTrailingSlash, "").replace(/^\//, "");
458
+ }
438
459
  fetch(endpoint, init) {
439
460
  var _a;
440
461
  return __awaiter(this, void 0, void 0, function* () {
@@ -491,6 +512,32 @@ class FluidTopicsApi {
491
512
  }
492
513
  return url.toString();
493
514
  }
515
+ withAnalyticsQueryParams(endpoint) {
516
+ let url = new URL(this.makeAbsolute(endpoint));
517
+ url.searchParams.append("Ft-Calling-App", this.ftCallingApp);
518
+ return url.toString();
519
+ }
520
+ buildUrlFromParams(baseEndpoint, params) {
521
+ const url = new URL(this.makeAbsolute(baseEndpoint));
522
+ if (params) {
523
+ Object.entries(params).forEach(([key, value]) => {
524
+ if (value) {
525
+ url.searchParams.append(key, value);
526
+ }
527
+ });
528
+ }
529
+ return url.toString();
530
+ }
531
+ buildTranslationParameters(translationSettings) {
532
+ var _a;
533
+ if (translationSettings) {
534
+ return {
535
+ translationProfileId: translationSettings.profileId,
536
+ translationDestinationLanguage: translationSettings.destinationLanguage,
537
+ translationSourceLanguage: (_a = translationSettings.sourceLanguage) === null || _a === void 0 ? void 0 : _a.slice(0, 2)
538
+ };
539
+ }
540
+ }
494
541
  }
495
542
  exports.FluidTopicsApi = FluidTopicsApi;
496
543
  exports.default = FluidTopicsApi;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.userHasRole = void 0;
3
+ exports.userHasAllRoles = exports.userHasAnyRole = exports.userHasRole = void 0;
4
4
  const public_js_1 = require("../types/ft-common/public.js");
5
5
  const rolesInheritance = {
6
6
  [public_js_1.FtUserRole.PERSONAL_BOOK_SHARE_USER]: [public_js_1.FtUserRole.PERSONAL_BOOK_USER],
@@ -30,3 +30,17 @@ function userHasRole(sessionOrProfileOrRoles, expectedRole) {
30
30
  return roles.some(role => roleMatches(role, expectedRole));
31
31
  }
32
32
  exports.userHasRole = userHasRole;
33
+ function userHasAnyRole(sessionOrProfileOrRoles, ...expectedRoles) {
34
+ if (sessionOrProfileOrRoles == null) {
35
+ return false;
36
+ }
37
+ return expectedRoles.some(role => userHasRole(sessionOrProfileOrRoles, role));
38
+ }
39
+ exports.userHasAnyRole = userHasAnyRole;
40
+ function userHasAllRoles(sessionOrProfileOrRoles, ...expectedRoles) {
41
+ if (sessionOrProfileOrRoles == null) {
42
+ return false;
43
+ }
44
+ return expectedRoles.every(role => userHasRole(sessionOrProfileOrRoles, role));
45
+ }
46
+ exports.userHasAllRoles = userHasAllRoles;
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.isFtCollectionDocument = exports.isFtBookmark = exports.isFtPersonalBookTopicLinkCreation = exports.isFtPersonalBookNodeCreation = exports.isFtPersonalBookMetadataUpdate = exports.isFtPersonalBookCreation = exports.isFtCredentials = exports.isFtTopicStartDisplayEvent = exports.isFtTopicDisplayEvent = exports.isFtSearchPageSelectEvent = exports.isFtPageDisplayEvent = exports.isFtLinkShareEvent = exports.isFtLabelsDownloadEvent = exports.isFtKhubSearchEvent = exports.isFtGenAiRateEvent = exports.isFtGenAiCompletedQueryEvent = exports.isFtGenAiCaseDeflectionEvent = exports.isFtFeedbackSendEvent = exports.isFtDocumentStartDisplayEvent = exports.isFtDocumentSearchEvent = exports.isFtDocumentPrintEvent = exports.isFtDocumentDownloadEvent = exports.isFtDocumentDisplayEvent = exports.isFtCaseDeflectionEvent = exports.isFtAnalyticsEventName = exports.FtAnalyticsEventName = exports.isFtAnalyticsEvent = exports.isFtAnalyticsSearchFacetType = exports.FtAnalyticsSearchFacetType = exports.isFtAnalyticsSearchDateFacetValue = exports.FtAnalyticsSearchDateFacetValue = exports.isFtAnalyticsSearchFacet = exports.isFtAnalyticsPublicationType = exports.FtAnalyticsPublicationType = exports.isFtAnalyticsEventTopic = exports.isFtAnalyticsEventSearchResult = exports.isFtAnalyticsEventSearchResponse = exports.isFtAnalyticsEventSearchQuery = exports.isFtAnalyticsEventRating = exports.isFtAnalyticsEventPublication = exports.isFtAnalyticsEventPage = exports.isFtAnalyticsEventOrigin = exports.isFtAnalyticsEventLocation = exports.isFtAnalyticsEventGenAIProfile = exports.isFtAnalyticsEventDisplay = exports.isFtTopicOriginType = exports.FtTopicOriginType = exports.isFtMyLibraryColors = exports.FtMyLibraryColors = exports.isFtHttpErrorDetails = void 0;
4
- exports.isFtSearchResultsPageInfo = exports.isFtVirtualField = exports.FtVirtualField = exports.isFtSearchSortCriterionType = exports.FtSearchSortCriterionType = exports.isFtSearchSortCriterionOrder = exports.FtSearchSortCriterionOrder = exports.isFtSearchPreset = exports.isFtPeriodFilterType = exports.FtPeriodFilterType = exports.isFtSearchPreferencesConfiguration = exports.isFtMetadataPreferenceConfiguration = exports.isFtMapResource = exports.isFtTopicsRatingSummary = exports.isFtTopicRating = exports.isFtRatingSummary = exports.isFtRatingCreation = exports.isFtPublicationRatingSummary = exports.isFtPublicationRating = exports.isFtRatingType = exports.FtRatingType = exports.isFtMySearchRequest = exports.isFtMySearch = exports.isFtMetadataDescriptor = exports.isFtMetadataConfiguration = exports.isFtMetadataSortRule = exports.FtMetadataSortRule = exports.isFtMetadata = exports.isFtFacetType = exports.FtFacetType = exports.isFtUiLocale = exports.isFtMessageContext = exports.isFtLocalesConfiguration = exports.isFtSearchLocales = exports.isFtSearchLocale = exports.isFtDefaultLocales = exports.isFtDefaultLocale = exports.isFtMetadataHomeLayout = exports.FtMetadataHomeLayout = exports.isFtFeedbackCreation = exports.isFtExternalWebComponentContext = exports.FtExternalWebComponentContext = exports.isFtTopicContentTarget = exports.FtTopicContentTarget = exports.isFtUnstructuredDocument = exports.isFtTopicOrigin = exports.isFtTopic = exports.isFtTocNode = exports.isFtMapStyles = exports.isFtMap = void 0;
5
- exports.isFtWatermark = exports.isFtUserProfile = exports.isFtSession = exports.isFtSearchPreferences = exports.isFtAuthenticatedSession = exports.isFtAuthenticationIdentifier = exports.isFtUserRole = exports.FtUserRole = exports.isFtSuggestResults = exports.isFtSuggestResult = exports.isFtSuggestRequest = exports.isFtTopicResource = exports.isFtSpellcheck = exports.isFtSearchSortCriterion = exports.isFtSearchFacetEntry = exports.isFtSearchFacetConf = exports.isFtSearchFacet = exports.isFtValueFilter = exports.isFtSearchScope = exports.FtSearchScope = exports.isFtSearchResultType = exports.FtSearchResultType = exports.isFtSearchResultTopic = exports.isFtSearchResultMap = exports.isFtSearchResultUnstructuredDocument = exports.isFtSearchResultClusterEntry = exports.isFtSearchResultCluster = exports.isFtSearchRequest = exports.isFtSearchPrior = exports.isFtRangeFilter = exports.isFtPeriod = exports.isFtMetadataFilter = exports.isFtPeriodFilter = exports.isFtLegacyMetadataFilter = exports.isFtLegacyLabeledMetadataFilter = exports.isFtLabeledMetadataFilter = exports.isFtSearchResults = exports.isFtDateFilterType = exports.FtDateFilterType = exports.isFtDateFilter = exports.isFtCollectionDocumentType = exports.FtCollectionDocumentType = exports.isFtPublicClusterSortCriterion = exports.isFtPageRequest = exports.isFtOpenMode = exports.FtOpenMode = exports.isFtEditorialType = exports.FtEditorialType = void 0;
4
+ exports.FtVirtualField = exports.isFtSearchSortCriterionType = exports.FtSearchSortCriterionType = exports.isFtSearchSortCriterionOrder = exports.FtSearchSortCriterionOrder = exports.isFtSearchPreset = exports.isFtPeriodFilterType = exports.FtPeriodFilterType = exports.isFtSearchPreferencesConfiguration = exports.isFtMetadataPreferenceConfiguration = exports.isFtMapResource = exports.isFtTopicsRatingSummary = exports.isFtTopicRating = exports.isFtRatingSummary = exports.isFtRatingCreation = exports.isFtPublicationRatingSummary = exports.isFtPublicationRating = exports.isFtRatingType = exports.FtRatingType = exports.isFtPrivacyPolicyConfiguration = exports.isFtMySearchRequest = exports.isFtMySearch = exports.isFtMetadataDescriptor = exports.isFtMetadataConfiguration = exports.isFtMetadataSortRule = exports.FtMetadataSortRule = exports.isFtMetadata = exports.isFtFacetType = exports.FtFacetType = exports.isFtUiLocale = exports.isFtMessageContext = exports.isFtLocalesConfiguration = exports.isFtSearchLocales = exports.isFtSearchLocale = exports.isFtDefaultLocales = exports.isFtDefaultLocale = exports.isFtMetadataHomeLayout = exports.FtMetadataHomeLayout = exports.isFtFeedbackCreation = exports.isFtExternalWebComponentContext = exports.FtExternalWebComponentContext = exports.isFtTranslationContent = exports.isFtTopicContentTarget = exports.FtTopicContentTarget = exports.isFtUnstructuredDocument = exports.isFtTopicOrigin = exports.isFtTopic = exports.isFtTocNode = exports.isFtMapStyles = exports.isFtMap = void 0;
5
+ exports.isFtWatermark = exports.isFtUserProfile = exports.isFtSession = exports.isFtSearchPreferences = exports.isFtAuthenticatedSession = exports.isFtAuthenticationIdentifier = exports.isFtUserRole = exports.FtUserRole = exports.isFtSuggestResults = exports.isFtSuggestResult = exports.isFtSuggestRequest = exports.isFtTopicResource = exports.isFtSpellcheck = exports.isFtSearchSortCriterion = exports.isFtSearchFacetEntry = exports.isFtSearchFacetConf = exports.isFtSearchFacet = exports.isFtValueFilter = exports.isFtSearchScope = exports.FtSearchScope = exports.isFtSearchResultType = exports.FtSearchResultType = exports.isFtSearchResultTopic = exports.isFtSearchResultMap = exports.isFtSearchResultUnstructuredDocument = exports.isFtSearchResultClusterEntry = exports.isFtSearchResultCluster = exports.isFtSearchRequest = exports.isFtSearchPrior = exports.isFtRangeFilter = exports.isFtPeriod = exports.isFtMetadataFilter = exports.isFtPeriodFilter = exports.isFtLegacyMetadataFilter = exports.isFtLegacyLabeledMetadataFilter = exports.isFtLabeledMetadataFilter = exports.isFtSearchResults = exports.isFtDateFilterType = exports.FtDateFilterType = exports.isFtDateFilter = exports.isFtCollectionDocumentType = exports.FtCollectionDocumentType = exports.isFtPublicClusterSortCriterion = exports.isFtPageRequest = exports.isFtOpenMode = exports.FtOpenMode = exports.isFtEditorialType = exports.FtEditorialType = exports.isFtSearchResultsPageInfo = exports.isFtVirtualField = void 0;
6
6
  const isObject = (o) => typeof o === "object" && o != null;
7
7
  const isBoolean = (o) => typeof o === "boolean";
8
8
  const isNumber = (o) => typeof o === "number";
@@ -27,9 +27,7 @@ var FtMyLibraryColors;
27
27
  FtMyLibraryColors["orange"] = "orange";
28
28
  FtMyLibraryColors["yellow"] = "yellow";
29
29
  })(FtMyLibraryColors = exports.FtMyLibraryColors || (exports.FtMyLibraryColors = {}));
30
- const isFtMyLibraryColors = (o) => {
31
- return ["black", "green", "blue", "purple", "red", "orange", "yellow"].includes(o);
32
- };
30
+ const isFtMyLibraryColors = (o) => Object.keys(FtMyLibraryColors).includes(o);
33
31
  exports.isFtMyLibraryColors = isFtMyLibraryColors;
34
32
  // From: SourceType
35
33
  var FtTopicOriginType;
@@ -38,9 +36,7 @@ var FtTopicOriginType;
38
36
  FtTopicOriginType["PERSONAL"] = "PERSONAL";
39
37
  FtTopicOriginType["SHARED"] = "SHARED";
40
38
  })(FtTopicOriginType = exports.FtTopicOriginType || (exports.FtTopicOriginType = {}));
41
- const isFtTopicOriginType = (o) => {
42
- return ["OFFICIAL", "PERSONAL", "SHARED"].includes(o);
43
- };
39
+ const isFtTopicOriginType = (o) => Object.keys(FtTopicOriginType).includes(o);
44
40
  exports.isFtTopicOriginType = isFtTopicOriginType;
45
41
  const isFtAnalyticsEventDisplay = (o) => {
46
42
  return isObject(o)
@@ -137,9 +133,7 @@ var FtAnalyticsPublicationType;
137
133
  FtAnalyticsPublicationType["MAP_ATTACHMENT"] = "MAP_ATTACHMENT";
138
134
  FtAnalyticsPublicationType["RESOURCE"] = "RESOURCE";
139
135
  })(FtAnalyticsPublicationType = exports.FtAnalyticsPublicationType || (exports.FtAnalyticsPublicationType = {}));
140
- const isFtAnalyticsPublicationType = (o) => {
141
- return ["STRUCTURED_DOCUMENT", "UNSTRUCTURED_DOCUMENT", "SHARED_PERSONAL_BOOK", "PERSONAL_BOOK", "MAP_ATTACHMENT", "RESOURCE"].includes(o);
142
- };
136
+ const isFtAnalyticsPublicationType = (o) => Object.keys(FtAnalyticsPublicationType).includes(o);
143
137
  exports.isFtAnalyticsPublicationType = isFtAnalyticsPublicationType;
144
138
  const isFtAnalyticsSearchFacet = (o) => {
145
139
  return isObject(o)
@@ -160,9 +154,7 @@ var FtAnalyticsSearchDateFacetValue;
160
154
  FtAnalyticsSearchDateFacetValue["LAST_QUARTER"] = "LAST_QUARTER";
161
155
  FtAnalyticsSearchDateFacetValue["LAST_YEAR"] = "LAST_YEAR";
162
156
  })(FtAnalyticsSearchDateFacetValue = exports.FtAnalyticsSearchDateFacetValue || (exports.FtAnalyticsSearchDateFacetValue = {}));
163
- const isFtAnalyticsSearchDateFacetValue = (o) => {
164
- return ["LAST_WEEK", "LAST_MONTH", "LAST_QUARTER", "LAST_YEAR"].includes(o);
165
- };
157
+ const isFtAnalyticsSearchDateFacetValue = (o) => Object.keys(FtAnalyticsSearchDateFacetValue).includes(o);
166
158
  exports.isFtAnalyticsSearchDateFacetValue = isFtAnalyticsSearchDateFacetValue;
167
159
  // From: AnalyticsSearchFacetType
168
160
  var FtAnalyticsSearchFacetType;
@@ -171,9 +163,7 @@ var FtAnalyticsSearchFacetType;
171
163
  FtAnalyticsSearchFacetType["DATE"] = "DATE";
172
164
  FtAnalyticsSearchFacetType["RANGE"] = "RANGE";
173
165
  })(FtAnalyticsSearchFacetType = exports.FtAnalyticsSearchFacetType || (exports.FtAnalyticsSearchFacetType = {}));
174
- const isFtAnalyticsSearchFacetType = (o) => {
175
- return ["VALUE", "DATE", "RANGE"].includes(o);
176
- };
166
+ const isFtAnalyticsSearchFacetType = (o) => Object.keys(FtAnalyticsSearchFacetType).includes(o);
177
167
  exports.isFtAnalyticsSearchFacetType = isFtAnalyticsSearchFacetType;
178
168
  const isFtAnalyticsEvent = (o) => {
179
169
  return isObject(o)
@@ -230,9 +220,7 @@ var FtAnalyticsEventName;
230
220
  FtAnalyticsEventName["USER__LOGOUT"] = "USER__LOGOUT";
231
221
  FtAnalyticsEventName["HEARTBEAT"] = "HEARTBEAT";
232
222
  })(FtAnalyticsEventName = exports.FtAnalyticsEventName || (exports.FtAnalyticsEventName = {}));
233
- const isFtAnalyticsEventName = (o) => {
234
- return ["BOOKMARK__CREATE", "BOOKMARK__DELETE", "CASE_DEFLECTION__START", "CASE_DEFLECTION__OPEN_TICKET", "CASE_DEFLECTION__RATE", "COLLECTION__CREATE", "COLLECTION__UPDATE", "COLLECTION__DELETE", "DOCUMENT__DISPLAY", "DOCUMENT__DOWNLOAD", "DOCUMENT__PRINT", "DOCUMENT__PROCESS", "DOCUMENT__RATE", "DOCUMENT__SEARCH", "DOCUMENT__START_DISPLAY", "DOCUMENT__UNRATE", "FEEDBACK__SEND", "GEN_AI__COMPLETED_QUERY", "GEN_AI__RATE", "GENAI_CASE_DEFLECTION__START", "GENAI_CASE_DEFLECTION__OPEN_TICKET", "KHUB__PROCESS", "KHUB__SEARCH", "LABELS__DOWNLOAD", "LINK__SHARE", "PAGE__DISPLAY", "PERSONAL_BOOK__CREATE", "PERSONAL_BOOK__DELETE", "PERSONAL_BOOK__UPDATE", "PERSONAL_TOPIC__CREATE", "PERSONAL_TOPIC__UPDATE", "PERSONAL_TOPIC__DELETE", "SAVED_SEARCH__CREATE", "SAVED_SEARCH__DELETE", "SAVED_SEARCH__UPDATE", "SEARCH_PAGE__SELECT", "TOPIC__DISPLAY", "TOPIC__RATE", "TOPIC__START_DISPLAY", "TOPIC__UNRATE", "USER__LOGIN", "USER__LOGOUT", "HEARTBEAT"].includes(o);
235
- };
223
+ const isFtAnalyticsEventName = (o) => Object.keys(FtAnalyticsEventName).includes(o);
236
224
  exports.isFtAnalyticsEventName = isFtAnalyticsEventName;
237
225
  const isFtCaseDeflectionEvent = (o) => {
238
226
  return isObject(o)
@@ -446,6 +434,7 @@ const isFtMap = (o) => {
446
434
  && (o.originUrl == null || isString(o.originUrl))
447
435
  && (isString(o.fingerprint))
448
436
  && (isString(o.readerUrl))
437
+ && (o.untranslatedTitle == null || o.untranslatedTitle == null || isString(o.untranslatedTitle))
449
438
  && (o.khubVersion == null || isString(o.khubVersion))
450
439
  && (isString(o.id))
451
440
  && (o.lang == null || isString(o.lang));
@@ -468,6 +457,7 @@ const isFtTocNode = (o) => {
468
457
  && o.children.every((v) => (0, exports.isFtTocNode)(v))))
469
458
  && (o.origin == null || (0, exports.isFtTopicOrigin)(o.origin))
470
459
  && (isString(o.contentId))
460
+ && (o.untranslatedTitle == null || o.untranslatedTitle == null || isString(o.untranslatedTitle))
471
461
  && (isString(o.title));
472
462
  };
473
463
  exports.isFtTocNode = isFtTocNode;
@@ -524,10 +514,14 @@ var FtTopicContentTarget;
524
514
  FtTopicContentTarget["PAGES"] = "PAGES";
525
515
  FtTopicContentTarget["DESIGNED_READER"] = "DESIGNED_READER";
526
516
  })(FtTopicContentTarget = exports.FtTopicContentTarget || (exports.FtTopicContentTarget = {}));
527
- const isFtTopicContentTarget = (o) => {
528
- return ["THIRD_PARTY", "OFF_THE_GRID", "CONTENT_PACKAGER", "PAGES", "DESIGNED_READER"].includes(o);
529
- };
517
+ const isFtTopicContentTarget = (o) => Object.keys(FtTopicContentTarget).includes(o);
530
518
  exports.isFtTopicContentTarget = isFtTopicContentTarget;
519
+ const isFtTranslationContent = (o) => {
520
+ return isObject(o)
521
+ && (isBoolean(o.isTranslationError))
522
+ && (isString(o.content));
523
+ };
524
+ exports.isFtTranslationContent = isFtTranslationContent;
531
525
  // From: ExternalWebComponentContext
532
526
  var FtExternalWebComponentContext;
533
527
  (function (FtExternalWebComponentContext) {
@@ -539,9 +533,7 @@ var FtExternalWebComponentContext;
539
533
  FtExternalWebComponentContext["SEARCH"] = "SEARCH";
540
534
  FtExternalWebComponentContext["SEARCH_RESULT"] = "SEARCH_RESULT";
541
535
  })(FtExternalWebComponentContext = exports.FtExternalWebComponentContext || (exports.FtExternalWebComponentContext = {}));
542
- const isFtExternalWebComponentContext = (o) => {
543
- return ["HOMEPAGE", "CUSTOM", "HEADER", "READER", "TOPIC_TEMPLATE", "SEARCH", "SEARCH_RESULT"].includes(o);
544
- };
536
+ const isFtExternalWebComponentContext = (o) => Object.keys(FtExternalWebComponentContext).includes(o);
545
537
  exports.isFtExternalWebComponentContext = isFtExternalWebComponentContext;
546
538
  const isFtFeedbackCreation = (o) => {
547
539
  return isObject(o)
@@ -556,9 +548,7 @@ var FtMetadataHomeLayout;
556
548
  FtMetadataHomeLayout["CUSTOM"] = "CUSTOM";
557
549
  FtMetadataHomeLayout["DESIGNER"] = "DESIGNER";
558
550
  })(FtMetadataHomeLayout = exports.FtMetadataHomeLayout || (exports.FtMetadataHomeLayout = {}));
559
- const isFtMetadataHomeLayout = (o) => {
560
- return ["CLASSIC", "CUSTOM", "DESIGNER"].includes(o);
561
- };
551
+ const isFtMetadataHomeLayout = (o) => Object.keys(FtMetadataHomeLayout).includes(o);
562
552
  exports.isFtMetadataHomeLayout = isFtMetadataHomeLayout;
563
553
  const isFtDefaultLocale = (o) => {
564
554
  return isObject(o)
@@ -618,9 +608,7 @@ var FtFacetType;
618
608
  FtFacetType["OR"] = "OR";
619
609
  FtFacetType["MONOVALUED"] = "MONOVALUED";
620
610
  })(FtFacetType = exports.FtFacetType || (exports.FtFacetType = {}));
621
- const isFtFacetType = (o) => {
622
- return ["AND", "OR", "MONOVALUED"].includes(o);
623
- };
611
+ const isFtFacetType = (o) => Object.keys(FtFacetType).includes(o);
624
612
  exports.isFtFacetType = isFtFacetType;
625
613
  const isFtMetadata = (o) => {
626
614
  return isObject(o)
@@ -640,9 +628,7 @@ var FtMetadataSortRule;
640
628
  FtMetadataSortRule["ALPHABET"] = "ALPHABET";
641
629
  FtMetadataSortRule["VERSION"] = "VERSION";
642
630
  })(FtMetadataSortRule = exports.FtMetadataSortRule || (exports.FtMetadataSortRule = {}));
643
- const isFtMetadataSortRule = (o) => {
644
- return ["NONE", "ALPHABET", "VERSION"].includes(o);
645
- };
631
+ const isFtMetadataSortRule = (o) => Object.keys(FtMetadataSortRule).includes(o);
646
632
  exports.isFtMetadataSortRule = isFtMetadataSortRule;
647
633
  const isFtMetadataConfiguration = (o) => {
648
634
  return isObject(o)
@@ -686,6 +672,13 @@ const isFtMySearchRequest = (o) => {
686
672
  && (o.contentLocale == null || isString(o.contentLocale));
687
673
  };
688
674
  exports.isFtMySearchRequest = isFtMySearchRequest;
675
+ const isFtPrivacyPolicyConfiguration = (o) => {
676
+ return isObject(o)
677
+ && (isString(o.policyDescription))
678
+ && (isBoolean(o.agreementRequired))
679
+ && (isString(o.userAgreementMessage));
680
+ };
681
+ exports.isFtPrivacyPolicyConfiguration = isFtPrivacyPolicyConfiguration;
689
682
  // From: RatingType
690
683
  var FtRatingType;
691
684
  (function (FtRatingType) {
@@ -694,9 +687,7 @@ var FtRatingType;
694
687
  FtRatingType["DICHOTOMOUS"] = "DICHOTOMOUS";
695
688
  FtRatingType["NO_RATING"] = "NO_RATING";
696
689
  })(FtRatingType = exports.FtRatingType || (exports.FtRatingType = {}));
697
- const isFtRatingType = (o) => {
698
- return ["STARS", "LIKE", "DICHOTOMOUS", "NO_RATING"].includes(o);
699
- };
690
+ const isFtRatingType = (o) => Object.keys(FtRatingType).includes(o);
700
691
  exports.isFtRatingType = isFtRatingType;
701
692
  const isFtPublicationRating = (o) => {
702
693
  return isObject(o)
@@ -770,9 +761,7 @@ var FtPeriodFilterType;
770
761
  FtPeriodFilterType["LAST_YEAR"] = "LAST_YEAR";
771
762
  FtPeriodFilterType["CUSTOM"] = "CUSTOM";
772
763
  })(FtPeriodFilterType = exports.FtPeriodFilterType || (exports.FtPeriodFilterType = {}));
773
- const isFtPeriodFilterType = (o) => {
774
- return ["LAST_WEEK", "LAST_MONTH", "LAST_QUARTER", "LAST_YEAR", "CUSTOM"].includes(o);
775
- };
764
+ const isFtPeriodFilterType = (o) => Object.keys(FtPeriodFilterType).includes(o);
776
765
  exports.isFtPeriodFilterType = isFtPeriodFilterType;
777
766
  const isFtSearchPreset = (o) => {
778
767
  return isObject(o)
@@ -789,9 +778,7 @@ var FtSearchSortCriterionOrder;
789
778
  FtSearchSortCriterionOrder["ASC"] = "ASC";
790
779
  FtSearchSortCriterionOrder["DESC"] = "DESC";
791
780
  })(FtSearchSortCriterionOrder = exports.FtSearchSortCriterionOrder || (exports.FtSearchSortCriterionOrder = {}));
792
- const isFtSearchSortCriterionOrder = (o) => {
793
- return ["ASC", "DESC"].includes(o);
794
- };
781
+ const isFtSearchSortCriterionOrder = (o) => Object.keys(FtSearchSortCriterionOrder).includes(o);
795
782
  exports.isFtSearchSortCriterionOrder = isFtSearchSortCriterionOrder;
796
783
  // From: SearchSortCriterionType
797
784
  var FtSearchSortCriterionType;
@@ -799,9 +786,7 @@ var FtSearchSortCriterionType;
799
786
  FtSearchSortCriterionType["ALPHA"] = "ALPHA";
800
787
  FtSearchSortCriterionType["NATURAL"] = "NATURAL";
801
788
  })(FtSearchSortCriterionType = exports.FtSearchSortCriterionType || (exports.FtSearchSortCriterionType = {}));
802
- const isFtSearchSortCriterionType = (o) => {
803
- return ["ALPHA", "NATURAL"].includes(o);
804
- };
789
+ const isFtSearchSortCriterionType = (o) => Object.keys(FtSearchSortCriterionType).includes(o);
805
790
  exports.isFtSearchSortCriterionType = isFtSearchSortCriterionType;
806
791
  // From: VirtualField
807
792
  var FtVirtualField;
@@ -810,9 +795,7 @@ var FtVirtualField;
810
795
  FtVirtualField["TITLE_ONLY"] = "TITLE_ONLY";
811
796
  FtVirtualField["NONE"] = "NONE";
812
797
  })(FtVirtualField = exports.FtVirtualField || (exports.FtVirtualField = {}));
813
- const isFtVirtualField = (o) => {
814
- return ["EVERYWHERE", "TITLE_ONLY", "NONE"].includes(o);
815
- };
798
+ const isFtVirtualField = (o) => Object.keys(FtVirtualField).includes(o);
816
799
  exports.isFtVirtualField = isFtVirtualField;
817
800
  const isFtSearchResultsPageInfo = (o) => {
818
801
  return isObject(o)
@@ -829,9 +812,7 @@ var FtEditorialType;
829
812
  FtEditorialType["BOOK"] = "BOOK";
830
813
  FtEditorialType["SHARED_BOOK"] = "SHARED_BOOK";
831
814
  })(FtEditorialType = exports.FtEditorialType || (exports.FtEditorialType = {}));
832
- const isFtEditorialType = (o) => {
833
- return ["ARTICLE", "BOOK", "SHARED_BOOK"].includes(o);
834
- };
815
+ const isFtEditorialType = (o) => Object.keys(FtEditorialType).includes(o);
835
816
  exports.isFtEditorialType = isFtEditorialType;
836
817
  // From: WsOpenMode
837
818
  var FtOpenMode;
@@ -839,9 +820,7 @@ var FtOpenMode;
839
820
  FtOpenMode["FLUIDTOPICS"] = "FLUIDTOPICS";
840
821
  FtOpenMode["EXTERNAL"] = "EXTERNAL";
841
822
  })(FtOpenMode = exports.FtOpenMode || (exports.FtOpenMode = {}));
842
- const isFtOpenMode = (o) => {
843
- return ["FLUIDTOPICS", "EXTERNAL"].includes(o);
844
- };
823
+ const isFtOpenMode = (o) => Object.keys(FtOpenMode).includes(o);
845
824
  exports.isFtOpenMode = isFtOpenMode;
846
825
  const isFtPageRequest = (o) => {
847
826
  return isObject(o)
@@ -863,9 +842,7 @@ var FtCollectionDocumentType;
863
842
  FtCollectionDocumentType["PERSONAL_BOOK"] = "PERSONAL_BOOK";
864
843
  FtCollectionDocumentType["SHARED_BOOK"] = "SHARED_BOOK";
865
844
  })(FtCollectionDocumentType = exports.FtCollectionDocumentType || (exports.FtCollectionDocumentType = {}));
866
- const isFtCollectionDocumentType = (o) => {
867
- return ["MAP", "DOCUMENT", "TOPIC", "PERSONAL_BOOK", "SHARED_BOOK"].includes(o);
868
- };
845
+ const isFtCollectionDocumentType = (o) => Object.keys(FtCollectionDocumentType).includes(o);
869
846
  exports.isFtCollectionDocumentType = isFtCollectionDocumentType;
870
847
  const isFtDateFilter = (o) => {
871
848
  return isObject(o)
@@ -880,9 +857,7 @@ var FtDateFilterType;
880
857
  FtDateFilterType["LAST_QUARTER"] = "LAST_QUARTER";
881
858
  FtDateFilterType["LAST_YEAR"] = "LAST_YEAR";
882
859
  })(FtDateFilterType = exports.FtDateFilterType || (exports.FtDateFilterType = {}));
883
- const isFtDateFilterType = (o) => {
884
- return ["LAST_WEEK", "LAST_MONTH", "LAST_QUARTER", "LAST_YEAR"].includes(o);
885
- };
860
+ const isFtDateFilterType = (o) => Object.keys(FtDateFilterType).includes(o);
886
861
  exports.isFtDateFilterType = isFtDateFilterType;
887
862
  const isFtSearchResults = (o) => {
888
863
  return isObject(o)
@@ -1060,9 +1035,7 @@ var FtSearchResultType;
1060
1035
  FtSearchResultType["DOCUMENT"] = "DOCUMENT";
1061
1036
  FtSearchResultType["TOPIC"] = "TOPIC";
1062
1037
  })(FtSearchResultType = exports.FtSearchResultType || (exports.FtSearchResultType = {}));
1063
- const isFtSearchResultType = (o) => {
1064
- return ["MAP", "DOCUMENT", "TOPIC"].includes(o);
1065
- };
1038
+ const isFtSearchResultType = (o) => Object.keys(FtSearchResultType).includes(o);
1066
1039
  exports.isFtSearchResultType = isFtSearchResultType;
1067
1040
  // From: WsPublicSearchScope
1068
1041
  var FtSearchScope;
@@ -1072,9 +1045,7 @@ var FtSearchScope;
1072
1045
  FtSearchScope["ALL_TOPICS"] = "ALL_TOPICS";
1073
1046
  FtSearchScope["TOPICS_AND_UNSTRUCTURED_DOCUMENTS"] = "TOPICS_AND_UNSTRUCTURED_DOCUMENTS";
1074
1047
  })(FtSearchScope = exports.FtSearchScope || (exports.FtSearchScope = {}));
1075
- const isFtSearchScope = (o) => {
1076
- return ["DEFAULT", "DOCUMENTS", "ALL_TOPICS", "TOPICS_AND_UNSTRUCTURED_DOCUMENTS"].includes(o);
1077
- };
1048
+ const isFtSearchScope = (o) => Object.keys(FtSearchScope).includes(o);
1078
1049
  exports.isFtSearchScope = isFtSearchScope;
1079
1050
  const isFtValueFilter = (o) => {
1080
1051
  return isObject(o)
@@ -1185,9 +1156,7 @@ var FtUserRole;
1185
1156
  FtUserRole["ADMIN"] = "ADMIN";
1186
1157
  FtUserRole["DEVELOPER"] = "DEVELOPER";
1187
1158
  })(FtUserRole = exports.FtUserRole || (exports.FtUserRole = {}));
1188
- const isFtUserRole = (o) => {
1189
- return ["PERSONAL_BOOK_USER", "PERSONAL_BOOK_SHARE_USER", "HTML_EXPORT_USER", "PDF_EXPORT_USER", "SAVED_SEARCH_USER", "COLLECTION_USER", "OFFLINE_USER", "ANALYTICS_USER", "BETA_USER", "DEBUG_USER", "PRINT_USER", "RATING_USER", "FEEDBACK_USER", "GENERATIVE_AI_USER", "GENERATIVE_AI_EXPORT_USER", "CONTENT_PUBLISHER", "KHUB_ADMIN", "USERS_ADMIN", "PORTAL_ADMIN", "ADMIN", "DEVELOPER"].includes(o);
1190
- };
1159
+ const isFtUserRole = (o) => Object.keys(FtUserRole).includes(o);
1191
1160
  exports.isFtUserRole = isFtUserRole;
1192
1161
  const isFtAuthenticationIdentifier = (o) => {
1193
1162
  return isObject(o)
@@ -1222,9 +1191,11 @@ const isFtUserProfile = (o) => {
1222
1191
  return isObject(o)
1223
1192
  && (o.emailAddress == null || isString(o.emailAddress))
1224
1193
  && (o.displayName == null || isString(o.displayName))
1194
+ && (o.otpValidated == null || isBoolean(o.otpValidated))
1225
1195
  && ((Array.isArray(o.roles)
1226
1196
  && o.roles.every((v) => (0, exports.isFtUserRole)(v))))
1227
1197
  && (o.userId == null || isString(o.userId))
1198
+ && (o.privacyPolicyAgreementDate == null || isString(o.privacyPolicyAgreementDate))
1228
1199
  && ((Array.isArray(o.tags)
1229
1200
  && o.tags.every((v) => isString(v))));
1230
1201
  };
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isFtSemanticSearchRequest = exports.isFtSemanticSearchFilter = exports.isFtSemanticSearchResponseItem = exports.isFtClusteredSemanticSearchReply = exports.isFtPaginationConfiguration = exports.isFtPaginatedTocNode = exports.isFtPaginatedToc = exports.isFtPageConfiguration = exports.isFtMapAttachment = exports.isFtTranslationInput = exports.isTranslationFormat = exports.TranslationFormat = exports.isFtRagInput = exports.isFtRagHistory = exports.isFtGenAIGenerateInput = exports.isFtGenAIRating = exports.isFtReaderFeedbackConfiguration = exports.isFtReaderConfiguration = exports.isFtConfigurationHistoryEntryStatus = exports.FtConfigurationHistoryEntryStatus = void 0;
3
+ exports.isFtSemanticSearchRequest = exports.isFtSemanticSearchFilter = exports.isFtSemanticSearchResponseItem = exports.isFtClusteredSemanticSearchReply = exports.isFtPaginationConfiguration = exports.isFtPaginatedTocNodeWithTranslationFailure = exports.isFtPaginatedTocNode = exports.isFtPaginatedToc = exports.isFtPageConfiguration = exports.isFtMapAttachment = exports.isFtTranslationLocale = exports.isFtTranslationResponse = exports.isFtTranslationRequest = exports.isFtTranslationLanguagesResponse = exports.isTranslationFormat = exports.TranslationFormat = exports.isFtRagInput = exports.isFtRagHistory = exports.isFtGenAIGenerateInput = exports.isFtGenAIRating = exports.isFtReaderFeedbackConfiguration = exports.isFtReaderConfiguration = exports.isFtConfigurationHistoryEntryStatus = exports.FtConfigurationHistoryEntryStatus = void 0;
4
4
  const isObject = (o) => typeof o === "object" && o != null;
5
5
  const isBoolean = (o) => typeof o === "boolean";
6
6
  const isNumber = (o) => typeof o === "number";
@@ -11,9 +11,7 @@ var FtConfigurationHistoryEntryStatus;
11
11
  FtConfigurationHistoryEntryStatus["VALID"] = "VALID";
12
12
  FtConfigurationHistoryEntryStatus["INVALID"] = "INVALID";
13
13
  })(FtConfigurationHistoryEntryStatus = exports.FtConfigurationHistoryEntryStatus || (exports.FtConfigurationHistoryEntryStatus = {}));
14
- const isFtConfigurationHistoryEntryStatus = (o) => {
15
- return ["VALID", "INVALID"].includes(o);
16
- };
14
+ const isFtConfigurationHistoryEntryStatus = (o) => Object.keys(FtConfigurationHistoryEntryStatus).includes(o);
17
15
  exports.isFtConfigurationHistoryEntryStatus = isFtConfigurationHistoryEntryStatus;
18
16
  const isFtReaderConfiguration = (o) => {
19
17
  return isObject(o)
@@ -73,19 +71,36 @@ var TranslationFormat;
73
71
  TranslationFormat["TEXT"] = "TEXT";
74
72
  TranslationFormat["HTML"] = "HTML";
75
73
  })(TranslationFormat = exports.TranslationFormat || (exports.TranslationFormat = {}));
76
- const isTranslationFormat = (o) => {
77
- return ["TEXT", "HTML"].includes(o);
78
- };
74
+ const isTranslationFormat = (o) => Object.keys(TranslationFormat).includes(o);
79
75
  exports.isTranslationFormat = isTranslationFormat;
80
- const isFtTranslationInput = (o) => {
76
+ const isFtTranslationLanguagesResponse = (o) => {
77
+ return isObject(o)
78
+ && ((Array.isArray(o.items)
79
+ && o.items.every((v) => (0, exports.isFtTranslationLocale)(v))));
80
+ };
81
+ exports.isFtTranslationLanguagesResponse = isFtTranslationLanguagesResponse;
82
+ const isFtTranslationRequest = (o) => {
81
83
  return isObject(o)
82
84
  && (isString(o.profileId))
83
85
  && (o.format == null || (0, exports.isTranslationFormat)(o.format))
84
86
  && (isString(o.destinationLanguage))
85
- && (isString(o.content))
87
+ && ((Array.isArray(o.content)
88
+ && o.content.every((v) => isString(v))))
86
89
  && (o.sourceLanguage == null || isString(o.sourceLanguage));
87
90
  };
88
- exports.isFtTranslationInput = isFtTranslationInput;
91
+ exports.isFtTranslationRequest = isFtTranslationRequest;
92
+ const isFtTranslationResponse = (o) => {
93
+ return isObject(o)
94
+ && ((Array.isArray(o.items)
95
+ && o.items.every((v) => isString(v))));
96
+ };
97
+ exports.isFtTranslationResponse = isFtTranslationResponse;
98
+ const isFtTranslationLocale = (o) => {
99
+ return isObject(o)
100
+ && (isString(o.code))
101
+ && (isString(o.label));
102
+ };
103
+ exports.isFtTranslationLocale = isFtTranslationLocale;
89
104
  const isFtMapAttachment = (o) => {
90
105
  return isObject(o)
91
106
  && (isString(o.file))
@@ -108,7 +123,8 @@ const isFtPaginatedToc = (o) => {
108
123
  return isObject(o)
109
124
  && ((0, exports.isFtPaginationConfiguration)(o.configuration))
110
125
  && ((Array.isArray(o.paginatedToc)
111
- && o.paginatedToc.every((v) => (0, exports.isFtPaginatedTocNode)(v))));
126
+ && o.paginatedToc.every((v) => (0, exports.isFtPaginatedTocNode)(v))))
127
+ && (isBoolean(o.translationError));
112
128
  };
113
129
  exports.isFtPaginatedToc = isFtPaginatedToc;
114
130
  const isFtPaginatedTocNode = (o) => {
@@ -121,9 +137,16 @@ const isFtPaginatedTocNode = (o) => {
121
137
  && o.children.every((v) => (0, exports.isFtPaginatedTocNode)(v))))
122
138
  && (o.pageConfiguration == null || (0, exports.isFtPageConfiguration)(o.pageConfiguration))
123
139
  && (o.contentId == null || isString(o.contentId))
140
+ && (o.untranslatedTitle == null || isString(o.untranslatedTitle))
124
141
  && (o.title == null || isString(o.title));
125
142
  };
126
143
  exports.isFtPaginatedTocNode = isFtPaginatedTocNode;
144
+ const isFtPaginatedTocNodeWithTranslationFailure = (o) => {
145
+ return isObject(o)
146
+ && ((0, exports.isFtPaginatedTocNode)(o.paginatedToc))
147
+ && (isBoolean(o.translationError));
148
+ };
149
+ exports.isFtPaginatedTocNodeWithTranslationFailure = isFtPaginatedTocNodeWithTranslationFailure;
127
150
  const isFtPaginationConfiguration = (o) => {
128
151
  return isObject(o)
129
152
  && (isBoolean(o.splitCurrentPageToc));