@coveo/quantic 3.37.7 → 3.37.9

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.
Files changed (22) hide show
  1. package/force-app/main/default/lwc/quanticResult/quanticResult.js +1 -1
  2. package/force-app/main/default/lwc/quanticSearchBoxInput/quanticSearchBoxInput.js +5 -0
  3. package/force-app/main/default/lwc/quanticTimeframeFacet/__tests__/quanticTimeframeFacet.test.js +3 -3
  4. package/force-app/main/default/lwc/quanticTimeframeFacet/quanticTimeframeFacet.js +3 -3
  5. package/force-app/main/default/lwc/quanticUtils/__tests__/quanticUtils.test.js +0 -20
  6. package/force-app/main/default/lwc/quanticUtils/__tests__/timeAndDateUtils.test.js +22 -0
  7. package/force-app/main/default/lwc/quanticUtils/quanticUtils.js +1 -361
  8. package/force-app/main/default/lwc/quanticUtils/timeAndDateUtils.js +407 -0
  9. package/force-app/main/default/staticresources/coveoheadless/case-assist/headless.js +15 -15
  10. package/force-app/main/default/staticresources/coveoheadless/definitions/controllers/core/generated-answer/headless-core-interactive-generated-answer-inline-link.d.ts +44 -0
  11. package/force-app/main/default/staticresources/coveoheadless/definitions/controllers/generated-answer/headless-interactive-generated-answer-inline-link.d.ts +15 -0
  12. package/force-app/main/default/staticresources/coveoheadless/definitions/controllers/smart-snippet/headless-smart-snippet-interactive-inline-links.d.ts +2 -11
  13. package/force-app/main/default/staticresources/coveoheadless/definitions/features/generated-answer/generated-answer-analytics-actions.d.ts +5 -2
  14. package/force-app/main/default/staticresources/coveoheadless/definitions/features/generated-answer/generated-answer-request.d.ts +2 -2
  15. package/force-app/main/default/staticresources/coveoheadless/definitions/features/generated-answer/generated-answer-selectors.d.ts +1 -0
  16. package/force-app/main/default/staticresources/coveoheadless/definitions/index.d.ts +2 -0
  17. package/force-app/main/default/staticresources/coveoheadless/definitions/utils/inline-link.d.ts +10 -0
  18. package/force-app/main/default/staticresources/coveoheadless/headless.js +18 -18
  19. package/force-app/main/default/staticresources/coveoheadless/insight/headless.js +16 -16
  20. package/force-app/main/default/staticresources/coveoheadless/recommendation/headless.js +14 -14
  21. package/force-app/main/default/staticresources/dompurify/purify.min.js +2 -2
  22. package/package.json +7 -6
@@ -0,0 +1,44 @@
1
+ import type { CoreEngine } from '../../../app/engine.js';
2
+ import type { CustomAction } from '../../../features/analytics/analytics-utils.js';
3
+ import type { InlineLink } from '../../../utils/inline-link.js';
4
+ import { type InteractiveResultCore, type InteractiveResultCoreOptions, type InteractiveResultCoreProps } from '../../core/interactive-result/headless-core-interactive-result.js';
5
+ export interface InteractiveGeneratedAnswerInlineLinkOptions extends InteractiveResultCoreOptions {
6
+ /**
7
+ * The generated answer inline link.
8
+ */
9
+ link: InlineLink;
10
+ /**
11
+ * The unique identifier of the generated answer associated with the inline link.
12
+ */
13
+ answerId: string;
14
+ }
15
+ export interface InteractiveGeneratedAnswerInlineLinkProps extends InteractiveResultCoreProps {
16
+ /**
17
+ * The options for the `InteractiveGeneratedAnswerInlineLink` controller.
18
+ */
19
+ options: InteractiveGeneratedAnswerInlineLinkOptions;
20
+ }
21
+ /**
22
+ * The `InteractiveGeneratedAnswerInlineLink` controller provides an interface
23
+ * for triggering desirable side effects, such as logging UA events to the
24
+ * Coveo Platform, when a user selects a generated answer inline link.
25
+ *
26
+ * @group Controllers
27
+ * @category InteractiveGeneratedAnswerInlineLink
28
+ */
29
+ export interface InteractiveGeneratedAnswerInlineLink extends InteractiveResultCore {
30
+ }
31
+ interface InteractiveGeneratedAnswerInlineLinkAnalyticsClient {
32
+ logGeneratedAnswerOpenInlineLink(link: InlineLink, answerId: string): CustomAction;
33
+ }
34
+ /**
35
+ * Creates a core `InteractiveGeneratedAnswerInlineLink` controller instance.
36
+ *
37
+ * @param engine - The headless engine.
38
+ * @param analyticsClient - The analytics client.
39
+ * @param props - The configurable `InteractiveGeneratedAnswerInlineLink`
40
+ * properties.
41
+ * @returns An `InteractiveGeneratedAnswerInlineLink` controller instance.
42
+ */
43
+ export declare function buildInteractiveGeneratedAnswerInlineLinkCore(engine: CoreEngine, analyticsClient: InteractiveGeneratedAnswerInlineLinkAnalyticsClient, props: InteractiveGeneratedAnswerInlineLinkProps): InteractiveGeneratedAnswerInlineLink;
44
+ export {};
@@ -0,0 +1,15 @@
1
+ import type { SearchEngine } from '../../app/search-engine/search-engine.js';
2
+ import { type InteractiveGeneratedAnswerInlineLink, type InteractiveGeneratedAnswerInlineLinkOptions, type InteractiveGeneratedAnswerInlineLinkProps } from '../core/generated-answer/headless-core-interactive-generated-answer-inline-link.js';
3
+ export type { InteractiveGeneratedAnswerInlineLink, InteractiveGeneratedAnswerInlineLinkOptions, InteractiveGeneratedAnswerInlineLinkProps, };
4
+ /**
5
+ * Creates an `InteractiveGeneratedAnswerInlineLink` controller instance.
6
+ *
7
+ * @param engine - The headless engine.
8
+ * @param props - The configurable `InteractiveGeneratedAnswerInlineLink`
9
+ * properties.
10
+ * @returns An `InteractiveGeneratedAnswerInlineLink` controller instance.
11
+ *
12
+ * @group Controllers
13
+ * @category InteractiveGeneratedAnswerInlineLink
14
+ */
15
+ export declare function buildInteractiveGeneratedAnswerInlineLink(engine: SearchEngine, props: InteractiveGeneratedAnswerInlineLinkProps): InteractiveGeneratedAnswerInlineLink;
@@ -1,14 +1,6 @@
1
1
  import type { SearchEngine } from '../../app/search-engine/search-engine.js';
