@coveo/quantic 3.10.0-pre.faaf12d7a7 → 3.10.0

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 (69) hide show
  1. package/force-app/main/default/lwc/quanticCaseAssistInterface/quanticCaseAssistInterface.js +8 -0
  2. package/force-app/main/default/lwc/quanticCategoryFacet/__tests__/quanticCategoryFacet.test.js +108 -1
  3. package/force-app/main/default/lwc/quanticCategoryFacet/quanticCategoryFacet.js +22 -0
  4. package/force-app/main/default/lwc/quanticDateFacet/__tests__/quanticDateFacet.test.js +107 -1
  5. package/force-app/main/default/lwc/quanticDateFacet/quanticDateFacet.js +22 -0
  6. package/force-app/main/default/lwc/quanticFacet/__tests__/quanticFacet.test.js +106 -1
  7. package/force-app/main/default/lwc/quanticFacet/quanticFacet.js +21 -1
  8. package/force-app/main/default/lwc/quanticFeedbackModalQna/__tests__/quanticFeedbackModalQna.test.js +1 -1
  9. package/force-app/main/default/lwc/quanticFeedbackModalQna/quanticFeedbackModalQna.js +1 -1
  10. package/force-app/main/default/lwc/quanticGeneratedAnswer/templates/generatedAnswer.css +0 -1
  11. package/force-app/main/default/lwc/quanticGeneratedAnswerContent/templates/generatedMarkdownContent.css +1 -0
  12. package/force-app/main/default/lwc/quanticInsightInterface/quanticInsightInterface.js +8 -0
  13. package/force-app/main/default/lwc/quanticNumericFacet/__tests__/quanticNumericFacet.test.js +107 -1
  14. package/force-app/main/default/lwc/quanticNumericFacet/quanticNumericFacet.js +22 -0
  15. package/force-app/main/default/lwc/quanticRecommendationInterface/quanticRecommendationInterface.js +8 -0
  16. package/force-app/main/default/lwc/quanticSearchInterface/quanticSearchInterface.js +8 -0
  17. package/force-app/main/default/lwc/quanticTimeframeFacet/__tests__/quanticTimeframeFacet.test.js +107 -1
  18. package/force-app/main/default/lwc/quanticTimeframeFacet/quanticTimeframeFacet.js +22 -0
  19. package/force-app/main/default/staticresources/coveobueno/browser/bueno.js +3 -18
  20. package/force-app/main/default/staticresources/coveoheadless/case-assist/headless.js +9 -6
  21. package/force-app/main/default/staticresources/coveoheadless/definitions/api/commerce/common/request.d.ts +1 -1
  22. package/force-app/main/default/staticresources/coveoheadless/definitions/api/commerce/recommendations/recommendations-request.d.ts +1 -1
  23. package/force-app/main/default/staticresources/coveoheadless/definitions/api/commerce/search/query-suggest/query-suggest-request.d.ts +1 -1
  24. package/force-app/main/default/staticresources/coveoheadless/definitions/api/knowledge/stream-answer-api.d.ts +1 -1
  25. package/force-app/main/default/staticresources/coveoheadless/definitions/api/service/case-assist/get-case-classifications/get-case-classifications-request.d.ts +1 -1
  26. package/force-app/main/default/staticresources/coveoheadless/definitions/api/service/case-assist/get-document-suggestions/get-document-suggestions-request.d.ts +1 -1
  27. package/force-app/main/default/staticresources/coveoheadless/definitions/api/service/insight/get-interface/get-interface-config-request.d.ts +1 -1
  28. package/force-app/main/default/staticresources/coveoheadless/definitions/api/service/insight/query/query-request.d.ts +2 -2
  29. package/force-app/main/default/staticresources/coveoheadless/definitions/api/service/insight/user-actions/user-actions-request.d.ts +1 -1
  30. package/force-app/main/default/staticresources/coveoheadless/definitions/app/commerce-engine/commerce-engine.ssr.d.ts +4 -13
  31. package/force-app/main/default/staticresources/coveoheadless/definitions/app/commerce-ssr-engine/common.d.ts +8 -3
  32. package/force-app/main/default/staticresources/coveoheadless/definitions/app/commerce-ssr-engine/factories/build-factory.d.ts +19 -0
  33. package/force-app/main/default/staticresources/coveoheadless/definitions/app/commerce-ssr-engine/factories/hydrated-state-factory.d.ts +4 -0
  34. package/force-app/main/default/staticresources/coveoheadless/definitions/app/commerce-ssr-engine/factories/recommendation-hydrated-state-factory.d.ts +3 -0
  35. package/force-app/main/default/staticresources/coveoheadless/definitions/app/commerce-ssr-engine/factories/recommendation-static-state-factory.d.ts +3 -0
  36. package/force-app/main/default/staticresources/coveoheadless/definitions/app/commerce-ssr-engine/factories/static-state-factory.d.ts +4 -0
  37. package/force-app/main/default/staticresources/coveoheadless/definitions/app/commerce-ssr-engine/types/build.d.ts +17 -0
  38. package/force-app/main/default/staticresources/coveoheadless/definitions/app/commerce-ssr-engine/types/common.d.ts +20 -6
  39. package/force-app/main/default/staticresources/coveoheadless/definitions/app/commerce-ssr-engine/types/core-engine.d.ts +29 -10
  40. package/force-app/main/default/staticresources/coveoheadless/definitions/app/commerce-ssr-engine/types/fetch-static-state.d.ts +23 -0
  41. package/force-app/main/default/staticresources/coveoheadless/definitions/app/commerce-ssr-engine/types/from-build-result.d.ts +20 -0
  42. package/force-app/main/default/staticresources/coveoheadless/definitions/app/commerce-ssr-engine/types/hydrate-static-state.d.ts +25 -0
  43. package/force-app/main/default/staticresources/coveoheadless/definitions/app/logger.d.ts +1 -1
  44. package/force-app/main/default/staticresources/coveoheadless/definitions/app/navigatorContextProvider.d.ts +17 -0
  45. package/force-app/main/default/staticresources/coveoheadless/definitions/app/ssr-engine/types/from-build-result.d.ts +1 -0
  46. package/force-app/main/default/staticresources/coveoheadless/definitions/controllers/commerce/context/cart/headless-cart.ssr.d.ts +2 -2
  47. package/force-app/main/default/staticresources/coveoheadless/definitions/controllers/commerce/context/headless-context.ssr.d.ts +2 -2
  48. package/force-app/main/default/staticresources/coveoheadless/definitions/controllers/commerce/field-suggestions/headless-field-suggestions-generator.ssr.d.ts +2 -2
  49. package/force-app/main/default/staticresources/coveoheadless/definitions/controllers/commerce/instant-products/headless-instant-products.ssr.d.ts +3 -3
  50. package/force-app/main/default/staticresources/coveoheadless/definitions/controllers/commerce/product-view/headless-product-view.ssr.d.ts +2 -2
  51. package/force-app/main/default/staticresources/coveoheadless/definitions/controllers/commerce/recent-queries-list/headless-recent-queries-list.ssr.d.ts +2 -2
  52. package/force-app/main/default/staticresources/coveoheadless/definitions/controllers/commerce/recommendations/headless-recommendations.ssr.d.ts +9 -3
  53. package/force-app/main/default/staticresources/coveoheadless/definitions/controllers/commerce/standalone-search-box/headless-standalone-search-box.ssr.d.ts +2 -2
  54. package/force-app/main/default/staticresources/coveoheadless/definitions/features/analytics/search-action-cause.d.ts +0 -82
  55. package/force-app/main/default/staticresources/coveoheadless/definitions/features/facets/facet-set/facet-set-analytics-actions.d.ts +0 -1
  56. package/force-app/main/default/staticresources/coveoheadless/definitions/features/history/history-analytics-actions.d.ts +0 -3
  57. package/force-app/main/default/staticresources/coveoheadless/definitions/features/search/legacy/search-request.d.ts +1 -1
  58. package/force-app/main/default/staticresources/coveoheadless/definitions/features/search/search-actions.d.ts +2 -2
  59. package/force-app/main/default/staticresources/coveoheadless/definitions/features/search/search-request.d.ts +1 -1
  60. package/force-app/main/default/staticresources/coveoheadless/definitions/features/static-filter-set/static-filter-set-actions.d.ts +0 -4
  61. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-commerce.index.d.ts +4 -4
  62. package/force-app/main/default/staticresources/coveoheadless/definitions/test/mock-engine-v2.d.ts +1 -1
  63. package/force-app/main/default/staticresources/coveoheadless/definitions/utils/facet-utils.d.ts +1 -1
  64. package/force-app/main/default/staticresources/coveoheadless/definitions/utils/utils.d.ts +4 -0
  65. package/force-app/main/default/staticresources/coveoheadless/headless.js +11 -8
  66. package/force-app/main/default/staticresources/coveoheadless/insight/headless.js +10 -7
  67. package/force-app/main/default/staticresources/coveoheadless/recommendation/headless.js +9 -6
  68. package/force-app/main/default/staticresources/dompurify/purify.min.js +1339 -2
  69. package/package.json +14 -14
