coveo.analytics 2.30.54 → 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;
@@ -220,6 +223,7 @@ export type GeneratedAnswerCitationMeta = GeneratedAnswerBaseMeta & {
220
223
  permanentId: string;
221
224
  citationId: string;
222
225
  };
226
+ export type GeneratedAnswerInlineLinkMeta = GeneratedAnswerBaseMeta & LinkMeta;
223
227
  export type GeneratedAnswerCitationClickMeta = GeneratedAnswerBaseMeta & {
224
228
  citationId: string;
225
229
  documentId: GeneratedAnswerDocumentIdentifier;
@@ -1 +1 @@
1
- export declare const libVersion = "2.30.54";
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.54";
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.54";
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.54";
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.54";
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.54";
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.54",
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",
@@ -1519,6 +1519,29 @@ describe('SearchPageClient', () => {
1519
1519
  expectMatchDescription(built.description, SearchPageEvents.openGeneratedAnswerSource, meta);
1520
1520
  });
1521
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
+
1522
1545
  it('should send proper payload for #logGeneratedAnswerCitationClick', async () => {
1523
1546
  const meta = {
1524
1547
  generativeQuestionAnsweringId: fakeStreamId,
@@ -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;
@@ -581,6 +588,8 @@ export type GeneratedAnswerCitationMeta = GeneratedAnswerBaseMeta & {
581
588
  citationId: string;
582
589
  };
583
590
 
591
+ export type GeneratedAnswerInlineLinkMeta = GeneratedAnswerBaseMeta & LinkMeta;
592
+
584
593
  export type GeneratedAnswerCitationClickMeta = GeneratedAnswerBaseMeta & {
585
594
  citationId: string;
586
595
  documentId: GeneratedAnswerDocumentIdentifier;