coveo.analytics 2.28.5 → 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 +70 -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/insight/insightClient.d.ts +2 -0
- package/dist/definitions/searchPage/searchPageClient.d.ts +9 -1
- package/dist/definitions/searchPage/searchPageEvents.d.ts +15 -1
- package/dist/definitions/version.d.ts +1 -1
- package/dist/library.es.js +50 -1
- package/dist/library.js +70 -1
- package/dist/react-native.es.js +50 -1
- package/package.json +1 -1
- package/src/insight/insightClient.spec.ts +32 -0
- package/src/insight/insightClient.ts +22 -0
- package/src/searchPage/searchPageClient.spec.ts +44 -0
- package/src/searchPage/searchPageClient.ts +36 -0
- package/src/searchPage/searchPageEvents.ts +37 -0
|
@@ -54,6 +54,8 @@ export declare class CoveoInsightClient {
|
|
|
54
54
|
logPageViewClick(pageView: UserActionsPageViewMetadata, metadata: CaseMetadata): Promise<void | import("../events").CustomEventResponse>;
|
|
55
55
|
logDocumentOpen(info: PartialDocumentInformation, identifier: DocumentIdentifier, metadata?: CaseMetadata): Promise<void | import("../events").ClickEventResponse>;
|
|
56
56
|
logCopyToClipboard(info: PartialDocumentInformation, identifier: DocumentIdentifier, metadata?: CaseMetadata): Promise<void | import("../events").ClickEventResponse>;
|
|
57
|
+
logCaseSendEmail(info: PartialDocumentInformation, identifier: DocumentIdentifier, metadata?: CaseMetadata): Promise<void | import("../events").ClickEventResponse>;
|
|
58
|
+
logFeedItemTextPost(info: PartialDocumentInformation, identifier: DocumentIdentifier, metadata?: CaseMetadata): Promise<void | import("../events").ClickEventResponse>;
|
|
57
59
|
logDocumentQuickview(info: PartialDocumentInformation, identifier: DocumentIdentifier, caseMetadata?: CaseMetadata): Promise<void | import("../events").ClickEventResponse>;
|
|
58
60
|
logCaseAttach(info: PartialDocumentInformation, identifier: DocumentIdentifier, caseMetadata?: CaseMetadata): Promise<void | import("../events").ClickEventResponse>;
|
|
59
61
|
logCaseDetach(resultUriHash: string, metadata?: CaseMetadata): Promise<void | import("../events").CustomEventResponse>;
|
|
@@ -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
|
}
|
|
@@ -69,8 +69,14 @@ export declare enum SearchPageEvents {
|
|
|
69
69
|
showMoreFoldedResults = "showMoreFoldedResults",
|
|
70
70
|
showLessFoldedResults = "showLessFoldedResults",
|
|
71
71
|
copyToClipboard = "copyToClipboard",
|
|
72
|
+
caseSendEmail = "Case.SendEmail",
|
|
73
|
+
feedItemTextPost = "FeedItem.TextPost",
|
|
72
74
|
caseAttach = "caseAttach",
|
|
73
|
-
caseDetach = "caseDetach"
|
|
75
|
+
caseDetach = "caseDetach",
|
|
76
|
+
retryGeneratedAnswer = "retryGeneratedAnswer",
|
|
77
|
+
likeGeneratedAnswer = "likeGeneratedAnswer",
|
|
78
|
+
dislikeGeneratedAnswer = "dislikeGeneratedAnswer",
|
|
79
|
+
openGeneratedAnswerSource = "openGeneratedAnswerSource"
|
|
74
80
|
}
|
|
75
81
|
export declare const CustomEventsTypes: Partial<Record<SearchPageEvents | InsightEvents, string>>;
|
|
76
82
|
export interface StaticFilterMetadata {
|
|
@@ -178,4 +184,12 @@ export interface SmartSnippetDocumentIdentifier {
|
|
|
178
184
|
contentIdValue: string;
|
|
179
185
|
}
|
|
180
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
|
+
}
|
|
181
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
|
|
|
@@ -1712,8 +1712,14 @@ var SearchPageEvents;
|
|
|
1712
1712
|
SearchPageEvents["showMoreFoldedResults"] = "showMoreFoldedResults";
|
|
1713
1713
|
SearchPageEvents["showLessFoldedResults"] = "showLessFoldedResults";
|
|
1714
1714
|
SearchPageEvents["copyToClipboard"] = "copyToClipboard";
|
|
1715
|
+
SearchPageEvents["caseSendEmail"] = "Case.SendEmail";
|
|
1716
|
+
SearchPageEvents["feedItemTextPost"] = "FeedItem.TextPost";
|
|
1715
1717
|
SearchPageEvents["caseAttach"] = "caseAttach";
|
|
1716
1718
|
SearchPageEvents["caseDetach"] = "caseDetach";
|
|
1719
|
+
SearchPageEvents["retryGeneratedAnswer"] = "retryGeneratedAnswer";
|
|
1720
|
+
SearchPageEvents["likeGeneratedAnswer"] = "likeGeneratedAnswer";
|
|
1721
|
+
SearchPageEvents["dislikeGeneratedAnswer"] = "dislikeGeneratedAnswer";
|
|
1722
|
+
SearchPageEvents["openGeneratedAnswerSource"] = "openGeneratedAnswerSource";
|
|
1717
1723
|
})(SearchPageEvents || (SearchPageEvents = {}));
|
|
1718
1724
|
const CustomEventsTypes = {
|
|
1719
1725
|
[SearchPageEvents.triggerNotify]: 'queryPipelineTriggers',
|
|
@@ -1755,6 +1761,9 @@ const CustomEventsTypes = {
|
|
|
1755
1761
|
[InsightEvents.clickViewedDocument]: 'User Actions',
|
|
1756
1762
|
[InsightEvents.clickPageView]: 'User Actions',
|
|
1757
1763
|
[SearchPageEvents.caseDetach]: 'case',
|
|
1764
|
+
[SearchPageEvents.likeGeneratedAnswer]: 'generatedAnswer',
|
|
1765
|
+
[SearchPageEvents.dislikeGeneratedAnswer]: 'generatedAnswer',
|
|
1766
|
+
[SearchPageEvents.openGeneratedAnswerSource]: 'generatedAnswer',
|
|
1758
1767
|
};
|
|
1759
1768
|
|
|
1760
1769
|
class NoopAnalytics {
|
|
@@ -2556,6 +2565,40 @@ class CoveoSearchPageClient {
|
|
|
2556
2565
|
const splitTestRunVersion = this.provider.getSplitTestRunVersion ? this.provider.getSplitTestRunVersion() : '';
|
|
2557
2566
|
return Object.assign(Object.assign({}, (splitTestRunName && { splitTestRunName })), (splitTestRunVersion && { splitTestRunVersion }));
|
|
2558
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
|
+
}
|
|
2559
2602
|
}
|
|
2560
2603
|
|
|
2561
2604
|
const SVCPluginEventTypes = Object.assign({}, BasePluginEventTypes);
|
|
@@ -2904,6 +2947,12 @@ class CoveoInsightClient {
|
|
|
2904
2947
|
logCopyToClipboard(info, identifier, metadata) {
|
|
2905
2948
|
return this.logClickEvent(SearchPageEvents.copyToClipboard, info, identifier, metadata ? generateMetadataToSend(metadata, false) : undefined);
|
|
2906
2949
|
}
|
|
2950
|
+
logCaseSendEmail(info, identifier, metadata) {
|
|
2951
|
+
return this.logClickEvent(SearchPageEvents.caseSendEmail, info, identifier, metadata ? generateMetadataToSend(metadata, false) : undefined);
|
|
2952
|
+
}
|
|
2953
|
+
logFeedItemTextPost(info, identifier, metadata) {
|
|
2954
|
+
return this.logClickEvent(SearchPageEvents.feedItemTextPost, info, identifier, metadata ? generateMetadataToSend(metadata, false) : undefined);
|
|
2955
|
+
}
|
|
2907
2956
|
logDocumentQuickview(info, identifier, caseMetadata) {
|
|
2908
2957
|
const metadata = {
|
|
2909
2958
|
documentTitle: info.documentTitle,
|
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);
|
|
@@ -84225,8 +84225,14 @@ exports.SearchPageEvents = void 0;
|
|
|
84225
84225
|
SearchPageEvents["showMoreFoldedResults"] = "showMoreFoldedResults";
|
|
84226
84226
|
SearchPageEvents["showLessFoldedResults"] = "showLessFoldedResults";
|
|
84227
84227
|
SearchPageEvents["copyToClipboard"] = "copyToClipboard";
|
|
84228
|
+
SearchPageEvents["caseSendEmail"] = "Case.SendEmail";
|
|
84229
|
+
SearchPageEvents["feedItemTextPost"] = "FeedItem.TextPost";
|
|
84228
84230
|
SearchPageEvents["caseAttach"] = "caseAttach";
|
|
84229
84231
|
SearchPageEvents["caseDetach"] = "caseDetach";
|
|
84232
|
+
SearchPageEvents["retryGeneratedAnswer"] = "retryGeneratedAnswer";
|
|
84233
|
+
SearchPageEvents["likeGeneratedAnswer"] = "likeGeneratedAnswer";
|
|
84234
|
+
SearchPageEvents["dislikeGeneratedAnswer"] = "dislikeGeneratedAnswer";
|
|
84235
|
+
SearchPageEvents["openGeneratedAnswerSource"] = "openGeneratedAnswerSource";
|
|
84230
84236
|
})(exports.SearchPageEvents || (exports.SearchPageEvents = {}));
|
|
84231
84237
|
var CustomEventsTypes = (_a = {},
|
|
84232
84238
|
_a[exports.SearchPageEvents.triggerNotify] = 'queryPipelineTriggers',
|
|
@@ -84268,6 +84274,9 @@ var CustomEventsTypes = (_a = {},
|
|
|
84268
84274
|
_a[exports.InsightEvents.clickViewedDocument] = 'User Actions',
|
|
84269
84275
|
_a[exports.InsightEvents.clickPageView] = 'User Actions',
|
|
84270
84276
|
_a[exports.SearchPageEvents.caseDetach] = 'case',
|
|
84277
|
+
_a[exports.SearchPageEvents.likeGeneratedAnswer] = 'generatedAnswer',
|
|
84278
|
+
_a[exports.SearchPageEvents.dislikeGeneratedAnswer] = 'generatedAnswer',
|
|
84279
|
+
_a[exports.SearchPageEvents.openGeneratedAnswerSource] = 'generatedAnswer',
|
|
84271
84280
|
_a);
|
|
84272
84281
|
|
|
84273
84282
|
var NoopAnalytics = (function () {
|
|
@@ -85553,6 +85562,60 @@ var CoveoSearchPageClient = (function () {
|
|
|
85553
85562
|
var splitTestRunVersion = this.provider.getSplitTestRunVersion ? this.provider.getSplitTestRunVersion() : '';
|
|
85554
85563
|
return __assign(__assign({}, (splitTestRunName && { splitTestRunName: splitTestRunName })), (splitTestRunVersion && { splitTestRunVersion: splitTestRunVersion }));
|
|
85555
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
|
+
};
|
|
85556
85619
|
return CoveoSearchPageClient;
|
|
85557
85620
|
}());
|
|
85558
85621
|
|
|
@@ -85835,6 +85898,12 @@ var CoveoInsightClient = (function () {
|
|
|
85835
85898
|
CoveoInsightClient.prototype.logCopyToClipboard = function (info, identifier, metadata) {
|
|
85836
85899
|
return this.logClickEvent(exports.SearchPageEvents.copyToClipboard, info, identifier, metadata ? generateMetadataToSend(metadata, false) : undefined);
|
|
85837
85900
|
};
|
|
85901
|
+
CoveoInsightClient.prototype.logCaseSendEmail = function (info, identifier, metadata) {
|
|
85902
|
+
return this.logClickEvent(exports.SearchPageEvents.caseSendEmail, info, identifier, metadata ? generateMetadataToSend(metadata, false) : undefined);
|
|
85903
|
+
};
|
|
85904
|
+
CoveoInsightClient.prototype.logFeedItemTextPost = function (info, identifier, metadata) {
|
|
85905
|
+
return this.logClickEvent(exports.SearchPageEvents.feedItemTextPost, info, identifier, metadata ? generateMetadataToSend(metadata, false) : undefined);
|
|
85906
|
+
};
|
|
85838
85907
|
CoveoInsightClient.prototype.logDocumentQuickview = function (info, identifier, caseMetadata) {
|
|
85839
85908
|
var metadata = {
|
|
85840
85909
|
documentTitle: info.documentTitle,
|
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
|
|
|
@@ -1730,8 +1730,14 @@ var SearchPageEvents;
|
|
|
1730
1730
|
SearchPageEvents["showMoreFoldedResults"] = "showMoreFoldedResults";
|
|
1731
1731
|
SearchPageEvents["showLessFoldedResults"] = "showLessFoldedResults";
|
|
1732
1732
|
SearchPageEvents["copyToClipboard"] = "copyToClipboard";
|
|
1733
|
+
SearchPageEvents["caseSendEmail"] = "Case.SendEmail";
|
|
1734
|
+
SearchPageEvents["feedItemTextPost"] = "FeedItem.TextPost";
|
|
1733
1735
|
SearchPageEvents["caseAttach"] = "caseAttach";
|
|
1734
1736
|
SearchPageEvents["caseDetach"] = "caseDetach";
|
|
1737
|
+
SearchPageEvents["retryGeneratedAnswer"] = "retryGeneratedAnswer";
|
|
1738
|
+
SearchPageEvents["likeGeneratedAnswer"] = "likeGeneratedAnswer";
|
|
1739
|
+
SearchPageEvents["dislikeGeneratedAnswer"] = "dislikeGeneratedAnswer";
|
|
1740
|
+
SearchPageEvents["openGeneratedAnswerSource"] = "openGeneratedAnswerSource";
|
|
1735
1741
|
})(SearchPageEvents || (SearchPageEvents = {}));
|
|
1736
1742
|
const CustomEventsTypes = {
|
|
1737
1743
|
[SearchPageEvents.triggerNotify]: 'queryPipelineTriggers',
|
|
@@ -1773,6 +1779,9 @@ const CustomEventsTypes = {
|
|
|
1773
1779
|
[InsightEvents.clickViewedDocument]: 'User Actions',
|
|
1774
1780
|
[InsightEvents.clickPageView]: 'User Actions',
|
|
1775
1781
|
[SearchPageEvents.caseDetach]: 'case',
|
|
1782
|
+
[SearchPageEvents.likeGeneratedAnswer]: 'generatedAnswer',
|
|
1783
|
+
[SearchPageEvents.dislikeGeneratedAnswer]: 'generatedAnswer',
|
|
1784
|
+
[SearchPageEvents.openGeneratedAnswerSource]: 'generatedAnswer',
|
|
1776
1785
|
};
|
|
1777
1786
|
|
|
1778
1787
|
class NoopAnalytics {
|
|
@@ -2574,6 +2583,40 @@ class CoveoSearchPageClient {
|
|
|
2574
2583
|
const splitTestRunVersion = this.provider.getSplitTestRunVersion ? this.provider.getSplitTestRunVersion() : '';
|
|
2575
2584
|
return Object.assign(Object.assign({}, (splitTestRunName && { splitTestRunName })), (splitTestRunVersion && { splitTestRunVersion }));
|
|
2576
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
|
+
}
|
|
2577
2620
|
}
|
|
2578
2621
|
|
|
2579
2622
|
const SVCPluginEventTypes = Object.assign({}, BasePluginEventTypes);
|
|
@@ -2922,6 +2965,12 @@ class CoveoInsightClient {
|
|
|
2922
2965
|
logCopyToClipboard(info, identifier, metadata) {
|
|
2923
2966
|
return this.logClickEvent(SearchPageEvents.copyToClipboard, info, identifier, metadata ? generateMetadataToSend(metadata, false) : undefined);
|
|
2924
2967
|
}
|
|
2968
|
+
logCaseSendEmail(info, identifier, metadata) {
|
|
2969
|
+
return this.logClickEvent(SearchPageEvents.caseSendEmail, info, identifier, metadata ? generateMetadataToSend(metadata, false) : undefined);
|
|
2970
|
+
}
|
|
2971
|
+
logFeedItemTextPost(info, identifier, metadata) {
|
|
2972
|
+
return this.logClickEvent(SearchPageEvents.feedItemTextPost, info, identifier, metadata ? generateMetadataToSend(metadata, false) : undefined);
|
|
2973
|
+
}
|
|
2925
2974
|
logDocumentQuickview(info, identifier, caseMetadata) {
|
|
2926
2975
|
const metadata = {
|
|
2927
2976
|
documentTitle: info.documentTitle,
|
package/package.json
CHANGED
|
@@ -324,6 +324,16 @@ describe('InsightClient', () => {
|
|
|
324
324
|
expectMatchDocumentPayload(SearchPageEvents.copyToClipboard, fakeDocInfo, fakeDocID);
|
|
325
325
|
});
|
|
326
326
|
|
|
327
|
+
it('should send proper payload for #caseSendEmail', async () => {
|
|
328
|
+
await client.logCaseSendEmail(fakeDocInfo, fakeDocID);
|
|
329
|
+
expectMatchDocumentPayload(SearchPageEvents.caseSendEmail, fakeDocInfo, fakeDocID);
|
|
330
|
+
});
|
|
331
|
+
|
|
332
|
+
it('should send proper payload for #feedItemTextPost', async () => {
|
|
333
|
+
await client.logFeedItemTextPost(fakeDocInfo, fakeDocID);
|
|
334
|
+
expectMatchDocumentPayload(SearchPageEvents.feedItemTextPost, fakeDocInfo, fakeDocID);
|
|
335
|
+
});
|
|
336
|
+
|
|
327
337
|
it('should send proper payload for #documentQuickview', async () => {
|
|
328
338
|
const expectedMetadata = {
|
|
329
339
|
...fakeDocID,
|
|
@@ -856,6 +866,28 @@ describe('InsightClient', () => {
|
|
|
856
866
|
expectMatchDocumentPayload(SearchPageEvents.copyToClipboard, fakeDocInfo, expectedMetadata);
|
|
857
867
|
});
|
|
858
868
|
|
|
869
|
+
it('should send proper payload for #caseSendEmail', async () => {
|
|
870
|
+
const metadata = baseCaseMetadata;
|
|
871
|
+
|
|
872
|
+
const expectedMetadata = {
|
|
873
|
+
...fakeDocID,
|
|
874
|
+
...expectedBaseCaseMetadata,
|
|
875
|
+
};
|
|
876
|
+
await client.logCaseSendEmail(fakeDocInfo, fakeDocID, metadata);
|
|
877
|
+
expectMatchDocumentPayload(SearchPageEvents.caseSendEmail, fakeDocInfo, expectedMetadata);
|
|
878
|
+
});
|
|
879
|
+
|
|
880
|
+
it('should send proper payload for #feedItemTextPost', async () => {
|
|
881
|
+
const metadata = baseCaseMetadata;
|
|
882
|
+
|
|
883
|
+
const expectedMetadata = {
|
|
884
|
+
...fakeDocID,
|
|
885
|
+
...expectedBaseCaseMetadata,
|
|
886
|
+
};
|
|
887
|
+
await client.logFeedItemTextPost(fakeDocInfo, fakeDocID, metadata);
|
|
888
|
+
expectMatchDocumentPayload(SearchPageEvents.feedItemTextPost, fakeDocInfo, expectedMetadata);
|
|
889
|
+
});
|
|
890
|
+
|
|
859
891
|
it('should send proper payload for #documentQuickview', async () => {
|
|
860
892
|
const metadata = baseCaseMetadata;
|
|
861
893
|
|
|
@@ -276,6 +276,28 @@ export class CoveoInsightClient {
|
|
|
276
276
|
);
|
|
277
277
|
}
|
|
278
278
|
|
|
279
|
+
public logCaseSendEmail(info: PartialDocumentInformation, identifier: DocumentIdentifier, metadata?: CaseMetadata) {
|
|
280
|
+
return this.logClickEvent(
|
|
281
|
+
SearchPageEvents.caseSendEmail,
|
|
282
|
+
info,
|
|
283
|
+
identifier,
|
|
284
|
+
metadata ? generateMetadataToSend(metadata, false) : undefined
|
|
285
|
+
);
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
public logFeedItemTextPost(
|
|
289
|
+
info: PartialDocumentInformation,
|
|
290
|
+
identifier: DocumentIdentifier,
|
|
291
|
+
metadata?: CaseMetadata
|
|
292
|
+
) {
|
|
293
|
+
return this.logClickEvent(
|
|
294
|
+
SearchPageEvents.feedItemTextPost,
|
|
295
|
+
info,
|
|
296
|
+
identifier,
|
|
297
|
+
metadata ? generateMetadataToSend(metadata, false) : undefined
|
|
298
|
+
);
|
|
299
|
+
}
|
|
300
|
+
|
|
279
301
|
public logDocumentQuickview(
|
|
280
302
|
info: PartialDocumentInformation,
|
|
281
303
|
identifier: DocumentIdentifier,
|
|
@@ -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
|
}
|
|
@@ -278,6 +278,14 @@ export enum SearchPageEvents {
|
|
|
278
278
|
* Identifies the click event that gets logged when a user clicks the Copy To Clipboard result action.
|
|
279
279
|
*/
|
|
280
280
|
copyToClipboard = 'copyToClipboard',
|
|
281
|
+
/**
|
|
282
|
+
* Identifies the click event that gets logged when a user clicks the Send As Email result action.
|
|
283
|
+
*/
|
|
284
|
+
caseSendEmail = 'Case.SendEmail',
|
|
285
|
+
/**
|
|
286
|
+
* Identifies the click event that gets logged when a user clicks the Post To Feed result action.
|
|
287
|
+
*/
|
|
288
|
+
feedItemTextPost = 'FeedItem.TextPost',
|
|
281
289
|
/**
|
|
282
290
|
* Identifies the click event that gets logged when a user clicks the Attach To Case result action.
|
|
283
291
|
*/
|
|
@@ -286,6 +294,22 @@ export enum SearchPageEvents {
|
|
|
286
294
|
* Identifies the custom event that gets logged when a user clicks the Detach From Case result action.
|
|
287
295
|
*/
|
|
288
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',
|
|
289
313
|
}
|
|
290
314
|
|
|
291
315
|
export const CustomEventsTypes: Partial<Record<SearchPageEvents | InsightEvents, string>> = {
|
|
@@ -328,6 +352,9 @@ export const CustomEventsTypes: Partial<Record<SearchPageEvents | InsightEvents,
|
|
|
328
352
|
[InsightEvents.clickViewedDocument]: 'User Actions',
|
|
329
353
|
[InsightEvents.clickPageView]: 'User Actions',
|
|
330
354
|
[SearchPageEvents.caseDetach]: 'case',
|
|
355
|
+
[SearchPageEvents.likeGeneratedAnswer]: 'generatedAnswer',
|
|
356
|
+
[SearchPageEvents.dislikeGeneratedAnswer]: 'generatedAnswer',
|
|
357
|
+
[SearchPageEvents.openGeneratedAnswerSource]: 'generatedAnswer',
|
|
331
358
|
};
|
|
332
359
|
|
|
333
360
|
export interface StaticFilterMetadata {
|
|
@@ -461,3 +488,13 @@ export interface SmartSnippetDocumentIdentifier {
|
|
|
461
488
|
}
|
|
462
489
|
|
|
463
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
|
+
}
|