@@ -18,10 +18,10 @@ export declare const buildRequest: (req: CommerceAPIRequest, path: CommerceApiMe
18
18
  sort: import("./sort.js").SortOption | undefined;
19
19
  };
20
20
  url: string;
21
- origin: import("../../preprocess-request.js").PlatformClientOrigin;
22
21
  accessToken: string;
23
22
  method: import("../../platform-client.js").HttpMethods;
24
23
  contentType: import("../../platform-client.js").HTTPContentType;
24
+ origin: import("../../preprocess-request.js").PlatformClientOrigin;
25
25
  requestMetadata?: import("../../preprocess-request.js").RequestMetadata | undefined;
26
26
  };
27
27
  export declare const baseRequest: (req: BaseParam, path: CommerceApiMethod) => Pick<PlatformClientCallOptions, 'accessToken' | 'method' | 'contentType' | 'url' | 'origin' | 'requestMetadata'>;
@@ -15,9 +15,9 @@ export declare const buildRecommendationsRequest: (req: CommerceRecommendationsR
15
15
  perPage: number | undefined;
16
16
  };
17
17
  url: string;
18
- origin: import("../../preprocess-request.js").PlatformClientOrigin;
19
18
  accessToken: string;
20
19
  method: import("../../platform-client.js").HttpMethods;
21
20
  contentType: import("../../platform-client.js").HTTPContentType;
21
+ origin: import("../../preprocess-request.js").PlatformClientOrigin;
22
22
  requestMetadata?: import("../../preprocess-request.js").RequestMetadata | undefined;
23
23
  };
@@ -12,9 +12,9 @@ export declare const buildQuerySuggestRequest: (req: QuerySuggestRequest) => {
12
12
  currency: string;
13
13
  };
14
14
  url: string;
15
- origin: import("../../../preprocess-request.js").PlatformClientOrigin;
16
15
  accessToken: string;
17
16
  method: import("../../../platform-client.js").HttpMethods;
18
17
  contentType: import("../../../platform-client.js").HTTPContentType;
18
+ origin: import("../../../preprocess-request.js").PlatformClientOrigin;
19
19
  requestMetadata?: import("../../../preprocess-request.js").RequestMetadata | undefined;
20
20
  };
@@ -70,7 +70,7 @@ export declare const constructAnswerQueryParams: (state: StateNeededByAnswerAPI,
70
70
  } | undefined;
71
71
  enableDidYouMean?: boolean | undefined;
72
72
  fieldsToInclude?: string[] | undefined;
73
- facets?: (import("../../features/facets/facet-set/interfaces/request.js").FacetRequest | import("../../features/facets/category-facet-set/interfaces/request.js").CategoryFacetRequest | import("../../features/facets/range-facets/numeric-facet-set/interfaces/request.js").NumericFacetRequest | import("../../features/facets/range-facets/date-facet-set/interfaces/request.js").DateFacetRequest)[] | undefined;
73
+ facets?: (import("../../features/facets/facet-set/interfaces/request.js").FacetRequest | import("../../features/facets/category-facet-set/interfaces/request.js").CategoryFacetRequest | import("../../features/facets/range-facets/date-facet-set/interfaces/request.js").DateFacetRequest | import("../../features/facets/range-facets/numeric-facet-set/interfaces/request.js").NumericFacetRequest)[] | undefined;
74
74
  pipeline?: string | undefined;
75
75
  searchHub?: string | undefined;
76
76
  q: string | undefined;
@@ -8,8 +8,8 @@ export declare const buildGetCaseClassificationsRequest: (req: GetCaseClassifica
8
8
  fields: import("../case-assist-params.js").CaseFields;
9
9
  };
10
10
  url: string;
11
- origin: import("../../../preprocess-request.js").PlatformClientOrigin;
12
11
  accessToken: string;
13
12
  method: import("../../../platform-client.js").HttpMethods;
14
13
  contentType: import("../../../platform-client.js").HTTPContentType;
14
+ origin: import("../../../preprocess-request.js").PlatformClientOrigin;
15
15
  };
@@ -9,8 +9,8 @@ export declare const buildGetDocumentSuggestionsRequest: (req: GetDocumentSugges
9
9
  context: Record<string, string | string[]> | undefined;
10
10
  };
11
11
  url: string;
12
- origin: import("../../../preprocess-request.js").PlatformClientOrigin;
13
12
  accessToken: string;
