@fluid-topics/public-api 1.0.141-alpha1 → 1.0.142

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/mjs/index.js CHANGED
@@ -34,7 +34,7 @@ async function handleError(method, endpoint, response) {
34
34
  endpoint,
35
35
  status: response.status,
36
36
  statusText: response.statusText,
37
- body: await response.text(),
37
+ body: await response.text()
38
38
  };
39
39
  if (typeof wnd.dispatchEvent === "function") {
40
40
  wnd.dispatchEvent(new HttpErrorEvent(details));
@@ -57,9 +57,9 @@ export class FluidTopicsApi {
57
57
  stickyFilters: {
58
58
  endpoint: "api/admin/sticky-filters",
59
59
  id: (id) => ({
60
- endpoint: `api/admin/sticky-filters/${id}`,
61
- }),
62
- },
60
+ endpoint: `api/admin/sticky-filters/${id}`
61
+ })
62
+ }
63
63
  },
64
64
  authentication: {
65
65
  login: `api/authentication/login`,
@@ -79,14 +79,14 @@ export class FluidTopicsApi {
79
79
  attachmentId: (attachmentId) => ({
80
80
  info: `api/khub/maps/${mapId}/attachments/${attachmentId}`,
81
81
  content: `api/khub/maps/${mapId}/attachments/${attachmentId}/content`,
82
- }),
82
+ })
83
83
  },
84
84
  resources: {
85
85
  list: `api/khub/maps/${mapId}/resources`,
86
86
  resourceId: (resourceId) => ({
87
87
  info: `api/khub/maps/${mapId}/resources/${resourceId}`,
88
88
  content: `api/khub/maps/${mapId}/resources/${resourceId}/content`,
89
- }),
89
+ })
90
90
  },
91
91
  topics: {
92
92
  contentId: (contentId) => ({
@@ -97,9 +97,9 @@ export class FluidTopicsApi {
97
97
  tocId: (tocId) => ({
98
98
  feedback: `api/khub/maps/${mapId}/topics/${tocId}/feedback`,
99
99
  rating: `api/khub/maps/${mapId}/topics/${tocId}/rating`,
100
- }),
100
+ })
101
101
  },
102
- }),
102
+ })
103
103
  },
104
104
  documents: {
105
105
  documentId: (documentId) => ({
@@ -113,9 +113,9 @@ export class FluidTopicsApi {
113
113
  attachmentId: (attachmentId) => ({
114
114
  info: `api/khub/documents/${documentId}/attachments/${attachmentId}`,
115
115
  content: `api/khub/documents/${documentId}/attachments/${attachmentId}/content`,
116
- }),
116
+ })
117
117
  },
118
- }),
118
+ })
119
119
  },
120
120
  semantic: {
121
121
  search: `api/khub/semantic/search`,
@@ -128,14 +128,14 @@ export class FluidTopicsApi {
128
128
  user: {
129
129
  locales: {
130
130
  ui: `api/user/locales/ui`,
131
- },
131
+ }
132
132
  },
133
133
  users: {
134
134
  userId: (userId) => ({
135
135
  collections: {
136
136
  collectionId: (collectionId) => ({
137
137
  documents: `api/users/${userId}/collections/${collectionId}/documents`,
138
- }),
138
+ })
139
139
  },
140
140
  searches: {
141
141
  list: `api/users/${userId}/searches`,
@@ -143,11 +143,11 @@ export class FluidTopicsApi {
143
143
  mySearchId: (mySearchId) => ({
144
144
  delete: `api/users/${userId}/searches/${mySearchId}`,
145
145
  update: `api/users/${userId}/searches/${mySearchId}`,
146
- }),
146
+ })
147
147
  },
148
148
  bookmarks: {
149
149
  list: `api/users/${userId}/bookmarks`,
150
- },
150
+ }
151
151
  }),
152
152
  },
