@fast-simon/dashboard-utilities 1.0.181-beta.4 → 1.0.181-beta.6

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.
@@ -18,7 +18,7 @@ interface LandingPageResponse {
18
18
  avoid_tag_prefixes?: string;
19
19
  }
20
20
  export declare const LandingPage: {
21
- landingPage: ({ uuid, storeID, landingPage, page, sortBy, facets, narrow, productsPerPage, withProductAttributes, searchWithinResultsQuery, type, visualMerchandising, merchandisingRules, idsOnly, }: any) => Promise<{
21
+ landingPage: ({ uuid, storeID, landingPage, page, sortBy, facets, narrow, productsPerPage, withProductAttributes, searchWithinResultsQuery, type, visualMerchandising, merchandisingRules, idsOnly, lastProduct, }: any) => Promise<{
22
22
  data: LandingPageResponse;
23
23
  getFacets: () => Promise<import("@fast-simon/utilities").Facet[]>;
24
24
  }>;
@@ -12,7 +12,7 @@ import { fastSimonPost } from "./API";
12
12
  import { FacetsParser } from "@fast-simon/utilities";
13
13
  const BASE_URL = (_a = import.meta.env.VITE_SERVING_BASE_URL) !== null && _a !== void 0 ? _a : "https://internal-v3joil6oqa-uc.a.run.app/search";
14
14
  export const LandingPage = {
15
- landingPage: ({ uuid, storeID, landingPage, page = 1, sortBy = "relevency", facets = true, narrow, productsPerPage, withProductAttributes = undefined, searchWithinResultsQuery, type, visualMerchandising, merchandisingRules, idsOnly, }) => __awaiter(void 0, void 0, void 0, function* () {
15
+ landingPage: ({ uuid, storeID, landingPage, page = 1, sortBy = "relevency", facets = true, narrow, productsPerPage, withProductAttributes = undefined, searchWithinResultsQuery, type, visualMerchandising, merchandisingRules, idsOnly, lastProduct, }) => __awaiter(void 0, void 0, void 0, function* () {
16
16
  const params = {
17
17
  UUID: uuid,
18
18
  store_id: storeID,
@@ -32,6 +32,8 @@ export const LandingPage = {
32
32
  ? JSON.stringify(merchandisingRules)
33
33
  : undefined,
34
34
  ids_only: idsOnly ? 1 : undefined,
35
+ // Page N resumes after the last card shown, so a "Set position" move skips none (#16215).
36
+ last_product: lastProduct || undefined,
35
37
  };
36
38
  const res = yield fastSimonPost(BASE_URL, "landing_page_editor", params);
37
39
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"landingPage.js","sourceRoot":"","sources":["../../src/services/landingPage.ts"],"names":[],"mappings":"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","sourcesContent":["import type {SortBy} from \"../@types/sortBy\";\nimport type {Narrow, ServerNarrow} from \"@fast-simon/utilities\";\nimport {fastSimonGet, fastSimonPost} from \"./API\";\nimport {FacetsParser, ServerFacet} from \"@fast-simon/utilities\"\nimport {AncestorCategory} from \"../@types/categories\";\nimport {EditorProduct} from \"../@types/editorProduct\";\ninterface LandingPageRequest {\n uuid: string;\n storeID: string;\n landingPage: string\n type: number\n page?: number\n sortBy?: SortBy\n facets?: boolean\n narrow?: Narrow\n productsPerPage?: number\n withProductAttributes?: boolean\n searchWithinResultsQuery?: string\n idsOnly?: boolean\n}\n\ninterface LandingPageFacetsOnly extends Omit<LandingPageRequest, \"facets\"> {\n avoid_tag_prefixes?: string\n}\n\ninterface LandingPageServerResponseFacetsOnly {\n total_results: number\n term: string\n narrow?: ServerNarrow\n facets_completed: true\n facets: ServerFacet[],\n}\n\ninterface LandingPageServerResponseAll {\n items: EditorProduct[]\n alternatives?: string[]\n facets_completed: boolean\n narrow?: ServerNarrow[]\n p: number\n total_p: number\n total_results: number\n term: string\n lp_slug: string\n title: string\n index_page: number\n banner_html: string\n banner_html_mobile: string\n facets: ServerFacet[]\n sort_by: SortBy\n avoid_tag_prefixes?: string\n cms_number_found?: number\n within_search_results_for?: string,\n ancestor_categories?: AncestorCategory[]\n}\n\nconst BASE_URL = import.meta.env.VITE_SERVING_BASE_URL ?? \"https://internal-v3joil6oqa-uc.a.run.app/search\";\n\ninterface LandingPageResponse {\n items: EditorProduct[]\n facets_completed: boolean\n narrow?: Narrow[]\n p: number\n total_p: number\n isp_quick_view_mode: number\n related_results: boolean\n total_results: number\n lp_slug: string\n title: string\n facets: ServerFacet[]\n sort_by: SortBy\n avoid_tag_prefixes?: string\n}\n\nexport const LandingPage = {\n landingPage: async ({\n uuid,\n storeID,\n landingPage,\n page = 1,\n sortBy = \"relevency\",\n facets = true,\n narrow,\n productsPerPage,\n withProductAttributes = undefined,\n searchWithinResultsQuery,\n type,\n visualMerchandising,\n merchandisingRules,\n idsOnly,\n }: any) => {\n const params: Record<string, any> = {\n UUID: uuid,\n store_id: storeID,\n facets_required: facets ? 1 : 0,\n products_per_page: productsPerPage,\n narrow: JSON.stringify(narrow),\n lp: landingPage,\n page_num: page,\n type: type,\n with_product_attributes: withProductAttributes,\n search_within_search: searchWithinResultsQuery\n ? searchWithinResultsQuery\n : undefined,\n visual_merchandising: JSON.stringify(visualMerchandising).replaceAll('\"[', \"[\").replaceAll(']\"', \"]\"),\n m: 1,\n merchandising_rules:\n type == 1 && merchandisingRules && Object.keys(merchandisingRules).length > 0\n ? JSON.stringify(merchandisingRules)\n : undefined,\n ids_only: idsOnly ? 1 : undefined,\n };\n const res = await fastSimonPost<LandingPageResponse>(\n BASE_URL,\n \"landing_page_editor\",\n params\n );\n return {\n data: res,\n getFacets: async () =>\n res?.facets_completed\n ? transformFacetsOnlyData(\n res.facets,\n res.avoid_tag_prefixes\n )\n : await LandingPage.landingPageFacetsOnly({\n uuid,\n storeID,\n landingPage,\n page,\n narrow,\n type,\n productsPerPage,\n searchWithinResultsQuery,\n withProductAttributes,\n visualMerchandising,\n merchandisingRules,\n }),\n };\n },\n\n landingPageFacetsOnly: async ({\n uuid,\n storeID,\n landingPage,\n page = 1,\n narrow,\n type,\n productsPerPage,\n searchWithinResultsQuery,\n withProductAttributes = false,\n visualMerchandising,\n merchandisingRules\n }: any) => {\n const data = await fastSimonPost<LandingPageServerResponseAll>(\n BASE_URL,\n \"landing_page_editor\",\n {\n UUID: uuid,\n store_id: storeID,\n facets_required: 2,\n products_per_page: productsPerPage,\n narrow: JSON.stringify(narrow),\n type: type,\n lp: landingPage,\n page_num: page ?? 1,\n with_product_attributes: withProductAttributes,\n search_within_search: searchWithinResultsQuery\n ? searchWithinResultsQuery\n : undefined,\n visual_merchandising: JSON.stringify(visualMerchandising).replaceAll('\"[', \"[\").replaceAll(']\"', \"]\"),\n merchandising_rules: merchandisingRules\n ? JSON.stringify(merchandisingRules)\n : undefined,\n m: 1,\n }\n );\n return transformFacetsOnlyData(data.facets, data.avoid_tag_prefixes);\n },\n};\n\nexport const transformFacetsOnlyData = (r: ServerFacet[], avoidTagPrefixes?: string) => new FacetsParser().parseFacets(r, avoidTagPrefixes ? avoidTagPrefixes.split(\",\") : []);"]}
1
+ {"version":3,"file":"landingPage.js","sourceRoot":"","sources":["../../src/services/landingPage.ts"],"names":[],"mappings":"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","sourcesContent":["import type {SortBy} from \"../@types/sortBy\";\nimport type {Narrow, ServerNarrow} from \"@fast-simon/utilities\";\nimport {fastSimonGet, fastSimonPost} from \"./API\";\nimport {FacetsParser, ServerFacet} from \"@fast-simon/utilities\"\nimport {AncestorCategory} from \"../@types/categories\";\nimport {EditorProduct} from \"../@types/editorProduct\";\ninterface LandingPageRequest {\n uuid: string;\n storeID: string;\n landingPage: string\n type: number\n page?: number\n sortBy?: SortBy\n facets?: boolean\n narrow?: Narrow\n productsPerPage?: number\n withProductAttributes?: boolean\n searchWithinResultsQuery?: string\n idsOnly?: boolean\n}\n\ninterface LandingPageFacetsOnly extends Omit<LandingPageRequest, \"facets\"> {\n avoid_tag_prefixes?: string\n}\n\ninterface LandingPageServerResponseFacetsOnly {\n total_results: number\n term: string\n narrow?: ServerNarrow\n facets_completed: true\n facets: ServerFacet[],\n}\n\ninterface LandingPageServerResponseAll {\n items: EditorProduct[]\n alternatives?: string[]\n facets_completed: boolean\n narrow?: ServerNarrow[]\n p: number\n total_p: number\n total_results: number\n term: string\n lp_slug: string\n title: string\n index_page: number\n banner_html: string\n banner_html_mobile: string\n facets: ServerFacet[]\n sort_by: SortBy\n avoid_tag_prefixes?: string\n cms_number_found?: number\n within_search_results_for?: string,\n ancestor_categories?: AncestorCategory[]\n}\n\nconst BASE_URL = import.meta.env.VITE_SERVING_BASE_URL ?? \"https://internal-v3joil6oqa-uc.a.run.app/search\";\n\ninterface LandingPageResponse {\n items: EditorProduct[]\n facets_completed: boolean\n narrow?: Narrow[]\n p: number\n total_p: number\n isp_quick_view_mode: number\n related_results: boolean\n total_results: number\n lp_slug: string\n title: string\n facets: ServerFacet[]\n sort_by: SortBy\n avoid_tag_prefixes?: string\n}\n\nexport const LandingPage = {\n landingPage: async ({\n uuid,\n storeID,\n landingPage,\n page = 1,\n sortBy = \"relevency\",\n facets = true,\n narrow,\n productsPerPage,\n withProductAttributes = undefined,\n searchWithinResultsQuery,\n type,\n visualMerchandising,\n merchandisingRules,\n idsOnly,\n lastProduct,\n }: any) => {\n const params: Record<string, any> = {\n UUID: uuid,\n store_id: storeID,\n facets_required: facets ? 1 : 0,\n products_per_page: productsPerPage,\n narrow: JSON.stringify(narrow),\n lp: landingPage,\n page_num: page,\n type: type,\n with_product_attributes: withProductAttributes,\n search_within_search: searchWithinResultsQuery\n ? searchWithinResultsQuery\n : undefined,\n visual_merchandising: JSON.stringify(visualMerchandising).replaceAll('\"[', \"[\").replaceAll(']\"', \"]\"),\n m: 1,\n merchandising_rules:\n type == 1 && merchandisingRules && Object.keys(merchandisingRules).length > 0\n ? JSON.stringify(merchandisingRules)\n : undefined,\n ids_only: idsOnly ? 1 : undefined,\n // Page N resumes after the last card shown, so a \"Set position\" move skips none (#16215).\n last_product: lastProduct || undefined,\n };\n const res = await fastSimonPost<LandingPageResponse>(\n BASE_URL,\n \"landing_page_editor\",\n params\n );\n return {\n data: res,\n getFacets: async () =>\n res?.facets_completed\n ? transformFacetsOnlyData(\n res.facets,\n res.avoid_tag_prefixes\n )\n : await LandingPage.landingPageFacetsOnly({\n uuid,\n storeID,\n landingPage,\n page,\n narrow,\n type,\n productsPerPage,\n searchWithinResultsQuery,\n withProductAttributes,\n visualMerchandising,\n merchandisingRules,\n }),\n };\n },\n\n landingPageFacetsOnly: async ({\n uuid,\n storeID,\n landingPage,\n page = 1,\n narrow,\n type,\n productsPerPage,\n searchWithinResultsQuery,\n withProductAttributes = false,\n visualMerchandising,\n merchandisingRules\n }: any) => {\n const data = await fastSimonPost<LandingPageServerResponseAll>(\n BASE_URL,\n \"landing_page_editor\",\n {\n UUID: uuid,\n store_id: storeID,\n facets_required: 2,\n products_per_page: productsPerPage,\n narrow: JSON.stringify(narrow),\n type: type,\n lp: landingPage,\n page_num: page ?? 1,\n with_product_attributes: withProductAttributes,\n search_within_search: searchWithinResultsQuery\n ? searchWithinResultsQuery\n : undefined,\n visual_merchandising: JSON.stringify(visualMerchandising).replaceAll('\"[', \"[\").replaceAll(']\"', \"]\"),\n merchandising_rules: merchandisingRules\n ? JSON.stringify(merchandisingRules)\n : undefined,\n m: 1,\n }\n );\n return transformFacetsOnlyData(data.facets, data.avoid_tag_prefixes);\n },\n};\n\nexport const transformFacetsOnlyData = (r: ServerFacet[], avoidTagPrefixes?: string) => new FacetsParser().parseFacets(r, avoidTagPrefixes ? avoidTagPrefixes.split(\",\") : []);"]}
@@ -18,6 +18,8 @@ export const FullTextSearch = {
18
18
  const params = {
19
19
  UUID: uuid,
20
20
  store_id: storeID,
21
+ // A direct POST skips fastSimonGet's src default; serving honors last_product only for a non-v1 src (#16215).
22
+ src: 'visual-editor',
21
23
  facets_required: 1,
22
24
  q: searchWithinSearch || query,
23
25
  page_num: page !== null && page !== void 0 ? page : 1,
@@ -1 +1 @@
1
- {"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/services/search.ts"],"names":[],"mappings":"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","sourcesContent":["import {CategoryNavigationResponse} from \"../@types/categoriesNavigation\";\nimport {API, fastSimonGet} from \"./API\";\nimport {FacetsParser, ServerFacet} from \"@fast-simon/utilities\"\nimport {fullTextSearchProps, FullTextServerResponseAll} from \"../@types/results\";\nimport {getLSVectorSearchDict, getLSVectorSearchOn} from \"../utils/getLSVectorSearch\";\nimport {getInternalURL} from \"../utils/getInternalURL\";\nimport {getUseCacheSetting} from \"../utils/getCacheSettings\";\n\n\nconst BASE_URL = \"https://internal-v3joil6oqa-uc.a.run.app\";\n\nexport const FullTextSearch = {\n getFullTextSearch: async ({\n uuid,\n storeID,\n facetRequired,\n narrow,\n page,\n productsPerPage,\n withAttributes,\n query,\n searchWithinSearch,\n visualMerchandising,\n lastProduct\n }: any) => {\n\n const params: Record<string, any> = {\n UUID: uuid,\n store_id: storeID,\n facets_required: 1,\n q: searchWithinSearch || query,\n page_num: page ?? 1,\n with_product_attributes: withAttributes,\n narrow: JSON.stringify(narrow),\n products_per_page: productsPerPage,\n visual_merchandising: !searchWithinSearch ? JSON.stringify(visualMerchandising).replaceAll('\"[', '[').replaceAll(']\"', ']') : undefined\n };\n if(lastProduct) {\n params['last_product'] = lastProduct\n }\n const res = await API.post<CategoryNavigationResponse>({url: BASE_URL+'/search/full_text_search_editor', data: params, config: {headers: {'content-type': 'text/plain'}}});\n return {\n data: res,\n getFacets: async () => (res?.facets_completed ? transformFacetsOnlyData(res.facets, res.avoid_tag_prefixes) : await FullTextSearch.fullTextFacetsOnly({ uuid,\n storeID,\n facetRequired,\n narrow,\n page,\n productsPerPage,\n withAttributes,\n searchWithinSearch,\n visualMerchandising,\n lastProduct,\n query})\n )\n };\n },\n fullTextFacetsOnly: async ({\n uuid,\n storeID,\n narrow,\n page,\n productsPerPage,\n withAttributes,\n collectionID,\n searchWithinSearch,\n visualMerchandising,\n query\n }: any) => {\n\n const params: Record<string, any> = {\n UUID: uuid,\n store_id: storeID,\n facets_required: 2,\n q: query,\n page_num: page ?? 1,\n with_product_attributes: withAttributes,\n narrow: JSON.stringify(narrow),\n products_per_page: productsPerPage,\n search_within_search: searchWithinSearch,\n visual_merchandising: JSON.stringify(visualMerchandising).replaceAll('\"[', '[').replaceAll(']\"', ']')\n };\n\n const res = await fastSimonGet<CategoryNavigationResponse>(BASE_URL, '/search/full_text_search_editor', params);\n\n return transformFacetsOnlyData(res.facets, res.avoid_tag_prefixes);\n },\n getReasoningFullTextSearch: async ({\n uuid, storeID, siteKey,cdn,\n facetRequired, narrowBy, page,\n productsPerPage, term, sortBy\n , withAttributes, recent, searchWithinSearch, segments,\n disable_semantics,disable_merchandising,disable_strategies,disable_turbolinks,disable_merchandising_rules,disable_antonyms,\n custom_sort_settings, with_product_analytics, market_context, variation_id, force_and, ps, spv, personalization, session_token\n }: fullTextSearchProps): Promise<FullTextServerResponseAll> => {\n var internal_url=getInternalURL();\n if(internal_url==\"\")\n {\n internal_url=BASE_URL;\n }\n\n // Cache setting: Controls whether 'm' param is added to request\n // When true (default): omit 'm' - backend uses cache for faster responses\n // When false: add 'm: 1' - backend forces fresh data (useful for debugging)\n const use_cache = getUseCacheSetting();\n\n const params: Record<string, any> = {\n site_key:siteKey,\n // UUID: uuid,\n // store_id: storeID,\n cdn_cache_key: cdn,\n facets_required: facetRequired,\n q: term,\n page_num: page,\n with_product_attributes: withAttributes,\n narrow: JSON.stringify(narrowBy),\n products_per_page: productsPerPage,\n sort_by: sortBy,\n sp: recent,\n ...(!use_cache ? { m: 1 } : {}),\n search_within_search: searchWithinSearch,\n disable_semantics:disable_semantics?1:0,\n disable_merchandising:disable_merchandising?1:0,\n disable_strategies:disable_strategies?1:0,\n disable_turbolinks:disable_turbolinks?1:0,\n disable_merchandising_rules:disable_merchandising_rules?1:0,\n disable_antonyms:disable_antonyms?1:0,\n custom_sort_settings:JSON.stringify(custom_sort_settings),\n with_product_analytics: with_product_analytics ? true : undefined,\n with_matching_sets: with_product_analytics ? true : undefined,\n group_strategy_data: with_product_analytics ? true : undefined,\n variety_strategy_data: with_product_analytics ? true : undefined,\n market_context: market_context || undefined,\n variation_id: variation_id || undefined,\n force_and: force_and ? true : undefined,\n ps: ps || undefined,\n spv: spv || undefined,\n personalization: personalization || undefined,\n st: session_token || undefined\n };\n\n\n if(getLSVectorSearchOn())\n {\n params[\"hybrid_search_settings\"] = getLSVectorSearchDict()??undefined;\n }\n params[\"segments\"] = JSON.stringify(segments) || undefined;\n\n // Use getWithUrl to capture the full request URL for debugging\n const result = await API.getWithUrl<FullTextServerResponseAll>({\n url: `${internal_url}/search/full_text_search_reasoning`,\n params,\n });\n\n // Return response with request_url included\n return {\n ...result.data,\n request_url: result.request_url\n };\n\n },\n // Comparison IDs search - gets ALL product IDs with Hybrid Search DISABLED\n // Used to compare full ranking with Hybrid ON vs OFF\n getComparisonProductIds: ({\n uuid, storeID, siteKey,cdn,\n facetRequired, narrowBy, page,\n productsPerPage, term, sortBy\n , withAttributes, recent, searchWithinSearch, segments,\n disable_semantics,disable_merchandising,disable_strategies,disable_turbolinks,disable_merchandising_rules,disable_antonyms,\n custom_sort_settings, market_context, variation_id, force_and, ps, spv, personalization, session_token\n }: fullTextSearchProps) => {\n var internal_url=getInternalURL();\n if(internal_url==\"\")\n {\n internal_url=BASE_URL;\n }\n\n const use_cache = getUseCacheSetting();\n\n const params: Record<string, any> = {\n site_key:siteKey,\n cdn_cache_key: cdn,\n facets_required: facetRequired,\n q: term,\n page_num: 1,\n with_product_attributes: false,\n narrow: JSON.stringify(narrowBy),\n products_per_page: 1000000, // Get all IDs\n sort_by: sortBy,\n sp: recent,\n ...(!use_cache ? { m: 1 } : {}),\n search_within_search: searchWithinSearch,\n disable_semantics:disable_semantics?1:0,\n disable_merchandising:disable_merchandising?1:0,\n disable_strategies:disable_strategies?1:0,\n disable_turbolinks:disable_turbolinks?1:0,\n disable_merchandising_rules:disable_merchandising_rules?1:0,\n disable_antonyms:disable_antonyms?1:0,\n ids_only: 1,\n custom_sort_settings:JSON.stringify(custom_sort_settings),\n market_context: market_context || undefined,\n variation_id: variation_id || undefined,\n force_and: force_and ? true : undefined,\n ps: ps || undefined,\n spv: spv || undefined,\n personalization: personalization || undefined,\n st: session_token || undefined,\n // Explicitly disable hybrid/vector search for comparison\n hybrid_search_settings: JSON.stringify({\n no_results: false,\n search: false,\n weights: {\n keyword: 100,\n vector_search: 0\n }\n })\n };\n\n params[\"segments\"] = JSON.stringify(segments) || undefined;\n\n return API.get<FullTextServerResponseAll>({\n url: `${internal_url}/search/full_text_search`,\n params,\n });\n },\n getReasoningFullTextSearchProductsIds: ({\n uuid, storeID, siteKey,cdn,\n facetRequired, narrowBy, page,\n productsPerPage, term, sortBy\n , withAttributes, recent, searchWithinSearch, segments,\n disable_semantics,disable_merchandising,disable_strategies,disable_turbolinks,disable_merchandising_rules,disable_antonyms,\n custom_sort_settings, market_context, variation_id, force_and, ps, spv, personalization, session_token\n }: fullTextSearchProps) => {\n var internal_url=getInternalURL();\n if(internal_url==\"\")\n {\n internal_url=BASE_URL;\n }\n\n // Cache setting: Controls whether 'm' param is added to request\n // When true (default): omit 'm' - backend uses cache for faster responses\n // When false: add 'm: 1' - backend forces fresh data (useful for debugging)\n const use_cache = getUseCacheSetting();\n\n const params: Record<string, any> = {\n site_key:siteKey,\n // UUID: uuid,\n // store_id: storeID,\n cdn_cache_key: cdn,\n facets_required: facetRequired,\n q: term,\n page_num: page,\n with_product_attributes: withAttributes,\n narrow: JSON.stringify(narrowBy),\n products_per_page: productsPerPage,\n sort_by: sortBy,\n sp: recent,\n ...(!use_cache ? { m: 1 } : {}),\n search_within_search: searchWithinSearch,\n disable_semantics:disable_semantics?1:0,\n disable_merchandising:disable_merchandising?1:0,\n disable_strategies:disable_strategies?1:0,\n disable_turbolinks:disable_turbolinks?1:0,\n disable_merchandising_rules:disable_merchandising_rules?1:0,\n disable_antonyms:disable_antonyms?1:0,\n ids_only:1,\n custom_sort_settings:JSON.stringify(custom_sort_settings),\n market_context: market_context || undefined,\n variation_id: variation_id || undefined,\n force_and: force_and ? true : undefined,\n ps: ps || undefined,\n spv: spv || undefined,\n personalization: personalization || undefined,\n st: session_token || undefined\n };\n\n\n if(getLSVectorSearchOn())\n {\n params[\"hybrid_search_settings\"] = getLSVectorSearchDict()??undefined;\n }\n params[\"segments\"] = JSON.stringify(segments) || undefined;\n return API.get<FullTextServerResponseAll>({\n url: `${internal_url}/search/full_text_search`,\n params,\n });\n\n },\n }\n;\nexport const transformFacetsOnlyData = (r: ServerFacet[], avoidTagPrefixes?: string) => new FacetsParser().parseFacets(r, avoidTagPrefixes ? avoidTagPrefixes.split(\",\") : []);"]}
1
+ {"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/services/search.ts"],"names":[],"mappings":"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","sourcesContent":["import {CategoryNavigationResponse} from \"../@types/categoriesNavigation\";\nimport {API, fastSimonGet} from \"./API\";\nimport {FacetsParser, ServerFacet} from \"@fast-simon/utilities\"\nimport {fullTextSearchProps, FullTextServerResponseAll} from \"../@types/results\";\nimport {getLSVectorSearchDict, getLSVectorSearchOn} from \"../utils/getLSVectorSearch\";\nimport {getInternalURL} from \"../utils/getInternalURL\";\nimport {getUseCacheSetting} from \"../utils/getCacheSettings\";\n\n\nconst BASE_URL = \"https://internal-v3joil6oqa-uc.a.run.app\";\n\nexport const FullTextSearch = {\n getFullTextSearch: async ({\n uuid,\n storeID,\n facetRequired,\n narrow,\n page,\n productsPerPage,\n withAttributes,\n query,\n searchWithinSearch,\n visualMerchandising,\n lastProduct\n }: any) => {\n\n const params: Record<string, any> = {\n UUID: uuid,\n store_id: storeID,\n // A direct POST skips fastSimonGet's src default; serving honors last_product only for a non-v1 src (#16215).\n src: 'visual-editor',\n facets_required: 1,\n q: searchWithinSearch || query,\n page_num: page ?? 1,\n with_product_attributes: withAttributes,\n narrow: JSON.stringify(narrow),\n products_per_page: productsPerPage,\n visual_merchandising: !searchWithinSearch ? JSON.stringify(visualMerchandising).replaceAll('\"[', '[').replaceAll(']\"', ']') : undefined\n };\n if(lastProduct) {\n params['last_product'] = lastProduct\n }\n const res = await API.post<CategoryNavigationResponse>({url: BASE_URL+'/search/full_text_search_editor', data: params, config: {headers: {'content-type': 'text/plain'}}});\n return {\n data: res,\n getFacets: async () => (res?.facets_completed ? transformFacetsOnlyData(res.facets, res.avoid_tag_prefixes) : await FullTextSearch.fullTextFacetsOnly({ uuid,\n storeID,\n facetRequired,\n narrow,\n page,\n productsPerPage,\n withAttributes,\n searchWithinSearch,\n visualMerchandising,\n lastProduct,\n query})\n )\n };\n },\n fullTextFacetsOnly: async ({\n uuid,\n storeID,\n narrow,\n page,\n productsPerPage,\n withAttributes,\n collectionID,\n searchWithinSearch,\n visualMerchandising,\n query\n }: any) => {\n\n const params: Record<string, any> = {\n UUID: uuid,\n store_id: storeID,\n facets_required: 2,\n q: query,\n page_num: page ?? 1,\n with_product_attributes: withAttributes,\n narrow: JSON.stringify(narrow),\n products_per_page: productsPerPage,\n search_within_search: searchWithinSearch,\n visual_merchandising: JSON.stringify(visualMerchandising).replaceAll('\"[', '[').replaceAll(']\"', ']')\n };\n\n const res = await fastSimonGet<CategoryNavigationResponse>(BASE_URL, '/search/full_text_search_editor', params);\n\n return transformFacetsOnlyData(res.facets, res.avoid_tag_prefixes);\n },\n getReasoningFullTextSearch: async ({\n uuid, storeID, siteKey,cdn,\n facetRequired, narrowBy, page,\n productsPerPage, term, sortBy\n , withAttributes, recent, searchWithinSearch, segments,\n disable_semantics,disable_merchandising,disable_strategies,disable_turbolinks,disable_merchandising_rules,disable_antonyms,\n custom_sort_settings, with_product_analytics, market_context, variation_id, force_and, ps, spv, personalization, session_token\n }: fullTextSearchProps): Promise<FullTextServerResponseAll> => {\n var internal_url=getInternalURL();\n if(internal_url==\"\")\n {\n internal_url=BASE_URL;\n }\n\n // Cache setting: Controls whether 'm' param is added to request\n // When true (default): omit 'm' - backend uses cache for faster responses\n // When false: add 'm: 1' - backend forces fresh data (useful for debugging)\n const use_cache = getUseCacheSetting();\n\n const params: Record<string, any> = {\n site_key:siteKey,\n // UUID: uuid,\n // store_id: storeID,\n cdn_cache_key: cdn,\n facets_required: facetRequired,\n q: term,\n page_num: page,\n with_product_attributes: withAttributes,\n narrow: JSON.stringify(narrowBy),\n products_per_page: productsPerPage,\n sort_by: sortBy,\n sp: recent,\n ...(!use_cache ? { m: 1 } : {}),\n search_within_search: searchWithinSearch,\n disable_semantics:disable_semantics?1:0,\n disable_merchandising:disable_merchandising?1:0,\n disable_strategies:disable_strategies?1:0,\n disable_turbolinks:disable_turbolinks?1:0,\n disable_merchandising_rules:disable_merchandising_rules?1:0,\n disable_antonyms:disable_antonyms?1:0,\n custom_sort_settings:JSON.stringify(custom_sort_settings),\n with_product_analytics: with_product_analytics ? true : undefined,\n with_matching_sets: with_product_analytics ? true : undefined,\n group_strategy_data: with_product_analytics ? true : undefined,\n variety_strategy_data: with_product_analytics ? true : undefined,\n market_context: market_context || undefined,\n variation_id: variation_id || undefined,\n force_and: force_and ? true : undefined,\n ps: ps || undefined,\n spv: spv || undefined,\n personalization: personalization || undefined,\n st: session_token || undefined\n };\n\n\n if(getLSVectorSearchOn())\n {\n params[\"hybrid_search_settings\"] = getLSVectorSearchDict()??undefined;\n }\n params[\"segments\"] = JSON.stringify(segments) || undefined;\n\n // Use getWithUrl to capture the full request URL for debugging\n const result = await API.getWithUrl<FullTextServerResponseAll>({\n url: `${internal_url}/search/full_text_search_reasoning`,\n params,\n });\n\n // Return response with request_url included\n return {\n ...result.data,\n request_url: result.request_url\n };\n\n },\n // Comparison IDs search - gets ALL product IDs with Hybrid Search DISABLED\n // Used to compare full ranking with Hybrid ON vs OFF\n getComparisonProductIds: ({\n uuid, storeID, siteKey,cdn,\n facetRequired, narrowBy, page,\n productsPerPage, term, sortBy\n , withAttributes, recent, searchWithinSearch, segments,\n disable_semantics,disable_merchandising,disable_strategies,disable_turbolinks,disable_merchandising_rules,disable_antonyms,\n custom_sort_settings, market_context, variation_id, force_and, ps, spv, personalization, session_token\n }: fullTextSearchProps) => {\n var internal_url=getInternalURL();\n if(internal_url==\"\")\n {\n internal_url=BASE_URL;\n }\n\n const use_cache = getUseCacheSetting();\n\n const params: Record<string, any> = {\n site_key:siteKey,\n cdn_cache_key: cdn,\n facets_required: facetRequired,\n q: term,\n page_num: 1,\n with_product_attributes: false,\n narrow: JSON.stringify(narrowBy),\n products_per_page: 1000000, // Get all IDs\n sort_by: sortBy,\n sp: recent,\n ...(!use_cache ? { m: 1 } : {}),\n search_within_search: searchWithinSearch,\n disable_semantics:disable_semantics?1:0,\n disable_merchandising:disable_merchandising?1:0,\n disable_strategies:disable_strategies?1:0,\n disable_turbolinks:disable_turbolinks?1:0,\n disable_merchandising_rules:disable_merchandising_rules?1:0,\n disable_antonyms:disable_antonyms?1:0,\n ids_only: 1,\n custom_sort_settings:JSON.stringify(custom_sort_settings),\n market_context: market_context || undefined,\n variation_id: variation_id || undefined,\n force_and: force_and ? true : undefined,\n ps: ps || undefined,\n spv: spv || undefined,\n personalization: personalization || undefined,\n st: session_token || undefined,\n // Explicitly disable hybrid/vector search for comparison\n hybrid_search_settings: JSON.stringify({\n no_results: false,\n search: false,\n weights: {\n keyword: 100,\n vector_search: 0\n }\n })\n };\n\n params[\"segments\"] = JSON.stringify(segments) || undefined;\n\n return API.get<FullTextServerResponseAll>({\n url: `${internal_url}/search/full_text_search`,\n params,\n });\n },\n getReasoningFullTextSearchProductsIds: ({\n uuid, storeID, siteKey,cdn,\n facetRequired, narrowBy, page,\n productsPerPage, term, sortBy\n , withAttributes, recent, searchWithinSearch, segments,\n disable_semantics,disable_merchandising,disable_strategies,disable_turbolinks,disable_merchandising_rules,disable_antonyms,\n custom_sort_settings, market_context, variation_id, force_and, ps, spv, personalization, session_token\n }: fullTextSearchProps) => {\n var internal_url=getInternalURL();\n if(internal_url==\"\")\n {\n internal_url=BASE_URL;\n }\n\n // Cache setting: Controls whether 'm' param is added to request\n // When true (default): omit 'm' - backend uses cache for faster responses\n // When false: add 'm: 1' - backend forces fresh data (useful for debugging)\n const use_cache = getUseCacheSetting();\n\n const params: Record<string, any> = {\n site_key:siteKey,\n // UUID: uuid,\n // store_id: storeID,\n cdn_cache_key: cdn,\n facets_required: facetRequired,\n q: term,\n page_num: page,\n with_product_attributes: withAttributes,\n narrow: JSON.stringify(narrowBy),\n products_per_page: productsPerPage,\n sort_by: sortBy,\n sp: recent,\n ...(!use_cache ? { m: 1 } : {}),\n search_within_search: searchWithinSearch,\n disable_semantics:disable_semantics?1:0,\n disable_merchandising:disable_merchandising?1:0,\n disable_strategies:disable_strategies?1:0,\n disable_turbolinks:disable_turbolinks?1:0,\n disable_merchandising_rules:disable_merchandising_rules?1:0,\n disable_antonyms:disable_antonyms?1:0,\n ids_only:1,\n custom_sort_settings:JSON.stringify(custom_sort_settings),\n market_context: market_context || undefined,\n variation_id: variation_id || undefined,\n force_and: force_and ? true : undefined,\n ps: ps || undefined,\n spv: spv || undefined,\n personalization: personalization || undefined,\n st: session_token || undefined\n };\n\n\n if(getLSVectorSearchOn())\n {\n params[\"hybrid_search_settings\"] = getLSVectorSearchDict()??undefined;\n }\n params[\"segments\"] = JSON.stringify(segments) || undefined;\n return API.get<FullTextServerResponseAll>({\n url: `${internal_url}/search/full_text_search`,\n params,\n });\n\n },\n }\n;\nexport const transformFacetsOnlyData = (r: ServerFacet[], avoidTagPrefixes?: string) => new FacetsParser().parseFacets(r, avoidTagPrefixes ? avoidTagPrefixes.split(\",\") : []);"]}
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "@fast-simon/dashboard-utilities",
3
- "version": "1.0.181-beta.4",
3
+ "version": "1.0.181-beta.6",
4
4
  "scripts": {
5
5
  "dev": "vite",
6
6
  "preview": "vite preview",
7
7
  "build": "tsc -p tsconfig-build.json && npm test",
8
- "test": "node --test tests/rpiSnapshot.test.cjs tests/searchPreview.test.cjs tests/smartCollections.test.cjs",
8
+ "test": "node --test tests/rpiSnapshot.test.cjs tests/searchPreview.test.cjs tests/smartCollections.test.cjs tests/editorRequestSource.test.cjs",
9
9
  "postbuild": "copyfiles -u 2 \"src/components/**/*.css\" dist/components && copyfiles -u 2 \"src/icons/**/*.css\" dist/icons && copyfiles -u 2 \"src/assets/**/*.gif\" dist/assets"
10
10
  },
11
11
  "main": "dist/index.js",