14
13
  method: import("../../../platform-client.js").HttpMethods;
15
14
  contentType: import("../../../platform-client.js").HTTPContentType;
15
+ origin: import("../../../preprocess-request.js").PlatformClientOrigin;
16
16
  };
@@ -4,8 +4,8 @@ export type GetInsightInterfaceConfigRequest = BaseParam & InsightIdParam;
4
4
  export declare const buildGetInsightInterfaceConfigRequest: (req: GetInsightInterfaceConfigRequest) => {
5
5
  requestParams: {};
6
6
  url: string;
7
- origin: import("../../../preprocess-request.js").PlatformClientOrigin;
8
7
  accessToken: string;
9
8
  method: import("../../../platform-client.js").HttpMethods;
10
9
  contentType: import("../../../platform-client.js").HTTPContentType;
10
+ origin: import("../../../preprocess-request.js").PlatformClientOrigin;
11
11
  };
@@ -9,17 +9,17 @@ interface CaseContextParam {
9
9
  export declare const buildInsightQueryRequest: (req: InsightQueryRequest) => {
10
10
  requestParams: {};
11
11
  url: string;
12
- origin: import("../../../preprocess-request.js").PlatformClientOrigin;
13
12
  accessToken: string;
14
13
  method: import("../../../platform-client.js").HttpMethods;
15
14
  contentType: import("../../../platform-client.js").HTTPContentType;
15
+ origin: import("../../../preprocess-request.js").PlatformClientOrigin;
16
16
  };
17
17
  export declare const buildInsightQuerySuggestRequest: (req: InsightQuerySuggestRequest) => {
18
18
  requestParams: {};
19
19
  url: string;
20
- origin: import("../../../preprocess-request.js").PlatformClientOrigin;
21
20
  accessToken: string;
22
21
  method: import("../../../platform-client.js").HttpMethods;
23
22
  contentType: import("../../../platform-client.js").HTTPContentType;
23
+ origin: import("../../../preprocess-request.js").PlatformClientOrigin;
24
24
  };
25
25
  export {};
@@ -11,9 +11,9 @@ export declare const buildInsightUserActionsRequest: (req: InsightUserActionsReq
11
11
  objectId: string;
12
12
  };
13
13
  url: string;
14
- origin: import("../../../preprocess-request.js").PlatformClientOrigin;
15
14
  accessToken: string;
16
15
  method: import("../../../platform-client.js").HttpMethods;
17
16
  contentType: import("../../../platform-client.js").HTTPContentType;
17
+ origin: import("../../../preprocess-request.js").PlatformClientOrigin;
18
18
  };
19
19
  export {};
@@ -1,21 +1,11 @@
1
1
  /**
2
2
  * Utility functions to be used for Commerce Server Side Rendering.
3
3
  */
4
- import { Action } from '@reduxjs/toolkit';
5
4
  import type { Controller } from '../../controllers/controller/headless-controller.js';
5
+ import { CommerceEngineDefinitionOptions } from '../commerce-ssr-engine/factories/build-factory.js';
6
6
  import { ControllerDefinitionsMap, SolutionType } from '../commerce-ssr-engine/types/common.js';
7
- import { EngineDefinition, EngineDefinitionOptions } from '../commerce-ssr-engine/types/core-engine.js';
8
- import { CommerceEngine, CommerceEngineOptions } from './commerce-engine.js';
9
- /**
10
- * The SSR commerce engine.
11
- */
12
- export interface SSRCommerceEngine extends CommerceEngine {
13
- /**
14
- * Waits for the search to be completed and returns a promise that resolves to a `SearchCompletedAction`.
15
- */
16
- waitForRequestCompletedAction(): Promise<Action>;
17
- }
18
- export type CommerceEngineDefinitionOptions<TControllers extends ControllerDefinitionsMap<Controller>> = EngineDefinitionOptions<CommerceEngineOptions, TControllers>;
7
+ import { EngineDefinition } from '../commerce-ssr-engine/types/core-engine.js';
8
+ import { CommerceEngineOptions } from './commerce-engine.js';
19
9
  export interface CommerceEngineDefinition<TControllers extends ControllerDefinitionsMap<Controller>, TSolutionType extends SolutionType> extends EngineDefinition<TControllers, CommerceEngineOptions, TSolutionType> {
20
10
  }
