@fluid-topics/public-api 1.0.87 → 1.0.89

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/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
  }
@@ -499,6 +517,27 @@ class FluidTopicsApi {
499
517
  url.searchParams.append("Ft-Calling-App", this.ftCallingApp);
500
518
  return url.toString();
501
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
+ }
502
541
  }
503
542
  exports.FluidTopicsApi = FluidTopicsApi;
504
543
  exports.default = FluidTopicsApi;
@@ -8,7 +8,6 @@ const rolesInheritance = {
8
8
  [public_js_1.FtUserRole.PDF_EXPORT_USER]: [public_js_1.FtUserRole.PERSONAL_BOOK_USER],
9
9
  [public_js_1.FtUserRole.KHUB_ADMIN]: [public_js_1.FtUserRole.CONTENT_PUBLISHER],
10
10
  [public_js_1.FtUserRole.ADMIN]: [public_js_1.FtUserRole.KHUB_ADMIN, public_js_1.FtUserRole.USERS_ADMIN, public_js_1.FtUserRole.PORTAL_ADMIN],
11
- [public_js_1.FtUserRole.DEVELOPER]: [public_js_1.FtUserRole.BETA_USER, public_js_1.FtUserRole.DEBUG_USER],
12
11
  [public_js_1.FtUserRole.GENERATIVE_AI_EXPORT_USER]: [public_js_1.FtUserRole.GENERATIVE_AI_USER],
13
12
  };
14
13
  function roleMatches(actual, expected) {
@@ -1,8 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
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.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.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.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 = void 0;
3
+ 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.isFtAnalyticsEventGenAIProfileTranslationDetails = exports.isFtAnalyticsEventGenAIProfileCompletionDetails = exports.isFtAnalyticsEventGenAIProfileChatbotDetails = exports.isFtAnalyticsEventGenAIProfile = exports.isFtAnalyticsEventDisplay = exports.isFtTopicOriginType = exports.FtTopicOriginType = exports.isFtMyLibraryColors = exports.FtMyLibraryColors = exports.isFtHttpErrorDetails = void 0;
4
+ 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 = exports.isFtCollectionDocument = exports.isFtBookmark = exports.isFtPersonalBookTopicLinkCreation = void 0;
5
+ 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 = exports.FtVirtualField = exports.isFtSearchSortCriterionType = exports.FtSearchSortCriterionType = void 0;
6
+ exports.isFtWatermark = exports.isFtUserProfile = exports.isFtSession = void 0;
6
7
  const isObject = (o) => typeof o === "object" && o != null;
7
8
  const isBoolean = (o) => typeof o === "boolean";
8
9
  const isNumber = (o) => typeof o === "number";
@@ -46,11 +47,34 @@ const isFtAnalyticsEventDisplay = (o) => {
46
47
  exports.isFtAnalyticsEventDisplay = isFtAnalyticsEventDisplay;
47
48
  const isFtAnalyticsEventGenAIProfile = (o) => {
48
49
  return isObject(o)
49
- && (o.customPrompt == null || isString(o.customPrompt))
50
+ && (o.chatbotDetails == null || (0, exports.isFtAnalyticsEventGenAIProfileChatbotDetails)(o.chatbotDetails))
51
+ && (o.translationDetails == null || (0, exports.isFtAnalyticsEventGenAIProfileTranslationDetails)(o.translationDetails))
52
+ && (o.completionDetails == null || (0, exports.isFtAnalyticsEventGenAIProfileCompletionDetails)(o.completionDetails))
50
53
  && (isString(o.name))
51
- && (isString(o.id));
54
+ && (isString(o.id))
55
+ && (isString(o.type));
52
56
  };
53
57
  exports.isFtAnalyticsEventGenAIProfile = isFtAnalyticsEventGenAIProfile;
58
+ const isFtAnalyticsEventGenAIProfileChatbotDetails = (o) => {
59
+ return isObject(o)
60
+ && (isString(o.provider))
61
+ && (o.model == null || isString(o.model));
62
+ };
63
+ exports.isFtAnalyticsEventGenAIProfileChatbotDetails = isFtAnalyticsEventGenAIProfileChatbotDetails;
64
+ const isFtAnalyticsEventGenAIProfileCompletionDetails = (o) => {
65
+ return isObject(o)
66
+ && (isString(o.provider))
67
+ && (o.model == null || isString(o.model));
68
+ };
69
+ exports.isFtAnalyticsEventGenAIProfileCompletionDetails = isFtAnalyticsEventGenAIProfileCompletionDetails;
70
+ const isFtAnalyticsEventGenAIProfileTranslationDetails = (o) => {
71
+ return isObject(o)
72
+ && (isString(o.languageSource))
73
+ && (o.engine == null || isString(o.engine))
74
+ && (isString(o.provider))
75
+ && (isString(o.languageTarget));
76
+ };
77
+ exports.isFtAnalyticsEventGenAIProfileTranslationDetails = isFtAnalyticsEventGenAIProfileTranslationDetails;
54
78
  const isFtAnalyticsEventLocation = (o) => {
55
79
  return isObject(o)
56
80
  && (isString(o.type))
@@ -170,8 +194,7 @@ const isFtAnalyticsEvent = (o) => {
170
194
  && (isBoolean(o.offline))
171
195
  && (isString(o.appVersion))
172
196
  && (isString(o.appName))
173
- && ((0, exports.isFtAnalyticsEventName)(o.name))
174
- && (isString(o.version));
197
+ && ((0, exports.isFtAnalyticsEventName)(o.name));
175
198
  };
176
199
  exports.isFtAnalyticsEvent = isFtAnalyticsEvent;
177
200
  // From: WsAnalyticsEventName
@@ -435,6 +458,7 @@ const isFtMap = (o) => {
435
458
  && (o.originUrl == null || isString(o.originUrl))
436
459
  && (isString(o.fingerprint))
437
460
  && (isString(o.readerUrl))
461
+ && (o.untranslatedTitle == null || o.untranslatedTitle == null || isString(o.untranslatedTitle))
438
462
  && (o.khubVersion == null || isString(o.khubVersion))
439
463
  && (isString(o.id))
440
464
  && (o.lang == null || isString(o.lang));
@@ -457,6 +481,7 @@ const isFtTocNode = (o) => {
457
481
  && o.children.every((v) => (0, exports.isFtTocNode)(v))))
458
482
  && (o.origin == null || (0, exports.isFtTopicOrigin)(o.origin))
459
483
  && (isString(o.contentId))
484
+ && (o.untranslatedTitle == null || o.untranslatedTitle == null || isString(o.untranslatedTitle))
460
485
  && (isString(o.title));
461
486
  };
462
487
  exports.isFtTocNode = isFtTocNode;
@@ -515,6 +540,12 @@ var FtTopicContentTarget;
515
540
  })(FtTopicContentTarget = exports.FtTopicContentTarget || (exports.FtTopicContentTarget = {}));
516
541
  const isFtTopicContentTarget = (o) => Object.keys(FtTopicContentTarget).includes(o);
517
542
  exports.isFtTopicContentTarget = isFtTopicContentTarget;
543
+ const isFtTranslationContent = (o) => {
544
+ return isObject(o)
545
+ && (isBoolean(o.isTranslationError))
546
+ && (isString(o.content));
547
+ };
548
+ exports.isFtTranslationContent = isFtTranslationContent;
518
549
  // From: ExternalWebComponentContext
519
550
  var FtExternalWebComponentContext;
520
551
  (function (FtExternalWebComponentContext) {
@@ -1147,7 +1178,6 @@ var FtUserRole;
1147
1178
  FtUserRole["USERS_ADMIN"] = "USERS_ADMIN";
1148
1179
  FtUserRole["PORTAL_ADMIN"] = "PORTAL_ADMIN";
1149
1180
  FtUserRole["ADMIN"] = "ADMIN";
1150
- FtUserRole["DEVELOPER"] = "DEVELOPER";
1151
1181
  })(FtUserRole = exports.FtUserRole || (exports.FtUserRole = {}));
1152
1182
  const isFtUserRole = (o) => Object.keys(FtUserRole).includes(o);
1153
1183
  exports.isFtUserRole = isFtUserRole;
@@ -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";
@@ -73,15 +73,34 @@ var TranslationFormat;
73
73
  })(TranslationFormat = exports.TranslationFormat || (exports.TranslationFormat = {}));
74
74
  const isTranslationFormat = (o) => Object.keys(TranslationFormat).includes(o);
75
75
  exports.isTranslationFormat = isTranslationFormat;
76
- 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) => {
77
83
  return isObject(o)
78
84
  && (isString(o.profileId))
79
85
  && (o.format == null || (0, exports.isTranslationFormat)(o.format))
80
86
  && (isString(o.destinationLanguage))
81
- && (isString(o.content))
87
+ && ((Array.isArray(o.content)
88
+ && o.content.every((v) => isString(v))))
82
89
  && (o.sourceLanguage == null || isString(o.sourceLanguage));
83
90
  };
84
- 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;
85
104
  const isFtMapAttachment = (o) => {
86
105
  return isObject(o)
87
106
  && (isString(o.file))
@@ -104,7 +123,8 @@ const isFtPaginatedToc = (o) => {
104
123
  return isObject(o)
105
124
  && ((0, exports.isFtPaginationConfiguration)(o.configuration))
106
125
  && ((Array.isArray(o.paginatedToc)
107
- && o.paginatedToc.every((v) => (0, exports.isFtPaginatedTocNode)(v))));
126
+ && o.paginatedToc.every((v) => (0, exports.isFtPaginatedTocNode)(v))))
127
+ && (isBoolean(o.translationError));
108
128
  };
109
129
  exports.isFtPaginatedToc = isFtPaginatedToc;
110
130
  const isFtPaginatedTocNode = (o) => {
@@ -117,9 +137,16 @@ const isFtPaginatedTocNode = (o) => {
117
137
  && o.children.every((v) => (0, exports.isFtPaginatedTocNode)(v))))
118
138
  && (o.pageConfiguration == null || (0, exports.isFtPageConfiguration)(o.pageConfiguration))
119
139
  && (o.contentId == null || isString(o.contentId))
140
+ && (o.untranslatedTitle == null || isString(o.untranslatedTitle))
120
141
  && (o.title == null || isString(o.title));
121
142
  };
