coveo.analytics 2.28.6 → 2.28.7
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/coveoua.browser.js +1 -1
- package/dist/coveoua.browser.js.map +1 -1
- package/dist/coveoua.debug.js +62 -1
- package/dist/coveoua.debug.js.map +1 -1
- package/dist/coveoua.js +1 -1
- package/dist/coveoua.js.map +1 -1
- package/dist/definitions/searchPage/searchPageClient.d.ts +9 -1
- package/dist/definitions/searchPage/searchPageEvents.d.ts +13 -1
- package/dist/definitions/version.d.ts +1 -1
- package/dist/library.es.js +42 -1
- package/dist/library.js +62 -1
- package/dist/react-native.es.js +42 -1
- package/package.json +1 -1
- package/src/searchPage/searchPageClient.spec.ts +44 -0
- package/src/searchPage/searchPageClient.ts +36 -0
- package/src/searchPage/searchPageEvents.ts +29 -0
|
@@ -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 } 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 } from './searchPageEvents';
|
|
4
4
|
export interface SearchPageClientProvider {
|
|
5
5
|
getBaseMetadata: () => Record<string, any>;
|
|
6
6
|
getSearchEventRequestPayload: () => Omit<SearchEventRequest, 'actionCause' | 'searchQueryUid'>;
|
|
@@ -185,4 +185,12 @@ export declare class CoveoSearchPageClient {
|
|
|
185
185
|
private getOrigins;
|
|
186
186
|
private getClientId;
|
|
187
187
|
private getSplitTestRun;
|
|
188
|
+
makeLikeGeneratedAnswer(metadata: GeneratedAnswerFeedbackMeta): Promise<EventBuilder<CustomEventResponse>>;
|
|
189
|
+
logLikeGeneratedAnswer(metadata: GeneratedAnswerFeedbackMeta): Promise<void | CustomEventResponse>;
|
|
190
|
+
makeDislikeGeneratedAnswer(metadata: GeneratedAnswerFeedbackMeta): Promise<EventBuilder<CustomEventResponse>>;
|
|
191
|
+
logDislikeGeneratedAnswer(metadata: GeneratedAnswerFeedbackMeta): Promise<void | CustomEventResponse>;
|
|
192
|
+
makeOpenGeneratedAnswerSource(metadata: GeneratedAnswerCitationMeta): Promise<EventBuilder<CustomEventResponse>>;
|
|
193
|
+
logOpenGeneratedAnswerSource(metadata: GeneratedAnswerCitationMeta): Promise<void | CustomEventResponse>;
|
|
194
|
+
makeRetryGeneratedAnswer(): Promise<EventBuilder<SearchEventResponse>>;
|
|
195
|
+
logRetryGeneratedAnswer(): Promise<void | SearchEventResponse>;
|
|
188
196
|
}
|
|
@@ -72,7 +72,11 @@ export declare enum SearchPageEvents {
|
|
|
72
72
|
caseSendEmail = "Case.SendEmail",
|
|
73
73
|
feedItemTextPost = "FeedItem.TextPost",
|
|
74
74
|
caseAttach = "caseAttach",
|
|
75
|
-
caseDetach = "caseDetach"
|
|
75
|
+
caseDetach = "caseDetach",
|
|
76
|
+
retryGeneratedAnswer = "retryGeneratedAnswer",
|
|
77
|
+
likeGeneratedAnswer = "likeGeneratedAnswer",
|
|
78
|
+
dislikeGeneratedAnswer = "dislikeGeneratedAnswer",
|
|
79
|
+
openGeneratedAnswerSource = "openGeneratedAnswerSource"
|
|
76
80
|
}
|
|
77
81
|
export declare const CustomEventsTypes: Partial<Record<SearchPageEvents | InsightEvents, string>>;
|
|
78
82
|
export interface StaticFilterMetadata {
|
|
@@ -180,4 +184,12 @@ export interface SmartSnippetDocumentIdentifier {
|
|
|
180
184
|
contentIdValue: string;
|
|
181
185
|
}
|
|
182
186
|
export type PartialDocumentInformation = Omit<DocumentInformation, 'actionCause' | 'searchQueryUid'>;
|
|
187
|
+
export interface GeneratedAnswerFeedbackMeta {
|
|
188
|
+
generativeQuestionAnsweringId: string;
|
|
189
|
+
}
|
|
190
|
+
export interface GeneratedAnswerCitationMeta {
|
|
191
|
+
generativeQuestionAnsweringId: string;
|
|
192
|
+
permanentId: string;
|
|
193
|
+
id: string;
|
|
194
|
+
}
|
|
183
195
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const libVersion = "2.28.
|
|
1
|
+
export declare const libVersion = "2.28.7";
|
package/dist/library.es.js
CHANGED
|
@@ -596,7 +596,7 @@ function sha1(bytes) {
|
|
|
596
596
|
const v5 = v35('v5', 0x50, sha1);
|
|
597
597
|
var uuidv5 = v5;
|
|
598
598
|
|
|
599
|
-
const libVersion = "2.28.
|
|
599
|
+
const libVersion = "2.28.7" ;
|
|
600
600
|
|
|
601
601
|
const getFormattedLocation = (location) => `${location.protocol}//${location.hostname}${location.pathname.indexOf('/') === 0 ? location.pathname : `/${location.pathname}`}${location.search}`;
|
|
602
602
|
|
|
@@ -1716,6 +1716,10 @@ var SearchPageEvents;
|
|
|
1716
1716
|
SearchPageEvents["feedItemTextPost"] = "FeedItem.TextPost";
|
|
1717
1717
|
SearchPageEvents["caseAttach"] = "caseAttach";
|
|
1718
1718
|
SearchPageEvents["caseDetach"] = "caseDetach";
|
|
1719
|
+
SearchPageEvents["retryGeneratedAnswer"] = "retryGeneratedAnswer";
|
|
1720
|
+
SearchPageEvents["likeGeneratedAnswer"] = "likeGeneratedAnswer";
|
|
1721
|
+
SearchPageEvents["dislikeGeneratedAnswer"] = "dislikeGeneratedAnswer";
|
|
1722
|
+
SearchPageEvents["openGeneratedAnswerSource"] = "openGeneratedAnswerSource";
|
|
1719
1723
|
})(SearchPageEvents || (SearchPageEvents = {}));
|
|
1720
1724
|
const CustomEventsTypes = {
|
|
1721
1725
|
[SearchPageEvents.triggerNotify]: 'queryPipelineTriggers',
|
|
@@ -1757,6 +1761,9 @@ const CustomEventsTypes = {
|
|
|
1757
1761
|
[InsightEvents.clickViewedDocument]: 'User Actions',
|
|
1758
1762
|
[InsightEvents.clickPageView]: 'User Actions',
|
|
1759
1763
|
[SearchPageEvents.caseDetach]: 'case',
|
|
1764
|
+
[SearchPageEvents.likeGeneratedAnswer]: 'generatedAnswer',
|
|
1765
|
+
[SearchPageEvents.dislikeGeneratedAnswer]: 'generatedAnswer',
|
|
1766
|
+
[SearchPageEvents.openGeneratedAnswerSource]: 'generatedAnswer',
|
|
1760
1767
|
};
|
|
1761
1768
|
|
|
1762
1769
|
class NoopAnalytics {
|
|
@@ -2558,6 +2565,40 @@ class CoveoSearchPageClient {
|
|
|
2558
2565
|
const splitTestRunVersion = this.provider.getSplitTestRunVersion ? this.provider.getSplitTestRunVersion() : '';
|
|
2559
2566
|
return Object.assign(Object.assign({}, (splitTestRunName && { splitTestRunName })), (splitTestRunVersion && { splitTestRunVersion }));
|
|
2560
2567
|
}
|
|
2568
|
+
makeLikeGeneratedAnswer(metadata) {
|
|
2569
|
+
return this.makeCustomEvent(SearchPageEvents.likeGeneratedAnswer, metadata);
|
|
2570
|
+
}
|
|
2571
|
+
logLikeGeneratedAnswer(metadata) {
|
|
2572
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
2573
|
+
return (yield this.makeLikeGeneratedAnswer(metadata)).log({ searchUID: this.provider.getSearchUID() });
|
|
2574
|
+
});
|
|
2575
|
+
}
|
|
2576
|
+
makeDislikeGeneratedAnswer(metadata) {
|
|
2577
|
+
return this.makeCustomEvent(SearchPageEvents.dislikeGeneratedAnswer, metadata);
|
|
2578
|
+
}
|
|
2579
|
+
logDislikeGeneratedAnswer(metadata) {
|
|
2580
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
2581
|
+
return (yield this.makeDislikeGeneratedAnswer(metadata)).log({ searchUID: this.provider.getSearchUID() });
|
|
2582
|
+
});
|
|
2583
|
+
}
|
|
2584
|
+
makeOpenGeneratedAnswerSource(metadata) {
|
|
2585
|
+
return this.makeCustomEvent(SearchPageEvents.openGeneratedAnswerSource, metadata);
|
|
2586
|
+
}
|
|
2587
|
+
logOpenGeneratedAnswerSource(metadata) {
|
|
2588
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
2589
|
+
return (yield this.makeOpenGeneratedAnswerSource(metadata)).log({
|
|
2590
|
+
searchUID: this.provider.getSearchUID(),
|
|
2591
|
+
});
|
|
2592
|
+
});
|
|
2593
|
+
}
|
|
2594
|
+
makeRetryGeneratedAnswer() {
|
|
2595
|
+
return this.makeSearchEvent(SearchPageEvents.retryGeneratedAnswer);
|
|
2596
|
+
}
|
|
2597
|
+
logRetryGeneratedAnswer() {
|
|
2598
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
2599
|
+
return (yield this.makeRetryGeneratedAnswer()).log({ searchUID: this.provider.getSearchUID() });
|
|
2600
|
+
});
|
|
2601
|
+
}
|
|
2561
2602
|
}
|
|
2562
2603
|
|
|
2563
2604
|
const SVCPluginEventTypes = Object.assign({}, BasePluginEventTypes);
|
package/dist/library.js
CHANGED
|
@@ -731,7 +731,7 @@ function sha1(bytes) {
|
|
|
731
731
|
const v5 = v35('v5', 0x50, sha1);
|
|
732
732
|
var uuidv5 = v5;
|
|
733
733
|
|
|
734
|
-
var libVersion = "2.28.
|
|
734
|
+
var libVersion = "2.28.7" ;
|
|
735
735
|
|
|
736
736
|
var getFormattedLocation = function (location) {
|
|
737
737
|
return "".concat(location.protocol, "//").concat(location.hostname).concat(location.pathname.indexOf('/') === 0 ? location.pathname : "/".concat(location.pathname)).concat(location.search);
|
|
@@ -84229,6 +84229,10 @@ exports.SearchPageEvents = void 0;
|
|
|
84229
84229
|
SearchPageEvents["feedItemTextPost"] = "FeedItem.TextPost";
|
|
84230
84230
|
SearchPageEvents["caseAttach"] = "caseAttach";
|
|
84231
84231
|
SearchPageEvents["caseDetach"] = "caseDetach";
|
|
84232
|
+
SearchPageEvents["retryGeneratedAnswer"] = "retryGeneratedAnswer";
|
|
84233
|
+
SearchPageEvents["likeGeneratedAnswer"] = "likeGeneratedAnswer";
|
|
84234
|
+
SearchPageEvents["dislikeGeneratedAnswer"] = "dislikeGeneratedAnswer";
|
|
84235
|
+
SearchPageEvents["openGeneratedAnswerSource"] = "openGeneratedAnswerSource";
|
|
84232
84236
|
})(exports.SearchPageEvents || (exports.SearchPageEvents = {}));
|
|
84233
84237
|
var CustomEventsTypes = (_a = {},
|
|
84234
84238
|
_a[exports.SearchPageEvents.triggerNotify] = 'queryPipelineTriggers',
|
|
@@ -84270,6 +84274,9 @@ var CustomEventsTypes = (_a = {},
|
|
|
84270
84274
|
_a[exports.InsightEvents.clickViewedDocument] = 'User Actions',
|
|
84271
84275
|
_a[exports.InsightEvents.clickPageView] = 'User Actions',
|
|
84272
84276
|
_a[exports.SearchPageEvents.caseDetach] = 'case',
|
|
84277
|
+
_a[exports.SearchPageEvents.likeGeneratedAnswer] = 'generatedAnswer',
|
|
84278
|
+
_a[exports.SearchPageEvents.dislikeGeneratedAnswer] = 'generatedAnswer',
|
|
84279
|
+
_a[exports.SearchPageEvents.openGeneratedAnswerSource] = 'generatedAnswer',
|
|
84273
84280
|
_a);
|
|
84274
84281
|
|
|
84275
84282
|
var NoopAnalytics = (function () {
|
|
@@ -85555,6 +85562,60 @@ var CoveoSearchPageClient = (function () {
|
|
|
85555
85562
|
var splitTestRunVersion = this.provider.getSplitTestRunVersion ? this.provider.getSplitTestRunVersion() : '';
|
|
85556
85563
|
return __assign(__assign({}, (splitTestRunName && { splitTestRunName: splitTestRunName })), (splitTestRunVersion && { splitTestRunVersion: splitTestRunVersion }));
|
|
85557
85564
|
};
|
|
85565
|
+
CoveoSearchPageClient.prototype.makeLikeGeneratedAnswer = function (metadata) {
|
|
85566
|
+
return this.makeCustomEvent(exports.SearchPageEvents.likeGeneratedAnswer, metadata);
|
|
85567
|
+
};
|
|
85568
|
+
CoveoSearchPageClient.prototype.logLikeGeneratedAnswer = function (metadata) {
|
|
85569
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
85570
|
+
return __generator(this, function (_a) {
|
|
85571
|
+
switch (_a.label) {
|
|
85572
|
+
case 0: return [4, this.makeLikeGeneratedAnswer(metadata)];
|
|
85573
|
+
case 1: return [2, (_a.sent()).log({ searchUID: this.provider.getSearchUID() })];
|
|
85574
|
+
}
|
|
85575
|
+
});
|
|
85576
|
+
});
|
|
85577
|
+
};
|
|
85578
|
+
CoveoSearchPageClient.prototype.makeDislikeGeneratedAnswer = function (metadata) {
|
|
85579
|
+
return this.makeCustomEvent(exports.SearchPageEvents.dislikeGeneratedAnswer, metadata);
|
|
85580
|
+
};
|
|
85581
|
+
CoveoSearchPageClient.prototype.logDislikeGeneratedAnswer = function (metadata) {
|
|
85582
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
85583
|
+
return __generator(this, function (_a) {
|
|
85584
|
+
switch (_a.label) {
|
|
85585
|
+
case 0: return [4, this.makeDislikeGeneratedAnswer(metadata)];
|
|
85586
|
+
case 1: return [2, (_a.sent()).log({ searchUID: this.provider.getSearchUID() })];
|
|
85587
|
+
}
|
|
85588
|
+
});
|
|
85589
|
+
});
|
|
85590
|
+
};
|
|
85591
|
+
CoveoSearchPageClient.prototype.makeOpenGeneratedAnswerSource = function (metadata) {
|
|
85592
|
+
return this.makeCustomEvent(exports.SearchPageEvents.openGeneratedAnswerSource, metadata);
|
|
85593
|
+
};
|
|
85594
|
+
CoveoSearchPageClient.prototype.logOpenGeneratedAnswerSource = function (metadata) {
|
|
85595
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
85596
|
+
return __generator(this, function (_a) {
|
|
85597
|
+
switch (_a.label) {
|
|
85598
|
+
case 0: return [4, this.makeOpenGeneratedAnswerSource(metadata)];
|
|
85599
|
+
case 1: return [2, (_a.sent()).log({
|
|
85600
|
+
searchUID: this.provider.getSearchUID(),
|
|
85601
|
+
})];
|
|
85602
|
+
}
|
|
85603
|
+
});
|
|
85604
|
+
});
|
|
85605
|
+
};
|
|
85606
|
+
CoveoSearchPageClient.prototype.makeRetryGeneratedAnswer = function () {
|
|
85607
|
+
return this.makeSearchEvent(exports.SearchPageEvents.retryGeneratedAnswer);
|
|
85608
|
+
};
|
|
85609
|
+
CoveoSearchPageClient.prototype.logRetryGeneratedAnswer = function () {
|
|
85610
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
85611
|
+
return __generator(this, function (_a) {
|
|
85612
|
+
switch (_a.label) {
|
|
85613
|
+
case 0: return [4, this.makeRetryGeneratedAnswer()];
|
|
85614
|
+
case 1: return [2, (_a.sent()).log({ searchUID: this.provider.getSearchUID() })];
|
|
85615
|
+
}
|
|
85616
|
+
});
|
|
85617
|
+
});
|
|
85618
|
+
};
|
|
85558
85619
|
return CoveoSearchPageClient;
|
|
85559
85620
|
}());
|
|
85560
85621
|
|
package/dist/react-native.es.js
CHANGED
|
@@ -658,7 +658,7 @@ const addPageViewToHistory = (pageViewValue) => __awaiter(void 0, void 0, void 0
|
|
|
658
658
|
yield store.addElementAsync(historyElement);
|
|
659
659
|
});
|
|
660
660
|
|
|
661
|
-
const libVersion = "2.28.
|
|
661
|
+
const libVersion = "2.28.7" ;
|
|
662
662
|
|
|
663
663
|
const getFormattedLocation = (location) => `${location.protocol}//${location.hostname}${location.pathname.indexOf('/') === 0 ? location.pathname : `/${location.pathname}`}${location.search}`;
|
|
664
664
|
|
|
@@ -1734,6 +1734,10 @@ var SearchPageEvents;
|
|
|
1734
1734
|
SearchPageEvents["feedItemTextPost"] = "FeedItem.TextPost";
|
|
1735
1735
|
SearchPageEvents["caseAttach"] = "caseAttach";
|
|
1736
1736
|
SearchPageEvents["caseDetach"] = "caseDetach";
|
|
1737
|
+
SearchPageEvents["retryGeneratedAnswer"] = "retryGeneratedAnswer";
|
|
1738
|
+
SearchPageEvents["likeGeneratedAnswer"] = "likeGeneratedAnswer";
|
|
1739
|
+
SearchPageEvents["dislikeGeneratedAnswer"] = "dislikeGeneratedAnswer";
|
|
1740
|
+
SearchPageEvents["openGeneratedAnswerSource"] = "openGeneratedAnswerSource";
|
|
1737
1741
|
})(SearchPageEvents || (SearchPageEvents = {}));
|
|
1738
1742
|
const CustomEventsTypes = {
|
|
1739
1743
|
[SearchPageEvents.triggerNotify]: 'queryPipelineTriggers',
|
|
@@ -1775,6 +1779,9 @@ const CustomEventsTypes = {
|
|
|
1775
1779
|
[InsightEvents.clickViewedDocument]: 'User Actions',
|
|
1776
1780
|
[InsightEvents.clickPageView]: 'User Actions',
|
|
1777
1781
|
[SearchPageEvents.caseDetach]: 'case',
|
|
1782
|
+
[SearchPageEvents.likeGeneratedAnswer]: 'generatedAnswer',
|
|
1783
|
+
[SearchPageEvents.dislikeGeneratedAnswer]: 'generatedAnswer',
|
|
1784
|
+
[SearchPageEvents.openGeneratedAnswerSource]: 'generatedAnswer',
|
|
1778
1785
|
};
|
|
1779
1786
|
|
|
1780
1787
|
class NoopAnalytics {
|
|
@@ -2576,6 +2583,40 @@ class CoveoSearchPageClient {
|
|
|
2576
2583
|
const splitTestRunVersion = this.provider.getSplitTestRunVersion ? this.provider.getSplitTestRunVersion() : '';
|
|
2577
2584
|
return Object.assign(Object.assign({}, (splitTestRunName && { splitTestRunName })), (splitTestRunVersion && { splitTestRunVersion }));
|
|
2578
2585
|
}
|
|
2586
|
+
makeLikeGeneratedAnswer(metadata) {
|
|
2587
|
+
return this.makeCustomEvent(SearchPageEvents.likeGeneratedAnswer, metadata);
|
|
2588
|
+
}
|
|
2589
|
+
logLikeGeneratedAnswer(metadata) {
|
|
2590
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
2591
|
+
return (yield this.makeLikeGeneratedAnswer(metadata)).log({ searchUID: this.provider.getSearchUID() });
|
|
2592
|
+
});
|
|
2593
|
+
}
|
|
2594
|
+
makeDislikeGeneratedAnswer(metadata) {
|
|
2595
|
+
return this.makeCustomEvent(SearchPageEvents.dislikeGeneratedAnswer, metadata);
|
|
2596
|
+
}
|
|
2597
|
+
logDislikeGeneratedAnswer(metadata) {
|
|
2598
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
2599
|
+
return (yield this.makeDislikeGeneratedAnswer(metadata)).log({ searchUID: this.provider.getSearchUID() });
|
|
2600
|
+
});
|
|
2601
|
+
}
|
|
2602
|
+
makeOpenGeneratedAnswerSource(metadata) {
|
|
2603
|
+
return this.makeCustomEvent(SearchPageEvents.openGeneratedAnswerSource, metadata);
|
|
2604
|
+
}
|
|
2605
|
+
logOpenGeneratedAnswerSource(metadata) {
|
|
2606
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
2607
|
+
return (yield this.makeOpenGeneratedAnswerSource(metadata)).log({
|
|
2608
|
+
searchUID: this.provider.getSearchUID(),
|
|
2609
|
+
});
|
|
2610
|
+
});
|
|
2611
|
+
}
|
|
2612
|
+
makeRetryGeneratedAnswer() {
|
|
2613
|
+
return this.makeSearchEvent(SearchPageEvents.retryGeneratedAnswer);
|
|
2614
|
+
}
|
|
2615
|
+
logRetryGeneratedAnswer() {
|
|
2616
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
2617
|
+
return (yield this.makeRetryGeneratedAnswer()).log({ searchUID: this.provider.getSearchUID() });
|
|
2618
|
+
});
|
|
2619
|
+
}
|
|
2579
2620
|
}
|
|
2580
2621
|
|
|
2581
2622
|
const SVCPluginEventTypes = Object.assign({}, BasePluginEventTypes);
|
package/package.json
CHANGED
|
@@ -51,6 +51,8 @@ describe('SearchPageClient', () => {
|
|
|
51
51
|
},
|
|
52
52
|
];
|
|
53
53
|
|
|
54
|
+
const fakeStreamId = 'some-stream-id-123';
|
|
55
|
+
|
|
54
56
|
let client: CoveoSearchPageClient;
|
|
55
57
|
|
|
56
58
|
const provider: SearchPageClientProvider = {
|
|
@@ -1413,4 +1415,46 @@ describe('SearchPageClient', () => {
|
|
|
1413
1415
|
c.enable();
|
|
1414
1416
|
expect(c.coveoAnalyticsClient instanceof CoveoAnalyticsClient).toBe(true);
|
|
1415
1417
|
});
|
|
1418
|
+
|
|
1419
|
+
it('should send proper payload for #logLikeGeneratedAnswer', async () => {
|
|
1420
|
+
const meta = {generativeQuestionAnsweringId: fakeStreamId};
|
|
1421
|
+
await client.logLikeGeneratedAnswer(meta);
|
|
1422
|
+
expectMatchCustomEventPayload(SearchPageEvents.likeGeneratedAnswer, meta);
|
|
1423
|
+
});
|
|
1424
|
+
|
|
1425
|
+
it('should send proper payload for #makeLikeGeneratedAnswer', async () => {
|
|
1426
|
+
const meta = {generativeQuestionAnsweringId: fakeStreamId};
|
|
1427
|
+
const built = await client.makeLikeGeneratedAnswer(meta);
|
|
1428
|
+
await built.log({searchUID: provider.getSearchUID()});
|
|
1429
|
+
expectMatchCustomEventPayload(SearchPageEvents.likeGeneratedAnswer, meta);
|
|
1430
|
+
expectMatchDescription(built.description, SearchPageEvents.likeGeneratedAnswer, meta);
|
|
1431
|
+
});
|
|
1432
|
+
|
|
1433
|
+
it('should send proper payload for #logDislikeGeneratedAnswer', async () => {
|
|
1434
|
+
const meta = {generativeQuestionAnsweringId: fakeStreamId};
|
|
1435
|
+
await client.logDislikeGeneratedAnswer(meta);
|
|
1436
|
+
expectMatchCustomEventPayload(SearchPageEvents.dislikeGeneratedAnswer, meta);
|
|
1437
|
+
});
|
|
1438
|
+
|
|
1439
|
+
it('should send proper payload for #makeDislikeGeneratedAnswer', async () => {
|
|
1440
|
+
const meta = {generativeQuestionAnsweringId: fakeStreamId};
|
|
1441
|
+
const built = await client.makeDislikeGeneratedAnswer(meta);
|
|
1442
|
+
await built.log({searchUID: provider.getSearchUID()});
|
|
1443
|
+
expectMatchCustomEventPayload(SearchPageEvents.dislikeGeneratedAnswer, meta);
|
|
1444
|
+
expectMatchDescription(built.description, SearchPageEvents.dislikeGeneratedAnswer, meta);
|
|
1445
|
+
});
|
|
1446
|
+
|
|
1447
|
+
it('should send proper payload for #logOpenGeneratedAnswerSource', async () => {
|
|
1448
|
+
const meta = {generativeQuestionAnsweringId: fakeStreamId, id: 'some-document-id', permanentId: 'perm-id'};
|
|
1449
|
+
await client.logOpenGeneratedAnswerSource(meta);
|
|
1450
|
+
expectMatchCustomEventPayload(SearchPageEvents.openGeneratedAnswerSource, meta);
|
|
1451
|
+
});
|
|
1452
|
+
|
|
1453
|
+
it('should send proper payload for #makeOpenGeneratedAnswerSource', async () => {
|
|
1454
|
+
const meta = {generativeQuestionAnsweringId: fakeStreamId, id: 'some-document-id', permanentId: 'perm-id'};
|
|
1455
|
+
const built = await client.makeOpenGeneratedAnswerSource(meta);
|
|
1456
|
+
await built.log({searchUID: provider.getSearchUID()});
|
|
1457
|
+
expectMatchCustomEventPayload(SearchPageEvents.openGeneratedAnswerSource, meta);
|
|
1458
|
+
expectMatchDescription(built.description, SearchPageEvents.openGeneratedAnswerSource, meta);
|
|
1459
|
+
});
|
|
1416
1460
|
});
|
|
@@ -36,6 +36,8 @@ import {
|
|
|
36
36
|
StaticFilterToggleValueMetadata,
|
|
37
37
|
UndoTriggerRedirectMetadata,
|
|
38
38
|
SmartSnippetLinkMeta,
|
|
39
|
+
GeneratedAnswerFeedbackMeta,
|
|
40
|
+
GeneratedAnswerCitationMeta,
|
|
39
41
|
} from './searchPageEvents';
|
|
40
42
|
import {NoopAnalytics} from '../client/noopAnalytics';
|
|
41
43
|
import {formatOmniboxMetadata} from '../formatting/format-omnibox-metadata';
|
|
@@ -881,4 +883,38 @@ export class CoveoSearchPageClient {
|
|
|
881
883
|
...(splitTestRunVersion && {splitTestRunVersion}),
|
|
882
884
|
};
|
|
883
885
|
}
|
|
886
|
+
|
|
887
|
+
public makeLikeGeneratedAnswer(metadata: GeneratedAnswerFeedbackMeta) {
|
|
888
|
+
return this.makeCustomEvent(SearchPageEvents.likeGeneratedAnswer, metadata);
|
|
889
|
+
}
|
|
890
|
+
|
|
891
|
+
public async logLikeGeneratedAnswer(metadata: GeneratedAnswerFeedbackMeta) {
|
|
892
|
+
return (await this.makeLikeGeneratedAnswer(metadata)).log({searchUID: this.provider.getSearchUID()});
|
|
893
|
+
}
|
|
894
|
+
|
|
895
|
+
public makeDislikeGeneratedAnswer(metadata: GeneratedAnswerFeedbackMeta) {
|
|
896
|
+
return this.makeCustomEvent(SearchPageEvents.dislikeGeneratedAnswer, metadata);
|
|
897
|
+
}
|
|
898
|
+
|
|
899
|
+
public async logDislikeGeneratedAnswer(metadata: GeneratedAnswerFeedbackMeta) {
|
|
900
|
+
return (await this.makeDislikeGeneratedAnswer(metadata)).log({searchUID: this.provider.getSearchUID()});
|
|
901
|
+
}
|
|
902
|
+
|
|
903
|
+
public makeOpenGeneratedAnswerSource(metadata: GeneratedAnswerCitationMeta) {
|
|
904
|
+
return this.makeCustomEvent(SearchPageEvents.openGeneratedAnswerSource, metadata);
|
|
905
|
+
}
|
|
906
|
+
|
|
907
|
+
public async logOpenGeneratedAnswerSource(metadata: GeneratedAnswerCitationMeta) {
|
|
908
|
+
return (await this.makeOpenGeneratedAnswerSource(metadata)).log({
|
|
909
|
+
searchUID: this.provider.getSearchUID(),
|
|
910
|
+
});
|
|
911
|
+
}
|
|
912
|
+
|
|
913
|
+
public makeRetryGeneratedAnswer() {
|
|
914
|
+
return this.makeSearchEvent(SearchPageEvents.retryGeneratedAnswer);
|
|
915
|
+
}
|
|
916
|
+
|
|
917
|
+
public async logRetryGeneratedAnswer() {
|
|
918
|
+
return (await this.makeRetryGeneratedAnswer()).log({searchUID: this.provider.getSearchUID()});
|
|
919
|
+
}
|
|
884
920
|
}
|
|
@@ -294,6 +294,22 @@ export enum SearchPageEvents {
|
|
|
294
294
|
* Identifies the custom event that gets logged when a user clicks the Detach From Case result action.
|
|
295
295
|
*/
|
|
296
296
|
caseDetach = 'caseDetach',
|
|
297
|
+
/**
|
|
298
|
+
* Identifies the cause of a search request being retried in order to regenerate an answer stream that failed.
|
|
299
|
+
*/
|
|
300
|
+
retryGeneratedAnswer = 'retryGeneratedAnswer',
|
|
301
|
+
/**
|
|
302
|
+
* Identifies the custom event that gets logged when a user identifies a generated answer as relevant.
|
|
303
|
+
*/
|
|
304
|
+
likeGeneratedAnswer = 'likeGeneratedAnswer',
|
|
305
|
+
/**
|
|
306
|
+
* Identifies the custom event that gets logged when a user identifies a generated answer as irrelevant.
|
|
307
|
+
*/
|
|
308
|
+
dislikeGeneratedAnswer = 'dislikeGeneratedAnswer',
|
|
309
|
+
/**
|
|
310
|
+
* Identifies the custom event that gets logged when a user opens a generated answer citation.
|
|
311
|
+
*/
|
|
312
|
+
openGeneratedAnswerSource = 'openGeneratedAnswerSource',
|
|
297
313
|
}
|
|
298
314
|
|
|
299
315
|
export const CustomEventsTypes: Partial<Record<SearchPageEvents | InsightEvents, string>> = {
|
|
@@ -336,6 +352,9 @@ export const CustomEventsTypes: Partial<Record<SearchPageEvents | InsightEvents,
|
|
|
336
352
|
[InsightEvents.clickViewedDocument]: 'User Actions',
|
|
337
353
|
[InsightEvents.clickPageView]: 'User Actions',
|
|
338
354
|
[SearchPageEvents.caseDetach]: 'case',
|
|
355
|
+
[SearchPageEvents.likeGeneratedAnswer]: 'generatedAnswer',
|
|
356
|
+
[SearchPageEvents.dislikeGeneratedAnswer]: 'generatedAnswer',
|
|
357
|
+
[SearchPageEvents.openGeneratedAnswerSource]: 'generatedAnswer',
|
|
339
358
|
};
|
|
340
359
|
|
|
341
360
|
export interface StaticFilterMetadata {
|
|
@@ -469,3 +488,13 @@ export interface SmartSnippetDocumentIdentifier {
|
|
|
469
488
|
}
|
|
470
489
|
|
|
471
490
|
export type PartialDocumentInformation = Omit<DocumentInformation, 'actionCause' | 'searchQueryUid'>;
|
|
491
|
+
|
|
492
|
+
export interface GeneratedAnswerFeedbackMeta {
|
|
493
|
+
generativeQuestionAnsweringId: string;
|
|
494
|
+
}
|
|
495
|
+
|
|
496
|
+
export interface GeneratedAnswerCitationMeta {
|
|
497
|
+
generativeQuestionAnsweringId: string;
|
|
498
|
+
permanentId: string;
|
|
499
|
+
id: string;
|
|
500
|
+
}
|