@fast-simon/dashboard-utilities 1.0.144-beta.3 → 1.0.144-beta.4
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.
package/dist/@types/results.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"results.js","sourceRoot":"","sources":["../../src/@types/results.ts"],"names":[],"mappings":"","sourcesContent":["import type {Narrow, ServerNarrow} from \"./narrow\";\nimport type {SortBy} from \"./sortBy\";\n\nimport type { Facet} from \"./facets\";\nimport {AncestorCategory, RelatedCategory} from \"./categories\";\n\nimport {Product, ServerProduct} from \"./product\";\n\nexport interface PopularSearch {\n label: string\n type: \"p\"\n}\ninterface Base {\n narrow: Narrow,\n sortBy: SortBy,\n totalResults: number,\n page: number,\n totalPages: number,\n products: Product[],\n facets: Facet[],\n avoidTagPrefixes: string[],\n sort: SortBy,\n productIDS: string[],\n bannerHTML: string,\n bannerHTMLMobile: string,\n // ancestors: Ancestor[]\n}\n\nexport interface SearchResults extends Base {\n query: string,\n totalCMS: number,\n didYouMean?: string[],\n personalizedProductIds: number[],\n sessionProductIds: number[],\n resultsFor?: string,\n isRelatedResults?: boolean\n relatedSearch?: string[]\n}\n\nexport interface CategoryResults extends Base {\n categoryID: string,\n categoryName: string,\n personalizationRecencyLimit?: number,\n personalizedProductIds: number[],\n sessionProductIds: number[],\n relatedCategories: RelatedCategory[],\n}\n\nexport interface LandingPageResults extends Base {\n lpSlug: string,\n title: string,\n indexPage: number\n}\n\nexport type FacetRequired = 0 | 1 | 2\nexport type CategoryAncestor = [string, string, string]\n\nexport interface fullTextSearchProps {\n term: string\n storeID: number\n siteKey?:string\n uuid: string\n cdn?: number\n userToken: string,\n sessionStart: number,\n page?: number\n productsPerPage?: number\n sortBy?: SortBy\n narrowBy?: ServerNarrow[]\n facetRequired?: FacetRequired\n withAttributes?: boolean\n recent?: string\n searchWithinSearch?: string,\n segments?: string[]\n hasShopifyMarkets?: boolean\n disable_turbolinks?:boolean\n disable_strategies?:boolean\n disable_merchandising?:boolean\n disable_semantics?:boolean\n disable_merchandising_rules?:boolean\n disable_antonyms?:boolean\n custom_sort_settings?:{personalization_rank: number, creation_date: number, popularity: number, inventory: number}\n with_product_analytics?:boolean\n market_context?: string | null // Region code for market-specific filtering (e.g., \"US\", \"CA\", \"UK\")\n variation_id?: string | null // A/B test variation ID for reasoning/experiment tracking\n force_and?: boolean\n ps?: 'new' | 'returning' | null // Personalization segment for user segment coefficient preview (new/returning user)\n spv?: string | null // Session Product Views JSON for personalization preview (e.g., '{\"pid1\":ts,\"pid2\":ts}')\n personalization?: string | null // Comma-separated personalization types to enable (e.g., 'gender')\n}\nexport interface ContextFilteringData {\n hidden: number[] // Product IDs hidden by context filtering\n unpublished: Record<number, string> // product_id -> region_code (e.g., \"US\", \"CA\")\n unsellable: Record<number, string> // product_id -> region_code (e.g., \"UK\", \"FR\")\n}\n\nexport interface fullTextSearchResponse {\n products: ServerProduct[]\n facets: Facet[]\n total_results: number\n facets_completed?: boolean\n sortBy?: SortBy,\n narrow: [string, string, string][]\n pop_products_no_results?: boolean\n page: number\n total_p: number\n personalized_products?: number[],\n ancestor_categories?: CategoryAncestor[]\n avoid_tag_prefixes?: string\n merch?: any\n}\nexport interface QueryUnderstanding {\n query: string\n has_ai_enrichment: boolean\n structured_attributes: Record<string, string[]>\n social_attributes: Record<string, string[]>\n intent_mapping: string[]\n}\n\nexport interface FullTextServerResponseAll extends fullTextSearchResponse{\n alternatives?: string[]\n term: string\n cms_number_found?: number\n within_search_results_for?: string\n banner_html: string\n banner_html_mobile: string\n turbolink?: string\n personalized_products?: number[]\n session_products?: number[]\n results_for?: string\n related_results?: boolean,\n ancestor_categories?: AncestorCategory[],\n related_search?: string[],\n hidden?:any,\n isNoResults?:any,\n totalResults?:any,\n hiddenProducts?:ServerProduct[],\n pageCount?:number,\n sort_by?: SortBy,\n id_list?:number[]\n context?: ContextFilteringData // Context-based filtering data (market contexts)\n analytics?: {\n badges?: {\n winners?: Record<string, string> // Product ID -> tooltip message\n overexposed?: Record<string, string> // Product ID -> tooltip message\n new_arrivals?: string[]\n }\n key_hidden_winners?: string\n key_overexposed?: string\n }\n matching_sets?: Record<string, string> // Product ID -> set name\n query_understanding?: QueryUnderstanding\n reformulation_source?: string\n request_url?: string // Full URL with all params that was executed (for debugging)\n\n}"]}
|
|
1
|
+
{"version":3,"file":"results.js","sourceRoot":"","sources":["../../src/@types/results.ts"],"names":[],"mappings":"","sourcesContent":["import type {Narrow, ServerNarrow} from \"./narrow\";\nimport type {SortBy} from \"./sortBy\";\n\nimport type { Facet} from \"./facets\";\nimport {AncestorCategory, RelatedCategory} from \"./categories\";\n\nimport {Product, ServerProduct} from \"./product\";\n\nexport interface PopularSearch {\n label: string\n type: \"p\"\n}\ninterface Base {\n narrow: Narrow,\n sortBy: SortBy,\n totalResults: number,\n page: number,\n totalPages: number,\n products: Product[],\n facets: Facet[],\n avoidTagPrefixes: string[],\n sort: SortBy,\n productIDS: string[],\n bannerHTML: string,\n bannerHTMLMobile: string,\n // ancestors: Ancestor[]\n}\n\nexport interface SearchResults extends Base {\n query: string,\n totalCMS: number,\n didYouMean?: string[],\n personalizedProductIds: number[],\n sessionProductIds: number[],\n resultsFor?: string,\n isRelatedResults?: boolean\n relatedSearch?: string[]\n}\n\nexport interface CategoryResults extends Base {\n categoryID: string,\n categoryName: string,\n personalizationRecencyLimit?: number,\n personalizedProductIds: number[],\n sessionProductIds: number[],\n relatedCategories: RelatedCategory[],\n}\n\nexport interface LandingPageResults extends Base {\n lpSlug: string,\n title: string,\n indexPage: number\n}\n\nexport type FacetRequired = 0 | 1 | 2\nexport type CategoryAncestor = [string, string, string]\n\nexport interface fullTextSearchProps {\n term: string\n storeID: number\n siteKey?:string\n uuid: string\n cdn?: number\n userToken: string,\n sessionStart: number,\n page?: number\n productsPerPage?: number\n sortBy?: SortBy\n narrowBy?: ServerNarrow[]\n facetRequired?: FacetRequired\n withAttributes?: boolean\n recent?: string\n searchWithinSearch?: string,\n segments?: string[]\n hasShopifyMarkets?: boolean\n disable_turbolinks?:boolean\n disable_strategies?:boolean\n disable_merchandising?:boolean\n disable_semantics?:boolean\n disable_merchandising_rules?:boolean\n disable_antonyms?:boolean\n custom_sort_settings?:{personalization_rank: number, creation_date: number, popularity: number, inventory: number}\n with_product_analytics?:boolean\n market_context?: string | null // Region code for market-specific filtering (e.g., \"US\", \"CA\", \"UK\")\n variation_id?: string | null // A/B test variation ID for reasoning/experiment tracking\n force_and?: boolean\n ps?: 'new' | 'returning' | null // Personalization segment for user segment coefficient preview (new/returning user)\n spv?: string | null // Session Product Views JSON for personalization preview (e.g., '{\"pid1\":ts,\"pid2\":ts}')\n personalization?: string | null // Comma-separated personalization types to enable (e.g., 'gender')\n session_token?: string // Session token override for AI Explainer (sent as st param)\n}\nexport interface ContextFilteringData {\n hidden: number[] // Product IDs hidden by context filtering\n unpublished: Record<number, string> // product_id -> region_code (e.g., \"US\", \"CA\")\n unsellable: Record<number, string> // product_id -> region_code (e.g., \"UK\", \"FR\")\n}\n\nexport interface fullTextSearchResponse {\n products: ServerProduct[]\n facets: Facet[]\n total_results: number\n facets_completed?: boolean\n sortBy?: SortBy,\n narrow: [string, string, string][]\n pop_products_no_results?: boolean\n page: number\n total_p: number\n personalized_products?: number[],\n ancestor_categories?: CategoryAncestor[]\n avoid_tag_prefixes?: string\n merch?: any\n}\nexport interface QueryUnderstanding {\n query: string\n has_ai_enrichment: boolean\n structured_attributes: Record<string, string[]>\n social_attributes: Record<string, string[]>\n intent_mapping: string[]\n}\n\nexport interface FullTextServerResponseAll extends fullTextSearchResponse{\n alternatives?: string[]\n term: string\n cms_number_found?: number\n within_search_results_for?: string\n banner_html: string\n banner_html_mobile: string\n turbolink?: string\n personalized_products?: number[]\n session_products?: number[]\n results_for?: string\n related_results?: boolean,\n ancestor_categories?: AncestorCategory[],\n related_search?: string[],\n hidden?:any,\n isNoResults?:any,\n totalResults?:any,\n hiddenProducts?:ServerProduct[],\n pageCount?:number,\n sort_by?: SortBy,\n id_list?:number[]\n context?: ContextFilteringData // Context-based filtering data (market contexts)\n analytics?: {\n badges?: {\n winners?: Record<string, string> // Product ID -> tooltip message\n overexposed?: Record<string, string> // Product ID -> tooltip message\n new_arrivals?: string[]\n }\n key_hidden_winners?: string\n key_overexposed?: string\n }\n matching_sets?: Record<string, string> // Product ID -> set name\n query_understanding?: QueryUnderstanding\n reformulation_source?: string\n request_url?: string // Full URL with all params that was executed (for debugging)\n\n}"]}
|
|
@@ -7,8 +7,8 @@ export declare const FullTextSearch: {
|
|
|
7
7
|
getFacets: () => Promise<import("@fast-simon/utilities").Facet[]>;
|
|
8
8
|
}>;
|
|
9
9
|
fullTextFacetsOnly: ({ uuid, storeID, narrow, page, productsPerPage, withAttributes, collectionID, searchWithinSearch, visualMerchandising, query }: any) => Promise<import("@fast-simon/utilities").Facet[]>;
|
|
10
|
-
getReasoningFullTextSearch: ({ uuid, storeID, siteKey, cdn, facetRequired, narrowBy, page, productsPerPage, term, sortBy, withAttributes, recent, searchWithinSearch, segments, disable_semantics, disable_merchandising, disable_strategies, disable_turbolinks, disable_merchandising_rules, disable_antonyms, custom_sort_settings, with_product_analytics, market_context, variation_id, force_and, ps, spv, personalization }: fullTextSearchProps) => Promise<FullTextServerResponseAll>;
|
|
11
|
-
getComparisonProductIds: ({ uuid, storeID, siteKey, cdn, facetRequired, narrowBy, page, productsPerPage, term, sortBy, withAttributes, recent, searchWithinSearch, segments, disable_semantics, disable_merchandising, disable_strategies, disable_turbolinks, disable_merchandising_rules, disable_antonyms, custom_sort_settings, market_context, variation_id, force_and, ps, spv, personalization }: fullTextSearchProps) => Promise<FullTextServerResponseAll>;
|
|
12
|
-
getReasoningFullTextSearchProductsIds: ({ uuid, storeID, siteKey, cdn, facetRequired, narrowBy, page, productsPerPage, term, sortBy, withAttributes, recent, searchWithinSearch, segments, disable_semantics, disable_merchandising, disable_strategies, disable_turbolinks, disable_merchandising_rules, disable_antonyms, custom_sort_settings, market_context, variation_id, force_and, ps, spv, personalization }: fullTextSearchProps) => Promise<FullTextServerResponseAll>;
|
|
10
|
+
getReasoningFullTextSearch: ({ uuid, storeID, siteKey, cdn, facetRequired, narrowBy, page, productsPerPage, term, sortBy, withAttributes, recent, searchWithinSearch, segments, disable_semantics, disable_merchandising, disable_strategies, disable_turbolinks, disable_merchandising_rules, disable_antonyms, custom_sort_settings, with_product_analytics, market_context, variation_id, force_and, ps, spv, personalization, session_token }: fullTextSearchProps) => Promise<FullTextServerResponseAll>;
|
|
11
|
+
getComparisonProductIds: ({ uuid, storeID, siteKey, cdn, facetRequired, narrowBy, page, productsPerPage, term, sortBy, withAttributes, recent, searchWithinSearch, segments, disable_semantics, disable_merchandising, disable_strategies, disable_turbolinks, disable_merchandising_rules, disable_antonyms, custom_sort_settings, market_context, variation_id, force_and, ps, spv, personalization, session_token }: fullTextSearchProps) => Promise<FullTextServerResponseAll>;
|
|
12
|
+
getReasoningFullTextSearchProductsIds: ({ uuid, storeID, siteKey, cdn, facetRequired, narrowBy, page, productsPerPage, term, sortBy, withAttributes, recent, searchWithinSearch, segments, disable_semantics, disable_merchandising, disable_strategies, disable_turbolinks, disable_merchandising_rules, disable_antonyms, custom_sort_settings, market_context, variation_id, force_and, ps, spv, personalization, session_token }: fullTextSearchProps) => Promise<FullTextServerResponseAll>;
|
|
13
13
|
};
|
|
14
14
|
export declare const transformFacetsOnlyData: (r: ServerFacet[], avoidTagPrefixes?: string) => import("@fast-simon/utilities").Facet[];
|
package/dist/services/search.js
CHANGED
|
@@ -63,7 +63,7 @@ export const FullTextSearch = {
|
|
|
63
63
|
const res = yield fastSimonGet(BASE_URL, '/search/full_text_search_editor', params);
|
|
64
64
|
return transformFacetsOnlyData(res.facets, res.avoid_tag_prefixes);
|
|
65
65
|
}),
|
|
66
|
-
getReasoningFullTextSearch: ({ uuid, storeID, siteKey, cdn, facetRequired, narrowBy, page, productsPerPage, term, sortBy, withAttributes, recent, searchWithinSearch, segments, disable_semantics, disable_merchandising, disable_strategies, disable_turbolinks, disable_merchandising_rules, disable_antonyms, custom_sort_settings, with_product_analytics, market_context, variation_id, force_and, ps, spv, personalization }) => __awaiter(void 0, void 0, void 0, function* () {
|
|
66
|
+
getReasoningFullTextSearch: ({ uuid, storeID, siteKey, cdn, facetRequired, narrowBy, page, productsPerPage, term, sortBy, withAttributes, recent, searchWithinSearch, segments, disable_semantics, disable_merchandising, disable_strategies, disable_turbolinks, disable_merchandising_rules, disable_antonyms, custom_sort_settings, with_product_analytics, market_context, variation_id, force_and, ps, spv, personalization, session_token }) => __awaiter(void 0, void 0, void 0, function* () {
|
|
67
67
|
var _a;
|
|
68
68
|
var internal_url = getInternalURL();
|
|
69
69
|
if (internal_url == "") {
|
|
@@ -76,7 +76,7 @@ export const FullTextSearch = {
|
|
|
76
76
|
const params = Object.assign(Object.assign({ site_key: siteKey,
|
|
77
77
|
// UUID: uuid,
|
|
78
78
|
// store_id: storeID,
|
|
79
|
-
cdn_cache_key: cdn, facets_required: facetRequired, q: term, page_num: page, with_product_attributes: withAttributes, narrow: JSON.stringify(narrowBy), products_per_page: productsPerPage, sort_by: sortBy, sp: recent }, (!use_cache ? { m: 1 } : {})), { search_within_search: searchWithinSearch, disable_semantics: disable_semantics ? 1 : 0, disable_merchandising: disable_merchandising ? 1 : 0, disable_strategies: disable_strategies ? 1 : 0, disable_turbolinks: disable_turbolinks ? 1 : 0, disable_merchandising_rules: disable_merchandising_rules ? 1 : 0, disable_antonyms: disable_antonyms ? 1 : 0, custom_sort_settings: JSON.stringify(custom_sort_settings), with_product_analytics: with_product_analytics ? true : undefined, with_matching_sets: with_product_analytics ? true : undefined, market_context: market_context || undefined, variation_id: variation_id || undefined, force_and: force_and ? true : undefined, ps: ps || undefined, spv: spv || undefined, personalization: personalization || undefined });
|
|
79
|
+
cdn_cache_key: cdn, facets_required: facetRequired, q: term, page_num: page, with_product_attributes: withAttributes, narrow: JSON.stringify(narrowBy), products_per_page: productsPerPage, sort_by: sortBy, sp: recent }, (!use_cache ? { m: 1 } : {})), { search_within_search: searchWithinSearch, disable_semantics: disable_semantics ? 1 : 0, disable_merchandising: disable_merchandising ? 1 : 0, disable_strategies: disable_strategies ? 1 : 0, disable_turbolinks: disable_turbolinks ? 1 : 0, disable_merchandising_rules: disable_merchandising_rules ? 1 : 0, disable_antonyms: disable_antonyms ? 1 : 0, custom_sort_settings: JSON.stringify(custom_sort_settings), with_product_analytics: with_product_analytics ? true : undefined, with_matching_sets: with_product_analytics ? true : undefined, market_context: market_context || undefined, variation_id: variation_id || undefined, force_and: force_and ? true : undefined, ps: ps || undefined, spv: spv || undefined, personalization: personalization || undefined, st: session_token || undefined });
|
|
80
80
|
if (getLSVectorSearchOn()) {
|
|
81
81
|
params["hybrid_search_settings"] = (_a = getLSVectorSearchDict()) !== null && _a !== void 0 ? _a : undefined;
|
|
82
82
|
}
|
|
@@ -91,13 +91,13 @@ export const FullTextSearch = {
|
|
|
91
91
|
}),
|
|
92
92
|
// Comparison IDs search - gets ALL product IDs with Hybrid Search DISABLED
|
|
93
93
|
// Used to compare full ranking with Hybrid ON vs OFF
|
|
94
|
-
getComparisonProductIds: ({ uuid, storeID, siteKey, cdn, facetRequired, narrowBy, page, productsPerPage, term, sortBy, withAttributes, recent, searchWithinSearch, segments, disable_semantics, disable_merchandising, disable_strategies, disable_turbolinks, disable_merchandising_rules, disable_antonyms, custom_sort_settings, market_context, variation_id, force_and, ps, spv, personalization }) => {
|
|
94
|
+
getComparisonProductIds: ({ uuid, storeID, siteKey, cdn, facetRequired, narrowBy, page, productsPerPage, term, sortBy, withAttributes, recent, searchWithinSearch, segments, disable_semantics, disable_merchandising, disable_strategies, disable_turbolinks, disable_merchandising_rules, disable_antonyms, custom_sort_settings, market_context, variation_id, force_and, ps, spv, personalization, session_token }) => {
|
|
95
95
|
var internal_url = getInternalURL();
|
|
96
96
|
if (internal_url == "") {
|
|
97
97
|
internal_url = BASE_URL;
|
|
98
98
|
}
|
|
99
99
|
const use_cache = getUseCacheSetting();
|
|
100
|
-
const params = Object.assign(Object.assign({ site_key: siteKey, cdn_cache_key: cdn, facets_required: facetRequired, q: term, page_num: 1, with_product_attributes: false, narrow: JSON.stringify(narrowBy), products_per_page: 1000000, sort_by: sortBy, sp: recent }, (!use_cache ? { m: 1 } : {})), { search_within_search: searchWithinSearch, disable_semantics: disable_semantics ? 1 : 0, disable_merchandising: disable_merchandising ? 1 : 0, disable_strategies: disable_strategies ? 1 : 0, disable_turbolinks: disable_turbolinks ? 1 : 0, disable_merchandising_rules: disable_merchandising_rules ? 1 : 0, disable_antonyms: disable_antonyms ? 1 : 0, ids_only: 1, custom_sort_settings: JSON.stringify(custom_sort_settings), market_context: market_context || undefined, variation_id: variation_id || undefined, force_and: force_and ? true : undefined, ps: ps || undefined, spv: spv || undefined, personalization: personalization || undefined,
|
|
100
|
+
const params = Object.assign(Object.assign({ site_key: siteKey, cdn_cache_key: cdn, facets_required: facetRequired, q: term, page_num: 1, with_product_attributes: false, narrow: JSON.stringify(narrowBy), products_per_page: 1000000, sort_by: sortBy, sp: recent }, (!use_cache ? { m: 1 } : {})), { search_within_search: searchWithinSearch, disable_semantics: disable_semantics ? 1 : 0, disable_merchandising: disable_merchandising ? 1 : 0, disable_strategies: disable_strategies ? 1 : 0, disable_turbolinks: disable_turbolinks ? 1 : 0, disable_merchandising_rules: disable_merchandising_rules ? 1 : 0, disable_antonyms: disable_antonyms ? 1 : 0, ids_only: 1, custom_sort_settings: JSON.stringify(custom_sort_settings), market_context: market_context || undefined, variation_id: variation_id || undefined, force_and: force_and ? true : undefined, ps: ps || undefined, spv: spv || undefined, personalization: personalization || undefined, st: session_token || undefined,
|
|
101
101
|
// Explicitly disable hybrid/vector search for comparison
|
|
102
102
|
hybrid_search_settings: JSON.stringify({
|
|
103
103
|
no_results: false,
|
|
@@ -113,7 +113,7 @@ export const FullTextSearch = {
|
|
|
113
113
|
params,
|
|
114
114
|
});
|
|
115
115
|
},
|
|
116
|
-
getReasoningFullTextSearchProductsIds: ({ uuid, storeID, siteKey, cdn, facetRequired, narrowBy, page, productsPerPage, term, sortBy, withAttributes, recent, searchWithinSearch, segments, disable_semantics, disable_merchandising, disable_strategies, disable_turbolinks, disable_merchandising_rules, disable_antonyms, custom_sort_settings, market_context, variation_id, force_and, ps, spv, personalization }) => {
|
|
116
|
+
getReasoningFullTextSearchProductsIds: ({ uuid, storeID, siteKey, cdn, facetRequired, narrowBy, page, productsPerPage, term, sortBy, withAttributes, recent, searchWithinSearch, segments, disable_semantics, disable_merchandising, disable_strategies, disable_turbolinks, disable_merchandising_rules, disable_antonyms, custom_sort_settings, market_context, variation_id, force_and, ps, spv, personalization, session_token }) => {
|
|
117
117
|
var _a;
|
|
118
118
|
var internal_url = getInternalURL();
|
|
119
119
|
if (internal_url == "") {
|
|
@@ -126,7 +126,7 @@ export const FullTextSearch = {
|
|
|
126
126
|
const params = Object.assign(Object.assign({ site_key: siteKey,
|
|
127
127
|
// UUID: uuid,
|
|
128
128
|
// store_id: storeID,
|
|
129
|
-
cdn_cache_key: cdn, facets_required: facetRequired, q: term, page_num: page, with_product_attributes: withAttributes, narrow: JSON.stringify(narrowBy), products_per_page: productsPerPage, sort_by: sortBy, sp: recent }, (!use_cache ? { m: 1 } : {})), { search_within_search: searchWithinSearch, disable_semantics: disable_semantics ? 1 : 0, disable_merchandising: disable_merchandising ? 1 : 0, disable_strategies: disable_strategies ? 1 : 0, disable_turbolinks: disable_turbolinks ? 1 : 0, disable_merchandising_rules: disable_merchandising_rules ? 1 : 0, disable_antonyms: disable_antonyms ? 1 : 0, ids_only: 1, custom_sort_settings: JSON.stringify(custom_sort_settings), market_context: market_context || undefined, variation_id: variation_id || undefined, force_and: force_and ? true : undefined, ps: ps || undefined, spv: spv || undefined, personalization: personalization || undefined });
|
|
129
|
+
cdn_cache_key: cdn, facets_required: facetRequired, q: term, page_num: page, with_product_attributes: withAttributes, narrow: JSON.stringify(narrowBy), products_per_page: productsPerPage, sort_by: sortBy, sp: recent }, (!use_cache ? { m: 1 } : {})), { search_within_search: searchWithinSearch, disable_semantics: disable_semantics ? 1 : 0, disable_merchandising: disable_merchandising ? 1 : 0, disable_strategies: disable_strategies ? 1 : 0, disable_turbolinks: disable_turbolinks ? 1 : 0, disable_merchandising_rules: disable_merchandising_rules ? 1 : 0, disable_antonyms: disable_antonyms ? 1 : 0, ids_only: 1, custom_sort_settings: JSON.stringify(custom_sort_settings), market_context: market_context || undefined, variation_id: variation_id || undefined, force_and: force_and ? true : undefined, ps: ps || undefined, spv: spv || undefined, personalization: personalization || undefined, st: session_token || undefined });
|
|
130
130
|
if (getLSVectorSearchOn()) {
|
|
131
131
|
params["hybrid_search_settings"] = (_a = getLSVectorSearchDict()) !== null && _a !== void 0 ? _a : undefined;
|
|
132
132
|
}
|
|
@@ -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\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 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 };\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\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 // 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\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 };\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 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 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(\",\") : []);"]}
|