@coveo/quantic 3.33.1 → 3.33.3

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/quanticSearchBoxSuggestionsList/e2e/quanticSearchBoxSuggestionsList.e2e.ts +0 -17
  2. package/force-app/main/default/staticresources/coveoheadless/case-assist/headless.js +8 -8
  3. package/force-app/main/default/staticresources/coveoheadless/definitions/features/generated-answer/generated-answer-analytics-actions.d.ts +1 -0
  4. package/force-app/main/default/staticresources/coveoheadless/definitions/features/generated-answer/generated-answer-insight-analytics-actions.d.ts +1 -0
  5. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/commerce/types/controller-definitions.d.ts +1 -1
  6. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/search/controller-utils.d.ts +6 -4
  7. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/search/engine/search-engine.ssr.d.ts +13 -25
  8. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/search/factories/build-factory.d.ts +8 -0
  9. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/search/factories/hydrated-state-factory.d.ts +5 -0
  10. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/search/factories/static-state-factory.d.ts +3 -0
  11. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/search/types/build.d.ts +16 -7
  12. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/search/types/controller-definition.d.ts +19 -0
  13. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/search/types/engine.d.ts +26 -8
  14. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/search/types/fetch-static-state.d.ts +2 -1
  15. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/search/utils/controller-wiring.d.ts +21 -0
  16. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/search/utils/engine-wiring.d.ts +4 -0
  17. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next.index.d.ts +1 -1
  18. package/force-app/main/default/staticresources/coveoheadless/definitions/test/mock-ssr-controller-definitions.d.ts +12 -0
  19. package/force-app/main/default/staticresources/coveoheadless/headless.js +10 -10
  20. package/force-app/main/default/staticresources/coveoheadless/insight/headless.js +9 -9
  21. package/force-app/main/default/staticresources/coveoheadless/recommendation/headless.js +7 -7
  22. package/package.json +3 -3
@@ -18,6 +18,7 @@ export declare const logLikeGeneratedAnswer: () => CustomAction;
18
18
  export declare const logDislikeGeneratedAnswer: () => CustomAction;
19
19
  export declare const logGeneratedAnswerFeedback: (feedback: GeneratedAnswerFeedback) => CustomAction;
20
20
  export declare const logGeneratedAnswerStreamEnd: (answerGenerated: boolean) => CustomAction;
21
+ export declare const logGeneratedAnswerResponseLinked: () => CustomAction;
21
22
  export declare const logGeneratedAnswerShowAnswers: () => CustomAction;
22
23
  export declare const logGeneratedAnswerHideAnswers: () => CustomAction;
23
24
  export declare const logGeneratedAnswerExpand: () => CustomAction;
@@ -7,6 +7,7 @@ export declare const logLikeGeneratedAnswer: () => InsightAction;
7
7
  export declare const logDislikeGeneratedAnswer: () => InsightAction;
8
8
  export declare const logGeneratedAnswerFeedback: (feedback: GeneratedAnswerFeedback) => InsightAction;
9
9
  export declare const logGeneratedAnswerStreamEnd: (answerGenerated: boolean) => InsightAction;
10
+ export declare const logGeneratedAnswerResponseLinked: () => InsightAction;
10
11
  export declare const logGeneratedAnswerShowAnswers: () => InsightAction;
11
12
  export declare const logGeneratedAnswerHideAnswers: () => InsightAction;
12
13
  export declare const logGeneratedAnswerExpand: () => InsightAction;