122
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;
123
150
  const isFtPaginationConfiguration = (o) => {
124
151
  return isObject(o)
125
152
  && (isBoolean(o.splitCurrentPageToc));
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).fluidtopics={})}(this,(function(e){"use strict";var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function r(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var a={exports:{}};!function(e,r){var a="undefined"!=typeof globalThis&&globalThis||"undefined"!=typeof self&&self||void 0!==t&&t,i=function(){function e(){this.fetch=!1,this.DOMException=a.DOMException}return e.prototype=a,new e}();!function(e){!function(r){var a=void 0!==e&&e||"undefined"!=typeof self&&self||void 0!==t&&t||{},i={searchParams:"URLSearchParams"in a,iterable:"Symbol"in a&&"iterator"in Symbol,blob:"FileReader"in a&&"Blob"in a&&function(){try{return new Blob,!0}catch(e){return!1}}(),formData:"FormData"in a,arrayBuffer:"ArrayBuffer"in a};if(i.arrayBuffer)var s=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],n=ArrayBuffer.isView||function(e){return e&&s.indexOf(Object.prototype.toString.call(e))>-1};function o(e){if("string"!=typeof e&&(e=String(e)),/[^a-z0-9\-#$%&'*+.^_`|~!]/i.test(e)||""===e)throw new TypeError('Invalid character in header field name: "'+e+'"');return e.toLowerCase()}function l(e){return"string"!=typeof e&&(e=String(e)),e}function c(e){var t={next:function(){var t=e.shift();return{done:void 0===t,value:t}}};return i.iterable&&(t[Symbol.iterator]=function(){return t}),t}function u(e){this.map={},e instanceof u?e.forEach((function(e,t){this.append(t,e)}),this):Array.isArray(e)?e.forEach((function(e){if(2!=e.length)throw new TypeError("Headers constructor: expected name/value pair to be length 2, found"+e.length);this.append(e[0],e[1])}),this):e&&Object.getOwnPropertyNames(e).forEach((function(t){this.append(t,e[t])}),this)}function d(e){if(!e._noBody)return e.bodyUsed?Promise.reject(new TypeError("Already read")):void(e.bodyUsed=!0)}function p(e){return new Promise((function(t,r){e.onload=function(){t(e.result)},e.onerror=function(){r(e.error)}}))}function y(e){var t=new FileReader,r=p(t);return t.readAsArrayBuffer(e),r}function h(e){if(e.slice)return e.slice(0);var t=new Uint8Array(e.byteLength);return t.set(new Uint8Array(e)),t.buffer}function E(){return this.bodyUsed=!1,this._initBody=function(e){var t;this.bodyUsed=this.bodyUsed,this._bodyInit=e,e?"string"==typeof e?this._bodyText=e:i.blob&&Blob.prototype.isPrototypeOf(e)?this._bodyBlob=e:i.formData&&FormData.prototype.isPrototypeOf(e)?this._bodyFormData=e:i.searchParams&&URLSearchParams.prototype.isPrototypeOf(e)?this._bodyText=e.toString():i.arrayBuffer&&i.blob&&((t=e)&&DataView.prototype.isPrototypeOf(t))?(this._bodyArrayBuffer=h(e.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):i.arrayBuffer&&(ArrayBuffer.prototype.isPrototypeOf(e)||n(e))?this._bodyArrayBuffer=h(e):this._bodyText=e=Object.prototype.toString.call(e):(this._noBody=!0,this._bodyText=""),this.headers.get("content-type")||("string"==typeof e?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):i.searchParams&&URLSearchParams.prototype.isPrototypeOf(e)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},i.blob&&(this.blob=function(){var e=d(this);if(e)return e;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))}),this.arrayBuffer=function(){if(this._bodyArrayBuffer){var e=d(this);return e||(ArrayBuffer.isView(this._bodyArrayBuffer)?Promise.resolve(this._bodyArrayBuffer.buffer.slice(this._bodyArrayBuffer.byteOffset,this._bodyArrayBuffer.byteOffset+this._bodyArrayBuffer.byteLength)):Promise.resolve(this._bodyArrayBuffer))}if(i.blob)return this.blob().then(y);throw new Error("could not read as ArrayBuffer")},this.text=function(){var e,t,r,a,i,s=d(this);if(s)return s;if(this._bodyBlob)return e=this._bodyBlob,t=new FileReader,r=p(t),a=/charset=([A-Za-z0-9_-]+)/.exec(e.type),i=a?a[1]:"utf-8",t.readAsText(e,i),r;if(this._bodyArrayBuffer)return Promise.resolve(function(e){for(var t=new Uint8Array(e),r=new Array(t.length),a=0;a<t.length;a++)r[a]=String.fromCharCode(t[a]);return r.join("")}(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error("could not read FormData body as text");return Promise.resolve(this._bodyText)},i.formData&&(this.formData=function(){return this.text().then(f)}),this.json=function(){return this.text().then(JSON.parse)},this}u.prototype.append=function(e,t){e=o(e),t=l(t);var r=this.map[e];this.map[e]=r?r+", "+t:t},u.prototype.delete=function(e){delete this.map[o(e)]},u.prototype.get=function(e){return e=o(e),this.has(e)?this.map[e]:null},u.prototype.has=function(e){return this.map.hasOwnProperty(o(e))},u.prototype.set=function(e,t){this.map[o(e)]=l(t)},u.prototype.forEach=function(e,t){for(var r in this.map)this.map.hasOwnProperty(r)&&e.call(t,this.map[r],r,this)},u.prototype.keys=function(){var e=[];return this.forEach((function(t,r){e.push(r)})),c(e)},u.prototype.values=function(){var e=[];return this.forEach((function(t){e.push(t)})),c(e)},u.prototype.entries=function(){var e=[];return this.forEach((function(t,r){e.push([r,t])})),c(e)},i.iterable&&(u.prototype[Symbol.iterator]=u.prototype.entries);var A=["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"];function T(e,t){if(!(this instanceof T))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');var r,i,s=(t=t||{}).body;if(e instanceof T){if(e.bodyUsed)throw new TypeError("Already read");this.url=e.url,this.credentials=e.credentials,t.headers||(this.headers=new u(e.headers)),this.method=e.method,this.mode=e.mode,this.signal=e.signal,s||null==e._bodyInit||(s=e._bodyInit,e.bodyUsed=!0)}else this.url=String(e);if(this.credentials=t.credentials||this.credentials||"same-origin",!t.headers&&this.headers||(this.headers=new u(t.headers)),this.method=(r=t.method||this.method||"GET",i=r.toUpperCase(),A.indexOf(i)>-1?i:r),this.mode=t.mode||this.mode||null,this.signal=t.signal||this.signal||function(){if("AbortController"in a)return(new AbortController).signal}(),this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&s)throw new TypeError("Body not allowed for GET or HEAD requests");if(this._initBody(s),!("GET"!==this.method&&"HEAD"!==this.method||"no-store"!==t.cache&&"no-cache"!==t.cache)){var n=/([?&])_=[^&]*/;if(n.test(this.url))this.url=this.url.replace(n,"$1_="+(new Date).getTime());else{this.url+=(/\?/.test(this.url)?"&":"?")+"_="+(new Date).getTime()}}}function f(e){var t=new FormData;return e.trim().split("&").forEach((function(e){if(e){var r=e.split("="),a=r.shift().replace(/\+/g," "),i=r.join("=").replace(/\+/g," ");t.append(decodeURIComponent(a),decodeURIComponent(i))}})),t}function m(e,t){if(!(this instanceof m))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');if(t||(t={}),this.type="default",this.status=void 0===t.status?200:t.status,this.status<200||this.status>599)throw new RangeError("Failed to construct 'Response': The status provided (0) is outside the range [200, 599].");this.ok=this.status>=200&&this.status<300,this.statusText=void 0===t.statusText?"":""+t.statusText,this.headers=new u(t.headers),this.url=t.url||"",this._initBody(e)}T.prototype.clone=function(){return new T(this,{body:this._bodyInit})},E.call(T.prototype),E.call(m.prototype),m.prototype.clone=function(){return new m(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new u(this.headers),url:this.url})},m.error=function(){var e=new m(null,{status:200,statusText:""});return e.ok=!1,e.status=0,e.type="error",e};var S=[301,302,303,307,308];m.redirect=function(e,t){if(-1===S.indexOf(t))throw new RangeError("Invalid status code");return new m(null,{status:t,headers:{location:e}})},r.DOMException=a.DOMException;try{new r.DOMException}catch(e){r.DOMException=function(e,t){this.message=e,this.name=t;var r=Error(e);this.stack=r.stack},r.DOMException.prototype=Object.create(Error.prototype),r.DOMException.prototype.constructor=r.DOMException}function _(e,t){return new Promise((function(s,n){var c=new T(e,t);if(c.signal&&c.signal.aborted)return n(new r.DOMException("Aborted","AbortError"));var d=new XMLHttpRequest;function p(){d.abort()}if(d.onload=function(){var e,t,r={statusText:d.statusText,headers:(e=d.getAllResponseHeaders()||"",t=new u,e.replace(/\r?\n[\t ]+/g," ").split("\r").map((function(e){return 0===e.indexOf("\n")?e.substr(1,e.length):e})).forEach((function(e){var r=e.split(":"),a=r.shift().trim();if(a){var i=r.join(":").trim();try{t.append(a,i)}catch(e){console.warn("Response "+e.message)}}})),t)};0===c.url.indexOf("file://")&&(d.status<200||d.status>599)?r.status=200:r.status=d.status,r.url="responseURL"in d?d.responseURL:r.headers.get("X-Request-URL");var a="response"in d?d.response:d.responseText;setTimeout((function(){s(new m(a,r))}),0)},d.onerror=function(){setTimeout((function(){n(new TypeError("Network request failed"))}),0)},d.ontimeout=function(){setTimeout((function(){n(new TypeError("Network request timed out"))}),0)},d.onabort=function(){setTimeout((function(){n(new r.DOMException("Aborted","AbortError"))}),0)},d.open(c.method,function(e){try{return""===e&&a.location.href?a.location.href:e}catch(t){return e}}(c.url),!0),"include"===c.credentials?d.withCredentials=!0:"omit"===c.credentials&&(d.withCredentials=!1),"responseType"in d&&(i.blob?d.responseType="blob":i.arrayBuffer&&(d.responseType="arraybuffer")),t&&"object"==typeof t.headers&&!(t.headers instanceof u||a.Headers&&t.headers instanceof a.Headers)){var y=[];Object.getOwnPropertyNames(t.headers).forEach((function(e){y.push(o(e)),d.setRequestHeader(e,l(t.headers[e]))})),c.headers.forEach((function(e,t){-1===y.indexOf(t)&&d.setRequestHeader(t,e)}))}else c.headers.forEach((function(e,t){d.setRequestHeader(t,e)}));c.signal&&(c.signal.addEventListener("abort",p),d.onreadystatechange=function(){4===d.readyState&&c.signal.removeEventListener("abort",p)}),d.send(void 0===c._bodyInit?null:c._bodyInit)}))}_.polyfill=!0,a.fetch||(a.fetch=_,a.Headers=u,a.Request=T,a.Response=m),r.Headers=u,r.Request=T,r.Response=m,r.fetch=_}({})}(i),i.fetch.ponyfill=!0,delete i.fetch.polyfill;var s=a.fetch?a:i;(r=s.fetch).default=s.fetch,r.fetch=s.fetch,r.Headers=s.Headers,r.Request=s.Request,r.Response=s.Response,e.exports=r}(a,a.exports);var i=r(a.exports);class s{reader;decoder=new TextDecoder;partialChunk="";constructor(e){this.reader=e}async*read(){for(;;){const{done:e,value:t}=await this.reader.read();if(e)return void(yield*this.readRemainingChunks());yield*this.readChunksFromValue(t)}}*readRemainingChunks(){yield*this.parseLine(this.partialChunk)}*readChunksFromValue(e){const t=(this.partialChunk+this.decoder.decode(e)).split("\n");this.partialChunk=t.pop();for(let e of t)yield*this.parseLine(e)}*parseLine(e){const[t,r]=e.split(/:(.*)/);"data"==t&&r.length>0&&(yield JSON.parse(r))}}const n=e=>"object"==typeof e&&null!=e,o=e=>"boolean"==typeof e,l=e=>"number"==typeof e,c=e=>"string"==typeof e;var u;e.FtMyLibraryColors=void 0,(u=e.FtMyLibraryColors||(e.FtMyLibraryColors={})).black="black",u.green="green",u.blue="blue",u.purple="purple",u.red="red",u.orange="orange",u.yellow="yellow";const d=t=>Object.keys(e.FtMyLibraryColors).includes(t);var p;e.FtTopicOriginType=void 0,(p=e.FtTopicOriginType||(e.FtTopicOriginType={})).OFFICIAL="OFFICIAL",p.PERSONAL="PERSONAL",p.SHARED="SHARED";const y=t=>Object.keys(e.FtTopicOriginType).includes(t),h=e=>n(e)&&l(e.width)&&l(e.height),E=e=>n(e)&&(null==e.customPrompt||c(e.customPrompt))&&c(e.name)&&c(e.id),A=e=>n(e)&&c(e.type)&&c(e.value),T=e=>n(e)&&c(e.pageType)&&c(e.type)&&c(e.url),f=e=>n(e)&&c(e.name)&&(null==e.language||c(e.language))&&c(e.id)&&c(e.type)&&c(e.url),m=e=>n(e)&&(null==e.metadata||Array.isArray(e.metadata)&&e.metadata.every((e=>W(e))))&&c(e.id)&&(null==e.mimeType||c(e.mimeType))&&(null==e.title||c(e.title))&&(null==e.type||O(e.type))&&(null==e.parentId||c(e.parentId)),S=e=>n(e)&&c(e.type)&&(null==e.value||c(e.value)),_=e=>n(e)&&c(e.terms)&&(null==e.searchType||c(e.searchType))&&(null==e.lastUpdate||c(e.lastUpdate))&&(null==e.facets||Array.isArray(e.facets)&&e.facets.every((e=>v(e)))),F=e=>n(e)&&(null==e.autocorrect||o(e.autocorrect))&&l(e.nbResults),g=e=>n(e)&&m(e.document)&&l(e.rank)&&(null==e.topic||R(e.topic))&&c(e.type),R=e=>n(e)&&(null==e.mapTitle||c(e.mapTitle))&&(null==e.metadata||Array.isArray(e.metadata)&&e.metadata.every((e=>W(e))))&&c(e.tocId)&&(null==e.mapId||c(e.mapId))&&c(e.title);var b;e.FtAnalyticsPublicationType=void 0,(b=e.FtAnalyticsPublicationType||(e.FtAnalyticsPublicationType={})).STRUCTURED_DOCUMENT="STRUCTURED_DOCUMENT",b.UNSTRUCTURED_DOCUMENT="UNSTRUCTURED_DOCUMENT",b.SHARED_PERSONAL_BOOK="SHARED_PERSONAL_BOOK",b.PERSONAL_BOOK="PERSONAL_BOOK",b.MAP_ATTACHMENT="MAP_ATTACHMENT",b.RESOURCE="RESOURCE";const O=t=>Object.keys(e.FtAnalyticsPublicationType).includes(t),v=e=>n(e)&&(null==e.dateValue||U(e.dateValue))&&(null==e.values||Array.isArray(e.values)&&e.values.every((e=>c(e))))&&(null==e.from||c(e.from))&&(null==e.to||c(e.to))&&(null==e.type||D(e.type))&&c(e.key);var C;e.FtAnalyticsSearchDateFacetValue=void 0,(C=e.FtAnalyticsSearchDateFacetValue||(e.FtAnalyticsSearchDateFacetValue={})).LAST_WEEK="LAST_WEEK",C.LAST_MONTH="LAST_MONTH",C.LAST_QUARTER="LAST_QUARTER",C.LAST_YEAR="LAST_YEAR";const U=t=>Object.keys(e.FtAnalyticsSearchDateFacetValue).includes(t);var I;e.FtAnalyticsSearchFacetType=void 0,(I=e.FtAnalyticsSearchFacetType||(e.FtAnalyticsSearchFacetType={})).VALUE="VALUE",I.DATE="DATE",I.RANGE="RANGE";const D=t=>Object.keys(e.FtAnalyticsSearchFacetType).includes(t);var L;e.FtAnalyticsEventName=void 0,(L=e.FtAnalyticsEventName||(e.FtAnalyticsEventName={})).BOOKMARK__CREATE="BOOKMARK__CREATE",L.BOOKMARK__DELETE="BOOKMARK__DELETE",L.CASE_DEFLECTION__START="CASE_DEFLECTION__START",L.CASE_DEFLECTION__OPEN_TICKET="CASE_DEFLECTION__OPEN_TICKET",L.CASE_DEFLECTION__RATE="CASE_DEFLECTION__RATE",L.COLLECTION__CREATE="COLLECTION__CREATE",L.COLLECTION__UPDATE="COLLECTION__UPDATE",L.COLLECTION__DELETE="COLLECTION__DELETE",L.DOCUMENT__DISPLAY="DOCUMENT__DISPLAY",L.DOCUMENT__DOWNLOAD="DOCUMENT__DOWNLOAD",L.DOCUMENT__PRINT="DOCUMENT__PRINT",L.DOCUMENT__PROCESS="DOCUMENT__PROCESS",L.DOCUMENT__RATE="DOCUMENT__RATE",L.DOCUMENT__SEARCH="DOCUMENT__SEARCH",L.DOCUMENT__START_DISPLAY="DOCUMENT__START_DISPLAY",L.DOCUMENT__UNRATE="DOCUMENT__UNRATE",L.FEEDBACK__SEND="FEEDBACK__SEND",L.GEN_AI__COMPLETED_QUERY="GEN_AI__COMPLETED_QUERY",L.GEN_AI__RATE="GEN_AI__RATE",L.GENAI_CASE_DEFLECTION__START="GENAI_CASE_DEFLECTION__START",L.GENAI_CASE_DEFLECTION__OPEN_TICKET="GENAI_CASE_DEFLECTION__OPEN_TICKET",L.KHUB__PROCESS="KHUB__PROCESS",L.KHUB__SEARCH="KHUB__SEARCH",L.LABELS__DOWNLOAD="LABELS__DOWNLOAD",L.LINK__SHARE="LINK__SHARE",L.PAGE__DISPLAY="PAGE__DISPLAY",L.PERSONAL_BOOK__CREATE="PERSONAL_BOOK__CREATE",L.PERSONAL_BOOK__DELETE="PERSONAL_BOOK__DELETE",L.PERSONAL_BOOK__UPDATE="PERSONAL_BOOK__UPDATE",L.PERSONAL_TOPIC__CREATE="PERSONAL_TOPIC__CREATE",L.PERSONAL_TOPIC__UPDATE="PERSONAL_TOPIC__UPDATE",L.PERSONAL_TOPIC__DELETE="PERSONAL_TOPIC__DELETE",L.SAVED_SEARCH__CREATE="SAVED_SEARCH__CREATE",L.SAVED_SEARCH__DELETE="SAVED_SEARCH__DELETE",L.SAVED_SEARCH__UPDATE="SAVED_SEARCH__UPDATE",L.SEARCH_PAGE__SELECT="SEARCH_PAGE__SELECT",L.TOPIC__DISPLAY="TOPIC__DISPLAY",L.TOPIC__RATE="TOPIC__RATE",L.TOPIC__START_DISPLAY="TOPIC__START_DISPLAY",L.TOPIC__UNRATE="TOPIC__UNRATE",L.USER__LOGIN="USER__LOGIN",L.USER__LOGOUT="USER__LOGOUT",L.HEARTBEAT="HEARTBEAT";const P=t=>Object.keys(e.FtAnalyticsEventName).includes(t),N=e=>n(e)&&Array.isArray(e.values)&&e.values.every((e=>Array.isArray(e)&&e.every((e=>c(e)))))&&c(e.key),k=e=>n(e)&&c(e.notes)&&Array.isArray(e.children)&&e.children.every((e=>k(e)))&&(null==e.topicLink||M(e.topicLink))&&c(e.title)&&(null==e.htmlContent||c(e.htmlContent)),M=e=>n(e)&&c(e.tocId)&&c(e.contentId)&&c(e.mapId),w=e=>n(e)&&c(e.topicStylesheetUrl)&&c(e.titleStylesheetUrl)&&Array.isArray(e.customCssClasses)&&e.customCssClasses.every((e=>c(e))),B=e=>n(e)&&(null==e.prettyUrl||c(e.prettyUrl))&&(null==e.hasRating||o(e.hasRating))&&c(e.tocId)&&Array.isArray(e.children)&&e.children.every((e=>B(e)))&&(null==e.origin||H(e.origin))&&c(e.contentId)&&c(e.title),H=e=>n(e)&&c(e.mapTitle)&&Array.isArray(e.breadcrumb)&&e.breadcrumb.every((e=>c(e)))&&c(e.tocId)&&c(e.contentId)&&c(e.mapId)&&y(e.type);var x;e.FtTopicContentTarget=void 0,(x=e.FtTopicContentTarget||(e.FtTopicContentTarget={})).THIRD_PARTY="THIRD_PARTY",x.OFF_THE_GRID="OFF_THE_GRID",x.CONTENT_PACKAGER="CONTENT_PACKAGER",x.PAGES="PAGES",x.DESIGNED_READER="DESIGNED_READER";var V;e.FtExternalWebComponentContext=void 0,(V=e.FtExternalWebComponentContext||(e.FtExternalWebComponentContext={})).HOMEPAGE="HOMEPAGE",V.CUSTOM="CUSTOM",V.HEADER="HEADER",V.READER="READER",V.TOPIC_TEMPLATE="TOPIC_TEMPLATE",V.SEARCH="SEARCH",V.SEARCH_RESULT="SEARCH_RESULT";var j;e.FtMetadataHomeLayout=void 0,(j=e.FtMetadataHomeLayout||(e.FtMetadataHomeLayout={})).CLASSIC="CLASSIC",j.CUSTOM="CUSTOM",j.DESIGNER="DESIGNER";const K=e=>n(e)&&c(e.lang)&&c(e.region),G=e=>n(e)&&K(e.defaultUiLocale)&&K(e.defaultContentLocale)&&Array.isArray(e.defaultRegions)&&e.defaultRegions.every((e=>K(e))),$=e=>n(e)&&l(e.count)&&c(e.label)&&(null==e.lang||c(e.lang)),q=e=>n(e)&&c(e.displayName)&&c(e.languageTag)&&o(e.translated);var Y;e.FtFacetType=void 0,(Y=e.FtFacetType||(e.FtFacetType={})).AND="AND",Y.OR="OR",Y.MONOVALUED="MONOVALUED";const W=e=>n(e)&&Array.isArray(e.values)&&e.values.every((e=>c(e)))&&(null==e.hierarchicalValues||Array.isArray(e.hierarchicalValues)&&e.hierarchicalValues.every((e=>Array.isArray(e)&&e.every((e=>c(e))))))&&c(e.label)&&c(e.key);var Q;e.FtMetadataSortRule=void 0,(Q=e.FtMetadataSortRule||(e.FtMetadataSortRule={})).NONE="NONE",Q.ALPHABET="ALPHABET",Q.VERSION="VERSION";const X=t=>Object.keys(e.FtMetadataSortRule).includes(t),z=e=>n(e)&&o(e.date)&&X(e.sortRule)&&c(e.label)&&o(e.reverseSort)&&c(e.key),J=e=>n(e)&&(null==e.periodFilter||null==e.periodFilter||Ue(e.periodFilter))&&c(e.query)&&(null==e.scope||je(e.scope))&&(null==e.filters||Array.isArray(e.filters)&&e.filters.every((e=>ve(e))))&&Array.isArray(e.sort)&&e.sort.every((e=>Ye(e)))&&(null==e.virtualField||ye(e.virtualField))&&(null==e.metadataFilters||Array.isArray(e.metadataFilters)&&e.metadataFilters.every((e=>Oe(e))))&&(null==e.contentLocale||c(e.contentLocale));var Z;e.FtRatingType=void 0,(Z=e.FtRatingType||(e.FtRatingType={})).STARS="STARS",Z.LIKE="LIKE",Z.DICHOTOMOUS="DICHOTOMOUS",Z.NO_RATING="NO_RATING";const ee=t=>Object.keys(e.FtRatingType).includes(t),te=e=>n(e)&&c(e.date)&&ee(e.type)&&l(e.value),re=e=>n(e)&&(null==e.rating||te(e.rating))&&ee(e.type),ae=e=>n(e)&&c(e.date)&&c(e.tocId)&&ee(e.type)&&l(e.value),ie=e=>n(e)&&Array.isArray(e.ratings)&&e.ratings.every((e=>ae(e)))&&ee(e.type),se=e=>n(e)&&Array.isArray(e.filter)&&e.filter.every((e=>c(e)))&&Array.isArray(e.prior)&&e.prior.every((e=>c(e)));var ne;e.FtPeriodFilterType=void 0,(ne=e.FtPeriodFilterType||(e.FtPeriodFilterType={})).LAST_WEEK="LAST_WEEK",ne.LAST_MONTH="LAST_MONTH",ne.LAST_QUARTER="LAST_QUARTER",ne.LAST_YEAR="LAST_YEAR",ne.CUSTOM="CUSTOM";const oe=t=>Object.keys(e.FtPeriodFilterType).includes(t);var le;e.FtSearchSortCriterionOrder=void 0,(le=e.FtSearchSortCriterionOrder||(e.FtSearchSortCriterionOrder={})).ASC="ASC",le.DESC="DESC";const ce=t=>Object.keys(e.FtSearchSortCriterionOrder).includes(t);var ue;e.FtSearchSortCriterionType=void 0,(ue=e.FtSearchSortCriterionType||(e.FtSearchSortCriterionType={})).ALPHA="ALPHA",ue.NATURAL="NATURAL";const de=t=>Object.keys(e.FtSearchSortCriterionType).includes(t);var pe;e.FtVirtualField=void 0,(pe=e.FtVirtualField||(e.FtVirtualField={})).EVERYWHERE="EVERYWHERE",pe.TITLE_ONLY="TITLE_ONLY",pe.NONE="NONE";const ye=t=>Object.keys(e.FtVirtualField).includes(t),he=e=>n(e)&&l(e.totalResultsCount)&&o(e.isLastPage)&&l(e.currentPage)&&l(e.totalClustersCount);var Ee;e.FtEditorialType=void 0,(Ee=e.FtEditorialType||(e.FtEditorialType={})).ARTICLE="ARTICLE",Ee.BOOK="BOOK",Ee.SHARED_BOOK="SHARED_BOOK";const Ae=t=>Object.keys(e.FtEditorialType).includes(t);var Te;e.FtOpenMode=void 0,(Te=e.FtOpenMode||(e.FtOpenMode={})).FLUIDTOPICS="FLUIDTOPICS",Te.EXTERNAL="EXTERNAL";const fe=t=>Object.keys(e.FtOpenMode).includes(t),me=e=>n(e)&&(null==e.perPage||l(e.perPage))&&l(e.page),Se=e=>n(e)&&c(e.key);var _e;e.FtCollectionDocumentType=void 0,(_e=e.FtCollectionDocumentType||(e.FtCollectionDocumentType={})).MAP="MAP",_e.DOCUMENT="DOCUMENT",_e.TOPIC="TOPIC",_e.PERSONAL_BOOK="PERSONAL_BOOK",_e.SHARED_BOOK="SHARED_BOOK";const Fe=t=>Object.keys(e.FtCollectionDocumentType).includes(t),ge=e=>n(e)&&be(e.type);var Re;e.FtDateFilterType=void 0,(Re=e.FtDateFilterType||(e.FtDateFilterType={})).LAST_WEEK="LAST_WEEK",Re.LAST_MONTH="LAST_MONTH",Re.LAST_QUARTER="LAST_QUARTER",Re.LAST_YEAR="LAST_YEAR";const be=t=>Object.keys(e.FtDateFilterType).includes(t),Oe=e=>n(e)&&(null==e.valueFilter||Ke(e.valueFilter))&&(null==e.rangeFilter||Le(e.rangeFilter))&&c(e.label)&&c(e.key)&&(null==e.dateFilter||ge(e.dateFilter)),ve=e=>n(e)&&o(e.negative)&&Array.isArray(e.values)&&e.values.every((e=>c(e)))&&c(e.label)&&c(e.key),Ce=e=>n(e)&&o(e.negative)&&Array.isArray(e.values)&&e.values.every((e=>c(e)))&&c(e.key),Ue=e=>n(e)&&(null==e.period||De(e.period))&&oe(e.periodType)&&(null==e.key||c(e.key)),Ie=e=>n(e)&&(null==e.valueFilter||Ke(e.valueFilter))&&(null==e.rangeFilter||Le(e.rangeFilter))&&c(e.key)&&(null==e.dateFilter||ge(e.dateFilter)),De=e=>n(e)&&c(e.from)&&c(e.to),Le=e=>n(e)&&c(e.from)&&c(e.to),Pe=e=>n(e)&&l(e.weight)&&c(e.value)&&c(e.key),Ne=e=>n(e)&&Array.isArray(e.entries)&&e.entries.every((e=>ke(e)))&&(null==e.metadataVariableAxis||c(e.metadataVariableAxis)),ke=e=>n(e)&&Array.isArray(e.missingTerms)&&e.missingTerms.every((e=>c(e)))&&(null==e.document||Me(e.document))&&(null==e.topic||Be(e.topic))&&xe(e.type)&&(null==e.map||we(e.map)),Me=e=>n(e)&&Array.isArray(e.metadata)&&e.metadata.every((e=>W(e)))&&fe(e.openMode)&&c(e.documentUrl)&&c(e.mimeType)&&c(e.title)&&(null==e.lastPublicationDate||c(e.lastPublicationDate))&&c(e.viewerUrl)&&c(e.contentUrl)&&c(e.filename)&&c(e.htmlTitle)&&(null==e.originUrl||c(e.originUrl))&&c(e.documentId)&&c(e.lastEditionDate)&&c(e.htmlExcerpt),we=e=>n(e)&&Array.isArray(e.metadata)&&e.metadata.every((e=>W(e)))&&(null==e.openMode||fe(e.openMode))&&Ae(e.editorialType)&&c(e.title)&&(null==e.lastPublicationDate||c(e.lastPublicationDate))&&c(e.htmlTitle)&&(null==e.originUrl||c(e.originUrl))&&c(e.mapUrl)&&c(e.readerUrl)&&c(e.mapId)&&(null==e.lastEditionDate||c(e.lastEditionDate))&&c(e.htmlExcerpt),Be=e=>n(e)&&Array.isArray(e.metadata)&&e.metadata.every((e=>W(e)))&&fe(e.openMode)&&c(e.contentId)&&Array.isArray(e.resources)&&e.resources.every((e=>Qe(e)))&&c(e.title)&&c(e.mapTitle)&&c(e.topicUrl)&&c(e.contentUrl)&&c(e.htmlTitle)&&Array.isArray(e.breadcrumb)&&e.breadcrumb.every((e=>c(e)))&&c(e.tocId)&&(null==e.originUrl||c(e.originUrl))&&c(e.readerUrl)&&c(e.mapId)&&(null==e.lastEditionDate||c(e.lastEditionDate))&&c(e.htmlExcerpt);var He;e.FtSearchResultType=void 0,(He=e.FtSearchResultType||(e.FtSearchResultType={})).MAP="MAP",He.DOCUMENT="DOCUMENT",He.TOPIC="TOPIC";const xe=t=>Object.keys(e.FtSearchResultType).includes(t);var Ve;e.FtSearchScope=void 0,(Ve=e.FtSearchScope||(e.FtSearchScope={})).DEFAULT="DEFAULT",Ve.DOCUMENTS="DOCUMENTS",Ve.ALL_TOPICS="ALL_TOPICS",Ve.TOPICS_AND_UNSTRUCTURED_DOCUMENTS="TOPICS_AND_UNSTRUCTURED_DOCUMENTS";const je=t=>Object.keys(e.FtSearchScope).includes(t),Ke=e=>n(e)&&o(e.negative)&&Array.isArray(e.values)&&e.values.every((e=>c(e))),Ge=e=>n(e)&&o(e.hierarchical)&&c(e.label)&&o(e.multiSelectionable)&&c(e.key)&&Array.isArray(e.rootNodes)&&e.rootNodes.every((e=>qe(e))),$e=e=>n(e)&&(null==e.maxDepth||l(e.maxDepth))&&c(e.id),qe=e=>n(e)&&l(e.totalResultsCount)&&o(e.descendantSelected)&&Array.isArray(e.childNodes)&&e.childNodes.every((e=>qe(e)))&&c(e.label)&&c(e.value)&&o(e.selected),Ye=e=>n(e)&&de(e.type)&&c(e.key)&&ce(e.order),We=e=>n(e)&&c(e.suggestedQuery)&&c(e.htmlSuggestedQuery),Qe=e=>n(e)&&c(e.filename)&&c(e.resourceUrl)&&c(e.id)&&c(e.mimeType)&&c(e.resourceContentUrl)&&c(e.viewerUrl),Xe=e=>n(e)&&(null==e.filenameExtension||c(e.filenameExtension))&&(null==e.editorialType||Ae(e.editorialType))&&(null==e.mimeType||c(e.mimeType))&&xe(e.type)&&c(e.value);var ze;e.FtUserRole=void 0,(ze=e.FtUserRole||(e.FtUserRole={})).PERSONAL_BOOK_USER="PERSONAL_BOOK_USER",ze.PERSONAL_BOOK_SHARE_USER="PERSONAL_BOOK_SHARE_USER",ze.HTML_EXPORT_USER="HTML_EXPORT_USER",ze.PDF_EXPORT_USER="PDF_EXPORT_USER",ze.SAVED_SEARCH_USER="SAVED_SEARCH_USER",ze.COLLECTION_USER="COLLECTION_USER",ze.OFFLINE_USER="OFFLINE_USER",ze.ANALYTICS_USER="ANALYTICS_USER",ze.BETA_USER="BETA_USER",ze.DEBUG_USER="DEBUG_USER",ze.PRINT_USER="PRINT_USER",ze.RATING_USER="RATING_USER",ze.FEEDBACK_USER="FEEDBACK_USER",ze.GENERATIVE_AI_USER="GENERATIVE_AI_USER",ze.GENERATIVE_AI_EXPORT_USER="GENERATIVE_AI_EXPORT_USER",ze.CONTENT_PUBLISHER="CONTENT_PUBLISHER",ze.KHUB_ADMIN="KHUB_ADMIN",ze.USERS_ADMIN="USERS_ADMIN",ze.PORTAL_ADMIN="PORTAL_ADMIN",ze.ADMIN="ADMIN",ze.DEVELOPER="DEVELOPER";const Je=t=>Object.keys(e.FtUserRole).includes(t),Ze=e=>n(e)&&c(e.identifier)&&c(e.realm),et=e=>n(e)&&(null==e.defaultFilters||Array.isArray(e.defaultFilters)&&e.defaultFilters.every((e=>Ce(e))))&&Array.isArray(e.defaultMetadataFilters)&&e.defaultMetadataFilters.every((e=>Ie(e))),tt=e=>n(e)&&(null==e.emailAddress||c(e.emailAddress))&&(null==e.displayName||c(e.displayName))&&(null==e.otpValidated||o(e.otpValidated))&&Array.isArray(e.roles)&&e.roles.every((e=>Je(e)))&&(null==e.userId||c(e.userId))&&(null==e.privacyPolicyAgreementDate||c(e.privacyPolicyAgreementDate))&&Array.isArray(e.tags)&&e.tags.every((e=>c(e))),rt=e=>n(e)&&c(e.color)&&Array.isArray(e.text)&&e.text.every((e=>c(e)))&&l(e.opacity),at=e=>"object"==typeof e&&null!=e,it=e=>"boolean"==typeof e,st=e=>"number"==typeof e,nt=e=>"string"==typeof e;var ot;e.FtConfigurationHistoryEntryStatus=void 0,(ot=e.FtConfigurationHistoryEntryStatus||(e.FtConfigurationHistoryEntryStatus={})).VALID="VALID",ot.INVALID="INVALID";const lt=e=>at(e)&&it(e.mailsSentByFluidTopics)&&it(e.mailsSentByFluidTopicsForUnauthenticatedUsers)&&Array.isArray(e.recipients)&&e.recipients.every((e=>nt(e)))&&Array.isArray(e.bodyMetadataIds)&&e.bodyMetadataIds.every((e=>nt(e)))&&Array.isArray(e.subjectMetadataIds)&&e.subjectMetadataIds.every((e=>nt(e))),ct=e=>at(e)&&nt(e.role)&&nt(e.content);var ut;e.TranslationFormat=void 0,(ut=e.TranslationFormat||(e.TranslationFormat={})).TEXT="TEXT",ut.HTML="HTML";const dt=t=>Object.keys(e.TranslationFormat).includes(t),pt=e=>at(e)&&(null==e.parentsVisibility||Array.isArray(e.parentsVisibility)&&e.parentsVisibility.every((e=>it(e))))&&it(e.isVisible),yt=e=>at(e)&&(null==e.prettyUrl||nt(e.prettyUrl))&&(null==e.hasRating||it(e.hasRating))&&(null==e.pageToc||Array.isArray(e.pageToc))&&(null==e.tocId||nt(e.tocId))&&Array.isArray(e.children)&&e.children.every((e=>yt(e)))&&(null==e.pageConfiguration||pt(e.pageConfiguration))&&(null==e.contentId||nt(e.contentId))&&(null==e.title||nt(e.title)),ht=e=>at(e)&&it(e.splitCurrentPageToc),Et=e=>at(e)&&at(e.metadata)&&Object.keys(e.metadata).every((e=>nt(e)))&&Object.values(e.metadata).every((e=>Array.isArray(e)&&e.every((e=>nt(e)))))&&nt(e.excerpt)&&st(e.relevance),At=e=>at(e)&&(null==e.values||Array.isArray(e.values)&&e.values.every((e=>nt(e))))&&(null==e.hierarchicalValues||Array.isArray(e.hierarchicalValues)&&e.hierarchicalValues.every((e=>Array.isArray(e)&&e.every((e=>nt(e))))))&&nt(e.key),Tt={[e.FtUserRole.PERSONAL_BOOK_SHARE_USER]:[e.FtUserRole.PERSONAL_BOOK_USER],[e.FtUserRole.HTML_EXPORT_USER]:[e.FtUserRole.PERSONAL_BOOK_USER],[e.FtUserRole.PDF_EXPORT_USER]:[e.FtUserRole.PERSONAL_BOOK_USER],[e.FtUserRole.KHUB_ADMIN]:[e.FtUserRole.CONTENT_PUBLISHER],[e.FtUserRole.ADMIN]:[e.FtUserRole.KHUB_ADMIN,e.FtUserRole.USERS_ADMIN,e.FtUserRole.PORTAL_ADMIN],[e.FtUserRole.DEVELOPER]:[e.FtUserRole.BETA_USER,e.FtUserRole.DEBUG_USER],[e.FtUserRole.GENERATIVE_AI_EXPORT_USER]:[e.FtUserRole.GENERATIVE_AI_USER]};function ft(e,t){return e===t||(Tt[e]??[]).some((e=>ft(e,t)))}function mt(e,t){if(null==e)return!1;return(Array.isArray(e)?e:Array.isArray(e.roles)?e.roles:Array.isArray(e.profile?.roles)?e.profile.roles:[]).some((e=>ft(e,t)))}const St="undefined"==typeof window?globalThis:window;function _t(e){let t={};for(let r in e){let a=e[r];("object"!=typeof a||Array.isArray(a))&&(a={prior:a});for(let e of["prior","filter"])a[e]=Array.isArray(a[e])?a[e]:[a[e]],a[e]=a[e].map((e=>null!=e?""+e:"")).filter((e=>""!==e));t[r]=a}return t}function Ft(e){return`${e}-FluidTopicsUnauthenticatedUserSearchPreferences`}const gt="undefined"==typeof window?globalThis:window;class Rt extends Error{method;endpoint;status;statusText;body;constructor(e,t,r,a,i){super(`${e} ${t} -> ${r} - ${a}: ${i}`),this.method=e,this.endpoint=t,this.status=r,this.statusText=a,this.body=i}}class bt extends CustomEvent{constructor(e){super("ft-api-http-error",{detail:e})}}async function Ot(e,t,r){if(!r.ok){let a={method:e,endpoint:t,status:r.status,statusText:r.statusText,body:await r.text()};throw"function"==typeof gt.dispatchEvent&&gt.dispatchEvent(new bt(a)),new Rt(a.method,a.endpoint,a.status,a.statusText,a.body)}return r}function vt(e){return"application/json"===e.headers.get("Content-Type")?e.json():e.text()}class Ct{tenantBaseUrl;tenantBaseUrlNoTrailingSlash;ftCallingApp;authorization;searchLabel;endpoints={authentication:{login:"api/authentication/login",logout:"api/authentication/logout",currentSession:"api/authentication/current-session"},khub:{maps:{mapId:e=>({info:`api/khub/maps/${e}`,toc:`api/khub/maps/${e}/toc`,pages:`api/khub/maps/${e}/pages`,feedback:`api/khub/maps/${e}/feedback`,rating:`api/khub/maps/${e}/rating`,attachments:{list:`api/khub/maps/${e}/attachments`,attachmentId:t=>({content:`api/khub/maps/${e}/attachments/${t}/content`})},resources:{list:`api/khub/maps/${e}/resources`,resourceId:t=>({content:`api/khub/maps/${e}/resources/${t}/content`})},topics:{contentId:t=>({info:`api/khub/maps/${e}/topics/${t}`,content:`api/khub/maps/${e}/topics/${t}/content`}),tocId:t=>({feedback:`api/khub/maps/${e}/topics/${t}/feedback`,rating:`api/khub/maps/${e}/topics/${t}/rating`})}})},documents:{documentId:e=>({info:`api/khub/documents/${e}`,content:`api/khub/documents/${e}/content`,text:`api/khub/documents/${e}/content/text`,feedback:`api/khub/documents/${e}/feedback`,rating:`api/khub/documents/${e}/rating`})},semantic:{search:"api/khub/semantic/search",clusteredSearch:"api/khub/semantic/clustered-search"},suggest:"api/khub/suggest",clusteredSearch:"api/khub/clustered-search",locales:"api/khub/locales"},users:{userId:e=>({collections:{collectionId:t=>({documents:`api/users/${e}/collections/${t}/documents`})},searches:{list:`api/users/${e}/searches`},bookmarks:{list:`api/users/${e}/bookmarks`}})},stylesheets:{fonts:"stylesheets/fonts.css",theme:"stylesheets/theme.css",content:{title:"stylesheets/content/title.css",topic:"stylesheets/content/topic.css"}},configuration:{reader:"api/configuration/reader",metadata:"api/configuration/metadata"},locales:{ui:"api/locales/ui",get:"api/locales"},messages:{locale:e=>({fluidTopics:{contextName:t=>({endpoint:`api/messages/${e}/fluid-topics/${t}`})},custom:{contextName:t=>({endpoint:`api/messages/${e}/custom/${t}`})}})},ai:{generate:"api/ai/generate",sendFeedback:"api/ai/rate",chat:"/api/ai/rag/chat",translate:"api/ai/translate"},assets:{highlightjs:"assets/scripts/highlightjs"},analytics:{events:"api/analytics/events"}};get defaultHeaders(){return{...this.authorization,...this.searchLabel,"Ft-Calling-App":this.ftCallingApp}}constructor(e,t,r){e=(e??gt.fluidTopicsBaseUrl??gt.__gwt_ft_moduleBase??"").trim(),this.tenantBaseUrl=e.endsWith("/")?e:e+"/",this.tenantBaseUrlNoTrailingSlash=this.tenantBaseUrl.replace(/\/$/,""),r&&void 0!==gt.location&&gt.location.href.startsWith(this.tenantBaseUrl)?this.ftCallingApp=t:this.ftCallingApp=`ft-public-api/${t}`}setApiKey(e){this.authorization={Authorization:"Bearer "+e}}setCredentials(e,t){var r;this.authorization={Authorization:"Basic "+(r=`${e}:${t}`,"undefined"!=typeof Buffer?Buffer.from(r).toString("base64"):btoa(r))}}clearAuthentication(){this.authorization=void 0}setSearchLabel(e){this.searchLabel={"FT-search-label":e}}clearSearchLabel(){this.searchLabel=void 0}login(e,t){let r={login:e,password:t,rememberMe:!0};return this.post(this.endpoints.authentication.login,r).then((r=>(this.setCredentials(e,t),r)))}logout(){return this.post(this.endpoints.authentication.logout).then((()=>this.clearAuthentication()))}getCurrentSession(){return this.get(this.endpoints.authentication.currentSession)}getReaderConfiguration(){return this.get(this.endpoints.configuration.reader)}getMap(e,t){return this.get(this.endpoints.khub.maps.mapId(e).info,t)}getTableOfContent(e,t){return this.get(this.endpoints.khub.maps.mapId(e).toc,t)}getPages(e,t){return this.get(this.endpoints.khub.maps.mapId(e).pages,t)}getTopic(e,t,r){return this.get(this.endpoints.khub.maps.mapId(e).topics.contentId(t).info,r)}getTopicHTMLContent(e,t,r,a){return this.get(this.endpoints.khub.maps.mapId(e).topics.contentId(t).content+(r?"?target="+r:""),a)}getMapAttachments(e,t){return this.get(this.endpoints.khub.maps.mapId(e).attachments.list,t)}getMapAttachmentContent(e,t,r){return this.fetchRawData(this.endpoints.khub.maps.mapId(e).attachments.attachmentId(t).content,r)}getMapResources(e,t){return this.get(this.endpoints.khub.maps.mapId(e).resources.list,t)}getMapResourceContent(e,t,r){return this.fetchRawData(this.endpoints.khub.maps.mapId(e).resources.resourceId(t).content,r)}getUnstructuredDocument(e,t){return this.get(this.endpoints.khub.documents.documentId(e).info,t)}getUnstructuredDocumentContent(e,t){return this.fetchRawData(this.endpoints.khub.documents.documentId(e).content,t)}getUnstructuredDocumentTextContent(e,t){return this.get(this.endpoints.khub.documents.documentId(e).text,t)}getCollectionDocuments(e,t){return this.get(this.endpoints.users.userId(e).collections.collectionId(t).documents)}getSuggestions(e){return this.post(this.endpoints.khub.suggest,e)}search(e){return this.post(this.endpoints.khub.clusteredSearch,e)}getAvailableSearchLocales(){return this.get(this.endpoints.khub.locales)}getAvailableUiLocales(){return this.get(this.endpoints.locales.ui)}getLocalesConfiguration(){return this.get(this.endpoints.locales.get)}getMetadataConfiguration(){return this.get(this.endpoints.configuration.metadata)}getMapRating(e){return this.get(this.endpoints.khub.maps.mapId(e).rating)}rateMap(e,t,r){return this.post(this.endpoints.khub.maps.mapId(e).rating,{type:t,value:r})}unrateMap(e){return this.delete(this.endpoints.khub.maps.mapId(e).rating)}sendMapFeedback(e,t,r){return this.post(this.endpoints.khub.maps.mapId(e).feedback,{message:t,from:r})}rateTopic(e,t,r,a){return this.post(this.endpoints.khub.maps.mapId(e).topics.tocId(t).rating,{type:r,value:a})}unrateTopic(e,t){return this.delete(this.endpoints.khub.maps.mapId(e).topics.tocId(t).rating)}sendTopicFeedback(e,t,r,a){return this.post(this.endpoints.khub.maps.mapId(e).topics.tocId(t).feedback,{message:r,from:a})}getDocumentRating(e){return this.get(this.endpoints.khub.documents.documentId(e).rating)}rateDocument(e,t,r){return this.post(this.endpoints.khub.documents.documentId(e).rating,{type:t,value:r})}unrateDocument(e){return this.delete(this.endpoints.khub.documents.documentId(e).rating)}sendDocumentFeedback(e,t,r){return this.post(this.endpoints.khub.documents.documentId(e).feedback,{message:t,from:r})}semanticSearch(e){return this.post(this.endpoints.khub.semantic.search,{request:e})}clusteredSemanticSearch(e){return this.post(this.endpoints.khub.semantic.clusteredSearch,{request:e})}getFluidTopicsMessageContext(e,t){return this.get(this.endpoints.messages.locale(e).fluidTopics.contextName(t).endpoint)}getCustomMessageContext(e,t){return this.get(this.endpoints.messages.locale(e).custom.contextName(t).endpoint)}listMySearches(e){return this.get(this.endpoints.users.userId(e).searches.list)}listMyBookmarks(e){return this.get(this.endpoints.users.userId(e).bookmarks.list)}sendEvents(e){return e.length?this.post(this.endpoints.analytics.events,e):Promise.resolve()}async*generate(e,t){const r=await this.fetch(this.endpoints.ai.generate,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({profileId:e,parameters:t}),credentials:null==this.authorization?"include":void 0});await Ot("POST",this.endpoints.ai.generate,r);const a=new s(r.body.getReader());yield*a.read()}async*chat(e){const t=await this.fetch(this.endpoints.ai.chat,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e),credentials:null==this.authorization?"include":void 0});await Ot("POST",this.endpoints.ai.chat,t);const r=new s(t.body.getReader());yield*r.read()}translate(e){return this.post(this.endpoints.ai.translate,e)}sendFeedback(e){return this.post(this.endpoints.ai.sendFeedback,e)}get(e,t){return this.makeRequest("GET",this.withVersion(e,t))}post(e,t){return this.makeRequest("POST",e,t)}put(e,t){return this.makeRequest("PUT",e,t)}delete(e){return this.makeRequest("DELETE",e)}makeAbsolute(e){return e.startsWith(this.tenantBaseUrl)||e===this.tenantBaseUrlNoTrailingSlash?e:this.tenantBaseUrl+e.replace(/^\//,"")}extractEndpoint(e){return e.replace(this.tenantBaseUrlNoTrailingSlash,"").replace(/^\//,"")}async fetch(e,t){const r=t;return await i(this.makeAbsolute(e),{...r??{},headers:{...this.defaultHeaders,...r?.headers??{}}})}upload(e,t,r,a=(()=>{})){return"undefined"!=typeof XMLHttpRequest?new Promise(((i,s)=>{let n=new XMLHttpRequest;n.onload=()=>{if(n.status>=200&&n.status<300){let e="application/json"===n.getResponseHeader("Content-Type")?JSON.parse(n.responseText):n.responseText;i(e)}else s(new Rt("GET",t,n.status,n.statusText,n.responseText))},n.upload.onprogress=e=>a(e),n.open(e,this.makeAbsolute(t),!0),n.send(r)})):this.fetch(t,{method:e,body:r}).then((r=>Ot(e,t,r))).then(vt)}makeRequest(e,t,r){return this.fetch(t,{method:e,headers:{...null!=r?{"Content-Type":"application/json"}:{}},body:null!=r?JSON.stringify(r):void 0,credentials:null==this.authorization?"include":void 0}).then((r=>Ot(e,t,r))).then(vt)}fetchRawData(e,t){return i(this.withVersion(e,t),{headers:this.defaultHeaders,credentials:null==this.authorization?"include":void 0}).then((t=>Ot("GET",e,t))).then((e=>e.arrayBuffer()))}withVersion(e,t){let r=new URL(this.makeAbsolute(e));return t&&r.searchParams.append("v",t),r.toString()}withAnalyticsQueryParams(e){let t=new URL(this.makeAbsolute(e));return t.searchParams.append("Ft-Calling-App",this.ftCallingApp),t.toString()}}e.FluidTopicsApi=Ct,e.HttpError=Rt,e.HttpErrorEvent=bt,e.addUnauthenticatedUserSearchPreferencesChangeHandler=function(e,t){if(St.localStorage){const r=Ft(e),a=e=>{e.storageArea===St.localStorage&&e.key===r&&t(JSON.parse(e.newValue??"{}"))};return St.addEventListener("storage",a),{removeHandler:()=>St.removeEventListener("storage",a)}}console.error("Cannot handle unauthenticated preferences: local storage is unavailable.")},e.default=Ct,e.getUnauthenticatedUserSearchPreferences=function(e){if(St.localStorage)return JSON.parse(St.localStorage.getItem(Ft(e))??"{}");console.error("Cannot get unauthenticated preferences: local storage is unavailable.")},e.isFtAnalyticsEvent=e=>n(e)&&o(e.offline)&&c(e.appVersion)&&c(e.appName)&&P(e.name)&&c(e.version),e.isFtAnalyticsEventDisplay=h,e.isFtAnalyticsEventGenAIProfile=E,e.isFtAnalyticsEventLocation=A,e.isFtAnalyticsEventName=P,e.isFtAnalyticsEventOrigin=T,e.isFtAnalyticsEventPage=f,e.isFtAnalyticsEventPublication=m,e.isFtAnalyticsEventRating=S,e.isFtAnalyticsEventSearchQuery=_,e.isFtAnalyticsEventSearchResponse=F,e.isFtAnalyticsEventSearchResult=g,e.isFtAnalyticsEventTopic=R,e.isFtAnalyticsPublicationType=O,e.isFtAnalyticsSearchDateFacetValue=U,e.isFtAnalyticsSearchFacet=v,e.isFtAnalyticsSearchFacetType=D,e.isFtAuthenticatedSession=e=>n(e)&&Ze(e.authenticationIdentifier)&&tt(e.profile),e.isFtAuthenticationIdentifier=Ze,e.isFtBookmark=e=>n(e)&&c(e.mapTitle)&&d(e.color)&&Array.isArray(e.breadcrumb)&&e.breadcrumb.every((e=>c(e)))&&c(e.tocId)&&c(e.lastUpdate)&&c(e.readerUrl)&&c(e.mapId)&&c(e.id)&&c(e.title)&&c(e.creationDate),e.isFtCaseDeflectionEvent=e=>n(e)&&(null==e.searchQuery||_(e.searchQuery))&&c(e.context)&&(null==e.rating||S(e.rating))&&(null==e.topic||R(e.topic)),e.isFtClusteredSemanticSearchReply=e=>at(e)&&Array.isArray(e.documents)&&e.documents.every((e=>Et(e)))&&Array.isArray(e.clusterId)&&e.clusterId.every((e=>nt(e))),e.isFtCollectionDocument=e=>n(e)&&o(e.deleted)&&(null==e.apiUrl||c(e.apiUrl))&&(null==e.portalUrl||c(e.portalUrl))&&c(e.id)&&c(e.title)&&Fe(e.type),e.isFtCollectionDocumentType=Fe,e.isFtConfigurationHistoryEntryStatus=t=>Object.keys(e.FtConfigurationHistoryEntryStatus).includes(t),e.isFtCredentials=e=>n(e)&&c(e.password)&&(null==e.newPassword||c(e.newPassword))&&o(e.rememberMe)&&c(e.login),e.isFtDateFilter=ge,e.isFtDateFilterType=be,e.isFtDefaultLocale=K,e.isFtDefaultLocales=G,e.isFtDocumentDisplayEvent=e=>n(e)&&m(e.publication)&&l(e.viewDurationMs)&&A(e.location),e.isFtDocumentDownloadEvent=e=>n(e)&&m(e.document)&&A(e.location),e.isFtDocumentPrintEvent=e=>n(e)&&m(e.publication),e.isFtDocumentSearchEvent=e=>n(e)&&F(e.searchResponse)&&m(e.publication)&&_(e.searchQuery),e.isFtDocumentStartDisplayEvent=e=>n(e)&&m(e.publication)&&A(e.location),e.isFtEditorialType=Ae,e.isFtExternalWebComponentContext=t=>Object.keys(e.FtExternalWebComponentContext).includes(t),e.isFtFacetType=t=>Object.keys(e.FtFacetType).includes(t),e.isFtFeedbackCreation=e=>n(e)&&(null==e.from||c(e.from))&&c(e.message),e.isFtFeedbackSendEvent=e=>n(e)&&Array.isArray(e.breadcrumb)&&e.breadcrumb.every((e=>R(e)))&&m(e.publication)&&o(e.loggedIn),e.isFtGenAIGenerateInput=e=>at(e)&&nt(e.profileId)&&(null==e.parameters||at(e.parameters)&&Object.keys(e.parameters).every((e=>nt(e)))&&Object.values(e.parameters).every((e=>nt(e)))),e.isFtGenAIRating=e=>at(e)&&st(e.rating)&&nt(e.comment)&&nt(e.queryId),e.isFtGenAiCaseDeflectionEvent=e=>n(e)&&(null==e.generationId||c(e.generationId))&&(null==e.searchQuery||_(e.searchQuery))&&c(e.context),e.isFtGenAiCompletedQueryEvent=e=>n(e)&&c(e.result)&&E(e.profile)&&l(e.durationMs)&&(null==e.parameters||n(e.parameters)&&Object.keys(e.parameters).every((e=>c(e)))&&Object.values(e.parameters).every((e=>c(e))))&&c(e.queryId),e.isFtGenAiRateEvent=e=>n(e)&&S(e.rating)&&c(e.comment)&&c(e.queryId),e.isFtHttpErrorDetails=e=>n(e)&&c(e.endpoint)&&c(e.method)&&c(e.statusText)&&c(e.body)&&l(e.status),e.isFtKhubSearchEvent=e=>n(e)&&F(e.searchResponse)&&_(e.searchQuery),e.isFtLabeledMetadataFilter=Oe,e.isFtLabelsDownloadEvent=e=>n(e)&&c(e.locale),e.isFtLegacyLabeledMetadataFilter=ve,e.isFtLegacyMetadataFilter=Ce,e.isFtLinkShareEvent=e=>n(e)&&Array.isArray(e.breadcrumb)&&e.breadcrumb.every((e=>R(e)))&&m(e.publication),e.isFtLocalesConfiguration=e=>n(e)&&Array.isArray(e.availableUiLocales)&&e.availableUiLocales.every((e=>q(e)))&&o(e.allLanguagesAllowed)&&G(e.defaultLocales),e.isFtMap=e=>n(e)&&(null==e.prettyUrl||c(e.prettyUrl))&&Array.isArray(e.metadata)&&e.metadata.every((e=>W(e)))&&(null==e.watermark||rt(e.watermark))&&fe(e.openMode)&&(null==e.topicsApiEndpoint||c(e.topicsApiEndpoint))&&(null==e.description||c(e.description))&&(null==e.attachmentsApiEndpoint||c(e.attachmentsApiEndpoint))&&Ae(e.editorialType)&&c(e.baseId)&&c(e.clusterId)&&c(e.title)&&c(e.lastPublication)&&o(e.pbkConfidential)&&c(e.lastEdition)&&c(e.originId)&&(null==e.rightsApiEndpoint||c(e.rightsApiEndpoint))&&w(e.contentStyles)&&(null==e.originUrl||c(e.originUrl))&&c(e.fingerprint)&&c(e.readerUrl)&&(null==e.khubVersion||c(e.khubVersion))&&c(e.id)&&(null==e.lang||c(e.lang)),e.isFtMapAttachment=e=>at(e)&&nt(e.file)&&(null==e.size||st(e.size))&&it(e.externalLink)&&nt(e.name)&&nt(e.id)&&(null==e.mimeType||nt(e.mimeType))&&(null==e.viewerUrl||nt(e.viewerUrl)),e.isFtMapResource=e=>n(e)&&c(e.contentUrl)&&c(e.filename)&&c(e.id)&&c(e.mimeType),e.isFtMapStyles=w,e.isFtMessageContext=e=>n(e)&&c(e.name)&&n(e.messages)&&Object.keys(e.messages).every((e=>c(e)))&&Object.values(e.messages).every((e=>c(e)))&&c(e.locale),e.isFtMetadata=W,e.isFtMetadataConfiguration=e=>n(e)&&Array.isArray(e.descriptors)&&e.descriptors.every((e=>z(e))),e.isFtMetadataDescriptor=z,e.isFtMetadataFilter=Ie,e.isFtMetadataHomeLayout=t=>Object.keys(e.FtMetadataHomeLayout).includes(t),e.isFtMetadataPreferenceConfiguration=se,e.isFtMetadataSortRule=X,e.isFtMyLibraryColors=d,e.isFtMySearch=e=>n(e)&&J(e.searchRequest)&&d(e.color)&&o(e.alert)&&c(e.description)&&c(e.id)&&c(e.ownerId)&&c(e.title)&&c(e.creationDate),e.isFtMySearchRequest=J,e.isFtOpenMode=fe,e.isFtPageConfiguration=pt,e.isFtPageDisplayEvent=e=>n(e)&&T(e.origin)&&h(e.display)&&f(e.page),e.isFtPageRequest=me,e.isFtPaginatedToc=e=>at(e)&&ht(e.configuration)&&Array.isArray(e.paginatedToc)&&e.paginatedToc.every((e=>yt(e))),e.isFtPaginatedTocNode=yt,e.isFtPaginationConfiguration=ht,e.isFtPeriod=De,e.isFtPeriodFilter=Ue,e.isFtPeriodFilterType=oe,e.isFtPersonalBookCreation=e=>n(e)&&Array.isArray(e.metadata)&&e.metadata.every((e=>N(e)))&&Array.isArray(e.nodes)&&e.nodes.every((e=>k(e)))&&c(e.description)&&c(e.title),e.isFtPersonalBookMetadataUpdate=N,e.isFtPersonalBookNodeCreation=k,e.isFtPersonalBookTopicLinkCreation=M,e.isFtPrivacyPolicyConfiguration=e=>n(e)&&c(e.policyDescription)&&o(e.agreementRequired)&&c(e.userAgreementMessage),e.isFtPublicClusterSortCriterion=Se,e.isFtPublicationRating=te,e.isFtPublicationRatingSummary=re,e.isFtRagHistory=ct,e.isFtRagInput=e=>at(e)&&nt(e.profileId)&&(null==e.conversationId||nt(e.conversationId))&&nt(e.query)&&(null==e.messages||Array.isArray(e.messages)&&e.messages.every((e=>ct(e))))&&(null==e.filters||Array.isArray(e.filters)&&e.filters.every((e=>At(e)))),e.isFtRangeFilter=Le,e.isFtRatingCreation=e=>n(e)&&ee(e.type)&&l(e.value),e.isFtRatingSummary=e=>n(e)&&(null==e.topics||ie(e.topics))&&re(e.publication),e.isFtRatingType=ee,e.isFtReaderConfiguration=e=>at(e)&&lt(e.feedback)&&st(e.loadAfterLastVisibleTopic)&&nt(e.relativeTopicPivotMetadata)&&st(e.loadBeforeFirstVisibleTopic)&&nt(e.relativePivotMetadata),e.isFtReaderFeedbackConfiguration=lt,e.isFtSearchFacet=Ge,e.isFtSearchFacetConf=$e,e.isFtSearchFacetEntry=qe,e.isFtSearchLocale=$,e.isFtSearchLocales=e=>n(e)&&Array.isArray(e.contentLocales)&&e.contentLocales.every((e=>$(e))),e.isFtSearchPageSelectEvent=e=>n(e)&&g(e.searchResult)&&(null==e.externalLink||c(e.externalLink))&&_(e.searchQuery),e.isFtSearchPreferences=et,e.isFtSearchPreferencesConfiguration=e=>n(e)&&n(e.metadata)&&Object.keys(e.metadata).every((e=>c(e)))&&Object.values(e.metadata).every((e=>se(e))),e.isFtSearchPreset=e=>n(e)&&c(e.name)&&l(e.priority)&&(null==e.contentLocale||c(e.contentLocale))&&Array.isArray(e.metadataFilters)&&e.metadataFilters.every((e=>Ie(e))),e.isFtSearchPrior=Pe,e.isFtSearchRequest=e=>n(e)&&(null==e.periodFilter||null==e.periodFilter||Ue(e.periodFilter))&&c(e.query)&&me(e.paging)&&(null==e.filters||Array.isArray(e.filters)&&e.filters.every((e=>Ce(e))))&&Array.isArray(e.sort)&&e.sort.every((e=>Ye(e)))&&(null==e.virtualField||ye(e.virtualField))&&Array.isArray(e.metadataFilters)&&e.metadataFilters.every((e=>Ie(e)))&&Array.isArray(e.facets)&&e.facets.every((e=>$e(e)))&&(null==e.scope||je(e.scope))&&(null==e.uiLocale||c(e.uiLocale))&&(null==e.contentLocale||c(e.contentLocale))&&(null==e.priors||Array.isArray(e.priors)&&e.priors.every((e=>Pe(e))))&&(null==e.clusterSortCriterions||Array.isArray(e.clusterSortCriterions)&&e.clusterSortCriterions.every((e=>Se(e)))),e.isFtSearchResultCluster=Ne,e.isFtSearchResultClusterEntry=ke,e.isFtSearchResultMap=we,e.isFtSearchResultTopic=Be,e.isFtSearchResultType=xe,e.isFtSearchResultUnstructuredDocument=Me,e.isFtSearchResults=e=>n(e)&&(null==e.spellcheck||We(e.spellcheck))&&he(e.paging)&&Array.isArray(e.results)&&e.results.every((e=>Ne(e)))&&Array.isArray(e.facets)&&e.facets.every((e=>Ge(e))),e.isFtSearchResultsPageInfo=he,e.isFtSearchScope=je,e.isFtSearchSortCriterion=Ye,e.isFtSearchSortCriterionOrder=ce,e.isFtSearchSortCriterionType=de,e.isFtSemanticSearchFilter=At,e.isFtSemanticSearchRequest=e=>at(e)&&nt(e.query)&&(null==e.filters||Array.isArray(e.filters)&&e.filters.every((e=>At(e))))&&(null==e.nbResults||st(e.nbResults)),e.isFtSemanticSearchResponseItem=Et,e.isFtSession=e=>n(e)&&(null==e.authenticationIdentifier||Ze(e.authenticationIdentifier))&&l(e.idleTimeoutInMillis)&&tt(e.profile)&&o(e.sessionAuthenticated)&&et(e.searchPreferences),e.isFtSpellcheck=We,e.isFtSuggestRequest=e=>n(e)&&c(e.input)&&(null==e.scope||je(e.scope))&&Array.isArray(e.sort)&&e.sort.every((e=>Ye(e)))&&(null==e.maxCount||l(e.maxCount))&&(null==e.contentLocale||c(e.contentLocale))&&Array.isArray(e.metadataFilters)&&e.metadataFilters.every((e=>Ie(e))),e.isFtSuggestResult=Xe,e.isFtSuggestResults=e=>n(e)&&Array.isArray(e.suggestions)&&e.suggestions.every((e=>Xe(e))),e.isFtTocNode=B,e.isFtTopic=e=>n(e)&&Array.isArray(e.metadata)&&e.metadata.every((e=>W(e)))&&c(e.id)&&c(e.contentApiEndpoint)&&c(e.title),e.isFtTopicContentTarget=t=>Object.keys(e.FtTopicContentTarget).includes(t),e.isFtTopicDisplayEvent=e=>n(e)&&Array.isArray(e.breadcrumb)&&e.breadcrumb.every((e=>R(e)))&&m(e.publication)&&l(e.viewDurationMs)&&A(e.location),e.isFtTopicOrigin=H,e.isFtTopicOriginType=y,e.isFtTopicRating=ae,e.isFtTopicResource=Qe,e.isFtTopicStartDisplayEvent=e=>n(e)&&Array.isArray(e.breadcrumb)&&e.breadcrumb.every((e=>R(e)))&&m(e.publication)&&A(e.location),e.isFtTopicsRatingSummary=ie,e.isFtTranslationInput=e=>at(e)&&nt(e.profileId)&&(null==e.format||dt(e.format))&&nt(e.destinationLanguage)&&nt(e.content)&&(null==e.sourceLanguage||nt(e.sourceLanguage)),e.isFtUiLocale=q,e.isFtUnstructuredDocument=e=>n(e)&&(null==e.prettyUrl||c(e.prettyUrl))&&Array.isArray(e.metadata)&&e.metadata.every((e=>W(e)))&&c(e.openMode)&&(null==e.description||c(e.description))&&c(e.mimeType)&&(null==e.baseId||c(e.baseId))&&(null==e.clusterId||c(e.clusterId))&&c(e.contentApiEndpoint)&&c(e.title)&&(null==e.lastPublication||c(e.lastPublication))&&c(e.viewerUrl)&&c(e.lastEdition)&&c(e.filename)&&(null==e.originId||c(e.originId))&&c(e.rightsApiEndpoint)&&(null==e.originUrl||c(e.originUrl))&&(null==e.khubVersion||c(e.khubVersion))&&c(e.id)&&(null==e.lang||c(e.lang)),e.isFtUserProfile=tt,e.isFtUserRole=Je,e.isFtValueFilter=Ke,e.isFtVirtualField=ye,e.isFtWatermark=rt,e.isTranslationFormat=dt,e.setUnauthenticatedUserSearchPreferences=function(e,t){if(St.localStorage){let r={...t,metadata:_t(t.metadata??{})};const a=Ft(e),i=JSON.stringify(r);return St.localStorage.setItem(a,i),St.dispatchEvent(new StorageEvent("storage",{key:a,newValue:i,storageArea:St.localStorage,url:St.location.href})),r}console.error("Cannot set unauthenticated preferences: local storage is unavailable.")},e.userHasAllRoles=function(e,...t){return null!=e&&t.every((t=>mt(e,t)))},e.userHasAnyRole=function(e,...t){return null!=e&&t.some((t=>mt(e,t)))},e.userHasRole=mt}));
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).fluidtopics={})}(this,(function(e){"use strict";var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function r(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var a={exports:{}};!function(e,r){var a="undefined"!=typeof globalThis&&globalThis||"undefined"!=typeof self&&self||void 0!==t&&t,i=function(){function e(){this.fetch=!1,this.DOMException=a.DOMException}return e.prototype=a,new e}();!function(e){!function(r){var a=void 0!==e&&e||"undefined"!=typeof self&&self||void 0!==t&&t||{},i={searchParams:"URLSearchParams"in a,iterable:"Symbol"in a&&"iterator"in Symbol,blob:"FileReader"in a&&"Blob"in a&&function(){try{return new Blob,!0}catch(e){return!1}}(),formData:"FormData"in a,arrayBuffer:"ArrayBuffer"in a};if(i.arrayBuffer)var n=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],s=ArrayBuffer.isView||function(e){return e&&n.indexOf(Object.prototype.toString.call(e))>-1};function o(e){if("string"!=typeof e&&(e=String(e)),/[^a-z0-9\-#$%&'*+.^_`|~!]/i.test(e)||""===e)throw new TypeError('Invalid character in header field name: "'+e+'"');return e.toLowerCase()}function l(e){return"string"!=typeof e&&(e=String(e)),e}function u(e){var t={next:function(){var t=e.shift();return{done:void 0===t,value:t}}};return i.iterable&&(t[Symbol.iterator]=function(){return t}),t}function c(e){this.map={},e instanceof c?e.forEach((function(e,t){this.append(t,e)}),this):Array.isArray(e)?e.forEach((function(e){if(2!=e.length)throw new TypeError("Headers constructor: expected name/value pair to be length 2, found"+e.length);this.append(e[0],e[1])}),this):e&&Object.getOwnPropertyNames(e).forEach((function(t){this.append(t,e[t])}),this)}function d(e){if(!e._noBody)return e.bodyUsed?Promise.reject(new TypeError("Already read")):void(e.bodyUsed=!0)}function p(e){return new Promise((function(t,r){e.onload=function(){t(e.result)},e.onerror=function(){r(e.error)}}))}function y(e){var t=new FileReader,r=p(t);return t.readAsArrayBuffer(e),r}function h(e){if(e.slice)return e.slice(0);var t=new Uint8Array(e.byteLength);return t.set(new Uint8Array(e)),t.buffer}function A(){return this.bodyUsed=!1,this._initBody=function(e){var t;this.bodyUsed=this.bodyUsed,this._bodyInit=e,e?"string"==typeof e?this._bodyText=e:i.blob&&Blob.prototype.isPrototypeOf(e)?this._bodyBlob=e:i.formData&&FormData.prototype.isPrototypeOf(e)?this._bodyFormData=e:i.searchParams&&URLSearchParams.prototype.isPrototypeOf(e)?this._bodyText=e.toString():i.arrayBuffer&&i.blob&&((t=e)&&DataView.prototype.isPrototypeOf(t))?(this._bodyArrayBuffer=h(e.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):i.arrayBuffer&&(ArrayBuffer.prototype.isPrototypeOf(e)||s(e))?this._bodyArrayBuffer=h(e):this._bodyText=e=Object.prototype.toString.call(e):(this._noBody=!0,this._bodyText=""),this.headers.get("content-type")||("string"==typeof e?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):i.searchParams&&URLSearchParams.prototype.isPrototypeOf(e)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},i.blob&&(this.blob=function(){var e=d(this);if(e)return e;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))}),this.arrayBuffer=function(){if(this._bodyArrayBuffer){var e=d(this);return e||(ArrayBuffer.isView(this._bodyArrayBuffer)?Promise.resolve(this._bodyArrayBuffer.buffer.slice(this._bodyArrayBuffer.byteOffset,this._bodyArrayBuffer.byteOffset+this._bodyArrayBuffer.byteLength)):Promise.resolve(this._bodyArrayBuffer))}if(i.blob)return this.blob().then(y);throw new Error("could not read as ArrayBuffer")},this.text=function(){var e,t,r,a,i,n=d(this);if(n)return n;if(this._bodyBlob)return e=this._bodyBlob,t=new FileReader,r=p(t),a=/charset=([A-Za-z0-9_-]+)/.exec(e.type),i=a?a[1]:"utf-8",t.readAsText(e,i),r;if(this._bodyArrayBuffer)return Promise.resolve(function(e){for(var t=new Uint8Array(e),r=new Array(t.length),a=0;a<t.length;a++)r[a]=String.fromCharCode(t[a]);return r.join("")}(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error("could not read FormData body as text");return Promise.resolve(this._bodyText)},i.formData&&(this.formData=function(){return this.text().then(m)}),this.json=function(){return this.text().then(JSON.parse)},this}c.prototype.append=function(e,t){e=o(e),t=l(t);var r=this.map[e];this.map[e]=r?r+", "+t:t},c.prototype.delete=function(e){delete this.map[o(e)]},c.prototype.get=function(e){return e=o(e),this.has(e)?this.map[e]:null},c.prototype.has=function(e){return this.map.hasOwnProperty(o(e))},c.prototype.set=function(e,t){this.map[o(e)]=l(t)},c.prototype.forEach=function(e,t){for(var r in this.map)this.map.hasOwnProperty(r)&&e.call(t,this.map[r],r,this)},c.prototype.keys=function(){var e=[];return this.forEach((function(t,r){e.push(r)})),u(e)},c.prototype.values=function(){var e=[];return this.forEach((function(t){e.push(t)})),u(e)},c.prototype.entries=function(){var e=[];return this.forEach((function(t,r){e.push([r,t])})),u(e)},i.iterable&&(c.prototype[Symbol.iterator]=c.prototype.entries);var E=["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"];function T(e,t){if(!(this instanceof T))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');var r,i,n=(t=t||{}).body;if(e instanceof T){if(e.bodyUsed)throw new TypeError("Already read");this.url=e.url,this.credentials=e.credentials,t.headers||(this.headers=new c(e.headers)),this.method=e.method,this.mode=e.mode,this.signal=e.signal,n||null==e._bodyInit||(n=e._bodyInit,e.bodyUsed=!0)}else this.url=String(e);if(this.credentials=t.credentials||this.credentials||"same-origin",!t.headers&&this.headers||(this.headers=new c(t.headers)),this.method=(r=t.method||this.method||"GET",i=r.toUpperCase(),E.indexOf(i)>-1?i:r),this.mode=t.mode||this.mode||null,this.signal=t.signal||this.signal||function(){if("AbortController"in a)return(new AbortController).signal}(),this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&n)throw new TypeError("Body not allowed for GET or HEAD requests");if(this._initBody(n),!("GET"!==this.method&&"HEAD"!==this.method||"no-store"!==t.cache&&"no-cache"!==t.cache)){var s=/([?&])_=[^&]*/;if(s.test(this.url))this.url=this.url.replace(s,"$1_="+(new Date).getTime());else{this.url+=(/\?/.test(this.url)?"&":"?")+"_="+(new Date).getTime()}}}function m(e){var t=new FormData;return e.trim().split("&").forEach((function(e){if(e){var r=e.split("="),a=r.shift().replace(/\+/g," "),i=r.join("=").replace(/\+/g," ");t.append(decodeURIComponent(a),decodeURIComponent(i))}})),t}function f(e,t){if(!(this instanceof f))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');if(t||(t={}),this.type="default",this.status=void 0===t.status?200:t.status,this.status<200||this.status>599)throw new RangeError("Failed to construct 'Response': The status provided (0) is outside the range [200, 599].");this.ok=this.status>=200&&this.status<300,this.statusText=void 0===t.statusText?"":""+t.statusText,this.headers=new c(t.headers),this.url=t.url||"",this._initBody(e)}T.prototype.clone=function(){return new T(this,{body:this._bodyInit})},A.call(T.prototype),A.call(f.prototype),f.prototype.clone=function(){return new f(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new c(this.headers),url:this.url})},f.error=function(){var e=new f(null,{status:200,statusText:""});return e.ok=!1,e.status=0,e.type="error",e};var g=[301,302,303,307,308];f.redirect=function(e,t){if(-1===g.indexOf(t))throw new RangeError("Invalid status code");return new f(null,{status:t,headers:{location:e}})},r.DOMException=a.DOMException;try{new r.DOMException}catch(e){r.DOMException=function(e,t){this.message=e,this.name=t;var r=Error(e);this.stack=r.stack},r.DOMException.prototype=Object.create(Error.prototype),r.DOMException.prototype.constructor=r.DOMException}function F(e,t){return new Promise((function(n,s){var u=new T(e,t);if(u.signal&&u.signal.aborted)return s(new r.DOMException("Aborted","AbortError"));var d=new XMLHttpRequest;function p(){d.abort()}if(d.onload=function(){var e,t,r={statusText:d.statusText,headers:(e=d.getAllResponseHeaders()||"",t=new c,e.replace(/\r?\n[\t ]+/g," ").split("\r").map((function(e){return 0===e.indexOf("\n")?e.substr(1,e.length):e})).forEach((function(e){var r=e.split(":"),a=r.shift().trim();if(a){var i=r.join(":").trim();try{t.append(a,i)}catch(e){console.warn("Response "+e.message)}}})),t)};0===u.url.indexOf("file://")&&(d.status<200||d.status>599)?r.status=200:r.status=d.status,r.url="responseURL"in d?d.responseURL:r.headers.get("X-Request-URL");var a="response"in d?d.response:d.responseText;setTimeout((function(){n(new f(a,r))}),0)},d.onerror=function(){setTimeout((function(){s(new TypeError("Network request failed"))}),0)},d.ontimeout=function(){setTimeout((function(){s(new TypeError("Network request timed out"))}),0)},d.onabort=function(){setTimeout((function(){s(new r.DOMException("Aborted","AbortError"))}),0)},d.open(u.method,function(e){try{return""===e&&a.location.href?a.location.href:e}catch(t){return e}}(u.url),!0),"include"===u.credentials?d.withCredentials=!0:"omit"===u.credentials&&(d.withCredentials=!1),"responseType"in d&&(i.blob?d.responseType="blob":i.arrayBuffer&&(d.responseType="arraybuffer")),t&&"object"==typeof t.headers&&!(t.headers instanceof c||a.Headers&&t.headers instanceof a.Headers)){var y=[];Object.getOwnPropertyNames(t.headers).forEach((function(e){y.push(o(e)),d.setRequestHeader(e,l(t.headers[e]))})),u.headers.forEach((function(e,t){-1===y.indexOf(t)&&d.setRequestHeader(t,e)}))}else u.headers.forEach((function(e,t){d.setRequestHeader(t,e)}));u.signal&&(u.signal.addEventListener("abort",p),d.onreadystatechange=function(){4===d.readyState&&u.signal.removeEventListener("abort",p)}),d.send(void 0===u._bodyInit?null:u._bodyInit)}))}F.polyfill=!0,a.fetch||(a.fetch=F,a.Headers=c,a.Request=T,a.Response=f),r.Headers=c,r.Request=T,r.Response=f,r.fetch=F}({})}(i),i.fetch.ponyfill=!0,delete i.fetch.polyfill;var n=a.fetch?a:i;(r=n.fetch).default=n.fetch,r.fetch=n.fetch,r.Headers=n.Headers,r.Request=n.Request,r.Response=n.Response,e.exports=r}(a,a.exports);var i=r(a.exports);class n{reader;decoder=new TextDecoder;partialChunk="";constructor(e){this.reader=e}async*read(){for(;;){const{done:e,value:t}=await this.reader.read();if(e)return void(yield*this.readRemainingChunks());yield*this.readChunksFromValue(t)}}*readRemainingChunks(){yield*this.parseLine(this.partialChunk)}*readChunksFromValue(e){const t=(this.partialChunk+this.decoder.decode(e)).split("\n");this.partialChunk=t.pop();for(let e of t)yield*this.parseLine(e)}*parseLine(e){const[t,r]=e.split(/:(.*)/);"data"==t&&r.length>0&&(yield JSON.parse(r))}}const s=e=>"object"==typeof e&&null!=e,o=e=>"boolean"==typeof e,l=e=>"number"==typeof e,u=e=>"string"==typeof e;var c;e.FtMyLibraryColors=void 0,(c=e.FtMyLibraryColors||(e.FtMyLibraryColors={})).black="black",c.green="green",c.blue="blue",c.purple="purple",c.red="red",c.orange="orange",c.yellow="yellow";const d=t=>Object.keys(e.FtMyLibraryColors).includes(t);var p;e.FtTopicOriginType=void 0,(p=e.FtTopicOriginType||(e.FtTopicOriginType={})).OFFICIAL="OFFICIAL",p.PERSONAL="PERSONAL",p.SHARED="SHARED";const y=t=>Object.keys(e.FtTopicOriginType).includes(t),h=e=>s(e)&&l(e.width)&&l(e.height),A=e=>s(e)&&(null==e.chatbotDetails||E(e.chatbotDetails))&&(null==e.translationDetails||m(e.translationDetails))&&(null==e.completionDetails||T(e.completionDetails))&&u(e.name)&&u(e.id)&&u(e.type),E=e=>s(e)&&u(e.provider)&&(null==e.model||u(e.model)),T=e=>s(e)&&u(e.provider)&&(null==e.model||u(e.model)),m=e=>s(e)&&u(e.languageSource)&&(null==e.engine||u(e.engine))&&u(e.provider)&&u(e.languageTarget),f=e=>s(e)&&u(e.type)&&u(e.value),g=e=>s(e)&&u(e.pageType)&&u(e.type)&&u(e.url),F=e=>s(e)&&u(e.name)&&(null==e.language||u(e.language))&&u(e.id)&&u(e.type)&&u(e.url),S=e=>s(e)&&(null==e.metadata||Array.isArray(e.metadata)&&e.metadata.every((e=>z(e))))&&u(e.id)&&(null==e.mimeType||u(e.mimeType))&&(null==e.title||u(e.title))&&(null==e.type||U(e.type))&&(null==e.parentId||u(e.parentId)),_=e=>s(e)&&u(e.type)&&(null==e.value||u(e.value)),b=e=>s(e)&&u(e.terms)&&(null==e.searchType||u(e.searchType))&&(null==e.lastUpdate||u(e.lastUpdate))&&(null==e.facets||Array.isArray(e.facets)&&e.facets.every((e=>I(e)))),R=e=>s(e)&&(null==e.autocorrect||o(e.autocorrect))&&l(e.nbResults),O=e=>s(e)&&S(e.document)&&l(e.rank)&&(null==e.topic||v(e.topic))&&u(e.type),v=e=>s(e)&&(null==e.mapTitle||u(e.mapTitle))&&(null==e.metadata||Array.isArray(e.metadata)&&e.metadata.every((e=>z(e))))&&u(e.tocId)&&(null==e.mapId||u(e.mapId))&&u(e.title);var C;e.FtAnalyticsPublicationType=void 0,(C=e.FtAnalyticsPublicationType||(e.FtAnalyticsPublicationType={})).STRUCTURED_DOCUMENT="STRUCTURED_DOCUMENT",C.UNSTRUCTURED_DOCUMENT="UNSTRUCTURED_DOCUMENT",C.SHARED_PERSONAL_BOOK="SHARED_PERSONAL_BOOK",C.PERSONAL_BOOK="PERSONAL_BOOK",C.MAP_ATTACHMENT="MAP_ATTACHMENT",C.RESOURCE="RESOURCE";const U=t=>Object.keys(e.FtAnalyticsPublicationType).includes(t),I=e=>s(e)&&(null==e.dateValue||L(e.dateValue))&&(null==e.values||Array.isArray(e.values)&&e.values.every((e=>u(e))))&&(null==e.from||u(e.from))&&(null==e.to||u(e.to))&&(null==e.type||N(e.type))&&u(e.key);var D;e.FtAnalyticsSearchDateFacetValue=void 0,(D=e.FtAnalyticsSearchDateFacetValue||(e.FtAnalyticsSearchDateFacetValue={})).LAST_WEEK="LAST_WEEK",D.LAST_MONTH="LAST_MONTH",D.LAST_QUARTER="LAST_QUARTER",D.LAST_YEAR="LAST_YEAR";const L=t=>Object.keys(e.FtAnalyticsSearchDateFacetValue).includes(t);var P;e.FtAnalyticsSearchFacetType=void 0,(P=e.FtAnalyticsSearchFacetType||(e.FtAnalyticsSearchFacetType={})).VALUE="VALUE",P.DATE="DATE",P.RANGE="RANGE";const N=t=>Object.keys(e.FtAnalyticsSearchFacetType).includes(t);var k;e.FtAnalyticsEventName=void 0,(k=e.FtAnalyticsEventName||(e.FtAnalyticsEventName={})).BOOKMARK__CREATE="BOOKMARK__CREATE",k.BOOKMARK__DELETE="BOOKMARK__DELETE",k.CASE_DEFLECTION__START="CASE_DEFLECTION__START",k.CASE_DEFLECTION__OPEN_TICKET="CASE_DEFLECTION__OPEN_TICKET",k.CASE_DEFLECTION__RATE="CASE_DEFLECTION__RATE",k.COLLECTION__CREATE="COLLECTION__CREATE",k.COLLECTION__UPDATE="COLLECTION__UPDATE",k.COLLECTION__DELETE="COLLECTION__DELETE",k.DOCUMENT__DISPLAY="DOCUMENT__DISPLAY",k.DOCUMENT__DOWNLOAD="DOCUMENT__DOWNLOAD",k.DOCUMENT__PRINT="DOCUMENT__PRINT",k.DOCUMENT__PROCESS="DOCUMENT__PROCESS",k.DOCUMENT__RATE="DOCUMENT__RATE",k.DOCUMENT__SEARCH="DOCUMENT__SEARCH",k.DOCUMENT__START_DISPLAY="DOCUMENT__START_DISPLAY",k.DOCUMENT__UNRATE="DOCUMENT__UNRATE",k.FEEDBACK__SEND="FEEDBACK__SEND",k.GEN_AI__COMPLETED_QUERY="GEN_AI__COMPLETED_QUERY",k.GEN_AI__RATE="GEN_AI__RATE",k.GENAI_CASE_DEFLECTION__START="GENAI_CASE_DEFLECTION__START",k.GENAI_CASE_DEFLECTION__OPEN_TICKET="GENAI_CASE_DEFLECTION__OPEN_TICKET",k.KHUB__PROCESS="KHUB__PROCESS",k.KHUB__SEARCH="KHUB__SEARCH",k.LABELS__DOWNLOAD="LABELS__DOWNLOAD",k.LINK__SHARE="LINK__SHARE",k.PAGE__DISPLAY="PAGE__DISPLAY",k.PERSONAL_BOOK__CREATE="PERSONAL_BOOK__CREATE",k.PERSONAL_BOOK__DELETE="PERSONAL_BOOK__DELETE",k.PERSONAL_BOOK__UPDATE="PERSONAL_BOOK__UPDATE",k.PERSONAL_TOPIC__CREATE="PERSONAL_TOPIC__CREATE",k.PERSONAL_TOPIC__UPDATE="PERSONAL_TOPIC__UPDATE",k.PERSONAL_TOPIC__DELETE="PERSONAL_TOPIC__DELETE",k.SAVED_SEARCH__CREATE="SAVED_SEARCH__CREATE",k.SAVED_SEARCH__DELETE="SAVED_SEARCH__DELETE",k.SAVED_SEARCH__UPDATE="SAVED_SEARCH__UPDATE",k.SEARCH_PAGE__SELECT="SEARCH_PAGE__SELECT",k.TOPIC__DISPLAY="TOPIC__DISPLAY",k.TOPIC__RATE="TOPIC__RATE",k.TOPIC__START_DISPLAY="TOPIC__START_DISPLAY",k.TOPIC__UNRATE="TOPIC__UNRATE",k.USER__LOGIN="USER__LOGIN",k.USER__LOGOUT="USER__LOGOUT",k.HEARTBEAT="HEARTBEAT";const M=t=>Object.keys(e.FtAnalyticsEventName).includes(t),w=e=>s(e)&&Array.isArray(e.values)&&e.values.every((e=>Array.isArray(e)&&e.every((e=>u(e)))))&&u(e.key),B=e=>s(e)&&u(e.notes)&&Array.isArray(e.children)&&e.children.every((e=>B(e)))&&(null==e.topicLink||H(e.topicLink))&&u(e.title)&&(null==e.htmlContent||u(e.htmlContent)),H=e=>s(e)&&u(e.tocId)&&u(e.contentId)&&u(e.mapId),x=e=>s(e)&&u(e.topicStylesheetUrl)&&u(e.titleStylesheetUrl)&&Array.isArray(e.customCssClasses)&&e.customCssClasses.every((e=>u(e))),j=e=>s(e)&&(null==e.prettyUrl||u(e.prettyUrl))&&(null==e.hasRating||o(e.hasRating))&&u(e.tocId)&&Array.isArray(e.children)&&e.children.every((e=>j(e)))&&(null==e.origin||V(e.origin))&&u(e.contentId)&&(null==e.untranslatedTitle||null==e.untranslatedTitle||u(e.untranslatedTitle))&&u(e.title),V=e=>s(e)&&u(e.mapTitle)&&Array.isArray(e.breadcrumb)&&e.breadcrumb.every((e=>u(e)))&&u(e.tocId)&&u(e.contentId)&&u(e.mapId)&&y(e.type);var K;e.FtTopicContentTarget=void 0,(K=e.FtTopicContentTarget||(e.FtTopicContentTarget={})).THIRD_PARTY="THIRD_PARTY",K.OFF_THE_GRID="OFF_THE_GRID",K.CONTENT_PACKAGER="CONTENT_PACKAGER",K.PAGES="PAGES",K.DESIGNED_READER="DESIGNED_READER";var G;e.FtExternalWebComponentContext=void 0,(G=e.FtExternalWebComponentContext||(e.FtExternalWebComponentContext={})).HOMEPAGE="HOMEPAGE",G.CUSTOM="CUSTOM",G.HEADER="HEADER",G.READER="READER",G.TOPIC_TEMPLATE="TOPIC_TEMPLATE",G.SEARCH="SEARCH",G.SEARCH_RESULT="SEARCH_RESULT";var $;e.FtMetadataHomeLayout=void 0,($=e.FtMetadataHomeLayout||(e.FtMetadataHomeLayout={})).CLASSIC="CLASSIC",$.CUSTOM="CUSTOM",$.DESIGNER="DESIGNER";const q=e=>s(e)&&u(e.lang)&&u(e.region),Y=e=>s(e)&&q(e.defaultUiLocale)&&q(e.defaultContentLocale)&&Array.isArray(e.defaultRegions)&&e.defaultRegions.every((e=>q(e))),W=e=>s(e)&&l(e.count)&&u(e.label)&&(null==e.lang||u(e.lang)),Q=e=>s(e)&&u(e.displayName)&&u(e.languageTag)&&o(e.translated);var X;e.FtFacetType=void 0,(X=e.FtFacetType||(e.FtFacetType={})).AND="AND",X.OR="OR",X.MONOVALUED="MONOVALUED";const z=e=>s(e)&&Array.isArray(e.values)&&e.values.every((e=>u(e)))&&(null==e.hierarchicalValues||Array.isArray(e.hierarchicalValues)&&e.hierarchicalValues.every((e=>Array.isArray(e)&&e.every((e=>u(e))))))&&u(e.label)&&u(e.key);var J;e.FtMetadataSortRule=void 0,(J=e.FtMetadataSortRule||(e.FtMetadataSortRule={})).NONE="NONE",J.ALPHABET="ALPHABET",J.VERSION="VERSION";const Z=t=>Object.keys(e.FtMetadataSortRule).includes(t),ee=e=>s(e)&&o(e.date)&&Z(e.sortRule)&&u(e.label)&&o(e.reverseSort)&&u(e.key),te=e=>s(e)&&(null==e.periodFilter||null==e.periodFilter||Le(e.periodFilter))&&u(e.query)&&(null==e.scope||$e(e.scope))&&(null==e.filters||Array.isArray(e.filters)&&e.filters.every((e=>Ie(e))))&&Array.isArray(e.sort)&&e.sort.every((e=>Xe(e)))&&(null==e.virtualField||Ee(e.virtualField))&&(null==e.metadataFilters||Array.isArray(e.metadataFilters)&&e.metadataFilters.every((e=>Ue(e))))&&(null==e.contentLocale||u(e.contentLocale));var re;e.FtRatingType=void 0,(re=e.FtRatingType||(e.FtRatingType={})).STARS="STARS",re.LIKE="LIKE",re.DICHOTOMOUS="DICHOTOMOUS",re.NO_RATING="NO_RATING";const ae=t=>Object.keys(e.FtRatingType).includes(t),ie=e=>s(e)&&u(e.date)&&ae(e.type)&&l(e.value),ne=e=>s(e)&&(null==e.rating||ie(e.rating))&&ae(e.type),se=e=>s(e)&&u(e.date)&&u(e.tocId)&&ae(e.type)&&l(e.value),oe=e=>s(e)&&Array.isArray(e.ratings)&&e.ratings.every((e=>se(e)))&&ae(e.type),le=e=>s(e)&&Array.isArray(e.filter)&&e.filter.every((e=>u(e)))&&Array.isArray(e.prior)&&e.prior.every((e=>u(e)));var ue;e.FtPeriodFilterType=void 0,(ue=e.FtPeriodFilterType||(e.FtPeriodFilterType={})).LAST_WEEK="LAST_WEEK",ue.LAST_MONTH="LAST_MONTH",ue.LAST_QUARTER="LAST_QUARTER",ue.LAST_YEAR="LAST_YEAR",ue.CUSTOM="CUSTOM";const ce=t=>Object.keys(e.FtPeriodFilterType).includes(t);var de;e.FtSearchSortCriterionOrder=void 0,(de=e.FtSearchSortCriterionOrder||(e.FtSearchSortCriterionOrder={})).ASC="ASC",de.DESC="DESC";const pe=t=>Object.keys(e.FtSearchSortCriterionOrder).includes(t);var ye;e.FtSearchSortCriterionType=void 0,(ye=e.FtSearchSortCriterionType||(e.FtSearchSortCriterionType={})).ALPHA="ALPHA",ye.NATURAL="NATURAL";const he=t=>Object.keys(e.FtSearchSortCriterionType).includes(t);var Ae;e.FtVirtualField=void 0,(Ae=e.FtVirtualField||(e.FtVirtualField={})).EVERYWHERE="EVERYWHERE",Ae.TITLE_ONLY="TITLE_ONLY",Ae.NONE="NONE";const Ee=t=>Object.keys(e.FtVirtualField).includes(t),Te=e=>s(e)&&l(e.totalResultsCount)&&o(e.isLastPage)&&l(e.currentPage)&&l(e.totalClustersCount);var me;e.FtEditorialType=void 0,(me=e.FtEditorialType||(e.FtEditorialType={})).ARTICLE="ARTICLE",me.BOOK="BOOK",me.SHARED_BOOK="SHARED_BOOK";const fe=t=>Object.keys(e.FtEditorialType).includes(t);var ge;e.FtOpenMode=void 0,(ge=e.FtOpenMode||(e.FtOpenMode={})).FLUIDTOPICS="FLUIDTOPICS",ge.EXTERNAL="EXTERNAL";const Fe=t=>Object.keys(e.FtOpenMode).includes(t),Se=e=>s(e)&&(null==e.perPage||l(e.perPage))&&l(e.page),_e=e=>s(e)&&u(e.key);var be;e.FtCollectionDocumentType=void 0,(be=e.FtCollectionDocumentType||(e.FtCollectionDocumentType={})).MAP="MAP",be.DOCUMENT="DOCUMENT",be.TOPIC="TOPIC",be.PERSONAL_BOOK="PERSONAL_BOOK",be.SHARED_BOOK="SHARED_BOOK";const Re=t=>Object.keys(e.FtCollectionDocumentType).includes(t),Oe=e=>s(e)&&Ce(e.type);var ve;e.FtDateFilterType=void 0,(ve=e.FtDateFilterType||(e.FtDateFilterType={})).LAST_WEEK="LAST_WEEK",ve.LAST_MONTH="LAST_MONTH",ve.LAST_QUARTER="LAST_QUARTER",ve.LAST_YEAR="LAST_YEAR";const Ce=t=>Object.keys(e.FtDateFilterType).includes(t),Ue=e=>s(e)&&(null==e.valueFilter||qe(e.valueFilter))&&(null==e.rangeFilter||ke(e.rangeFilter))&&u(e.label)&&u(e.key)&&(null==e.dateFilter||Oe(e.dateFilter)),Ie=e=>s(e)&&o(e.negative)&&Array.isArray(e.values)&&e.values.every((e=>u(e)))&&u(e.label)&&u(e.key),De=e=>s(e)&&o(e.negative)&&Array.isArray(e.values)&&e.values.every((e=>u(e)))&&u(e.key),Le=e=>s(e)&&(null==e.period||Ne(e.period))&&ce(e.periodType)&&(null==e.key||u(e.key)),Pe=e=>s(e)&&(null==e.valueFilter||qe(e.valueFilter))&&(null==e.rangeFilter||ke(e.rangeFilter))&&u(e.key)&&(null==e.dateFilter||Oe(e.dateFilter)),Ne=e=>s(e)&&u(e.from)&&u(e.to),ke=e=>s(e)&&u(e.from)&&u(e.to),Me=e=>s(e)&&l(e.weight)&&u(e.value)&&u(e.key),we=e=>s(e)&&Array.isArray(e.entries)&&e.entries.every((e=>Be(e)))&&(null==e.metadataVariableAxis||u(e.metadataVariableAxis)),Be=e=>s(e)&&Array.isArray(e.missingTerms)&&e.missingTerms.every((e=>u(e)))&&(null==e.document||He(e.document))&&(null==e.topic||je(e.topic))&&Ke(e.type)&&(null==e.map||xe(e.map)),He=e=>s(e)&&Array.isArray(e.metadata)&&e.metadata.every((e=>z(e)))&&Fe(e.openMode)&&u(e.documentUrl)&&u(e.mimeType)&&u(e.title)&&(null==e.lastPublicationDate||u(e.lastPublicationDate))&&u(e.viewerUrl)&&u(e.contentUrl)&&u(e.filename)&&u(e.htmlTitle)&&(null==e.originUrl||u(e.originUrl))&&u(e.documentId)&&u(e.lastEditionDate)&&u(e.htmlExcerpt),xe=e=>s(e)&&Array.isArray(e.metadata)&&e.metadata.every((e=>z(e)))&&(null==e.openMode||Fe(e.openMode))&&fe(e.editorialType)&&u(e.title)&&(null==e.lastPublicationDate||u(e.lastPublicationDate))&&u(e.htmlTitle)&&(null==e.originUrl||u(e.originUrl))&&u(e.mapUrl)&&u(e.readerUrl)&&u(e.mapId)&&(null==e.lastEditionDate||u(e.lastEditionDate))&&u(e.htmlExcerpt),je=e=>s(e)&&Array.isArray(e.metadata)&&e.metadata.every((e=>z(e)))&&Fe(e.openMode)&&u(e.contentId)&&Array.isArray(e.resources)&&e.resources.every((e=>Je(e)))&&u(e.title)&&u(e.mapTitle)&&u(e.topicUrl)&&u(e.contentUrl)&&u(e.htmlTitle)&&Array.isArray(e.breadcrumb)&&e.breadcrumb.every((e=>u(e)))&&u(e.tocId)&&(null==e.originUrl||u(e.originUrl))&&u(e.readerUrl)&&u(e.mapId)&&(null==e.lastEditionDate||u(e.lastEditionDate))&&u(e.htmlExcerpt);var Ve;e.FtSearchResultType=void 0,(Ve=e.FtSearchResultType||(e.FtSearchResultType={})).MAP="MAP",Ve.DOCUMENT="DOCUMENT",Ve.TOPIC="TOPIC";const Ke=t=>Object.keys(e.FtSearchResultType).includes(t);var Ge;e.FtSearchScope=void 0,(Ge=e.FtSearchScope||(e.FtSearchScope={})).DEFAULT="DEFAULT",Ge.DOCUMENTS="DOCUMENTS",Ge.ALL_TOPICS="ALL_TOPICS",Ge.TOPICS_AND_UNSTRUCTURED_DOCUMENTS="TOPICS_AND_UNSTRUCTURED_DOCUMENTS";const $e=t=>Object.keys(e.FtSearchScope).includes(t),qe=e=>s(e)&&o(e.negative)&&Array.isArray(e.values)&&e.values.every((e=>u(e))),Ye=e=>s(e)&&o(e.hierarchical)&&u(e.label)&&o(e.multiSelectionable)&&u(e.key)&&Array.isArray(e.rootNodes)&&e.rootNodes.every((e=>Qe(e))),We=e=>s(e)&&(null==e.maxDepth||l(e.maxDepth))&&u(e.id),Qe=e=>s(e)&&l(e.totalResultsCount)&&o(e.descendantSelected)&&Array.isArray(e.childNodes)&&e.childNodes.every((e=>Qe(e)))&&u(e.label)&&u(e.value)&&o(e.selected),Xe=e=>s(e)&&he(e.type)&&u(e.key)&&pe(e.order),ze=e=>s(e)&&u(e.suggestedQuery)&&u(e.htmlSuggestedQuery),Je=e=>s(e)&&u(e.filename)&&u(e.resourceUrl)&&u(e.id)&&u(e.mimeType)&&u(e.resourceContentUrl)&&u(e.viewerUrl),Ze=e=>s(e)&&(null==e.filenameExtension||u(e.filenameExtension))&&(null==e.editorialType||fe(e.editorialType))&&(null==e.mimeType||u(e.mimeType))&&Ke(e.type)&&u(e.value);var et;e.FtUserRole=void 0,(et=e.FtUserRole||(e.FtUserRole={})).PERSONAL_BOOK_USER="PERSONAL_BOOK_USER",et.PERSONAL_BOOK_SHARE_USER="PERSONAL_BOOK_SHARE_USER",et.HTML_EXPORT_USER="HTML_EXPORT_USER",et.PDF_EXPORT_USER="PDF_EXPORT_USER",et.SAVED_SEARCH_USER="SAVED_SEARCH_USER",et.COLLECTION_USER="COLLECTION_USER",et.OFFLINE_USER="OFFLINE_USER",et.ANALYTICS_USER="ANALYTICS_USER",et.BETA_USER="BETA_USER",et.DEBUG_USER="DEBUG_USER",et.PRINT_USER="PRINT_USER",et.RATING_USER="RATING_USER",et.FEEDBACK_USER="FEEDBACK_USER",et.GENERATIVE_AI_USER="GENERATIVE_AI_USER",et.GENERATIVE_AI_EXPORT_USER="GENERATIVE_AI_EXPORT_USER",et.CONTENT_PUBLISHER="CONTENT_PUBLISHER",et.KHUB_ADMIN="KHUB_ADMIN",et.USERS_ADMIN="USERS_ADMIN",et.PORTAL_ADMIN="PORTAL_ADMIN",et.ADMIN="ADMIN";const tt=t=>Object.keys(e.FtUserRole).includes(t),rt=e=>s(e)&&u(e.identifier)&&u(e.realm),at=e=>s(e)&&(null==e.defaultFilters||Array.isArray(e.defaultFilters)&&e.defaultFilters.every((e=>De(e))))&&Array.isArray(e.defaultMetadataFilters)&&e.defaultMetadataFilters.every((e=>Pe(e))),it=e=>s(e)&&(null==e.emailAddress||u(e.emailAddress))&&(null==e.displayName||u(e.displayName))&&(null==e.otpValidated||o(e.otpValidated))&&Array.isArray(e.roles)&&e.roles.every((e=>tt(e)))&&(null==e.userId||u(e.userId))&&(null==e.privacyPolicyAgreementDate||u(e.privacyPolicyAgreementDate))&&Array.isArray(e.tags)&&e.tags.every((e=>u(e))),nt=e=>s(e)&&u(e.color)&&Array.isArray(e.text)&&e.text.every((e=>u(e)))&&l(e.opacity),st=e=>"object"==typeof e&&null!=e,ot=e=>"boolean"==typeof e,lt=e=>"number"==typeof e,ut=e=>"string"==typeof e;var ct;e.FtConfigurationHistoryEntryStatus=void 0,(ct=e.FtConfigurationHistoryEntryStatus||(e.FtConfigurationHistoryEntryStatus={})).VALID="VALID",ct.INVALID="INVALID";const dt=e=>st(e)&&ot(e.mailsSentByFluidTopics)&&ot(e.mailsSentByFluidTopicsForUnauthenticatedUsers)&&Array.isArray(e.recipients)&&e.recipients.every((e=>ut(e)))&&Array.isArray(e.bodyMetadataIds)&&e.bodyMetadataIds.every((e=>ut(e)))&&Array.isArray(e.subjectMetadataIds)&&e.subjectMetadataIds.every((e=>ut(e))),pt=e=>st(e)&&ut(e.role)&&ut(e.content);var yt;e.TranslationFormat=void 0,(yt=e.TranslationFormat||(e.TranslationFormat={})).TEXT="TEXT",yt.HTML="HTML";const ht=t=>Object.keys(e.TranslationFormat).includes(t),At=e=>st(e)&&ut(e.code)&&ut(e.label),Et=e=>st(e)&&(null==e.parentsVisibility||Array.isArray(e.parentsVisibility)&&e.parentsVisibility.every((e=>ot(e))))&&ot(e.isVisible),Tt=e=>st(e)&&(null==e.prettyUrl||ut(e.prettyUrl))&&(null==e.hasRating||ot(e.hasRating))&&(null==e.pageToc||Array.isArray(e.pageToc))&&(null==e.tocId||ut(e.tocId))&&Array.isArray(e.children)&&e.children.every((e=>Tt(e)))&&(null==e.pageConfiguration||Et(e.pageConfiguration))&&(null==e.contentId||ut(e.contentId))&&(null==e.untranslatedTitle||ut(e.untranslatedTitle))&&(null==e.title||ut(e.title)),mt=e=>st(e)&&ot(e.splitCurrentPageToc),ft=e=>st(e)&&st(e.metadata)&&Object.keys(e.metadata).every((e=>ut(e)))&&Object.values(e.metadata).every((e=>Array.isArray(e)&&e.every((e=>ut(e)))))&&ut(e.excerpt)&&lt(e.relevance),gt=e=>st(e)&&(null==e.values||Array.isArray(e.values)&&e.values.every((e=>ut(e))))&&(null==e.hierarchicalValues||Array.isArray(e.hierarchicalValues)&&e.hierarchicalValues.every((e=>Array.isArray(e)&&e.every((e=>ut(e))))))&&ut(e.key),Ft={[e.FtUserRole.PERSONAL_BOOK_SHARE_USER]:[e.FtUserRole.PERSONAL_BOOK_USER],[e.FtUserRole.HTML_EXPORT_USER]:[e.FtUserRole.PERSONAL_BOOK_USER],[e.FtUserRole.PDF_EXPORT_USER]:[e.FtUserRole.PERSONAL_BOOK_USER],[e.FtUserRole.KHUB_ADMIN]:[e.FtUserRole.CONTENT_PUBLISHER],[e.FtUserRole.ADMIN]:[e.FtUserRole.KHUB_ADMIN,e.FtUserRole.USERS_ADMIN,e.FtUserRole.PORTAL_ADMIN],[e.FtUserRole.GENERATIVE_AI_EXPORT_USER]:[e.FtUserRole.GENERATIVE_AI_USER]};function St(e,t){return e===t||(Ft[e]??[]).some((e=>St(e,t)))}function _t(e,t){if(null==e)return!1;return(Array.isArray(e)?e:Array.isArray(e.roles)?e.roles:Array.isArray(e.profile?.roles)?e.profile.roles:[]).some((e=>St(e,t)))}const bt="undefined"==typeof window?globalThis:window;function Rt(e){let t={};for(let r in e){let a=e[r];("object"!=typeof a||Array.isArray(a))&&(a={prior:a});for(let e of["prior","filter"])a[e]=Array.isArray(a[e])?a[e]:[a[e]],a[e]=a[e].map((e=>null!=e?""+e:"")).filter((e=>""!==e));t[r]=a}return t}function Ot(e){return`${e}-FluidTopicsUnauthenticatedUserSearchPreferences`}const vt="undefined"==typeof window?globalThis:window;class Ct extends Error{method;endpoint;status;statusText;body;constructor(e,t,r,a,i){super(`${e} ${t} -> ${r} - ${a}: ${i}`),this.method=e,this.endpoint=t,this.status=r,this.statusText=a,this.body=i}}class Ut extends CustomEvent{constructor(e){super("ft-api-http-error",{detail:e})}}async function It(e,t,r){if(!r.ok){let a={method:e,endpoint:t,status:r.status,statusText:r.statusText,body:await r.text()};throw"function"==typeof vt.dispatchEvent&&vt.dispatchEvent(new Ut(a)),new Ct(a.method,a.endpoint,a.status,a.statusText,a.body)}return r}function Dt(e){return"application/json"===e.headers.get("Content-Type")?e.json():e.text()}class Lt{tenantBaseUrl;tenantBaseUrlNoTrailingSlash;ftCallingApp;authorization;searchLabel;endpoints={authentication:{login:"api/authentication/login",logout:"api/authentication/logout",currentSession:"api/authentication/current-session"},khub:{maps:{mapId:e=>({info:`api/khub/maps/${e}`,toc:`api/khub/maps/${e}/toc`,pages:`api/khub/maps/${e}/pages`,feedback:`api/khub/maps/${e}/feedback`,rating:`api/khub/maps/${e}/rating`,attachments:{list:`api/khub/maps/${e}/attachments`,attachmentId:t=>({content:`api/khub/maps/${e}/attachments/${t}/content`})},resources:{list:`api/khub/maps/${e}/resources`,resourceId:t=>({content:`api/khub/maps/${e}/resources/${t}/content`})},topics:{contentId:t=>({info:`api/khub/maps/${e}/topics/${t}`,content:`api/khub/maps/${e}/topics/${t}/content`,translation:`api/khub/maps/${e}/topics/${t}/content/translation`}),tocId:t=>({feedback:`api/khub/maps/${e}/topics/${t}/feedback`,rating:`api/khub/maps/${e}/topics/${t}/rating`})}})},documents:{documentId:e=>({info:`api/khub/documents/${e}`,content:`api/khub/documents/${e}/content`,text:`api/khub/documents/${e}/content/text`,feedback:`api/khub/documents/${e}/feedback`,rating:`api/khub/documents/${e}/rating`})},semantic:{search:"api/khub/semantic/search",clusteredSearch:"api/khub/semantic/clustered-search"},suggest:"api/khub/suggest",clusteredSearch:"api/khub/clustered-search",locales:"api/khub/locales"},users:{userId:e=>({collections:{collectionId:t=>({documents:`api/users/${e}/collections/${t}/documents`})},searches:{list:`api/users/${e}/searches`},bookmarks:{list:`api/users/${e}/bookmarks`}})},stylesheets:{fonts:"stylesheets/fonts.css",theme:"stylesheets/theme.css",content:{title:"stylesheets/content/title.css",topic:"stylesheets/content/topic.css"}},configuration:{reader:"api/configuration/reader",metadata:"api/configuration/metadata"},locales:{ui:"api/locales/ui",get:"api/locales"},messages:{locale:e=>({fluidTopics:{contextName:t=>({endpoint:`api/messages/${e}/fluid-topics/${t}`})},custom:{contextName:t=>({endpoint:`api/messages/${e}/custom/${t}`})}})},ai:{generate:"api/ai/generate",sendFeedback:"api/ai/rate",chat:"/api/ai/rag/chat",translate:"api/ai/translate",destinationLanguages:e=>({endpoint:`api/ai/translate/${e}/languages`})},assets:{highlightjs:"assets/scripts/highlightjs"},analytics:{events:"api/analytics/events"}};get defaultHeaders(){return{...this.authorization,...this.searchLabel,"Ft-Calling-App":this.ftCallingApp}}constructor(e,t,r){e=(e??vt.fluidTopicsBaseUrl??vt.__gwt_ft_moduleBase??"").trim(),this.tenantBaseUrl=e.endsWith("/")?e:e+"/",this.tenantBaseUrlNoTrailingSlash=this.tenantBaseUrl.replace(/\/$/,""),r&&void 0!==vt.location&&vt.location.href.startsWith(this.tenantBaseUrl)?this.ftCallingApp=t:this.ftCallingApp=`ft-public-api/${t}`}setApiKey(e){this.authorization={Authorization:"Bearer "+e}}setCredentials(e,t){var r;this.authorization={Authorization:"Basic "+(r=`${e}:${t}`,"undefined"!=typeof Buffer?Buffer.from(r).toString("base64"):btoa(r))}}clearAuthentication(){this.authorization=void 0}setSearchLabel(e){this.searchLabel={"FT-search-label":e}}clearSearchLabel(){this.searchLabel=void 0}login(e,t){let r={login:e,password:t,rememberMe:!0};return this.post(this.endpoints.authentication.login,r).then((r=>(this.setCredentials(e,t),r)))}logout(){return this.post(this.endpoints.authentication.logout).then((()=>this.clearAuthentication()))}getCurrentSession(){return this.get(this.endpoints.authentication.currentSession)}getReaderConfiguration(){return this.get(this.endpoints.configuration.reader)}getMap(e,t,r){const a=this.endpoints.khub.maps.mapId(e).info,i={...this.buildTranslationParameters(t),v:r};return this.get(this.buildUrlFromParams(a,i))}getTableOfContent(e,t){return this.get(this.endpoints.khub.maps.mapId(e).toc,t)}getPages(e,t,r){const a=this.endpoints.khub.maps.mapId(e).pages,i={...this.buildTranslationParameters(r),v:t};return this.get(this.buildUrlFromParams(a,i))}getTopic(e,t,r){return this.get(this.endpoints.khub.maps.mapId(e).topics.contentId(t).info,r)}getTopicHTMLContent(e,t,r,a){return this.get(this.endpoints.khub.maps.mapId(e).topics.contentId(t).content+(r?"?target="+r:""),a)}getTranslatedTopicHTMLContent(e,t,r,a,i){const n=this.endpoints.khub.maps.mapId(e).topics.contentId(t).translation,s={...this.buildTranslationParameters(i),target:r,v:a};return this.get(this.buildUrlFromParams(n,s))}getMapAttachments(e,t){return this.get(this.endpoints.khub.maps.mapId(e).attachments.list,t)}getMapAttachmentContent(e,t,r){return this.fetchRawData(this.endpoints.khub.maps.mapId(e).attachments.attachmentId(t).content,r)}getMapResources(e,t){return this.get(this.endpoints.khub.maps.mapId(e).resources.list,t)}getMapResourceContent(e,t,r){return this.fetchRawData(this.endpoints.khub.maps.mapId(e).resources.resourceId(t).content,r)}getUnstructuredDocument(e,t){return this.get(this.endpoints.khub.documents.documentId(e).info,t)}getUnstructuredDocumentContent(e,t){return this.fetchRawData(this.endpoints.khub.documents.documentId(e).content,t)}getUnstructuredDocumentTextContent(e,t){return this.get(this.endpoints.khub.documents.documentId(e).text,t)}getCollectionDocuments(e,t){return this.get(this.endpoints.users.userId(e).collections.collectionId(t).documents)}getSuggestions(e){return this.post(this.endpoints.khub.suggest,e)}search(e){return this.post(this.endpoints.khub.clusteredSearch,e)}getAvailableSearchLocales(){return this.get(this.endpoints.khub.locales)}getAvailableUiLocales(){return this.get(this.endpoints.locales.ui)}getLocalesConfiguration(){return this.get(this.endpoints.locales.get)}getMetadataConfiguration(){return this.get(this.endpoints.configuration.metadata)}getMapRating(e){return this.get(this.endpoints.khub.maps.mapId(e).rating)}rateMap(e,t,r){return this.post(this.endpoints.khub.maps.mapId(e).rating,{type:t,value:r})}unrateMap(e){return this.delete(this.endpoints.khub.maps.mapId(e).rating)}sendMapFeedback(e,t,r){return this.post(this.endpoints.khub.maps.mapId(e).feedback,{message:t,from:r})}rateTopic(e,t,r,a){return this.post(this.endpoints.khub.maps.mapId(e).topics.tocId(t).rating,{type:r,value:a})}unrateTopic(e,t){return this.delete(this.endpoints.khub.maps.mapId(e).topics.tocId(t).rating)}sendTopicFeedback(e,t,r,a){return this.post(this.endpoints.khub.maps.mapId(e).topics.tocId(t).feedback,{message:r,from:a})}getDocumentRating(e){return this.get(this.endpoints.khub.documents.documentId(e).rating)}rateDocument(e,t,r){return this.post(this.endpoints.khub.documents.documentId(e).rating,{type:t,value:r})}unrateDocument(e){return this.delete(this.endpoints.khub.documents.documentId(e).rating)}sendDocumentFeedback(e,t,r){return this.post(this.endpoints.khub.documents.documentId(e).feedback,{message:t,from:r})}semanticSearch(e){return this.post(this.endpoints.khub.semantic.search,{request:e})}clusteredSemanticSearch(e){return this.post(this.endpoints.khub.semantic.clusteredSearch,{request:e})}getFluidTopicsMessageContext(e,t){return this.get(this.endpoints.messages.locale(e).fluidTopics.contextName(t).endpoint)}getCustomMessageContext(e,t){return this.get(this.endpoints.messages.locale(e).custom.contextName(t).endpoint)}listMySearches(e){return this.get(this.endpoints.users.userId(e).searches.list)}listMyBookmarks(e){return this.get(this.endpoints.users.userId(e).bookmarks.list)}sendEvents(e){return e.length?this.post(this.endpoints.analytics.events,e):Promise.resolve()}async*generate(e,t){const r=await this.fetch(this.endpoints.ai.generate,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({profileId:e,parameters:t}),credentials:null==this.authorization?"include":void 0});await It("POST",this.endpoints.ai.generate,r);const a=new n(r.body.getReader());yield*a.read()}async*chat(e){const t=await this.fetch(this.endpoints.ai.chat,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e),credentials:null==this.authorization?"include":void 0});await It("POST",this.endpoints.ai.chat,t);const r=new n(t.body.getReader());yield*r.read()}translate(e){return this.post(this.endpoints.ai.translate,e)}getDestinationLanguages(e,t){const r=this.endpoints.ai.destinationLanguages(e).endpoint,a={sourceLanguage:t};return this.get(this.buildUrlFromParams(r,a))}sendFeedback(e){return this.post(this.endpoints.ai.sendFeedback,e)}get(e,t){return this.makeRequest("GET",this.withVersion(e,t))}post(e,t){return this.makeRequest("POST",e,t)}put(e,t){return this.makeRequest("PUT",e,t)}delete(e){return this.makeRequest("DELETE",e)}makeAbsolute(e){return e.startsWith(this.tenantBaseUrl)||e===this.tenantBaseUrlNoTrailingSlash?e:this.tenantBaseUrl+e.replace(/^\//,"")}extractEndpoint(e){return e.replace(this.tenantBaseUrlNoTrailingSlash,"").replace(/^\//,"")}async fetch(e,t){const r=t;return await i(this.makeAbsolute(e),{...r??{},headers:{...this.defaultHeaders,...r?.headers??{}}})}upload(e,t,r,a=(()=>{})){return"undefined"!=typeof XMLHttpRequest?new Promise(((i,n)=>{let s=new XMLHttpRequest;s.onload=()=>{if(s.status>=200&&s.status<300){let e="application/json"===s.getResponseHeader("Content-Type")?JSON.parse(s.responseText):s.responseText;i(e)}else n(new Ct("GET",t,s.status,s.statusText,s.responseText))},s.upload.onprogress=e=>a(e),s.open(e,this.makeAbsolute(t),!0),s.send(r)})):this.fetch(t,{method:e,body:r}).then((r=>It(e,t,r))).then(Dt)}makeRequest(e,t,r){return this.fetch(t,{method:e,headers:{...null!=r?{"Content-Type":"application/json"}:{}},body:null!=r?JSON.stringify(r):void 0,credentials:null==this.authorization?"include":void 0}).then((r=>It(e,t,r))).then(Dt)}fetchRawData(e,t){return i(this.withVersion(e,t),{headers:this.defaultHeaders,credentials:null==this.authorization?"include":void 0}).then((t=>It("GET",e,t))).then((e=>e.arrayBuffer()))}withVersion(e,t){let r=new URL(this.makeAbsolute(e));return t&&r.searchParams.append("v",t),r.toString()}withAnalyticsQueryParams(e){let t=new URL(this.makeAbsolute(e));return t.searchParams.append("Ft-Calling-App",this.ftCallingApp),t.toString()}buildUrlFromParams(e,t){const r=new URL(this.makeAbsolute(e));return t&&Object.entries(t).forEach((([e,t])=>{t&&r.searchParams.append(e,t)})),r.toString()}buildTranslationParameters(e){if(e)return{translationProfileId:e.profileId,translationDestinationLanguage:e.destinationLanguage,translationSourceLanguage:e.sourceLanguage?.slice(0,2)}}}e.FluidTopicsApi=Lt,e.HttpError=Ct,e.HttpErrorEvent=Ut,e.addUnauthenticatedUserSearchPreferencesChangeHandler=function(e,t){if(bt.localStorage){const r=Ot(e),a=e=>{e.storageArea===bt.localStorage&&e.key===r&&t(JSON.parse(e.newValue??"{}"))};return bt.addEventListener("storage",a),{removeHandler:()=>bt.removeEventListener("storage",a)}}console.error("Cannot handle unauthenticated preferences: local storage is unavailable.")},e.default=Lt,e.getUnauthenticatedUserSearchPreferences=function(e){if(bt.localStorage)return JSON.parse(bt.localStorage.getItem(Ot(e))??"{}");console.error("Cannot get unauthenticated preferences: local storage is unavailable.")},e.isFtAnalyticsEvent=e=>s(e)&&o(e.offline)&&u(e.appVersion)&&u(e.appName)&&M(e.name),e.isFtAnalyticsEventDisplay=h,e.isFtAnalyticsEventGenAIProfile=A,e.isFtAnalyticsEventGenAIProfileChatbotDetails=E,e.isFtAnalyticsEventGenAIProfileCompletionDetails=T,e.isFtAnalyticsEventGenAIProfileTranslationDetails=m,e.isFtAnalyticsEventLocation=f,e.isFtAnalyticsEventName=M,e.isFtAnalyticsEventOrigin=g,e.isFtAnalyticsEventPage=F,e.isFtAnalyticsEventPublication=S,e.isFtAnalyticsEventRating=_,e.isFtAnalyticsEventSearchQuery=b,e.isFtAnalyticsEventSearchResponse=R,e.isFtAnalyticsEventSearchResult=O,e.isFtAnalyticsEventTopic=v,e.isFtAnalyticsPublicationType=U,e.isFtAnalyticsSearchDateFacetValue=L,e.isFtAnalyticsSearchFacet=I,e.isFtAnalyticsSearchFacetType=N,e.isFtAuthenticatedSession=e=>s(e)&&rt(e.authenticationIdentifier)&&it(e.profile),e.isFtAuthenticationIdentifier=rt,e.isFtBookmark=e=>s(e)&&u(e.mapTitle)&&d(e.color)&&Array.isArray(e.breadcrumb)&&e.breadcrumb.every((e=>u(e)))&&u(e.tocId)&&u(e.lastUpdate)&&u(e.readerUrl)&&u(e.mapId)&&u(e.id)&&u(e.title)&&u(e.creationDate),e.isFtCaseDeflectionEvent=e=>s(e)&&(null==e.searchQuery||b(e.searchQuery))&&u(e.context)&&(null==e.rating||_(e.rating))&&(null==e.topic||v(e.topic)),e.isFtClusteredSemanticSearchReply=e=>st(e)&&Array.isArray(e.documents)&&e.documents.every((e=>ft(e)))&&Array.isArray(e.clusterId)&&e.clusterId.every((e=>ut(e))),e.isFtCollectionDocument=e=>s(e)&&o(e.deleted)&&(null==e.apiUrl||u(e.apiUrl))&&(null==e.portalUrl||u(e.portalUrl))&&u(e.id)&&u(e.title)&&Re(e.type),e.isFtCollectionDocumentType=Re,e.isFtConfigurationHistoryEntryStatus=t=>Object.keys(e.FtConfigurationHistoryEntryStatus).includes(t),e.isFtCredentials=e=>s(e)&&u(e.password)&&(null==e.newPassword||u(e.newPassword))&&o(e.rememberMe)&&u(e.login),e.isFtDateFilter=Oe,e.isFtDateFilterType=Ce,e.isFtDefaultLocale=q,e.isFtDefaultLocales=Y,e.isFtDocumentDisplayEvent=e=>s(e)&&S(e.publication)&&l(e.viewDurationMs)&&f(e.location),e.isFtDocumentDownloadEvent=e=>s(e)&&S(e.document)&&f(e.location),e.isFtDocumentPrintEvent=e=>s(e)&&S(e.publication),e.isFtDocumentSearchEvent=e=>s(e)&&R(e.searchResponse)&&S(e.publication)&&b(e.searchQuery),e.isFtDocumentStartDisplayEvent=e=>s(e)&&S(e.publication)&&f(e.location),e.isFtEditorialType=fe,e.isFtExternalWebComponentContext=t=>Object.keys(e.FtExternalWebComponentContext).includes(t),e.isFtFacetType=t=>Object.keys(e.FtFacetType).includes(t),e.isFtFeedbackCreation=e=>s(e)&&(null==e.from||u(e.from))&&u(e.message),e.isFtFeedbackSendEvent=e=>s(e)&&Array.isArray(e.breadcrumb)&&e.breadcrumb.every((e=>v(e)))&&S(e.publication)&&o(e.loggedIn),e.isFtGenAIGenerateInput=e=>st(e)&&ut(e.profileId)&&(null==e.parameters||st(e.parameters)&&Object.keys(e.parameters).every((e=>ut(e)))&&Object.values(e.parameters).every((e=>ut(e)))),e.isFtGenAIRating=e=>st(e)&&lt(e.rating)&&ut(e.comment)&&ut(e.queryId),e.isFtGenAiCaseDeflectionEvent=e=>s(e)&&(null==e.generationId||u(e.generationId))&&(null==e.searchQuery||b(e.searchQuery))&&u(e.context),e.isFtGenAiCompletedQueryEvent=e=>s(e)&&u(e.result)&&A(e.profile)&&l(e.durationMs)&&(null==e.parameters||s(e.parameters)&&Object.keys(e.parameters).every((e=>u(e)))&&Object.values(e.parameters).every((e=>u(e))))&&u(e.queryId),e.isFtGenAiRateEvent=e=>s(e)&&_(e.rating)&&u(e.comment)&&u(e.queryId),e.isFtHttpErrorDetails=e=>s(e)&&u(e.endpoint)&&u(e.method)&&u(e.statusText)&&u(e.body)&&l(e.status),e.isFtKhubSearchEvent=e=>s(e)&&R(e.searchResponse)&&b(e.searchQuery),e.isFtLabeledMetadataFilter=Ue,e.isFtLabelsDownloadEvent=e=>s(e)&&u(e.locale),e.isFtLegacyLabeledMetadataFilter=Ie,e.isFtLegacyMetadataFilter=De,e.isFtLinkShareEvent=e=>s(e)&&Array.isArray(e.breadcrumb)&&e.breadcrumb.every((e=>v(e)))&&S(e.publication),e.isFtLocalesConfiguration=e=>s(e)&&Array.isArray(e.availableUiLocales)&&e.availableUiLocales.every((e=>Q(e)))&&o(e.allLanguagesAllowed)&&Y(e.defaultLocales),e.isFtMap=e=>s(e)&&(null==e.prettyUrl||u(e.prettyUrl))&&Array.isArray(e.metadata)&&e.metadata.every((e=>z(e)))&&(null==e.watermark||nt(e.watermark))&&Fe(e.openMode)&&(null==e.topicsApiEndpoint||u(e.topicsApiEndpoint))&&(null==e.description||u(e.description))&&(null==e.attachmentsApiEndpoint||u(e.attachmentsApiEndpoint))&&fe(e.editorialType)&&u(e.baseId)&&u(e.clusterId)&&u(e.title)&&u(e.lastPublication)&&o(e.pbkConfidential)&&u(e.lastEdition)&&u(e.originId)&&(null==e.rightsApiEndpoint||u(e.rightsApiEndpoint))&&x(e.contentStyles)&&(null==e.originUrl||u(e.originUrl))&&u(e.fingerprint)&&u(e.readerUrl)&&(null==e.untranslatedTitle||null==e.untranslatedTitle||u(e.untranslatedTitle))&&(null==e.khubVersion||u(e.khubVersion))&&u(e.id)&&(null==e.lang||u(e.lang)),e.isFtMapAttachment=e=>st(e)&&ut(e.file)&&(null==e.size||lt(e.size))&&ot(e.externalLink)&&ut(e.name)&&ut(e.id)&&(null==e.mimeType||ut(e.mimeType))&&(null==e.viewerUrl||ut(e.viewerUrl)),e.isFtMapResource=e=>s(e)&&u(e.contentUrl)&&u(e.filename)&&u(e.id)&&u(e.mimeType),e.isFtMapStyles=x,e.isFtMessageContext=e=>s(e)&&u(e.name)&&s(e.messages)&&Object.keys(e.messages).every((e=>u(e)))&&Object.values(e.messages).every((e=>u(e)))&&u(e.locale),e.isFtMetadata=z,e.isFtMetadataConfiguration=e=>s(e)&&Array.isArray(e.descriptors)&&e.descriptors.every((e=>ee(e))),e.isFtMetadataDescriptor=ee,e.isFtMetadataFilter=Pe,e.isFtMetadataHomeLayout=t=>Object.keys(e.FtMetadataHomeLayout).includes(t),e.isFtMetadataPreferenceConfiguration=le,e.isFtMetadataSortRule=Z,e.isFtMyLibraryColors=d,e.isFtMySearch=e=>s(e)&&te(e.searchRequest)&&d(e.color)&&o(e.alert)&&u(e.description)&&u(e.id)&&u(e.ownerId)&&u(e.title)&&u(e.creationDate),e.isFtMySearchRequest=te,e.isFtOpenMode=Fe,e.isFtPageConfiguration=Et,e.isFtPageDisplayEvent=e=>s(e)&&g(e.origin)&&h(e.display)&&F(e.page),e.isFtPageRequest=Se,e.isFtPaginatedToc=e=>st(e)&&mt(e.configuration)&&Array.isArray(e.paginatedToc)&&e.paginatedToc.every((e=>Tt(e)))&&ot(e.translationError),e.isFtPaginatedTocNode=Tt,e.isFtPaginatedTocNodeWithTranslationFailure=e=>st(e)&&Tt(e.paginatedToc)&&ot(e.translationError),e.isFtPaginationConfiguration=mt,e.isFtPeriod=Ne,e.isFtPeriodFilter=Le,e.isFtPeriodFilterType=ce,e.isFtPersonalBookCreation=e=>s(e)&&Array.isArray(e.metadata)&&e.metadata.every((e=>w(e)))&&Array.isArray(e.nodes)&&e.nodes.every((e=>B(e)))&&u(e.description)&&u(e.title),e.isFtPersonalBookMetadataUpdate=w,e.isFtPersonalBookNodeCreation=B,e.isFtPersonalBookTopicLinkCreation=H,e.isFtPrivacyPolicyConfiguration=e=>s(e)&&u(e.policyDescription)&&o(e.agreementRequired)&&u(e.userAgreementMessage),e.isFtPublicClusterSortCriterion=_e,e.isFtPublicationRating=ie,e.isFtPublicationRatingSummary=ne,e.isFtRagHistory=pt,e.isFtRagInput=e=>st(e)&&ut(e.profileId)&&(null==e.conversationId||ut(e.conversationId))&&ut(e.query)&&(null==e.messages||Array.isArray(e.messages)&&e.messages.every((e=>pt(e))))&&(null==e.filters||Array.isArray(e.filters)&&e.filters.every((e=>gt(e)))),e.isFtRangeFilter=ke,e.isFtRatingCreation=e=>s(e)&&ae(e.type)&&l(e.value),e.isFtRatingSummary=e=>s(e)&&(null==e.topics||oe(e.topics))&&ne(e.publication),e.isFtRatingType=ae,e.isFtReaderConfiguration=e=>st(e)&&dt(e.feedback)&&lt(e.loadAfterLastVisibleTopic)&&ut(e.relativeTopicPivotMetadata)&&lt(e.loadBeforeFirstVisibleTopic)&&ut(e.relativePivotMetadata),e.isFtReaderFeedbackConfiguration=dt,e.isFtSearchFacet=Ye,e.isFtSearchFacetConf=We,e.isFtSearchFacetEntry=Qe,e.isFtSearchLocale=W,e.isFtSearchLocales=e=>s(e)&&Array.isArray(e.contentLocales)&&e.contentLocales.every((e=>W(e))),e.isFtSearchPageSelectEvent=e=>s(e)&&O(e.searchResult)&&(null==e.externalLink||u(e.externalLink))&&b(e.searchQuery),e.isFtSearchPreferences=at,e.isFtSearchPreferencesConfiguration=e=>s(e)&&s(e.metadata)&&Object.keys(e.metadata).every((e=>u(e)))&&Object.values(e.metadata).every((e=>le(e))),e.isFtSearchPreset=e=>s(e)&&u(e.name)&&l(e.priority)&&(null==e.contentLocale||u(e.contentLocale))&&Array.isArray(e.metadataFilters)&&e.metadataFilters.every((e=>Pe(e))),e.isFtSearchPrior=Me,e.isFtSearchRequest=e=>s(e)&&(null==e.periodFilter||null==e.periodFilter||Le(e.periodFilter))&&u(e.query)&&Se(e.paging)&&(null==e.filters||Array.isArray(e.filters)&&e.filters.every((e=>De(e))))&&Array.isArray(e.sort)&&e.sort.every((e=>Xe(e)))&&(null==e.virtualField||Ee(e.virtualField))&&Array.isArray(e.metadataFilters)&&e.metadataFilters.every((e=>Pe(e)))&&Array.isArray(e.facets)&&e.facets.every((e=>We(e)))&&(null==e.scope||$e(e.scope))&&(null==e.uiLocale||u(e.uiLocale))&&(null==e.contentLocale||u(e.contentLocale))&&(null==e.priors||Array.isArray(e.priors)&&e.priors.every((e=>Me(e))))&&(null==e.clusterSortCriterions||Array.isArray(e.clusterSortCriterions)&&e.clusterSortCriterions.every((e=>_e(e)))),e.isFtSearchResultCluster=we,e.isFtSearchResultClusterEntry=Be,e.isFtSearchResultMap=xe,e.isFtSearchResultTopic=je,e.isFtSearchResultType=Ke,e.isFtSearchResultUnstructuredDocument=He,e.isFtSearchResults=e=>s(e)&&(null==e.spellcheck||ze(e.spellcheck))&&Te(e.paging)&&Array.isArray(e.results)&&e.results.every((e=>we(e)))&&Array.isArray(e.facets)&&e.facets.every((e=>Ye(e))),e.isFtSearchResultsPageInfo=Te,e.isFtSearchScope=$e,e.isFtSearchSortCriterion=Xe,e.isFtSearchSortCriterionOrder=pe,e.isFtSearchSortCriterionType=he,e.isFtSemanticSearchFilter=gt,e.isFtSemanticSearchRequest=e=>st(e)&&ut(e.query)&&(null==e.filters||Array.isArray(e.filters)&&e.filters.every((e=>gt(e))))&&(null==e.nbResults||lt(e.nbResults)),e.isFtSemanticSearchResponseItem=ft,e.isFtSession=e=>s(e)&&(null==e.authenticationIdentifier||rt(e.authenticationIdentifier))&&l(e.idleTimeoutInMillis)&&it(e.profile)&&o(e.sessionAuthenticated)&&at(e.searchPreferences),e.isFtSpellcheck=ze,e.isFtSuggestRequest=e=>s(e)&&u(e.input)&&(null==e.scope||$e(e.scope))&&Array.isArray(e.sort)&&e.sort.every((e=>Xe(e)))&&(null==e.maxCount||l(e.maxCount))&&(null==e.contentLocale||u(e.contentLocale))&&Array.isArray(e.metadataFilters)&&e.metadataFilters.every((e=>Pe(e))),e.isFtSuggestResult=Ze,e.isFtSuggestResults=e=>s(e)&&Array.isArray(e.suggestions)&&e.suggestions.every((e=>Ze(e))),e.isFtTocNode=j,e.isFtTopic=e=>s(e)&&Array.isArray(e.metadata)&&e.metadata.every((e=>z(e)))&&u(e.id)&&u(e.contentApiEndpoint)&&u(e.title),e.isFtTopicContentTarget=t=>Object.keys(e.FtTopicContentTarget).includes(t),e.isFtTopicDisplayEvent=e=>s(e)&&Array.isArray(e.breadcrumb)&&e.breadcrumb.every((e=>v(e)))&&S(e.publication)&&l(e.viewDurationMs)&&f(e.location),e.isFtTopicOrigin=V,e.isFtTopicOriginType=y,e.isFtTopicRating=se,e.isFtTopicResource=Je,e.isFtTopicStartDisplayEvent=e=>s(e)&&Array.isArray(e.breadcrumb)&&e.breadcrumb.every((e=>v(e)))&&S(e.publication)&&f(e.location),e.isFtTopicsRatingSummary=oe,e.isFtTranslationContent=e=>s(e)&&o(e.isTranslationError)&&u(e.content),e.isFtTranslationLanguagesResponse=e=>st(e)&&Array.isArray(e.items)&&e.items.every((e=>At(e))),e.isFtTranslationLocale=At,e.isFtTranslationRequest=e=>st(e)&&ut(e.profileId)&&(null==e.format||ht(e.format))&&ut(e.destinationLanguage)&&Array.isArray(e.content)&&e.content.every((e=>ut(e)))&&(null==e.sourceLanguage||ut(e.sourceLanguage)),e.isFtTranslationResponse=e=>st(e)&&Array.isArray(e.items)&&e.items.every((e=>ut(e))),e.isFtUiLocale=Q,e.isFtUnstructuredDocument=e=>s(e)&&(null==e.prettyUrl||u(e.prettyUrl))&&Array.isArray(e.metadata)&&e.metadata.every((e=>z(e)))&&u(e.openMode)&&(null==e.description||u(e.description))&&u(e.mimeType)&&(null==e.baseId||u(e.baseId))&&(null==e.clusterId||u(e.clusterId))&&u(e.contentApiEndpoint)&&u(e.title)&&(null==e.lastPublication||u(e.lastPublication))&&u(e.viewerUrl)&&u(e.lastEdition)&&u(e.filename)&&(null==e.originId||u(e.originId))&&u(e.rightsApiEndpoint)&&(null==e.originUrl||u(e.originUrl))&&(null==e.khubVersion||u(e.khubVersion))&&u(e.id)&&(null==e.lang||u(e.lang)),e.isFtUserProfile=it,e.isFtUserRole=tt,e.isFtValueFilter=qe,e.isFtVirtualField=Ee,e.isFtWatermark=nt,e.isTranslationFormat=ht,e.setUnauthenticatedUserSearchPreferences=function(e,t){if(bt.localStorage){let r={...t,metadata:Rt(t.metadata??{})};const a=Ot(e),i=JSON.stringify(r);return bt.localStorage.setItem(a,i),bt.dispatchEvent(new StorageEvent("storage",{key:a,newValue:i,storageArea:bt.localStorage,url:bt.location.href})),r}console.error("Cannot set unauthenticated preferences: local storage is unavailable.")},e.userHasAllRoles=function(e,...t){return null!=e&&t.every((t=>_t(e,t)))},e.userHasAnyRole=function(e,...t){return null!=e&&t.some((t=>_t(e,t)))},e.userHasRole=_t}));
@@ -1,5 +1,5 @@
1
- import { FtAnalyticsEvent, FtAuthenticatedSession, FtBookmark, FtCollectionDocument, FtHttpErrorDetails, FtLocalesConfiguration, FtMap, FtMapResource, FtMessageContext, FtMetadataConfiguration, FtMySearch, FtRatingSummary, FtRatingType, FtRatingTypeKeys, FtSearchLocales, FtSearchRequest, FtSearchResults, FtSession, FtSuggestRequest, FtSuggestResults, FtTocNode, FtTopic, FtTopicContentTarget, FtTopicContentTargetKeys, FtUiLocale, FtUnstructuredDocument } from "./types/ft-common/public.js";
2
- import { FtClusteredSemanticSearchReply, FtGenAIRating, FtMapAttachment, FtPaginatedToc, FtRagInput, FtReaderConfiguration, FtSemanticSearchRequest, FtSemanticSearchResponseItem, FtTranslationInput } from "./types/ft-server/public.js";
1
+ import { FtAnalyticsEvent, FtAuthenticatedSession, FtBookmark, FtCollectionDocument, FtHttpErrorDetails, FtLocalesConfiguration, FtMap, FtMapResource, FtMessageContext, FtMetadataConfiguration, FtMySearch, FtRatingSummary, FtRatingType, FtRatingTypeKeys, FtSearchLocales, FtSearchRequest, FtSearchResults, FtSession, FtSuggestRequest, FtSuggestResults, FtTocNode, FtTopic, FtTopicContentTarget, FtTopicContentTargetKeys, FtTranslationContent, FtUiLocale, FtUnstructuredDocument } from "./types/ft-common/public.js";
2
+ import { FtClusteredSemanticSearchReply, FtGenAIRating, FtMapAttachment, FtPaginatedToc, FtRagInput, FtReaderConfiguration, FtSemanticSearchRequest, FtSemanticSearchResponseItem, FtTranslationLanguagesResponse, FtTranslationRequest, FtTranslationResponse } from "./types/ft-server/public.js";
3
3
  import { GenAIChunk } from "./helpers/GenAIChunkReader.js";
4
4
  export * from "./types/ft-common/public.js";
5
5
  export * from "./types/ft-server/public.js";
@@ -16,6 +16,11 @@ export declare class HttpError extends Error {
16
16
  export declare class HttpErrorEvent extends CustomEvent<FtHttpErrorDetails> {
17
17
  constructor(e: FtHttpErrorDetails);
18
18
  }
19
+ export interface FtTranslationSettings {
20
+ profileId: string;
21
+ destinationLanguage: string;
22
+ sourceLanguage?: string;
23
+ }
19
24
  export declare class FluidTopicsApi {
20
25
  readonly tenantBaseUrl: string;
21
26
  readonly tenantBaseUrlNoTrailingSlash: string;
@@ -52,6 +57,7 @@ export declare class FluidTopicsApi {
52
57
  contentId: (contentId: string) => {
53
58
  info: string;
54
59
  content: string;
60
+ translation: string;
55
61
  };
56
62
  tocId: (tocId: string) => {
57
63
  feedback: string;
@@ -127,6 +133,9 @@ export declare class FluidTopicsApi {
127
133
  sendFeedback: string;
128
134
  chat: string;
129
135
  translate: string;
136
+ destinationLanguages: (profileId: string) => {
137
+ endpoint: string;
138
+ };
130
139
  };
131
140
  assets: {
132
141
  highlightjs: string;
@@ -146,11 +155,12 @@ export declare class FluidTopicsApi {
146
155
  logout(): Promise<void>;
147
156
  getCurrentSession(): Promise<FtSession>;
148
157
  getReaderConfiguration(): Promise<FtReaderConfiguration>;
149
- getMap(mapId: string, v?: string): Promise<FtMap>;
158
+ getMap(mapId: string, translationSettings?: FtTranslationSettings, v?: string): Promise<FtMap>;
150
159
  getTableOfContent(mapId: string, v?: string): Promise<Array<FtTocNode>>;
151
- getPages(mapId: string, v?: string): Promise<FtPaginatedToc>;
160
+ getPages(mapId: string, v?: string, translationSettings?: FtTranslationSettings): Promise<FtPaginatedToc>;
152
161
  getTopic(mapId: string, topicContentId: string, v?: string): Promise<FtTopic>;
153
162
  getTopicHTMLContent(mapId: string, topicContentId: string, target?: FtTopicContentTarget | FtTopicContentTargetKeys, v?: string): Promise<string>;
163
+ getTranslatedTopicHTMLContent(mapId: string, topicContentId: string, target?: FtTopicContentTarget | FtTopicContentTargetKeys, v?: string, translationSettings?: FtTranslationSettings): Promise<FtTranslationContent>;
154
164
  getMapAttachments(mapId: string, v?: string): Promise<Array<FtMapAttachment>>;
155
165
  getMapAttachmentContent(mapId: string, attachmentId: string, v?: string): Promise<ArrayBuffer>;
156
166
  getMapResources(mapId: string, v?: string): Promise<Array<FtMapResource>>;
@@ -185,7 +195,8 @@ export declare class FluidTopicsApi {
185
195
  sendEvents(events: FtAnalyticsEvent[]): Promise<void>;
186
196
  generate(profileId: string, parameters?: Record<string, string>): AsyncGenerator<GenAIChunk>;
187
197
  chat(input: FtRagInput): AsyncGenerator<GenAIChunk>;
188
- translate(input: FtTranslationInput): Promise<string>;
198
+ translate(input: FtTranslationRequest): Promise<FtTranslationResponse>;
199
+ getDestinationLanguages(profileId: string, sourceLanguage?: string): Promise<FtTranslationLanguagesResponse>;
189
200
  sendFeedback(rating: FtGenAIRating): Promise<unknown>;
190
201
  get<T>(endpoint: string, v?: string): Promise<T>;
191
202
  post<T>(endpoint: string, data?: any): Promise<T>;
@@ -199,5 +210,11 @@ export declare class FluidTopicsApi {
199
210
  private fetchRawData;
200
211
  withVersion(endpoint: string, v: string | undefined): string;
201
212
  withAnalyticsQueryParams(endpoint: string): string;
213
+ buildUrlFromParams(baseEndpoint: string, params: Record<string, string | undefined>): string;
214
+ buildTranslationParameters(translationSettings?: FtTranslationSettings): {
215
+ translationProfileId: string;
216
+ translationDestinationLanguage: string;
217
+ translationSourceLanguage: string;
218
+ };
202
219
  }
203
220
  export default FluidTopicsApi;
package/dist/mjs/index.js CHANGED
@@ -83,6 +83,7 @@ export class FluidTopicsApi {
83
83
  contentId: (contentId) => ({
84
84
  info: `api/khub/maps/${mapId}/topics/${contentId}`,
85
85
  content: `api/khub/maps/${mapId}/topics/${contentId}/content`,
86
+ translation: `api/khub/maps/${mapId}/topics/${contentId}/content/translation`,
86
87
  }),
87
88
  tocId: (tocId) => ({
88
89
  feedback: `api/khub/maps/${mapId}/topics/${tocId}/feedback`,
@@ -158,12 +159,15 @@ export class FluidTopicsApi {
158
159
  sendFeedback: `api/ai/rate`,
159
160
  chat: `/api/ai/rag/chat`,
160
161
  translate: `api/ai/translate`,
162
+ destinationLanguages: (profileId) => ({
163
+ endpoint: `api/ai/translate/${profileId}/languages`
164
+ })
161
165
  },
162
166
  assets: {
163
167
  highlightjs: `assets/scripts/highlightjs`,
164
168
  },
165
169
  analytics: {
166
- events: 'api/analytics/events'
170
+ events: "api/analytics/events"
167
171
  }
168
172
  };
169
173
  get defaultHeaders() {
@@ -222,14 +226,18 @@ export class FluidTopicsApi {
222
226
  getReaderConfiguration() {
223
227
  return this.get(this.endpoints.configuration.reader);
224
228
  }
225
- getMap(mapId, v) {
226
- return this.get(this.endpoints.khub.maps.mapId(mapId).info, v);
229
+ getMap(mapId, translationSettings, v) {
230
+ const endpoint = this.endpoints.khub.maps.mapId(mapId).info;
231
+ const queryParams = { ...this.buildTranslationParameters(translationSettings), v };
232
+ return this.get(this.buildUrlFromParams(endpoint, queryParams));
227
233
  }
228
234
  getTableOfContent(mapId, v) {
229
235
  return this.get(this.endpoints.khub.maps.mapId(mapId).toc, v);
230
236
  }
231
- getPages(mapId, v) {
232
- return this.get(this.endpoints.khub.maps.mapId(mapId).pages, v);
237
+ getPages(mapId, v, translationSettings) {
238
+ const endpoint = this.endpoints.khub.maps.mapId(mapId).pages;
239
+ const queryParams = { ...this.buildTranslationParameters(translationSettings), v };
240
+ return this.get(this.buildUrlFromParams(endpoint, queryParams));
233
241
  }
234
242
  getTopic(mapId, topicContentId, v) {
235
243
  return this.get(this.endpoints.khub.maps.mapId(mapId).topics.contentId(topicContentId).info, v);
@@ -237,6 +245,11 @@ export class FluidTopicsApi {
237
245
  getTopicHTMLContent(mapId, topicContentId, target, v) {
238
246
  return this.get(this.endpoints.khub.maps.mapId(mapId).topics.contentId(topicContentId).content + (target ? "?target=" + target : ""), v);
239
247
  }
248
+ getTranslatedTopicHTMLContent(mapId, topicContentId, target, v, translationSettings) {
249
+ const endpoint = this.endpoints.khub.maps.mapId(mapId).topics.contentId(topicContentId).translation;
250
+ const queryParams = { ...this.buildTranslationParameters(translationSettings), target, v };
251
+ return this.get(this.buildUrlFromParams(endpoint, queryParams));
252
+ }
240
253
  getMapAttachments(mapId, v) {
241
254
  return this.get(this.endpoints.khub.maps.mapId(mapId).attachments.list, v);
242
255
  }
@@ -367,6 +380,11 @@ export class FluidTopicsApi {
367
380
  translate(input) {
368
381
  return this.post(this.endpoints.ai.translate, input);
369
382
  }
383
+ getDestinationLanguages(profileId, sourceLanguage) {
384
+ const endpoint = this.endpoints.ai.destinationLanguages(profileId).endpoint;
385
+ const queryParams = { sourceLanguage };
386
+ return this.get(this.buildUrlFromParams(endpoint, queryParams));
387
+ }
370
388
  sendFeedback(rating) {
371
389
  return this.post(this.endpoints.ai.sendFeedback, rating);
372
390
  }
@@ -456,5 +474,25 @@ export class FluidTopicsApi {
456
474
  url.searchParams.append("Ft-Calling-App", this.ftCallingApp);
457
475
  return url.toString();
458
476
  }
477
+ buildUrlFromParams(baseEndpoint, params) {
478
+ const url = new URL(this.makeAbsolute(baseEndpoint));
479
+ if (params) {
480
+ Object.entries(params).forEach(([key, value]) => {
481
+ if (value) {
482
+ url.searchParams.append(key, value);
483
+ }
484
+ });
485
+ }
486
+ return url.toString();
487
+ }
488
+ buildTranslationParameters(translationSettings) {
489
+ if (translationSettings) {
490
+ return {
491
+ translationProfileId: translationSettings.profileId,
492
+ translationDestinationLanguage: translationSettings.destinationLanguage,
493
+ translationSourceLanguage: translationSettings.sourceLanguage?.slice(0, 2)
494
+ };
495
+ }
496
+ }
459
497
  }
460
498
  export default FluidTopicsApi;
@@ -5,7 +5,6 @@ const rolesInheritance = {
5
5
  [FtUserRole.PDF_EXPORT_USER]: [FtUserRole.PERSONAL_BOOK_USER],
6
6
  [FtUserRole.KHUB_ADMIN]: [FtUserRole.CONTENT_PUBLISHER],
7
7
  [FtUserRole.ADMIN]: [FtUserRole.KHUB_ADMIN, FtUserRole.USERS_ADMIN, FtUserRole.PORTAL_ADMIN],
8
- [FtUserRole.DEVELOPER]: [FtUserRole.BETA_USER, FtUserRole.DEBUG_USER],
9
8
  [FtUserRole.GENERATIVE_AI_EXPORT_USER]: [FtUserRole.GENERATIVE_AI_USER],
10
9
  };
11
10
  function roleMatches(actual, expected) {
@@ -30,11 +30,31 @@ export interface FtAnalyticsEventDisplay {
30
30
  }
31
31
  export declare const isFtAnalyticsEventDisplay: (o: any) => o is FtAnalyticsEventDisplay;
32
32
  export interface FtAnalyticsEventGenAIProfile {
33
- customPrompt?: string;
33
+ chatbotDetails?: FtAnalyticsEventGenAIProfileChatbotDetails;
34
+ translationDetails?: FtAnalyticsEventGenAIProfileTranslationDetails;
35
+ completionDetails?: FtAnalyticsEventGenAIProfileCompletionDetails;
34
36
  name: string;
35
37
  id: string;
38
+ type: string;
36
39
  }
37
40
  export declare const isFtAnalyticsEventGenAIProfile: (o: any) => o is FtAnalyticsEventGenAIProfile;
41
+ export interface FtAnalyticsEventGenAIProfileChatbotDetails {
42
+ provider: string;
43
+ model?: string;
44
+ }
45
+ export declare const isFtAnalyticsEventGenAIProfileChatbotDetails: (o: any) => o is FtAnalyticsEventGenAIProfileChatbotDetails;
46
+ export interface FtAnalyticsEventGenAIProfileCompletionDetails {
47
+ provider: string;
48
+ model?: string;
49
+ }
50
+ export declare const isFtAnalyticsEventGenAIProfileCompletionDetails: (o: any) => o is FtAnalyticsEventGenAIProfileCompletionDetails;
51
+ export interface FtAnalyticsEventGenAIProfileTranslationDetails {
52
+ languageSource: string;
53
+ engine?: string;
54
+ provider: string;
55
+ languageTarget: string;
56
+ }
57
+ export declare const isFtAnalyticsEventGenAIProfileTranslationDetails: (o: any) => o is FtAnalyticsEventGenAIProfileTranslationDetails;
38
58
  export interface FtAnalyticsEventLocation {
39
59
  type: string;
40
60
  value: string;
@@ -134,7 +154,6 @@ export interface FtAnalyticsEvent {
134
154
  appVersion: string;
135
155
  appName: string;
136
156
  name: FtAnalyticsEventNameKeys;
137
- version: string;
138
157
  }
139
158
  export declare const isFtAnalyticsEvent: (o: any) => o is FtAnalyticsEvent;
140
159
  export declare enum FtAnalyticsEventName {
@@ -359,6 +378,7 @@ export interface FtMap {
359
378
  originUrl?: string;
360
379
  fingerprint: string;
361
380
  readerUrl: string;
381
+ untranslatedTitle?: string;
362
382
  khubVersion?: string;
363
383
  id: string;
364
384
  lang?: string;
@@ -377,6 +397,7 @@ export interface FtTocNode {
377
397
  children: Array<FtTocNode>;
378
398
  origin?: FtTopicOrigin;
379
399
  contentId: string;
400
+ untranslatedTitle?: string;
380
401
  title: string;
381
402
  }
382
403
  export declare const isFtTocNode: (o: any) => o is FtTocNode;
@@ -427,6 +448,11 @@ export declare enum FtTopicContentTarget {
427
448
  }
428
449
  export type FtTopicContentTargetKeys = keyof typeof FtTopicContentTarget;
429
450
  export declare const isFtTopicContentTarget: (o: any) => o is FtTopicContentTarget;
451
+ export interface FtTranslationContent {
452
+ isTranslationError: boolean;
453
+ content: string;
454
+ }
455
+ export declare const isFtTranslationContent: (o: any) => o is FtTranslationContent;
430
456
  export declare enum FtExternalWebComponentContext {
431
457
  HOMEPAGE = "HOMEPAGE",
432
458
  CUSTOM = "CUSTOM",
@@ -936,8 +962,7 @@ export declare enum FtUserRole {
936
962
  KHUB_ADMIN = "KHUB_ADMIN",
937
963
  USERS_ADMIN = "USERS_ADMIN",
938
964
  PORTAL_ADMIN = "PORTAL_ADMIN",
939
- ADMIN = "ADMIN",
940
- DEVELOPER = "DEVELOPER"
965
+ ADMIN = "ADMIN"
941
966
  }
942
967
  export type FtUserRoleKeys = keyof typeof FtUserRole;
943
968
  export declare const isFtUserRole: (o: any) => o is FtUserRole;
@@ -37,9 +37,29 @@ export const isFtAnalyticsEventDisplay = (o) => {
37
37
  };
38
38
  export const isFtAnalyticsEventGenAIProfile = (o) => {
39
39
  return isObject(o)
40
- && (o.customPrompt == null || isString(o.customPrompt))
40
+ && (o.chatbotDetails == null || isFtAnalyticsEventGenAIProfileChatbotDetails(o.chatbotDetails))
41
+ && (o.translationDetails == null || isFtAnalyticsEventGenAIProfileTranslationDetails(o.translationDetails))
42
+ && (o.completionDetails == null || isFtAnalyticsEventGenAIProfileCompletionDetails(o.completionDetails))
41
43
  && (isString(o.name))
42
- && (isString(o.id));
44
+ && (isString(o.id))
45
+ && (isString(o.type));
46
+ };
47
+ export const isFtAnalyticsEventGenAIProfileChatbotDetails = (o) => {
48
+ return isObject(o)
49
+ && (isString(o.provider))
50
+ && (o.model == null || isString(o.model));
51
+ };
52
+ export const isFtAnalyticsEventGenAIProfileCompletionDetails = (o) => {
53
+ return isObject(o)
54
+ && (isString(o.provider))
55
+ && (o.model == null || isString(o.model));
56
+ };
57
+ export const isFtAnalyticsEventGenAIProfileTranslationDetails = (o) => {
58
+ return isObject(o)
59
+ && (isString(o.languageSource))
60
+ && (o.engine == null || isString(o.engine))
61
+ && (isString(o.provider))
62
+ && (isString(o.languageTarget));
43
63
  };
44
64
  export const isFtAnalyticsEventLocation = (o) => {
45
65
  return isObject(o)
@@ -147,8 +167,7 @@ export const isFtAnalyticsEvent = (o) => {
147
167
  && (isBoolean(o.offline))
148
168
  && (isString(o.appVersion))
149
169
  && (isString(o.appName))
150
- && (isFtAnalyticsEventName(o.name))
151
- && (isString(o.version));
170
+ && (isFtAnalyticsEventName(o.name));
152
171
  };
153
172
  // From: WsAnalyticsEventName
154
173
  export var FtAnalyticsEventName;
@@ -386,6 +405,7 @@ export const isFtMap = (o) => {
386
405
  && (o.originUrl == null || isString(o.originUrl))
387
406
  && (isString(o.fingerprint))
388
407
  && (isString(o.readerUrl))
408
+ && (o.untranslatedTitle == null || o.untranslatedTitle == null || isString(o.untranslatedTitle))
389
409
  && (o.khubVersion == null || isString(o.khubVersion))
390
410
  && (isString(o.id))
391
411
  && (o.lang == null || isString(o.lang));
@@ -406,6 +426,7 @@ export const isFtTocNode = (o) => {
406
426
  && o.children.every((v) => isFtTocNode(v))))
407
427
  && (o.origin == null || isFtTopicOrigin(o.origin))
408
428
  && (isString(o.contentId))
429
+ && (o.untranslatedTitle == null || o.untranslatedTitle == null || isString(o.untranslatedTitle))
409
430
  && (isString(o.title));
410
431
  };
411
432
  export const isFtTopic = (o) => {
@@ -459,6 +480,11 @@ export var FtTopicContentTarget;
459
480
  FtTopicContentTarget["DESIGNED_READER"] = "DESIGNED_READER";
460
481
  })(FtTopicContentTarget || (FtTopicContentTarget = {}));
461
482
  export const isFtTopicContentTarget = (o) => Object.keys(FtTopicContentTarget).includes(o);
483
+ export const isFtTranslationContent = (o) => {
484
+ return isObject(o)
485
+ && (isBoolean(o.isTranslationError))
486
+ && (isString(o.content));
487
+ };
462
488
  // From: ExternalWebComponentContext
463
489
  export var FtExternalWebComponentContext;
464
490
  (function (FtExternalWebComponentContext) {
@@ -1023,7 +1049,6 @@ export var FtUserRole;
1023
1049
  FtUserRole["USERS_ADMIN"] = "USERS_ADMIN";
1024
1050
  FtUserRole["PORTAL_ADMIN"] = "PORTAL_ADMIN";
1025
1051
  FtUserRole["ADMIN"] = "ADMIN";
1026
- FtUserRole["DEVELOPER"] = "DEVELOPER";
1027
1052
  })(FtUserRole || (FtUserRole = {}));
1028
1053
  export const isFtUserRole = (o) => Object.keys(FtUserRole).includes(o);
1029
1054
  export const isFtAuthenticationIdentifier = (o) => {
@@ -50,14 +50,27 @@ export declare enum TranslationFormat {
50
50
  }
51
51
  export type TranslationFormatKeys = keyof typeof TranslationFormat;
52
52
  export declare const isTranslationFormat: (o: any) => o is TranslationFormat;
53
- export interface FtTranslationInput {
53
+ export interface FtTranslationLanguagesResponse {
54
+ items: Array<FtTranslationLocale>;
55
+ }
56
+ export declare const isFtTranslationLanguagesResponse: (o: any) => o is FtTranslationLanguagesResponse;
57
+ export interface FtTranslationRequest {
54
58
  profileId: string;
55
59
  format?: TranslationFormatKeys;
56
60
  destinationLanguage: string;
57
- content: string;
61
+ content: Array<string>;
58
62
  sourceLanguage?: string;
59
63
  }
60
- export declare const isFtTranslationInput: (o: any) => o is FtTranslationInput;
64
+ export declare const isFtTranslationRequest: (o: any) => o is FtTranslationRequest;
65
+ export interface FtTranslationResponse {
66
+ items: Array<string>;
67
+ }
68
+ export declare const isFtTranslationResponse: (o: any) => o is FtTranslationResponse;
69
+ export interface FtTranslationLocale {
70
+ code: string;
71
+ label: string;
72
+ }
73
+ export declare const isFtTranslationLocale: (o: any) => o is FtTranslationLocale;
61
74
  export interface FtMapAttachment {
62
75
  file: string;
63
76
  size?: number;
@@ -76,6 +89,7 @@ export declare const isFtPageConfiguration: (o: any) => o is FtPageConfiguration
76
89
  export interface FtPaginatedToc {
77
90
  configuration: FtPaginationConfiguration;
78
91
  paginatedToc: Array<FtPaginatedTocNode>;
92
+ translationError: boolean;
79
93
  }
80
94
  export declare const isFtPaginatedToc: (o: any) => o is FtPaginatedToc;
81
95
  export interface FtPaginatedTocNode {
@@ -87,9 +101,15 @@ export interface FtPaginatedTocNode {
87
101
  pageConfiguration?: FtPageConfiguration;
88
102
  origin?: any;
89
103
  contentId?: string;
104
+ untranslatedTitle?: string;
90
105
  title?: string;
91
106
  }
92
107
  export declare const isFtPaginatedTocNode: (o: any) => o is FtPaginatedTocNode;
108
+ export interface FtPaginatedTocNodeWithTranslationFailure {
109
+ paginatedToc: FtPaginatedTocNode;
110
+ translationError: boolean;
111
+ }
112
+ export declare const isFtPaginatedTocNodeWithTranslationFailure: (o: any) => o is FtPaginatedTocNodeWithTranslationFailure;
93
113
  export interface FtPaginationConfiguration {
94
114
  splitCurrentPageToc: boolean;
95
115
  }
@@ -62,14 +62,30 @@ export var TranslationFormat;
62
62
  TranslationFormat["HTML"] = "HTML";
63
63
  })(TranslationFormat || (TranslationFormat = {}));
64
64
  export const isTranslationFormat = (o) => Object.keys(TranslationFormat).includes(o);
65
- export const isFtTranslationInput = (o) => {
65
+ export const isFtTranslationLanguagesResponse = (o) => {
66
+ return isObject(o)
67
+ && ((Array.isArray(o.items)
68
+ && o.items.every((v) => isFtTranslationLocale(v))));
69
+ };
70
+ export const isFtTranslationRequest = (o) => {
66
71
  return isObject(o)
67
72
  && (isString(o.profileId))
68
73
  && (o.format == null || isTranslationFormat(o.format))
69
74
  && (isString(o.destinationLanguage))
70
- && (isString(o.content))
75
+ && ((Array.isArray(o.content)
76
+ && o.content.every((v) => isString(v))))
71
77
  && (o.sourceLanguage == null || isString(o.sourceLanguage));
72
78
  };
79
+ export const isFtTranslationResponse = (o) => {
80
+ return isObject(o)
81
+ && ((Array.isArray(o.items)
82
+ && o.items.every((v) => isString(v))));
83
+ };
84
+ export const isFtTranslationLocale = (o) => {
85
+ return isObject(o)
86
+ && (isString(o.code))
87
+ && (isString(o.label));
88
+ };
73
89
  export const isFtMapAttachment = (o) => {
74
90
  return isObject(o)
75
91
  && (isString(o.file))
@@ -90,7 +106,8 @@ export const isFtPaginatedToc = (o) => {
90
106
  return isObject(o)
91
107
  && (isFtPaginationConfiguration(o.configuration))
92
108
  && ((Array.isArray(o.paginatedToc)
93
- && o.paginatedToc.every((v) => isFtPaginatedTocNode(v))));
109
+ && o.paginatedToc.every((v) => isFtPaginatedTocNode(v))))
110
+ && (isBoolean(o.translationError));
94
111
  };
95
112
  export const isFtPaginatedTocNode = (o) => {
96
113
  return isObject(o)
@@ -102,8 +119,14 @@ export const isFtPaginatedTocNode = (o) => {
102
119
  && o.children.every((v) => isFtPaginatedTocNode(v))))
103
120
  && (o.pageConfiguration == null || isFtPageConfiguration(o.pageConfiguration))
104
121
  && (o.contentId == null || isString(o.contentId))
122
+ && (o.untranslatedTitle == null || isString(o.untranslatedTitle))
105
123
  && (o.title == null || isString(o.title));
106
124
  };
125
+ export const isFtPaginatedTocNodeWithTranslationFailure = (o) => {
126
+ return isObject(o)
127
+ && (isFtPaginatedTocNode(o.paginatedToc))
128
+ && (isBoolean(o.translationError));
129
+ };
107
130
  export const isFtPaginationConfiguration = (o) => {
108
131
  return isObject(o)
109
132
  && (isBoolean(o.splitCurrentPageToc));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fluid-topics/public-api",
3
- "version": "1.0.87",
3
+ "version": "1.0.89",
4
4
  "description": "Fluid Topics Public API",
5
5
  "author": "Fluid Topics dev team <opensource@antidot.net>",
6
6
  "license": "LGPL-3.0-only",