21
11
  /**
@@ -28,4 +18,5 @@ export declare function defineCommerceEngine<TControllerDefinitions extends Cont
28
18
  listingEngineDefinition: CommerceEngineDefinition<TControllerDefinitions, SolutionType.listing>;
29
19
  searchEngineDefinition: CommerceEngineDefinition<TControllerDefinitions, SolutionType.search>;
30
20
  standaloneEngineDefinition: CommerceEngineDefinition<TControllerDefinitions, SolutionType.standalone>;
21
+ recommendationEngineDefinition: CommerceEngineDefinition<TControllerDefinitions, SolutionType.recommendation>;
31
22
  };
@@ -1,7 +1,12 @@
1
+ import { UnknownAction } from '@reduxjs/toolkit';
1
2
  import { Controller } from '../../controllers/controller/headless-controller.js';
2
- import { SSRCommerceEngine } from '../commerce-engine/commerce-engine.ssr.js';
3
- import { InferControllerPropsMapFromDefinitions } from '../ssr-engine/types/common.js';
4
- import { ControllerDefinitionOption, ControllerDefinitionsMap, InferControllersMapFromDefinition, SolutionType } from './types/common.js';
3
+ import { ControllersMap, InferControllerStaticStateMapFromControllers } from '../ssr-engine/types/common.js';
4
+ import { SSRCommerceEngine } from './factories/build-factory.js';
5
+ import { ControllerDefinitionOption, ControllerDefinitionsMap, EngineStaticState, InferControllerPropsMapFromDefinitions, InferControllersMapFromDefinition, SolutionType } from './types/common.js';
6
+ export declare function createStaticState<TSearchAction extends UnknownAction>({ searchActions, controllers, }: {
7
+ searchActions: TSearchAction[];
8
+ controllers: ControllersMap;
9
+ }): EngineStaticState<TSearchAction, InferControllerStaticStateMapFromControllers<ControllersMap>>;
5
10
  export declare function buildControllerDefinitions<TControllerDefinitionsMap extends ControllerDefinitionsMap<Controller>, TSolutionType extends SolutionType>({ definitionsMap, engine, solutionType, propsMap, }: {
6
11
  definitionsMap: TControllerDefinitionsMap;
7
12
  engine: SSRCommerceEngine;
@@ -0,0 +1,19 @@
1
+ import { Action } from '@reduxjs/toolkit';
2
+ import { Controller } from '../../../controllers/controller/headless-controller.js';
3
+ import { CommerceEngine, CommerceEngineOptions } from '../../commerce-engine/commerce-engine.js';
4
+ import { ControllerDefinitionsMap, SolutionType } from '../types/common.js';
5
+ import { BuildParameters, CommerceControllerDefinitionsMap, EngineDefinitionOptions } from '../types/core-engine.js';
6
+ /**
7
+ * The SSR commerce engine.
8
+ */
9
+ export interface SSRCommerceEngine extends CommerceEngine {
10
+ /**
11
+ * Waits for the request to be completed and returns a promise that resolves to an `Action`.
12
+ */
13
+ waitForRequestCompletedAction(): Promise<Action>[];
14
+ }
15
+ export type CommerceEngineDefinitionOptions<TControllers extends ControllerDefinitionsMap<Controller> = ControllerDefinitionsMap<Controller>> = EngineDefinitionOptions<CommerceEngineOptions, TControllers>;
16
+ export declare const buildFactory: <TControllerDefinitions extends CommerceControllerDefinitionsMap>(controllerDefinitions: TControllerDefinitions | undefined, options: CommerceEngineDefinitionOptions<TControllerDefinitions>) => <T extends SolutionType>(solutionType: T) => (...[buildOptions]: BuildParameters<TControllerDefinitions>) => Promise<{
17
+ engine: SSRCommerceEngine;
18
+ controllers: import("../types/common.js").InferControllersMapFromDefinition<TControllerDefinitions, T>;
19
+ }>;
@@ -0,0 +1,4 @@
1
+ import { SolutionType } from '../types/common.js';
2
+ import { HydrateStaticStateFunction, CommerceControllerDefinitionsMap } from '../types/core-engine.js';
3
+ import { CommerceEngineDefinitionOptions } from './build-factory.js';
4
+ export declare const hydratedStaticStateFactory: <TControllerDefinitions extends CommerceControllerDefinitionsMap>(controllerDefinitions: TControllerDefinitions | undefined, options: CommerceEngineDefinitionOptions<TControllerDefinitions>) => (solutionType: SolutionType) => HydrateStaticStateFunction<TControllerDefinitions>;
@@ -0,0 +1,3 @@
1
+ import { HydrateStaticStateFunction, CommerceControllerDefinitionsMap } from '../types/core-engine.js';
2
+ import { CommerceEngineDefinitionOptions } from './build-factory.js';
3
+ export declare function hydratedRecommendationStaticStateFactory<TControllerDefinitions extends CommerceControllerDefinitionsMap>(controllerDefinitions: TControllerDefinitions | undefined, options: CommerceEngineDefinitionOptions<TControllerDefinitions>): HydrateStaticStateFunction<TControllerDefinitions>;
@@ -0,0 +1,3 @@
1
+ import { FetchStaticStateFunction, CommerceControllerDefinitionsMap } from '../types/core-engine.js';
2
+ import { CommerceEngineDefinitionOptions } from './build-factory.js';
3
+ export declare function fetchRecommendationStaticStateFactory<TControllerDefinitions extends CommerceControllerDefinitionsMap>(controllerDefinitions: TControllerDefinitions | undefined, options: CommerceEngineDefinitionOptions<TControllerDefinitions>): FetchStaticStateFunction<TControllerDefinitions>;
@@ -0,0 +1,4 @@
1
+ import { SolutionType } from '../types/common.js';
2
+ import { FetchStaticStateFunction, CommerceControllerDefinitionsMap } from '../types/core-engine.js';
3
+ import { CommerceEngineDefinitionOptions } from './build-factory.js';
4
+ export declare const fetchStaticStateFactory: <TControllerDefinitions extends CommerceControllerDefinitionsMap>(controllerDefinitions: TControllerDefinitions | undefined, options: CommerceEngineDefinitionOptions<TControllerDefinitions>) => (solutionType: SolutionType) => FetchStaticStateFunction<TControllerDefinitions>;
@@ -0,0 +1,17 @@
1
+ import type { ControllersMap, ControllersPropsMap, EngineDefinitionBuildResult, OptionsExtender, OptionsTuple } from '../../ssr-engine/types/common.js';
2
+ import { SSRCommerceEngine } from '../factories/build-factory.js';
3
+ import { EngineDefinitionControllersPropsOption, SolutionType } from './common.js';
4
+ export interface BuildOptions<TEngineOptions> {
5
+ extend?: OptionsExtender<TEngineOptions>;
6
+ }
7
+ export type Build<TEngineOptions, TControllersMap extends ControllersMap, TControllersProps extends ControllersPropsMap, TSolutionType extends SolutionType> = TSolutionType extends SolutionType.recommendation ? {
8
+ /**
9
+ * Initializes an engine and controllers from the definition.
10
+ */
11
+ (controllers: (keyof TControllersMap)[]): Promise<EngineDefinitionBuildResult<SSRCommerceEngine, TControllersMap>>;
12
+ } : {
13
+ /**
14
+ * Initializes an engine and controllers from the definition.
15
+ */
16
+ (...params: OptionsTuple<BuildOptions<TEngineOptions> & EngineDefinitionControllersPropsOption<TControllersProps>>): Promise<EngineDefinitionBuildResult<SSRCommerceEngine, TControllersMap>>;
17
+ };
@@ -1,12 +1,14 @@
1
+ import { UnknownAction } from '@reduxjs/toolkit';
1
2
  import type { Controller } from '../../../controllers/controller/headless-controller.js';
2
3
  import type { InvalidControllerDefinition } from '../../../utils/errors.js';
3
- import { SSRCommerceEngine } from '../../commerce-engine/commerce-engine.ssr.js';
4
- import type { HasKey, InferControllerStaticStateMapFromControllers, InferControllerStaticStateFromController, InferControllerPropsMapFromDefinitions } from '../../ssr-engine/types/common.js';
5
- export type { InferControllerStaticStateFromController, InferControllerStaticStateMapFromControllers, InferControllerPropsMapFromDefinitions, };
4
+ import type { HasKey, InferControllerStaticStateMapFromControllers, InferControllerStaticStateFromController, InferControllerPropsMapFromDefinitions, ControllerStaticStateMap, EngineDefinitionBuildResult, EngineDefinitionControllersPropsOption, HydratedState, OptionsTuple } from '../../ssr-engine/types/common.js';
5
+ import { SSRCommerceEngine } from '../factories/build-factory.js';
6
+ export type { EngineDefinitionBuildResult, EngineDefinitionControllersPropsOption, HydratedState, OptionsTuple, InferControllerStaticStateFromController, InferControllerStaticStateMapFromControllers, InferControllerPropsMapFromDefinitions, };
6
7
  export declare enum SolutionType {
7
8
  search = "search",
8
9
  listing = "listing",
9
- standalone = "standalone"
10
+ standalone = "standalone",
11
+ recommendation = "recommendation"
10
12
  }