2
- export interface InlineLink {
3
- /**
4
- * The text of the inline link.
5
- */
6
- linkText: string;
7
- /**
8
- * The URL of the inline link.
9
- */
10
- linkURL: string;
11
- }
2
+ import type { InlineLink } from '../../utils/inline-link.js';
3
+ export type { InlineLink } from '../../utils/inline-link.js';
12
4
  /**
13
5
  * @internal
14
6
  */
@@ -33,4 +25,3 @@ interface SmartSnippetInteractiveInlineLinks {
33
25
  * @internal
34
26
  */
35
27
  export declare function buildSmartSnippetInteractiveInlineLinks(engine: SearchEngine, props?: SmartSnippetInteractiveInlineLinksProps): SmartSnippetInteractiveInlineLinks;
36
- export {};
@@ -1,5 +1,6 @@
1
1
  import { type CustomAction, type LegacySearchAction } from '../analytics/analytics-utils.js';
2
2
  import type { SearchAction } from '../search/search-actions.js';
3
+ import type { InlineLink } from '../../utils/inline-link.js';
3
4
  export type GeneratedAnswerFeedbackOption = 'yes' | 'unknown' | 'no';
4
5
  export type GeneratedAnswerFeedback = {
5
6
  helpful: boolean;
@@ -16,12 +17,13 @@ export declare function logOpenGeneratedAnswerSource(citationId: string): Custom
16
17
  export declare function logOpenGeneratedAnswerSource(citationId: string, answerId: string): CustomAction;
17
18
  export declare function logHoverCitation(citationId: string, citationHoverTimeInMs: number): CustomAction;
18
19
  export declare function logHoverCitation(citationId: string, citationHoverTimeInMs: number, answerId: string): CustomAction;
20
+ export declare function logGeneratedAnswerOpenInlineLink(inlineLink: InlineLink, answerId: string): CustomAction;
19
21
  export declare function logLikeGeneratedAnswer(): CustomAction;
20
22
  export declare function logLikeGeneratedAnswer(answerId: string): CustomAction;
21
23
  export declare function logDislikeGeneratedAnswer(): CustomAction;
22
24
  export declare function logDislikeGeneratedAnswer(answerId: string): CustomAction;
23
25
  export declare const logGeneratedAnswerFeedback: (feedback: GeneratedAnswerFeedback) => CustomAction;
24
- export declare const logGeneratedAnswerStreamEnd: (answerGenerated: boolean, answerId?: string, answerTextIsEmpty?: boolean, conversationId?: string) => CustomAction;
26
+ export declare const logGeneratedAnswerStreamEnd: (answerGenerated: boolean, answerId?: string, answerTextIsEmpty?: boolean) => CustomAction;
25
27
  export declare const logGeneratedAnswerResponseLinked: (answerId?: string) => CustomAction;
26
28
  export declare const logGeneratedAnswerShowAnswers: () => CustomAction;
27
29
  export declare const logGeneratedAnswerHideAnswers: () => CustomAction;
@@ -34,10 +36,11 @@ export declare const generatedAnswerAnalyticsClient: {
34
36
  logCopyGeneratedAnswer: typeof logCopyGeneratedAnswer;
35
37
  logGeneratedAnswerHideAnswers: () => CustomAction;
36
38
  logGeneratedAnswerShowAnswers: () => CustomAction;
37
- logGeneratedAnswerStreamEnd: (answerGenerated: boolean, answerId?: string, answerTextIsEmpty?: boolean, conversationId?: string) => CustomAction;
39
+ logGeneratedAnswerStreamEnd: (answerGenerated: boolean, answerId?: string, answerTextIsEmpty?: boolean) => CustomAction;
38
40
  logGeneratedAnswerFeedback: (feedback: GeneratedAnswerFeedback) => CustomAction;
39
41
  logDislikeGeneratedAnswer: typeof logDislikeGeneratedAnswer;
40
42
  logLikeGeneratedAnswer: typeof logLikeGeneratedAnswer;
43
+ logGeneratedAnswerOpenInlineLink: typeof logGeneratedAnswerOpenInlineLink;
41
44
  logHoverCitation: typeof logHoverCitation;
42
45
  logOpenGeneratedAnswerSource: typeof logOpenGeneratedAnswerSource;
43
46
  logRetryGeneratedAnswer: () => LegacySearchAction;
@@ -1,6 +1,6 @@
1
1
  import type { GeneratedAnswerStreamRequest } from '../../api/generated-answer/generated-answer-request.js';
2
2
  import type { StreamAnswerAPIState } from '../../api/knowledge/stream-answer-api-state.js';
3
- import type { BaseParam } from '../../api/platform-service-params.js';
3
+ import type { BaseParam, ContextParam } from '../../api/platform-service-params.js';
4
4
  import type { SearchRequest } from '../../api/search/search/search-request.js';
5
5
  import type { AnalyticsParam, AuthenticationParam, AutomaticFacetsParams } from '../../api/search/search-api-params.js';
6
6
  import type { CaseContextParam } from '../../api/service/insight/query/query-request.js';
@@ -24,6 +24,6 @@ type HeadAnswerParams = {
24
24
  pipeline?: string;
25
25
  citationsFieldToInclude?: string[];
26
26
  locale: string;
27
- } & AnalyticsParam;
27
+ } & ContextParam & AnalyticsParam;
28
28
  export declare const constructGenerateHeadAnswerParams: (state: StateNeededForHeadAnswerParams, navigatorContext: NavigatorContext) => HeadAnswerParams;
29
29
  export {};
@@ -4,6 +4,7 @@ import type { FollowUpAnswersSection, GeneratedAnswerSection } from '../../state
4
4
  export declare const generativeQuestionAnsweringIdSelector: (state: Partial<SearchAppState>) => string | undefined;
5
5
  export declare const isGeneratedAnswerFeatureEnabledWithAgentAPI: (state: Partial<SearchAppState>) => state is StreamAnswerAPIState;
6
6
  export declare const selectFieldsToIncludeInCitation: (state: Partial<GeneratedAnswerSection>) => string[] | undefined;
7
+ export declare const selectFollowUpAnswersConversationId: (state: Partial<FollowUpAnswersSection>) => string | undefined;
7
8
  export declare const citationSourceSelector: ((state: Partial<GeneratedAnswerSection & FollowUpAnswersSection>, citationId: string) => import("../../index.js").GeneratedAnswerCitation | undefined) & {
8
9
  clearCache: () => void;
9
10
  resultsCount: () => number;
@@ -67,6 +67,8 @@ export type { GeneratedAnswer, GeneratedAnswerBase, GeneratedAnswerCitation, Gen
67
67
  export { buildGeneratedAnswer } from './controllers/generated-answer/headless-generated-answer.js';
68
68
  export type { InteractiveCitation, InteractiveCitationOptions, InteractiveCitationProps, } from './controllers/generated-answer/headless-interactive-citation.js';
69
69
  export { buildInteractiveCitation } from './controllers/generated-answer/headless-interactive-citation.js';
70
+ export type { InteractiveGeneratedAnswerInlineLink, InteractiveGeneratedAnswerInlineLinkOptions, InteractiveGeneratedAnswerInlineLinkProps, } from './controllers/generated-answer/headless-interactive-generated-answer-inline-link.js';
71
+ export { buildInteractiveGeneratedAnswerInlineLink } from './controllers/generated-answer/headless-interactive-generated-answer-inline-link.js';
70
72
  export type { HistoryManager, HistoryManagerState, } from './controllers/history-manager/headless-history-manager.js';
71
73
  export { buildHistoryManager } from './controllers/history-manager/headless-history-manager.js';
72
74
  export type { InteractiveInstantResult, InteractiveInstantResultOptions, InteractiveInstantResultProps, } from './controllers/instant-results/headless-interactive-instant-result.js';
@@ -0,0 +1,10 @@
1
+ export interface InlineLink {
2
+ /**
3
+ * The text of the inline link.
4
+ */
5
+ linkText: string;
6
+ /**
7
+ * The URL of the inline link.
8
+ */
9
+ linkURL: string;
10
+ }