@@ -51,7 +51,7 @@ type BakedInControllerDefinitions = {
51
51
  * Map of baked-in controllers
52
52
  */
53
53
  export type BakedInControllers = {
54
- [K in keyof BakedInControllerDefinitions]: BakedInControllerDefinitions[K]['buildWithProps'];
54
+ [K in keyof BakedInControllerDefinitions]: ReturnType<BakedInControllerDefinitions[K]['buildWithProps']>;
55
55
  };
56
56
  /**
57
57
  * A dynamically filtered map of baked-in controller definitions based on solution type compatibility.
@@ -1,8 +1,7 @@
1
1
  import type { UnknownAction } from '@reduxjs/toolkit';
2
2
  import type { CoreEngine, CoreEngineNext } from '../../app/engine.js';
3
3
  import type { Controller } from '../../controllers/controller/headless-controller.js';
4
- import type { EngineStaticState } from '../common/types/engine.js';
5
- import type { ControllerDefinitionsMap } from './types/controller-definition.js';
4
+ import type { BakedInSearchControllers, ControllerDefinitionsMap } from './types/controller-definition.js';
6
5
  import type { InferControllerPropsMapFromDefinitions, InferControllerStaticStateMapFromDefinitions, InferControllersMapFromDefinition } from './types/controller-inference.js';
7
6
  export declare function buildControllerDefinitions<TControllerDefinitionsMap extends ControllerDefinitionsMap<CoreEngine | CoreEngineNext, Controller>, TEngine extends CoreEngine | CoreEngineNext>({ definitionsMap, engine, propsMap, }: {
8
7
  definitionsMap: TControllerDefinitionsMap;
@@ -11,5 +10,8 @@ export declare function buildControllerDefinitions<TControllerDefinitionsMap ext
11
10
  }): InferControllersMapFromDefinition<TControllerDefinitionsMap>;
12
11
  export declare function createStaticState<TSearchAction extends UnknownAction, TControllerDefinitions extends ControllerDefinitionsMap<CoreEngine | CoreEngineNext, Controller>>({ searchActions, controllers, }: {
13
12
  searchActions: TSearchAction[];
14
- controllers: InferControllersMapFromDefinition<TControllerDefinitions>;
15
- }): EngineStaticState<TSearchAction, InferControllerStaticStateMapFromDefinitions<TControllerDefinitions>>;
13
+ controllers: Record<string, Controller>;
14
+ }): {
15
+ controllers: InferControllerStaticStateMapFromDefinitions<TControllerDefinitions> & BakedInSearchControllers;
16
+ searchActions: TSearchAction[];
17
+ };
@@ -1,39 +1,27 @@
1
- import { type SearchEngine } from '../../../app/search-engine/search-engine.js';
2
- import type { Controller } from '../../../controllers/controller/headless-controller.js';
3
- import type { LegacySearchAction } from '../../../features/analytics/analytics-utils.js';
4
- import type { ControllerDefinitionsMap } from '../types/controller-definition.js';
5
- import type { InferControllerPropsMapFromDefinitions, InferControllerStaticStateMapFromDefinitions } from '../types/controller-inference.js';
6
- import type { SearchEngineDefinitionOptions } from '../types/engine.js';
7
- /**
8
- * The SSR search engine.
9
- *
10
- * @group Engine
11
- */
12
- export interface SSRSearchEngine extends SearchEngine {
13
- /**
14
- * Waits for the search to be completed and returns a promise that resolves to a `SearchCompletedAction`.
15
- */
16
- waitForSearchCompletedAction(): Promise<SearchCompletedAction>;
17
- }
18
- export type SearchCompletedAction = ReturnType<LegacySearchAction['fulfilled' | 'rejected']>;
1
+ import type { SSRSearchEngine } from '../types/build.js';
2
+ import type { SearchControllerDefinitionsMap, SearchEngineDefinition, SearchEngineDefinitionOptions } from '../types/engine.js';
19
3
  /**
20
4
  * Initializes a Search engine definition in SSR with given controllers definitions and search engine config.
21
5
  *
22
6
  * @param options - The search engine definition
23
7
  * @returns Two utility functions to fetch the initial state of the engine in SSR and hydrate the state in CSR.
24
8
  *
9
+ * @remarks
10
+ * You can use the {@link InferStaticState} and {@link InferHydratedState} utility types with the returned engine definition
11
+ * to infer the types of static and hydrated state for your controllers.
12
+ *
25
13
  * @example
26
14
  * ```ts
27
- * const searchEngine = defineSearchEngine(config);
15
+ * const searchEngineDefinition = defineSearchEngine(config);
28
16
  *
29
- * const staticState = await searchEngine.fetchStaticState({
30
- * navigatorContextProvider: () => {/*...* /},
17
+ * const staticState = await searchEngineDefinition.fetchStaticState({
18
+ * navigatorContext: {/*...* /},
31
19
  * });
20
+ *
21
+ * type SearchStaticState = InferStaticState<typeof searchEngineDefinition>;
22
+ * type SearchHydratedState = InferHydratedState<typeof searchEngineDefinition>;
32
23
  * ```
33
24
  *
34
25
  * @group Engine
35
26
  */
36
- export declare function defineSearchEngine<TControllerDefinitions extends ControllerDefinitionsMap<SearchEngine, Controller>>(options: SearchEngineDefinitionOptions<TControllerDefinitions>): {
37
- fetchStaticState: import("../types/fetch-static-state.js").FetchStaticState<import("@reduxjs/toolkit").AnyAction, InferControllerStaticStateMapFromDefinitions<TControllerDefinitions>, InferControllerPropsMapFromDefinitions<TControllerDefinitions>>;
38
- hydrateStaticState: import("../types/hydrate-static-state.js").HydrateStaticState<SSRSearchEngine, import("../types/controller-inference.js").InferControllersMapFromDefinition<TControllerDefinitions>, import("@reduxjs/toolkit").AnyAction, InferControllerPropsMapFromDefinitions<TControllerDefinitions>>;
39
- };
27
+ export declare function defineSearchEngine<TControllerDefinitions extends SearchControllerDefinitionsMap = {}>(options: SearchEngineDefinitionOptions<TControllerDefinitions>): SearchEngineDefinition<SSRSearchEngine, TControllerDefinitions>;
@@ -0,0 +1,8 @@
1
+ import type { SSRSearchEngine } from '../types/build.js';
2
+ import type { BakedInSearchControllers } from '../types/controller-definition.js';
3
+ import type { InferControllersMapFromDefinition } from '../types/controller-inference.js';
4
+ import type { FetchStaticStateParameters, HydrateStaticStateParameters, SearchControllerDefinitionsMap, SearchEngineDefinitionOptions } from '../types/engine.js';
5
+ export declare const buildFactory: <TControllerDefinitions extends SearchControllerDefinitionsMap>(controllerDefinitions: TControllerDefinitions, options: SearchEngineDefinitionOptions<TControllerDefinitions>) => (buildOptions: FetchStaticStateParameters<TControllerDefinitions> | HydrateStaticStateParameters<TControllerDefinitions>) => Promise<{
6
+ engine: SSRSearchEngine;
7
+ controllers: InferControllersMapFromDefinition<TControllerDefinitions> & BakedInSearchControllers;
8
+ }>;
@@ -0,0 +1,5 @@
1
+ import type { Controller } from '../../../controllers/controller/headless-controller.js';
2
+ import type { SSRSearchEngine } from '../types/build.js';
3
+ import type { AugmentedControllerDefinition, ControllerDefinitionsMap } from '../types/controller-definition.js';
4
+ import type { HydrateStaticStateFunction, SearchEngineDefinitionOptions } from '../types/engine.js';
5
+ export declare function hydratedStaticStateFactory<TControllerDefinitions extends ControllerDefinitionsMap<SSRSearchEngine, Controller>>(controllerDefinitions: AugmentedControllerDefinition<TControllerDefinitions>, options: SearchEngineDefinitionOptions<TControllerDefinitions>): HydrateStaticStateFunction<TControllerDefinitions>;
@@ -0,0 +1,3 @@
1
+ import type { AugmentedControllerDefinition } from '../types/controller-definition.js';
2
+ import type { FetchStaticStateFunction, SearchControllerDefinitionsMap, SearchEngineDefinitionOptions } from '../types/engine.js';
3
+ export declare function fetchStaticStateFactory<TControllerDefinitions extends SearchControllerDefinitionsMap>(controllerDefinitions: AugmentedControllerDefinition<TControllerDefinitions>, options: SearchEngineDefinitionOptions<TControllerDefinitions>): FetchStaticStateFunction<TControllerDefinitions>;
@@ -1,11 +1,20 @@
1
- import type { CoreEngine, CoreEngineNext } from '../../../app/engine.js';
2
1
  import type { NavigatorContext } from '../../../app/navigator-context-provider.js';
3
- import type { ControllersMap, ControllersPropsMap } from '../../common/types/controllers.js';
4
- import type { SearchEngineDefinitionBuildResult, SearchEngineDefinitionControllersPropsOption } from './engine.js';
2
+ import type { SearchEngine } from '../../../app/search-engine/search-engine.js';
3
+ import type { LegacySearchAction } from '../../../features/analytics/analytics-utils.js';
4
+ import type { SearchParameterManagerInitialState } from '../controllers/search-parameter-manager/headless-search-parameter-manager.ssr.js';
5
+ /**
6
+ * The SSR search engine.
7
+ *
8
+ * @group Engine
9
+ */
10
+ export interface SSRSearchEngine extends SearchEngine {
11
+ /**
12
+ * Waits for the search to be completed and returns a promise that resolves to a `SearchCompletedAction`.
13
+ */
14
+ waitForSearchCompletedAction(): Promise<SearchCompletedAction>;
15
+ }
16
+ export type SearchCompletedAction = ReturnType<LegacySearchAction['fulfilled' | 'rejected']>;
5
17
  export type BuildConfig = {
6
18
  navigatorContext: NavigatorContext;
19
+ searchParams?: SearchParameterManagerInitialState['parameters'];
7
20
  };
8
- /**
9
- * @internal
10
- */
11
- export type Build<TEngine extends CoreEngine | CoreEngineNext, TControllersMap extends ControllersMap, TControllersProps extends ControllersPropsMap> = (props: SearchEngineDefinitionControllersPropsOption<TControllersProps>) => Promise<SearchEngineDefinitionBuildResult<TEngine, TControllersMap>>;
@@ -2,6 +2,7 @@ import type { CoreEngine, CoreEngineNext } from '../../../app/engine.js';
2
2
  import type { Controller } from '../../../controllers/controller/headless-controller.js';
3
3
  import type { InferControllerStaticStateFromController, InferControllerStaticStateMapFromControllers } from '../../common/types/controller-inference.js';
4
4
  import type { InferHydratedState, InferStaticState } from '../../common/types/engine.js';
5
+ import type { SearchParameterManagerDefinition } from '../controllers/search-parameter-manager/headless-search-parameter-manager.ssr.js';
5
6
  export type { InferStaticState, InferHydratedState, InferControllerStaticStateFromController, InferControllerStaticStateMapFromControllers, };
6
7
  export interface ControllerDefinitionWithoutProps<TEngine extends CoreEngine | CoreEngineNext, TController extends Controller> {
7
8
  /**
@@ -26,3 +27,21 @@ export type ControllerDefinition<TEngine extends CoreEngine | CoreEngineNext, TC
26
27
  export interface ControllerDefinitionsMap<TEngine extends CoreEngine | CoreEngineNext, TController extends Controller> {
27
28
  [customName: string]: ControllerDefinition<TEngine, TController>;
28
29
  }
30
+ type BakedInControllerDefinitions = {
31
+ parameterManager: SearchParameterManagerDefinition;
32
+ };
33
+ /**
34
+ * Map of baked-in controllers for search engine (runtime controllers)
35
+ */
36
+ export type BakedInSearchControllers = {
37
+ [K in keyof BakedInControllerDefinitions]: ReturnType<BakedInControllerDefinitions[K]['buildWithProps']>;
38
+ };
39
+ /**
40
+ * Map of controller definitions available to the search engine definition.
41
+ *
42
+ * This type combines user-defined controllers with the system's baked-in controllers
43
+ * (parameterManager).
44
+ *
45
+ * @template TControllerDefinitions - The controller definitions map
46
+ */
47
+ export type AugmentedControllerDefinition<TControllerDefinitions extends ControllerDefinitionsMap<CoreEngine | CoreEngineNext, Controller>> = TControllerDefinitions & BakedInControllerDefinitions;
@@ -1,36 +1,47 @@
1
- import type { AnyAction } from '@reduxjs/toolkit';
1
+ import type { UnknownAction } from '@reduxjs/toolkit';
2
2
  import type { CoreEngine, CoreEngineNext } from '../../../app/engine.js';
3
3
  import type { SearchEngineOptions } from '../../../app/search-engine/search-engine.js';
4
4
  import type { Controller } from '../../../controllers/controller/headless-controller.js';
5
5
  import type { ControllersMap, ControllersPropsMap } from '../../common/types/controllers.js';
6
6
  import type { HasKeys } from '../../common/types/utilities.js';
7
- import type { SSRSearchEngine } from '../engine/search-engine.ssr.js';
8
- import type { Build } from './build.js';
7
+ import type { SSRSearchEngine } from './build.js';
9
8
  import type { ControllerDefinitionsMap } from './controller-definition.js';
10
9
  import type { InferControllerPropsMapFromDefinitions, InferControllerStaticStateMapFromDefinitions, InferControllersMapFromDefinition } from './controller-inference.js';
11
10
  import type { FetchStaticState } from './fetch-static-state.js';
12
11
  import type { HydrateStaticState } from './hydrate-static-state.js';
13
- export type EngineBuildResult<TEngine extends CoreEngine | CoreEngineNext, TControllers extends ControllerDefinitionsMap<TEngine, Controller>> = Build<TEngine, InferControllersMapFromDefinition<TControllers>, InferControllerPropsMapFromDefinitions<TControllers>>;
12
+ type ReservedControllerNames = 'parameterManager';
13
+ type ValidateControllerNames<T extends SearchControllerDefinitionsMap> = {
14
+ [K in keyof T]: K extends ReservedControllerNames ? `ERROR: Controller name "${K & string}" is reserved and cannot be used. Please choose a different controller name.` : T[K];
15
+ };
14
16
  /**
15
17
  * The options to create a search engine definition in SSR.
16
18
  *
17
19
  * @group Engine
18
20
  */
19
- export type SearchEngineDefinitionOptions<TControllers extends ControllerDefinitionsMap<SSRSearchEngine, Controller>> = SearchEngineOptions & {
21
+ export type SearchEngineDefinitionOptions<TControllers extends SearchControllerDefinitionsMap = {}> = SearchEngineOptions & {
20
22
  /**
21
23
  * The controllers to initialize with the search engine.
22
24
  */
23
- controllers?: TControllers;
25
+ controllers?: ValidateControllerNames<TControllers>;
24
26
  };
25
27
  export interface SearchEngineDefinition<TEngine extends CoreEngine | CoreEngineNext, TControllers extends ControllerDefinitionsMap<TEngine, Controller>> {
26
28
  /**
27
29
  * Fetches the static state on the server side using your engine definition.
28
30
  */
29
- fetchStaticState: FetchStaticState<AnyAction, InferControllerStaticStateMapFromDefinitions<TControllers>, InferControllerPropsMapFromDefinitions<TControllers>>;
31
+ fetchStaticState: FetchStaticState<UnknownAction, InferControllerStaticStateMapFromDefinitions<TControllers>, InferControllerPropsMapFromDefinitions<TControllers>>;
30
32
  /**
31
33
  * Fetches the hydrated state on the client side using your engine definition and the static state.
32
34
  */
33
- hydrateStaticState: HydrateStaticState<TEngine, InferControllersMapFromDefinition<TControllers>, AnyAction, InferControllerPropsMapFromDefinitions<TControllers>>;
35
+ hydrateStaticState: HydrateStaticState<TEngine, InferControllersMapFromDefinition<TControllers>, UnknownAction, InferControllerPropsMapFromDefinitions<TControllers>>;
36
+ /**
37
+ * Returns the access token.
38
+ */
39
+ getAccessToken: () => string;
40
+ /**
41
+ * Updates the access token.
42
+ * @param accessToken - The access token to update.
43
+ */
44
+ setAccessToken: (accessToken: string) => void;
34
45
  }
35
46
  /**
36
47
  * This type defines the required and optional controller props for the search engine definition.
@@ -42,3 +53,10 @@ export interface SearchEngineDefinitionBuildResult<TEngine extends CoreEngine |
42
53
  engine: TEngine;
43
54
  controllers: TControllers;
44
55
  }
56
+ export type SearchControllerDefinitionsMap = ControllerDefinitionsMap<SSRSearchEngine, Controller>;
57
+ type Definition<TControllerDefinitions extends SearchControllerDefinitionsMap> = SearchEngineDefinition<SSRSearchEngine, TControllerDefinitions>;
58
+ export type FetchStaticStateFunction<TControllerDefinitions extends SearchControllerDefinitionsMap> = Definition<TControllerDefinitions>['fetchStaticState'];
59
+ export type HydrateStaticStateFunction<TControllerDefinitions extends SearchControllerDefinitionsMap> = Definition<TControllerDefinitions>['hydrateStaticState'];
60
+ export type FetchStaticStateParameters<TControllerDefinitions extends SearchControllerDefinitionsMap> = Parameters<FetchStaticStateFunction<TControllerDefinitions>>[0];
61
+ export type HydrateStaticStateParameters<TControllerDefinitions extends SearchControllerDefinitionsMap> = Parameters<HydrateStaticStateFunction<TControllerDefinitions>>[0];
62
+ export {};
@@ -2,10 +2,11 @@ import type { UnknownAction } from '@reduxjs/toolkit';
2
2
  import type { ControllerStaticStateMap, ControllersPropsMap } from '../../common/types/controllers.js';
3
3
  import type { EngineStaticState } from '../../common/types/engine.js';
4
4
  import type { BuildConfig } from './build.js';
5
+ import type { BakedInSearchControllers } from './controller-definition.js';
5
6
  import type { SearchEngineDefinitionControllersPropsOption } from './engine.js';
6
7
  /**
7
8
  * Executes only the initial search for a given configuration, then returns a resumable snapshot of engine state along with the state of the controllers.
8
9
  *
9
10
  * Useful for static generation and server-side rendering.
10
11
  */
11
- export type FetchStaticState<TSearchAction extends UnknownAction, TControllersStaticState extends ControllerStaticStateMap, TControllersProps extends ControllersPropsMap> = (params: BuildConfig & SearchEngineDefinitionControllersPropsOption<TControllersProps>) => Promise<EngineStaticState<TSearchAction, TControllersStaticState> & BuildConfig>;
12
+ export type FetchStaticState<TSearchAction extends UnknownAction, TControllersStaticState extends ControllerStaticStateMap, TControllersProps extends ControllersPropsMap> = (params: BuildConfig & SearchEngineDefinitionControllersPropsOption<TControllersProps>) => Promise<EngineStaticState<TSearchAction, TControllersStaticState & BakedInSearchControllers> & BuildConfig>;
@@ -0,0 +1,21 @@
1
+ import { Schema } from '@coveo/bueno';
2
+ import type { Controller } from '../../../controllers/controller/headless-controller.js';
3
+ import type { ControllersPropsMap } from '../../common/types/controllers.js';
4
+ import type { BuildConfig, SSRSearchEngine } from '../types/build.js';
5
+ import type { ControllerDefinitionsMap } from '../types/controller-definition.js';
6
+ import type { InferControllerPropsMapFromDefinitions } from '../types/controller-inference.js';
7
+ export declare const searchDefinitionSchema: Schema<{
8
+ searchParams: unknown;
9
+ }>;
10
+ /**
11
+ * Converts simple user configuration (searchParams) into the
12
+ * nested structure required by the internal controller system. Automatically generates
13
+ * appropriate controllers (parameterManager) transparently.
14
+ *
15
+ * @param controllerDefinitions - Map of controller definitions to be initialized
16
+ * @param buildConfig - Simple configuration object with simplified controller properties
17
+ * @returns Formatted and validated controller properties map defined for the controller in the definition
18
+ */
19
+ export declare function wireControllerParams<TControllerDefinitions extends ControllerDefinitionsMap<SSRSearchEngine, Controller>>(controllerDefinitions: TControllerDefinitions, buildConfig: BuildConfig & {
20
+ controllers?: ControllersPropsMap;
21
+ }): InferControllerPropsMapFromDefinitions<TControllerDefinitions>;
@@ -0,0 +1,4 @@
1
+ import type { SearchEngineOptions } from '../../../app/search-engine/search-engine.js';
2
+ import type { BuildConfig } from '../types/build.js';
3
+ import type { SearchControllerDefinitionsMap, SearchEngineDefinitionOptions } from '../types/engine.js';
4
+ export declare function augmentSearchEngineOptions<TControllerDefinitions extends SearchControllerDefinitionsMap>(engineOptions: SearchEngineDefinitionOptions<TControllerDefinitions>, buildConfig: BuildConfig): SearchEngineOptions;
@@ -141,8 +141,8 @@ export type { RedirectionTrigger, RedirectionTriggerDefinition, RedirectionTrigg
141
141
  export { defineRedirectionTrigger } from './ssr-next/search/controllers/triggers/headless-redirection-trigger.ssr.js';
142
142
  export type { UrlManager, UrlManagerBuildProps, UrlManagerInitialState, UrlManagerProps, UrlManagerState, } from './ssr-next/search/controllers/url-manager/headless-url-manager.ssr.js';
143
143
  export { defineUrlManager } from './ssr-next/search/controllers/url-manager/headless-url-manager.ssr.js';
144
- export type { SearchCompletedAction, SSRSearchEngine as SearchEngine, } from './ssr-next/search/engine/search-engine.ssr.js';
145
144
  export { defineSearchEngine } from './ssr-next/search/engine/search-engine.ssr.js';
145
+ export type { SearchCompletedAction, SSRSearchEngine as SearchEngine, } from './ssr-next/search/types/build.js';
146
146
  export type { ControllerDefinitionsMap, InferControllerStaticStateFromController, InferControllerStaticStateMapFromControllers, InferHydratedState, InferStaticState, } from './ssr-next/search/types/controller-definition.js';
147
147
  export type { InferControllerFromDefinition, InferControllerStaticStateMapFromDefinitions, InferControllersMapFromDefinition, } from './ssr-next/search/types/controller-inference.js';
148
148
  export type { SearchEngineDefinition, SearchEngineDefinitionOptions, } from './ssr-next/search/types/engine.js';
@@ -2,6 +2,8 @@ import type { SearchEngine } from '../app/search-engine/search-engine.js';
2
2
  import type { Controller } from '../controllers/controller/headless-controller.js';
3
3
  import type { ControllerDefinitionWithoutProps, ControllerDefinitionWithProps } from '../ssr/common/types/controllers.js';
4
4
  import { recommendationInternalOptionKey } from '../ssr-next/commerce/types/controller-constants.js';
5
+ import type { SSRSearchEngine } from '../ssr-next/search/types/build.js';
6
+ import type { ControllerDefinitionWithoutProps as SearchControllerDefinitionWithoutProps, ControllerDefinitionWithProps as SearchControllerDefinitionWithProps } from '../ssr-next/search/types/controller-definition.js';
5
7
  interface MockController {
6
8
  initialState?: Record<string, unknown>;
7
9
  }
@@ -44,4 +46,14 @@ export declare function defineMockRecommendationDefinition(slotId: string): {
44
46
  subscribe(listener: () => void): import("@reduxjs/toolkit").Unsubscribe;
45
47
  }>;
46
48
  };
49
+ interface MockSearchController {
50
+ initialState?: Record<string, unknown>;
51
+ }
52
+ interface MockSearchControllerDefinitionWithoutProps extends SearchControllerDefinitionWithoutProps<SSRSearchEngine, Controller> {
53
+ }
54
+ interface MockSearchControllerDefinitionWithProps extends SearchControllerDefinitionWithProps<SSRSearchEngine, Controller, MockSearchController> {
55
+ }
56
+ export declare function defineMockSearchController(): MockSearchControllerDefinitionWithoutProps;
57
+ export declare function defineMockSearchControllerWithProps(): MockSearchControllerDefinitionWithProps;
58
+ export declare function defineMockSearchParameterManager(): MockSearchControllerDefinitionWithProps;
47
59
  export {};