/** * @fileoverview Search engine module for Nova dropdown filtering. * Provides tiered filtering strategies: strict, smart, and fuzzy. * * @example * import { buildIndex, search } from './search-engine'; * * const items = [ * { id: '1', label: 'System Grid Control' }, * { id: '2', label: 'Network Manager' } * ]; * * const indexed = buildIndex(items); * const result = search(indexed, { * query: 'system', * filterMode: 'smart', * maxResults: 100 * }); */ export type { IndexedItem, SearchResult, SearchOptions, FilterMode, RawItem, WorkerMessageType, WorkerRequest, WorkerResponse, WorkerInitPayload, WorkerSearchPayload, } from './types'; export { normalize, tokenize } from './normalize'; export { clampMaxResults, clampWorkerThreshold, clampFuzzyThreshold, DEFAULT_MAX_RESULTS, MIN_MAX_RESULTS, HARD_CAP_MAX_RESULTS, DEFAULT_WORKER_THRESHOLD, MIN_WORKER_THRESHOLD, MAX_WORKER_THRESHOLD, DEFAULT_FUZZY_THRESHOLD, DEFAULT_DEBOUNCE_DELAY, FUZZY_DEBOUNCE_DELAY, } from './guards'; export { buildIndex, rebuildIndex } from './indexer'; export { searchStrict } from './strategies/strict'; export { searchSmart } from './strategies/smart'; export { searchFuzzy, clearFuzzyCache } from './strategies/fuzzy'; export { search, shouldUseWorker, isWorkerSupported, getEffectiveFilterMode, } from './engine'; export { SearchWorkerClient } from './worker/worker-client';