153
153
  stylesheets: {
@@ -181,8 +181,8 @@ export class FluidTopicsApi {
181
181
  backups: `api/remote-portals/${remoteId}/backups`,
182
182
  backup: (backupId) => ({
183
183
  restore: `api/remote-portals/${remoteId}/backups/${backupId}/restore`,
184
- }),
185
- }),
184
+ })
185
+ })
186
186
  },
187
187
  locales: {
188
188
  ui: `api/locales/ui`,
@@ -193,14 +193,14 @@ export class FluidTopicsApi {
193
193
  fluidTopics: {
194
194
  contextName: (contextName) => ({
195
195
  endpoint: `api/messages/${locale}/fluid-topics/${contextName}`,
196
- }),
196
+ })
197
197
  },
198
198
  custom: {
199
199
  contextName: (contextName) => ({
200
200
  endpoint: `api/messages/${locale}/custom/${contextName}`,
201
- }),
202
- },
203
- }),
201
+ })
202
+ }
203
+ })
204
204
  },
205
205
  ai: {
206
206
  generate: `api/ai/generate`,
@@ -210,30 +210,30 @@ export class FluidTopicsApi {
210
210
  translate: `api/ai/translate`,
211
211
  destinationLanguages: (profileId) => ({
212
212
  endpoint: `api/ai/translate/${profileId}/languages`,
213
- }),
213
+ })
214
214
  },
215
215
  assets: {
216
216
  highlightjs: `assets/scripts/highlightjs`,
217
217
  customCode: (subPath) => ({
218
218
  endpoint: `portal/custom-code/${subPath}`,
219
- }),
219
+ })
220
220
  },
221
221
  analytics: {
222
222
  events: "api/analytics/events",
223
223
  },
224
224
  stickyFilters: {
225
225
  id: (id) => ({
226
- get: `api/sticky-filters/${id}`,
226
+ get: `api/sticky-filters/${id}`
227
227
  }),
228
228
  find: `api/sticky-filters/find`,
229
- suggest: `api/sticky-filters/suggest`,
230
- },
229
+ suggest: `api/sticky-filters/suggest`
230
+ }
231
231
  };
232
232
  get defaultHeaders() {
233
233
  return {
234
234
  ...this.authorization,
235
235
  ...this.searchLabel,
236
- "Ft-Calling-App": this.ftCallingApp,
236
+ "Ft-Calling-App": this.ftCallingApp
237
237
  };
238
238
  }