11
13
  export interface ControllerDefinitionWithoutProps<TController extends Controller> {
12
14
  /**
@@ -29,6 +31,10 @@ export interface ControllerDefinitionWithProps<TController extends Controller, T
29
31
  */
30
32
  buildWithProps(engine: SSRCommerceEngine, props: TProps, solutionType?: SolutionType): TController;
31
33
  }
34
+ export interface EngineStaticState<TSearchAction extends UnknownAction, TControllers extends ControllerStaticStateMap> {
35
+ searchActions: TSearchAction[];
36
+ controllers: TControllers;
37
+ }
32
38
  export type ControllerDefinition<TController extends Controller> = ControllerDefinitionWithoutProps<TController> | ControllerDefinitionWithProps<TController, unknown>;
33
39
  export interface ControllerDefinitionsMap<TController extends Controller> {
34
40
  [customName: string]: ControllerDefinition<TController>;
@@ -79,6 +85,12 @@ interface ListingOnlyController {
79
85
  */
80
86
  [SolutionType.listing]: true;
81
87
  }
88
+ interface RecommendationOnlyController {
89
+ /**
90
+ * @internal
91
+ */
92
+ [SolutionType.recommendation]: true;
93
+ }
82
94
  interface SearchAndListingController {
83
95
  /**
84
96
  * @internal
@@ -93,8 +105,10 @@ export type SearchOnlyControllerDefinitionWithoutProps<TController extends Contr
93
105
  export type SearchOnlyControllerDefinitionWithProps<TController extends Controller, TProps> = ControllerDefinitionWithProps<TController, TProps> & SearchOnlyController;
94
106
  export type ListingOnlyControllerDefinitionWithoutProps<TController extends Controller> = ControllerDefinitionWithoutProps<TController> & ListingOnlyController;
95
107
  export type ListingOnlyControllerDefinitionWithProps<TController extends Controller, TProps> = ControllerDefinitionWithProps<TController, TProps> & ListingOnlyController;
96
- export type UniversalControllerDefinitionWithoutProps<TController extends Controller> = ControllerDefinitionWithoutProps<TController> & UniversalController;
97
- export type UniversalControllerDefinitionWithProps<TController extends Controller, TProps> = ControllerDefinitionWithProps<TController, TProps> & UniversalController;
108
+ export type RecommendationOnlyControllerDefinitionWithoutProps<TController extends Controller> = ControllerDefinitionWithoutProps<TController> & RecommendationOnlyController;
109
+ export type RecommendationOnlyControllerDefinitionWithProps<TController extends Controller, TProps> = ControllerDefinitionWithProps<TController, TProps> & RecommendationOnlyController;
110
+ export type NonRecommendationControllerDefinitionWithoutProps<TController extends Controller> = ControllerDefinitionWithoutProps<TController> & UniversalController;
111
+ export type NonRecommendationControllerDefinitionWithProps<TController extends Controller, TProps> = ControllerDefinitionWithProps<TController, TProps> & UniversalController;
98
112
  export type SearchAndListingControllerDefinitionWithoutProps<TController extends Controller> = ControllerDefinitionWithoutProps<TController> & SearchAndListingController;
99
113
  export type SearchAndListingControllerDefinitionWithProps<TController extends Controller, TProps> = ControllerDefinitionWithProps<TController, TProps> & SearchAndListingController;
100
114
  export type SubControllerDefinitionWithoutProps<TController extends Controller, TDefinition extends ControllerDefinitionOption | undefined> = TDefinition extends {
@@ -1,14 +1,16 @@
1
1
  import { UnknownAction } from '@reduxjs/toolkit';
2
2
  import type { Controller } from '../../../controllers/controller/headless-controller.js';
3
- import { SSRCommerceEngine } from '../../commerce-engine/commerce-engine.ssr.js';
3
+ import { CommerceEngineDefinition } from '../../commerce-engine/commerce-engine.ssr.js';
4
4
  import { EngineConfiguration } from '../../engine-configuration.js';
5
5
  import { NavigatorContextProvider } from '../../navigatorContextProvider.js';
6
- import { Build } from '../../ssr-engine/types/build.js';
7
- import { InferControllerPropsMapFromDefinitions } from '../../ssr-engine/types/common.js';
8
- import { FetchStaticState } from '../../ssr-engine/types/fetch-static-state.js';
9
- import { HydrateStaticState } from '../../ssr-engine/types/hydrate-static-state.js';
10
- import { ControllerDefinitionsMap, InferControllersMapFromDefinition, SolutionType, InferControllerStaticStateMapFromDefinitionsWithSolutionType } from './common.js';
11
- export type { HydrateStaticState, FetchStaticState };
6
+ import type { FromBuildResultOptions } from '../../ssr-engine/types/from-build-result.js';
7
+ import { SSRCommerceEngine } from '../factories/build-factory.js';
8
+ import { Build, BuildOptions } from './build.js';
9
+ import { ControllerDefinitionsMap, InferControllersMapFromDefinition, SolutionType, InferControllerStaticStateMapFromDefinitionsWithSolutionType, InferControllerPropsMapFromDefinitions } from './common.js';
10
+ import { FetchStaticState, FetchStaticStateOptions } from './fetch-static-state.js';
11
+ import { FromBuildResult } from './from-build-result.js';
12
+ import { HydrateStaticState, HydrateStaticStateOptions } from './hydrate-static-state.js';
13
+ export type { FromBuildResult, FromBuildResultOptions, HydrateStaticState, HydrateStaticStateOptions, FetchStaticState, FetchStaticStateOptions, Build, BuildOptions, };
12
14
  export type EngineDefinitionOptions<TOptions extends {
13
15
  configuration: EngineConfiguration;
14
16
  }, TControllers extends ControllerDefinitionsMap<Controller>> = TOptions & {
@@ -21,15 +23,15 @@ export interface EngineDefinition<TControllers extends ControllerDefinitionsMap<
21
23
  /**
22
24
  * Fetches the static state on the server side using your engine definition.
23
25
  */
24
- fetchStaticState: FetchStaticState<SSRCommerceEngine, InferControllersMapFromDefinition<TControllers, TSolutionType>, UnknownAction, InferControllerStaticStateMapFromDefinitionsWithSolutionType<TControllers, TSolutionType>, InferControllerPropsMapFromDefinitions<TControllers>>;
26
+ fetchStaticState: FetchStaticState<InferControllersMapFromDefinition<TControllers, TSolutionType>, UnknownAction, InferControllerStaticStateMapFromDefinitionsWithSolutionType<TControllers, TSolutionType>, InferControllerPropsMapFromDefinitions<TControllers>, TSolutionType>;
25
27
  /**
26
28
  * Fetches the hydrated state on the client side using your engine definition and the static state.
27
29
  */
28
- hydrateStaticState: HydrateStaticState<SSRCommerceEngine, InferControllersMapFromDefinition<TControllers, TSolutionType>, UnknownAction, InferControllerPropsMapFromDefinitions<TControllers>>;
30
+ hydrateStaticState: HydrateStaticState<InferControllersMapFromDefinition<TControllers, TSolutionType>, UnknownAction, InferControllerPropsMapFromDefinitions<TControllers>, TSolutionType>;
29
31
  /**
30
32
  * Builds an engine and its controllers from an engine definition.
31
33
  */
32
- build: Build<SSRCommerceEngine, TEngineOptions, InferControllersMapFromDefinition<TControllers, TSolutionType>, InferControllerPropsMapFromDefinitions<TControllers>>;
34
+ build: Build<TEngineOptions, InferControllersMapFromDefinition<TControllers, TSolutionType>, InferControllerPropsMapFromDefinitions<TControllers>, TSolutionType>;
33
35
  /**
34
36
  * Sets the navigator context provider.
35
37
  * This provider is essential for retrieving navigation-related data such as referrer, userAgent, location, and clientId, which are crucial for handling both server-side and client-side API requests effectively.
@@ -47,3 +49,20 @@ export type InferHydratedState<T extends {
47
49
  export type InferBuildResult<T extends {
48
50
  build(...args: unknown[]): Promise<unknown>;
49
51
  }> = Awaited<ReturnType<T['build']>>;
52
+ export type CommerceControllerDefinitionsMap = ControllerDefinitionsMap<Controller>;
53
+ type Definition<TControllerDefinitions extends CommerceControllerDefinitionsMap> = CommerceEngineDefinition<TControllerDefinitions, SolutionType>;
54
+ export type BuildFunction<TControllerDefinitions extends CommerceControllerDefinitionsMap> = Definition<TControllerDefinitions>['build'];
55
+ export type FetchStaticStateFunction<TControllerDefinitions extends CommerceControllerDefinitionsMap> = Definition<TControllerDefinitions>['fetchStaticState'];
56
+ export type HydrateStaticStateFunction<TControllerDefinitions extends CommerceControllerDefinitionsMap> = Definition<TControllerDefinitions>['hydrateStaticState'];
57
+ export type FetchStaticStateFromBuildResultFunction<TControllerDefinitions extends CommerceControllerDefinitionsMap> = FetchStaticStateFunction<TControllerDefinitions>['fromBuildResult'];
58
+ export type HydrateStaticStateFromBuildResultFunction<TControllerDefinitions extends CommerceControllerDefinitionsMap> = HydrateStaticStateFunction<TControllerDefinitions>['fromBuildResult'];
59
+ export type BuildParameters<TControllerDefinitions extends CommerceControllerDefinitionsMap> = Parameters<BuildFunction<TControllerDefinitions>>;
60
+ export type FetchStaticStateParameters<TControllerDefinitions extends CommerceControllerDefinitionsMap> = Parameters<FetchStaticStateFunction<TControllerDefinitions>>;
61
+ export type HydrateStaticStateParameters<TControllerDefinitions extends CommerceControllerDefinitionsMap> = Parameters<HydrateStaticStateFunction<TControllerDefinitions>>;
62
+ export type FetchStaticStateFromBuildResultParameters<TControllerDefinitions extends CommerceControllerDefinitionsMap> = Parameters<FetchStaticStateFromBuildResultFunction<TControllerDefinitions>>;
63
+ export type HydrateStaticStateFromBuildResultParameters<TControllerDefinitions extends CommerceControllerDefinitionsMap> = Parameters<HydrateStaticStateFromBuildResultFunction<TControllerDefinitions>>;
64
+ export type Controllers<TControllerDefinitions extends CommerceControllerDefinitionsMap> = InferControllersMapFromDefinition<TControllerDefinitions, SolutionType>;
65
+ export type BuildResult<TControllerDefinitions extends CommerceControllerDefinitionsMap> = {
66
+ engine: SSRCommerceEngine;
67
+ controllers: Controllers<TControllerDefinitions>;
68
+ };
@@ -0,0 +1,23 @@
1
+ import type { UnknownAction } from '@reduxjs/toolkit';
2
+ import { SolutionType } from '../../commerce-ssr-engine/types/common.js';
3
+ import type { EngineDefinitionControllersPropsOption, EngineStaticState } from '../../commerce-ssr-engine/types/common.js';
4
+ import type { ControllersMap, ControllersPropsMap, ControllerStaticStateMap, OptionsTuple } from '../../ssr-engine/types/common.js';
5
+ import { FromBuildResult } from './from-build-result.js';
6
+ export type FetchStaticStateOptions = {};
7
+ export type FetchStaticState<TControllers extends ControllersMap, TSearchAction extends UnknownAction, TControllersStaticState extends ControllerStaticStateMap, TControllersProps extends ControllersPropsMap, TSolutionType extends SolutionType> = TSolutionType extends SolutionType.recommendation ? {
8
+ /**
9
+ * Executes only the initial search for a given configuration, then returns a resumable snapshot of engine state along with the state of the controllers.
10
+ *
11
+ * Useful for static generation and server-side rendering.
12
+ */
13
+ (controllers: Array<keyof TControllers>): Promise<EngineStaticState<TSearchAction, TControllersStaticState>>;
14
+ fromBuildResult: FromBuildResult<TControllers, FetchStaticStateOptions, EngineStaticState<TSearchAction, TControllersStaticState>>;
15
+ } : {
16
+ /**
17
+ * Executes only the initial search for a given configuration, then returns a resumable snapshot of engine state along with the state of the controllers.
18
+ *
19
+ * Useful for static generation and server-side rendering.
20
+ */
21
+ (...params: OptionsTuple<FetchStaticStateOptions & EngineDefinitionControllersPropsOption<TControllersProps>>): Promise<EngineStaticState<TSearchAction, TControllersStaticState>>;
22
+ fromBuildResult: FromBuildResult<TControllers, FetchStaticStateOptions, EngineStaticState<TSearchAction, TControllersStaticState>>;
23
+ };
@@ -0,0 +1,20 @@
1
+ import { ControllersMap } from '../../ssr-engine/types/common.js';
2
+ import { SSRCommerceEngine } from '../factories/build-factory.js';
3
+ import { EngineDefinitionBuildResult } from './common.js';
4
+ export interface FromBuildResultOptions<TControllers extends ControllersMap> {
5
+ /**
6
+ * The build result of the engine
7
+ */
8
+ buildResult: EngineDefinitionBuildResult<SSRCommerceEngine, TControllers>;
9
+ /**
10
+ * An optional array of keys representing the recommendation controllers to refresh.
11
+ * If a recommendation key defined in your engine definition is present in this list, the associate recommendation controller
12
+ * will query the API.
13
+ *
14
+ * This is applicable only if the engine is a recommendation engine.
15
+ */
16
+ allowedRecommendationKeys?: (keyof TControllers)[];
17
+ }
18
+ export interface FromBuildResult<TControllers extends ControllersMap, TOptions, TReturn> {
19
+ (options: FromBuildResultOptions<TControllers> & TOptions): Promise<TReturn>;
20
+ }
@@ -0,0 +1,25 @@
1
+ import type { UnknownAction } from '@reduxjs/toolkit';
2
+ import type { ControllersMap, ControllersPropsMap, HydratedState, OptionsTuple } from '../../ssr-engine/types/common.js';
3
+ import { SSRCommerceEngine } from '../factories/build-factory.js';
4
+ import { EngineDefinitionControllersPropsOption, SolutionType } from './common.js';
5
+ import { FromBuildResult } from './from-build-result.js';
6
+ export interface HydrateStaticStateOptions<TSearchAction> {
7
+ searchActions: TSearchAction[];
8
+ }
9
+ export type HydrateStaticState<TControllers extends ControllersMap, TSearchAction extends UnknownAction, TControllersProps extends ControllersPropsMap, TSolutionType extends SolutionType> = TSolutionType extends SolutionType.recommendation ? {
10
+ /**
11
+ * Creates a new engine from the snapshot of the engine created in SSR with fetchStaticState.
12
+ *
13
+ * Useful when hydrating a server-side-rendered engine.
14
+ */
15
+ (...params: OptionsTuple<HydrateStaticStateOptions<TSearchAction>>): Promise<HydratedState<SSRCommerceEngine, TControllers>>;
16
+ fromBuildResult: FromBuildResult<TControllers, HydrateStaticStateOptions<TSearchAction>, HydratedState<SSRCommerceEngine, TControllers>>;
17
+ } : {
18
+ /**
19
+ * Creates a new engine from the snapshot of the engine created in SSR with fetchStaticState.
20
+ *
21
+ * Useful when hydrating a server-side-rendered engine.
22
+ */
23
+ (...params: OptionsTuple<HydrateStaticStateOptions<TSearchAction> & EngineDefinitionControllersPropsOption<TControllersProps>>): Promise<HydratedState<SSRCommerceEngine, TControllers>>;
24
+ fromBuildResult: FromBuildResult<TControllers, HydrateStaticStateOptions<TSearchAction>, HydratedState<SSRCommerceEngine, TControllers>>;
25
+ };
@@ -11,4 +11,4 @@ export interface LoggerOptions {
11
11
  */
12
12
  logFormatter?: (object: {}) => {};
13
13
  }
14
- export declare function buildLogger(options: LoggerOptions | undefined): import("pino").Logger<never>;
14
+ export declare function buildLogger(options: LoggerOptions | undefined): import("pino").Logger<never, boolean>;
@@ -1,7 +1,24 @@
1
+ /**
2
+ * The `NavigatorContext` interface represents the context of the browser client.
3
+ */
1
4
  export interface NavigatorContext {
5
+ /**
6
+ * The URL of the page that referred the user to the current page.
7
+ * See [Referer](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referer)
8
+ */
2
9
  referrer: string | null;
10
+ /**
11
+ * The user agent string of the browser that made the request.
12
+ * See [User-Agent](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent)
13
+ */
3
14
  userAgent: string | null;
15
+ /**
16
+ * The URL of the current page.
17
+ */
4
18
  location: string | null;
19
+ /** The unique identifier of the browser client in a Coveo-powered page.
20
+ * See [clientId](https://docs.coveo.com/en/masb0234).
21
+ */
5
22
  clientId: string;
6
23
  }
7
24
  export type NavigatorContextProvider = () => NavigatorContext;
@@ -2,6 +2,7 @@ import { CoreEngine, CoreEngineNext } from '../../engine.js';
2
2
  import { ControllersMap, EngineDefinitionBuildResult } from './common.js';
3
3
  export interface FromBuildResultOptions<TEngine extends CoreEngine | CoreEngineNext, TControllers extends ControllersMap> {
4
4
  buildResult: EngineDefinitionBuildResult<TEngine, TControllers>;
5
+ allowedRecommendationKeys?: (keyof TControllers)[];
5
6
  }
6
7
  export interface FromBuildResult<TEngine extends CoreEngine | CoreEngineNext, TControllers extends ControllersMap, TOptions, TReturn> {
7
8
  (options: FromBuildResultOptions<TEngine, TControllers> & TOptions): Promise<TReturn>;
@@ -1,11 +1,11 @@
1
- import { UniversalControllerDefinitionWithProps } from '../../../../app/commerce-ssr-engine/types/common.js';
1
+ import { NonRecommendationControllerDefinitionWithProps } from '../../../../app/commerce-ssr-engine/types/common.js';
2
2
  import { Cart, CartInitialState } from './headless-cart.js';
3
3
  export type { CartState, CartItem, CartProps } from './headless-cart.js';
4
4
  export type { Cart, CartInitialState };
5
5
  export interface CartBuildProps {
6
6
  initialState: CartInitialState;
7
7
  }
8
- export interface CartDefinition extends UniversalControllerDefinitionWithProps<Cart, CartBuildProps> {
8
+ export interface CartDefinition extends NonRecommendationControllerDefinitionWithProps<Cart, CartBuildProps> {
9
9
  }
10
10
  /**
11
11
  * Defines a `Cart` controller instance.
@@ -1,8 +1,8 @@
1
- import { UniversalControllerDefinitionWithProps } from '../../../app/commerce-ssr-engine/types/common.js';
1
+ import { NonRecommendationControllerDefinitionWithProps } from '../../../app/commerce-ssr-engine/types/common.js';
2
2
  import { Context, ContextOptions, View, UserLocation } from './headless-context.js';
3
3
  export type { ContextState, Context, ContextProps } from './headless-context.js';
4
4
  export type { View, UserLocation, ContextOptions };
5
- export interface ContextDefinition extends UniversalControllerDefinitionWithProps<Context, ContextOptions> {
5
+ export interface ContextDefinition extends NonRecommendationControllerDefinitionWithProps<Context, ContextOptions> {
6
6
  }
7
7
  /**
8
8
  * Defines a `Context` controller instance.
@@ -1,11 +1,11 @@
1
- import { UniversalControllerDefinitionWithoutProps } from '../../../app/commerce-ssr-engine/types/common.js';
1
+ import { NonRecommendationControllerDefinitionWithoutProps } from '../../../app/commerce-ssr-engine/types/common.js';
2
2
  import { FieldSuggestionsGenerator } from './headless-field-suggestions-generator.js';
3
3
  export type { FieldSuggestions, FieldSuggestionsState, } from '../field-suggestions/headless-field-suggestions.js';
4
4
  export type { CategoryFieldSuggestions, CategoryFieldSuggestionsState, } from '../field-suggestions/headless-category-field-suggestions.js';
5
5
  export type { FieldSuggestionsFacet } from '../../../features/commerce/facets/field-suggestions-order/field-suggestions-order-state.js';
6
6
  export type { GeneratedFieldSuggestionsControllers } from './headless-field-suggestions-generator.js';
7
7
  export type { FieldSuggestionsGenerator };
8
- export interface FieldSuggestionsGeneratorDefinition extends UniversalControllerDefinitionWithoutProps<FieldSuggestionsGenerator> {
8
+ export interface FieldSuggestionsGeneratorDefinition extends NonRecommendationControllerDefinitionWithoutProps<FieldSuggestionsGenerator> {
9
9
  }
10
10
  /**
11
11
  * Defines the `FieldSuggestionsGenerator` controller for the purpose of server-side rendering.
@@ -1,8 +1,8 @@
1
- import { SearchAndListingControllerDefinitionWithoutProps } from '../../../app/commerce-ssr-engine/types/common.js';
1
+ import { NonRecommendationControllerDefinitionWithoutProps } from '../../../app/commerce-ssr-engine/types/common.js';
2
2
  import { InstantProducts, InstantProductsProps } from './headless-instant-products.js';
3
3
  export type { InstantProductsOptions, InstantProductsState, } from './headless-instant-products.js';
4
4
  export type { InstantProducts, InstantProductsProps };
5
- export interface InstantProductsDefinition extends SearchAndListingControllerDefinitionWithoutProps<InstantProducts> {
5
+ export interface InstantProductsDefinition extends NonRecommendationControllerDefinitionWithoutProps<InstantProducts> {
6
6
  }
7
7
  /**
8
8
  * Defines the `InstantProducts` controller for the purpose of server-side rendering.
@@ -12,4 +12,4 @@ export interface InstantProductsDefinition extends SearchAndListingControllerDef
12
12
  *
13
13
  * @internal
14
14
  */
15
- export declare function defineInstantProducts(props: InstantProductsProps): InstantProductsDefinition;
15
+ export declare function defineInstantProducts(props?: InstantProductsProps): InstantProductsDefinition;
@@ -1,7 +1,7 @@
1
- import { UniversalControllerDefinitionWithoutProps } from '../../../app/commerce-ssr-engine/types/common.js';
1
+ import { NonRecommendationControllerDefinitionWithoutProps } from '../../../app/commerce-ssr-engine/types/common.js';
2
2
  import { Controller } from '../../controller/headless-controller.js';
3
3
  import { ProductView as BaseProductView } from './headless-product-view.js';
4
- export interface ProductViewDefinition extends UniversalControllerDefinitionWithoutProps<ProductView> {
4
+ export interface ProductViewDefinition extends NonRecommendationControllerDefinitionWithoutProps<ProductView> {
5
5
  }
6
6
  /**
7
7
  * Defines a `ProductView` controller instance.
@@ -1,8 +1,8 @@
1
- import { SearchAndListingControllerDefinitionWithoutProps } from '../../../app/commerce-ssr-engine/types/common.js';
1
+ import { NonRecommendationControllerDefinitionWithoutProps } from '../../../app/commerce-ssr-engine/types/common.js';
2
2
  import { RecentQueriesList, RecentQueriesListProps } from './headless-recent-queries-list.js';
3
3
  export type { RecentQueriesState, RecentQueriesListInitialState, RecentQueriesListOptions, } from './headless-recent-queries-list.js';
4
4
  export type { RecentQueriesList, RecentQueriesListProps };
5
- export interface RecentQueriesListDefinition extends SearchAndListingControllerDefinitionWithoutProps<RecentQueriesList> {
5
+ export interface RecentQueriesListDefinition extends NonRecommendationControllerDefinitionWithoutProps<RecentQueriesList> {
6
6
  }
7
7
  /**
8
8
  * Defines the `RecentQueriesList` controller for the purpose of server-side rendering.
@@ -1,8 +1,14 @@
1
- import { UniversalControllerDefinitionWithoutProps } from '../../../app/commerce-ssr-engine/types/common.js';
1
+ import { RecommendationOnlyControllerDefinitionWithoutProps } from '../../../app/commerce-ssr-engine/types/common.js';
2
2
  import { RecommendationsState } from '../recommendations/headless-recommendations.js';
3
3
  import { RecommendationsProps, Recommendations } from './headless-recommendations.js';
4
4
  export type { Recommendations, RecommendationsState };
5
- export interface RecommendationsDefinition extends UniversalControllerDefinitionWithoutProps<Recommendations> {
5
+ /**
6
+ * @internal
7
+ * */
8
+ export type RecommendationsDefinitionMeta = {
9
+ options: {} & RecommendationsProps['options'];
10
+ };
11
+ export interface RecommendationsDefinition extends RecommendationOnlyControllerDefinitionWithoutProps<Recommendations> {
6
12
  }
7
13
  /**
8
14
  * @internal
@@ -12,4 +18,4 @@ export interface RecommendationsDefinition extends UniversalControllerDefinition
12
18
  * @param props - The configurable `Recommendations` properties.
13
19
  * @returns The `Recommendations` controller definition.
14
20
  * */
15
- export declare function defineRecommendations(props: RecommendationsProps): RecommendationsDefinition;
21
+ export declare function defineRecommendations(props: RecommendationsProps): RecommendationsDefinition & RecommendationsDefinitionMeta;
@@ -1,10 +1,10 @@
1
- import { UniversalControllerDefinitionWithoutProps } from '../../../app/commerce-ssr-engine/types/common.js';
1
+ import { NonRecommendationControllerDefinitionWithoutProps } from '../../../app/commerce-ssr-engine/types/common.js';
2
2
  import { StandaloneSearchBoxProps } from '../../standalone-search-box/headless-standalone-search-box.js';
3
3
  import { StandaloneSearchBox } from './headless-standalone-search-box.js';
4
4
  export type { StandaloneSearchBoxOptions } from './headless-standalone-search-box-options.js';
5
5
  export type { StandaloneSearchBoxState } from './headless-standalone-search-box.js';
6
6
  export type { StandaloneSearchBox, StandaloneSearchBoxProps };
7
- export interface StandaloneSearchBoxDefinition extends UniversalControllerDefinitionWithoutProps<StandaloneSearchBox> {
7
+ export interface StandaloneSearchBoxDefinition extends NonRecommendationControllerDefinitionWithoutProps<StandaloneSearchBox> {
8
8
  }
9
9
  /**
10
10
  * Defines the `StandaloneSearchBox` controller for the purpose of server-side rendering.