{"version":3,"file":"index.mjs","sources":["../src/shared/vectorize.ts","../src/indexes/Indexes.ts","../src/indexes/IndexesAll.ts","../src/shared/levenshteinDistance.ts","../src/search/Search.ts","../src/shared/rankResults.ts","../src/utils/objects/deepEqual.ts","../src/shared/getDiffFromDocumentUpdate.ts","../src/FirestoreSearchEngine.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null],"names":["embeddingModel","async","fse_vectorizeText","text","maxLength","length","documents","model","FlagEmbedding","init","EmbeddingModel","AllMiniLML6V2","cacheDir","executionProviders","ExecutionProvider","CPU","getEmbeddingModel","embeddings","embed","vectors","next","finalVector","value","Array","from","Indexes","constructor","firestoreInstance","fieldValueInstance","config","props","this","wordMaxLength","wordMinLength","execute","typos","inputField","saveWithLimitedKeywords","returnedFields","keywords","bulk","bulkWriter","cleanOldIndexes","create","collection","doc","vector","close","indexedDocumentPath","query","where","get","empty","j","docs","delete","ref","flush","IndexesAll","documentProps","documentsToIndexes","readyToBulk","element","indexedKey","fieldValue","toLowerCase","key","returnedKey","push","bulkWithLimitedKeywords","bulkData","bulkCount","document","fse_levenshteinDistance","a","b","matrix","_","i","fill","cost","Math","min","Search","limit","undefined","distanceThreshold","console","log","message","search","queryVector","querySnapshot","collectionGroup","findNearest","vectorField","distanceMeasure","_a","distanceResultField","uniqueDocs","Set","results","data","uniqueId","has","add","ranked","map","result","textSimilarityScore","c","d","e","f","g","h","finalScore","reverse","join","distance","sort","fse_rankResults","deepEqual","Timestamp","isEqual","keysA","Object","keys","keysB","includes","getDiffFromUpdatedData","before","after","changes","added","removed","forEach","typedKey","afterValue","beforeValue","FirestoreSearchEngine","settings","ignoreUndefinedProperties","Error","indexes","indexesAll","docProps","expressWrapper","app","path","startsWith","request","response","searchValue","params","json","status","error","buildError","onRequestWrapped","req","res","onCallWrapped","authCallBack","auth","HttpsError","err","onDocumentWriteWrapper","onDocumentWrittenCallBack","documentsPath","eventHandlerOptions","event","updatedFieldValue","_b","onDocumentUpdateWrapper","instanceOfOnDocumentUpdated","onDocumentDeletedWrapper","instanceOfOnDocumentDeleted","querySnap","index","trace","stack","JSON","stringify"],"mappings":"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"}