239
239
  constructor(tenantBaseUrl, integrationIdentifier, overrideIdentifierIfOnTenant) {
@@ -267,7 +267,7 @@ export class FluidTopicsApi {
267
267
  let credentials = {
268
268
  login: login,
269
269
  password: password,
270
- rememberMe: true,
270
+ rememberMe: true
271
271
  };
272
272
  return this.post(this.endpoints.authentication.login, credentials)
273
273
  .then(result => {
@@ -278,7 +278,7 @@ export class FluidTopicsApi {
278
278
  logout() {
279
279
  return this.fetch(this.endpoints.authentication.logout, {
280
280
  method: "POST",
281
- credentials: this.authorization == null ? "include" : undefined,
281
+ credentials: this.authorization == null ? "include" : undefined
282
282
  })
283
283
  .then((response) => handleError("POST", this.endpoints.authentication.logout, response))
284
284
  .then(async (response) => {
@@ -313,16 +313,6 @@ export class FluidTopicsApi {
313
313
  const queryParams = { ...this.buildTranslationParameters(translationSettings), v };
314
314
  return this.get(this.buildUrlFromParams(endpoint, queryParams));
315
315
  }
316
- getFilteredPages(mapId, translationSettings, metadataFilters) {
317
- if (!metadataFilters || metadataFilters.length === 0) {
318
- return this.getPages(mapId, undefined, translationSettings);
319
- }
320
- const tocRequest = {
321
- metadataFilters: metadataFilters || [],
322
- ...this.buildTranslationParameters(translationSettings),
323
- };
324
- return this.post(this.endpoints.khub.maps.mapId(mapId).pages, tocRequest);
325
- }
326
316
  getTopic(mapId, topicContentId, v) {
327
317
  return this.get(this.endpoints.khub.maps.mapId(mapId).topics.contentId(topicContentId).info, v);
328
318
  }
@@ -405,7 +395,7 @@ export class FluidTopicsApi {
405
395
  }
406
396
  rateTopic(mapId, tocId, type, value) {
407
397
  return this.post(this.endpoints.khub.maps.mapId(mapId).topics.tocId(tocId).rating, {
408
- type, value,
398
+ type, value
409
399
  });
410
400
  }
411
401
  unrateTopic(mapId, tocId) {
@@ -523,7 +513,7 @@ export class FluidTopicsApi {
523
513
  "Content-Type": "application/json",
524
514
  },
525
515
  body: JSON.stringify({ profileId, parameters }),
526
- credentials: this.authorization == null ? "include" : undefined,
516
+ credentials: this.authorization == null ? "include" : undefined
527
517
  });
528
518
  await handleError("POST", this.endpoints.ai.generate, response);
529
519
  const reader = new AIChunkReader(response.body.getReader());
@@ -536,7 +526,7 @@ export class FluidTopicsApi {
536
526
  "Content-Type": "application/json",
537
527
  },
538
528
  body: JSON.stringify(input),
539
- credentials: this.authorization == null ? "include" : undefined,
529
+ credentials: this.authorization == null ? "include" : undefined
540
530
  });
541
531
  await handleError("POST", this.endpoints.ai.chat, response);
542
532
  const reader = new AIChunkReader(response.body.getReader());
@@ -550,7 +540,7 @@ export class FluidTopicsApi {
550
540
  "Content-Type": "application/json",
551
541
  },
552
542
  body: JSON.stringify(input),
553
- credentials: this.authorization == null ? "include" : undefined,
543
+ credentials: this.authorization == null ? "include" : undefined
554
544
  });
555
545
  await handleError("POST", endpoint, response);
556
546
  const reader = new AIChunkReader(response.body.getReader());
@@ -600,8 +590,8 @@ export class FluidTopicsApi {
600
590
  ...(requestInit ?? {}),
601
591
  headers: {
602
592
  ...this.defaultHeaders,
603
- ...(requestInit?.headers ?? {}),
604
- },
593
+ ...(requestInit?.headers ?? {})
594
+ }
605
595
  });
606
596
  }
