coveo.analytics 2.30.53 → 2.30.55

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.
@@ -1,6 +1,6 @@
1
1
  import { ClientOptions, AnalyticsClient } from '../client/analytics';
2
2
  import { SearchEventRequest, SearchEventResponse, AnyEventResponse, ClickEventResponse, CustomEventResponse } from '../events';
3
- import { SearchPageEvents, OmniboxSuggestionsMetadata, FacetMetadata, FacetRangeMetadata, CategoryFacetMetadata, DocumentIdentifier, InterfaceChangeMetadata, ResultsSortMetadata, PartialDocumentInformation, TriggerNotifyMetadata, TriggerExecuteMetadata, TriggerRedirectMetadata, PagerResizeMetadata, PagerMetadata, FacetBaseMeta, FacetSortMeta, QueryErrorMeta, FacetStateMetadata, SmartSnippetFeedbackReason, SmartSnippetSuggestionMeta, SmartSnippetDocumentIdentifier, StaticFilterMetadata, StaticFilterToggleValueMetadata, UndoTriggerRedirectMetadata, SmartSnippetLinkMeta, GeneratedAnswerFeedbackMeta, GeneratedAnswerCitationMeta, GeneratedAnswerStreamEndMeta, GeneratedAnswerSourceHoverMeta, GeneratedAnswerBaseMeta, GeneratedAnswerRephraseMeta, GeneratedAnswerFeedbackMetaV2, GeneratedAnswerCitationClickMeta } from './searchPageEvents';
3
+ import { SearchPageEvents, OmniboxSuggestionsMetadata, FacetMetadata, FacetRangeMetadata, CategoryFacetMetadata, DocumentIdentifier, InterfaceChangeMetadata, ResultsSortMetadata, PartialDocumentInformation, TriggerNotifyMetadata, TriggerExecuteMetadata, TriggerRedirectMetadata, PagerResizeMetadata, PagerMetadata, FacetBaseMeta, FacetSortMeta, QueryErrorMeta, FacetStateMetadata, SmartSnippetFeedbackReason, SmartSnippetSuggestionMeta, SmartSnippetDocumentIdentifier, StaticFilterMetadata, StaticFilterToggleValueMetadata, UndoTriggerRedirectMetadata, SmartSnippetLinkMeta, GeneratedAnswerFeedbackMeta, GeneratedAnswerCitationMeta, GeneratedAnswerStreamEndMeta, GeneratedAnswerSourceHoverMeta, GeneratedAnswerBaseMeta, GeneratedAnswerRephraseMeta, GeneratedAnswerFeedbackMetaV2, GeneratedAnswerCitationClickMeta, GeneratedAnswerInlineLinkMeta } from './searchPageEvents';
4
4
  export interface SearchPageClientProvider {
5
5
  getBaseMetadata: () => Record<string, any>;
6
6
  getSearchEventRequestPayload: () => Omit<SearchEventRequest, 'actionCause' | 'searchQueryUid'>;
@@ -192,6 +192,8 @@ export declare class CoveoSearchPageClient {
192
192
  logDislikeGeneratedAnswer(metadata: GeneratedAnswerBaseMeta): Promise<void | CustomEventResponse>;
193
193
  makeOpenGeneratedAnswerSource(metadata: GeneratedAnswerCitationMeta): Promise<EventBuilder<CustomEventResponse>>;
194
194
  logOpenGeneratedAnswerSource(metadata: GeneratedAnswerCitationMeta): Promise<void | CustomEventResponse>;
195
+ makeGeneratedAnswerOpenInlineLink(metadata: GeneratedAnswerInlineLinkMeta): Promise<EventBuilder<CustomEventResponse>>;
196
+ logGeneratedAnswerOpenInlineLink(metadata: GeneratedAnswerInlineLinkMeta): Promise<void | CustomEventResponse>;
195
197
  makeGeneratedAnswerCitationClick(info: PartialDocumentInformation, citation: GeneratedAnswerCitationClickMeta): Promise<EventBuilder<ClickEventResponse>>;
196
198
  logGeneratedAnswerCitationClick(info: PartialDocumentInformation, citation: GeneratedAnswerCitationClickMeta): Promise<void | ClickEventResponse>;
197
199
  makeGeneratedAnswerSourceHover(metadata: GeneratedAnswerSourceHoverMeta): Promise<EventBuilder<CustomEventResponse>>;
@@ -77,6 +77,7 @@ export declare enum SearchPageEvents {
77
77
  likeGeneratedAnswer = "likeGeneratedAnswer",
78
78
  dislikeGeneratedAnswer = "dislikeGeneratedAnswer",
79
79
  openGeneratedAnswerSource = "openGeneratedAnswerSource",
80
+ generatedAnswerOpenInlineLink = "generatedAnswerOpenInlineLink",
80
81
  generatedAnswerStreamEnd = "generatedAnswerStreamEnd",
81
82
  generatedAnswerSourceHover = "generatedAnswerSourceHover",
82
83
  generatedAnswerCopyToClipboard = "generatedAnswerCopyToClipboard",
@@ -187,10 +188,12 @@ export interface SmartSnippetSuggestionMeta {
187
188
  answerSnippet: string;
188
189
  documentId: SmartSnippetDocumentIdentifier;
189
190
  }
190
- export interface SmartSnippetLinkMeta {
191
+ export interface LinkMeta {
191
192
  linkText: string;
192
193
  linkURL: string;
193
194
  }
195
+ export interface SmartSnippetLinkMeta extends LinkMeta {
196
+ }
194
197
  export interface SmartSnippetDocumentIdentifier {
195
198
  contentIdKey: string;
196
199
  contentIdValue: string;
@@ -199,12 +202,19 @@ export type PartialDocumentInformation = Omit<DocumentInformation, 'actionCause'
199
202
  interface AnswerGeneratedWithAnswerAPI {
200
203
  answerAPIStreamId: string;
201
204
  generativeQuestionAnsweringId?: never;
205
+ conversationId?: never;
202
206
  }
203
207
  interface AnswerGeneratedWithSearchAPI {
204
208
  answerAPIStreamId?: never;
205
209
  generativeQuestionAnsweringId: string;
210
+ conversationId?: never;
211
+ }
212
+ interface AnswerGeneratedWithAgent {
213
+ answerAPIStreamId?: never;
214
+ generativeQuestionAnsweringId: string;
215
+ conversationId: string;
206
216
  }
207
- export type GeneratedAnswerBaseMeta = AnswerGeneratedWithAnswerAPI | AnswerGeneratedWithSearchAPI;
217
+ export type GeneratedAnswerBaseMeta = AnswerGeneratedWithAnswerAPI | AnswerGeneratedWithSearchAPI | AnswerGeneratedWithAgent;
208
218
  export type GeneratedAnswerStreamEndMeta = GeneratedAnswerBaseMeta & {
209
219
  answerGenerated: boolean;
210
220
  answerTextIsEmpty?: boolean;
@@ -213,6 +223,7 @@ export type GeneratedAnswerCitationMeta = GeneratedAnswerBaseMeta & {
213
223
  permanentId: string;
214
224
  citationId: string;
215
225
  };
226
+ export type GeneratedAnswerInlineLinkMeta = GeneratedAnswerBaseMeta & LinkMeta;
216
227
  export type GeneratedAnswerCitationClickMeta = GeneratedAnswerBaseMeta & {
217
228
  citationId: string;
218
229
  documentId: GeneratedAnswerDocumentIdentifier;
@@ -1 +1 @@
1
- export declare const libVersion = "2.30.53";
1
+ export declare const libVersion = "2.30.55";
package/dist/library.cjs CHANGED
@@ -736,7 +736,7 @@ function sha1(bytes) {
736
736
  const v5 = v35('v5', 0x50, sha1);
737
737
  var uuidv5 = v5;
738
738
 
739
- var libVersion = "2.30.53";
739
+ var libVersion = "2.30.55";
740
740
 
741
741
  var getFormattedLocation = function (location) {
742
742
  return "".concat(location.protocol, "//").concat(location.hostname).concat(location.pathname.indexOf('/') === 0 ? location.pathname : "/".concat(location.pathname)).concat(location.search);
@@ -84425,6 +84425,7 @@ exports.SearchPageEvents = void 0;
84425
84425
  SearchPageEvents["likeGeneratedAnswer"] = "likeGeneratedAnswer";
84426
84426
  SearchPageEvents["dislikeGeneratedAnswer"] = "dislikeGeneratedAnswer";
84427
84427
  SearchPageEvents["openGeneratedAnswerSource"] = "openGeneratedAnswerSource";
84428
+ SearchPageEvents["generatedAnswerOpenInlineLink"] = "generatedAnswerOpenInlineLink";
84428
84429
  SearchPageEvents["generatedAnswerStreamEnd"] = "generatedAnswerStreamEnd";
84429
84430
  SearchPageEvents["generatedAnswerSourceHover"] = "generatedAnswerSourceHover";
84430
84431
  SearchPageEvents["generatedAnswerCopyToClipboard"] = "generatedAnswerCopyToClipboard";
@@ -84474,6 +84475,7 @@ var CustomEventsTypes = (_a = {},
84474
84475
  _a[exports.SearchPageEvents.likeGeneratedAnswer] = 'generatedAnswer',
84475
84476
  _a[exports.SearchPageEvents.dislikeGeneratedAnswer] = 'generatedAnswer',
84476
84477
  _a[exports.SearchPageEvents.openGeneratedAnswerSource] = 'generatedAnswer',
84478
+ _a[exports.SearchPageEvents.generatedAnswerOpenInlineLink] = 'generatedAnswer',
84477
84479
  _a[exports.SearchPageEvents.generatedAnswerStreamEnd] = 'generatedAnswer',
84478
84480
  _a[exports.SearchPageEvents.generatedAnswerSourceHover] = 'generatedAnswer',
84479
84481
  _a[exports.SearchPageEvents.generatedAnswerCopyToClipboard] = 'generatedAnswer',
@@ -85814,6 +85816,21 @@ var CoveoSearchPageClient = (function () {
85814
85816
  });
85815
85817
  });
85816
85818
  };
85819
+ CoveoSearchPageClient.prototype.makeGeneratedAnswerOpenInlineLink = function (metadata) {
85820
+ return this.makeCustomEvent(exports.SearchPageEvents.generatedAnswerOpenInlineLink, metadata);
85821
+ };
85822
+ CoveoSearchPageClient.prototype.logGeneratedAnswerOpenInlineLink = function (metadata) {
85823
+ return __awaiter(this, void 0, void 0, function () {
85824
+ return __generator(this, function (_a) {
85825
+ switch (_a.label) {
85826
+ case 0: return [4, this.makeGeneratedAnswerOpenInlineLink(metadata)];
85827
+ case 1: return [2, (_a.sent()).log({
85828
+ searchUID: this.provider.getSearchUID(),
85829
+ })];
85830
+ }
85831
+ });
85832
+ });
85833
+ };
85817
85834
  CoveoSearchPageClient.prototype.makeGeneratedAnswerCitationClick = function (info, citation) {
85818
85835
  return this.makeClickEvent(exports.SearchPageEvents.generatedAnswerCitationClick, __assign(__assign({}, info), { documentPosition: 1 }), { contentIDKey: citation.documentId.contentIdKey, contentIDValue: citation.documentId.contentIdValue }, citation);
85819
85836
  };
@@ -603,7 +603,7 @@ function sha1(bytes) {
603
603
  const v5 = v35('v5', 0x50, sha1);
604
604
  var uuidv5 = v5;
605
605
 
606
- const libVersion = "2.30.53";
606
+ const libVersion = "2.30.55";
607
607
 
608
608
  const getFormattedLocation = (location) => `${location.protocol}//${location.hostname}${location.pathname.indexOf('/') === 0 ? location.pathname : `/${location.pathname}`}${location.search}`;
609
609
 
@@ -1822,6 +1822,7 @@ var SearchPageEvents;
1822
1822
  SearchPageEvents["likeGeneratedAnswer"] = "likeGeneratedAnswer";
1823
1823
  SearchPageEvents["dislikeGeneratedAnswer"] = "dislikeGeneratedAnswer";
1824
1824
  SearchPageEvents["openGeneratedAnswerSource"] = "openGeneratedAnswerSource";
1825
+ SearchPageEvents["generatedAnswerOpenInlineLink"] = "generatedAnswerOpenInlineLink";
1825
1826
  SearchPageEvents["generatedAnswerStreamEnd"] = "generatedAnswerStreamEnd";
1826
1827
  SearchPageEvents["generatedAnswerSourceHover"] = "generatedAnswerSourceHover";
1827
1828
  SearchPageEvents["generatedAnswerCopyToClipboard"] = "generatedAnswerCopyToClipboard";
@@ -1871,6 +1872,7 @@ const CustomEventsTypes = {
1871
1872
  [SearchPageEvents.likeGeneratedAnswer]: 'generatedAnswer',
1872
1873
  [SearchPageEvents.dislikeGeneratedAnswer]: 'generatedAnswer',
1873
1874
  [SearchPageEvents.openGeneratedAnswerSource]: 'generatedAnswer',
1875
+ [SearchPageEvents.generatedAnswerOpenInlineLink]: 'generatedAnswer',
1874
1876
  [SearchPageEvents.generatedAnswerStreamEnd]: 'generatedAnswer',
1875
1877
  [SearchPageEvents.generatedAnswerSourceHover]: 'generatedAnswer',
1876
1878
  [SearchPageEvents.generatedAnswerCopyToClipboard]: 'generatedAnswer',
@@ -2712,6 +2714,16 @@ class CoveoSearchPageClient {
2712
2714
  });
2713
2715
  });
2714
2716
  }
2717
+ makeGeneratedAnswerOpenInlineLink(metadata) {
2718
+ return this.makeCustomEvent(SearchPageEvents.generatedAnswerOpenInlineLink, metadata);
2719
+ }
2720
+ logGeneratedAnswerOpenInlineLink(metadata) {
2721
+ return __awaiter(this, void 0, void 0, function* () {
2722
+ return (yield this.makeGeneratedAnswerOpenInlineLink(metadata)).log({
2723
+ searchUID: this.provider.getSearchUID(),
2724
+ });
2725
+ });
2726
+ }
2715
2727
  makeGeneratedAnswerCitationClick(info, citation) {
2716
2728
  return this.makeClickEvent(SearchPageEvents.generatedAnswerCitationClick, Object.assign(Object.assign({}, info), { documentPosition: 1 }), { contentIDKey: citation.documentId.contentIdKey, contentIDValue: citation.documentId.contentIdValue }, citation);
2717
2729
  }
package/dist/library.js CHANGED
@@ -736,7 +736,7 @@ function sha1(bytes) {
736
736
  const v5 = v35('v5', 0x50, sha1);
737
737
  var uuidv5 = v5;
738
738
 
739
- var libVersion = "2.30.53";
739
+ var libVersion = "2.30.55";
740
740
 
741
741
  var getFormattedLocation = function (location) {
742
742
  return "".concat(location.protocol, "//").concat(location.hostname).concat(location.pathname.indexOf('/') === 0 ? location.pathname : "/".concat(location.pathname)).concat(location.search);
@@ -84425,6 +84425,7 @@ exports.SearchPageEvents = void 0;
84425
84425
  SearchPageEvents["likeGeneratedAnswer"] = "likeGeneratedAnswer";
84426
84426
  SearchPageEvents["dislikeGeneratedAnswer"] = "dislikeGeneratedAnswer";
84427
84427
  SearchPageEvents["openGeneratedAnswerSource"] = "openGeneratedAnswerSource";
84428
+ SearchPageEvents["generatedAnswerOpenInlineLink"] = "generatedAnswerOpenInlineLink";
84428
84429
  SearchPageEvents["generatedAnswerStreamEnd"] = "generatedAnswerStreamEnd";
84429
84430
  SearchPageEvents["generatedAnswerSourceHover"] = "generatedAnswerSourceHover";
84430
84431
  SearchPageEvents["generatedAnswerCopyToClipboard"] = "generatedAnswerCopyToClipboard";
@@ -84474,6 +84475,7 @@ var CustomEventsTypes = (_a = {},
84474
84475
  _a[exports.SearchPageEvents.likeGeneratedAnswer] = 'generatedAnswer',
84475
84476
  _a[exports.SearchPageEvents.dislikeGeneratedAnswer] = 'generatedAnswer',
84476
84477
  _a[exports.SearchPageEvents.openGeneratedAnswerSource] = 'generatedAnswer',
84478
+ _a[exports.SearchPageEvents.generatedAnswerOpenInlineLink] = 'generatedAnswer',
84477
84479
  _a[exports.SearchPageEvents.generatedAnswerStreamEnd] = 'generatedAnswer',
84478
84480
  _a[exports.SearchPageEvents.generatedAnswerSourceHover] = 'generatedAnswer',
84479
84481
  _a[exports.SearchPageEvents.generatedAnswerCopyToClipboard] = 'generatedAnswer',
@@ -85814,6 +85816,21 @@ var CoveoSearchPageClient = (function () {
85814
85816
  });
85815
85817
  });
85816
85818
  };
85819
+ CoveoSearchPageClient.prototype.makeGeneratedAnswerOpenInlineLink = function (metadata) {
85820
+ return this.makeCustomEvent(exports.SearchPageEvents.generatedAnswerOpenInlineLink, metadata);
85821
+ };
85822
+ CoveoSearchPageClient.prototype.logGeneratedAnswerOpenInlineLink = function (metadata) {
85823
+ return __awaiter(this, void 0, void 0, function () {
85824
+ return __generator(this, function (_a) {
85825
+ switch (_a.label) {
85826
+ case 0: return [4, this.makeGeneratedAnswerOpenInlineLink(metadata)];
85827
+ case 1: return [2, (_a.sent()).log({
85828
+ searchUID: this.provider.getSearchUID(),
85829
+ })];
85830
+ }
85831
+ });
85832
+ });
85833
+ };
85817
85834
  CoveoSearchPageClient.prototype.makeGeneratedAnswerCitationClick = function (info, citation) {
85818
85835
  return this.makeClickEvent(exports.SearchPageEvents.generatedAnswerCitationClick, __assign(__assign({}, info), { documentPosition: 1 }), { contentIDKey: citation.documentId.contentIdKey, contentIDValue: citation.documentId.contentIdValue }, citation);
85819
85836
  };
package/dist/library.mjs CHANGED
@@ -734,7 +734,7 @@ function sha1(bytes) {
734
734
  const v5 = v35('v5', 0x50, sha1);
735
735
  var uuidv5 = v5;
736
736
 
737
- var libVersion = "2.30.53";
737
+ var libVersion = "2.30.55";
738
738
 
739
739
  var getFormattedLocation = function (location) {
740
740
  return "".concat(location.protocol, "//").concat(location.hostname).concat(location.pathname.indexOf('/') === 0 ? location.pathname : "/".concat(location.pathname)).concat(location.search);
@@ -84423,6 +84423,7 @@ var SearchPageEvents;
84423
84423
  SearchPageEvents["likeGeneratedAnswer"] = "likeGeneratedAnswer";
84424
84424
  SearchPageEvents["dislikeGeneratedAnswer"] = "dislikeGeneratedAnswer";
84425
84425
  SearchPageEvents["openGeneratedAnswerSource"] = "openGeneratedAnswerSource";
84426
+ SearchPageEvents["generatedAnswerOpenInlineLink"] = "generatedAnswerOpenInlineLink";
84426
84427
  SearchPageEvents["generatedAnswerStreamEnd"] = "generatedAnswerStreamEnd";
84427
84428
  SearchPageEvents["generatedAnswerSourceHover"] = "generatedAnswerSourceHover";
84428
84429
  SearchPageEvents["generatedAnswerCopyToClipboard"] = "generatedAnswerCopyToClipboard";
@@ -84472,6 +84473,7 @@ var CustomEventsTypes = (_a = {},
84472
84473
  _a[SearchPageEvents.likeGeneratedAnswer] = 'generatedAnswer',
84473
84474
  _a[SearchPageEvents.dislikeGeneratedAnswer] = 'generatedAnswer',
84474
84475
  _a[SearchPageEvents.openGeneratedAnswerSource] = 'generatedAnswer',
84476
+ _a[SearchPageEvents.generatedAnswerOpenInlineLink] = 'generatedAnswer',
84475
84477
  _a[SearchPageEvents.generatedAnswerStreamEnd] = 'generatedAnswer',
84476
84478
  _a[SearchPageEvents.generatedAnswerSourceHover] = 'generatedAnswer',
84477
84479
  _a[SearchPageEvents.generatedAnswerCopyToClipboard] = 'generatedAnswer',
@@ -85812,6 +85814,21 @@ var CoveoSearchPageClient = (function () {
85812
85814
  });
85813
85815
  });
85814
85816
  };
85817
+ CoveoSearchPageClient.prototype.makeGeneratedAnswerOpenInlineLink = function (metadata) {
85818
+ return this.makeCustomEvent(SearchPageEvents.generatedAnswerOpenInlineLink, metadata);
85819
+ };
85820
+ CoveoSearchPageClient.prototype.logGeneratedAnswerOpenInlineLink = function (metadata) {
85821
+ return __awaiter(this, void 0, void 0, function () {
85822
+ return __generator(this, function (_a) {
85823
+ switch (_a.label) {
85824
+ case 0: return [4, this.makeGeneratedAnswerOpenInlineLink(metadata)];
85825
+ case 1: return [2, (_a.sent()).log({
85826
+ searchUID: this.provider.getSearchUID(),
85827
+ })];
85828
+ }
85829
+ });
85830
+ });
85831
+ };
85815
85832
  CoveoSearchPageClient.prototype.makeGeneratedAnswerCitationClick = function (info, citation) {
85816
85833
  return this.makeClickEvent(SearchPageEvents.generatedAnswerCitationClick, __assign(__assign({}, info), { documentPosition: 1 }), { contentIDKey: citation.documentId.contentIdKey, contentIDValue: citation.documentId.contentIdValue }, citation);
85817
85834
  };
@@ -672,7 +672,7 @@ const addPageViewToHistory = (pageViewValue) => __awaiter(void 0, void 0, void 0
672
672
  yield store.addElementAsync(historyElement);
673
673
  });
674
674
 
675
- const libVersion = "2.30.53";
675
+ const libVersion = "2.30.55";
676
676
 
677
677
  const getFormattedLocation = (location) => `${location.protocol}//${location.hostname}${location.pathname.indexOf('/') === 0 ? location.pathname : `/${location.pathname}`}${location.search}`;
678
678
 
@@ -1843,6 +1843,7 @@ var SearchPageEvents;
1843
1843
  SearchPageEvents["likeGeneratedAnswer"] = "likeGeneratedAnswer";
1844
1844
  SearchPageEvents["dislikeGeneratedAnswer"] = "dislikeGeneratedAnswer";
1845
1845
  SearchPageEvents["openGeneratedAnswerSource"] = "openGeneratedAnswerSource";
1846
+ SearchPageEvents["generatedAnswerOpenInlineLink"] = "generatedAnswerOpenInlineLink";
1846
1847
  SearchPageEvents["generatedAnswerStreamEnd"] = "generatedAnswerStreamEnd";
1847
1848
  SearchPageEvents["generatedAnswerSourceHover"] = "generatedAnswerSourceHover";
1848
1849
  SearchPageEvents["generatedAnswerCopyToClipboard"] = "generatedAnswerCopyToClipboard";
@@ -1892,6 +1893,7 @@ const CustomEventsTypes = {
1892
1893
  [SearchPageEvents.likeGeneratedAnswer]: 'generatedAnswer',
1893
1894
  [SearchPageEvents.dislikeGeneratedAnswer]: 'generatedAnswer',
1894
1895
  [SearchPageEvents.openGeneratedAnswerSource]: 'generatedAnswer',
1896
+ [SearchPageEvents.generatedAnswerOpenInlineLink]: 'generatedAnswer',
1895
1897
  [SearchPageEvents.generatedAnswerStreamEnd]: 'generatedAnswer',
1896
1898
  [SearchPageEvents.generatedAnswerSourceHover]: 'generatedAnswer',
1897
1899
  [SearchPageEvents.generatedAnswerCopyToClipboard]: 'generatedAnswer',
@@ -2733,6 +2735,16 @@ class CoveoSearchPageClient {
2733
2735
  });
2734
2736
  });
2735
2737
  }
2738
+ makeGeneratedAnswerOpenInlineLink(metadata) {
2739
+ return this.makeCustomEvent(SearchPageEvents.generatedAnswerOpenInlineLink, metadata);
2740
+ }
2741
+ logGeneratedAnswerOpenInlineLink(metadata) {
2742
+ return __awaiter(this, void 0, void 0, function* () {
2743
+ return (yield this.makeGeneratedAnswerOpenInlineLink(metadata)).log({
2744
+ searchUID: this.provider.getSearchUID(),
2745
+ });
2746
+ });
2747
+ }
2736
2748
  makeGeneratedAnswerCitationClick(info, citation) {
2737
2749
  return this.makeClickEvent(SearchPageEvents.generatedAnswerCitationClick, Object.assign(Object.assign({}, info), { documentPosition: 1 }), { contentIDKey: citation.documentId.contentIdKey, contentIDValue: citation.documentId.contentIdValue }, citation);
2738
2750
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "coveo.analytics",
3
- "version": "2.30.53",
3
+ "version": "2.30.55",
4
4
  "description": "📈 Coveo analytics client (node and browser compatible) ",
5
5
  "main": "dist/library.cjs",
6
6
  "module": "dist/browser.mjs",
@@ -58,6 +58,7 @@ describe('SearchPageClient', () => {
58
58
  ];
59
59
 
60
60
  const fakeStreamId = 'some-stream-id-123';
61
+ const fakeConversationId = 'some-conversation-id-123';
61
62
 
62
63
  let client: CoveoSearchPageClient;
63
64
 
@@ -1451,6 +1452,12 @@ describe('SearchPageClient', () => {
1451
1452
  expectMatchCustomEventPayload(SearchPageEvents.likeGeneratedAnswer, meta);
1452
1453
  });
1453
1454
 
1455
+ it('should send proper payload for #logLikeGeneratedAnswer with agent metadata', async () => {
1456
+ const meta = {generativeQuestionAnsweringId: fakeStreamId, conversationId: fakeConversationId};
1457
+ await client.logLikeGeneratedAnswer(meta);
1458
+ expectMatchCustomEventPayload(SearchPageEvents.likeGeneratedAnswer, meta);
1459
+ });
1460
+
1454
1461
  it('should send proper payload for #makeLikeGeneratedAnswer', async () => {
1455
1462
  const meta = {generativeQuestionAnsweringId: fakeStreamId};
1456
1463
  const built = await client.makeLikeGeneratedAnswer(meta);
@@ -1465,6 +1472,12 @@ describe('SearchPageClient', () => {
1465
1472
  expectMatchCustomEventPayload(SearchPageEvents.dislikeGeneratedAnswer, meta);
1466
1473
  });
1467
1474
 
1475
+ it('should send proper payload for #logDislikeGeneratedAnswer with agent metadata', async () => {
1476
+ const meta = {generativeQuestionAnsweringId: fakeStreamId, conversationId: fakeConversationId};
1477
+ await client.logDislikeGeneratedAnswer(meta);
1478
+ expectMatchCustomEventPayload(SearchPageEvents.dislikeGeneratedAnswer, meta);
1479
+ });
1480
+
1468
1481
  it('should send proper payload for #makeDislikeGeneratedAnswer', async () => {
1469
1482
  const meta = {generativeQuestionAnsweringId: fakeStreamId};
1470
1483
  const built = await client.makeDislikeGeneratedAnswer(meta);
@@ -1483,6 +1496,17 @@ describe('SearchPageClient', () => {
1483
1496
  expectMatchCustomEventPayload(SearchPageEvents.openGeneratedAnswerSource, meta);
1484
1497
  });
1485
1498
 
1499
+ it('should send proper payload for #logOpenGeneratedAnswerSource with agent metadata', async () => {
1500
+ const meta = {
1501
+ generativeQuestionAnsweringId: fakeStreamId,
1502
+ conversationId: fakeConversationId,
1503
+ citationId: 'some-document-id',
1504
+ permanentId: 'perm-id',
1505
+ };
1506
+ await client.logOpenGeneratedAnswerSource(meta);
1507
+ expectMatchCustomEventPayload(SearchPageEvents.openGeneratedAnswerSource, meta);
1508
+ });
1509
+
1486
1510
  it('should send proper payload for #makeOpenGeneratedAnswerSource', async () => {
1487
1511
  const meta = {
1488
1512
  generativeQuestionAnsweringId: fakeStreamId,
@@ -1495,6 +1519,29 @@ describe('SearchPageClient', () => {
1495
1519
  expectMatchDescription(built.description, SearchPageEvents.openGeneratedAnswerSource, meta);
1496
1520
  });
1497
1521
 
1522
+ it('should send proper payload for #logGeneratedAnswerOpenInlineLink', async () => {
1523
+ const meta = {
1524
+ generativeQuestionAnsweringId: fakeStreamId,
1525
+ conversationId: fakeConversationId,
1526
+ linkText: 'Read more',
1527
+ linkURL: 'https://example.com',
1528
+ };
1529
+ await client.logGeneratedAnswerOpenInlineLink(meta);
1530
+ expectMatchCustomEventPayload(SearchPageEvents.generatedAnswerOpenInlineLink, meta);
1531
+ });
1532
+
1533
+ it('should send proper payload for #makeGeneratedAnswerOpenInlineLink', async () => {
1534
+ const meta = {
1535
+ generativeQuestionAnsweringId: fakeStreamId,
1536
+ linkText: 'Read more',
1537
+ linkURL: 'https://example.com',
1538
+ };
1539
+ const built = await client.makeGeneratedAnswerOpenInlineLink(meta);
1540
+ await built.log({searchUID: provider.getSearchUID()});
1541
+ expectMatchCustomEventPayload(SearchPageEvents.generatedAnswerOpenInlineLink, meta);
1542
+ expectMatchDescription(built.description, SearchPageEvents.generatedAnswerOpenInlineLink, meta);
1543
+ });
1544
+
1498
1545
  it('should send proper payload for #logGeneratedAnswerCitationClick', async () => {
1499
1546
  const meta = {
1500
1547
  generativeQuestionAnsweringId: fakeStreamId,
@@ -1510,6 +1557,22 @@ describe('SearchPageClient', () => {
1510
1557
  });
1511
1558
  });
1512
1559
 
1560
+ it('should send proper payload for #logGeneratedAnswerCitationClick with agent metadata', async () => {
1561
+ const meta = {
1562
+ generativeQuestionAnsweringId: fakeStreamId,
1563
+ conversationId: fakeConversationId,
1564
+ citationId: 'some-document-id',
1565
+ documentId: {contentIdKey: 'permanentid', contentIdValue: 'foo'},
1566
+ };
1567
+
1568
+ await client.logGeneratedAnswerCitationClick(fakeDocInfo, meta);
1569
+ expectMatchDocumentPayload(SearchPageEvents.generatedAnswerCitationClick, fakeDocInfo, {
1570
+ ...meta,
1571
+ contentIDKey: meta.documentId.contentIdKey,
1572
+ contentIDValue: meta.documentId.contentIdValue,
1573
+ });
1574
+ });
1575
+
1513
1576
  it('should send proper payload for #makeGeneratedAnswerCitationClick', async () => {
1514
1577
  const meta = {
1515
1578
  generativeQuestionAnsweringId: fakeStreamId,
@@ -1530,6 +1593,17 @@ describe('SearchPageClient', () => {
1530
1593
  expectMatchCustomEventPayload(SearchPageEvents.generatedAnswerStreamEnd, meta);
1531
1594
  });
1532
1595
 
1596
+ it('should send proper payload for #logGeneratedAnswerStreamEnd with agent metadata', async () => {
1597
+ const meta = {
1598
+ generativeQuestionAnsweringId: fakeStreamId,
1599
+ conversationId: fakeConversationId,
1600
+ answerGenerated: true,
1601
+ answerTextIsEmpty: false,
1602
+ };
1603
+ await client.logGeneratedAnswerStreamEnd(meta);
1604
+ expectMatchCustomEventPayload(SearchPageEvents.generatedAnswerStreamEnd, meta);
1605
+ });
1606
+
1533
1607
  it('should send proper payload for #makeGeneratedAnswerStreamEnd', async () => {
1534
1608
  const meta = {generativeQuestionAnsweringId: fakeStreamId, answerGenerated: true, answerTextIsEmpty: false};
1535
1609
  const built = await client.makeGeneratedAnswerStreamEnd(meta);
@@ -1549,6 +1623,18 @@ describe('SearchPageClient', () => {
1549
1623
  expectMatchCustomEventPayload(SearchPageEvents.generatedAnswerSourceHover, meta);
1550
1624
  });
1551
1625
 
1626
+ it('should send proper payload for #logGeneratedAnswerSourceHover with agent metadata', async () => {
1627
+ const meta = {
1628
+ generativeQuestionAnsweringId: fakeStreamId,
1629
+ conversationId: fakeConversationId,
1630
+ citationId: 'some-document-id',
1631
+ permanentId: 'perm-id',
1632
+ citationHoverTimeMs: 100,
1633
+ };
1634
+ await client.logGeneratedAnswerSourceHover(meta);
1635
+ expectMatchCustomEventPayload(SearchPageEvents.generatedAnswerSourceHover, meta);
1636
+ });
1637
+
1552
1638
  it('should send proper payload for #makeGeneratedAnswerSourceHover', async () => {
1553
1639
  const meta = {
1554
1640
  generativeQuestionAnsweringId: fakeStreamId,
@@ -1568,6 +1654,12 @@ describe('SearchPageClient', () => {
1568
1654
  expectMatchCustomEventPayload(SearchPageEvents.generatedAnswerCopyToClipboard, meta);
1569
1655
  });
1570
1656
 
1657
+ it('should send proper payload for #logGeneratedAnswerCopyToClipboard with agent metadata', async () => {
1658
+ const meta = {generativeQuestionAnsweringId: fakeStreamId, conversationId: fakeConversationId};
1659
+ await client.logGeneratedAnswerCopyToClipboard(meta);
1660
+ expectMatchCustomEventPayload(SearchPageEvents.generatedAnswerCopyToClipboard, meta);
1661
+ });
1662
+
1571
1663
  it('should send proper payload for #makeGeneratedAnswerCopyToClipboard', async () => {
1572
1664
  const meta = {generativeQuestionAnsweringId: fakeStreamId};
1573
1665
  const built = await client.makeGeneratedAnswerCopyToClipboard(meta);
@@ -1582,6 +1674,12 @@ describe('SearchPageClient', () => {
1582
1674
  expectMatchCustomEventPayload(SearchPageEvents.generatedAnswerHideAnswers, meta);
1583
1675
  });
1584
1676
 
1677
+ it('should send proper payload for #logGeneratedAnswerHideAnswers with agent metadata', async () => {
1678
+ const meta = {generativeQuestionAnsweringId: fakeStreamId, conversationId: fakeConversationId};
1679
+ await client.logGeneratedAnswerHideAnswers(meta);
1680
+ expectMatchCustomEventPayload(SearchPageEvents.generatedAnswerHideAnswers, meta);
1681
+ });
1682
+
1585
1683
  it('should send proper payload for #makeGeneratedAnswerHideAnswers', async () => {
1586
1684
  const meta = {generativeQuestionAnsweringId: fakeStreamId};
1587
1685
  const built = await client.makeGeneratedAnswerHideAnswers(meta);
@@ -1596,6 +1694,12 @@ describe('SearchPageClient', () => {
1596
1694
  expectMatchCustomEventPayload(SearchPageEvents.generatedAnswerShowAnswers, meta);
1597
1695
  });
1598
1696
 
1697
+ it('should send proper payload for #logGeneratedAnswerShowAnswers with agent metadata', async () => {
1698
+ const meta = {generativeQuestionAnsweringId: fakeStreamId, conversationId: fakeConversationId};
1699
+ await client.logGeneratedAnswerShowAnswers(meta);
1700
+ expectMatchCustomEventPayload(SearchPageEvents.generatedAnswerShowAnswers, meta);
1701
+ });
1702
+
1599
1703
  it('should send proper payload for #makeGeneratedAnswerShowAnswers', async () => {
1600
1704
  const meta = {generativeQuestionAnsweringId: fakeStreamId};
1601
1705
  const built = await client.makeGeneratedAnswerShowAnswers(meta);
@@ -1610,6 +1714,12 @@ describe('SearchPageClient', () => {
1610
1714
  expectMatchCustomEventPayload(SearchPageEvents.generatedAnswerExpand, meta);
1611
1715
  });
1612
1716
 
1717
+ it('should send proper payload for #logGeneratedAnswerExpand with agent metadata', async () => {
1718
+ const meta = {generativeQuestionAnsweringId: fakeStreamId, conversationId: fakeConversationId};
1719
+ await client.logGeneratedAnswerExpand(meta);
1720
+ expectMatchCustomEventPayload(SearchPageEvents.generatedAnswerExpand, meta);
1721
+ });
1722
+
1613
1723
  it('should send proper payload for #makeGeneratedAnswerExpand', async () => {
1614
1724
  const meta = {generativeQuestionAnsweringId: fakeStreamId};
1615
1725
  const built = await client.makeGeneratedAnswerExpand(meta);
@@ -44,6 +44,7 @@ import {
44
44
  GeneratedAnswerRephraseMeta,
45
45
  GeneratedAnswerFeedbackMetaV2,
46
46
  GeneratedAnswerCitationClickMeta,
47
+ GeneratedAnswerInlineLinkMeta,
47
48
  } from './searchPageEvents';
48
49
  import {NoopAnalytics} from '../client/noopAnalytics';
49
50
  import {formatOmniboxMetadata} from '../formatting/format-omnibox-metadata';
@@ -916,6 +917,16 @@ export class CoveoSearchPageClient {
916
917
  });
917
918
  }
918
919
 
920
+ public makeGeneratedAnswerOpenInlineLink(metadata: GeneratedAnswerInlineLinkMeta) {
921
+ return this.makeCustomEvent(SearchPageEvents.generatedAnswerOpenInlineLink, metadata);
922
+ }
923
+
924
+ public async logGeneratedAnswerOpenInlineLink(metadata: GeneratedAnswerInlineLinkMeta) {
925
+ return (await this.makeGeneratedAnswerOpenInlineLink(metadata)).log({
926
+ searchUID: this.provider.getSearchUID(),
927
+ });
928
+ }
929
+
919
930
  public makeGeneratedAnswerCitationClick(
920
931
  info: PartialDocumentInformation,
921
932
  citation: GeneratedAnswerCitationClickMeta,
@@ -310,6 +310,10 @@ export enum SearchPageEvents {
310
310
  * Identifies the custom event that gets logged when a user opens a generated answer citation.
311
311
  */
312
312
  openGeneratedAnswerSource = 'openGeneratedAnswerSource',
313
+ /**
314
+ * Identifies the custom event that gets logged when a user clicks an inline link in a generated answer.
315
+ */
316
+ generatedAnswerOpenInlineLink = 'generatedAnswerOpenInlineLink',
313
317
  /**
314
318
  * Identified the custom event that gets logged when a generated answer stream is completed.
315
319
  */
@@ -398,6 +402,7 @@ export const CustomEventsTypes: Partial<Record<SearchPageEvents | InsightEvents,
398
402
  [SearchPageEvents.likeGeneratedAnswer]: 'generatedAnswer',
399
403
  [SearchPageEvents.dislikeGeneratedAnswer]: 'generatedAnswer',
400
404
  [SearchPageEvents.openGeneratedAnswerSource]: 'generatedAnswer',
405
+ [SearchPageEvents.generatedAnswerOpenInlineLink]: 'generatedAnswer',
401
406
  [SearchPageEvents.generatedAnswerStreamEnd]: 'generatedAnswer',
402
407
  [SearchPageEvents.generatedAnswerSourceHover]: 'generatedAnswer',
403
408
  [SearchPageEvents.generatedAnswerCopyToClipboard]: 'generatedAnswer',
@@ -536,11 +541,13 @@ export interface SmartSnippetSuggestionMeta {
536
541
  documentId: SmartSnippetDocumentIdentifier;
537
542
  }
538
543
 
539
- export interface SmartSnippetLinkMeta {
544
+ export interface LinkMeta {
540
545
  linkText: string;
541
546
  linkURL: string;
542
547
  }
543
548
 
549
+ export interface SmartSnippetLinkMeta extends LinkMeta {}
550
+
544
551
  export interface SmartSnippetDocumentIdentifier {
545
552
  contentIdKey: string;
546
553
  contentIdValue: string;
@@ -551,14 +558,25 @@ export type PartialDocumentInformation = Omit<DocumentInformation, 'actionCause'
551
558
  interface AnswerGeneratedWithAnswerAPI {
552
559
  answerAPIStreamId: string;
553
560
  generativeQuestionAnsweringId?: never;
561
+ conversationId?: never;
554
562
  }
555
563
 
556
564
  interface AnswerGeneratedWithSearchAPI {
557
565
  answerAPIStreamId?: never;
558
566
  generativeQuestionAnsweringId: string;
567
+ conversationId?: never;
568
+ }
569
+
570
+ interface AnswerGeneratedWithAgent {
571
+ answerAPIStreamId?: never;
572
+ generativeQuestionAnsweringId: string;
573
+ conversationId: string;
559
574
  }
560
575
 
561
- export type GeneratedAnswerBaseMeta = AnswerGeneratedWithAnswerAPI | AnswerGeneratedWithSearchAPI;
576
+ export type GeneratedAnswerBaseMeta =
577
+ | AnswerGeneratedWithAnswerAPI
578
+ | AnswerGeneratedWithSearchAPI
579
+ | AnswerGeneratedWithAgent;
562
580
 
563
581
  export type GeneratedAnswerStreamEndMeta = GeneratedAnswerBaseMeta & {
564
582
  answerGenerated: boolean;
@@ -570,6 +588,8 @@ export type GeneratedAnswerCitationMeta = GeneratedAnswerBaseMeta & {
570
588
  citationId: string;
571
589
  };
572
590
 
591
+ export type GeneratedAnswerInlineLinkMeta = GeneratedAnswerBaseMeta & LinkMeta;
592
+
573
593
  export type GeneratedAnswerCitationClickMeta = GeneratedAnswerBaseMeta & {
574
594
  citationId: string;
575
595
  documentId: GeneratedAnswerDocumentIdentifier;