@coveo/quantic 3.28.1 → 3.28.2-pre.17c841327c

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 (235) hide show
  1. package/force-app/main/default/staticresources/coveoheadless/case-assist/headless.js +10 -8
  2. package/force-app/main/default/staticresources/coveoheadless/definitions/api/api-client-utils.d.ts +1 -1
  3. package/force-app/main/default/staticresources/coveoheadless/definitions/api/commerce/common/request.d.ts +1 -1
  4. package/force-app/main/default/staticresources/coveoheadless/definitions/api/commerce/recommendations/recommendations-request.d.ts +1 -1
  5. package/force-app/main/default/staticresources/coveoheadless/definitions/api/commerce/search/query-suggest/query-suggest-request.d.ts +1 -1
  6. package/force-app/main/default/staticresources/coveoheadless/definitions/api/knowledge/stream-answer-api.d.ts +3 -3
  7. package/force-app/main/default/staticresources/coveoheadless/definitions/api/service/case-assist/get-case-classifications/get-case-classifications-request.d.ts +1 -1
  8. package/force-app/main/default/staticresources/coveoheadless/definitions/api/service/case-assist/get-document-suggestions/get-document-suggestions-request.d.ts +1 -1
  9. package/force-app/main/default/staticresources/coveoheadless/definitions/api/service/insight/get-interface/get-interface-config-request.d.ts +1 -1
  10. package/force-app/main/default/staticresources/coveoheadless/definitions/api/service/insight/query/query-request.d.ts +2 -2
  11. package/force-app/main/default/staticresources/coveoheadless/definitions/api/service/insight/user-actions/user-actions-request.d.ts +1 -1
  12. package/force-app/main/default/staticresources/coveoheadless/definitions/features/commerce/product-listing/product-listing-selectors.d.ts +2 -2
  13. package/force-app/main/default/staticresources/coveoheadless/definitions/features/commerce/search/search-selectors.d.ts +2 -2
  14. package/force-app/main/default/staticresources/coveoheadless/definitions/features/did-you-mean/did-you-mean-selectors.d.ts +1 -1
  15. package/force-app/main/default/staticresources/coveoheadless/definitions/features/insight-search/insight-search-actions-thunk-processor.d.ts +1 -1
  16. package/force-app/main/default/staticresources/coveoheadless/definitions/features/insight-search/insight-search-actions.d.ts +1 -1
  17. package/force-app/main/default/staticresources/coveoheadless/definitions/features/search/legacy/search-actions-thunk-processor.d.ts +1 -1
  18. package/force-app/main/default/staticresources/coveoheadless/definitions/features/search/legacy/search-request.d.ts +1 -1
  19. package/force-app/main/default/staticresources/coveoheadless/definitions/features/search/search-actions-thunk-processor.d.ts +1 -1
  20. package/force-app/main/default/staticresources/coveoheadless/definitions/features/search/search-request.d.ts +1 -1
  21. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/commerce/controller-utils.d.ts +19 -0
  22. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/commerce/controllers/breadcrumb-manager/headless-core-breadcrumb-manager.ssr.d.ts +10 -0
  23. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/commerce/controllers/cart/headless-cart.ssr.d.ts +15 -0
  24. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/commerce/controllers/context/headless-context.ssr.d.ts +12 -0
  25. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/commerce/controllers/did-you-mean/headless-did-you-mean.ssr.d.ts +10 -0
  26. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/commerce/controllers/filter-suggestions/headless-filter-suggestions-generator.ssr.d.ts +15 -0
  27. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/commerce/controllers/generator/headless-commerce-facet-generator.ssr.d.ts +66 -0
  28. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/commerce/controllers/instant-products/headless-instant-products.ssr.d.ts +12 -0
  29. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/commerce/controllers/pagination/headless-core-commerce-pagination.ssr.d.ts +11 -0
  30. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/commerce/controllers/parameter-manager/headless-core-parameter-manager.ssr.d.ts +25 -0
  31. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/commerce/controllers/product-list/headless-product-list.ssr.d.ts +12 -0
  32. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/commerce/controllers/product-view/headless-product-view.ssr.d.ts +20 -0
  33. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/commerce/controllers/recent-queries-list/headless-recent-queries-list.ssr.d.ts +13 -0
  34. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/commerce/controllers/recommendations/headless-recommendations.ssr.d.ts +17 -0
  35. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/commerce/controllers/search-box/headless-search-box.ssr.d.ts +12 -0
  36. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/commerce/controllers/sort/headless-core-commerce-sort.ssr.d.ts +11 -0
  37. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/commerce/controllers/standalone-search-box/headless-standalone-search-box.ssr.d.ts +14 -0
  38. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/commerce/controllers/summary/headless-core-summary.ssr.d.ts +13 -0
  39. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/commerce/controllers/triggers/headless-notify-trigger.ssr.d.ts +12 -0
  40. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/commerce/controllers/triggers/headless-query-trigger.ssr.d.ts +13 -0
  41. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/commerce/controllers/triggers/headless-redirection-trigger.ssr.d.ts +12 -0
  42. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/commerce/engine/commerce-engine.ssr.d.ts +25 -0
  43. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/commerce/factories/build-factory.d.ts +22 -0
  44. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/commerce/factories/hydrated-state-factory.d.ts +4 -0
  45. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/commerce/factories/recommendation-hydrated-state-factory.d.ts +3 -0
  46. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/commerce/factories/recommendation-static-state-factory.d.ts +3 -0
  47. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/commerce/factories/static-state-factory.d.ts +4 -0
  48. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/commerce/types/build.d.ts +10 -0
  49. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/commerce/types/controller-constants.d.ts +7 -0
  50. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/commerce/types/controller-definitions.d.ts +220 -0
  51. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/commerce/types/controller-inference.d.ts +24 -0
  52. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/commerce/types/controller-scopes.d.ts +71 -0
  53. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/commerce/types/engine.d.ts +75 -0
  54. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/commerce/types/fetch-static-state.d.ts +17 -0
  55. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/commerce/types/from-build-result.d.ts +19 -0
  56. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/commerce/types/hydrate-static-state.d.ts +20 -0
  57. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/commerce/types/kind.d.ts +9 -0
  58. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/commerce/utils/recommendation-filter.d.ts +11 -0
  59. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/common/augment-preprocess-request.d.ts +9 -0
  60. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/common/controller-utils.d.ts +16 -0
  61. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/common/errors.d.ts +9 -0
  62. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/common/types/build.d.ts +9 -0
  63. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/common/types/controllers.d.ts +37 -0
  64. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/common/types/engine.d.ts +60 -0
  65. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/common/types/fetch-static-state.d.ts +17 -0
  66. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/common/types/from-build-result.d.ts +8 -0
  67. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/common/types/hydrate-static-state.d.ts +21 -0
  68. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/common/types/inference.d.ts +19 -0
  69. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/common/types/utilities.d.ts +14 -0
  70. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/search/controllers/breadcrumb-manager/headless-breadcrumb-manager.ssr.d.ts +13 -0
  71. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/search/controllers/context/headless-context.ssr.d.ts +14 -0
  72. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/search/controllers/dictionary-field-context/headless-dictionary-field-context.ssr.d.ts +13 -0
  73. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/search/controllers/did-you-mean/headless-did-you-mean.ssr.d.ts +13 -0
  74. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/search/controllers/facet-manager/headless-facet-manager.ssr.d.ts +13 -0
  75. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/search/controllers/facets/automatic-facet-generator/headless-automatic-facet-generator.ssr.d.ts +14 -0
  76. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/search/controllers/facets/category-facet/headless-category-facet.ssr.d.ts +14 -0
  77. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/search/controllers/facets/facet/headless-facet.ssr.d.ts +14 -0
  78. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/search/controllers/facets/range-facet/date-facet/headless-date-facet.ssr.d.ts +15 -0
  79. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/search/controllers/facets/range-facet/date-facet/headless-date-filter.ssr.d.ts +14 -0
  80. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/search/controllers/facets/range-facet/numeric-facet/headless-numeric-facet.ssr.d.ts +15 -0
  81. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/search/controllers/facets/range-facet/numeric-facet/headless-numeric-filter.ssr.d.ts +14 -0
  82. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/search/controllers/field-suggestions/category-facet/headless-category-field-suggestions.ssr.d.ts +14 -0
  83. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/search/controllers/field-suggestions/facet/headless-field-suggestions.ssr.d.ts +14 -0
  84. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/search/controllers/folded-result-list/headless-folded-result-list.ssr.d.ts +14 -0
  85. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/search/controllers/history-manager/headless-history-manager.ssr.d.ts +13 -0
  86. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/search/controllers/instant-results/instant-results.ssr.d.ts +14 -0
  87. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/search/controllers/pager/headless-pager.ssr.d.ts +14 -0
  88. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/search/controllers/query-error/headless-query-error.ssr.d.ts +13 -0
  89. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/search/controllers/query-summary/headless-query-summary.ssr.d.ts +13 -0
  90. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/search/controllers/quickview/headless-quickview.ssr.d.ts +14 -0
  91. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/search/controllers/recent-queries-list/headless-recent-queries-list.ssr.d.ts +14 -0
  92. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/search/controllers/recent-results-list/headless-recent-results-list.ssr.d.ts +14 -0
  93. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/search/controllers/relevance-inspector/headless-relevance-inspector.ssr.d.ts +14 -0
  94. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/search/controllers/result-list/headless-result-list.ssr.d.ts +14 -0
  95. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/search/controllers/results-per-page/headless-results-per-page.ssr.d.ts +14 -0
  96. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/search/controllers/search-box/headless-search-box.ssr.d.ts +14 -0
  97. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/search/controllers/search-parameter-manager/headless-search-parameter-manager.ssr.d.ts +16 -0
  98. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/search/controllers/search-status/headless-search-status.ssr.d.ts +13 -0
  99. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/search/controllers/smart-snippet/headless-smart-snippet.ssr.d.ts +14 -0
  100. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/search/controllers/smart-snippet-questions-list/headless-smart-snippet-questions-list.ssr.d.ts +15 -0
  101. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/search/controllers/sort/headless-sort.ssr.d.ts +14 -0
  102. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/search/controllers/standalone-search-box/headless-standalone-search-box.ssr.d.ts +14 -0
  103. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/search/controllers/static-filter/headless-static-filter.ssr.d.ts +15 -0
  104. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/search/controllers/tab/headless-tab.ssr.d.ts +14 -0
  105. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/search/controllers/tab-manager/headless-tab-manager.ssr.d.ts +13 -0
  106. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/search/controllers/triggers/headless-execute-trigger.ssr.d.ts +13 -0
  107. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/search/controllers/triggers/headless-notify-trigger.ssr.d.ts +13 -0
  108. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/search/controllers/triggers/headless-query-trigger.ssr.d.ts +14 -0
  109. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/search/controllers/triggers/headless-redirection-trigger.ssr.d.ts +13 -0
  110. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/search/controllers/url-manager/headless-url-manager.ssr.d.ts +16 -0
  111. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr/search/engine/search-engine.ssr.d.ts +35 -0
  112. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-commerce-next.index.d.ts +170 -0
  113. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-commerce.index.d.ts +48 -47
  114. package/force-app/main/default/staticresources/coveoheadless/definitions/{app/commerce-ssr-engine/common.d.ts → ssr-next/commerce/controller-utils.d.ts} +5 -2
  115. package/force-app/main/default/staticresources/coveoheadless/definitions/{controllers/commerce/core → ssr-next/commerce/controllers}/breadcrumb-manager/headless-core-breadcrumb-manager.ssr.d.ts +2 -2
  116. package/force-app/main/default/staticresources/coveoheadless/definitions/{controllers/commerce/context → ssr-next/commerce/controllers}/cart/headless-cart.ssr.d.ts +3 -4
  117. package/force-app/main/default/staticresources/coveoheadless/definitions/{controllers/commerce → ssr-next/commerce/controllers}/context/headless-context.ssr.d.ts +3 -4
  118. package/force-app/main/default/staticresources/coveoheadless/definitions/{controllers/commerce/search → ssr-next/commerce/controllers}/did-you-mean/headless-did-you-mean.ssr.d.ts +2 -2
  119. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/commerce/controllers/filter-suggestions/headless-filter-suggestions-generator.ssr.d.ts +15 -0
  120. package/force-app/main/default/staticresources/coveoheadless/definitions/{controllers/commerce/core/facets → ssr-next/commerce/controllers}/generator/headless-commerce-facet-generator.ssr.d.ts +13 -12
  121. package/force-app/main/default/staticresources/coveoheadless/definitions/{controllers/commerce → ssr-next/commerce/controllers}/instant-products/headless-instant-products.ssr.d.ts +3 -4
  122. package/force-app/main/default/staticresources/coveoheadless/definitions/{controllers/commerce/core → ssr-next/commerce/controllers}/pagination/headless-core-commerce-pagination.ssr.d.ts +2 -2
  123. package/force-app/main/default/staticresources/coveoheadless/definitions/{controllers/commerce/core → ssr-next/commerce/controllers}/parameter-manager/headless-core-parameter-manager.ssr.d.ts +2 -2
  124. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/commerce/controllers/product-list/headless-product-list.ssr.d.ts +12 -0
  125. package/force-app/main/default/staticresources/coveoheadless/definitions/{controllers/commerce → ssr-next/commerce/controllers}/product-view/headless-product-view.ssr.d.ts +3 -3
  126. package/force-app/main/default/staticresources/coveoheadless/definitions/{controllers/commerce → ssr-next/commerce/controllers}/recent-queries-list/headless-recent-queries-list.ssr.d.ts +3 -4
  127. package/force-app/main/default/staticresources/coveoheadless/definitions/{controllers/commerce → ssr-next/commerce/controllers}/recommendations/headless-recommendations.ssr.d.ts +3 -3
  128. package/force-app/main/default/staticresources/coveoheadless/definitions/{controllers/commerce → ssr-next/commerce/controllers}/search-box/headless-search-box.ssr.d.ts +3 -4
  129. package/force-app/main/default/staticresources/coveoheadless/definitions/{controllers/commerce/core → ssr-next/commerce/controllers}/sort/headless-core-commerce-sort.ssr.d.ts +2 -2
  130. package/force-app/main/default/staticresources/coveoheadless/definitions/{controllers/commerce → ssr-next/commerce/controllers}/standalone-search-box/headless-standalone-search-box.ssr.d.ts +4 -5
  131. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/commerce/controllers/summary/headless-core-summary.ssr.d.ts +13 -0
  132. package/force-app/main/default/staticresources/coveoheadless/definitions/{controllers/commerce → ssr-next/commerce/controllers}/triggers/headless-notify-trigger.ssr.d.ts +3 -4
  133. package/force-app/main/default/staticresources/coveoheadless/definitions/{controllers/commerce → ssr-next/commerce/controllers}/triggers/headless-query-trigger.ssr.d.ts +3 -3
  134. package/force-app/main/default/staticresources/coveoheadless/definitions/{controllers/commerce → ssr-next/commerce/controllers}/triggers/headless-redirection-trigger.ssr.d.ts +3 -4
  135. package/force-app/main/default/staticresources/coveoheadless/definitions/{app/commerce-engine → ssr-next/commerce/engine}/commerce-engine.ssr.d.ts +6 -5
  136. package/force-app/main/default/staticresources/coveoheadless/definitions/{app/commerce-ssr-engine → ssr-next/commerce}/factories/build-factory.d.ts +5 -4
  137. package/force-app/main/default/staticresources/coveoheadless/definitions/{app/commerce-ssr-engine → ssr-next/commerce}/factories/hydrated-state-factory.d.ts +2 -2
  138. package/force-app/main/default/staticresources/coveoheadless/definitions/{app/commerce-ssr-engine → ssr-next/commerce}/factories/recommendation-hydrated-state-factory.d.ts +1 -1
  139. package/force-app/main/default/staticresources/coveoheadless/definitions/{app/commerce-ssr-engine → ssr-next/commerce}/factories/recommendation-static-state-factory.d.ts +1 -1
  140. package/force-app/main/default/staticresources/coveoheadless/definitions/{app/commerce-ssr-engine → ssr-next/commerce}/factories/static-state-factory.d.ts +2 -2
  141. package/force-app/main/default/staticresources/coveoheadless/definitions/{app/commerce-ssr-engine → ssr-next/commerce}/types/build.d.ts +4 -2
  142. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/commerce/types/controller-constants.d.ts +7 -0
  143. package/force-app/main/default/staticresources/coveoheadless/definitions/{app/commerce-ssr-engine/types/common.d.ts → ssr-next/commerce/types/controller-definitions.d.ts} +10 -97
  144. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/commerce/types/controller-inference.d.ts +24 -0
  145. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/commerce/types/controller-scopes.d.ts +71 -0
  146. package/force-app/main/default/staticresources/coveoheadless/definitions/{app/commerce-ssr-engine/types/core-engine.d.ts → ssr-next/commerce/types/engine.d.ts} +12 -14
  147. package/force-app/main/default/staticresources/coveoheadless/definitions/{app/commerce-ssr-engine → ssr-next/commerce}/types/fetch-static-state.d.ts +4 -2
  148. package/force-app/main/default/staticresources/coveoheadless/definitions/{app/commerce-ssr-engine → ssr-next/commerce}/types/from-build-result.d.ts +2 -2
  149. package/force-app/main/default/staticresources/coveoheadless/definitions/{app/commerce-ssr-engine → ssr-next/commerce}/types/hydrate-static-state.d.ts +4 -2
  150. package/force-app/main/default/staticresources/coveoheadless/definitions/{app/commerce-ssr-engine/factories → ssr-next/commerce}/utils/recommendation-filter.d.ts +2 -2
  151. package/force-app/main/default/staticresources/coveoheadless/definitions/{app/ssr-engine → ssr-next/common}/augment-preprocess-request.d.ts +2 -2
  152. package/force-app/main/default/staticresources/coveoheadless/definitions/{app/ssr-engine/common.d.ts → ssr-next/common/controller-utils.d.ts} +4 -2
  153. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/common/errors.d.ts +9 -0
  154. package/force-app/main/default/staticresources/coveoheadless/definitions/{app/ssr-engine → ssr-next/common}/types/build.d.ts +4 -2
  155. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/common/types/controllers.d.ts +37 -0
  156. package/force-app/main/default/staticresources/coveoheadless/definitions/{app/ssr-engine/types/core-engine.d.ts → ssr-next/common/types/engine.d.ts} +18 -5
  157. package/force-app/main/default/staticresources/coveoheadless/definitions/{app/ssr-engine → ssr-next/common}/types/fetch-static-state.d.ts +4 -2
  158. package/force-app/main/default/staticresources/coveoheadless/definitions/{app/ssr-engine → ssr-next/common}/types/from-build-result.d.ts +3 -2
  159. package/force-app/main/default/staticresources/coveoheadless/definitions/{app/ssr-engine → ssr-next/common}/types/hydrate-static-state.d.ts +6 -2
  160. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/common/types/inference.d.ts +19 -0
  161. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/common/types/utilities.d.ts +14 -0
  162. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/search/controllers/breadcrumb-manager/headless-breadcrumb-manager.ssr.d.ts +13 -0
  163. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/search/controllers/context/headless-context.ssr.d.ts +14 -0
  164. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/search/controllers/dictionary-field-context/headless-dictionary-field-context.ssr.d.ts +13 -0
  165. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/search/controllers/did-you-mean/headless-did-you-mean.ssr.d.ts +13 -0
  166. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/search/controllers/facet-manager/headless-facet-manager.ssr.d.ts +13 -0
  167. package/force-app/main/default/staticresources/coveoheadless/definitions/{controllers → ssr-next/search/controllers}/facets/automatic-facet-generator/headless-automatic-facet-generator.ssr.d.ts +4 -4
  168. package/force-app/main/default/staticresources/coveoheadless/definitions/{controllers → ssr-next/search/controllers}/facets/category-facet/headless-category-facet.ssr.d.ts +4 -4
  169. package/force-app/main/default/staticresources/coveoheadless/definitions/{controllers → ssr-next/search/controllers}/facets/facet/headless-facet.ssr.d.ts +4 -4
  170. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/search/controllers/facets/range-facet/date-facet/headless-date-facet.ssr.d.ts +15 -0
  171. package/force-app/main/default/staticresources/coveoheadless/definitions/{controllers → ssr-next/search/controllers}/facets/range-facet/date-facet/headless-date-filter.ssr.d.ts +4 -4
  172. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/search/controllers/facets/range-facet/numeric-facet/headless-numeric-facet.ssr.d.ts +15 -0
  173. package/force-app/main/default/staticresources/coveoheadless/definitions/{controllers → ssr-next/search/controllers}/facets/range-facet/numeric-facet/headless-numeric-filter.ssr.d.ts +4 -4
  174. package/force-app/main/default/staticresources/coveoheadless/definitions/{controllers → ssr-next/search/controllers}/field-suggestions/category-facet/headless-category-field-suggestions.ssr.d.ts +4 -4
  175. package/force-app/main/default/staticresources/coveoheadless/definitions/{controllers → ssr-next/search/controllers}/field-suggestions/facet/headless-field-suggestions.ssr.d.ts +4 -4
  176. package/force-app/main/default/staticresources/coveoheadless/definitions/{controllers → ssr-next/search/controllers}/folded-result-list/headless-folded-result-list.ssr.d.ts +4 -4
  177. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/search/controllers/history-manager/headless-history-manager.ssr.d.ts +13 -0
  178. package/force-app/main/default/staticresources/coveoheadless/definitions/{controllers → ssr-next/search/controllers}/instant-results/instant-results.ssr.d.ts +4 -4
  179. package/force-app/main/default/staticresources/coveoheadless/definitions/{controllers → ssr-next/search/controllers}/pager/headless-pager.ssr.d.ts +4 -4
  180. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/search/controllers/query-error/headless-query-error.ssr.d.ts +13 -0
  181. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/search/controllers/query-summary/headless-query-summary.ssr.d.ts +13 -0
  182. package/force-app/main/default/staticresources/coveoheadless/definitions/{controllers → ssr-next/search/controllers}/quickview/headless-quickview.ssr.d.ts +4 -4
  183. package/force-app/main/default/staticresources/coveoheadless/definitions/{controllers → ssr-next/search/controllers}/recent-queries-list/headless-recent-queries-list.ssr.d.ts +4 -4
  184. package/force-app/main/default/staticresources/coveoheadless/definitions/{controllers → ssr-next/search/controllers}/recent-results-list/headless-recent-results-list.ssr.d.ts +4 -4
  185. package/force-app/main/default/staticresources/coveoheadless/definitions/{controllers → ssr-next/search/controllers}/relevance-inspector/headless-relevance-inspector.ssr.d.ts +4 -4
  186. package/force-app/main/default/staticresources/coveoheadless/definitions/{controllers → ssr-next/search/controllers}/result-list/headless-result-list.ssr.d.ts +4 -4
  187. package/force-app/main/default/staticresources/coveoheadless/definitions/{controllers → ssr-next/search/controllers}/results-per-page/headless-results-per-page.ssr.d.ts +4 -4
  188. package/force-app/main/default/staticresources/coveoheadless/definitions/{controllers → ssr-next/search/controllers}/search-box/headless-search-box.ssr.d.ts +4 -4
  189. package/force-app/main/default/staticresources/coveoheadless/definitions/{controllers → ssr-next/search/controllers}/search-parameter-manager/headless-search-parameter-manager.ssr.d.ts +4 -4
  190. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/search/controllers/search-status/headless-search-status.ssr.d.ts +13 -0
  191. package/force-app/main/default/staticresources/coveoheadless/definitions/{controllers → ssr-next/search/controllers}/smart-snippet/headless-smart-snippet.ssr.d.ts +4 -4
  192. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/search/controllers/smart-snippet-questions-list/headless-smart-snippet-questions-list.ssr.d.ts +15 -0
  193. package/force-app/main/default/staticresources/coveoheadless/definitions/{controllers → ssr-next/search/controllers}/sort/headless-sort.ssr.d.ts +4 -4
  194. package/force-app/main/default/staticresources/coveoheadless/definitions/{controllers → ssr-next/search/controllers}/standalone-search-box/headless-standalone-search-box.ssr.d.ts +4 -4
  195. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/search/controllers/static-filter/headless-static-filter.ssr.d.ts +15 -0
  196. package/force-app/main/default/staticresources/coveoheadless/definitions/{controllers → ssr-next/search/controllers}/tab/headless-tab.ssr.d.ts +4 -4
  197. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/search/controllers/tab-manager/headless-tab-manager.ssr.d.ts +13 -0
  198. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/search/controllers/triggers/headless-execute-trigger.ssr.d.ts +13 -0
  199. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/search/controllers/triggers/headless-notify-trigger.ssr.d.ts +13 -0
  200. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/search/controllers/triggers/headless-query-trigger.ssr.d.ts +14 -0
  201. package/force-app/main/default/staticresources/coveoheadless/definitions/{controllers → ssr-next/search/controllers}/triggers/headless-redirection-trigger.ssr.d.ts +4 -4
  202. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next/search/controllers/url-manager/headless-url-manager.ssr.d.ts +16 -0
  203. package/force-app/main/default/staticresources/coveoheadless/definitions/{app/search-engine → ssr-next/search/engine}/search-engine.ssr.d.ts +5 -5
  204. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr-next.index.d.ts +219 -0
  205. package/force-app/main/default/staticresources/coveoheadless/definitions/ssr.index.d.ts +88 -87
  206. package/force-app/main/default/staticresources/coveoheadless/definitions/test/mock-engine-v2.d.ts +2 -2
  207. package/force-app/main/default/staticresources/coveoheadless/definitions/utils/errors.d.ts +0 -9
  208. package/force-app/main/default/staticresources/coveoheadless/definitions/utils/facet-utils.d.ts +1 -1
  209. package/force-app/main/default/staticresources/coveoheadless/headless.js +12 -10
  210. package/force-app/main/default/staticresources/coveoheadless/insight/headless.js +11 -9
  211. package/force-app/main/default/staticresources/coveoheadless/recommendation/headless.js +9 -7
  212. package/package.json +2 -2
  213. package/force-app/main/default/staticresources/coveoheadless/definitions/app/ssr-engine/types/common.d.ts +0 -80
  214. package/force-app/main/default/staticresources/coveoheadless/definitions/controllers/breadcrumb-manager/headless-breadcrumb-manager.ssr.d.ts +0 -13
  215. package/force-app/main/default/staticresources/coveoheadless/definitions/controllers/commerce/core/summary/headless-core-summary.ssr.d.ts +0 -13
  216. package/force-app/main/default/staticresources/coveoheadless/definitions/controllers/commerce/filter-suggestions/headless-filter-suggestions-generator.ssr.d.ts +0 -16
  217. package/force-app/main/default/staticresources/coveoheadless/definitions/controllers/commerce/product-list/headless-product-list.ssr.d.ts +0 -13
  218. package/force-app/main/default/staticresources/coveoheadless/definitions/controllers/context/headless-context.ssr.d.ts +0 -14
  219. package/force-app/main/default/staticresources/coveoheadless/definitions/controllers/dictionary-field-context/headless-dictionary-field-context.ssr.d.ts +0 -13
  220. package/force-app/main/default/staticresources/coveoheadless/definitions/controllers/did-you-mean/headless-did-you-mean.ssr.d.ts +0 -13
  221. package/force-app/main/default/staticresources/coveoheadless/definitions/controllers/facet-manager/headless-facet-manager.ssr.d.ts +0 -13
  222. package/force-app/main/default/staticresources/coveoheadless/definitions/controllers/facets/range-facet/date-facet/headless-date-facet.ssr.d.ts +0 -15
  223. package/force-app/main/default/staticresources/coveoheadless/definitions/controllers/facets/range-facet/numeric-facet/headless-numeric-facet.ssr.d.ts +0 -15
  224. package/force-app/main/default/staticresources/coveoheadless/definitions/controllers/history-manager/headless-history-manager.ssr.d.ts +0 -13
  225. package/force-app/main/default/staticresources/coveoheadless/definitions/controllers/query-error/headless-query-error.ssr.d.ts +0 -13
  226. package/force-app/main/default/staticresources/coveoheadless/definitions/controllers/query-summary/headless-query-summary.ssr.d.ts +0 -13
  227. package/force-app/main/default/staticresources/coveoheadless/definitions/controllers/search-status/headless-search-status.ssr.d.ts +0 -13
  228. package/force-app/main/default/staticresources/coveoheadless/definitions/controllers/smart-snippet-questions-list/headless-smart-snippet-questions-list.ssr.d.ts +0 -15
  229. package/force-app/main/default/staticresources/coveoheadless/definitions/controllers/static-filter/headless-static-filter.ssr.d.ts +0 -15
  230. package/force-app/main/default/staticresources/coveoheadless/definitions/controllers/tab-manager/headless-tab-manager.ssr.d.ts +0 -13
  231. package/force-app/main/default/staticresources/coveoheadless/definitions/controllers/triggers/headless-execute-trigger.ssr.d.ts +0 -13
  232. package/force-app/main/default/staticresources/coveoheadless/definitions/controllers/triggers/headless-notify-trigger.ssr.d.ts +0 -13
  233. package/force-app/main/default/staticresources/coveoheadless/definitions/controllers/triggers/headless-query-trigger.ssr.d.ts +0 -14
  234. package/force-app/main/default/staticresources/coveoheadless/definitions/controllers/url-manager/headless-url-manager.ssr.d.ts +0 -16
  235. /package/force-app/main/default/staticresources/coveoheadless/definitions/{app/commerce-ssr-engine → ssr-next/commerce}/types/kind.d.ts +0 -0