607
597
  upload(method, endpoint, body, onProgress = () => undefined) {
@@ -637,10 +627,10 @@ export class FluidTopicsApi {
637
627
  return this.fetch(endpoint, {
638
628
  method: method,
639
629
  headers: {
640
- ...(data != null ? { "Content-Type": "application/json" } : {}),
630
+ ...(data != null ? { "Content-Type": "application/json" } : {})
641
631
  },
642
632
  body: data != null ? JSON.stringify(data) : undefined,
643
- credentials: this.authorization == null ? "include" : undefined,
633
+ credentials: this.authorization == null ? "include" : undefined
644
634
  })
645
635
  .then((r) => handleError(method, endpoint, r))
646
636
  .then(getBody);
@@ -648,7 +638,7 @@ export class FluidTopicsApi {
648
638
  fetchRawData(endpoint, v) {
649
639
  return fetch(this.withVersion(endpoint, v), {
650
640
  headers: this.defaultHeaders,
651
- credentials: this.authorization == null ? "include" : undefined,
641
+ credentials: this.authorization == null ? "include" : undefined
652
642
  })
653
643
  .then((r) => handleError("GET", endpoint, r))
654
644
  .then(response => response.arrayBuffer());
@@ -681,7 +671,7 @@ export class FluidTopicsApi {
681
671
  return {
682
672
  translationProfileId: translationSettings.profileId,
683
673
  translationDestinationLanguage: translationSettings.destinationLanguage,
684
- translationSourceLanguage: translationSettings.sourceLanguage?.slice(0, 2),
674
+ translationSourceLanguage: translationSettings.sourceLanguage?.slice(0, 2)
685
675
  };
686
676
  }
687
677
  }
@@ -512,12 +512,6 @@ export interface FtTocNode {
512
512
  title: string;
513
513
  }
514
514
  export declare const isFtTocNode: (o: any) => o is FtTocNode;
515
- export declare enum FtTocNodeFilteredReason {
516
- METADATA_FILTER = "METADATA_FILTER",
517
- ACCESS_RIGHTS_FILTER = "ACCESS_RIGHTS_FILTER"
518
- }
519
- export type FtTocNodeFilteredReasonKeys = keyof typeof FtTocNodeFilteredReason;
520
- export declare const isFtTocNodeFilteredReason: (o: any) => o is FtTocNodeFilteredReason;
521
515
  export interface FtTopic {
522
516
  metadata: Array<FtMetadata>;
523
517
  id: string;
@@ -766,12 +760,6 @@ export interface FtTopicsRatingSummary {
766
760
  type: FtRatingTypeKeys;
767
761
  }
768
762
  export declare const isFtTopicsRatingSummary: (o: any) => o is FtTopicsRatingSummary;
769
- export interface FtTocRequest {
770
- translationProfileId?: string;
771
- translationDestinationLanguage?: string;
772
- metadataFilters: Array<FtMetadataFilter>;
773
- }
774
- export declare const isFtTocRequest: (o: any) => o is FtTocRequest;
775
763
  export interface FtMapResourceSummary {
776
764
  contentUrl: string;
777
765
  filename: string;
@@ -542,12 +542,6 @@ export const isFtTocNode = (o) => {
542
542
  && (o.untranslatedTitle == null || isString(o.untranslatedTitle))
543
543
  && (isString(o.title));
544
544
  };
545
- export var FtTocNodeFilteredReason;
546
- (function (FtTocNodeFilteredReason) {
547
- FtTocNodeFilteredReason["METADATA_FILTER"] = "METADATA_FILTER";
548
- FtTocNodeFilteredReason["ACCESS_RIGHTS_FILTER"] = "ACCESS_RIGHTS_FILTER";
549
- })(FtTocNodeFilteredReason || (FtTocNodeFilteredReason = {}));
550
- export const isFtTocNodeFilteredReason = (o) => Object.keys(FtTocNodeFilteredReason).includes(o);
551
545
  export const isFtTopic = (o) => {
552
546
  return isObject(o)
553
547
  && ((Array.isArray(o.metadata)
@@ -815,13 +809,6 @@ export const isFtTopicsRatingSummary = (o) => {
815
809
  && o.ratings.every((v) => isFtTopicRating(v))))
816
810
  && (isFtRatingType(o.type));
817
811
  };
818
- export const isFtTocRequest = (o) => {
819
- return isObject(o)
820
- && (o.translationProfileId == null || isString(o.translationProfileId))
821
- && (o.translationDestinationLanguage == null || isString(o.translationDestinationLanguage))
822
- && ((Array.isArray(o.metadataFilters)
823
- && o.metadataFilters.every((v) => isFtMetadataFilter(v))));
824
- };
825
812
  export const isFtMapResourceSummary = (o) => {
826
813
  return isObject(o)
827
814
  && (isString(o.contentUrl))
@@ -1,4 +1,4 @@
1
- import { FtTocNode, FtTopicOrigin, FtTocNodeFilteredReasonKeys, FtWatermark, FtMetadata } from "../ft-common/public";
1
+ import { FtTocNode, FtTopicOrigin, FtWatermark, FtMetadata } from "../ft-common/public";
2
2
  export interface FtRemotePortal {
3
3
  baseUrl: string;
4
4
  id: string;
@@ -51,8 +51,6 @@ export declare enum FtChatbotAdminRatingTag {
51
51
  INACCURATE = "INACCURATE",
52
52
  INCOMPLETE = "INCOMPLETE",
53
53
  OFF_TOPIC = "OFF_TOPIC",
54
- IRRELEVANT_SOURCES = "IRRELEVANT_SOURCES",
55
- SUMMARY = "SUMMARY",
56
54
  SEMANTIC_SEARCH = "SEMANTIC_SEARCH",
57
55
  CHATBOT_INSTRUCTIONS = "CHATBOT_INSTRUCTIONS",
58
56
  DOCUMENTATION = "DOCUMENTATION",
@@ -119,6 +117,7 @@ export interface FtAgentRagChatRequest {
119
117
  profileId: string;
120
118
  conversationId: unknown;
121
119
  query: string;
120
+ stickyFiltersId?: string;
122
121
  filters?: Array<FtSemanticSearchFilter>;
123
122
  }
124
123
  export declare const isFtAgentRagChatRequest: (o: any) => o is FtAgentRagChatRequest;
@@ -127,6 +126,7 @@ export interface FtAgentGenerateRequest {
127
126
  profileId: string;
128
127
  conversationId: unknown;
129
128
  query: string;
129
+ stickyFiltersId?: string;
130
130
  searchFilters?: Array<FtSemanticSearchFilter>;
131
131
  }
132
132
  export declare const isFtAgentGenerateRequest: (o: any) => o is FtAgentGenerateRequest;
@@ -147,6 +147,7 @@ export interface FtRagInput {
147
147
  query: string;
148
148
  messages?: Array<FtRagHistory>;
149
149
  responseFormat?: FtRagResponseFormatKeys;
150
+ stickyFiltersId?: string;
150
151
  filters?: Array<FtSemanticSearchFilter>;
151
152
  }
152
153
  export declare const isFtRagInput: (o: any) => o is FtRagInput;
@@ -182,6 +183,17 @@ export interface FtGenAIGenerationTraceOutput {
182
183
  response: string;
183
184
  }
184
185
  export declare const isFtGenAIGenerationTraceOutput: (o: any) => o is FtGenAIGenerationTraceOutput;
186
+ export interface FtRagChatResponseDocumentModel {
187
+ title: string;
188
+ url: string;
189
+ content: string;
190
+ }
191
+ export declare const isFtRagChatResponseDocumentModel: (o: any) => o is FtRagChatResponseDocumentModel;
192
+ export interface FtRagChatResponseModel {
193
+ answer: string;
194
+ documents?: Array<FtRagChatResponseDocumentModel>;
195
+ }
196
+ export declare const isFtRagChatResponseModel: (o: any) => o is FtRagChatResponseModel;
185
197
  export interface FtGenAIRagFetchTracesRequest {
186
198
  endDate?: string;
187
199
  conversationId?: string;
@@ -283,7 +295,6 @@ export interface FtPageConfiguration {
283
295
  export declare const isFtPageConfiguration: (o: any) => o is FtPageConfiguration;
284
296
  export interface FtPaginatedToc {
285
297
  configuration: FtPaginationConfiguration;
286
- filteredTocNodes: Record<string, FtTocNodeFiltered>;
287
298
  paginatedToc: Array<FtPaginatedTocNode>;
288
299
  translationError: boolean;
289
300
  }
@@ -312,12 +323,6 @@ export interface FtPaginationConfiguration {
312
323
  splitCurrentPageToc: boolean;
313
324
  }
314
325
  export declare const isFtPaginationConfiguration: (o: any) => o is FtPaginationConfiguration;
315
- export interface FtTocNodeFiltered {
316
- reason: FtTocNodeFilteredReasonKeys;
317
- tocId: string;
318
- closestParent?: string;
319
- }
320
- export declare const isFtTocNodeFiltered: (o: any) => o is FtTocNodeFiltered;
321
326
  export declare enum FtTopicContentFormat {
322
327
  HTML = "HTML",
323
328
  MARKDOWN = "MARKDOWN"
@@ -364,6 +369,7 @@ export interface FtClusteredSemanticSearchRequest {
364
369
  cluster?: FtClusteredSemanticSearchCluster;
365
370
  outputMetadata?: Array<string>;
366
371
  query: string;
372
+ stickyFiltersId?: string;
367
373
  filters?: Array<FtSemanticSearchFilter>;
368
374
  nbResults?: number;
369
375
  }
@@ -402,6 +408,7 @@ export declare const isFtSemanticSearchOrFilter: (o: any) => o is FtSemanticSear
402
408
  export interface FtSemanticSearchRequest {
403
409
  outputMetadata?: Array<string>;
404
410
  query: string;
411
+ stickyFiltersId?: string;
405
412
  filters?: Array<FtSemanticSearchFilter>;
406
413
  nbResults?: number;
407
414
  }
@@ -58,8 +58,6 @@ export var FtChatbotAdminRatingTag;
58
58
  FtChatbotAdminRatingTag["INACCURATE"] = "INACCURATE";
59
59
  FtChatbotAdminRatingTag["INCOMPLETE"] = "INCOMPLETE";
60
60
  FtChatbotAdminRatingTag["OFF_TOPIC"] = "OFF_TOPIC";
61
- FtChatbotAdminRatingTag["IRRELEVANT_SOURCES"] = "IRRELEVANT_SOURCES";
62
- FtChatbotAdminRatingTag["SUMMARY"] = "SUMMARY";
63
61
  FtChatbotAdminRatingTag["SEMANTIC_SEARCH"] = "SEMANTIC_SEARCH";
64
62
  FtChatbotAdminRatingTag["CHATBOT_INSTRUCTIONS"] = "CHATBOT_INSTRUCTIONS";
65
63
  FtChatbotAdminRatingTag["DOCUMENTATION"] = "DOCUMENTATION";
@@ -129,6 +127,7 @@ export const isFtAgentRagChatRequest = (o) => {
129
127
  return isObject(o)
130
128
  && (isString(o.profileId))
131
129
  && (isString(o.query))
130
+ && (o.stickyFiltersId == null || isString(o.stickyFiltersId))
132
131
  && (o.filters == null || (Array.isArray(o.filters)
133
132
  && o.filters.every((v) => isFtSemanticSearchFilter(v))));
134
133
  };
@@ -137,6 +136,7 @@ export const isFtAgentGenerateRequest = (o) => {
137
136
  && (o.stream == null || isBoolean(o.stream))
138
137
  && (isString(o.profileId))
139
138
  && (isString(o.query))
139
+ && (o.stickyFiltersId == null || isString(o.stickyFiltersId))
140
140
  && (o.searchFilters == null || (Array.isArray(o.searchFilters)
141
141
  && o.searchFilters.every((v) => isFtSemanticSearchFilter(v))));
142
142
  };
@@ -159,6 +159,7 @@ export const isFtRagInput = (o) => {
159
159
  && (o.messages == null || (Array.isArray(o.messages)
160
160
  && o.messages.every((v) => isFtRagHistory(v))))
161
161
  && (o.responseFormat == null || isFtRagResponseFormat(o.responseFormat))
162
+ && (o.stickyFiltersId == null || isString(o.stickyFiltersId))
162
163
  && (o.filters == null || (Array.isArray(o.filters)
163
164
  && o.filters.every((v) => isFtSemanticSearchFilter(v))));
164
165
  };
@@ -195,6 +196,18 @@ export const isFtGenAIGenerationTraceOutput = (o) => {
195
196
  return isObject(o)
196
197
  && (isString(o.response));
197
198
  };
199
+ export const isFtRagChatResponseDocumentModel = (o) => {
200
+ return isObject(o)
201
+ && (isString(o.title))
202
+ && (isString(o.url))
203
+ && (isString(o.content));
204
+ };
205
+ export const isFtRagChatResponseModel = (o) => {
206
+ return isObject(o)
207
+ && (isString(o.answer))
208
+ && (o.documents == null || (Array.isArray(o.documents)
209
+ && o.documents.every((v) => isFtRagChatResponseDocumentModel(v))));
210
+ };
198
211
  export const isFtGenAIRagFetchTracesRequest = (o) => {
199
212
  return isObject(o)
200
213
  && (o.endDate == null || isString(o.endDate))
@@ -300,9 +313,6 @@ export const isFtPageConfiguration = (o) => {
300
313
  export const isFtPaginatedToc = (o) => {
301
314
  return isObject(o)
302
315
  && (isFtPaginationConfiguration(o.configuration))
303
- && ((isObject(o.filteredTocNodes)
304
- && Object.keys(o.filteredTocNodes).every((k) => isString(k))
305
- && Object.values(o.filteredTocNodes).every((v) => isFtTocNodeFiltered(v))))
306
316
  && ((Array.isArray(o.paginatedToc)
307
317
  && o.paginatedToc.every((v) => isFtPaginatedTocNode(v))))
308
318
  && (isBoolean(o.translationError));
@@ -331,11 +341,6 @@ export const isFtPaginationConfiguration = (o) => {
331
341
  return isObject(o)
332
342
  && (isBoolean(o.splitCurrentPageToc));
333
343
  };
334
- export const isFtTocNodeFiltered = (o) => {
335
- return isObject(o)
336
- && (isString(o.tocId))
337
- && (o.closestParent == null || isString(o.closestParent));
338
- };
339
344
  export var FtTopicContentFormat;
340
345
  (function (FtTopicContentFormat) {
341
346
  FtTopicContentFormat["HTML"] = "HTML";
@@ -385,6 +390,7 @@ export const isFtClusteredSemanticSearchRequest = (o) => {
385
390
  && (o.outputMetadata == null || (Array.isArray(o.outputMetadata)
386
391
  && o.outputMetadata.every((v) => isString(v))))
387
392
  && (isString(o.query))
393
+ && (o.stickyFiltersId == null || isString(o.stickyFiltersId))
388
394
  && (o.filters == null || (Array.isArray(o.filters)
389
395
  && o.filters.every((v) => isFtSemanticSearchFilter(v))))
390
396
  && (o.nbResults == null || isNumber(o.nbResults));
@@ -439,6 +445,7 @@ export const isFtSemanticSearchRequest = (o) => {
439
445
  && (o.outputMetadata == null || (Array.isArray(o.outputMetadata)
440
446
  && o.outputMetadata.every((v) => isString(v))))
441
447
  && (isString(o.query))
448
+ && (o.stickyFiltersId == null || isString(o.stickyFiltersId))
442
449
  && (o.filters == null || (Array.isArray(o.filters)
443
450
  && o.filters.every((v) => isFtSemanticSearchFilter(v))))
444
451
  && (o.nbResults == null || isNumber(o.nbResults));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fluid-topics/public-api",
3
- "version": "1.0.141-alpha1",
3
+ "version": "1.0.142",
4
4
  "description": "Fluid Topics Public API",
5
5
  "author": "Fluid Topics dev team <opensource@antidot.net>",
6
6
  "license": "LGPL-3.0-only",
@@ -29,19 +29,19 @@
29
29
  "@rollup/plugin-typescript": "12.3.0",
30
30
  "@types/chai": "5.2.3",
31
31
  "@types/mocha": "10.0.10",
32
- "@types/node": "25.9.5",
32
+ "@types/node": "25.9.8",
33
33
  "@web/test-runner": "1.0.0",
34
34
  "@web/test-runner-junit-reporter": "1.0.0",
35
35
  "@web/test-runner-playwright": "1.0.0",
36
36
  "chai": "6.2.2",
37
- "mocha": "12.0.0",
37
+ "mocha": "12.0.2",
38
38
  "playwright": "1.63.0",
39
- "rollup": "4.63.1",
39
+ "rollup": "4.63.3",
40
40
  "ts-node": "10.9.2",
41
41
  "tslib": "2.8.1",
42
42
  "tsx": "4.23.13",
43
43
  "typescript": "6.0.3",
44
- "vite": "8.2.2"
44
+ "vite": "8.3.0"
45
45
  },
46
46
  "packageManager": "yarn@4.18.0"
47
47
  }