@@ -1,8 +1,11 @@
1
1
  import type { UnknownAction } from '@reduxjs/toolkit';
2
2
  import type { Controller } from '../../controllers/controller/headless-controller.js';
3
- import type { ControllersMap, InferControllerStaticStateMapFromControllers } from '../ssr-engine/types/common.js';
3
+ import type { ControllersMap } from '../common/types/controllers.js';
4
4
  import type { SSRCommerceEngine } from './factories/build-factory.js';
5
- import type { ControllerDefinitionOption, ControllerDefinitionsMap, EngineStaticState, InferControllerPropsMapFromDefinitions, InferControllersMapFromDefinition, SolutionType } from './types/common.js';
5
+ import type { SolutionType } from './types/controller-constants.js';
6
+ import type { ControllerDefinitionOption, ControllerDefinitionsMap, InferControllerStaticStateMapFromControllers } from './types/controller-definitions.js';
7
+ import type { InferControllerPropsMapFromDefinitions, InferControllersMapFromDefinition } from './types/controller-inference.js';
8
+ import type { EngineStaticState } from './types/engine.js';
6
9
  export declare function createStaticState<TSearchAction extends UnknownAction>({ searchActions, controllers, }: {
7
10
  searchActions: TSearchAction[];
8
11
  controllers: ControllersMap;
@@ -1,5 +1,5 @@
1
- import { type ControllerDefinitionOption, type SubControllerDefinitionWithoutProps } from '../../../../app/commerce-ssr-engine/types/common.js';
2
- import type { BreadcrumbManager, BreadcrumbManagerState } from './headless-core-breadcrumb-manager.js';
1
+ import type { BreadcrumbManager, BreadcrumbManagerState } from '../../../../controllers/commerce/core/breadcrumb-manager/headless-core-breadcrumb-manager.js';
2
+ import type { ControllerDefinitionOption, SubControllerDefinitionWithoutProps } from '../../types/controller-definitions.js';
3
3
  export type { BreadcrumbManager, BreadcrumbManagerState };
4
4
  /**
5
5
  * Defines a `BreadcrumbManager` controller instance.
@@ -1,7 +1,6 @@
1
- import type { UniversalControllerDefinitionWithProps } from '../../../../app/commerce-ssr-engine/types/common.js';
2
- import { type Cart, type CartInitialState } from './headless-cart.js';
3
- export type { CartItem, CartProps, CartState } from './headless-cart.js';
4
- export type { Cart, CartInitialState };
1
+ import { type Cart, type CartInitialState, type CartItem, type CartProps, type CartState } from '../../../../controllers/commerce/context/cart/headless-cart.js';
2
+ import type { UniversalControllerDefinitionWithProps } from '../../types/controller-definitions.js';
3
+ export type { Cart, CartInitialState, CartItem, CartProps, CartState };
5
4
  export interface CartBuildProps {
6
5
  initialState: CartInitialState;
7
6
  }
@@ -1,7 +1,6 @@
1
- import type { UniversalControllerDefinitionWithProps } from '../../../app/commerce-ssr-engine/types/common.js';
2
- import { type Context, type ContextOptions, type UserLocation, type View } from './headless-context.js';
3
- export type { Context, ContextProps, ContextState } from './headless-context.js';
4
- export type { View, UserLocation, ContextOptions };
1
+ import { type Context, type ContextOptions, type ContextProps, type ContextState, type UserLocation, type View } from '../../../../controllers/commerce/context/headless-context.js';
2
+ import type { UniversalControllerDefinitionWithProps } from '../../types/controller-definitions.js';
3
+ export type { Context, ContextProps, ContextState, View, UserLocation, ContextOptions, };
5
4
  export interface ContextDefinition extends UniversalControllerDefinitionWithProps<Context, ContextOptions> {
6
5
  }
7
6
  /**
@@ -1,5 +1,5 @@
1
- import type { SearchOnlyControllerDefinitionWithoutProps } from '../../../../app/commerce-ssr-engine/types/common.js';
2
- import type { DidYouMean, DidYouMeanState } from './headless-did-you-mean.js';
1
+ import type { DidYouMean, DidYouMeanState } from '../../../../controllers/commerce/search/did-you-mean/headless-did-you-mean.js';
2
+ import type { SearchOnlyControllerDefinitionWithoutProps } from '../../types/controller-definitions.js';
3
3
  export type { DidYouMean, DidYouMeanState };
4
4
  /**
5
5
  * Defines a `DidYouMean` controller instance.
@@ -0,0 +1,15 @@
1
+ import type { FieldSuggestionsFacet } from '../../../../api/commerce/search/query-suggest/query-suggest-response.js';
2
+ import type { CategoryFilterSuggestions, CategoryFilterSuggestionsState } from '../../../../controllers/commerce/filter-suggestions/headless-category-filter-suggestions.js';
3
+ import type { FilterSuggestions, FilterSuggestionsState } from '../../../../controllers/commerce/filter-suggestions/headless-filter-suggestions.js';
4
+ import { type FilterSuggestionsGenerator, type GeneratedFilterSuggestionsControllers } from '../../../../controllers/commerce/filter-suggestions/headless-filter-suggestions-generator.js';
5
+ import type { NonRecommendationControllerDefinitionWithoutProps } from '../../types/controller-definitions.js';
6
+ export type { FilterSuggestionsGenerator, GeneratedFilterSuggestionsControllers, FieldSuggestionsFacet, CategoryFilterSuggestions, CategoryFilterSuggestionsState, FilterSuggestions, FilterSuggestionsState, };
7
+ export interface FilterSuggestionsGeneratorDefinition extends NonRecommendationControllerDefinitionWithoutProps<FilterSuggestionsGenerator> {
8
+ }
9
+ /**
10
+ * Defines the `FilterSuggestionsGenerator` controller for the purpose of server-side rendering.
11
+ * @group Definers
12
+ *
13
+ * @returns The `FilterSuggestionsGenerator` controller definition.
14
+ */
15
+ export declare function defineFilterSuggestionsGenerator(): FilterSuggestionsGeneratorDefinition;
@@ -1,15 +1,16 @@
1
- import type { BaseFacetSearchResult } from '../../../../../api/search/facet-search/base/base-facet-search-response.js';
2
- import type { CategoryFacetSearchResult } from '../../../../../api/search/facet-search/category-facet-search/category-facet-search-response.js';
3
- import type { CommerceEngine } from '../../../../../app/commerce-engine/commerce-engine.js';
4
- import { type ControllerDefinitionOption, SolutionType, type SubControllerDefinitionWithoutProps } from '../../../../../app/commerce-ssr-engine/types/common.js';
5
- import type { LocationFacetValue, RegularFacetValue } from '../../../../../features/commerce/facets/facet-set/interfaces/response.js';
6
- import type { CategoryFacet, CategoryFacetState } from '../category/headless-commerce-category-facet.js';
7
- import type { DateFacet, DateFacetState, DateFacetValue } from '../date/headless-commerce-date-facet.js';
8
- import type { CategoryFacetValue, CoreCommerceFacet, FacetType } from '../headless-core-commerce-facet.js';
9
- import type { LocationFacet, LocationFacetState } from '../location/headless-commerce-location-facet.js';
10
- import type { NumericFacet, NumericFacetState, NumericFacetValue } from '../numeric/headless-commerce-numeric-facet.js';
11
- import type { RegularFacet, RegularFacetState } from '../regular/headless-commerce-regular-facet.js';
12
- import type { FacetGenerator as CSRFacetGenerator, MappedGeneratedFacetController } from './headless-commerce-facet-generator.js';
1
+ import type { BaseFacetSearchResult } from '../../../../api/search/facet-search/base/base-facet-search-response.js';
2
+ import type { CategoryFacetSearchResult } from '../../../../api/search/facet-search/category-facet-search/category-facet-search-response.js';
3
+ import type { CommerceEngine } from '../../../../app/commerce-engine/commerce-engine.js';
4
+ import type { CategoryFacet, CategoryFacetState } from '../../../../controllers/commerce/core/facets/category/headless-commerce-category-facet.js';
5
+ import type { DateFacet, DateFacetState, DateFacetValue } from '../../../../controllers/commerce/core/facets/date/headless-commerce-date-facet.js';
6
+ import type { FacetGenerator as CSRFacetGenerator, MappedGeneratedFacetController } from '../../../../controllers/commerce/core/facets/generator/headless-commerce-facet-generator.js';
7
+ import type { CategoryFacetValue, CoreCommerceFacet, FacetType } from '../../../../controllers/commerce/core/facets/headless-core-commerce-facet.js';
8
+ import type { LocationFacet, LocationFacetState } from '../../../../controllers/commerce/core/facets/location/headless-commerce-location-facet.js';
9
+ import type { NumericFacet, NumericFacetState, NumericFacetValue } from '../../../../controllers/commerce/core/facets/numeric/headless-commerce-numeric-facet.js';
10
+ import type { RegularFacet, RegularFacetState } from '../../../../controllers/commerce/core/facets/regular/headless-commerce-regular-facet.js';
11
+ import type { LocationFacetValue, RegularFacetValue } from '../../../../features/commerce/facets/facet-set/interfaces/response.js';
12
+ import { SolutionType } from '../../types/controller-constants.js';
13
+ import type { ControllerDefinitionOption, SubControllerDefinitionWithoutProps } from '../../types/controller-definitions.js';
13
14
  export type { BaseFacetSearchResult, CategoryFacet, CategoryFacetState, CategoryFacetValue, CategoryFacetSearchResult, CoreCommerceFacet, DateFacet, DateFacetValue, DateFacetState, NumericFacet, NumericFacetValue, NumericFacetState, RegularFacet, RegularFacetState, RegularFacetValue, LocationFacet, LocationFacetState, LocationFacetValue, MappedGeneratedFacetController, };
14
15
  export type FacetGeneratorState = MappedFacetStates;
15
16
  export type MappedFacetStates = Array<MappedFacetState[FacetType]>;
@@ -1,7 +1,6 @@
1
- import type { NonRecommendationControllerDefinitionWithoutProps } from '../../../app/commerce-ssr-engine/types/common.js';
2
- import { type InstantProducts, type InstantProductsProps } from './headless-instant-products.js';
3
- export type { InstantProductsOptions, InstantProductsState, } from './headless-instant-products.js';
4
- export type { InstantProducts, InstantProductsProps };
1
+ import { type InstantProducts, type InstantProductsOptions, type InstantProductsProps, type InstantProductsState } from '../../../../controllers/commerce/instant-products/headless-instant-products.js';
2
+ import type { NonRecommendationControllerDefinitionWithoutProps } from '../../types/controller-definitions.js';
3
+ export type { InstantProductsOptions, InstantProductsState, InstantProducts, InstantProductsProps, };
5
4
  export interface InstantProductsDefinition extends NonRecommendationControllerDefinitionWithoutProps<InstantProducts> {
6
5
  }
7
6
  /**
@@ -1,5 +1,5 @@
1
- import { type ControllerDefinitionOption, type SubControllerDefinitionWithoutProps } from '../../../../app/commerce-ssr-engine/types/common.js';
2
- import type { CorePaginationOptions, Pagination, PaginationOptions, PaginationProps, PaginationState } from './headless-core-commerce-pagination.js';
1
+ import type { CorePaginationOptions, Pagination, PaginationOptions, PaginationProps, PaginationState } from '../../../../controllers/commerce/core/pagination/headless-core-commerce-pagination.js';
2
+ import type { ControllerDefinitionOption, SubControllerDefinitionWithoutProps } from '../../types/controller-definitions.js';
3
3
  export type { Pagination, PaginationProps, PaginationState, PaginationOptions, CorePaginationOptions, };
4
4
  /**
5
5
  * Defines a `Pagination` controller instance.
@@ -1,8 +1,8 @@
1
- import { type ControllerDefinitionOption, type SubControllerDefinitionWithProps } from '../../../../app/commerce-ssr-engine/types/common.js';
1
+ import type { ParameterManager, ParameterManagerProps, ParameterManagerState } from '../../../../controllers/commerce/core/parameter-manager/headless-core-parameter-manager.js';
2
2
  import type { Parameters } from '../../../../features/commerce/parameters/parameters-actions.js';
3
3
  import type { ProductListingParameters } from '../../../../features/commerce/product-listing-parameters/product-listing-parameters-actions.js';
4
4
  import type { CommerceSearchParameters } from '../../../../features/commerce/search-parameters/search-parameters-actions.js';
5
- import type { ParameterManager, ParameterManagerProps, ParameterManagerState } from './headless-core-parameter-manager.js';
5
+ import type { ControllerDefinitionOption, SubControllerDefinitionWithProps } from '../../types/controller-definitions.js';
6
6
  export type { ParameterManager, ParameterManagerProps, ParameterManagerState, Parameters, ProductListingParameters, CommerceSearchParameters, };
7
7
  /**
8
8
  * Defines a `ParameterManager` controller instance.
@@ -0,0 +1,12 @@
1
+ import { type ProductListing, type ProductListingState } from '../../../../controllers/commerce/product-listing/headless-product-listing.js';
2
+ import { type Search } from '../../../../controllers/commerce/search/headless-search.js';
3
+ import type { ControllerDefinitionOption, SubControllerDefinitionWithoutProps } from '../../types/controller-definitions.js';
4
+ export type { Search, ProductListing, ProductListingState as ProductListState };
5
+ export type ProductList = Pick<ProductListing | Search, 'state' | 'subscribe' | 'interactiveProduct' | 'promoteChildToParent'>;
6
+ /**
7
+ * Defines a `ProductList` controller instance.
8
+ * @group Definers
9
+ *
10
+ * @returns The `ProductList` controller definition.
11
+ */
12
+ export declare function defineProductList<TOptions extends ControllerDefinitionOption | undefined>(options?: TOptions): SubControllerDefinitionWithoutProps<ProductList, TOptions>;
@@ -1,6 +1,6 @@
1
- import type { NonRecommendationControllerDefinitionWithoutProps } from '../../../app/commerce-ssr-engine/types/common.js';
2
- import { type Controller } from '../../controller/headless-controller.js';
3
- import { type ProductView as BaseProductView } from './headless-product-view.js';
1
+ import { type ProductView as BaseProductView } from '../../../../controllers/commerce/product-view/headless-product-view.js';
2
+ import { type Controller } from '../../../../controllers/controller/headless-controller.js';
3
+ import type { NonRecommendationControllerDefinitionWithoutProps } from '../../types/controller-definitions.js';
4
4
  interface ProductViewDefinition extends NonRecommendationControllerDefinitionWithoutProps<ProductView> {
5
5
  }
6
6
  /**
@@ -1,7 +1,6 @@
1
- import type { NonRecommendationControllerDefinitionWithoutProps } from '../../../app/commerce-ssr-engine/types/common.js';
2
- import { type RecentQueriesList, type RecentQueriesListProps } from './headless-recent-queries-list.js';
3
- export type { RecentQueriesListInitialState, RecentQueriesListOptions, RecentQueriesState, } from './headless-recent-queries-list.js';
4
- export type { RecentQueriesList, RecentQueriesListProps };
1
+ import { type RecentQueriesList, type RecentQueriesListInitialState, type RecentQueriesListOptions, type RecentQueriesListProps, type RecentQueriesState } from '../../../../controllers/commerce/recent-queries-list/headless-recent-queries-list.js';
2
+ import type { NonRecommendationControllerDefinitionWithoutProps } from '../../types/controller-definitions.js';
3
+ export type { RecentQueriesListInitialState, RecentQueriesListOptions, RecentQueriesState, RecentQueriesList, RecentQueriesListProps, };
5
4
  export interface RecentQueriesListDefinition extends NonRecommendationControllerDefinitionWithoutProps<RecentQueriesList> {
6
5
  }
7
6
  /**
@@ -1,6 +1,6 @@
1
- import { type RecommendationOnlyControllerDefinitionWithProps, recommendationInternalOptionKey } from '../../../app/commerce-ssr-engine/types/common.js';
2
- import type { RecommendationsOptions, RecommendationsState } from '../recommendations/headless-recommendations.js';
3
- import { type Recommendations, type RecommendationsProps } from './headless-recommendations.js';
1
+ import { type Recommendations, type RecommendationsOptions, type RecommendationsProps, type RecommendationsState } from '../../../../controllers/commerce/recommendations/headless-recommendations.js';
2
+ import { recommendationInternalOptionKey } from '../../types/controller-constants.js';
3
+ import type { RecommendationOnlyControllerDefinitionWithProps } from '../../types/controller-definitions.js';
4
4
  export type { Recommendations, RecommendationsState };
5
5
  export type RecommendationsDefinitionMeta = {
6
6
  [recommendationInternalOptionKey]: {} & RecommendationsProps['options'];
@@ -1,7 +1,6 @@
1
- import type { SearchOnlyControllerDefinitionWithoutProps } from '../../../app/commerce-ssr-engine/types/common.js';
2
- import { type SearchBox, type SearchBoxOptions, type SearchBoxProps, type Suggestion } from './headless-search-box.js';
3
- export type { CoreSearchBox, SearchBox, SearchBoxProps, SearchBoxState, } from './headless-search-box.js';
4
- export type { SearchBoxOptions, Suggestion };
1
+ import { type CoreSearchBox, type SearchBox, type SearchBoxOptions, type SearchBoxProps, type SearchBoxState, type Suggestion } from '../../../../controllers/commerce/search-box/headless-search-box.js';
2
+ import type { SearchOnlyControllerDefinitionWithoutProps } from '../../types/controller-definitions.js';
3
+ export type { CoreSearchBox, SearchBox, SearchBoxProps, SearchBoxState, SearchBoxOptions, Suggestion, };
5
4
  export interface SearchBoxDefinition extends SearchOnlyControllerDefinitionWithoutProps<SearchBox> {
6
5
  }
7
6
  /**
@@ -1,5 +1,5 @@
1
- import { type ControllerDefinitionOption, type SubControllerDefinitionWithoutProps } from '../../../../app/commerce-ssr-engine/types/common.js';
2
- import type { Sort, SortProps, SortState } from './headless-core-commerce-sort.js';
1
+ import type { Sort, SortProps, SortState } from '../../../../controllers/commerce/core/sort/headless-core-commerce-sort.js';
2
+ import type { ControllerDefinitionOption, SubControllerDefinitionWithoutProps } from '../../types/controller-definitions.js';
3
3
  export type { Sort, SortProps, SortState };
4
4
  /**
5
5
  * Defines a `Sort` controller instance.
@@ -1,8 +1,7 @@
1
- import type { ListingAndStandaloneControllerWithoutProps } from '../../../app/commerce-ssr-engine/types/common.js';
2
- import type { StandaloneSearchBoxProps } from '../../standalone-search-box/headless-standalone-search-box.js';
3
- import { type StandaloneSearchBox } from './headless-standalone-search-box.js';
4
- export type { StandaloneSearchBoxState } from './headless-standalone-search-box.js';
5
- export type { StandaloneSearchBox, StandaloneSearchBoxProps };
1
+ import { type StandaloneSearchBox, type StandaloneSearchBoxState } from '../../../../controllers/commerce/standalone-search-box/headless-standalone-search-box.js';
2
+ import type { StandaloneSearchBoxProps } from '../../../../controllers/standalone-search-box/headless-standalone-search-box.js';
3
+ import type { ListingAndStandaloneControllerWithoutProps } from '../../types/controller-definitions.js';
4
+ export type { StandaloneSearchBoxState, StandaloneSearchBox, StandaloneSearchBoxProps, };
6
5
  export interface StandaloneSearchBoxDefinition extends ListingAndStandaloneControllerWithoutProps<StandaloneSearchBox> {
7
6
  }
8
7
  /**
@@ -0,0 +1,13 @@
1
+ import type { Summary, SummaryState } from '../../../../controllers/commerce/core/summary/headless-core-summary.js';
2
+ import type { ProductListingSummaryState } from '../../../../controllers/commerce/product-listing/summary/headless-product-listing-summary.js';
3
+ import type { RecommendationsSummaryState } from '../../../../controllers/commerce/recommendations/summary/headless-recommendations-summary.js';
4
+ import type { SearchSummaryState } from '../../../../controllers/commerce/search/summary/headless-search-summary.js';
5
+ import type { ControllerDefinitionOption, SubControllerDefinitionWithoutProps } from '../../types/controller-definitions.js';
6
+ export type { Summary, ProductListingSummaryState, RecommendationsSummaryState, SearchSummaryState, SummaryState, };
7
+ /**
8
+ * Defines a `Summary` controller instance.
9
+ * @group Definers
10
+ *
11
+ * @returns The `Summary` controller definition.
12
+ */
13
+ export declare function defineSummary<TOptions extends ControllerDefinitionOption | undefined>(options?: TOptions): SubControllerDefinitionWithoutProps<Summary<ProductListingSummaryState | SearchSummaryState | RecommendationsSummaryState>, TOptions>;
@@ -1,7 +1,6 @@
1
- import type { SearchAndListingControllerDefinitionWithoutProps } from '../../../app/commerce-ssr-engine/types/common.js';
2
- import type { NotifyTrigger } from '../../core/triggers/headless-core-notify-trigger.js';
3
- export type { NotifyTriggerState } from '../../core/triggers/headless-core-notify-trigger.js';
4
- export type { NotifyTrigger };
1
+ import type { NotifyTrigger, NotifyTriggerState } from '../../../../controllers/core/triggers/headless-core-notify-trigger.js';
2
+ import type { SearchAndListingControllerDefinitionWithoutProps } from '../../types/controller-definitions.js';
3
+ export type { NotifyTrigger, NotifyTriggerState };
5
4
  export interface NotifyTriggerDefinition extends SearchAndListingControllerDefinitionWithoutProps<NotifyTrigger> {
6
5
  }
7
6
  /**
@@ -1,6 +1,6 @@
1
- import type { SearchOnlyControllerDefinitionWithoutProps } from '../../../app/commerce-ssr-engine/types/common.js';
2
- import type { QueryTrigger } from '../../core/triggers/headless-core-query-trigger.js';
3
- export type { QueryTriggerState } from '../../core/triggers/headless-core-query-trigger.js';
1
+ import type { QueryTrigger } from '../../../../controllers/core/triggers/headless-core-query-trigger.js';
2
+ import type { SearchOnlyControllerDefinitionWithoutProps } from '../../types/controller-definitions.js';
3
+ export type { QueryTriggerState } from '../../../../controllers/core/triggers/headless-core-query-trigger.js';
4
4
  export type { QueryTrigger };
5
5
  export interface QueryTriggerDefinition extends SearchOnlyControllerDefinitionWithoutProps<QueryTrigger> {
6
6
  }
@@ -1,7 +1,6 @@
1
- import type { SearchOnlyControllerDefinitionWithoutProps } from '../../../app/commerce-ssr-engine/types/common.js';
2
- import type { RedirectionTrigger } from '../../core/triggers/headless-core-redirection-trigger.js';
3
- export type { RedirectionTriggerState } from '../../core/triggers/headless-core-redirection-trigger.js';
4
- export type { RedirectionTrigger };
1
+ import type { RedirectionTrigger, RedirectionTriggerState } from '../../../../controllers/core/triggers/headless-core-redirection-trigger.js';
2
+ import type { SearchOnlyControllerDefinitionWithoutProps } from '../../types/controller-definitions.js';
3
+ export type { RedirectionTrigger, RedirectionTriggerState };
5
4
  export interface RedirectionTriggerDefinition extends SearchOnlyControllerDefinitionWithoutProps<RedirectionTrigger> {
6
5
  }
7
6
  /**
@@ -1,11 +1,12 @@
1
1
  /**
2
2
  * Utility functions to be used for Commerce Server Side Rendering.
3
3
  */
4
- import type { Controller } from '../../controllers/controller/headless-controller.js';
5
- import { type CommerceEngineDefinitionOptions } from '../commerce-ssr-engine/factories/build-factory.js';
6
- import { type ControllerDefinitionsMap, SolutionType } from '../commerce-ssr-engine/types/common.js';
7
- import type { EngineDefinition } from '../commerce-ssr-engine/types/core-engine.js';
8
- import type { CommerceEngineOptions } from './commerce-engine.js';
4
+ import type { CommerceEngineOptions } from '../../../app/commerce-engine/commerce-engine.js';
5
+ import type { Controller } from '../../../controllers/controller/headless-controller.js';
6
+ import { type CommerceEngineDefinitionOptions } from '../factories/build-factory.js';
7
+ import { SolutionType } from '../types/controller-constants.js';
8
+ import type { ControllerDefinitionsMap } from '../types/controller-definitions.js';
9
+ import type { EngineDefinition } from '../types/engine.js';
9
10
  export interface CommerceEngineDefinition<TControllers extends ControllerDefinitionsMap<Controller>, TSolutionType extends SolutionType> extends EngineDefinition<TControllers, CommerceEngineOptions, TSolutionType> {
10
11
  }
11
12
  /**
@@ -1,8 +1,9 @@
1
1
  import type { Action } from '@reduxjs/toolkit';
2
+ import { type CommerceEngine, type CommerceEngineOptions } from '../../../app/commerce-engine/commerce-engine.js';
2
3
  import type { Controller } from '../../../controllers/controller/headless-controller.js';
3
- import { type CommerceEngine, type CommerceEngineOptions } from '../../commerce-engine/commerce-engine.js';
4
- import { type ControllerDefinitionsMap, SolutionType } from '../types/common.js';
5
- import type { BuildParameters, CommerceControllerDefinitionsMap, EngineDefinitionOptions } from '../types/core-engine.js';
4
+ import { SolutionType } from '../types/controller-constants.js';
5
+ import type { ControllerDefinitionsMap } from '../types/controller-definitions.js';
6
+ import type { BuildParameters, CommerceControllerDefinitionsMap, EngineDefinitionOptions } from '../types/engine.js';
6
7
  /**
7
8
  * The SSR commerce engine.
8
9
  *
@@ -17,5 +18,5 @@ export interface SSRCommerceEngine extends CommerceEngine {
17
18
  export type CommerceEngineDefinitionOptions<TControllers extends ControllerDefinitionsMap<Controller> = ControllerDefinitionsMap<Controller>> = EngineDefinitionOptions<CommerceEngineOptions, TControllers>;
18
19
  export declare const buildFactory: <TControllerDefinitions extends CommerceControllerDefinitionsMap>(controllerDefinitions: TControllerDefinitions | undefined, options: CommerceEngineDefinitionOptions<TControllerDefinitions>) => <T extends SolutionType>(solutionType: T) => (...[buildOptions]: BuildParameters<TControllerDefinitions>) => Promise<{
19
20
  engine: SSRCommerceEngine;
20
- controllers: import("../types/common.js").InferControllersMapFromDefinition<TControllerDefinitions, T>;
21
+ controllers: import("../types/controller-inference.js").InferControllersMapFromDefinition<TControllerDefinitions, T>;
21
22
  }>;
@@ -1,4 +1,4 @@
1
- import type { SolutionType } from '../types/common.js';
2
- import type { CommerceControllerDefinitionsMap, HydrateStaticStateFunction } from '../types/core-engine.js';
1
+ import type { SolutionType } from '../types/controller-constants.js';
2
+ import type { CommerceControllerDefinitionsMap, HydrateStaticStateFunction } from '../types/engine.js';
3
3
  import { type CommerceEngineDefinitionOptions } from './build-factory.js';
4
4
  export declare const hydratedStaticStateFactory: <TControllerDefinitions extends CommerceControllerDefinitionsMap>(controllerDefinitions: TControllerDefinitions | undefined, options: CommerceEngineDefinitionOptions<TControllerDefinitions>) => (solutionType: SolutionType) => HydrateStaticStateFunction<TControllerDefinitions>;
@@ -1,3 +1,3 @@
1
- import type { CommerceControllerDefinitionsMap, HydrateStaticStateFunction } from '../types/core-engine.js';
1
+ import type { CommerceControllerDefinitionsMap, HydrateStaticStateFunction } from '../types/engine.js';
2
2
  import { type CommerceEngineDefinitionOptions } from './build-factory.js';
3
3
  export declare function hydratedRecommendationStaticStateFactory<TControllerDefinitions extends CommerceControllerDefinitionsMap>(controllerDefinitions: TControllerDefinitions | undefined, options: CommerceEngineDefinitionOptions<TControllerDefinitions>): HydrateStaticStateFunction<TControllerDefinitions>;
@@ -1,3 +1,3 @@
1
- import type { CommerceControllerDefinitionsMap, FetchStaticStateFunction } from '../types/core-engine.js';
1
+ import type { CommerceControllerDefinitionsMap, FetchStaticStateFunction } from '../types/engine.js';
2
2
  import { type CommerceEngineDefinitionOptions } from './build-factory.js';
3
3
  export declare function fetchRecommendationStaticStateFactory<TControllerDefinitions extends CommerceControllerDefinitionsMap>(controllerDefinitions: TControllerDefinitions | undefined, options: CommerceEngineDefinitionOptions<TControllerDefinitions>): FetchStaticStateFunction<TControllerDefinitions>;
@@ -1,4 +1,4 @@
1
- import { SolutionType } from '../types/common.js';
2
- import type { CommerceControllerDefinitionsMap, FetchStaticStateFunction } from '../types/core-engine.js';
1
+ import { SolutionType } from '../types/controller-constants.js';
2
+ import type { CommerceControllerDefinitionsMap, FetchStaticStateFunction } from '../types/engine.js';
3
3
  import { type CommerceEngineDefinitionOptions } from './build-factory.js';
4
4
  export declare const fetchStaticStateFactory: <TControllerDefinitions extends CommerceControllerDefinitionsMap>(controllerDefinitions: TControllerDefinitions | undefined, options: CommerceEngineDefinitionOptions<TControllerDefinitions>) => (solutionType: SolutionType) => FetchStaticStateFunction<TControllerDefinitions>;
@@ -1,7 +1,9 @@
1
1
  import type { Controller } from '../../../controllers/controller/headless-controller.js';
2
- import type { ControllersMap, ControllersPropsMap, EngineDefinitionBuildResult, OptionsExtender, OptionsTuple } from '../../ssr-engine/types/common.js';
2
+ import type { ControllersMap, ControllersPropsMap } from '../../common/types/controllers.js';
3
+ import type { OptionsExtender, OptionsTuple } from '../../common/types/utilities.js';
3
4
  import type { SSRCommerceEngine } from '../factories/build-factory.js';
4
- import type { ControllerDefinitionsMap, EngineDefinitionControllersPropsOption, SolutionType } from './common.js';
5
+ import type { SolutionType } from './controller-constants.js';
6
+ import type { ControllerDefinitionsMap, EngineDefinitionBuildResult, EngineDefinitionControllersPropsOption } from './controller-definitions.js';
5
7
  export interface BuildOptions<TEngineOptions> {
6
8
  extend?: OptionsExtender<TEngineOptions>;
7
9
  }
@@ -0,0 +1,7 @@
1
+ export declare enum SolutionType {
2
+ search = "search",
3
+ listing = "listing",
4
+ standalone = "standalone",
5
+ recommendation = "recommendation"
6
+ }
7
+ export declare const recommendationInternalOptionKey: unique symbol;
@@ -1,17 +1,15 @@
1
- import type { UnknownAction } from '@reduxjs/toolkit';
2
1
  import type { Controller } from '../../../controllers/controller/headless-controller.js';
3
- import type { InvalidControllerDefinition } from '../../../utils/errors.js';
4
- import type { ControllerStaticStateMap, ControllersPropsMap, EngineDefinitionBuildResult, HasKey, HasKeys, HasOptionalKeys, HasRequiredKeys, HydratedState, InferControllerStaticStateFromController, InferControllerStaticStateMapFromControllers, OptionsTuple } from '../../ssr-engine/types/common.js';
2
+ import type { InvalidControllerDefinition } from '../../common/errors.js';
3
+ import type { ControllersPropsMap } from '../../common/types/controllers.js';
4
+ import type { EngineDefinitionBuildResult } from '../../common/types/engine.js';
5
+ import type { HydratedState } from '../../common/types/hydrate-static-state.js';
6
+ import type { InferControllerStaticStateFromController, InferControllerStaticStateMapFromControllers } from '../../common/types/inference.js';
7
+ import type { HasKey, HasOptionalKeys, HasRequiredKeys, OptionsTuple } from '../../common/types/utilities.js';
5
8
  import type { SSRCommerceEngine } from '../factories/build-factory.js';
9
+ import { type recommendationInternalOptionKey, SolutionType } from './controller-constants.js';
10
+ import type { ListingAndStandaloneController, ListingOnlyController, NonRecommendationController, RecommendationOnlyController, SearchAndListingController, SearchOnlyController, UniversalController } from './controller-scopes.js';
6
11
  import type { Kind } from './kind.js';
7
12
  export type { EngineDefinitionBuildResult, HydratedState, OptionsTuple, InferControllerStaticStateFromController, InferControllerStaticStateMapFromControllers, };
8
- export declare enum SolutionType {
9
- search = "search",
10
- listing = "listing",
11
- standalone = "standalone",
12
- recommendation = "recommendation"
13
- }
14
- export declare const recommendationInternalOptionKey: unique symbol;
15
13
  export type RecommendationControllerSettings = {
16
14
  /**
17
15
  * Toggle to enable or disable the recommendation controller.
@@ -21,7 +19,7 @@ export type RecommendationControllerSettings = {
21
19
  */
22
20
  enabled?: boolean;
23
21
  };
24
- interface ControllerDefinitionWithoutProps<TController extends Controller> {
22
+ export interface ControllerDefinitionWithoutProps<TController extends Controller> {
25
23
  /**
26
24
  * Creates an instance of the given controller.
27
25
  *
@@ -34,7 +32,7 @@ interface ControllerDefinitionWithoutProps<TController extends Controller> {
34
32
  export interface ControllerWithKind extends Controller {
35
33
  _kind: Kind;
36
34
  }
37
- interface ControllerDefinitionWithProps<TController extends Controller, TProps> {
35
+ export interface ControllerDefinitionWithProps<TController extends Controller, TProps> {
38
36
  /**
39
37
  * Creates an instance of the given controller.
40
38
  *
@@ -45,10 +43,6 @@ interface ControllerDefinitionWithProps<TController extends Controller, TProps>
45
43
  */
46
44
  buildWithProps(engine: SSRCommerceEngine, props?: TProps, solutionType?: SolutionType): TController & ControllerWithKind;
47
45
  }
48
- export interface EngineStaticState<TSearchAction extends UnknownAction, TControllers extends ControllerStaticStateMap> {
49
- searchActions: TSearchAction[];
50
- controllers: TControllers;
51
- }
52
46
  interface SolutionTypeAvailability {
53
47
  [SolutionType.search]?: boolean;
54
48
  [SolutionType.listing]?: boolean;
@@ -59,17 +53,6 @@ export type ControllerDefinition<TController extends Controller> = SolutionTypeA
59
53
  export interface ControllerDefinitionsMap<TController extends Controller> {
60
54
  [customName: string]: ControllerDefinition<TController>;
61
55
  }
62
- export type InferControllerPropsFromDefinition<TController extends ControllerDefinition<Controller>> = TController extends ControllerDefinitionWithProps<Controller, infer Props> ? HasKey<TController, typeof recommendationInternalOptionKey> extends never ? Props : Props & RecommendationControllerSettings : TController extends ControllerDefinitionWithoutProps<Controller> ? HasKey<TController, typeof recommendationInternalOptionKey> extends never ? {} : RecommendationControllerSettings : unknown;
63
- export type InferControllerPropsMapFromDefinitions<TControllers extends ControllerDefinitionsMap<Controller>> = {
64
- [K in keyof TControllers as HasKeys<InferControllerPropsFromDefinition<TControllers[K]>> extends false ? never : K]: InferControllerPropsFromDefinition<TControllers[K]>;
65
- };
66
- export type InferControllerFromDefinition<TDefinition extends ControllerDefinition<Controller>> = TDefinition extends ControllerDefinition<infer TController> ? TController : never;
67
- export type InferControllersMapFromDefinition<TControllers extends ControllerDefinitionsMap<Controller>, TSolutionType extends SolutionType> = {
68
- [K in keyof TControllers as HasKey<TControllers[K], TSolutionType> extends never ? never : K]: InferControllerFromDefinition<TControllers[K]>;
69
- };
70
- export type InferControllerStaticStateMapFromDefinitionsWithSolutionType<TControllers extends ControllerDefinitionsMap<Controller>, TSolutionType extends SolutionType> = {
71
- [K in keyof TControllers as HasKey<TControllers[K], TSolutionType> extends never ? never : K]: InferControllerStaticStateFromController<InferControllerFromDefinition<TControllers[K]>>;
72
- };
73
56
  /**
74
57
  * This type defines the required and optional controller props for the engine definition.
75
58
  */
@@ -199,76 +182,6 @@ export interface ControllerDefinitionOption {
199
182
  */
200
183
  search?: boolean;
201
184
  }
202
- interface NonRecommendationController {
203
- /**
204
- * @internal
205
- */
206
- [SolutionType.search]: true;
207
- /**
208
- * @internal
209
- */
210
- [SolutionType.listing]: true;
211
- /**
212
- * @internal
213
- */
214
- [SolutionType.standalone]: true;
215
- }
216
- interface UniversalController {
217
- /**
218
- * @internal
219
- */
220
- [SolutionType.search]: true;
221
- /**
222
- * @internal
223
- */
224
- [SolutionType.listing]: true;
225
- /**
226
- * @internal
227
- */
228
- [SolutionType.standalone]: true;
229
- /**
230
- * @internal
231
- */
232
- [SolutionType.recommendation]: true;
233
- }
234
- interface SearchOnlyController {
235
- /**
236
- * @internal
237
- */
238
- [SolutionType.search]: true;
239
- }
240
- interface ListingOnlyController {
241
- /**
242
- * @internal
243
- */
244
- [SolutionType.listing]: true;
245
- }
246
- interface RecommendationOnlyController {
247
- /**
248
- * @internal
249
- */
250
- [SolutionType.recommendation]: true;
251
- }
252
- interface SearchAndListingController {
253
- /**
254
- * @internal
255
- */
256
- [SolutionType.search]: true;
257
- /**
258
- * @internal
259
- */
260
- [SolutionType.listing]: true;
261
- }
262
- interface ListingAndStandaloneController {
263
- /**
264
- * @internal
265
- */
266
- [SolutionType.listing]: true;
267
- /**
268
- * @internal
269
- */
270
- [SolutionType.standalone]: true;
271
- }
272
185
  export type SearchOnlyControllerDefinitionWithoutProps<TController extends Controller> = ControllerDefinitionWithoutProps<TController> & SearchOnlyController;
273
186
  type SearchOnlyControllerDefinitionWithProps<TController extends Controller, TProps> = ControllerDefinitionWithProps<TController, TProps> & SearchOnlyController;
274
187
  export type ListingAndStandaloneControllerWithoutProps<TController extends Controller> = ControllerDefinitionWithoutProps<TController> & ListingAndStandaloneController;
@@ -0,0 +1,24 @@
1
+ import type { Controller } from '../../../controllers/controller/headless-controller.js';
2
+ import type { HasKey, HasKeys } from '../../common/types/utilities.js';
3
+ import type { recommendationInternalOptionKey, SolutionType } from './controller-constants.js';
4
+ import type { ControllerDefinition, ControllerDefinitionsMap, ControllerDefinitionWithoutProps, ControllerDefinitionWithProps, InferControllerStaticStateFromController, RecommendationControllerSettings } from './controller-definitions.js';
5
+ export type InferStaticState<T extends {
6
+ fetchStaticState(...args: unknown[]): Promise<unknown>;
7
+ }> = Awaited<ReturnType<T['fetchStaticState']>>;
8
+ export type InferHydratedState<T extends {
9
+ hydrateStaticState(...args: unknown[]): Promise<unknown>;
10
+ }> = Awaited<ReturnType<T['hydrateStaticState']>>;
11
+ export type InferBuildResult<T extends {
12
+ build(...args: unknown[]): Promise<unknown>;
13
+ }> = Awaited<ReturnType<T['build']>>;
14
+ export type InferControllerPropsFromDefinition<TController extends ControllerDefinition<Controller>> = TController extends ControllerDefinitionWithProps<Controller, infer Props> ? HasKey<TController, typeof recommendationInternalOptionKey> extends never ? Props : Props & RecommendationControllerSettings : TController extends ControllerDefinitionWithoutProps<Controller> ? HasKey<TController, typeof recommendationInternalOptionKey> extends never ? {} : RecommendationControllerSettings : unknown;
15
+ export type InferControllerPropsMapFromDefinitions<TControllers extends ControllerDefinitionsMap<Controller>> = {
16
+ [K in keyof TControllers as HasKeys<InferControllerPropsFromDefinition<TControllers[K]>> extends false ? never : K]: InferControllerPropsFromDefinition<TControllers[K]>;
17
+ };
18
+ export type InferControllerFromDefinition<TDefinition extends ControllerDefinition<Controller>> = TDefinition extends ControllerDefinition<infer TController> ? TController : never;
19
+ export type InferControllersMapFromDefinition<TControllers extends ControllerDefinitionsMap<Controller>, TSolutionType extends SolutionType> = {
20
+ [K in keyof TControllers as HasKey<TControllers[K], TSolutionType> extends never ? never : K]: InferControllerFromDefinition<TControllers[K]>;
21
+ };
22
+ export type InferControllerStaticStateMapFromDefinitionsWithSolutionType<TControllers extends ControllerDefinitionsMap<Controller>, TSolutionType extends SolutionType> = {
23
+ [K in keyof TControllers as HasKey<TControllers[K], TSolutionType> extends never ? never : K]: InferControllerStaticStateFromController<InferControllerFromDefinition<TControllers[K]>>;
24
+ };